Tribler: Growing Life using Blockchain - Group 7

Created on 21 Nov 2017  ·  29Comments  ·  Source: Tribler/tribler

Group members:

  • @TCatshoek
  • @JWooning
  • @TheFrog
  • @harapuia
  • @Erackron
MSc course work

Most helpful comment

Successfully bought a vps from legionbox. Transaction fees are going to be a problem though.

All 29 comments

Todo's week 1:

  • Read both papers
  • Make sure that code is running
  • Communicate with other group about Cloudomate
  • Fork GitHub projects (PlebNet, Cloudomate)
  • Look into testing this project (could be difficult with unittests and bitcoins)
  • Make a plan (focuspoints)

In the existing code, the following parts must be tested:

  • claudomate
  • PletNet
  • market (Tribler)
  • reputationCoins (Tribler)

Innovation ideas:

  • VPN
  • Agents communications
  • Alternative sources of revenue: for example file hosting and/or trading
  • Genetic algorithms: current usage and actual feasible usages (selectively seeding)
  • Pricing and market

The decision has been made to first focus on getting the existing parts of the code working.

We will focus on work for Claudomate first:

  • Migrate to python3

    • Requires to change Mechanize to MechanicalSoup

  • Support automatic buying of VPNs
  • Fix broken VPS'
  • Additional VPS providers
  • Create shared BitCoin wallet for testing purposes

Already done:

  • Python3 update
  • Swap mechanize to mechanicalsoup

For cloudomate, fixing providers is a work in progress:

  • Blueangelhost (@Erackron)
  • CCIHosting (@jwooning)
  • Crowncloud (@Harapuia)
  • Legionbox (@TCatshoek)
  • Linevast (@jwooning)
  • Pulseservers (@TheFrog)
  • Rockhoster (@Erackron)
  • Underground (@TheFrog)

Furthermore, @TCatshoek will try to take a look at the payment providers and actually paying for a server.

Now working are:

  • Blueangelhost
  • CCIHosting
  • Legionbox
  • Linevast
  • Pulseservers
  • Rockhoster (support for new payment needed)
  • Underground

Work must still be done on:

  • Crowncloud
  • Rockhoster

Meeting with previous project owner

VPS Providers

Current Provider notes

  • BlueAngelHost: full e-mail domain was blocked
  • Linevast: Worked pretty well
  • Crowncloud: Instant termination on DMCA
  • Rockhoster: Took a long time for VPS to be delivered (multiple days)
  • Underground: Cheaper options are practically always 'out of stock'

New options suggested by previous project owners

Promising new options that would still have to be investigated

Cloudomate OS compatibility

  • Never tested on anything other than linux

    • Windows: Default binary does not have a CLI, python version does

    • OS X: CLI executable is located in default OSX locations instead of /usr/bin

Possible Ideas:

  • Electrum JSON RPC API instead of CLI
  • Investigating Non-DMCA compliant hosters might be an idea to improve server longeivity

Todo's for the group are:

  • Buying a (or two) server(s) @TCatshoek
  • Python3.4 support @Harapuia
  • Fixing Crownload @TheFrog
  • Adding support for Coinpayments.net payment provider (for Rochester) @Erackron
  • VPNs: Code structure @jwooning
  • VPNs: List of providers @Erackron
  • VPNs: Implementing providers

Todo's that (for now) will not be done:

  • Improving the code quality
  • Adding more VPSs

Adding support for Coinpayments discontinued due to captcha and bot prevention, this forced us to remove RockHoster as a supported VPS provider

VPN Provider options

Requirements

Must Have

  • Bitcoin payment option
  • A scrape friendly website (no captcha)
  • Favourable download/torrent policy (To allow tribler exit node traffic)
  • OpenVPN support

Should Have

  • BitPay/Coinbase as payment provider (speeds up integration with current cloudomate code)
  • Favourable log storing policy (i.e.: not storing them)

Providers that seem to match these criteria

More VPN providers that allow P2P traffic, accept Bitcoin payments, do not log traffic are, and support OpenVPN:

  • AzireVPN (BitPay)
  • FrootVPN (BitPay)
  • IVPN (BitPay)
  • LiquidVPN (BitPay)
  • Mullvad (custom payment system, captcha)
  • OVPN.com (BitPay)
  • SecureVPN.to (custom payment system, captcha)
  • Trust.Zone (Bitcoin currently not working, captcha)
  • VPNSecure (CoinJar, heavily JavaScript dependent)

Successfully bought a vps from legionbox. Transaction fees are going to be a problem though.

Last sprint:

  • [x] Buying a (or two) server(s) @TCatshoek
  • [x] Python3.4 support @Harapuia
  • [x] Fixing Crownload @TheFrog
  • [x] VPNs: Code structure @jwooning
  • [x] VPNs: List of providers @Erackron
  • [ ] VPNs: Implementing providers

Next sprint:

  • [ ] Automated integration tests up until payment for all providers @jwooning @Erackron
  • [ ] Figure out a way to test clientarea @Tcatshoek
  • [x] Test vps with tribler and vpn @Tcatshoek
  • [ ] Possibly a demo next week @Harapuia
  • [ ] Mechanical turk for solving captchas (?)

Won't do:

  • Dispersy (will take too much time)

For less than 10$/month, there are four VPN providers than have all must haves and should haves:

  • LiquidVPN ($4,55/month)
  • FrootVPN (€4,99/month)
  • AzireVPN (€5/month)
  • PrivateInternetAccess ($6,95/month)

Only AzireVPN's website fully works with JavaScript disabled.

Please remember that your meeting next week Tuesday (12:00) will be with Johan 👍

Forgot from last week:
Pull request accepted on Mechanical soup in order to fix compatibility with python 3.4
https://github.com/MechanicalSoup/MechanicalSoup/pull/171

Next sprint:

  • [x] Get exit node working properly ( @tcatshoek )
  • [ ] Test legionbox again, make sure demo is working properly ( @Harapuia )
  • [ ] Buy another server, crowncloud, let @Harapuia know if it works ( @tcatshoek )
  • [ ] Refactor vps hoster code ( @TheFrog, @Erackron )
  • [ ] Demo propaganda (gifs, video, images, etc.) (everyone)
  • [ ] More tests ( @jwooning )
  • [ ] Refactor config ( @Erackron )

Next sprint:

  • [x] Make sure we can deploy on PyPi (@erackron) (preferably before 24th)
  • [ ] Document rationale behind design decisions
  • [x] Finish VPS refactor (@TheFrog @Erackron)
  • [x] Finish commandline refactor (@Erackron)
  • [x] Figure out specific work points for PlebNet (@TCatshoek)
  • [x] Start work on PlebNet (@jwooning @TCatshoek @Harapuia)
  • [x] Fix PlebNet install scripts (@TCatshoek)
  • ... More to come

Next meeting: 16th January 12:00

For Stanford exposure I need input for slides on 23Jan at the latest. PlebNet needs to be updated by 25Jan at the latest. Happy hacking!
Perhaps move that entire repo to github.com/Tribler + control of pypi.python.org updates

Plebnet todo:

  • [ ] Convert to python 3
  • [ ] Adapt to new version of cloudomate
  • [ ] Update electrum dependency
  • [ ] Check if we can update to the latest version of tribler (@devos50 ?)

Next meeting: Monday 22 January, 12:00.

Please fix the errors during the unit tests, see https://jenkins.tribler.org/job/Cloudomate_PR_tests_linux/96/console

You can run the tests again by commenting 'retest this please' on the PR.

During our meeting last Tuesday we promised to propose a date for our final grading meeting. Taking into account our exams, we would like to propose January 29 in the morning. Is that possible @devos50 @synctext ?

Todo's for this week:

  • [ ] Pull request @Erackron
  • [x] Images/animations for the Stanford demo, and the ReadMe @jwooning
  • [ ] Report @jwooning
  • [ ] Working PlebNet with the new version of Cloudomate, and placing this on a VPS @TCatshoek @Harapuia
  • [ ] Presentation @TheFrog
  • [x] Hoster refactor @TheFrog @Erackron
  • [x] ClientArea clean-up and fixes @TheFrog @Erackron
  • [ ] Preparing demo @Erackron

Some GIFs that show how to use Cloudomate to purchase a VPS, a VPN and using a VPS (getting the status, connection through SSH).

purchase_vpn
purchase_vps
ssh_vps

As requested, a running exit node:

exitnode_shorter

Source video: https://drive.google.com/open?id=18pT0Kyj6CqxTsXqc-F6txGZ3W0BFEeDL

Cloudomate 1.0 has been released, thanks for your contributions! https://pypi.python.org/pypi/cloudomate

https://twitter.com/TriblerTeam/status/956624056907849728
"We are experimenting with Self-replicating Autonomous Organisms (SAO). Today we released V1.0 of Cloudomate. It's a frameworks for online robots to buy new hardware, replicate, evolve. Part of our bandwidth token economy. Earn tokens as Tor-like exit-node. https://pypi.python.org/pypi/cloudomate "

In terms of deliverables, here is the current modified plebnet code we'll be using for the demo:
https://github.com/Erackron/PlebNet/tree/plebbeun/
Or in terms of a fixed commit: https://github.com/Erackron/PlebNet/tree/da287455d7d75674ba7d73aebd81357003343c43

The cloudomate code is already merged into https://github.com/Tribler/cloudomate

Was this page helpful?
0 / 5 - 0 ratings

Related issues

filicado picture filicado  ·  9Comments

NoNameForMee picture NoNameForMee  ·  6Comments

devos50 picture devos50  ·  7Comments

slrslr picture slrslr  ·  7Comments

winkbrace picture winkbrace  ·  7Comments