Skip to content

MohamedLEGH/cloudomate

 
 

Repository files navigation

Cloudomate

Build Status

Cloudomate logo

Overview

Cloudomate is an unpermissioned open compute API which provides an automated way to buy VPS instances and VPN servers from multiple providers. The easiest way to use Cloudomate is via the command-line interface.

Requirements

  • Python 3
  • Works on Linux, Mac OSX, BSD
  • An active Electrum wallet with sufficient funds

Installation

The project can be installed through pip

pip3 install cloudomate

Providers

VPS

Currently the following VPS providers are implemented:

blueangelhost  https://www.blueangelhost.com/
ccihosting     http://www.ccihosting.com/
crowncloud     http://crowncloud.net/
legionbox      https://legionbox.com/
linevast       https://linevast.de/
pulseservers   https://pulseservers.com/
underground    https://undergroundprivate.com

This same list can be accessed through the list command.

cloudomate vps_bitcoin list

VPN

Currently the following VPN providers are implemented:

azirevpn       https://www.azirevpn.com
mullvad        https://www.mullvad.net/en
torguard       https://torguard.net/index.php
vpnac          https://vpn.ac

This same list can be accessed through the list command.

cloudomate vpn_bitcoin list

Configuration

For some commands, mainly purchase, user configuration is required. The main way to do this is through a configruation file. For Linux, the default location for the configuration file is $HOME/.config/cloudomate.cfg.

A configuration file looks like this

[user]
email =
firstName =
lastName =
companyName =
phoneNumber =
password =

[address]
address =
city =
state =
countryCode =
zipcode =

[server]
rootpw =
ns1 =
ns2 =
hostname =

[captcha]
captchaaccount

Section can be overridden for specific providers by adding a section, for example a [linevast] section can contain a separate email address only to be used for Linevast.

Basic usage

usage: cloudomate [-h] {vps_bitcoin,vpn_bitcoin,vps_ethereum,vpn_ethereum} ...

Cloudomate

positional arguments:
  {vps_bitcoin,vpn_bitcoin,vps_ethereum,vpn_ethereum}

optional arguments:
  -h, --help            show this help message and exit

VPS

usage: cloudomate vps_bitcoin [-h]
                      {list,options,purchase,status,setrootpw,getip,ssh,info}
                      ...

positional arguments:
  {list,options,purchase,status,setrootpw,getip,ssh,info}
    list                List VPS providers
    options             List VPS provider configurations
    purchase            Purchase VPS
    status              Get the status of the VPS services.
    setrootpw           Set the root password of the last activated service.
    getip               Get the IP address of the specified service.
    ssh                 SSH into an active service.
    info                Get information of the specified VPS service.

optional arguments:
  -h, --help            show this help message and exit

VPN

usage: cloudomate [-h] {vps_bitcoin,vpn_bitcoin,vps_ethereum,vpn_ethereum} ...

positional arguments:
  {list,options,purchase,status,info}
    list                List VPN providers
    options             List VPN provider configurations
    purchase            Purchase VPN
    status              Get the status of the VPN services.
    info                Get information of the specified VPN service.

optional arguments:
  -h, --help            show this help message and exit

options

List the options for Linevast

$ cloudomate vps_bitcoin options linevast
Options for linevast:

   #    Name              CPU (cores)       RAM (GB)          Storage (GB)      Bandwidth (TB)    Connection (Mbps) Est. Price (mBTC) Price
   0    Basis OVZ         1                 2                 50                unmetered         1000              1.03              EUR 6.99
   1    Business OVZ      2                 4                 150               unmetered         1000              1.64              EUR 12.99
   2    Advanced OVZ      4                 8                 300               unmetered         1000              2.35              EUR 19.99
   3    Black OVZ         8                 16                1000              unmetered         1000              2.96              EUR 25.99
   4    Basic KVM         1                 2                 30                unmetered         1000              1.03              EUR 6.99
   5    Business KVM      2                 4                 50                unmetered         1000              1.64              EUR 12.99
   6    Advanced KVM      4                 8                 75                unmetered         1000              2.96              EUR 25.99
   7    Black KVM         6                 16                100               unmetered         1000              4.18              EUR 37.99

Purchase

Use the purchase command to purchase a VPS instance. An account is created and the instance is paid through an Electrum wallet.

$ cloudomate vps_bitcoin purchase linevast 0
Selected configuration:
Name           CPU            RAM            Storage        Bandwidth      Est.Price
Basis OVZ      1              2              50             unmetered      6.99
Purchase this option? (y/N)
::
$ cloudomate vpn_bitcoin purchase torguard

Manage

The following functions can be used to manage a purchased VPS instances

status              Get the status of the services.
setrootpw           Set the root password of the last activated service.
getip               Get the ip of the specified service.

Tests

To run the project's tests

python -m unittest discover

About

Unpermissioned Open Computer API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.8%
  • HTML 4.2%