Configuring Torchat to use an existing Tor socks proxy
Torchat is an anonymous instant messenger client running atop the Tor network. It niftily uses hidden services to build connections over the network which are end to end encrypted, and where both parties are hidden from each other.
By default, it comes packaged ready to go with its own Tor client. This is fine if you're travelling around with your encrypted USB stick or the like, but not very useful if you're already running a Tor client.
Running two copies of Tor on the same computer when they are doing the same thing seems a little silly. With a few configuration tweaks and deleting a few files, Torchat will use whichever socks port is desired. The documentation does detail how to do this of course, but this is the redux version.
To run Torchat in permanent mode, delete portable.txt and the Tor directory. These tell the program that it is to store the configuration files in ~/.torchat and to not start up its own Tor client.
Next, it needs a hidden service created on the currently running Tor client. I use Valadia so this is just a few clicks. The Virtual Port must be 11009. If this is the default install, the target port can stay as 11009 too, but this really can be anything you want so long as it's added to the torchat.ini file. The directory is somewhere to store the private key, and the onion address. It should be kept very safe since this is the key to your identity.
With those settings, the Tarchat client can be configured. You can run the client once to get it to generate the configuration files for you to edit, or you can create them yourself.
; The options in [tor_portable] tell TorChat how to reach your tor proxy. They must correspond to SocksPort and ControlPort in the torrc [tor_portable] tor_server_control_port = 9051 tor_server_socks_port = 9050 tor_server = 127.0.0.1 ; The options in [client] tell TorChat where to listen for incoming connections. They correspond to the last part of the HiddenServicePort setting in your torrc [client] listen_interface = 127.0.0.1 ; This is the Virtual Port that can be changed to anything listen_port = 11009 ; Everything before the .onion in the Hidden Service directory. You cannot set this - it is generated for you unless you replace the private_key and hostname files with already generated ones. own_hostname = 16crypticletters