Hidden IRC Server
Create a Private IRC Server Over Anyone (Ubuntu)
Why Combine IRC with Anyone?
IRC (Internet Relay Chat) is a minimalist, text-based chat protocol based on a client <–> server model. It's lightweight, stable, and perfect for rapid messaging.
The Anyone Network provides strong anonymity and privacy. When you host an IRC server accessible only via hidden service, neither your IP nor your location is revealed. Clients connect entirely over the Anyone Network, offering untraceable communication.
“Privacy is a human right,” and enabling private, encrypted chat aligns with that ideal.
IRC Server
Step 1: Setup Environment (Ubuntu 20.04+)
Start with a clean Ubuntu Server environment, either virtualized or on bare metal. Make sure you have root or sudo access.
Install the essentials:
. /etc/os-release
sudo wget -qO- https://deb.en.anyone.tech/anon.asc | sudo tee /etc/apt/trusted.gpg.d/anon.asc
sudo echo "deb [signed-by=/etc/apt/trusted.gpg.d/anon.asc] https://deb.en.anyone.tech anon-live-$VERSION_CODENAME main" | sudo tee /etc/apt/sources.list.d/anon.list
sudo apt update
sudo apt install inspircd anon --yes
This installs both the IRC server (InspIRCd) and the Anon utility.
Step 2: Prepare InspIRCd
Stop the service:
sudo systemctl stop inspircd.service
Backup default configuration.
sudo mv /etc/inspircd/inspircd.conf /etc/inspircd/inspircd.conf.bak
Bind only to localhost, clients will connect via Anon, not the public internet.
sudo echo '<bind address="127.0.0.1" port="6667" type="clients">' | sudo tee /etc/inspircd/inspircd.conf
Start and check status of the service:
sudo systemctl start inspircd.service
sudo systemctl status inspircd.service
It should be listening on 127.0.0.1:6667
and be operational.
Step 3: Enable the Hidden Service
Backup /etc/anon/anonrc and create a hidden service pointing to your local IRC port:
sudo mv /etc/anon/anonrc /etc/anon/anonrc.bak
sudo echo -e "HiddenServiceDir /var/lib/anon/hidden_service/\nHiddenServicePort 6667 127.0.0.1:6667" | sudo tee /etc/anon/anonrc
Restart the anon.service
.
sudo systemctl restart anon.service
Find your Hidden Service .anon
hostname, which will work as the address for the IRC server, accessible through Anyone.
sudo cat /var/lib/anon/hidden_service/hostname
Clients will use this address to connect. Install a client to test it!
(Optional) Key Enhancements to Tighten Privacy
These are privacy choices that reduce intelligence leakage about the network and users.
Bind only to localhost, denying all public access.
Require a shared secret (password) for connection to avoid unauthorized access.
<bind
address="127.0.0.1"
port="6667"
type="clients"
>
<connect
allow="127.0.0.1"
password="SecretPassword"
>
Hide server metadata (e.g., version, host, stats) to reduce fingerprinting.
<server
name="irc.anon"
description="Private Hidden IRC Server"
network="HiddenNet"
>
<security
hideserver="yes"
customversion="irc-server"
flatlinks="yes"
hidesplits="yes"
hideulines="yes"
hidebans="yes"
maxtargets="5"
>
Disable DNS lookups and logging, minimizing metadata leakage.
<dns
server=""
timeout="0"
>
# or set it to anon
<dns
server="127.0.0.1"
timeout="5"
>
Limit user history (
WhoWas
), channel visibility, and splat targets.
<whowas
groupsize="0"
maxgroups="0"
maxkeep="0"
>
Consider adding a Message of the Day (MOTD) and Administrator information:
<admin
name="Admin"
nick="admin"
email="admin@localhost"
>
<files
motd="/etc/inspircd/inspircd.motd"
>
Example /etc/inspircd/inspircd.motd
:
**************************************************
* A N Y O N E *
* This is a private irc server. Please contact *
* the admin of the server for any questions or *
* issues. * /$$
************************************************** |__/
/$$$$$$ /$$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$ /$$ /$$$$$$
|____ $$| $$__ $$| $$ | $$ /$$__ $$| $$__ $$ /$$__ $$ | $$ /$$__ $$
/$$$$$$$| $$ \ $$| $$ | $$| $$ \ $$| $$ \ $$| $$$$$$$$ | $$| $$ \ $$
/$$__ $$| $$ | $$| $$ | $$| $$ | $$| $$ | $$| $$_____/ | $$| $$ | $$
| $$$$$$$| $$ | $$| $$$$$$$| $$$$$$/| $$ | $$| $$$$$$$ /$$| $$| $$$$$$/
\_______/|__/ |__/ \____ $$ \______/ |__/ |__/ \_______/|__/|__/ \______/
/$$ | $$
| $$$$$$/
\______/
IRC Client
How to connect an IRC client to the Private Hidden IRC Server.
Install an IRC client
Ubuntu Linux Terminal Ubuntu Linux Desktop
Ubuntu Terminal (Linux CLI)
Install weechat.
sudo apt install weechat
Start Weechat
weechat

Add a server:
(Change the address to your own hostname.anon
address)
/server add anyone 55xt22bcdg6w7d26xf6eix6r33vgy34b4qoicm4z6zep63ebbm24gxad.anon/6667 -autoconnect -notls

Set your nickname on the server:
/set irc.server.anyone.nicks ANyONe

Add a proxy:
/proxy add anon socks5 127.0.0.1 9050

Set the proxy to use for the server:
/set irc.server.anyone.proxy "anon"

Connect to the server:
/connect anyone

Join a channel
/join #anyone


Part from a channel:
/part #anyone
Switch windows:
Use Alt + 1 or 2 to change windows back to the "server" window.
Disconnect:
/disconnect
Quit:
/quit

Ubuntu Linux Desktop
Install HexChat with a terminal:
sudo apt install hexchat
Start HexChat with the terminal or find it with your other desktop applications.
hexchat
Set Proxy Server in HexChat Preferences
Open Settings > Preferences > Network - Network setup.
Proxy Server
Hostname: 127.0.0.1
Port: 9050
Type: SOCKS5
OK to Save.

Disable Logging




Join a channel with this command:
/join #anyone

Invite some friends

Last updated