Bootstrap Nodes

In order to facilitate quick connections to other people using Tox, Tox employs bootstrap nodes that each client may connect to in order to retrieve a list of clients currently connected to the pool.

Real time node status

To see the real time status of the nodes below visit https://nodes.tox.chat/

Active Nodes List

Below are a list of active nodes that you can connect to. This list is actively maintained.

IPv4 IPv6 Port Public Key Maintainer Location
144.217.167.73 NONE 33445 7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C velusip CA
tox.abilinski.com NONE 33445 10C00EB250C3233E343E2AEBA07115A5C28920E9C8D29492F6D00B29049EDC7E Anthony Bilinski CA
205.185.115.131 NONE 53 3091C6BEB2A993F1C6300C16549FABA67098FF3D62C6D253828B531470B53D68 GDR! US
45.32.184.23 2a05:f480:1400:3c56:5400:5ff:fe56:d8ff 33445 81C916A3605724106C2E7487DC72FF2F9EB662EB34C85C0C692D8312B442635C dandri NL
tox1.mf-net.eu tox1.mf-net.eu 33445 B3E5FA80DC8EBD1149AD2AB35ED8B85BD546DEDE261CA593234C619249419506 2mf DE
5.19.249.240 NONE 38296 DA98A4C0CD7473A133E115FEA2EBDAEEA2EF4F79FD69325FC070DA4DE4BA3238 Tox daemon RU
3.0.24.15 NONE 33445 E20ABCF38CDBFFD7D04B29C956B33F7B27A3BB7AF0618101617B036E4AEA402D Hardy SG
139.162.110.188 2400:8902::f03c:93ff:fe69:bf77 33445 F76A11284547163889DDC89A7738CF271797BF5E5E220643E97AD3C7E7903D55 ToxTom CA
tox2.mf-net.eu tox2.mf-net.eu 33445 70EA214FDE161E7432530605213F18F7427DC773E276B3E317A07531F548545F 2mf DE
172.105.109.31 2600:3c04::f03c:92ff:fe30:5df 33445 D46E97CF995DC1820B92B7D899E152A217D36ABE22730FEA4B6BF1BFC06C617C amr CA
144.172.88.203 2602:fa59:16:111::1 33445 2016A0F2797EE3A8B004BA623F11AAFC8146F1B8F45107232A1A1AECCE856674 Rajesh AE
91.146.66.26 NONE 33445 B5E7DAC610DBDE55F359C7F8690B294C8E4FCEC4385DE9525DBFA5523EAD9D53 Tox daemon EE
NONE 200:832f:2e56:91a6:678e:aaaf:80bf:4a8a 33445 444361B1717AD5E10D9C03EA1C714A846C9D3B16A875186D0034DC516A49F013 Dima (Yggdrasil) RU
172.104.215.182 2600:3c03::f03c:93ff:fe7f:6096 33445 DA2BD927E01CD05EBCC2574EBE5BEBB10FF59AE0B2105A7D1E2B40E49BB20239 zero-one US
tox.initramfs.io tox.initramfs.io 33445 3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25 initramfs TW
tox3.mf-net.eu tox3.mf-net.eu 33445 F4FC9398B7167668ED2BCF85634E04D4CDCDD2F95DA5F305BD234888B6E6A771 2mf SG
188.214.122.30 NONE 33445 2A9F7A620581D5D1B09B004624559211C5ED3D1D712E8066ACDB0896A7335705 turambar EG
43.198.227.166 NONE 33445 AD13AB0D434BCE6C83FE2649237183964AE3341D0AFB3BE1694B18505E4E135E Hardy CN
95.181.230.108 2a03:c980:db:5d:: 33445 B5FFECB4E4C26409EBB88DB35793E7B39BFA3BA12AC04C096950CB842E3E130A wdwp RU
tox.hidemybits.com tox.hidemybits.com 443 5D57B95EE4A7F37BA031DAD0CBD9510A9C96FFE09C1CE24A9C33746F39817D6E john8675309 US
tox4.mf-net.eu tox4.mf-net.eu 33445 DCD342A0D5E2AA8E35C2BD2C7988F906EEB631B35100170A7F30E77D7F596442 2mf DE
188.245.84.166 NONE 33445 96B66D300BA2B59B98FC42DB1325E7092388F0379593E680ABDBEA03B9C9CE03 Careplus DE
86.107.187.54 2a00:bba0:1204:3700:21e:6ff:fe4a:60fc 33445 2C0F90965134C7BEFAFE72B077A19221628D7045BB51C1165A2C75CDB2B32634 Boca NL
119.59.101.63 NONE 33445 197F746696062FA3BD07BB3BC0656ABD6692B4DAA27DACF0F474754F2B09B060 Felix TH
167.17.40.142 NONE 33445 E84453123B44A47120FFB469CBCDEEF078D3785D7AD7F6C5B2351CB5DDE2C54C refan FI
172.86.77.39 2602:fa59:16:19d::1 33445 AFFD3FAD3460E62A894E439534B27E5A5DCFE379C1C0FB78DEF1B150A87E900F Rajesh AE
145.239.1.105 2001:41d0:700:569::1 33445 1658A9A64046C20F48FB2A47E56045233AB0AC0706974FC5904F9E74F452D908 Peace186 DE
NONE tox1.mooo.com 33445 B0DC07EA0E594C012D03AEE52B8A9FD579C8982575B1DFD2A145878967E27C32 Rodrigo BR

If you want a list of these nodes in a more machine-readable format, try using the JSON output provided by https://nodes.tox.chat.

If you are a developer and you are considering making your application automatically download the list of nodes either off this wiki page or https://nodes.tox.chat, we strongly advise you to cache the list of nodes your application downloads on user side, in order to reduce the number of requests our servers are getting. It's also a good idea to not rely on these lists to be available (e.g. our websites might be blocked by a firewall), which can be solved by shipping your application with a pre-set list of bootstrap nodes and allowing users to add their own list of bootstrap nodes through a user interface.

FAQ

What is the purpose of bootstrap nodes?

If you are familiar with the concept of DHT, they are your regular DHT bootstrap nodes. If you are not familiar with DHT, then a more detailed explanation follows.

In Tox, every client communicates with other Tox clients, together creating an interconnected network. This Tox network is used to discover other peers in the network and communicate with them, which enables you to send/receive friend requests or get notified when your friend comes online. To connect to the Tox network, a client needs to connect to at least one other client that is connected to the Tox network, from which point it can ask the client it connected to for more clients it can connect to and keep repeating this process to discover more and more clients. A bootstrap node is what a client connects to first if it doesn't know of any other nodes in the network, thus it's required that bootstrap nodes are highly available (are online most of the time), have static IP addresses or use domain names, don't change port numbers, have static public keys and so on. While technically any Tox client can be used as a bootstrap node, the usage patterns of a Tox client by an average user violate the previously mentioned requirements – the user might want to shut down their computer, they might have dynamic IP addresses, their client might be changing public keys, and so on, therefore we need Tox clients dedicated to the task of being used as bootstrap nodes. Because bootstrap nodes would generally run on servers, they are made to have as small footprint as possible – they don't support most features a Tox client supports, they perform only some basic network functionality required for clients to discover other clients.

How do I run a bootstrap node?

How do I get my bootstrap node added to the table above?

  1. Subscribe to the bootstrap mailing list, which is low-traffic announcement-only mailing list for cases when updating a bootstrap node would result in better network performance, toxcore changes DHT in non-backwards-compatible way or some vulnerability affecting bootstrap nodes is discovered.
  2. Send an email to node-request@tox.chat requesting your node to be added to the table of bootstrap nodes. Mention the email address you used to subscribe to the mailing list and provide information for the fields of the table. Sample email template:
    Mailing list email address:
    IPv4:
    IPv6:
    Port:
    Public Key:
    Maintainer:
    Location:

We check the mail about once a week, so expect it might take a few days for you to get a reply.

Note that nodes that are offline for long periods of time or use a very old version of toxcore are subject to removal from the table.

How much bandwidth is required to run a bootstrap node?

Generally it depends on popularity of your bootstrap node.

At the moment of writing this (August 4th, 2016), you may expect 700GiB of total traffic (1/2 incoming, 1/2 outgoing) per month for a very popular bootstrap node, one that was in the table for years and is actively used by many clients. The amount of traffic increases over time.

If you are familiar with software development, there is an interesting idea for a project that would help us quite a bit.

You might have noticed that the process of adding a node to the table above is somewhat tedious: a person running the node needs to subscribe to a mailing list, send an email, someone must review that email, possibly ask additional questions and finally edit the wiki table adding the node. We can get rid of this process entirely. If we traverse the Tox DHT network, we can collect data such as IP addresses, public keys and port numbers of all nodes in the network. Collect that data over time, and we will be able to identify nodes that are online most of the time, don't change their IP address, use the same port and use the same public key, i.e. the perfect candidates for being bootstrap nodes. Make a webpage similar to https://nodes.tox.chat/ and show only nodes that are the perfect candidates for being bootstrap nodes. Any person running a bootstrap node long enough will show up on such table automatically, without any interaction required. There is already a project that does something similar – Tox Statistic project similarly traverses Tox DHT network, collects data on nodes in Tox DHT network, and displays it on a web page, but for statistical purposes.

If you are interested in working on this project, feel free to come to our development IRC channel to discuss it. iphy, Impyy, JFreegman and nurupo would probably be the best people to discuss this with.

Print/export