AddingAnOnionService.md
parent
1894fb9284
commit
febe20b665
@ -18,8 +18,9 @@ resilient. I'm assuming the adversaries cannot block .onion addresses
|
|||||||
within Tor, which I think is a valid assumption for now.
|
within Tor, which I think is a valid assumption for now.
|
||||||
|
|
||||||
There are [simple instructions](https://community.torproject.org/onion-services/setup/)
|
There are [simple instructions](https://community.torproject.org/onion-services/setup/)
|
||||||
to get Tor up and running, and you can test it by setting you browser
|
to get Tor up and running, and it's distributed in all Linux distributions.
|
||||||
to use the SOCKS proxy on ```127.0.0.1:9050```.
|
You can test it by setting your browserto use the SOCKS proxy on
|
||||||
|
```127.0.0.1:9050```.
|
||||||
|
|
||||||
Configure your boostrap server with an extra tcp_port that is not
|
Configure your boostrap server with an extra tcp_port that is not
|
||||||
listed publically in the nodes.json file. We will use 33446 as an example.
|
listed publically in the nodes.json file. We will use 33446 as an example.
|
||||||
@ -28,7 +29,7 @@ In your ```/etc/tor/torrc``` or equivalent, you need to add 2 sections.
|
|||||||
|
|
||||||
The first is:
|
The first is:
|
||||||
```
|
```
|
||||||
VirtualAddrNetwork 10.192.0.0/10
|
VirtualAddrNetworkV4 10.192.0.0/10
|
||||||
AutomapHostsOnResolve 1
|
AutomapHostsOnResolve 1
|
||||||
AutomapHostsSuffixes .exit,.onion
|
AutomapHostsSuffixes .exit,.onion
|
||||||
```
|
```
|
||||||
@ -44,13 +45,74 @@ Replace 33446 with your real port number.
|
|||||||
The next time tor starts up, a new directory will be created in
|
The next time tor starts up, a new directory will be created in
|
||||||
```/var/lib/tor/tox-hsv3/``` and it will have a file called
|
```/var/lib/tor/tox-hsv3/``` and it will have a file called
|
||||||
```hostname```. Look in the file for the onion address to your site.
|
```hostname```. Look in the file for the onion address to your site.
|
||||||
|
|
||||||
Now add the onion address followed by a colon and the port number
|
Now add the onion address followed by a colon and the port number
|
||||||
and post it along with your node's public key to the
|
and post it along with your node's public key to the
|
||||||
[mailinglist](https://lists.tox.chat/pipermail/bootstrap/).
|
[mailinglist](https://lists.tox.chat/pipermail/bootstrap/).
|
||||||
|
|
||||||
|
## Using an Onion Bootstrap node
|
||||||
|
|
||||||
|
|
||||||
|
To let your client know that you have an onion node it can user,
|
||||||
|
you need to add the onion address to your DHTnode.json file.
|
||||||
|
But Tox clients don't understand onion addresses and until they do,
|
||||||
|
we do the following:
|
||||||
|
|
||||||
|
1. Get the IP address your Tor assigns to the onion address
|
||||||
|
```
|
||||||
|
tor-resolve -4 l2ct3xnuaiwwtoybtn46qp2av4ndxcguwupzyv6xrsmnwi647vvmwtqd.onion
|
||||||
|
```
|
||||||
|
It will reply with an IPv4 address starting with ```172.```.
|
||||||
|
|
||||||
|
You'll need the pubkic key of your BS server. Take that address and
|
||||||
|
add to the DHTnodes.json file in the list of ```nodes```.
|
||||||
|
|
||||||
|
If your nodes file is line one line you can pretty it up with the
|
||||||
|
jq utility: ```jq . < DHTnodes.json > Prettynodes.json```.
|
||||||
|
|
||||||
|
Put the address in the ```ipv4``` slot and the
|
||||||
|
port in the tcp_ports list and put the onion address as the location.
|
||||||
|
```
|
||||||
|
{"last_scan": 1665034198,
|
||||||
|
"last_refresh": 1665034201,
|
||||||
|
"nodes": [
|
||||||
|
{
|
||||||
|
"ipv4": "10.192.0.1",
|
||||||
|
"ipv6": "-",
|
||||||
|
"port": "-",
|
||||||
|
"tcp_ports": [
|
||||||
|
33446
|
||||||
|
],
|
||||||
|
"public_key": "8E7D0B859922EF569298B4D261A8CCB5FEA14FB91ED412A7603A585A25698832",
|
||||||
|
"maintainer": "me",
|
||||||
|
"location": "l2ct3xnuaiwwtoybtn46qp2av4ndxcguwupzyv6xrsmnwi647vvmwtqd.onion:33446",
|
||||||
|
"status_udp": false,
|
||||||
|
"status_tcp": true,
|
||||||
|
"version": "1000002018",
|
||||||
|
"motd": "My Tox Node. ToxId:....",
|
||||||
|
"last_ping": 1665034200
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
You can also add this pair to the onions slot in your entry in the
|
You can also add this pair to the onions slot in your entry in the
|
||||||
DHTnodes.json file. If there is not an onions slot, create one.
|
DHTnodes.json file. If there is not an onions slot, create one.
|
||||||
|
|
||||||
|
### Updating
|
||||||
|
|
||||||
|
This IP address changes each time Tor restarts, so each time Tor
|
||||||
|
restarts the DHTnodes.json file needs updating. You can assign it
|
||||||
|
a permanent IP address by using the MapAddress line in the torrc:
|
||||||
|
```
|
||||||
|
MapAddress l2ct3xnuaiwwtoybtn46qp2av4ndxcguwupzyv6xrsmnwi647vvmwtqd.onion 10.192.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use any address in the range defined by
|
||||||
|
```
|
||||||
|
VirtualAddrNetworkV4 10.192.0.0/10
|
||||||
|
```
|
||||||
|
|
||||||
|
You can similarly add all the Tox onions you know about in this manner.
|
||||||
|
We can work on a script that automates this.
|
||||||
|
|
||||||
Details:
|
Details:
|
||||||
* https://git.plastiras.org/emdee/tox_profile/ToxAndTorInChinaAndIran
|
* https://git.plastiras.org/emdee/tox_profile/ToxAndTorInChinaAndIran
|
||||||
|
Loading…
Reference in New Issue
Block a user