tor-commits
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
July 2019
- 19 participants
- 1200 discussions

05 Jul '19
commit 82c05c5ebf85e170e485a62a9744f3c55ad821a4
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 18:31:48 2019 -0400
Tor relay post-install and good practices
---
.../contents.lr | 175 +++++++++++++++++++++
1 file changed, 175 insertions(+)
diff --git a/content/relay-operations/technical-setup/relays-post-install-and-good-practices/contents.lr b/content/relay-operations/technical-setup/relays-post-install-and-good-practices/contents.lr
new file mode 100644
index 0000000..8373219
--- /dev/null
+++ b/content/relay-operations/technical-setup/relays-post-install-and-good-practices/contents.lr
@@ -0,0 +1,175 @@
+_model: page
+---
+title: Relay Post-install and good practices
+---
+body:
+
+#1. Make sure relay ports can be reached
+
+If you are using a firewall, open a hole in your firewall so incoming connections can reach the ports you will use for your relay (ORPort, plus DirPort if you enabled it).
+
+Also, make sure you allow all outgoing connections too, so your relay can reach the other Tor relays, clients and destinations.
+
+You can find the specific ORPort TCP port number in the torrc configuration samples bellow (in the OS specific sections).
+
+# 2. Verify that your relay works
+
+If your logfile (syslog) contains the following entry after starting your tor daemon your relay should be up and running as expected:
+
+```
+Self-testing indicates your ORPort is reachable from the outside. Excellent.
+Publishing server descriptor.
+```
+
+About 3 hours after you started your relay it should appear on [Relay Search](https://metrics.torproject.org/rs.html).
+You can search for your relay using your nickname or IP address.
+
+# 3. Read about Tor relay lifecycle
+
+It takes some time for relay traffic to ramp up, this is especially true for guard relays but to a lesser extend also for exit relays. To understand this process, read about the [lifecycle of a new relay](https://blog.torproject.org/lifecycle-new-relay).
+
+
+#4. Optional: Limiting bandwidth usage (and traffic)
+
+Tor will not limit its bandwidth usage by default, but supports multiple ways to restrict the used bandwidth and the amount of traffic.
+This can be handy if you want to ensure that your Tor relay does not exceed a certain amount of bandwidth or total traffic per day/week/month.
+The following torrc configuration options can be used to restrict bandwidth and traffic:
+
+* AccountingMax
+* AccountingRule
+* AccountingStart
+* BandwidthRate
+* BandwidthBurst
+* RelayBandwidthRate
+
+Having a fast relay for some time of the month is preferred over a slow relay for the entire month.
+
+Also see the bandwidth entry in the FAQ: https://www.torproject.org/docs/faq.html.en#BandwidthShaping
+
+# 5. Check IPv6 availability
+
+We encourage everyone to enable IPv6 on their relays. This is especially valuable on exit and guard relays.
+
+Before enabling your tor daemon to use IPv6 in addition to IPv4 you should do some basic IPv6 connectivity tests.
+
+The following command line will ping the IPv6 addresses of Tor directory authorities from your server:
+
+```
+ping6 -c2 2001:858:2:2:aabb:0:563b:1526 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2607:8500:154::3 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.
+```
+
+At the end of the output you should see "OK." if that is not the case do not enable IPv6 in your torrc configuration file before IPv6 is indeed working.
+If you enable IPv6 without working IPv6 connectivity your entire relay will not be used, regardless if IPv4 is working.
+
+If it worked fine, make your Tor relay reachable via IPv6 by adding an additional ORPort line to your configuration (example for ORPort 9001):
+
+```
+ORPort [IPv6-address]:9001
+```
+
+The location of that line in the configuration file does not matter you can simply add it next to the first ORPort lins in your torrc file.
+
+Note: You have to explicitly specify your IPv6 address in square brackets, you can not tell tor to bind to any IPv6 (like you do for IPv4).
+If you have a global IPv6 address you should be able to find it in the output of the following command:
+
+```
+ip addr|grep inet6|grep global
+```
+
+If you are an exit relay with IPv6 connectivity, tell your tor daemon to allow exiting via IPv6 so clients can reach IPv6 destinations:
+
+```
+IPv6Exit 1
+```
+
+Note: Tor requires IPv4 connectivity, you can not run a Tor relay on IPv6-only.
+
+# 6. Important: if you run more than one Tor instance
+
+To avoid putting Tor clients at risk when operating multiple relays you must set a proper [MyFamily](https://2019.www.torproject.org/docs/tor-manual.html.en#MyFamily) value and have a valid [ContactInfo](https://2019.www.torproject.org/docs/tor-manual.html.en#Contac… in your torrc configuration.
+The MyFamily setting is simply telling Tor clients what Tor relays are controlled by a single entity/operator/organization, so they are not used in multiple positions in a single circuit.
+
+If you run two relays and they have fingerprints AAAAAAAAAA and BBBBBBBB, you would add the following configuration to set MyFamily:
+
+```
+MyFamily AAAAAAAAAA,BBBBBBBB
+```
+
+to both relays. To find your relays fingerprint you can look into the log files when tor starts up or find the file named "fingerprint" in your tor DataDirectory.
+
+Instead of doing so manually for big operators we recommend to automate the MyFamily setting via a configuration management solution.
+Manually managing MyFamily for big relaygroups is error prone and can put Tor clients at risk.
+
+
+# 7. Maintaining a relay
+
+## Backup Tor Identity Keys
+
+After your initial installation and start of the tor daemon it is a good idea to make a backup of your relay's long term identity keys.
+They are located in the "keys" subfolder of your DataDirectory (simply make a copy of the entire folder and store it in a secure location).
+Since relays have a ramp-up time it makes sense to backup the identity key to be able to restore your relay's reputation after a disk failure - otherwise you would have to go through the ramp-up phase again.
+
+Default locations of the keys folder:
+
+* Debian/Ubuntu: `/var/lib/tor/keys`
+* FreeBSD: `/var/db/tor/keys`
+
+## Subscribe to the tor-announce mailing list
+
+This is a very low traffic mailing list and you will get information about new stable tor releases and important security update information.
+
+* https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-announce
+
+## Setting up outage notifications
+
+Once you setup your relay it will likely run without much work from your side.
+If something goes wrong it is good to get notified automatically.
+We recommend you use one of the free services that allow you to check your relay's ORPorts for reachability and send you an email should they become unreachable for what ever reason.
+
+[UptimeRobot](https://uptimerobot.com/) is one of these services that allow you to monitor TCP listeners on arbitrary ports.
+This service can check your configured ports once every 5 minutes and send you an email should your tor process die or become unreachable.
+This checks only for the listener but does not speak the Tor protocol.
+
+A good way to monitor a relay for its health state is to have a look at its bandwidth graphs.
+
+## System Health Monitoring
+
+To ensure your relay is healthy and not overwhelmed it makes sense to have some basic system monitoring in place to keep an eye on the following metrics:
+
+* Bandwidth
+* Established TCP Connections
+* Memory
+* Swap
+* CPU
+
+There are many tools for monitoring this kind of data, [munin](http://munin-monitoring.org/) is one of them and is relatively easy to setup.
+
+Note: **Do not make your private monitoring data graphs public since this could help attackers with deanonymizing Tor users.**
+
+Some practical advice:
+
+* If you want to publish traffic statistics, you should aggregate all your relays' traffic over at least a week, then round that to the nearest 10 TiB (terabytes).
+* Reporting individual relays is worse than reporting totals for groups of relays. In future, tor will securely aggregate bandwidth statistics, so any individual relay bandwidth reporting will be less secure than tor's statistics.
+* Smaller periods are worse.
+* Numbers are worse than graphs.
+* Real-time data is worse than historical data.
+* Data in categories (IP version, in/out, etc.) is worse than total data.
+
+## Tools
+
+ This section lists a few tools that you might find handy as a Tor relay operator.
+
+* [Nyx](https://nyx.torproject.org/): is a Tor Project tool (formerly arm) that allows you to see real time data of your relay.
+
+* vnstat: vnstat is a command-line tool that shows the amount of data going through your network connection.
+You can also use it to generate PNG pictures showing traffic graphs. [vnstat documentation](https://humdi.net/vnstat/) and [demo output](https://humdi.net/vnstat/cgidemo/).
+---
+html: two-columns-page.html
+---
+key: 4
+---
+section: Relay operations
+---
+section_id: relay-operations
+---
+subtitle:
1
0

05 Jul '19
commit 084ee9038ce3272e1d5355e1396b780b2eb46d6a
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 18:34:58 2019 -0400
Import obfs4 bridge deployment guide to lektor
---
.../centos-rhel-opensuse/contents.lr | 2 +-
.../bridge-deployment-guide/contents.lr | 8 ++-
.../debian-ubuntu/contents.lr | 2 +-
.../bridge-deployment-guide/freebsd/contents.lr | 2 +-
.../bridge-deployment-guide/openbsd/contents.lr | 67 ++++++++++++++++++++++
5 files changed, 76 insertions(+), 5 deletions(-)
diff --git a/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr b/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr
index 22d0f46..5849e5a 100644
--- a/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr
+++ b/content/relay-operations/technical-setup/bridge-deployment-guide/centos-rhel-opensuse/contents.lr
@@ -96,6 +96,6 @@ key:
---
color: primary
---
-subtitle: How to deploy obfs4proxy on CentOS / RHEL
+subtitle: How to deploy obfs4proxy Bridge on CentOS / RHEL / OpenSUSE
---
_template: layout.html
diff --git a/content/relay-operations/technical-setup/bridge-deployment-guide/contents.lr b/content/relay-operations/technical-setup/bridge-deployment-guide/contents.lr
index b542590..c83b3e6 100644
--- a/content/relay-operations/technical-setup/bridge-deployment-guide/contents.lr
+++ b/content/relay-operations/technical-setup/bridge-deployment-guide/contents.lr
@@ -2,18 +2,22 @@ _model: page
---
title:
- Bridge deployment
+ Bridge
---
body:
This guide will help you run an obfs4 bridge to help censored users connect to the Tor network. The requirements are 1) 24/7 Internet connectivity and 2) the ability to expose TCP ports to the Internet (make sure that NAT doesn't get in the way).
+
+Note: If you're running platforms that are not listed on this page, you should probably [compile obfs4 from source](https://gitlab.com/yawning/obfs4#installation).
---
html: two-columns-page.html
---
-key: 1
+key: 2
---
section: Bridge operations
---
section_id: bridge-operations
---
subtitle: Run an obfs4 bridge to help censored users connect to the Tor network
+---
+_slug: {{bridge}}
diff --git a/content/relay-operations/technical-setup/bridge-deployment-guide/debian-ubuntu/contents.lr b/content/relay-operations/technical-setup/bridge-deployment-guide/debian-ubuntu/contents.lr
index 6bb7b79..8900995 100644
--- a/content/relay-operations/technical-setup/bridge-deployment-guide/debian-ubuntu/contents.lr
+++ b/content/relay-operations/technical-setup/bridge-deployment-guide/debian-ubuntu/contents.lr
@@ -77,4 +77,4 @@ key: 1
---
html: two-columns-page.html
---
-subtitle: Follow the steps below to deploy obfs4proxy on Debian / Ubuntu
+subtitle: How to deploy an obfs4proxy Bridge on Debian / Ubuntu
diff --git a/content/relay-operations/technical-setup/bridge-deployment-guide/freebsd/contents.lr b/content/relay-operations/technical-setup/bridge-deployment-guide/freebsd/contents.lr
index e14737e..01adcd2 100644
--- a/content/relay-operations/technical-setup/bridge-deployment-guide/freebsd/contents.lr
+++ b/content/relay-operations/technical-setup/bridge-deployment-guide/freebsd/contents.lr
@@ -95,4 +95,4 @@ FreeBSDlatest: {
```
---
-subtitle: Follow the steps below to deploy obfs4proxy on FreeBSD
+subtitle: How to deploy obfs4proxy Bridge on FreeBSD
diff --git a/content/relay-operations/technical-setup/bridge-deployment-guide/openbsd/contents.lr b/content/relay-operations/technical-setup/bridge-deployment-guide/openbsd/contents.lr
index 24f1601..ae682d9 100644
--- a/content/relay-operations/technical-setup/bridge-deployment-guide/openbsd/contents.lr
+++ b/content/relay-operations/technical-setup/bridge-deployment-guide/openbsd/contents.lr
@@ -5,3 +5,70 @@ title: OpenBSD
html: two-columns-page.html
---
key: 4
+---
+body:
+
+# 1. Install packages
+```
+pkg_add tor obfs4proxy
+```
+
+# 2. Edit your Tor config file
+
+Usually located at `/etc/tor/torrc`, add the following lines:
+
+```
+#Bridge config
+RunAsDaemon 1
+ORPort auto
+BridgeRelay 1
+ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
+# For a fixed obfs4 port (e.g. 34176), uncomment the following line.
+#ServerTransportListenAddr obfs4 0.0.0.0:34176
+# Local communication port between Tor and obfs4. Always set this to "auto". "Ext" means
+# "extended", not "external". Don't try to set a specific port number, nor listen on 0.0.0.0.
+ExtORPort auto
+
+# Contact information that allows us to get in touch with you in case of
+# critical updates or problems with your bridge. This is optional, so you
+# don't have to provide an email address if you don't want to.
+ContactInfo <address(a)email.com>
+# Pick a nickname that you like for your bridge.
+Nickname PickANickname
+
+Log notice file /var/log/tor/notices.log
+
+User _tor
+```
+
+Don't forget to change the ContactInfo and Nickname options.
+
+Note that both Tor's OR port and its obfs4 port must be reachable. If your bridge is behind a firewall or NAT, make sure to open both ports.
+
+# 3. Start the tor daemon and make sure it starts at boot:
+
+```
+rcctl enable tor
+rcctl start tor
+```
+# 4. Monitor your logs
+
+To confirm your bridge is running with no issues, you should see something like this (`/var/log/tor/notices.log`):
+
+```
+[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
+[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
+[notice] Registered server transport 'obfs4' at '[::]:46396'
+[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
+[notice] Bootstrapped 100%: Done
+[notice] Now checking whether ORPort <redacted>:9001 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
+[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
+```
+
+Remember to open the random port associated with your bridge. You can find it in your tor log; in the above example it is 46396. To use a fixed port, uncomment the [ServerTransportListenAddr](https://www.torproject.org/docs/tor-manual.html.… option in your torrc. You can use [our reachability test](https://bridges.torproject.org/scan/) to see if your obfs4 port is reachable from the Internet.
+---
+subtitle: How to deploy obfs4proxy Bridge on OpenBSD
+---
+section: Bridge
+---
+section_id: bridge
1
0

[community/master] Include technical considerations like AS and OS diversity from Tor relay guide to lektor
by hiro@torproject.org 05 Jul '19
by hiro@torproject.org 05 Jul '19
05 Jul '19
commit 04faaec85c3052b0e5e91e3e7786aba4af56e640
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 18:31:23 2019 -0400
Include technical considerations like AS and OS diversity from Tor relay guide to lektor
---
content/relay-operations/technical-considerations/contents.lr | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/content/relay-operations/technical-considerations/contents.lr b/content/relay-operations/technical-considerations/contents.lr
index 9951d45..df9ce12 100644
--- a/content/relay-operations/technical-considerations/contents.lr
+++ b/content/relay-operations/technical-considerations/contents.lr
@@ -90,6 +90,6 @@ section: relay operations
---
section_id: relay-operations
---
-key: 2
+key: 3
---
-subtitle: How to choose a good hosting provider, what's AS and Operating System diversity.
+subtitle: How to choose a good hosting provider, what's an AS and Operating System diversity.
1
0

[community/master] Move middle relay instructions to a new section
by hiro@torproject.org 05 Jul '19
by hiro@torproject.org 05 Jul '19
05 Jul '19
commit 8b4aaa6897f815d7ebb37352b7733db8255afca8
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 18:33:31 2019 -0400
Move middle relay instructions to a new section
---
.../middleguard-relay/centosrhel/contents.lr | 56 +++++++++++++++++
.../technical-setup/middleguard-relay/contents.lr | 15 +++++
.../middleguard-relay/debianubuntu/contents.lr | 46 ++++++++++++++
.../middleguard-relay/fedora/contents.lr | 37 +++++++++++
.../middleguard-relay/freebsd/contents.lr | 73 ++++++++++++++++++++++
5 files changed, 227 insertions(+)
diff --git a/content/relay-operations/technical-setup/middleguard-relay/centosrhel/contents.lr b/content/relay-operations/technical-setup/middleguard-relay/centosrhel/contents.lr
new file mode 100644
index 0000000..27b6031
--- /dev/null
+++ b/content/relay-operations/technical-setup/middleguard-relay/centosrhel/contents.lr
@@ -0,0 +1,56 @@
+_model: page
+---
+title: CentOS/RHEL
+---
+body:
+
+# 1. Enable the EPEL repository
+
+To install `tor` package on CentOS/RHEL, you need to install the [EPEL](https://fedoraproject.org/wiki/EPEL) repository first:
+
+`yum install epel-release`
+
+# 2. Install the tor package and verify the EPEL signing key
+
+`yum install tor`
+
+When you install the first package from the EPEL repository you will be asked about verifying the EPEL GPG signing key. Please ensure the key matches with the one available on the [Fedora Project website](https://getfedora.org/keys/).
+
+# 3. Put the tor configuration file `/etc/tor/torrc` in place
+
+```
+#change the nickname "myNiceRelay" to a name that you like
+Nickname myNiceRelay
+ORPort 9001
+SocksPort 0
+ExitRelay 0
+# Change the email address bellow and be aware that it will be published
+ContactInfo tor-operator@your-emailaddress-domain
+```
+
+# 4. Enable and start your Tor relay
+
+CentOS 7 / RHEL 7:
+
+```
+systemctl enable tor
+systemctl start tor
+```
+
+CentOS 6 / RHEL 6:
+
+```
+service tor enable
+service tor start
+```
+
+---
+html: two-columns-page.html
+---
+key: 5
+---
+section: relay operations
+---
+section_id: relay-operations
+---
+subtitle: How to deploy a middle/Guard node on CentOS/RHEL
diff --git a/content/relay-operations/technical-setup/middleguard-relay/contents.lr b/content/relay-operations/technical-setup/middleguard-relay/contents.lr
new file mode 100644
index 0000000..7cfa3dd
--- /dev/null
+++ b/content/relay-operations/technical-setup/middleguard-relay/contents.lr
@@ -0,0 +1,15 @@
+_model: page
+---
+title: Middle/Guard relay
+---
+body: In this guide we describe how to setup a new Middle/Guard relay. Please choose your platform below.
+---
+html: two-columns-page.html
+---
+key: 1
+---
+section: relay operations
+---
+section_id: relay-operations
+---
+subtitle: Run a Middle/Guard relay
diff --git a/content/relay-operations/technical-setup/middleguard-relay/debianubuntu/contents.lr b/content/relay-operations/technical-setup/middleguard-relay/debianubuntu/contents.lr
new file mode 100644
index 0000000..f7992dd
--- /dev/null
+++ b/content/relay-operations/technical-setup/middleguard-relay/debianubuntu/contents.lr
@@ -0,0 +1,46 @@
+_model: page
+---
+title: Debian/Ubuntu
+---
+body:
+
+# 1. Configure Tor Package Repository
+
+Enable the Torproject package repository by following the instructions **[here](https://2019.www.torproject.org/docs/debian.html.en#ubuntu)**.
+
+# 2. Package Installation
+
+Install the `tor` package:
+
+`apt update && apt install tor`
+
+# 3. Configuration File
+
+Put the configuration file `/etc/tor/torrc` in place:
+
+```
+#change the nickname "myNiceRelay" to a name that you like
+Nickname myNiceRelay
+ORPort 443
+ExitRelay 0
+SocksPort 0
+ControlSocket 0
+# Change the email address bellow and be aware that it will be published
+ContactInfo tor-operator@your-emailaddress-domain
+```
+
+# 4. Restart the Service
+
+Restart the tor daemon so your configuration changes take effect:
+
+`systemctl restart tor@default`
+---
+html: two-columns-page.html
+---
+key: 1
+---
+section: relay operations
+---
+section_id: relay-operations
+---
+subtitle: How to deploy a middle/Guard node on Debian/Ubuntu
diff --git a/content/relay-operations/technical-setup/middleguard-relay/fedora/contents.lr b/content/relay-operations/technical-setup/middleguard-relay/fedora/contents.lr
new file mode 100644
index 0000000..cc984cc
--- /dev/null
+++ b/content/relay-operations/technical-setup/middleguard-relay/fedora/contents.lr
@@ -0,0 +1,37 @@
+_model: page
+---
+title: Fedora
+---
+body:
+
+# 1. Install the tor package:
+
+`dnf install tor`
+
+# 2. Put the tor configuration file `/etc/tor/torrc` in place:
+
+```
+#change the nickname "myNiceRelay" to a name that you like
+Nickname myNiceRelay
+ORPort 9001
+ExitRelay 0
+# Change the email address bellow and be aware that it will be published
+ContactInfo tor-operator@your-emailaddress-domain
+```
+
+# 3. Start the tor daemon and make sure it starts at boot:
+
+```
+systemctl enable tor
+systemctl start tor
+```
+---
+html: two-columns-page.html
+---
+key: 3
+---
+section: relay operations
+---
+section_id: relay-operations
+---
+subtitle: How to deploy a middle/Guard node on Fedora
diff --git a/content/relay-operations/technical-setup/middleguard-relay/freebsd/contents.lr b/content/relay-operations/technical-setup/middleguard-relay/freebsd/contents.lr
new file mode 100644
index 0000000..a47dfc8
--- /dev/null
+++ b/content/relay-operations/technical-setup/middleguard-relay/freebsd/contents.lr
@@ -0,0 +1,73 @@
+_model: page
+---
+title: FreeBSD
+---
+body:
+
+## 1. Install the tor package
+
+`pkg install tor ca_root_nss`
+
+or for alpha releases:
+
+`pkg install tor-devel ca_root_nss`
+
+## 2. Put the configuration file `/usr/local/etc/tor/torrc` in place
+
+```
+#change the nickname "myNiceRelay" to a name that you like
+Nickname myNiceRelay
+ORPort 9001
+ExitRelay 0
+SocksPort 0
+# Change the email address bellow and be aware that it will be published
+ContactInfo tor-operator@your-emailaddress-domain
+Log notice syslog
+```
+
+## 3. Ensure that the `random_id` sysctl setting is enabled:
+
+```
+echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
+sysctl net.inet.ip.random_id=1
+```
+
+## 4. Start the tor daemon and make sure it starts at boot:
+
+```
+sysrc tor_enable=YES
+service tor start
+```
+
+### Optional but recommended
+
+To get package updates faster after they have been build it is best to switch from the "quarterly" with "latest" repository.
+
+Create the following folder:
+
+`mkdir -p /usr/local/etc/pkg/repos`
+
+and create the file `/usr/local/etc/pkg/repos/FreeBSD.conf` with the following content:
+
+```
+FreeBSD: { enabled: no }
+
+FreeBSDlatest: {
+ url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
+ mirror_type: "srv",
+ signature_type: "fingerprints",
+ fingerprints: "/usr/share/keys/pkg",
+ enabled: yes
+}
+```
+
+---
+html: two-columns-page.html
+---
+key: 2
+---
+section: relay operations
+---
+section_id: relay-operations
+---
+subtitle: How to deploy a middle/Guard node on FreeBSD
1
0
commit 9f08fa924ae4aef8ad55b37743926758ded4420c
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 23:30:35 2019 -0400
Small fix
---
content/relay-operations/relays-requirements/contents.lr | 6 ++----
content/relay-operations/types-of-relays/contents.lr | 5 +++--
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/content/relay-operations/relays-requirements/contents.lr b/content/relay-operations/relays-requirements/contents.lr
index 7ee3b6b..4def53f 100644
--- a/content/relay-operations/relays-requirements/contents.lr
+++ b/content/relay-operations/relays-requirements/contents.lr
@@ -27,7 +27,7 @@ Fast exit relays (>=100 Mbit/s) usually have to handle a lot more concurrent con
It is recommended that a relay have at least 16 Mbit/s (Mbps) upload bandwidth and 16 Mbit/s (Mbps) download bandwidth available for Tor. More is better.
The minimum requirements for a relay are 10 Mbit/s (Mbps).
-If you have less than 10 Mbit/s but at least 1 Mbit/s we recommend you run a [bridge with obfs4 support](https://trac.torproject.org/projects/tor/wiki/doc/PluggableTranspo….
+If you have less than 10 Mbit/s but at least 1 Mbit/s we recommend you run a [bridge with obfs4 support](relay/bridge).
If you do not know your bandwidth you can use http://beta.speedtest.net to measure it.
# Monthly Outbound Traffic
@@ -76,6 +76,4 @@ Reboots and tor daemon restarts are fine.
# Tor Version
-For security reasons, Tor relays should not downgrade their tor version from a supported to an unsupported version of tor.
-Some unsupported versions are insecure.
-Relays that attempt to downgrade to an insecure version will be rejected from the network automatically.
+For security reasons, Tor relays should not downgrade their tor version from a supported to an unsupported version of tor. Some unsupported versions are insecure. Relays that attempt to downgrade to an insecure version will be rejected from the network automatically.
diff --git a/content/relay-operations/types-of-relays/contents.lr b/content/relay-operations/types-of-relays/contents.lr
index bdb75dc..509db57 100644
--- a/content/relay-operations/types-of-relays/contents.lr
+++ b/content/relay-operations/types-of-relays/contents.lr
@@ -50,7 +50,7 @@ Because of the legal exposure that comes with running an exit relay, you should
Ideal exit relay operators are affiliated with some institution, like a university, a library, a hackerspace or a privacy related organization.
An institution can not only provide greater bandwidth for the exit, but is better positioned to handle abuse complaints or the rare law enforcement inquiry.
-If you are considering running an exit relay, please read the [section on legal considerations](FIXME) for exit relay operators.
+If you are considering running an exit relay, please read the [section on legal considerations](community-resources) for exit relay operators.
# Bridge
@@ -60,8 +60,9 @@ Tor bridges are nodes in the network that are not listed in the public Tor direc
Bridges are useful for Tor users under oppressive regimes or for people who want an extra layer of security because they're worried somebody will recognize that they are contacting a public Tor relay IP address.
Several countries, including China and Iran, have found ways to detect and block connections to Tor bridges.
-Pluggable transports(https://www.torproject.org/docs/pluggable-transports.html.en), a special kind of bridge, address this by adding an additional layer of obfuscation.
+[Pluggable transports](https://2019.www.torproject.org/docs/pluggable-transports.html.…, a special kind of bridge, address this by adding an additional layer of obfuscation.
Bridges are relatively easy, low-risk and low bandwidth Tor nodes to operate, but they have a big impact on users.
A bridge isn't likely to receive any abuse complaints, and since bridges are not listed in the public consensus, they are unlikely to be blocked by popular services.
+
Bridges are a great option if you can only run a Tor node from your home network, have only one static IP, and don't have a huge amount of bandwidth to donate -- we recommend giving your bridge at least 1 Mbit/sec.
1
0

[community/master] Add community resources - tor abuse templates, exit guidelines, tor universities, goodbadisps
by hiro@torproject.org 05 Jul '19
by hiro@torproject.org 05 Jul '19
05 Jul '19
commit a02f1e169a60a77aa21a9b9b72201b2792fd004a
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 23:29:59 2019 -0400
Add community resources - tor abuse templates, exit guidelines, tor universities, goodbadisps
---
.../community-resources/contents.lr | 22 ++--
.../community-resources/good-bad-isps/contents.lr | 45 ++++++++
.../tor-abuse-templates/contents.lr | 8 +-
.../tor-exit-guidelines/contents.lr | 117 +++++++++++++++++++++
.../tor-relay-universities/contents.lr | 49 +++++++++
5 files changed, 226 insertions(+), 15 deletions(-)
diff --git a/content/relay-operations/community-resources/contents.lr b/content/relay-operations/community-resources/contents.lr
index 145ee9e..935d20d 100644
--- a/content/relay-operations/community-resources/contents.lr
+++ b/content/relay-operations/community-resources/contents.lr
@@ -1,6 +1,6 @@
-section: relay operations
+section: community resources
---
-section_id: relay-operations
+section_id: community-resources
---
color: primary
---
@@ -20,28 +20,28 @@ Exit relay operators should understand the potential risks associated with runni
# Legal resources
-The [EFF Tor Legal FAQ](https://www.torproject.org/eff/tor-legal-faq.html.en) answers many common questions about relay operation and the law. We also like Noisebridge's wiki for additional legal resources: https://www.noisebridge.net/wiki/Noisebridge_Tor/FBI. In general it's a good idea to consult with a lawyer before deciding to operate an exit relay, especially if you live in a place where exit relay operators have been harassed, or if you're the only exit relay operator in your region. Get in touch with your local digital rights organization to see if they have recommendations about legal assistance, and if you're not sure what organizations are working in your region, write to EFF and see if they can help connect you: https://www.eff.org/about/contact.
+The [EFF Tor Legal FAQ](https://www.torproject.org/eff/tor-legal-faq.html.en) answers many common questions about relay operation and the law. We also like [Noisebridge's wiki](https://www.noisebridge.net/wiki/Noisebridge_Tor/FBI) for additional legal resources. In general it's a good idea to consult with a lawyer before deciding to operate an exit relay, especially if you live in a place where exit relay operators have been harassed, or if you're the only exit relay operator in your region. Get in touch with your local digital rights organization to see if they have recommendations about legal assistance, and if you're not sure what organizations are working in your region, [write to EFF](https://www.eff.org/about/contact) and see if they can help connect you.
-Also see the [TorExitGuidelines Tor Exit Guidelines](FIXME).
+Also see the [Tor Exit Guidelines](tor-exit-guidelines).
# Responding to abuse complaints
-Operators can put together their own abuse complaint template responses from one of many templates that Tor has created: [TorAbuseTemplates](tor-abuse-templates).
+Operators can put together their own abuse complaint template responses from one of many templates that Tor has created: [Tor Abuse Templates](tor-abuse-templates).
-It is important to respond to abuse complaints in a timely manner (usually within 24 hours). If the hoster gets annoyed by the amount of abuse you can reduce the amount of ports allowed in your exit policy. Please document your experience with new hosters on the following wiki page: [GoodBadISPs](FIXME)
+It is important to respond to abuse complaints in a timely manner (usually within 24 hours). If the hoster gets annoyed by the amount of abuse you can reduce the amount of ports allowed in your exit policy. Please document your experience with new hosters on the following wiki page: [GoodBadISPs](/good-bad-isps)
Other docs we like:
-* a letter Boing Boing used to respond to a US federal subpoena about their exit relay: https://boingboing.net/2015/08/04/what-happened-when-the-fbi-sub.html
-* abuse response templates from Coldhak, an organization in Canada that runs multiple relays: https://github.com/coldhakca/abuse-templates/blob/master/dmca.template, https://github.com/coldhakca/abuse-templates/blob/master/generic.template
+* a letter Boing Boing used to respond to a US federal subpoena about their exit relay: [What happened when we got subpoenaed over our Tor exit node](https://boingboing.net/2015/08/04/what-happened-when-the-fbi-sub.html)
+* abuse response templates from Coldhak, an organization in Canada that runs multiple relays: [DMCA Template](https://github.com/coldhakca/abuse-templates/blob/master/dmca.tem…, [Genetic Abuse Template](https://github.com/coldhakca/abuse-templates/blob/master/generic.….
# Running a relay with other people
-Running relays is more fun with other people! You can work with your university department, your employer or institution, or an organization like Torservers.net to run a relay.
+Running relays is more fun with other people! You can work with your university department, your employer or institution, or an organization like [Torservers.net](https://torservers.net) to run a relay.
## Torservers.net
-Torservers is an independent, global network of organizations that help the Tor network by running high bandwidth Tor relays. Becoming a Torservers partner is a good way to become more involved in the Tor relay community, and can help you connect with dedicated relay operators around the world for solidarity and support. To start a Torservers partner, the most important thing is to have a group of people (3-5 suggested to start) interested in helping with the various activities required for running relays. There should be mutual trust between the people in the group, and members should commit to running relays for the long term. If you do not know anyone in your social network interested in running relays, one place to meet people is your local hackerspace: https://wiki.hackerspaces.org/Hackerspaces.
+Torservers is an independent, global network of organizations that help the Tor network by running high bandwidth Tor relays. Becoming a Torservers partner is a good way to become more involved in the Tor relay community, and can help you connect with dedicated relay operators around the world for solidarity and support. To start a Torservers partner, the most important thing is to have a group of people (3-5 suggested to start) interested in helping with the various activities required for running relays. There should be mutual trust between the people in the group, and members should commit to running relays for the long term. If you do not know anyone in your social network interested in running relays, one place to meet people is [your local hackerspace](https://wiki.hackerspaces.org/Hackerspaces).
Once you have a trusted group of people, depending on your region, it is often advised to create some type of non-profit corporation. This is useful for having a bank account, shared ownership, grant applications, etc. In many countries operating as a corporation instead of as an individual can also get you certain legal protections.
@@ -49,7 +49,7 @@ The next steps are figuring out hardware, transit, and server hosting. Depending
## At your university
-Many computer science departments, university libraries, and individual students and faculty run relays from university networks. These universities include the Massachusetts Institute of Technology (MIT CSAIL), Boston University, the University of Waterloo, the University of Washington, Northeastern University, Karlstad University, Universitaet Stuttgart, and Friedrich-Alexander University Erlangen-Nuremberg. To learn more about how to get support for a relay on your university's network, check out EFF's resources: https://www.eff.org/torchallenge/tor-on-campus.html.
+Many computer science departments, university libraries, and individual students and faculty run relays from university networks. These universities include the Massachusetts Institute of Technology (MIT CSAIL), Boston University, the University of Waterloo, the University of Washington, Northeastern University, Karlstad University, Universitaet Stuttgart, and Friedrich-Alexander University Erlangen-Nuremberg. To learn more about how to get support for a relay on your university's network, check out EFF's resources: [Tor no campus](https://www.eff.org/torchallenge/tor-on-campus.html).
## At your company or organization
diff --git a/content/relay-operations/community-resources/good-bad-isps/contents.lr b/content/relay-operations/community-resources/good-bad-isps/contents.lr
new file mode 100644
index 0000000..5f614e0
--- /dev/null
+++ b/content/relay-operations/community-resources/good-bad-isps/contents.lr
@@ -0,0 +1,45 @@
+_model: page
+---
+title: Good Bad ISPs
+---
+body:
+
+This page aims to list community experiences with Tor and various Internet Service Providers (ISPs) around the world. Some ISPs are Tor-friendly, some are not. Some are competent and clueful about Tor or about security in general. Let us know!
+
+Be sure to provide useful information like how much bandwidth you pushed, whether you thought the deal was cheap or expensive, how hard you had to work to make them understand what's going on, how long your server has been running, and whether you'd recommend them to others. Also include dates.
+
+Since non-exits do not attract complaints, it should be fine to run them without contacting the hoster first. Make sure you understand their policies regarding bandwidth, especially on "unlimited" (fair use) contracts. For exit relays, you should read the fine Tor Exit Guidelines first.
+
+For network diversity and stronger anonymity, you should avoid providers and countries that already attract a lot of Tor capacity. [metrics](https://metrics.torproject.org/) is a great tool that allows you to group probabilities by country and AS (autonomous systems), so you can more easily identify networks you want to avoid.
+
+**Note**: This page is currently being revamped. If you would like to help out please see [#31063](https://trac.torproject.org/projects/tor/ticket/31063).
+
+## Proposed ISPs
+
+The table below contains some community-suggested ISPs which have yet to be contacted and/or evaluated on their policies towards Tor hosting of any kind. If you have seen a host and would like to suggest it to us, but do not have the time or confidence to reach out, please do leave their website information below.
+
+
+| **Company/ISP** | **Website** | **Language** | **Tasked?** | **Comments** |
+|-------------------------|------------------|--------------------|------------------|---------------------|
+| [Evolution Host VPS](https://evolution-host.com/vps-hosting.php) | [Evolution Host](https://evolution-host.com/) | English | https://evolution-host.com/tos.php | "No problem at all! We certainly aren't against the use of Tor on our services. You may host any type of Tor node." |
+| QuickPacket | quickpacket.com | English | ToS prohibit "any activity" related to Tor as of 2015-03-31. See prohibited use 22 http://quickpacket.com/tos.html |
+| Delimiter | delimiter.com | English | https://www.delimiter.com/terms-conditions/ |
+| Reliable Hosting | reliablehosting.com | English | 2015-12-31 "Sorry, we don't allow Tor exit node on our servers" |
+| Dacentec | dacentec.com | English | 2015-12-29 Dacentec Support: "Tor Nodes are prohibited by our terms of service and acceptable use policy. 2 sites were given https://billing.dacentec.com/hostbill/aup.php and https://billing.dacentec.com/hostbill/terms.php |
+| Joe's Datacenter | joesdatacenter.com | English | | "For abuse complaints, if we receive them while your account is still fairly new, we automatically terminate services." |
+| Wholesale Internet | wholesaleinternet.com | English | 2015-12-29 Wholesale Internet sales:"We do not block traffic, but you must respond to all abuse reports within 24 hours." | Core2Duo Dedi 100Mbit connection serves only ~ 35 Mbit (1/5/16)|
+| Datashack.net \\ ASN: AS33387 | datashack.net | English | 2015-11-21 DataShack Sales: "We do not appose TOR, but require to respond to all abuse reports within 24 hours." |
+| !CrownCloud | crowncloud.net | English | ~~ToS dis-allow bridge, relay, or exit as of 2015-03-31.~~ As of 2015-07-22, only exits are disallowed. Entry, bridge and middle are fine. See item 17 at http://wiki.crowncloud.net/doku.php/vps_tos |
+| Deepnet Solutions | deepnetsolutions.com | English | They specifically allow Tor relays (not exits) on their dedicated IPV4 VPSs NOT on any NAT or OHM packages. \\ Some of their locations have a lot of consensus weight (AS12876 and AS16276), maybe not so good for diversity. |
+| Andrews & Arnold | aa.net.uk | English | UK. IPv6. Note: Very very pro-privacy, has made public their net freedom and anti-surveillance stance. Zero censorship. |
+
+---
+html: two-columns-page.html
+---
+key: 3
+---
+section: Community Resources
+---
+section_id: community-resources
+---
+subtitle: Some ISPs are Tor-friendly, some are not
diff --git a/content/relay-operations/community-resources/tor-abuse-templates/contents.lr b/content/relay-operations/community-resources/tor-abuse-templates/contents.lr
index 475651b..b24cf79 100644
--- a/content/relay-operations/community-resources/tor-abuse-templates/contents.lr
+++ b/content/relay-operations/community-resources/tor-abuse-templates/contents.lr
@@ -6,7 +6,7 @@ body:
# Before You Start
-The best way to handle abuse complaints is to set up your exit node so that they are less likely to be sent in the first place. Please see [Tips for Running an Exit Node with Minimal Harassment](https://blog.torproject.org/running-exit-node ) and [Tor Exit Guidelines](https://trac.torproject.org/projects/tor/wiki/doc/TorExitGuidel… for more info, before reading this document.
+The best way to handle abuse complaints is to set up your exit node so that they are less likely to be sent in the first place. Please see [Tips for Running an Exit Node with Minimal Harassment](https://blog.torproject.org/running-exit-node) and [Tor Exit Guidelines](/tor-exit-guidelines) for more info, before reading this document.
Below are a collection of letters you can use to respond to your ISP about their complaint in regards to your Tor exit server.
@@ -281,16 +281,16 @@ If a serious abuse complaint not covered by this template set arrives, the best
* The ISP is not at fault and not liable for your actions. This is normally the case, but the poor abuse person dealing with the issues just wants to hear it isn't the ISPs problem. They will move on after they are comfortable.
* Discuss options. Options Phobos has been offered:
* The ISP/Complaintant may very well demand to see logfiles. Fortunately, by default, nothing sensitive disclosed. You may want a new ISP if they demand access to log files ad hoc.
- * The ISP/Complaintant suggests you convert to middleman. In this case, you may want to counter with a reduced exit policy, such as the one suggested in [https://blog.torproject.org/running-exit-node item #6 of the above blog post].
+ * The ISP/Complaintant suggests you convert to middleman. In this case, you may want to counter with a reduced exit policy, such as the one suggested in [item #6 of the above blog post](https://blog.torproject.org/running-exit-node).
* The ISP/Complaintant demands you disable Tor. You may want a new ISP as a result.
* The ISP/Complaintant states they will firewall off the traffic on the default ports. You may want a new ISP as a result.
- * Update the config to disallow traffic to a certain IP range from your exit node. You may want to suggest the complaintant use the [Tor DNS RBL](https://www.torproject.org/projects/tordnsel.html.en ) instead.
+ * Update the config to disallow traffic to a certain IP range from your exit node. You may want to suggest the complaintant use the [Tor DNS RBL](https://2019.www.torproject.org/projects/tordnsel.html.en) instead.
* After all has been discussed, offer a follow up conversation within a week. Make sure your agreed upon changes are implemented. Neither the ISP nor Complaintant may want to do this, but the fact that you offered is in your credit. This may help them feel "comfortable" with you.
## Other Template Sets
- * [DMCA Response template for Tor node maintainer to ISP](FIXME) as written by the [EFF](http://www.eff.org EFF).
+ * [DMCA Response template for Tor node maintainer to ISP](FIXME) as written by the [EFF](http://www.eff.org).
* Moritz Bartl, the operator of some of our fastest Tor exit nodes, has begun compiling a [set of abuse response template emails](https://www.torservers.net/wiki/abuse/templates) as well.
---
html: two-columns-page.html
diff --git a/content/relay-operations/community-resources/tor-exit-guidelines/contents.lr b/content/relay-operations/community-resources/tor-exit-guidelines/contents.lr
new file mode 100644
index 0000000..37e98d1
--- /dev/null
+++ b/content/relay-operations/community-resources/tor-exit-guidelines/contents.lr
@@ -0,0 +1,117 @@
+_model: page
+---
+title: Tor Exit Guidelines
+---
+body:
+
+These guidelines are meant to give you a quick introduction into the business of running your own exit relay.
+
+NOTE: This FAQ is for informational purposes only and does not constitute legal advice. Our aim is to provide a general description of the legal issues surrounding Tor exit relaying. Different factual situations and different legal jurisdictions will result in different answers to a number of questions. Therefore, please do not act on this information alone; if you have any specific legal problems, issues, or questions, seek a complete review of your situation with a lawyer licensed to practice in your jurisdiction.
+
+## Hosting
+
+### Tor at Universities: Find allies.
+
+Find some professors (or deans!) who like the idea of supporting and/or researching anonymity on the Internet. If possible, use an extra IP range whose abuse contact doesn't go through the main university abuse team. Ideally, use addresses that are not trusted by the IP-based authentication many library-related services use -- if the university's entire IP address space is "trusted" to access these library resources, the university is forced to maintain an iron grip on all its addresses. Also read [How do I make my University / ISP / etc happy with my exit node?](FIXME)
+
+### Find Tor-friendly ISPs.
+
+A good ISP is one that offers cheap bandwidth and is not being used by other members of the Tor community. Before you continue, you may ask the Tor community if your choice is a good one. We very much need diversity, and it does not help if we pool too many exits at one friendly ISP.
+
+In any case, add the ISP to the [GoodBadISPs](FIXME) wiki page.
+
+To find an ISP, go through forums and sites where ISPs posts their latest deals, and contact them about Tor hosting. Once you identified your ISP, you can follow the two-step advice of TorServers.net.
+
+1. Ask if the ISP is okay with a Tor exit
+
+2. If they come back positively, ask them if they are OK with an IP range reassignment. If not, you can still explain that you are a non-profit superb large organization filled with security professionals, and that all will be good, and why IP reassignment helps reduce their workload.
+
+The two-step process usually helps in elevating your request to higher levels of support staff without scaring them off too early, even if you don't end up with your own IP range. Here is template you can use: [Inquiry](https://www.torservers.net/wiki/hoster/inquiry)
+
+
+## Legal
+
+* Make sure you know the relevant legal paragraphs for common-carrier like communication services in your country (and the country of your hosting provider!).
+
+At least most western countries should have regulations that exclude communication service providers from liability. Please add your country's regulations to this list.
+
+* USA: [DMCA 512](https://www.law.cornell.edu/uscode/text/17/512); see [EFF's Legal FAQ for Tor Operators](https://2019.www.torproject.org/eff/tor-legal-faq) (a very good and relevant read for other countries as well)
+ * Germany: [TMG 8](http://www.gesetze-im-internet.de/tmg/__8.html) and [15](http://www.gesetze-im-internet.de/tmg/__15.html).
+ * Netherlands: [Artikel 6:196c BW](http://wetten.overheid.nl/BWBR0005289/Boek6/Titel3/Afdeling4A/Artikel196c/)
+ * Austria: [ECG 13](http://www.ris.bka.gv.at/Dokument.wxe?Abfrage=Bundesnormen&Dokumentnummer=NOR40025809)
+* France: FIXME
+ * Sweden: [16-19 2002:562](https://lagen.nu/2002:562#P16S1)
+
+If you country is missing here and you know a lawyer who can provide a legal opinion, please get in contact with Tor Project.
+
+* If you're part of an organization that will be running the exit relay (ISP, university etc), consider teaching your legal people about Tor.
+
+It's way better for them to hear about Tor from you, in a relaxed environment, than to hear about it from a stranger over the phone. Make them aware of [EFF's Legal FAQ for Tor Operators](https://2019.www.torproject.org/eff/tor-legal-faq). EFF has also offered to talk to other lawyers to explain the legal aspects of Tor; contact us at support(a)torservers.net and we'll make the connections for you.
+
+* If you're not part of an organization, think about starting one!
+
+Depending on the chosen form, setting up a legal body might help with liability, and in general it helps to appear bigger than you are (and less likely to get raided). The guys from Torservers.net in Germany found a lawyer who would agree to "host" them inside his office. They are now are a non-profit association ("eingetragener Verein, gemeinnutzig") registered inside a lawyer's office. The setup process was easy and cheap. Similar setups probably exist for your country. Another benefit of an association-like structure is that it might still work even when you leave, if you manage to find successors.
+
+* Consider preemptively teaching your local law enforcement about Tor.
+
+"Cybercrime" people actually love it when you offer to [teach them about Tor and the Internet](https://blog.torproject.org/blog/talking-german-police-stuttgart) -- they're typically overwhelmed by their jobs and don't have enough background to know where to start. Contacting them gives you a chance to teach them why Tor is useful to the world (and why it's [not particularly helpful to criminals](https://2019.www.torproject.org/docs/faq-abuse#WhatAboutCriminal…. Also, if they do get a report about your relay, they'll think of you as a helpful expert rather than a potential criminal.
+
+## Handling abuse complaints
+
+### Answering complaints
+
+If you receive an abuse complaint, don't freak out! Here is some advice for you:
+
+* Answer to abuse complaints in a professional manner within a reasonable time span.
+
+TorServers.net is a fairly large Tor exit operator and we receive only a very small number of complaints, especially compared to the amount of traffic we push. Roughly 80% are automated reports, and the rest is usually satisfied with [our default reply](https://www.torservers.net/wiki/abuse/templates). We have not needed the input of a lawyer in many years of operation following the advice on this page.
+
+In addition to the [templates at Torservers.net](https://www.torservers.net/wiki/abuse/templates), you can find many more templates for various scenarios on the [Tor Abuse Templates](FIXME) . It is exceptionally rare to encounter a scenario where none of these templates apply.
+
+* If you receive a threatening letter from a lawyer about abusive use or a DMCA complaint, also don't freak out.
+
+We are not aware of any case that made it near a court, and we will do everything in our power to support you if it does. You can look up if an IP address was listed as an exit relay at a given time at [ExoneraTor](https://exonerator.torproject.org/). Point to that page in your reply to the complaint. If you feel it might be helpful, we can write you a signed letter confirming this information: Contact us at tor-assistants(a)torproject.org if you need one.
+
+In your reply, state clearly that you are not liable for forwarded content passing through your machine, and include the relevant legal references for your country.
+
+## Things you can do preemptively
+
+* Make the WHOIS info point as close to you as possible.
+
+One of the biggest reasons exit relays disappear is because the people answering the abuse address get nervous and ask you to stop. If you can get your own IP block, great. Even if not, many providers will still reassign subblocks to you if you ask. ARIN uses [SWIP](https://www.arin.net/resources/request/reassignments.html), and RIPE uses something similar. You can also add comments to your range, hinting at your usage as anonymization service ([Example](https://apps.db.ripe.net/search/query.html?searchtext=ZWIEBELFREUN…) If you have questions about the process, please write an email to support(a)torservers.net and we will try to explain the process to you.
+
+* Register a phone number and a fax number as abuse contact.
+
+At least law enforcement in Germany regularly uses the fax and phone numbers present in IP records. Torservers.net uses a free German fax-to-email service, call-manager.de, and a VoIP number from Sipgate.de.
+
+* Consider using the Reduced Exit Policy.
+
+The [Reduced Exit Policy](FIXME) is an alternative to the default exit policy. It allows many Internet services while still blocking the majority of TCP ports. This drastically reduces the odds that a Bittorrent user will select your node and thus reduces or even eliminates the number of [DMCA complaints](https://2019.www.torproject.org/eff/tor-dmca-response) you will receive.
+
+If you have your own experience of abuse handling, just share it on our public mailing list or write us an email to tor-assistants(a)torproject.org.
+
+## Technical
+
+Please read all the technical details before getting started. If you have any questions or need help, please contact us at [tor-relays](https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relay….
+
+* [TorRelayGuide](https://community.torproject.org/relay)
+
+* Set up an informative website on the exit IP(s) on port 80.
+
+A disclaimer helps giving people the right idea about what is behind traffic coming from these IPs. A simple notice can be published without a separate webserver using Tor's "DirPortFrontPage " directive.
+
+* Try to use dedicated IPs, and when possible dedicated hardware.
+
+* Disk encryption might be useful to protect your node keys, but on the other hand unencrypted machines are easier to "audit" if required. We feel it's best to be able to easily show that you do Tor exiting, and nothing else (on that IP or server).
+
+* Set reverse DNS to something that signals its use, e.g. 'anonymous-relay', 'proxy', 'tor-proxy'. so when other people see the address in their web logs, they will more quickly understand what's going on. If you do, and if SMTP is allowed in your exit policy, consider configuring [SPF](https://en.wikipedia.org/wiki/Sender_Policy_Framework) on your domain: this will protect you from users using your exit node to forge e-mails which look like they come from you.
+---
+html: two-columns-page.html
+---
+key: 5
+---
+section: Community Resources
+---
+section_id: community-resources
+---
+subtitle: Quick introduction into running your Exit relay
diff --git a/content/relay-operations/community-resources/tor-relay-universities/contents.lr b/content/relay-operations/community-resources/tor-relay-universities/contents.lr
new file mode 100644
index 0000000..0fb65a2
--- /dev/null
+++ b/content/relay-operations/community-resources/tor-relay-universities/contents.lr
@@ -0,0 +1,49 @@
+_model: page
+---
+title: Tor Relay Universities
+---
+body:
+
+To keep your exit node running long-term, you're going to need the support of the people around you. In this sense, Tor provides a lever to help you change your organization's policies. If the administration considers an Internet community that helps other people to be a foreign concept, or if they're used to treating new situations as security risks and telling everybody to quit it, a Tor relay may give you a way to focus the discussion and find allies who want to help change policy. In short, running a Tor exit node may well require you to become an advocate for anonymity and privacy in the world.
+
+The best strategy depends on your situation, but here are some tips to get you started. (We focus on the university scenario, but hopefully you can adapt it to your own situation.)
+
+ * First, learn about your university's AUP -- acceptable use policy. Most likely it is ambiguously worded, to let them allow or deny things based on the situation. But it might be extremely restrictive ("no services of any kind"), in which case you're going to have a tough road ahead of you.
+
+ * Second, learn about your local laws with respect to liability of traffic that exits from your Tor relay. In the US, these appear to be mainly the [DMCA](https://2019.www.torproject.org/eff/tor-legal-faq.html#DMCA) and [CDA](https://2019.www.torproject.org/eff/tor-legal-faq.html#Lawsuits), and the good news is that many lawyers believe that Tor exit node operators are in the same boat as the ISPs themselves. Become familiar with
+[the EFF's template letter regarding DMCA notices for Tor](https://2019.www.torproject.org/eff/tor-dmca-response.html), which is quite clear about not putting liability on service providers. The CDA is less clear, because it was written before the modern Internet emerged, but EFF and ACLU are optimistic. Of course, you need to understand that without actual clear precedent (and even then), it's still possible that a given judge will not interpret things the way the lawyers expect. In any case, the key here is to become familiar with the laws and their implications and uncertainties.
+
+ * Third, learn about Tor's design. Read the [design overview](https://2019.www.torproject.org/overview.html), the [design paper](https://www.torproject.org/svn/trunk/doc/design-paper/tor-design.htm…, and the FAQ. Hang out on IRC (irc.oftc.net - #tor-relays) for a while and learn more. If possible, attend a talk by one of the Tor developers. Learn about the types of people and organizations who need secure communications on the Internet. Practice explaining Tor and its benefits and consequences to friends and neighbors -- the [abuse FAQ](https://2019.www.torproject.org/faq-abuse) may provide some helpful starting points.
+
+ * Fourth, learn a bit about authentication on the Internet. Many library-related services use source IP address to decide whether a subscriber is allowed to see their content. If the university's entire IP address space is "trusted" to access these library resources, the university is forced to maintain an iron grip on all its addresses. Universities like Harvard do the smart thing: their students and faculty have actual methods to authenticate -- say, certificates, or usernames and passwords -- to a central Harvard server and access the library resources from there. So Harvard doesn't need to be as worried about what other services are running on their network, and it also takes care of off-campus students and faculty. On the other hand, universities like Berkeley simply add a "no proxies" line to their network policies, and are stuck in a battle to patrol every address on their network. We should encourage all these networks to move to an end-to-end authentication model rather th
an conflating network location with who's on the other end.
+
+ * Fifth, start finding allies. Find some professors (or deans!) who like the idea of supporting and/or researching anonymity on the Internet. If your school has a botnet research group or studies Internet attacks (like at Georgia Tech and UCSD), meet them and learn more about all the scary things already out there on the Internet. If you have a law school nearby, meet the professors that teach the Internet law classes, and chat with them about Tor and its implications. Ask for advice from everybody you meet who likes the idea, and try to work your way up the chain to get as many good allies as you can in as many areas as you can.
+
+ * Sixth, teach your university's lawyers about Tor. This may seem like a risky move, but it's way better for them to hear about Tor from you, in a relaxed environment, than to hear about it from a stranger over the phone. Remember that lawyers don't like being told how to interpret laws by a non-lawyer, but they are often pleased to hear that other lawyers have done a lot of the research and leg-work (this is where [the EFF's legal FAQ](https://2019.www.torproject.org/eff/tor-legal-faq) comes in, along with your law school contacts if you found any). Make sure to keep these discussions informal and small -- invite one of the general counsel out to coffee to discuss "something neat that may come up later on." Feel free to bring along one of the allies you found above, if it makes you more comfortable. Avoid having actual meetings or long email discussions, and make it clear that you don't need their official legal opinion yet. Remember that lawyers are paid to say no unless they hav
e a reason to say yes, so when the time finally comes to ask their opinion on running a Tor exit node, make sure the question is not "are there any liability issues?", but rather "we'd like to do this, can you help us avoid the biggest issues?" Try to predict what they will say, and try to gain allies among the lawyers who like your cause and want to help. If they have concerns, or raise questions that you don't know how to answer, work with them to figure out the answers and make them happy. Becoming friends with the lawyers early in the process will avoid situations where they need to learn about everything and make a decision in one day.
+
+ * Seventh, teach your network security people about Tor. You aren't going to keep your Tor exit node a secret from them for long anyway, and like with the lawyers, hearing it from you is way better than hearing it from a stranger on the phone. Avoid putting them on the spot or formally asking permission: most network security people will like the idea of Tor in theory, but they won't be in a position to "authorize" your Tor relay. Take them out to coffee to explain Tor and let them know that you are planning to run a Tor server. Make it clear that you're willing to work with them to make sure it isn't too much hassle on their part; for example, they can pass complaints directly on to you if they like. These people are already overworked, and anything you can do to keep work off their plate will make everybody happier. You might let them know that there are ways you can dial down the potential for abuse complaints, for example by rate limiting or partially restricting your exit poli
cy -- but don't be too eager to offer or take these steps, since once you give up ground here it's very hard to get it back.
+
+You'll also want to learn if there are bandwidth limitations at your organization. (Tor can handle a variety of rate limiting approaches, so this isn't the end of the world).
+
+In some cases, you should talk to the network security people before you talk to the lawyers; in some cases, there will be yet other groups that will be critical to educate and bring into the discussion. You'll have to make it up as you go.
+
+If the authorities contact your university for logs, be pleasant and helpful. Tor's default log level doesn't provide much that's useful, so if they want copies of your logs, that's fine. Be helpful and take the opportunity to explain to them about Tor and why it's useful to the world. (If they contact you directly for logs, you should send them to
+your university's lawyers -- acting on it yourself is [almost always a poor idea](https://2019.www.torproject.org/eff/tor-legal-faq.html#RequestForLogs).
+
+If there are too many complaints coming in, there are several approaches you can take to reduce them. First, you should follow the tips in the [Tor relay documentation](https://community.torproject.org/relay), such
+as picking a descriptive hostname or getting your own IP address. If that doesn't work, you can scale back the advertised speed of your relay, by using the Max``Advertised``Bandwidth to attract less traffic from the Tor network. Lastly, you can scale back your exit policy.
+
+Some people have found that their university only tolerates their Tor relay if they're involved in a research project around anonymity. So if you're interested, you might want to get that started early in the process -- see our [Research Portal](https://research.torproject.org/). This approach has the added benefit that you can draw in other faculty and students in the process. The downside is that your Tor relay's existence is more fragile, since the terms of its demise are already negotiated. Note that in many cases you don't even need to be researching the exit node itself -- doing research on the Tor network requires that there be a Tor network, after all, and keeping it going is a community effort.
+
+---
+cta: Subscribe to Tor at universities, colleges, and other education institutions: https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays-universiti…
+---
+html: two-columns-page.html
+---
+key: 2
+---
+section: Community Resources
+---
+section_id: community-resources
+---
+subtitle: How do I make my University / ISP / etc happy with my exit node?
1
0

05 Jul '19
commit cc258e468f192b730e24446d77ebe3e7f38cc734
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 18:35:29 2019 -0400
Reorganize Relay Operations sections
---
.../relay-operations/technical-setup/contents.lr | 444 +--------------------
1 file changed, 9 insertions(+), 435 deletions(-)
diff --git a/content/relay-operations/technical-setup/contents.lr b/content/relay-operations/technical-setup/contents.lr
index 65d44fc..07925c7 100644
--- a/content/relay-operations/technical-setup/contents.lr
+++ b/content/relay-operations/technical-setup/contents.lr
@@ -4,106 +4,28 @@ section_id: relay-operations
---
color: primary
---
-key: 3
+key: 4
---
_template: layout.html
---
title: Technical setup
---
-subtitle: Installing and configuring your Tor relay.
+subtitle: Installing and configuring your Tor relay: Bridge, Guard / Middle node, Exit.
---
html: two-columns-page.html
---
body:
-# Considerations when choosing a hosting provider
-
-If you have access to a high speed internet connection (>=100 Mbit/s in both directions) and a physical piece of computer hardware, this is the best way to run a relay.
-Having full control over the hardware and connection gives you a more controllable and (if done correctly) secure environment.
-You can host your own physical hardware at home (do NOT run a Tor exit relay from your home) or in a data center.
-Sometimes this is referred to as installing the relay on "bare metal".
-
-If you do not own physical hardware, you could run a relay on a rented dedicated server or virtual private server (VPS).
-This can cost anywhere between $3.00/month and thousands per month, depending on your provider, hardware configuration, and bandwidth usage.
-Many VPS providers will not allow you to run exit relays.
-You must follow the VPS provider's terms of service, or risk having your account disabled.
-For more information on hosting providers and their policies on allowing Tor relays, please see this list maintained by the Tor community: [GoodBadISPs](FIXME).
-
-## Questions to consider when choosing a hoster
-
-* How much monthly traffic is included? (Is bandwidth "unmetered"?)
-* Does the hoster provide IPv6 connectivity? (it is recommended, but not required)
-* What virtualization / hypervisor (if any) does the provider use? (anything but OpenVZ should be fine)
-* Does the hoster start to throttle bandwidth after a certain amount of traffic?
-* How well connected is the autonomous system of the hoster? To answer this question you can use the AS rank of the autonomous systems if you want to
-compare: http://as-rank.caida.org/ (a lower value is better)
-
-## If you plan to run Exit Relays
-
-* Does the hoster allow Tor exit relays? (explicitly ask them before starting an exit relay there)
-* Does the hoster allow custom WHOIS records for your IP addresses? This helps reduce the amount of abuse sent to the hoster instead of you.
-* Does the hoster allow you to set a custom DNS reverse entry? (DNS PTR record)
- This are probably things you will need to ask the hoster in a Pre-Sales ticket
-
-# AS/location diversity
-
-When selecting your hosting provider, consider network diversity on an autonomous system (AS) and country level.
-A more diverse network is more resilient to attacks and outages.
-Sometimes it is not clear which AS you are buying from in case of resellers.
-To be sure it is best to ask the hoster about the AS number before ordering a server.
-
-It is best to avoid hosters where many Tor relays are already hosted, but it is still better to add one there than to run no relay at all.
- **Try to avoid** the following hosters:
-
-* OVH SAS (AS16276)
-* Online S.a.s. (AS12876)
-* Hetzner Online GmbH (AS24940)
-* DigitalOcean, LLC (AS14061)
-
-To find out which hoster and countries are already used by many other operators (that should be avoided) you can use Relay Search:
-
-* [Autonomous System Level Overview](https://metrics.torproject.org/rs.html#aggregate/as)
-* [Country Level Overview](https://metrics.torproject.org/rs.html#aggregate/cc)
-
-# Choosing an Operating System
-
-We recommend you use the operating system you are most familiar with.
-Please keep in mind that since most relays run on Debian and we want to avoid a monoculture, BSD and other non-Linux based relays are greatly needed.
-
-The following table shows the current OS distribution on the Tor network to give you an idea of how much more non-Linux relays we should have:
-
-* https://nusenu.github.io/OrNetStats/#os-distribution-relays
-
-# OS Level Configuration
-
-OS configuration is outside the scope of this guide but the following points are crucial for a Tor relay, so we want to mention them here nonetheless.
-
-## Time Synchronization (NTP)
-
-Correct time settings are essential for Tor relays. It is recommended that you use the network time protocol (NTP) for time synchronization and ensure your timezone is set correctly.
-
-## Automatic Software Updates
-
-One of the most imported things to keeps your relay secure is to install security updates timely and ideally automatically so you can not forget about it.
-We collected the steps to enable automatic software updates for different operating systems:
-
-* [RPM-based distributions](FIXME) (RHEL, CentOS, Fedora, openSUSE)
-* [Debian/Ubuntu](FIXME)
-* [FreeBSD/HardenedBSD](FIXME)
-
-# Tor Relay Setup: Installation and Configuration
-
This section covers the installation and configuration of the program required to run a Tor relay for various operating systems.
+
These steps are intended for the latest stable version of the given OS, on Ubuntu for the latest LTS release.
Note: For some operating systems, there are alpha version packages available (tor versions with new features not deemed to be stable yet).
+
These are only recommended for people eager to test and report bugs in bleeding edge releases/features.
If you are looking to run a relay with minimal effort we recommend you stick to stable releases.
-In this guide we describe how to setup a new non-exit relay.
-By reading further you can easily switch to become an exit relay.
-
-**Questions you should clarify before configuring Tor:**
+# Questions you should clarify before configuring Tor
* Do you want to run a Tor exit or non-exit (guard/middle) relay?
* If you want to run an exit relay: Which ports do you want to allow in your exit policy? (more ports usually means potentially more abuse complains)
@@ -116,362 +38,14 @@ By reading further you can easily switch to become an exit relay.
The installation commands are shown in code blocks and must be executed with root privileges.
-## Make sure relay ports can be reached
-
-If you are using a firewall, open a hole in your firewall so incoming connections can reach the ports you will use for your relay (ORPort, plus DirPort if you enabled it).
-Also, make sure you allow all outgoing connections too, so your relay can reach the other Tor relays, clients and destinations.
-You can find the specific ORPort TCP port number in the torrc configuration samples bellow (in the OS specific sections).
-
## Configuration Management
-Tor does not scale well on multi-core machines.
-If you run a Tor relay on a server with a fast Internet uplink (>200 Mbit/s) you might want to consider running multiple Tor instances on a single server with multiple cores.
-Note: You can only run two tor instances per public IPv4 address.
-
If you plan to run more than a single relay, or you want to run a high capacity relay (multiple Tor instances per server) or want to use strong security features like [Offline Master Keys](https://trac.torproject.org/projects/tor/wiki/doc/TorRelaySecurity/Of… without performing additional steps manually, you may want to use a configuration management for better maintainability.
There are multiple configuration management solutions for Unix based operating systems (Ansible, Puppet, Salt, ...).
-The following Ansible Role has specifically been build for Tor relay operators and supports multiple operating systems:
-
-http://github.com/nusenu/ansible-relayor
-
-## Platform specific Instructions
-
-Please choose your platform:
-
-* Debian/Ubuntu
-* CentOS/RHEL
-* Fedora
-* FreeBSD
-* openSUSE
-
-## Verify that your relay works
-
-If your logfile (syslog) contains the following entry after starting your tor daemon your relay should be up and running as expected:
-
-```
-Self-testing indicates your ORPort is reachable from the outside. Excellent.
-Publishing server descriptor.
-```
-
-About 3 hours after you started your relay it should appear on [Relay Search](https://metrics.torproject.org/rs.html).
-You can search for your relay using your nickname or IP address.
-
-# Getting Help
-
-If you run into problems while setting up your relay you can ask your questions on the public tor-relays mailing list:
-
-* https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-relays
-
-This is a great resource for asking (and answering) questions, and generally getting to know other relay operators.
-Make sure to check out the archives!
-
-# Limiting bandwidth usage (and traffic)
-
-Tor will not limit its bandwidth usage by default, but supports multiple ways to restrict the used bandwidth and the amount of traffic.
-This can be handy if you want to ensure that your Tor relay does not exceed a certain amount of bandwidth or total traffic per day/week/month.
-The following torrc configuration options can be used to restrict bandwidth and traffic:
-
-* AccountingMax
-* AccountingRule
-* AccountingStart
-* BandwidthRate
-* BandwidthBurst
-* RelayBandwidthRate
-
-Having a fast relay for some time of the month is preferred over a slow relay for the entire month.
-
-Also see the bandwidth entry in the FAQ: https://www.torproject.org/docs/faq.html.en#BandwidthShaping
-
-# IPv6
-
-We encourage everyone to enable IPv6 on their relays. This is especially valuable on exit and guard relays.
-
-Before enabling your tor daemon to use IPv6 in addition to IPv4 you should do some basic IPv6 connectivity tests.
-
-The following command line will ping the IPv6 addresses of Tor directory authorities from your server:
-
-```
-ping6 -c2 2001:858:2:2:aabb:0:563b:1526 && ping6 -c2 2620:13:4000:6000::1000:118 && ping6 -c2 2001:67c:289c::9 && ping6 -c2 2001:678:558:1000::244 && ping6 -c2 2607:8500:154::3 && ping6 -c2 2001:638:a000:4140::ffff:189 && echo OK.
-```
-
-At the end of the output you should see "OK." if that is not the case do not enable IPv6 in your torrc configuration file before IPv6 is indeed working.
-If you enable IPv6 without working IPv6 connectivity your entire relay will not be used, regardless if IPv4 is working.
-
-If it worked fine, make your Tor relay reachable via IPv6 by adding an additional ORPort line to your configuration (example for ORPort 9001):
-
-```
-ORPort [IPv6-address]:9001
-```
-
-The location of that line in the configuration file does not matter you can simply add it next to the first ORPort lins in your torrc file.
-
-Note: You have to explicitly specify your IPv6 address in square brackets, you can not tell tor to bind to any IPv6 (like you do for IPv4).
-If you have a global IPv6 address you should be able to find it in the output of the following command:
-
-```
-ip addr|grep inet6|grep global
-```
-
-If you are an exit relay with IPv6 connectivity, tell your tor daemon to allow exiting via IPv6 so clients can reach IPv6 destinations:
-
-```
-IPv6Exit 1
-```
-
-Note: Tor requires IPv4 connectivity, you can not run a Tor relay on IPv6-only.
-
-# Important if you run more than one Tor instance
-
-To avoid putting Tor clients at risk when operating multiple relays you must set a proper [MyFamily](https://2019.www.torproject.org/docs/tor-manual.html.en#MyFamily) value and have a valid [ContactInfo](https://2019.www.torproject.org/docs/tor-manual.html.en#Contac… in your torrc configuration.
-The MyFamily setting is simply telling Tor clients what Tor relays are controlled by a single entity/operator/organization, so they are not used in multiple positions in a single circuit.
-
-If you run two relays and they have fingerprints AAAAAAAAAA and BBBBBBBB, you would add the following configuration to set MyFamily:
-
-```
-MyFamily AAAAAAAAAA,BBBBBBBB
-```
-
-to both relays. To find your relays fingerprint you can look into the log files when tor starts up or find the file named "fingerprint" in your tor DataDirectory.
-
-Instead of doing so manually for big operators we recommend to automate the MyFamily setting via a configuration management solution.
-Manually managing MyFamily for big relaygroups is error prone and can put Tor clients at risk.
-
-# Exit Relay Configuration
-
-It is recommended that you setup exit relays on servers dedicated to this purpose. It is not recommended to install Tor exit relays on servers that you need for other services as well.
-Do not mix your own traffic with your exit relay traffic.
-
-## Reverse DNS and WHOIS record
-
-Before switching your relay to become an exit relay, ensure that you have set a clear DNS reverse (PTR) record to make it clear for everyone that this is a tor exit relay.
-Something like "tor-exit" it its name is a good start.
-
-If your provider offers it, make sure your WHOIS record contains clear indications that this is a Tor exit relay.
-
-## Exit Notice HTML page
+The following Ansible Role has specifically been build for Tor relay operators and supports multiple operating systems: [Ansible Relayor](http://github.com/nusenu/ansible-relayor).
-To make it even more obvious that this is a Tor exit relay you should serve a Tor exit notice HTML page.
-Tor can do that for you if your DirPort is on TCP port 80, you can make use of tor's DirPortFrontPage feature to display a HTML file on that port.
-This file will be shown to anyone directing his browser to your Tor exit relay IP address.
-
-```
-DirPort 80
-DirPortFrontPage /path/to/html/file
-```
-
-We offer a sample Tor exit notice HTML file, but you might want to adjust it to your needs:
-https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools/tor-exit-notice.html
-
-Here are some more tips for running a reliable exit relay:
-https://blog.torproject.org/tips-running-exit-node
-
-## Exit Policy
-
-Defining the [exit policy](https://www.torproject.org/docs/tor-manual.html.en#ExitPolicy) is one of the most important parts of an exit relay configuration.
-The exit policy defines which destination ports you are willing to forward.
-This has an impact on the amount of abuse emails you will get (less ports means less abuse emails, but an exit relay allowing only few ports is also less useful).
-If you want to be a useful exit relay you must **at least allow destination ports 80 and 443**.
-
-As a new exit relay - especially if you are new to your hoster - it is good to start with a reduced exit policy (to reduce the amount of abuse emails) and further open it up as you become more experienced.
-The reduced exit policy can be found on the [ReducedExitPolicy](https://trac.torproject.org/projects/tor/wiki/doc/Reduce… wiki page.
-
-To become an exit relay change ExitRelay from 0 to 1 in your torrc configuration file and restart the tor daemon.
-
-```
-ExitRelay 1
-```
-
-## DNS on Exit Relays
-
-Unlike other types of relays, exit relays also do DNS resolution for Tor clients.
-DNS resolution on exit relays is crucial for Tor clients, it should be reliable and fast by using caching.
-
-* DNS resolution can have a significant impact on the performance and reliability your exit relay provides. Poor DNS performance will result in less traffic going through your exit relay.
-* Don't use any of the big DNS resolvers as your primary or fallback DNS resolver to avoid centralization (Google, OpenDNS, Quad9, Cloudflare, 4.2.2.1-6)
-* We recommend running a local caching and DNSSEC-validating resolver without using any forwarders (specific instructions follow bellow for each operating systems)
-* if you want to add a second DNS resolver as a fallback to your /etc/resolv.conf configuration, try to choose a resolver within your autonomous system and make sure it is not your first entry in that file (the first entry should be your local resolver)
-* if a local resolver like unbound is not an option for you try to use a resolver that your provider runs in the same autonomous system (to find out if an IP address is in the same AS as your relay, you can look it up, using for example https://bgp.he.net)
-* try to avoid adding too many resolvers to your /etc/resolv.conf file to limit exposure on an AS-level (try to not use more than two entries)
-
-There are multiple options for DNS server software, unbound has become a popular one but **feel free to use any other you are comfortable with**.
-When choosing your DNS resolver software try to ensure it supports DNSSEC validation and QNAME minimisation (RFC7816).
-In every case the software should be installed using the OS package manager to ensure it is updated with the rest of the system.
-
-By using your own DNS resolver you are less vulnerable to DNS-based censorship that your upstream resolver might impose.
-
-Here follow specific instructions on how to install and configure unbound on your exit - a DNSSEC-validating and caching resolver. unbound has many configuration and tuning nobs but we try to keep these instructions as simple and short as possible and the basic setup will do just fine for most operators.
-
-After switching to unbound verify it works as expected by resolving a valid hostname, if it does not work, you can restore the old resolv.conf file.
-
-### Debian/Ubuntu
-
-The following 3 commands install unbound, backup your DNS configuration and tell the system to use the local unbound:
-
-```
-apt install unbound
-cp /etc/resolv.conf /etc/resolv.conf.backup
-echo nameserver 127.0.0.1 > /etc/resolv.conf
-```
-
-To avoid that the configuration gets changed (for example by the DHCP client):
-
-```
-chattr +i /etc/resolv.conf
-```
-
-The Debian configuration ships with QNAME minimisation (RFC7816) enabled by default so you don't need to enable it explicitly.
-The unbound resolver you just installed does also DNSSEC validation.
-
-### CentOS/RHEL
-
-Install the unbound package:
-
-```
-yum install unbound
-```
-
-in /etc/unbound/unbound.conf replace the line
-
-```
-# qname-minimisation: no
-```
-
-with:
-
-```
-qname-minimisation: yes
-```
-
-enable and start unbound:
-
-```
-systemctl enable unbound
-systemctl start unbound
-```
-
-Tell the system to use the local unbound server:
-
-```
-cp /etc/resolv.conf /etc/resolv.conf.backup
-echo nameserver 127.0.0.1 > /etc/resolv.conf
-```
-
-To avoid that the configuration gets changed (for example by the DHCP client):
-
-```
-chattr +i /etc/resolv.conf
-```
-
-### FreeBSD
-
-FreeBSD ships unbound in the base system but the one in ports is usually following upstream more closely so we install the unbound package:
-
-```
-pkg install unbound
-```
-
-Replace the content in /usr/local/etc/unbound/unbound.conf with the following lines:
-
-```
-server:
- verbosity: 1
- qname-minimisation: yes
-```
-
-enable and start the unbound service:
-
-```
-sysrc unbound_enable=YES
-service unbound start
-```
-
-Tell the system to use the local unbound server:
-
-```
-cp /etc/resolv.conf /etc/resolv.conf.backup
-echo nameserver 127.0.0.1 > /etc/resolv.conf
-```
-
-To avoid that the configuration gets changed (for example by the DHCP client):
-
-```
-chflags schg /etc/resolv.conf
-```
-
-# Tor relay lifecycle
-
-It takes some time for relay traffic to ramp up, this is especially true for guard relays but to a lesser extend also for exit relays.
-To understand this process, read about the lifecycle of a new relay:
-https://blog.torproject.org/lifecycle-new-relay
-
-# Maintaining a relay
-
-## Backup Tor Identity Keys
-
-After your initial installation and start of the tor daemon it is a good idea to make a backup of your relay's long term identity keys.
-They are located in the "keys" subfolder of your DataDirectory (simply make a copy of the entire folder and store it in a secure location).
-Since relays have a ramp-up time it makes sense to backup the identity key to be able to restore your relay's reputation after a disk failure - otherwise you would have to go through the ramp-up phase again.
-
-Default locations of the keys folder:
-
-* Debian/Ubuntu: `/var/lib/tor/keys`
-* FreeBSD: `/var/db/tor/keys`
-
-## Subscribe to the tor-announce mailing list
-
-This is a very low traffic mailing list and you will get information about new stable tor releases and important security update information.
-
-* https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-announce
-
-## Setting up outage notifications
-
-Once you setup your relay it will likely run without much work from your side.
-If something goes wrong it is good to get notified automatically.
-We recommend you use one of the free services that allow you to check your relay's ORPorts for reachability and send you an email should they become unreachable for what ever reason.
-
-UptimeRobot is one of these services that allow you to monitor TCP listeners on arbitrary ports.
-This service can check your configured ports once every 5 minutes and send you an email should your tor process die or become unreachable.
-This checks only for the listener but does not speak the Tor protocol.
-
-* https://uptimerobot.com/
-
-A good way to monitor a relay for its health state is to have a look at its bandwidth graphs.
-
-## System Health Monitoring
-
-To ensure your relay is healthy and not overwhelmed it makes sense to have some basic system monitoring in place to keep an eye on the following metrics:
-
-* Bandwidth
-* Established TCP Connections
-* Memory
-* Swap
-* CPU
-
-There are many tools for monitoring this kind of data, munin is one of them and is relatively easy to setup.
-
-Note: **Do not make your private monitoring data graphs public since this could help attackers with deanonymizing Tor users.**
-
-Some practical advice:
-
-* If you want to publish traffic statistics, you should aggregate all your relays' traffic over at least a week, then round that to the nearest 10 TiB (terabytes).
-* Reporting individual relays is worse than reporting totals for groups of relays. In future, tor will securely aggregate bandwidth statistics, so any individual relay bandwidth reporting will be less secure than tor's statistics.
-* Smaller periods are worse.
-* Numbers are worse than graphs.
-* Real-time data is worse than historical data.
-* Data in categories (IP version, in/out, etc.) is worse than total data.
-
-## Tools
-
- This section listsm a few tools that you might find handy as a Tor relay operator.
-
-Nyx: [Nyx](https://nyx.torproject.org/) is a Tor Project tool (formerly arm) that allows you to see real time data of your relay.
-
-vnstat: vnstat is a command-line tool that shows the amount of data going through your network connection.
-You can also use it to generate PNG pictures showing traffic graphs.
-
-vnstat documentation and demo output:
-
-* https://humdi.net/vnstat/
-* https://humdi.net/vnstat/cgidemo/
+Click below in which type of relay do you want to host.
+---
+_slug: {{setup}}
1
0

05 Jul '19
commit 9b2aebc2b7e2ca0e48eedc1eb4570f70df693f62
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 11:18:19 2019 -0400
Move technical considerations to a new section
---
.../technical-considerations/contents.lr | 93 ++++++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/content/relay-operations/technical-considerations/contents.lr b/content/relay-operations/technical-considerations/contents.lr
new file mode 100644
index 0000000..b9038b9
--- /dev/null
+++ b/content/relay-operations/technical-considerations/contents.lr
@@ -0,0 +1,93 @@
+_model: page
+---
+title: Technical considerations
+---
+_template: layout.html
+---
+body:
+
+# Considerations when choosing a hosting provider
+
+If you have access to a high speed internet connection (>=100 Mbit/s in both directions) and a physical piece of computer hardware, this is the best way to run a relay.
+Having full control over the hardware and connection gives you a more controllable and (if done correctly) secure environment.
+You can host your own physical hardware at home (do NOT run a Tor exit relay from your home) or in a data center.
+Sometimes this is referred to as installing the relay on "bare metal".
+
+If you do not own physical hardware, you could run a relay on a rented dedicated server or virtual private server (VPS).
+This can cost anywhere between $3.00/month and thousands per month, depending on your provider, hardware configuration, and bandwidth usage.
+Many VPS providers will not allow you to run exit relays.
+You must follow the VPS provider's terms of service, or risk having your account disabled.
+For more information on hosting providers and their policies on allowing Tor relays, please see this list maintained by the Tor community: [GoodBadISPs](FIXME).
+
+## Questions to consider when choosing a hoster
+
+* How much monthly traffic is included? (Is bandwidth "unmetered"?)
+* Does the hoster provide IPv6 connectivity? (it is recommended, but not required)
+* What virtualization / hypervisor (if any) does the provider use? (anything but OpenVZ should be fine)
+* Does the hoster start to throttle bandwidth after a certain amount of traffic?
+* How well connected is the autonomous system of the hoster? To answer this question you can use the AS rank of the autonomous systems if you want to compare: http://as-rank.caida.org/ (a lower value is better)
+
+## If you plan to run Exit Relays
+
+* Does the hoster allow Tor exit relays? (explicitly ask them before starting an exit relay there)
+* Does the hoster allow custom WHOIS records for your IP addresses? This helps reduce the amount of abuse sent to the hoster instead of you.
+* Does the hoster allow you to set a custom DNS reverse entry? (DNS PTR record)
+
+ This are probably things you will need to ask the hoster in a Pre-Sales ticket
+
+# AS/location diversity
+
+When selecting your hosting provider, consider network diversity on an autonomous system (AS) and country level.
+A more diverse network is more resilient to attacks and outages.
+Sometimes it is not clear which AS you are buying from in case of resellers.
+To be sure it is best to ask the hoster about the AS number before ordering a server.
+
+It is best to avoid hosters where many Tor relays are already hosted, but it is still better to add one there than to run no relay at all.
+
+ **Try to avoid** the following hosters:
+
+* OVH SAS (AS16276)
+* Online S.a.s. (AS12876)
+* Hetzner Online GmbH (AS24940)
+* DigitalOcean, LLC (AS14061)
+
+To find out which hoster and countries are already used by many other operators (that should be avoided) you can use Relay Search:
+
+* [Autonomous System Level Overview](https://metrics.torproject.org/rs.html#aggregate/as)
+* [Country Level Overview](https://metrics.torproject.org/rs.html#aggregate/cc)
+
+# Choosing an Operating System
+
+We recommend you use the operating system you are most familiar with.
+
+Please keep in mind that since most relays run on Debian and we want to avoid a monoculture, BSD and other non-Linux based relays are greatly needed.
+
+The following table shows the current OS distribution on the Tor network to give you an idea of how much more non-Linux relays we should have:
+
+* https://nusenu.github.io/OrNetStats/#os-distribution-relays
+
+# OS Level Configuration
+
+OS configuration is outside the scope of this guide but the following points are crucial for a Tor relay, so we want to mention them here nonetheless.
+
+## Time Synchronization (NTP)
+
+Correct time settings are essential for Tor relays. It is recommended that you use the network time protocol (NTP) for time synchronization and ensure your timezone is set correctly.
+
+## Automatic Software Updates
+
+One of the most imported things to keeps your relay secure is to install security updates timely and ideally automatically so you can not forget about it.
+We collected the steps to enable automatic software updates for different operating systems:
+
+* [RPM-based distributions](FIXME) (RHEL, CentOS, Fedora, openSUSE)
+* [Debian/Ubuntu](FIXME)
+* [FreeBSD/HardenedBSD](FIXME)
+
+---
+html: two-columns-page.html
+---
+section: relay operations
+---
+section_id: relay-operations
+---
+key: 2
1
0
commit 8efc156a0fa9494da51a7d4969928cbcb9db08cd
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 10:20:11 2019 -0400
add centos relay instructions
---
.../technical-setup/centosrhel/contents.lr | 45 ++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/content/relay-operations/technical-setup/centosrhel/contents.lr b/content/relay-operations/technical-setup/centosrhel/contents.lr
index af9f706..e8a9a51 100644
--- a/content/relay-operations/technical-setup/centosrhel/contents.lr
+++ b/content/relay-operations/technical-setup/centosrhel/contents.lr
@@ -11,3 +11,48 @@ key: 5
section_id: relay-operations
---
body:
+
+# 1. Enable the EPEL repository
+
+To install `tor` package on CentOS/RHEL, you need to install the [EPEL](https://fedoraproject.org/wiki/EPEL) repository first:
+
+`yum install epel-release`
+
+# 2. Install the tor package and verify the EPEL signing key
+
+`yum install tor`
+
+When you install the first package from the EPEL repository you will be asked about verifying the EPEL GPG signing key. Please ensure the key matches with the one available on the [Fedora Project website](https://getfedora.org/keys/).
+
+# 3. Put the tor configuration file `/etc/tor/torrc` in place
+
+```
+#change the nickname "myNiceRelay" to a name that you like
+Nickname myNiceRelay
+ORPort 9001
+SocksPort 0
+ExitRelay 0
+# Change the email address bellow and be aware that it will be published
+ContactInfo tor-operator@your-emailaddress-domain
+```
+
+# 4. Enable and start your Tor relay
+
+CentOS 7 / RHEL 7:
+
+```
+systemctl enable tor
+systemctl start tor
+```
+
+CentOS 6 / RHEL 6:
+
+```
+service tor enable
+service tor start
+```
+
+---
+_template: layout.html
+---
+color: primary
1
0
commit 8ff05bb00812de2c9deaa52ce71c342d927d33ff
Author: gus <gus(a)torproject.org>
Date: Thu Jul 4 09:47:46 2019 -0400
add FreeBSD relay instructions
---
.../technical-setup/freebsd/contents.lr | 66 +++++++++++++++++++++-
1 file changed, 65 insertions(+), 1 deletion(-)
diff --git a/content/relay-operations/technical-setup/freebsd/contents.lr b/content/relay-operations/technical-setup/freebsd/contents.lr
index d1afab0..c03b579 100644
--- a/content/relay-operations/technical-setup/freebsd/contents.lr
+++ b/content/relay-operations/technical-setup/freebsd/contents.lr
@@ -6,6 +6,70 @@ html: two-columns-page.html
---
section: relay operations
---
-key: 7
+key: 2
---
section_id: relay-operations
+---
+body:
+
+## 1. Install the tor package
+
+`pkg install tor ca_root_nss`
+
+or for alpha releases:
+
+`pkg install tor-devel ca_root_nss`
+
+## 2. Put the configuration file `/usr/local/etc/tor/torrc` in place
+
+```
+#change the nickname "myNiceRelay" to a name that you like
+Nickname myNiceRelay
+ORPort 9001
+ExitRelay 0
+SocksPort 0
+# Change the email address bellow and be aware that it will be published
+ContactInfo tor-operator@your-emailaddress-domain
+Log notice syslog
+```
+
+## 3. Ensure that the `random_id` sysctl setting is enabled:
+
+```
+echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
+sysctl net.inet.ip.random_id=1
+```
+
+## 4. Start the tor daemon and make sure it starts at boot:
+
+```
+sysrc tor_enable=YES
+service tor start
+```
+
+### Optional but recommended
+
+To get package updates faster after they have been build it is best to switch from the "quarterly" with "latest" repository.
+
+Create the following folder:
+
+`mkdir -p /usr/local/etc/pkg/repos`
+
+and create the file `/usr/local/etc/pkg/repos/FreeBSD.conf` with the following content:
+
+```
+FreeBSD: { enabled: no }
+
+FreeBSDlatest: {
+ url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
+ mirror_type: "srv",
+ signature_type: "fingerprints",
+ fingerprints: "/usr/share/keys/pkg",
+ enabled: yes
+}
+```
+
+---
+_template:
+---
+color: primary
1
0