Tor Browser ships with a number of default bridges. These bridges are hard-coded in the [Tor Browser](https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/common/). The following table is meant to be an authoritative list of our default bridges plus the people who operate these bridges. Whenever we add, remove, or change any of our default bridges, make sure to commit this change to the following repositories:
Tor Browser ships with a number of default bridges. These bridges are hard-coded in the [Tor Browser](https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/common/). The following table is meant to be an authoritative list of our default bridges plus the people who operate these bridges. Whenever we add, remove, or change any of our default bridges, make sure to commit this change to the following repositories:
* [OONI](https://github.com/ooni/sysadmin/blob/master/ansible/roles/probe-services/templates/tor_targets.json)(Default bridges are indexed by a value that's determined as follows: `echo -n ADDR:PORT || BRIDGE_FINGERPRINT | xxd -r -p | sha256sum`)
* [OONI](https://github.com/ooni/sysadmin/blob/master/ansible/roles/probe-services/templates/tor_targets.json)(Default bridges are indexed by a value that's determined as follows: `echo -n ADDR:PORT || BRIDGE_FINGERPRINT | xxd -r -p | sha256sum`)
The following repositories (used to) use default bridges but don't require updates:
The following repositories (used to) use default bridges but don't require updates:
* [Onion Browser](https://github.com/OnionBrowser/OnionBrowser/blob/2.X/OnionBrowser/OnionManager.swift)(Onion Browser now fetches and parses bridge_prefs.js automatically.)
* [Onion Browser](https://github.com/OnionBrowser/OnionBrowser/blob/2.X/OnionBrowser/OnionManager.swift)(Onion Browser now fetches and parses bridge_prefs.js automatically.)
*[Orbot](https://github.com/guardianproject/orbot/blob/master/orbotservice/src/main/res/raw/bridges.txt)/[Orbot fa](https://github.com/guardianproject/orbot/blob/master/orbotservice/src/main/res/raw-fa/bridges.txt)(The Guardian Project [is considering using different bridges](https://github.com/guardianproject/orbot/issues/258))
*[Orbot](https://github.com/guardianproject/orbot/blob/master/orbotservice/src/main/res/raw/bridges.txt)/[Orbot fa](https://github.com/guardianproject/orbot/blob/master/orbotservice/src/main/res/raw-fa/bridges.txt)(The Guardian Project [is considering using different bridges](https://github.com/guardianproject/orbot/issues/258))
| Type | IP:port | Fingerprint | Parameters | Contact | Origin | Status |
| Type | IP:port | Fingerprint | Parameters | Contact | Origin | Status |
The following is an informal list of requirements that we have for default bridges:
The following is an informal list of requirements that we have for default bridges:
* A reliable network link that can handle at least a sustained 100 Mbit/s of traffic.
* A reliable network link that can handle at least a sustained 100 Mbit/s of traffic.
* Any modern CPU can sustain at least 100 MBit/s. A CPU with the AES-NI extension is particularly helpful because it allows Tor to offload its AES operations to the CPU.
* Any modern CPU can sustain at least 100 MBit/s. A CPU with the AES-NI extension is particularly helpful because it allows Tor to offload its AES operations to the CPU.
* We recommend 4 GB of RAM for 100 MBit/s.
* We recommend 4 GB of RAM for 100 MBit/s.
* For more than 100 MBit/s, a second core may be necessary and more than 4 GB of RAM.
* For more than 100 MBit/s, a second core may be necessary and more than 4 GB of RAM.
* We would like to personally know you (or somebody who is involved in the bridge's operation).
* We would like to personally know you (or somebody who is involved in the bridge's operation).
* You should also have a sustainable plan for running the bridge, so it doesn't get abandoned.
* You should also have a sustainable plan for running the bridge, so it doesn't get abandoned.
* It's useful (but not necessary) for the bridge to have a dedicated IP address because this IP address will get blocked by China and other places.
* It's useful (but not necessary) for the bridge to have a dedicated IP address because this IP address will get blocked by China and other places.
* If you don't have a dedicated IP address, don't host any services on the bridge that you don't want to see blocked in some countries or networks.
* If you don't have a dedicated IP address, don't host any services on the bridge that you don't want to see blocked in some countries or networks.
* You shouldn't also be running an exit relay.
* You shouldn't also be running an exit relay.
* You should give us at least a one month notice before you shut down your bridge.
* You should give us at least a one month notice before you shut down your bridge.
...
@@ -46,6 +50,7 @@ When we add a new default bridge, we should ask the operator if they want to rec
...
@@ -46,6 +50,7 @@ When we add a new default bridge, we should ask the operator if they want to rec
### torrc configuration
### torrc configuration
In order to get metrics on our default bridges use, we need to publish the bridge descriptors. However, we do not want this bridge to be distributed over BridgeDB. To achieve this, ensure the following torrc options are set:
In order to get metrics on our default bridges use, we need to publish the bridge descriptors. However, we do not want this bridge to be distributed over BridgeDB. To achieve this, ensure the following torrc options are set: