├── cloudomate ├── __init__.py ├── test │ ├── __init__.py │ ├── resources │ │ ├── captcha.png │ │ ├── test_settings.cfg │ │ ├── coinbase.html │ │ ├── clientarea_service.html │ │ ├── crowncloud_email.html │ │ ├── bitpay_invoice_data.json │ │ ├── clientarea_services.html │ │ └── clientarea_emails.html │ ├── test_hoster.py │ ├── test_vpn_hosters.py │ ├── test_clientarea.py │ ├── test_mullvad.py │ ├── test_captchasolver.py │ ├── test_gateway.py │ ├── test_settings.py │ ├── test_vps_hosters.py │ └── test_cmdline.py ├── util │ ├── __init__.py │ ├── fakeuserscraper.py │ ├── bitcoinaddress.py │ ├── settings.py │ └── captchasolver.py ├── exceptions │ ├── __init__.py │ └── vps_out_of_stock.py ├── gateway │ ├── __init__.py │ ├── blockchain.py │ ├── coinify.py │ ├── gateway.py │ ├── undergroundprivate.py │ ├── custom_mullvad.py │ ├── coinpayments.py │ ├── bitpay.py │ ├── coinbase.py │ └── coingate.py ├── hoster │ ├── __init__.py │ ├── vpn │ │ ├── __init__.py │ │ ├── vpn_hoster.py │ │ ├── azirevpn.py │ │ └── mullvad.py │ ├── vps │ │ ├── __init__.py │ │ ├── vps_hoster.py │ │ ├── clientarea.py │ │ ├── qhoster.py │ │ ├── pulseservers.py │ │ ├── ccihosting.py │ │ ├── hostsailor.py │ │ ├── routerhosting.py │ │ ├── undergroundprivate.py │ │ ├── crowncloud.py │ │ ├── proxhost.py │ │ ├── solusvm_hoster.py │ │ ├── libertyvps.py │ │ ├── orangewebsite.py │ │ ├── blueangelhost.py │ │ ├── twosync.py │ │ └── linevast.py │ └── hoster.py ├── globals.py └── wallet.py ├── setup.cfg ├── MANIFEST.in ├── .flake8 ├── .gitignore ├── cloudomate.cfg.example ├── setup.py └── LICENSE /cloudomate/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/test/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/util/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/exceptions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/gateway/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/hoster/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/hoster/vpn/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cloudomate/hoster/vps/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [bdist_wheel] 2 | python-tag = py3 3 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | # Include the license file 2 | include LICENSE 3 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 160 3 | exclude = tests/* 4 | max-complexity = 10 5 | ignore = W601, E402 6 | -------------------------------------------------------------------------------- /cloudomate/test/resources/captcha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tribler/cloudomate/HEAD/cloudomate/test/resources/captcha.png -------------------------------------------------------------------------------- /cloudomate/globals.py: -------------------------------------------------------------------------------- 1 | __version__ = "1.4" 2 | global_testnet = False 3 | __BASE_URL__ = 'https://codesalad.nl:5000/cloudomate' 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # general things to ignore 2 | build/ 3 | env/ 4 | dist/ 5 | *.egg-info/ 6 | *.egg 7 | *.swp 8 | *.py[cod] 9 | __pycache__/ 10 | *.so 11 | *~ 12 | .idea/* 13 | .pypirc 14 | *.sublime-project 15 | -------------------------------------------------------------------------------- /cloudomate.cfg.example: -------------------------------------------------------------------------------- 1 | [user] 2 | email = 3 | firstname = 4 | lastname = 5 | companyname = 6 | phonenumber = 7 | password = 8 | username = 9 | 10 | [address] 11 | address = 12 | city = 13 | state = 14 | countrycode = 15 | zipcode = 16 | 17 | [payment] 18 | walletpath = 19 | 20 | [server] 21 | ns1 = 22 | ns2 = 23 | hostname = 24 | root_password = 25 | 26 | [anticaptcha] 27 | accountkey = -------------------------------------------------------------------------------- /cloudomate/exceptions/vps_out_of_stock.py: -------------------------------------------------------------------------------- 1 | class VPSOutOfStockException(Exception): 2 | """Exception raised when trying to purchase a VPS that is out of stock.""" 3 | 4 | def __init__(self, vps_option, msg=None): 5 | if msg is None: 6 | msg = "VPS Option '{}' is out of stock".format(vps_option.name) 7 | super(Exception, self).__init__(msg) 8 | self.vps_option = vps_option 9 | -------------------------------------------------------------------------------- /cloudomate/test/resources/test_settings.cfg: -------------------------------------------------------------------------------- 1 | [user] 2 | email = bot@pleb.net 3 | firstname = Pleb 4 | lastname = Net 5 | companyname = PlebNet 6 | phonenumber = 1234567890 7 | password = hunter2 8 | username = Pleb 9 | 10 | [address] 11 | address = Plebweg 4 12 | city = Plebst 13 | state = PlebState 14 | countrycode = PB 15 | zipcode = 123456 16 | 17 | [payment] 18 | walletpath = /path/to/electrum/wallet 19 | 20 | [server] 21 | ns1 = ns1 22 | ns2 = ns2 23 | hostname = hostname 24 | root_password = hunter2 25 | 26 | [testhoster] 27 | email = test@test.net 28 | -------------------------------------------------------------------------------- /cloudomate/gateway/blockchain.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | from __future__ import division 3 | from __future__ import print_function 4 | from __future__ import unicode_literals 5 | 6 | from future import standard_library 7 | 8 | from cloudomate.gateway.gateway import Gateway, PaymentInfo 9 | 10 | standard_library.install_aliases() 11 | 12 | 13 | class Blockchain(Gateway): 14 | 15 | @staticmethod 16 | def get_name(): 17 | return "blockchain" 18 | 19 | @staticmethod 20 | def extract_info(url): 21 | amount, address = str(url).split('&') 22 | am = float(amount) 23 | return PaymentInfo(am, address) 24 | -------------------------------------------------------------------------------- /cloudomate/test/test_hoster.py: -------------------------------------------------------------------------------- 1 | from __future__ import absolute_import 2 | from __future__ import division 3 | from __future__ import print_function 4 | from __future__ import unicode_literals 5 | 6 | import unittest 7 | 8 | import requests 9 | 10 | from cloudomate.hoster.hoster import Hoster 11 | 12 | 13 | class TestHosterAbstract(unittest.TestCase): 14 | 15 | def test_create_browser(self): 16 | browser = Hoster._create_browser() 17 | if browser.session.headers['user-agent'] == requests.utils.default_user_agent(): 18 | self.fail('No Custom User-agent set in browser') 19 | 20 | 21 | if __name__ == '__main__': 22 | unittest.main() 23 | -------------------------------------------------------------------------------- /cloudomate/test/resources/coinbase.html: -------------------------------------------------------------------------------- 1 |
Send exactly 0.00041 BTC to this address:
3 | 13 |Loading...
39 |Loading...
55 |