Psybnc Help

Introduction

If you know nothing about bncs, a bnc is short for a 'bouncer.' A bnc acts as a proxy for irc, allowing you to hide your real IP address and use a vhost (vanity host - something like 'this.is.a.l33t.vhost.com'). What are the advantages of this? Well, mainly there's just one important one: It'll stop stupid packet kiddies from trying to knock you off the network. Everyone hates getting disconnected, and with a bnc on a decent shell, you should be pretty immune. Remember though: the kiddies can still nuke you, but it is assumed that the shell provider has a high-bandwidth line that allows it to withstand the numerous packets. If your shell is on a 56.6, you'll still be screwed.

So... why psybnc? There are a variety of other open source bnc's available for you to download, most notably EZBounce and plain-ol BNC. Both of these do the exact same basic thing as psybnc: hide your real host. But that's about where the similarity ends. I've been using psy for a long time now, and I love with all the features that it offers. To name a few:

  1. You'll always be connected to irc. Even when you close your irc client, psy will maintain your connection. When you connect later, you'll instantly be back on the channels you left. This also lets you hold your nick (if you need that feature), or hold ops on a channel.
  2. Psy hides your IP even in DCC sessions. In other bncs, a direct client-client session is opened, thus revealing your IP. In psy, the connection is bounced through the shell, and your IP remains your dirty little secret ;)
  3. You can link multiple psy's together. This allows you to share vhosts, and also create a small ircd, termed the 'internal' network on the bncs.
  4. psyBNC now supports SSL.

 

There are tons more features, but you can just download the source and view the README.

Configuration

Hopefully you have already downloaded the source. If not, you can find it here: http://www.psybnc.at. After you have downloaded that, fire up your favorite ftp client and upload it to the root directory of your shell. Below are the commands to setup ur PSYBNC.

  1. wget http://www.psybnc.at/download/beta/psyBNC-2.3.2-7.tar.gz
  2. tar zxvf psyBNC-2.3.2-7.tar.gz
  3. cd psybnc
  4. make
  5. pico psybnc.conf or nano psybnc.conf After entering into psybnc.conf using your editer, user your arrow keys, change the port and than press CTRL + X to save than press Y than Enter
  6. ./psybnc

 

 

Done. Your Psybnc should be working after this.

Setting up your account

The first thing you need to do is connect to your bnc. In your irc client, open up the connect dialogue box and add in another server. Name it My BNC or something like that, enter the IP and port, and enter the password that you chose (either through menuconfig or in the conf file). Now make sure that your ident is set to your username. It's also a good idea to set your e-mail address to username@whatever.com. If psy can't get an ident response from you, it checks your e-mail addy as verification of the username. If everything goes well, you'll see this when you connect:

-Welcome- psyBNC2.3.2-7

Now you need to get connected to irc: first, you need to select your vhost. To see what vhosts are available, at your shell prompt type:

Vhosts

This command is only available if your shell provider has created such a function, but in my experience 99% have. For security reasons (?), there is no way to view the vhosts in psy. After your vhost is selected, you'll need to add in some irc servers, and set a few other options. the commands follow below. All commands appear like this /mycommand, everything else after it is an explanation. All brackets are for my purposes, don't use brackets in any command!

/bvhost [vhost] -- (this command used to be /vhost) -- [vhost] is your vhost in alpha form (ie, this.is.a.cool.vhost.com and not 127.0.0.1)

/addserver [server] :[port] -- server can be in alpha or numeric form...

Once you add in the server, psy will auto-connect to it in a short while. You can add in more servers so that if one goes down, psy can reconnect to a different one. Just use the command above again. For server managment:

/listservers -- lists all the servers you have added

/delserver [n] -- deletes the server with #[n] (as shown by the listservers command)

/jump -- disconnects you from your current server and attempts to connect to the next server in your list

/bquit -- disconnects you from the server until you force it to connect

/bconnect -- connects you to irc

Now, remember that psy will keep you connected to irc even when you're not connected to the bnc. So, these commands are helpful:

/setaway [message] -- psy will display this message to all channels you're on when you quit the bnc. It will NOT repeat this message (since that's gay). To remove the message, just type /setaway

/setawaynick [nick] -- when you quit the bnc, psy will auto-change your nick to the nick you set here. When you reconnect, it'll auto change it back to what's shown in the mirc nick.

OK, now for some more commands that ppl find useful. Remember that ALL commands are in the README file that came with psybnc. I'm not going to repeat all of them.

/playprivatelog -- plays the log of all messages sent to you when you were disconnected from the bnc. The log will be opened in a window called -psyBNC.

/eraseprivatelog -- erases the aforementioned log.

psy has a damn cool feature in that it allows encryption. You can encrypt text sent to a channel or a person. Each person needs to have the same key to view the text. This is helpful if you're paranoid, or if you want to have a private conversation in a public channel. (Why you wouldn't just pm is beyond me ;) It also makes you look l33t lol.

/encrypt [password] :[channel/person] -- make sure everyone you want to speak with has the same key. And they need to be using psybnc as well. duh.

/listencrypt -- lists your current encryptions

/delencrypt [n] -- deletes encryption #[n] as shown by the listencryption command.

User Management

Obviously, if you have your bnc compiled as singleuser, this section is pointless for you. But for everyone else, I'm sure you want to add in other users, delete them, etc... Here's the commands to do it:

/adduser [user] :[real name] -- the [user] is what the person will have to set their ident to. The [real name] part is what ppl will see when doing a /whois. for example: /adduser Jack :me love you long time will show this in the first line of a whois: 
Jack is ident@vhost * me love you long time.

/deluser [user] -- deletes the user.

/password [new pass] -- changes your password. If you're an admin, you can change other ppl's passwords:/password [user] :[pass]

/madmin [user] -- makes a user into an admin (choose your admins carefully!)

/unadmin [user] -- removes admin rights from a user.

/bwho -- see who is added to your bouncer. Also shows if they're connected, what server they're connected to, and what their IP is.

I recommend you secure your bnc even more by restricting what IPs can connect to it:

/addallow [IP or mask] -- lets whatever IP or mask you specify connect to the bnc. IPs can be definite, ie. 12.12.12.34 or masked, 12.12.12.*. You can also use hostnames and masks such as *.myisp.com.

/listallow -- lists the allowed connections.

/delallow [n] -- deletes allow #n as shown by listallow.

Setting up Crontab

The basic form for a crontab entry is (to the best of my knowledge):
<minute> <hour> <day> <week> <month> <process to run>

So, if you like to check every 10min, it would be:

0,10,20,30,40,50 * * * * /path/to/my/process

Included with psybnc is psybncchk. Open this file and change the line that readsPSYBNCPATH=/set/path/here. Set it to your psybnc directory of course. Make sure this file has execute perms; in your shell, type:

chmod 700 psybncchk

Then add the following to your crontab (use crontab -e to edit your crontab): (this example is for a check every 10 minutes:

0,10,20,30,40,50 * * * * /home/king/psybnc/psybncchk >/dev/null 2>&1

The >/dev/null 2>&1 part tells crontab not to send you an e-mail whenever it restarts psybnc. Omit that part if you like e-mail.

Back