There are two types of "vhosts": real and fake.
Real vhosts are usually called "reverse DNS" (also called rDNS)—it's basically a DNS record for your IP address, pointing to some domain name with a PTR
record, which is looked up by the server upon connection (be it ircd
, httpd
, or anything else). This is the "Looking up your hostname..." notice you see immediately after connecting to IRC.
If a user connects from 2001:db8::42
, for example, a DNS lookup is performed for 2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
. If the user connected from 192.0.2.123
, the equivalent DNS name will be 123.2.0.192.in-addr.arpa.
. The reverse DNS can be changed by whoever controls the IP address block. If you have a single IPv4 address for your home network, you usually have to annoy your ISP to get the rDNS changed.
To avoid spoofing, an ircd
(the IRC server program) will compare reverse and forward DNS—that is, it will make sure your rDNS hostname points back to your IP address—before displaying it to other users.
For those who are unable to change their real rDNS, most IRC networks offer "virtual hosts" or "cloaks".
Almost every IRC daemon has the ability to change user's displayed hostname at any time; usually this is restricted to operators, or even to services. For example, with the IRC command /chghost joeuser joes-fake-hostname.net
(assuming sufficient privileges).
On most networks this process is automated by services—once an operator assigns you a vhost (cloak), you get it set every time you identify to your services account.
(I'm saying "services", not "NickServ" or "HostServ", because most of the time it is a single program presenting itself as all of the *Servs.)
There is no definite answer. Each network has its own rules regarding Tor and proxy servers in general.
For Freenode, you have to:
- Set up your IRC client for SASL authentication (KB article);
- Connect to the Freenode hidden service (KB article).
The Tor cloak will be applied automatically. However, you mentioned that you already have a generic unaffiliated/*
cloak, so Tor should not be necessary on Freenode.
(Nevertheless, configuring SASL is a good idea, to ensure that your cloak – Tor or not – gets applied before joining channels.)
Alternatively, you can connect to IRC through a (proxy) server. Some people rent their own VPS and configure it as a proxy; others settle with an account on a public "shell server".
Whichever of these you choose, it is very easy to tunnel IRC over a generic SSH 'shell' connection.
Some people prefer to use bouncers instead – it's a kind of IRC proxy server that, in addition of hiding your actual address, allows your session to stay online 24/7 even if you disconnect from the bouncer. (IMHO, not much point in that, unless you want to keep complete logs of a channel.)
Best Answer
Depending on the network you're connecting to, there are many ways to do this.
Usermodes
Some networks have a usermode
+x
, which will mask your IP address. It requires you to have a registered account, on most networks. Once you've identified, you can do:vhosts/Cloaks
Some networks have the option to enable vhosts or cloaks. Enabling vhost will turn
Linkas@77.77.77.222
intoLinkas@some.vhost.here
Basically a Vhost a string of letters and numbers, with periods instead of spaces. Many networks have HostServ services, and enabling your vhost is really easy. Once you've identified, you can request a vhost:
Some networks like freenode provide users with cloaks. It's used to show affiliation (or lack thereof) to a particular group or project, but it also masks your IP as a side-effect. To get a cloak, you can join the
#help
channel for that network, and request a cloak there.Tor
Some networks allow access via Tor. The instructions for setting up Tor on freenode network can be found in the links given below:
I hope this helps :)