c60f9d34b9190502bbc08df2623dfb4d3aa25aea
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

1) ## translation metadata
2) # Revision: $Revision$
3) # Translation-Priority: 4-optional
4) 
5) #include "head.wmi" TITLE="obfsproxy: Installation instructions" CHARSET="UTF-8"
6) 
7) <div id="content" class="clearfix">
8)   <div id="breadcrumbs">
9)     <a href="<page index>">Home &raquo; </a>
10)     <a href="<page projects/projects>">Projects &raquo; </a>
11)     <a href="<page projects/obfsproxy>">obfsproxy</a>
12)   </div>
13)   <div id="maincol">
14) 
15)     <!-- PUT CONTENT AFTER THIS TAG -->
16) 
Roger Dingledine start to streamline the obf...

Roger Dingledine authored 12 years ago

17)     <h1 id="instructions">Obfsproxy Instructions</h1>
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

18) 
Roger Dingledine put the diagram at the top;...

Roger Dingledine authored 12 years ago

19)     <img src="$(IMGROOT)/obfsproxy_diagram.png" alt="client torrc"></a>
20) 
George Kadianakis Switch obfsproxy setup inst...

George Kadianakis authored 11 years ago

21)       <p>
22)         This is a guide for installing the Python version of obfsproxy. If
23)         you still have the C version, we recommend you to upgrade to the
24)         Python version!
25)       </p>
George Kadianakis Add instructions for settin...

George Kadianakis authored 12 years ago

26) 
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

27)     <h3>Step 0: Install Python</h3>
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

28)     <br>
29) 
30)     <p>
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

31)       To setup obfsproxy you will need <code>Python</code> (>= 2.7),
32)       and <code>pip</code>. If you use Debian testing (or unstable),
33)       or a version of Ubuntu newer than Oneiric, this is easy:
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

34)     <p>
35) 
George Kadianakis pip needs python-dev to ins...

George Kadianakis authored 11 years ago

36)     <tt># apt-get install python2.7 python-pip python-dev</tt>
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

37) 
38) 
39)     <h3>Step 1: Install Tor</h3>
40)     <br>
Roger Dingledine explain further dependencies

Roger Dingledine authored 12 years ago

41) 
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

42)     <p>
George Kadianakis Switch obfsproxy setup inst...

George Kadianakis authored 11 years ago

43)       You will also need a recent version of Tor (>= 0.2.4.1). We recommend you use
44)       <a href="<page docs/debian>#development">Tor's experimental repositories for Debian/Ubuntu</a>
45)       or
46)       <a href="https://gitweb.torproject.org/tor.git">install Tor from git</a>.
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

47)     </p>
48) 
Sebastian Hahn obfsproxy instructions upda...

Sebastian Hahn authored 12 years ago

49)     <p>
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

50)     You need Tor 0.2.4.x because it knows how to automatically report
51)     your obfsproxy address to BridgeDB.
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

52)     </p>
53) 
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

54)     <h3>Step 2: Install obfsproxy</h3>
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

55)     <br>
56) 
57)     <p>
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

58)       If you have <code>pip</code>, installing <code>obfsproxy</code>
59)       and its dependencies should be a matter of a single command:
Sebastian Hahn obfsproxy instructions upda...

Sebastian Hahn authored 12 years ago

60)     </p>
61) 
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

62)     <tt># pip install obfsproxy</tt><br><br>
George Kadianakis Switch obfsproxy setup inst...

George Kadianakis authored 11 years ago

63) 
Sebastian Hahn obfsproxy instructions upda...

Sebastian Hahn authored 12 years ago

64)     <p>
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

65)     You will probably want to run the <em>pip install</em> command as
66)     root so that obfsproxy gets installed to /usr/local/bin.
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

67)     </p>
George Kadianakis Mention the obfsproxy git r...

George Kadianakis authored 11 years ago

68)     <p>
69)     (Instead of using pip, you could also use <a
70)     href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git">the
71)     git repository</a> of obfsproxy if you feel more adventurous)
72)     </p>
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

73) 
George Kadianakis Switch obfsproxy setup inst...

