Необходимые пакеты для сборки:
apt-get install build-essential libtool autotools-dev automake checkinstall check git yasm libsodium-dev libconfig-dev libncurses5-dev
Конфигурация:
git clone https://github.com/irungentoo/toxcore.git cd toxcore ./autoreconf.sh ./configure --enable-daemon --enable-ntox
—enable-daemon — для сборки tox-bootstrapd демона, который является предпочтительным по сравнению с дефолтным DHT_bootstrap.
—enable-ntox — для сборки TUI клиента, базирующегося на libncurses.
Сборка и установка:
make && make install
Настройка:
Добавить пользователя, от имени которого будет запускаться демон:
useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment "TOX DHT bootstrap daemon" --user-group tox-bootstrapd
Установить скрипт инициализации:
# systemd cp ./other/bootstrap_daemon/tox-bootstrapd.service /etc/systemd/system/ systemctl enable tox-bootstrapd.service
или
# Sys V init cp ./other/bootstrap_daemon/tox-bootstrapd.sh /etc/init.d/tox-bootstrapd chmod 755 /etc/init.d/tox-bootstrapd update-rc.d tox-bootstrapd defaults
Основной конфигурационный файл:
cp ./other/bootstrap_daemon/tox-bootstrapd.conf /etc/
В конце файла необходимо актуализировать bootstrap_nodes в соответствии c https://nodes.tox.chat
На момент написания данной статьи мой конфиг /etc/tox-bootstrapd.conf с списком tox node имел следующий вид:
// Tox DHT bootstrap daemon configuration file.// Listening port (UDP). port = 33445// A key file is like a password, so keep it where no one can read it. // If there is no key file, a new one will be generated. // The daemon should have permission to read/write it. keys_file_path = "/var/lib/tox-bootstrapd/keys"// The PID file written to by the daemon. // Make sure that the user that daemon runs as has permissions to write to the // PID file. pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"// Enable IPv6. enable_ipv6 = true// Fallback to IPv4 in case IPv6 fails. enable_ipv4_fallback = true// Automatically bootstrap with nodes on local area network. enable_lan_discovery = true enable_tcp_relay = true // While Tox uses 33445 port by default, 443 (https) and 3389 (rdp) ports are very // common among nodes, so it's encouraged to keep them in place. tcp_relay_ports = [443, 3389, 33445] // Reply to MOTD (Message Of The Day) requests. enable_motd = true // Just a message that is sent when someone requests MOTD. // Put anything you want, but note that it will be trimmed to fit into 255 bytes. motd = "er0p's tox-bootstrapd" // Any number of nodes the daemon will bootstrap itself off. // // Remember to replace the provided example with your own node list. // There is a maintained list of bootstrap nodes on Tox's wiki, if you need it // (https://wiki.tox.chat/doku.php?id=users:nodes). // // You may leave the list empty or remove "bootstrap_nodes" completely, // in both cases this will be interpreted as if you don't want to bootstrap // from anyone. // // address = any IPv4 or IPv6 address and also any US-ASCII domain name. bootstrap_nodes = ( { address = "node.tox.biribiri.org" port = 33445 public_key = "F404ABAA1C99A9D37D61AB54898F56793E1DEF8BD46B1038B9D822E8460FAB67" }, { #address = "130.133.110.14" address = "2001:6f8:1c3c:babe::14:1" port = 33445 public_key = "461FA3776EF0FA655F1A05477DF1B3B614F7D6B124F7DB1DD4FE3C08B03B640F" }, { address = "205.185.116.116" port = 33445 public_key = "A179B09749AC826FF01F37A9613F6B57118AE014D4196A0E1105A98F93A54702" }, { #address = "198.98.51.198" address = "2605:6400:1:fed5:22:45af:ec10:f329" port = 33445 public_key = "1D5A5F2F5D6233058BF0259B09622FB40B482E4FA0931EB8FD3AB8E7BF7DAF6F" }, { address = "85.172.30.117" port = 33445 public_key = "8E7D0B859922EF569298B4D261A8CCB5FEA14FB91ED412A7603A585A25698832" }, { #address = "194.249.212.109" address = "2001:1470:fbfe::109" port = 33445 public_key = "3CEE1F054081E7A011234883BC4FC39F661A55B73637A5AC293DDF1251D9432B" }, { #address = "185.25.116.107" address = "2a00:7a60:0:746b::3" port = 33445 public_key = "DA4E4ED4B697F2E9B000EEFE3A34B554ACD3F45F5C96EAEA2516DD7FF9AF7B43" }, { #address = "217.182.143.254" address = "2001:41d0:302:1000::e111" port = 2306 public_key = "7AED21F94D82B05774F697B209628CD5A9AD17E0C073D9329076A4C28ED28147" }, { #address = "104.223.122.15" address = "2607:ff48:aa81:800::35eb:1" port = 33445 public_key = "0FB96EEBFB1650DDB52E70CF773DDFCABE25A95CC3BB50FC251082E4B63EF82A" }, { #address = "51.254.84.212" address = "2001:41d0:a:1a3b::18" port = 33445 public_key = "AEC204B9A4501412D5F0BB67D9C81B5DB3EE6ADA64122D32A3E9B093D544327D" }, { #address = "213.183.51.211" address = "2a06:f901:1:100::98" port = 33445 public_key = "B71E91E2F5029B0A84D3B1136319CDD3D1DB6D3702B6CEFA66A4BEB25A635916" }, { address = "92.54.84.70" port = 33445 public_key = "5625A62618CB4FCA70E147A71B29695F38CC65FF0CBD68AD46254585BE564802" }, { address = "toxnode.nek0.net" port = 33445 public_key = "20965721D32CE50C3E837DD75B33908B33037E6225110BFF209277AEAF3F9639" }, { #address = "163.172.136.118" address = "2001:bc8:4400:2100::1c:50f" port = 33445 public_key = "2C289F9F37C20D09DA83565588BF496FAB3764853FA38141817A72E3F18ACA0B" }, { #address = "144.76.31.180" address = "2a01:4f8:191:22b3::3" port = 33445 public_key = "02807CF4F8BB8FB390CC3794BDF1E8449E9A8392C5D3F2200019DA9F1E812E46" }, { address = "37.97.185.116" port = 33445 public_key = "E59A0E71ADA20D35BD1B0957059D7EF7E7792B3D680AE25C6F4DBBA09114D165" }, { #address = "initramfs.io" address = "tox.initramfs.io" port = 33445 public_key = "3F0A45A268367C1BEA652F258C85F4A66DA76BCAA667A49E770BCC4917AB6A25" }, { #address = "149.56.140.5" address = "2607:5300:0201:3100:0000:0000:0000:3ec2" port = 33445 public_key = "7E5668E0EE09E19F320AD47902419331FFEE147BB3606769CFBE921A2A2FD34C" }, { #address = "136.243.141.187" address = "2a01:4f8:212:2459::a:1337" port = 443 public_key = "6EE1FADE9F55CC7938234CC07C864081FC606D8FE7B751EDA217F268F1078A39" }, { address = "tox.abilinski.com" port = 33445 public_key = "10C00EB250C3233E343E2AEBA07115A5C28920E9C8D29492F6D00B29049EDC7E" }, { #address = "95.215.46.114" address = "2a02:7aa0:1619::bdbd:17b8" port = 33445 public_key = "5823FB947FF24CF83DDFAC3F3BAA18F96EA2018B16CC08429CB97FA502F40C23" }, { address = "tmux.ru" port = 33445 public_key = "7467AFA626D3246343170B309BA5BDC975DF3924FC9D7A5917FBFA9F5CD5CD38" }, { #address = "37.48.122.22" address = "2001:1af8:4700:a115:6::b" port = 33445 public_key = "1B5A8AB25FFFB66620A531C4646B47F0F32B74C547B30AF8BD8266CA50A3AB59" }, { address = "tox.novg.net" port = 33445 public_key = "D527E5847F8330D628DAB1814F0A422F6DC9D0A300E6C357634EE2DA88C35463" }, { address = "t0x-node1.weba.ru" port = 33445 public_key = "5A59705F86B9FC0671FDF72ED9BB5E55015FF20B349985543DDD4B0656CA1C63" }, { address = "79.140.30.52" port = 33445 public_key = "FFAC871E85B1E1487F87AE7C76726AE0E60318A85F6A1669E04C47EB8DC7C72D" }, { address = "104.223.122.204" port = 33445 public_key = "3925752E43BF2F8EB4E12B0E9414311064FF2D76707DC7D5D2CCB43F75081F6B" }, { address = "95.31.18.227" port = 33445 public_key = "257744DBF57BE3E117FE05D145B5F806089428D4DCE4E3D0D50616AA16D9417E" }, { #address = "46.101.197.175" address = "2a03:b0c0:3:d0::ac:5001" port = 443 public_key = "CD133B521159541FB1D326DE9850F5E56A6C724B5B8E5EB5CD8D950408E95707" }, { address = "nodes.tox.chat" port = 33445 public_key = "6FC41E2BD381D37E9748FC0E0328CE086AF9598BECC8FEB7DDF2E440475F300E" }, { #address = "5.189.176.217" address = "2a02:c200:1:10:3:1:605:1337" port = 5190 public_key = "2B2137E094F743AC8BD44652C55F41DFACC502F125E99E4FE24D40537489E32F" }, { address = "tox.verdict.gg" port = 33445 public_key = "1C5293AEF2114717547B39DA8EA6F1E331E5E358B35F9B6B5F19317911C5F976" }, { address = "d4rk4.ru" port = 1813 public_key = "53737F6D47FA6BD2808F378E339AF45BF86F39B64E79D6D491C53A1D522E7039" }, { address = "104.233.104.126" port = 33445 public_key = "EDEE8F2E839A57820DE3DA4156D88350E53D4161447068A3457EE8F59F362414" }, { #address = "tox.uplinklabs.net" address = "tox.uplinklabs.net" port = 33445 public_key = "1A56EA3EDF5DF4C0AEABBF3C2E4E603890F87E983CAC8A0D532A335F2C6E3E1F" }, { #address = "95.215.44.78" address = "2a02:7aa0:1619::c6fe:d0cb" port = 33445 public_key = "672DBE27B4ADB9D5FB105A6BB648B2F8FDB89B3323486A7A21968316E012023C" }, { #address = "193.124.186.205" address = "2a02:f680:1:1100::542a" port = 5228 public_key = "9906D65F2A4751068A59D30505C5FC8AE1A95E0843AE9372EAFA3BAB6AC16C2C" }, { #address = "80.87.193.193" address = "2a01:230:2:6::46a8" port = 33445 public_key = "B38255EE4B054924F6D79A5E6E5889EC94B6ADF6FE9906F97A3D01E3D083223A" }, { #address = "hibiki.eve.moe" address = "hibiki.eve.moe" port = 33445 public_key = "D3EB45181B343C2C222A5BCF72B760638E15ED87904625AAD351C594EEFAE03E" }, { #address = "tox.deadteam.org" address = "tox.deadteam.org" port = 33445 public_key = "C7D284129E83877D63591F14B3F658D77FF9BA9BA7293AEB2BDFBFE1A803AF47" }, { address = "46.229.52.198" port = 33445 public_key = "813C8F4187833EF0655B10F7752141A352248462A567529A38B6BBF73E979307" }, { #address = "node.tox.ngc.network" address = "node.tox.ngc.network" port = 33445 public_key = "A856243058D1DE633379508ADCAFCF944E40E1672FF402750EF712E30C42012A" }, { #address = "185.14.30.213" address = "2a00:1ca8:a7::e8b" port = 443 public_key = "2555763C8C460495B14157D234DD56B86300A2395554BCAE4621AC345B8C1B1B" }, { address = "85.21.144.224" port = 33445 public_key = "8F738BBC8FA9394670BCAB146C67A507B9907C8E564E28C2B59BEBB2FF68711B" }, { #address = "tox.natalenko.name" address = "tox.natalenko.name" port = 33445 public_key = "1CB6EBFD9D85448FA70D3CAE1220B76BF6FCE911B46ACDCF88054C190589650B" }, { address = "37.187.122.30" port = 33445 public_key = "BEB71F97ED9C99C04B8489BB75579EB4DC6AB6F441B603D63533122F1858B51D" }, { address = "tox-node.loskiq.it" port = 33445 public_key = "88124F3C18C6CFA8778B7679B7329A333616BD27A4DFB562D476681315CF143D" }, { address = "192.99.232.158" port = 33445 public_key = "7B6CB208C811DEA8782711CE0CAD456AAC0C7B165A0498A1AA7010D2F2EC996C" }, { address = "tox.dumalogiya.ru" port = 33445 public_key = "2DAE6EB8C16131761A675D7C723F618FBA9D29DD8B4E0A39E7E3E8D7055EF113" }, { address = "109.195.99.39" port = 33445 public_key = "EF937F61B4979B60BBF306752D8F32029A2A05CD2615B2E9FBFFEADD8E7D5032" }, { address = "94.41.167.70" port = 33445 public_key = "E519B2C1098999B60190012C7B53E8C43A73C535721036CD9DEC7CCA06741A7D" }, { address = "77.55.211.53" port = 53 public_key = "B9D109CC820C69A5D97A4A1A15708107C6BA85C13BC6188CC809D374AFF18E63" }, { address = "boseburo.ddns.net" port = 33445 public_key = "AF3FC9FC3D121E82E362B4FA84A53E63F58C11C2BA61D988855289B8CABC9B18" }, { address = "tox-node2.loskiq.it" port = 33445 public_key = "46F52F33BC7CA7AE4698982BD929064CA83D9303E8EB42357ACAD5225058882F" } )