|
|
+++ May-15: IMPORTANT: There has been a BIG hole in DEBIAN versions of OpenSSL for the last 2 years, all keys and certificates created since then are BROKEN. This also affects ALL DEBIAN AND UBUNTU USERS of TorChat: You will have to create new TorChat-IDs AFTER upgrading OpenSSL and Tor. Windows users of TorChat are not affected, as long as you didn't replace the 0.1.2.19 Tor binary with one of the 0.2.0.x development versions +++
TorChat
TorChat is a peer to peer instant messenger with a completely decentralized design, built on top of Tor's location hidden services, giving you extremely strong anonymity while being very easy to use without the need to install or configure anything.
TorChat just runs from an USB drive on any Windows PC. (It can run on Linux and Mac too, in fact it was developed on Linux with cross platform usability in mind from the very first moment on, but the installation on other platforms than Windows is a bit more complicated at the moment)
Tor location hidden services basically means:
- Nobody will be able to find out where you are.
- If they are already observing you and sniff your internet connection they will not be able to find out
- what you send or receive (everything is end-to-end encrypted)
- to whom you are sending or receiving from
- where your contacts are located
General information about Tor
The Tor binary which is bundled with TorChat is taken from the official Tor-0.1.2.19 installer. You can binary compare the tor.exe with the official one to verify this or replace it with your own version of tor.exe if you like.
Installation
Windows
There basically is no need for any installation or configuration. It just runs out of the box, all batteries are included. Download and unzip the complete archive to somewhere on your harddisk or USB-Drive. The program is inside the folder "bin". Just doubleclick the blue earth symbol named "torchat" or "torchat.exe" and you are done.
It may be possible that you need to search, download and apply the "Event ID 4226 Patcher (4226 fix)" if you have Windows XP SP2. (Newer Windows versions limit the Number of concurrent TCP/IP connection attempts to such a ridiculously small number that most network intensive applications are massively slowed down)
At the moment it is not possible to configure the binary version of TorChat (torchat.exe) to any other ports. You can not use it without the bundled tor.exe. It is all hardcoded (TorChat listening on localhost:11009 and tor.exe listening on localhost:11109). If you want to use your already installed tor service on say localhost:9050 or even some.other.machine:9050 you must configure tc_client.py and run the modified version from source. Therefore you will need Python-2.5 and wxPython-2.8 installed. To avoid the black dos-box when running from source you can rename torchat.py to torchat.pyw.
In one of the next versions there will be a comfortable configuration dialog and an easy to understand small configuration file that will make it possible to completely customize all port numbers and adresses so you can easyly make it run in any configuration you can think of.
The program is being developed on Linux and tested on XP. If you use Windows Vista I would very much appreciate any feedback, wether it runs or not. Until now I have no confirmation for this operating system at all. If it works, please send me a mail, if it doesn't please send me a mail too, preferably with as much helpful information as you are able to provide.
Linux
You will also need python2.5, python-wxgtk2.8 (aka wxPython) and Tor. Download and unzip the archive. Configure a Tor hidden service pointing to localhost port 11009 and start Tor. Edit tc_client.py and change OWN_HOSTNAME to the .onion name of your hidden service. (only the 16 characters without the ".onion"). If you have Tor running on a separate machine, configure the other settings in tc_client.py accordingly. Start torchat.py
It doesn't work?
Please let me know about every unexpected behaviour, I need your feedback! There have been a few versions which under certain circumstances didn't work at all. At the moment I upload a new version every few days and with every version it is becoming more stable and robust. You can also always try the latest version from SVN, they usually work because i try to avoid committing totally broken revisions.
You can reach me via E-Mail or of course via TorChat, just use the "Ask Bernd" menu option and I will be added to your buddy list. My native language is german, but you can also talk to me in english.
Usage
This is how it should look like:
You will see a window with your contact list. One of the contacts is labled "myself". This 16 numbers and letters are your unique address inside the Tor-Network. Wait a few minutes until the icon becomes green. Give this address to your friends so that they can add you to their list or add your friends address to your list. It all basically behaves like you would expect from an instant messenger.
After starting TorChat it can sometimes take up to 15 Minutes until you will become available. There is a hardcoded time-to-live of 15 minutes for already fetched service descriptors inside the Tor proxy. I have yet to find a way to invalidate this cache without restarting Tor.
You can run TorChat from an USB-Drive and no matter where you are, you always have the same address as long as you don't delete the files in the folder tor\hidden_service. The contents of this folder are your key. They must always be kept secret. If someone wants to impersonate your identity he must and will try to steal the contents of this folder from you. Keep this always in mind. It would probably be a good idea to use TorChat in conjunction with something like TrueCrypt or at least a password protected USB-Drive to protect your key file.
