This app talks to a Tor SOCKS proxy running on your machine (127.0.0.1:9050 by default). You need Tor itself installed and running locally, on both sides of the chat.
3. Hidden service setup (host / listen side only)
Only the person running in listen mode needs this — the person who connects does not.
pip install PySocks --break-system-packages
pip install opencv-python numpy --break-system-packages
pip install sounddevice numpy opuslib --break-system-packages
pip install PySocks opencv-python numpy sounddevice opuslib --break-system-packages
macOS brew install opus
Linux (Debian/Ubuntu) sudo apt install libopus0
Windows Requires an opus.dll available on your system PATH (or placed next to your Python executable).
Audio calls require the native Opus library in addition to the Python package.
pip install opuslibInstall MSYS2 from:
Open the MSYS2 MINGW64 terminal and run:
pacman -S mingw-w64-x86_64-opusThis installs:
C:\msys64\mingw64\bin\libopus-0.dll
If the application cannot automatically locate the Opus library, edit:
Python\Lib\site-packages\opuslib\api\__init__.py
Replace:
lib_location = find_library("opus")
if lib_location is None:
raise Exception(
"Could not find Opus library. Make sure it is installed.")
libopus = ctypes.CDLL(lib_location)with:
lib_location = find_library("opus")
# Windows fallback
if lib_location is None:
lib_location = r"C:\msys64\mingw64\bin\libopus-0.dll"
libopus = ctypes.CDLL(lib_location)Run:
python -c "import opuslib; print('Opus loaded successfully')"If you see:
Opus loaded successfully
then the audio dependency has been installed correctly.
📥 Download tor-key-converter.html
Enter your FLO or BTC blockchain wif, Click button: "Convert WIF → Tor Keys", and it will download three files:
- hostname
- hs_ed25519_public_key
- hs_ed25519_secret_key
It is usually located at: C:\Users<YourUser>\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe or C:\Program Files\Tor Browser\Browser\TorBrowser\Tor\tor.exe
tor.exe and torrc-defaults
In the same directory as tor.exe, create a file called: torrc
The extension of the file will be nothing, only torcc

HiddenServiceDir C:\TorHiddenService HiddenServicePort 80 127.0.0.1:8765 HiddenServiceVersion 3 SocksPort 9050
Step 4. Create the directory TorHiddenService
Create a folder C:\TorHiddenService
Copy your generated secret key from Part 1 inside TorHiddenService C:\TorHiddenService\hs_ed25519_secret_key
Open CMD.
Go to the Tor folder.
Example: cd "C:\Program Files\Tor Browser\Browser\TorBrowser\Tor"
Run tor.exe -f torrc
You'll see something similar to Bootstrapped 100% (done)
This will update your C:\TorHiddenService with
hostname hs_ed25519_public_key hs_ed25519_secret_key
Example: C:\Users<Your User>\Documents\TOR Chat\chat_app_av.py
Open CMD.
Go to the Chat App folder.
Example: C:\Users<Your User>\Documents\TOR Chat
Run python chat_app.py listen --port 8765 --video --audio
You will see a screen like this inside the terminal

Go to C:\TorHiddenService Open the file "hostname" with any note editor
xyikvsf3e55rqwdbhycxjurop6fmj7cs9du7jcb5khk67dxfy2tapuqid.onion
CMD cd "C:\Program Files\Tor Browser\Browser\TorBrowser\Tor"
Run tor.exe -f torrc
The peer will need to run this command to connect to your TOR chat network
python chat_app_av.py connect --onion <Your Onion Address .onion> --port 80 --video --audio