Користувальницькькі налаштування

Налаштування сайту


tox

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Both sides previous revision Попередня ревізія
tox [2015/02/25 20:00]
wombat [Добавление друзей]
tox [2015/02/25 20:01] (поточний)
wombat [Добавление друзей]
Рядок 1: Рядок 1:
 +====== Tox ======
 +
 +{{ tox-logo_head.png |Tox logo}} ​
 +
 +**Tox** -- это распределённая сеть для обмена сообщениями,​ а также для аудио- и видеозвонков.
 +
 +Поиск участников сети и установление связи с ними в сети Tox происходит очень похоже на torrent-обмен с поиском т.н. "​пиров"​ по технологии DHT. Это означает,​ что все данные передаются от одного участника сети другому напрямую,​ а обращение к остальным узлам сети нужно лишь для обмена IP-адресами. ​
 +
 +Ключевым отличием от многих других популярных способов аудио-видеосвязи и обмена сообщениями является то, что в сети Tox отсутствует понятие логин-сервера,​ поскольку проверка личности пользователя происходит на основании его пары ключей:​ открытого и закрытого. Открытый ключ пользователя одновременно является основной частью его пользовательского идентификатора.
 +
 +Единственное,​ для чего Tox использует заранее заданные серверы,​ это для т.н. "​bootstrap",​ т.е. для получения списка нескольких запущенных узлов сети при запуске программы. После этого bootstrap-серверы могут быть больше не нужны, т.к. поиск пользователей осуществляется посредством распределённой одноранговой (ячеистой?​) сети, состоящей из таких же Tox-клиентов.
 +
 +== Tox ID ==
 +
 +Определение личности пользователя происходит на основе его т.н. "Tox ID" -- идентификатора Tox. 
 +Tox ID состоит из открытого ключа шифрования,​ антиспам-числа и контрольной суммы:
 +
 +  [открытый ключ (32 байта)][nospam (4 байта)][контрольная сумма (2 байта]
 +
 +Обычно ключ записывается в шестнадцатеричном виде, и выглядит примерно так:
 +
 +  56A1ADE4B65B86BCD51CC73E2CD4E542179F47959FE3E0E21B4B0ACDADE51855D34D34D37CB5
 +  [------------------------------ ключ --------------------------][nospam][CS]
 +
 +Антиспам-число (nospam) позволяет быстро изменять полный Tox ID без изменения ключа шифрования.
 +
 +Контрольная сумма предотвращает неправильный или неполный ввод Tox ID. Вычисляется простым XOR'​ом.
 +
 +===== Установка =====
 +
 +==== Debian/​Ubuntu/​Mint ====
 +
 +Согласно [[https://​wiki.tox.im/​Binaries#​Apt.2FAptitude_.28Debian.2C_Ubuntu.2C_Mint.2C_etc..29 | сайту разработчиков]],​ установить Tox можно из официального репозитория. Для этого нужно добавить этот репозиторий в список источников APT, а также установить GPG-ключ этого репозитория. Разработчики предлагают воспользоваться следующим готовым скриптом((скрипт с официального сайта с более подробным выводом на экран)):​
 +
 +<file bash tox-add-repo.sh>​
 +echo "​Removing the old GPG key"
 +sudo apt-key del 0C2E03A0
 +
 +echo
 +echo "​Adding the new repo to /​etc/​apt/​sources.list.d/"​
 +sudo sh -c 'echo "deb https://​repo.tox.im/​ nightly main" > /​etc/​apt/​sources.list.d/​tox.list'​
 +
 +echo
 +echo "​Installing a new GPG key"
 +wget -qO - https://​repo.tox.im/​pubkey.gpg | sudo apt-key add -
 +
 +echo
 +echo "​Installing '​apt-transport-https'​ package"​
 +sudo apt-get install apt-transport-https
 +
 +echo
 +echo "​Running '​apt-get update'"​
 +sudo apt-get update -qq
 +
 +echo
 +echo "Tox Repository Installed."​
 +echo "You can now install utox, qtox, toxic, ratox and tox-bootstrapd"​
 +</​file>​
 +
 +После добавления репозитория,​ можно стандартным образом установить utox или qtox. Например,​
 +
 +  sudo apt-get install utox
 +
 +PPA, указанная ниже, устарела. Лучше воспользоваться официальным репозиторием,​ как указано выше.
 +
 +  sudo add-apt-repository ppa:​v-2e/​tox
 +  sudo apt-get update
 +  sudo apt-get install utox
 +==== Gentoo ====
 +
 +Согласно [[https://​wiki.tox.im/​Overlays | Tox Wiki]],
 +
 +  layman -f -o https://​raw.github.com/​fr0stycl34r/​gentoo-overlay-tox/​master/​repository.xml -a tox-overlay
 +  layman -S
 +  emerge -va utox
 +
 +
 +===== Добавление друзей =====
 +
 +Чтобы установить связь с другими пользователями,​ нужно добавить каждого из них в свой список контактов. Следует иметь в виду, что в отличие от большинства подобных программ,​ список контактов в Tox хранится только на компьютере пользователя((Напомним,​ что логин-серверов в Tox не существует)). Поэтому потеря списка контактов на компьютере приведёт к тому, что нужно будет составлять этот список заново.
 +
 +Чтобы добавить пользователя,​ нужно, чтобы он выслал вам свой Tox ID по какому-то другому каналу (например,​ по e-mail), а затем добавить этот ID в своей программе-клиенте.
 +
 +Чтобы выслать другому пользователю свой Tox ID, его нужно сгенерировать в программе-клиенте. Обычно для этой цели в настройках программы есть кнопка "​Скопировать Tox ID".
 +
 +Поскольку в сети Tox не существует (по идее) единого центра хранения адресов абонентов,​ при добавлении нового пользователя в список контактов,​ а также при запуске программы-клиента маршрут ко всем контактам из списка как бы "​вычисляется"​ заново. Ваша программа-клиент "​запускает"​ запрос нужных Tox ID в сеть Tox. При этом узлы, которые знают текущий IP-адрес искомого абонента,​ откликаются на этот запрос,​ и далее уже устанавливается прямая связь с абонентом. Побочным эффектом такого подхода является длительное время поиска контактов в сети и их медленное "​появление"​ в списке контактов (обычно - несколько минут или дольше).
 +
 +===== Запуск узла Tox-сети =====
 +
 +Во-первых,​ надо собрать Tox с параметром ''​--enable-daemon''​.
 +
 +После установки отредактировать конфигурационный файл демона. Файл может находиться в произвольном месте. Представим,​ что он находится в ''/​etc/​tox/​conf''​.
 +
 +В нём следует указать порт, путь к файлу, где будут храниться ключи, путь к PID-файлу,​ а также узлы((https://​wiki.tox.im/​Nodes)),​ с которыми демон будет связываться сначала.
 +
 +<file conf /​etc/​tox/​conf>​
 +// ProjectTox dht bootstrap node daemon configuration file.
 +
 +// Listening port.
 +port = 33445
 +
 +// A key file is like a password, so keep it where no one can read it.
 +// The daemon should have permission to read/write to it.
 +// Remember to replace the provided example with your own path.
 +keys_file_path = "/​etc/​tox/​keys"​
 +
 +// The PID file written to by daemon.
 +// Make sure that the user who runs the daemon has permissions to write to the
 +// PID file.
 +// Remember to replace the provided example with your own path.
 +pid_file_path = "/​var/​run/​tox/​tox_bootstrap_daemon.pid"​
 +
 +// Enable IPv6.
 +enable_ipv6 = false
 +
 +// Automatically bootstrap with nodes on local area network.
 +enable_lan_discovery = true
 +
 +enable_tcp_relay = true
 +
 +// Tox uses 443, 3389 and 33445 ports by default, so it's highly recommended to keep
 +// them.
 +//​tcp_relay_ports = [443, 3389, 33445]
 +tcp_relay_ports = [3389, 33445]
 +
 +// It's planned to use message of the day as a convenient method of checking
 +// whether a node is up or not, though there are other methods of doing that.
 +enable_motd = true
 +
 +motd = "​tox_bootstrap_daemon"​
 +
 +// Any number of nodes the daemon will bootstrap itself from.
 +// 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.
 +// You may leave the list empty or remove "​bootstrap_nodes"​ complitely,
 +// in both cases this will be interpreted as if you don't want to bootstrap
 +// from anyone.
 +bootstrap_nodes = (
 +  { // Node 1
 +    // Any ipv4 or ipv6, depending on whether `enable_ipv6` is set or not, and
 +    // also any US-ASCII domain name.
 +    address = "​23.226.230.47"​
 +    port = 33445
 +    public_key = "​A09162D68618E742FFBCA1C2C70385E6679604B2D80EA6E84AD0996A1AC8A074"​
 +  },
 +  { // Node 2
 +    address = "​192.254.75.98"​
 +    port = 33445
 +    public_key = "​951C88B7E75C867418ACDB5D273821372BB5BD652740BCDF623A4FA293E75D2F"​
 +  },
 +  { // Node 3
 +    address = "​144.76.60.215"​
 +    port = 33445
 +    public_key = "​04119E835DF3E78BACF0F84235B300546AF8B936F035185E2A8E9E0A67C8924F"​
 +  },
 +  { // Node 4
 +    address = "​37.187.20.216"​
 +    port = 33445
 +    public_key = "​5DA6883A3DAB3DA8A32930182F7E50FBB4B379E844B821FC8C4F5EDE176EA164"​
 +  },
 +  { // Node 5
 +    address = "​54.199.139.199"​
 +    port = 33445
 +    public_key = "​7F9C31FE850E97CEFD4C4591DF93FC757C7C12549DDD55F8EEAECC34FE76C029"​
 +  },
 +  { // Node 6
 +    address = "​37.59.102.176"​
 +    port = 33445
 +    public_key = "​B98A2CEAA6C6A2FADC2C3632D284318B60FE5375CCB41EFA081AB67F500C1B0B"​
 +  },
 +  { // Node 7
 +    address = "​192.210.149.121"​
 +    port = 33445
 +    public_key = "​F404ABAA1C99A9D37D61AB54898F56793E1DEF8BD46B1038B9D822E8460FAB67"​
 +  },
 +  { // Node 8
 +    address = "​37.187.46.132"​
 +    port = 33445
 +    public_key = "​5EB67C51D3FF5A9D528D242B669036ED2A30F8A60E674C45E7D43010CB2E1331"​
 +  }
 +)
 +</​file>​
 +
 +После первого запуска демон сгенерирует уникальный ключ для данного узла, и запишет его в файл ключей,​ указанный в конфигурации. **Этот файл секретен,​ и должен быть доступен для чтения только демону Tox!**
 +
 +==== Ресурсы ====
 +
 +По состоянию на 05.08.2014 свежеустановленный демон Tox  в среднем создаёт поток ~200 кбит/с входящих данных и ~200 кбит/с исходящих.
 +
 +https://​wiki.tox.im/​Run_a_node
 +
 +===== Сборка DEB-пакета =====
 +
 +Архив с папкой настроек для сборки .deb-пакета:​ {{::​tox-debian.tar.xz|}}
 +
 +Последовательность сборки можно посмотреть ​ [[debian|здесь]. В целом логика создания .deb-пакета при имеющейся готовой папке "​debian"​ такова:​
 +
 +  - Скачивание архива с исходниками
 +  - Создание копии архива с именем,​ оканчивающимся на ''​.orig.tar.gz'',​ ''​.orig.tar.bz2''​ и т.п.
 +  - Распаковка скачанного архива
 +  - Копирование папки debian внутрь распакованной папки с исходниками
 +  - Запуск команды ''​debuild -us -uc''​
 +====== Ссылки ======
 +
 +http://​tox.im
 +
 +
  
tox.txt · В останнє змінено: 2015/02/25 20:01 by wombat