Tor Chat - децентралізована анонімна криптозахищені система обміну миттєвими повідомленнями, побудована на базі анонімізуючих мережі Tor (Tor Project - міжнародний науково-правозахисний проект, створений для забезпечення свободи спілкування в мережі Internet). На відміну від аськи і інших подібних систем, в Tor Chat немає ніяких посередників, не треба ніде реєструвати номери і логіни і залежати від якихось зовнішніх центральних серверів. Зв'язок встановлюється безпосередньо між співрозмовниками, причому спочатку гарантується анонімність і повна криптозащита листування.
Конструктивно Tor Chat побудована як мережа прихованих сервісів Tor - мережевих ресурсів, доступних за спеціальним імені (наприклад twp2tyms3ku34nxr.onion) тільки з мережі Tor. У кожного користувача Tor Chat ставиться програмка - мережевий комунікатор, яка одночасно є і клієнтом (комунікатором) і сервером (прихованим сервісом Tor). Встановлення зв'язку між 2 користувачами Tor Chat еквівалентно устанавленнимі зв'язку між 2 прихованими сервісами Tor. Це, крім анонімності, дає можливість повністю зашифрувати всю переписку, оскільки зняття останнього шару цибулинного шифру Tor з повідомлень проводиться на самих прихованих сервісах. Роль користувальницьких ідентифікаторів Tor Chat виконують .onion імена відповідних їм прихованих сервісів Tor. У такій схемі посередники не потрібні, необхідно знати тільки .onion-ім'я співрозмовника.
Програма TorChat - стандартний комунікатор мережі Tor Chat, написаний на мові Pythoon. Він дозволяє обмінюватися текстовими повідомленнями і файлами в реальному масштабі часу (on-line). Сам по собі TorChat відповідає тільки за обробку повідомлень та управління розсилкою, решту роботу виконує сервер Tor, що входить до складу збірки. TorChat - вільна програма з відкритим кодом, її розробка ведеться добровольцями на вільному майданчику GitHub.

Програма TorChat не вимагає інсталяції в Windows. Для її розгортки необхідно лише розпакувати файли zip-архів в певний каталог (без обмеження спільності назвемо його torchat).
Запуск і зупинка
Для запуску TorChat виконуємо файл torchat / bin / torchat.exe

Після запуску в автоматичному режимі встановлюється з'єднання з Tor-мережею, при першому запуску генерується унікальний ідентифікатор прихованого сервісу (TorChatId.onion) і запускається прихований сервіс Tor. На робочому столі Windows з'явиться вікно контактів TorChat. За замовчуванням там є тільки один контакт - власний.

Крім того в системному треї Windows з'явиться значок TorChat.
Натискання правої кнопки миші по ньому викликає меню, в якому можна міняти свій статус доступу. Для виключення TorChat слід вибрати пункт "Quit".

Додавання нового контакту
Щоб додати контакт треба викликати вікно контактів, зробити це можна, наприклад, натисканням лівою кнопкою мишки по занчку TorChat в системному треї. Натискання правої кнопки миші по контакту викликає повне меню TorChat, де вибираємо пункт "Add contact."

В результаті з'явиться вікно додавання контакту. Для додавання співрозмовника необхідно попередньо дізнатися у нього його ідентифікатор "TorChatId" і вбити (без .onion). При цьому можна також заповнити псевдонім для його тображенія в списку контактів і вітання.

Вікно контактів після заповнення

У вікні контактів зеленим відображається доступна в мережі (on-line) співрозмовники.

Вікно листування викликається подвійним натисканням на ім'я співрозмовника у вікні контактів.

передача файлу
Вікно передачі файлів з'являється після вибору пункту "Send file" меню, що викликається натисканням правої кнопки миші по імені співрозмовника у вікні контактів.

Передача файлу починається після натискання кнопки "Відкрити", процес відображається у вікні статусу передачі файлу.

Додаткові налаштування
При запуску TorChat створюється каталог прихованого сервісу Tor: torchat / bin / tor / hidden_service. Він містить файли: hostname - з ім'ям прихованого сервісу, private_key - файл з секретним ключем RSA прихованого сервісу.
Ім'я прихованого сервісу без розширення .onion є ідентифікатором користувача мережі Tor Chat.

Для взаємодії Tor з мережевим комунікатором TorChat вказані мережеві порти (логічні мітки мережевого з'єднання, які сприймаються операційною системою): Tor socks port (за замовчуванням 11109), Listen port (за замовчуванням 11009), Control port (за замовчуванням 11119).

При необхідності одночасного запуску декількох незалежних TorChat треба замінити порти на свої (значення портів рекомендується вибирати в діапазоні 1024 - 65536). У прикладі використовуються порти 33309, 33009, 33339.
Ті ж самі порти треба вказати в налаштуваннях мережевого комунікатора TorChat: меню "Settings." -> "Network".
