Socket
Socket
Sign inDemoInstall

@nuinalp/atomvpn-node

Package Overview
Dependencies
23
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @nuinalp/atomvpn-node

AtomVPN API NodeJS library with full support of all the AtomVPN API services.


Version published
Weekly downloads
5
increased by150%
Maintainers
2
Created
Weekly downloads
 

Readme

Source

AtomVPN

AtomVPN by Secure.com API NodeJS library with full support of all the AtomVPN API services.

## Table of Contents

Install

# Install from npm
npm install @nuinalp/atomvpn-sdk

# Install from yarn
yarn add @nuinalp/atomvpn-sdk

# Install from pnpm
pnpm install @nuinalp/atomvpn-sdk

Getting Started

NodeJS

// ES6 (>=node 10.16.0 LTS)
import { AtomVpn } from '@nuinalp/atomvpn-sdk/node'; // All Resources
import { Vam } from '@nuinalp/atomvpn-sdk/node'; // Just the Vam (VPN Account Management) Resource
//...etc

// ES5, assuming native or polyfilled Promise is available
const { AtomVpn } = require('@nuinalp/atomvpn-sdk/node');

Browser

// ES6 (>=node 10.16.0 LTS)
import { AtomVpn } from '@nuinalp/atomvpn-sdk/browser'; // All Resources
import { Vam } from '@nuinalp/atomvpn-sdk/browser'; // Just the Vam (VPN Account Management) Resource
//...etc

// ES5, assuming native or polyfilled Promise is available
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:

NameOptionalDefaultDescription
secretKeyNoSecret key
grantTypeYessecretSecret Key provided in Reseller Dashboard/Console. Mandatory if "grantType" is "secret"
accessTokenYesAccess token
refreshTokenYesRefresh token
hostYesAtomVpn 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';

// Initialize the SDK Instance
const sdk = new Vam({
  secretKey: 'secretKey',
});

// Get the accessToken
await sdk.getAccessToken();

// Get VPN Account Status
await sdk.accountStatus({ vpnUsername: 'vpnUsername' });

// Or using Promise-Then notation
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.

Keywords

FAQs

Last updated on 22 Dec 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc