Opened 9 years ago

Closed 8 years ago

#1853 closed project (implemented)

Develop bridge image for the cloud

Reported by: arma Owned by:
Priority: Medium Milestone: Deliverable-Mar2011
Component: Applications/Tor bundles/installation Version:
Severity: Keywords:
Cc: runa Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by Sebastian)

When we first started working on the bridge design, we were thinking to ourselves "we should get lots of bridges, so China can't block them all." That was wrong. Instead we should be thinking "we should make sure the rate of getting new bridge addresses exceeds the rate that China can block them." The key resource that bridges need is changeable IP addresses. So we should experiment with easy-to-set-up images for the cloud, so people can pop up a bridge, and then discard it once it gets blocked.

Step one is to set up a bridge on the cloud (say, Amazon) and run it for a little while, to make sure there aren't any stupid things making this harder than it sounds.

Step two is to learn more about the pricing structures: is baseline time cheap but bandwidth is expensive? Or CPU? Etc. How much money are we talking here, for a variety of bridge scenarios? Evaluate a variety of cloud providers.

Step three, investigate programmatic "get new IP address" cloud functions we can use. In the future (e.g. #1851 or others), bridges will be able to automatically discover that they need a new IP address. The crude approach would be to abandon the bridge image and start up another one next door. The better approach would be to teach Tor how to press the "new IP address please" button on its host.

Step four is to learn more about automation. What are the steps for making it so you can tell other people "just launch image Z and you'll be running a bridge"? Do these steps and make it so.

Step five is to write the howto for groups like RFA who want to ask people to run bridges for them. Make sure to resolve usability pieces like "should my bridges publish in bridgedb or not".

Child Tickets

Change History (10)

comment:1 Changed 9 years ago by Sebastian

Description: modified (diff)

comment:2 Changed 9 years ago by ioerror

This is the Ubuntu guide for EC2:
https://help.ubuntu.com/community/EC2StartersGuide

comment:3 Changed 9 years ago by ioerror

Cc: runa added

After discussions with Runa, I propose that we write a local shell script for prepping EC2 images. We'll need three vetted configuration files - Tor as a non-exit middle relay, Tor as a public non-exit bridge, and Tor as a private non-exit bridge.

comment:4 Changed 9 years ago by ioerror

It seems reasonable to write a program called tor-ec2-prep and call it like so:

tor-ec2-prep -f torrc #installs Tor, configures system, halts machine
tor-ec2-prep -s NEW-COMMUNITY-IMAGE-NAME # shares the prepped image with the EC2 community

comment:5 Changed 9 years ago by ioerror

A very basic hackup is now in git: https://gitweb.torproject.org/ioerror/tor-cloud.git

comment:6 Changed 8 years ago by karsten

Summary: Project: bridge image for cloudDevelop bridge image for the cloud
Type: taskproject

comment:7 Changed 8 years ago by runa

There's also #3033 containing some more info about this project.

comment:8 Changed 8 years ago by arma

Why is this ticket still open?

The only missing step still might be "Step five is to write the howto for groups like RFA who want to ask people to run bridges for them." Do we have groups who want other people to run bridges for them that don't go into our bridgedb but theirs?

comment:9 Changed 8 years ago by arma

Owner: ioerror deleted
Status: newassigned

comment:10 Changed 8 years ago by rransom

Resolution: implemented
Status: assignedclosed
Note: See TracTickets for help on using tickets.