George Kadianakis authored 11 years ago

74)     <h3>Step 3: Setup tor</h3>
Roger Dingledine add asn's first draft of ob...

Roger Dingledine authored 12 years ago

75)     <br>
76) 
George Kadianakis Edit the obfsproxy instruct...

George Kadianakis authored 11 years ago

77)     <p>
78)       Now setup Tor.  Edit your /etc/tor/torrc to add:
79)     </p>
George Kadianakis Switch obfsproxy setup inst...

George Kadianakis authored 11 years ago

80) 
81)       <p>
82)         <tt>SocksPort 0</tt><br>
83)         <tt>ORPort 443 # or some other port if you already run a webserver/skype</tt><br>
84)         <tt>BridgeRelay 1</tt><br>
85)         <tt>Exitpolicy reject *:*</tt><br><br>
86) 
87)         <tt>## CHANGEME_1 -> provide a nickname for your bridge, can be anything you like</tt><br>
88)         <tt>#Nickname CHANGEME_1</tt><br>
89)         <tt>## CHANGEME_2 -> provide some email address so we can contact you if there's a problem</tt><br>
90)         <tt>#ContactInfo CHANGEME_2</tt><br><br>
91) 
92)         <tt>ServerTransportPlugin obfs2,obfs3 exec /usr/local/bin/obfsproxy managed</tt><br>
93)       </p>
94) 
95)       <p>
96)         Don't forget to uncomment and edit the CHANGEME fields. Also,
97)         if you didn't install obfsproxy as root, you might have to
98)         change its path.
99)       </p>
100) 
101)       <h3>Step 4: Launch Tor and verify that it bootstraps</h3>
102)       <br>
103) 
104)       <p>
105)         Restart Tor to use the new configuration file. (Preface with sudo if
106)         needed.)
107)       </p>
108) 
109)       <tt># service tor restart</tt><br><br>
110) 
111)       <p>
112)         Now check /var/log/tor/log and you should see something like this:
113)       </p>
114) 
115)       <tt>Nov 05 16:40:45.000 [notice] We now have enough directory information to build circuits.</tt><br>
116)       <tt>Nov 05 16:40:45.000 [notice] Bootstrapped 80%: Connecting to the Tor network.</tt><br>
117)       <tt>Nov 05 16:40:46.000 [notice] Bootstrapped 85%: Finishing handshake with first hop.</tt><br>
118)       <tt>Nov 05 16:40:46.000 [notice] Bootstrapped 90%: Establishing a Tor circuit.</tt><br>
119)       <tt>Nov 05 16:40:48.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.</tt><br>
120)       <tt>Nov 05 16:40:48.000 [notice] Bootstrapped 100%: Done.</tt><br><br>
121) 
122)       <p>
123)         If Tor is earlier in the bootstrapping phase, wait until it gets to 100%.
124)       </p>
125) 
126)       <h2>Step 5: Set up port forwarding if needed</h2>
127)       <br>
128) 
129)       <p>
130)         If you're behind a NAT/firewall, you'll need to make your bridge
131)         reachable from the outside world — both on the ORPort and the
132)         obfsproxy port. The ORPort is whatever you defined in step two
133)         above. To find your obfsproxy port, check your Tor logs for two
134)         lines similar to these:
135)       </p>
136) 
137)       <tt>Oct 05 20:00:41.000 [notice] Registered server transport 'obfs2' at '0.0.0.0:26821</tt><br>
138)       <tt>Oct 05 20:00:42.000 [notice] Registered server transport 'obfs3' at '0.0.0.0:40172</tt><br><br>
139) 
140)       <p>
141)         The last number in each line, in this case 26821 and 40172, are the
142)         TCP port numbers that you need to forward through your
143)         firewall. (This port is randomly chosen the first time Tor starts,
144)         but Tor will cache and reuse the same number in future runs.) If you
145)         want to change the number, use Tor 0.2.4.7-alpha or later, and set
146)         "ServerTransportListenAddr obfs2 0.0.0.0:26821" in your torrc.
147)       </p>