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.
- Python 3
- Works on Linux, Mac OSX, BSD
- An active Electrum wallet with sufficient funds
The project can be installed through pip
pip3 install cloudomate
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
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
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.
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
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
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
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
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
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.
To run the project's tests
python -m unittest discover