## Table of Contents
Install
npm install @nuinalp/atomvpn-sdk
yarn add @nuinalp/atomvpn-sdk
pnpm install @nuinalp/atomvpn-sdk
Getting Started
NodeJS
import { AtomVpn } from '@nuinalp/atomvpn-sdk/node';
import { Vam } from '@nuinalp/atomvpn-sdk/node';
const { AtomVpn } = require('@nuinalp/atomvpn-sdk/node');
Browser
import { AtomVpn } from '@nuinalp/atomvpn-sdk/browser';
import { Vam } from '@nuinalp/atomvpn-sdk/browser';
const { AtomVpn } = require('@nuinalp/atomvpn-sdk/browser');
OR through the script tag:
<script src="node_modules/@nuinalp/atomvpn-sdk/browser/index.js" />
<script>
const { Vam } = AtomVpn;
</script>
Instantiate the library using a secretKey created in your Atom Profile
const sdk = new AtomVpn({
secretKey: 'secretKey',
});
Available instantiating options:
Name | Optional | Default | Description |
---|
secretKey | No | | Secret key |
grantType | Yes | secret | Secret Key provided in Reseller Dashboard/Console. Mandatory if "grantType" is "secret" |
accessToken | Yes | | Access token |
refreshToken | Yes | | Refresh token |
host | Yes | | AtomVpn Instance Host URL |
Docs
All apis were added following the official documentation.
Supported APIs
The API's that are currently supported are:
// API Access Authentication
Get Access Token
// Inventory Management
Get List of All Subscribed Services
Get List of subscribed Countries
Get Subscribed Protocols
Get Subscribed Protocols(v2)
Get Subscribed Cities
Get Subscribed Regions
Get Subscribed Countries
Get Subscribed Countries(v2)
Get Subscribed DataCenters
Get Subscribed Protocols mapping with Cities
Get Subscribed Protocols mapping with Countries
Get Subscribed Countries’ Purposes
Get OVPN Configuration
Get Subscribed All DataCenters
Get List of firewall Settings
// VPN Account Management (VAM)
Get VPN Account Status
Create VPN Account
Generate VPN Account
Renew VPN Account
Update Preferences of a VPN Account
Update Advance Features of a VPN Account
Delete VPN Account
Enable VPN Account
Disable VPN Account
Extend Subscription of a VPN Account
Update VPN Account’s Advance Features preferences
Change Password of a VPN Account
// SpeedTest - Get Fastest Server
Get Fastest Server without Pre-Shared Key
Get Pre-Shared Key
Get Servers with PSK
// Connection Accounting
Get Last Connection Details
Post VPN Error
Get User Assigned Bandwidth
Set User Bandwidth Quota
GetUser Consumed Bandwidth
// VPN Account Profile (VAP)
Get User
List users
Examples
Once you have your library instantiated, you can utilize many of the API's functionality:
Using the await/async method
import { Vam } from '@nuinalp/atomvpn-sdk';
const sdk = new Vam({
secretKey: 'secretKey',
});
await sdk.getAccessToken();
await sdk.accountStatus({ vpnUsername: 'vpnUsername' });
await sdk.accountStatus({ vpnUsername: 'vpnUsername' }).then((status) => {
console.log(status);
});
Documentation
You can check our Wiki to help you get started.
Full documentation will be added soon.
Testing
Testing will be added soon
Support
Do you have a question? Please open an issue on our main repo.
License
BSD Clause 3
Copyright (c) 2021 The Nuinalp Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.