The FreeBSD Diary

The FreeBSD Diary (TM)

Providing practical examples since 1998

If you buy from Amazon USA, please support us by using this link.
[ HOME | TOPICS | INDEX | WEB RESOURCES | BOOKS | CONTRIBUTE | SEARCH | FEEDBACK | FAQ | FORUMS ]
Installing an IRC Proxy * 31 January 1999
Need more help on this topic? Click here
This article has 4 comments
Show me similar articles
This topic is a work in progress, but feel free to browse the mess.

I decided to install an IRC Proxy in an attempt to get my DCC sessions fully functional.  I'm behind a firewall.

bnc make
The proxy server I've decided to install is known as bnc.  As I already had the entire ports tree, here's what I did to make bnc:
[root@ns:/var/log] # cd /usr/ports/net/bnc/
[root@ns:/usr/ports/net/bnc] # make
>> bnc-web.tar.gz doesn't seem to exist on this system.
>> Attempting to fetch from http://www.bridgenet.net/bnc/.
Receiving bnc-web.tar.gz (22972 bytes): 100%
22972 bytes transfered in 0.7 seconds  (30.81 Kbytes/s)
===>  Extracting for bnc-2.4.3
>> Checksum OK for bnc-web.tar.gz.
===>  Patching for bnc-2.4.3
===>  Applying FreeBSD patches for bnc-2.4.3
===>  Configuring for bnc-2.4.3
creating cache ./config.cache
checking for gcc... cc
checking whether the C compiler (cc -O -pipe ) works... yes
checking whether the C compiler (cc -O -pipe ) is a 
                                                cross-compiler... no
checking whether we are using GNU C... yes
checking whether cc accepts -g... yes
checking how to run the C preprocessor... cc -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/time.h... yes
checking for unistd.h... yes
checking return type of signal handlers... void
checking for select in -lsocket... no
checking for select in -lnsl... no
checking for select in -linet... no
checking for select in -lcposix... no
checking for select in -lnet... no
checking for snprintf... yes
checking for vsnprintf... yes
updating cache ./config.cache
creating ./config.status
creating Makefile
creating config.h
===>  Building for bnc-2.4.3
gcc -DVERSION='"v2.4.3"' -O6 -c bnc.c
gcc -DVERSION='"v2.4.3"' -O6 -c conf.c
gcc -DVERSION='"v2.4.3"' -O6 -c server.c
gcc -DVERSION='"v2.4.3"' -O6 -c fifo.c
gcc -O6  -o bnc bnc.o conf.o server.o fifo.o
strip bnc
[root@ns:/usr/ports/net/bnc] # make install
===>  Installing for bnc-2.4.3
/bin/cp /usr/ports/net/bnc/work/bnc2.4.3/bnc /usr/local/bin
/bin/cp /usr/ports/net/bnc/work/bnc2.4.3/bncchk /usr/local/bin
/bin/cp /usr/ports/net/bnc/work/bnc2.4.3/example.conf 
                                             /usr/local/etc/bnc.conf
===>   Generating temporary packing list
===>   Registering installation for bnc-2.4.3
Configuring bnc
Please refer to the /usr/ports/net/bnc/work/bnc2.4.3/README file for details on configuring bnc.  Here's what I decided to do.

I used example.conf as my starting point.

[root@ns:/usr/ports/net/bnc/work/bnc2.4.3] # bnc /etc/bnc.conf 
Irc Proxy v2.4.3 GNU project (C) 1998-99
Coded by Pharos Aka. James Seter :bugs-> (Pharos@DAL.net)
--Using conf file /etc/bnc.conf
--Configuration:
    Daemon port......:6669
    Admin password...:password
    Client password..:-NONE-
    Maxusers.........:0fs
    Default conn port:7000
    Pid File.........:pid.normalusers
    Vhost Default....:bnc.fake.org
    Vhost entry......:maddhatter.org
    Process Id.......:24899
Exit bnc{7} :Successfully went into the background.

Well, that didn't solve the DCC problem.  Time for a transparent proxy.

transparent proxy
[root@ns:/usr/ports/net] # fetch -P 
                            http://www.scour.org/tircproxy-0.3.0.tar.gz
Receiving tircproxy-0.3.0.tar.gz (20948 bytes): 100%
20948 bytes transfered in 5.4 seconds  (3.81 Kbytes/s)
[root@ns:/usr/ports/net] # tar -xvf tircproxy-0.3.0.tar 
tircproxy/
tircproxy/tircproxy.c
tircproxy/Makefile
tircproxy/README
tircproxy/BUGS
tircproxy/CHANGELOG
tircproxy/COPYING
tircproxy/tircproxy.init
tircproxy/tircproxy-0.3.0.lsm
[root@ns:/usr/ports/net] # cd tircproxy

 

After gettig the more recent port:

[root@ns:/usr/ports/net/tircproxy-0.4] # ./configure
creating cache ./config.cache
checking host system type... i386-unknown-freebsd2.2.8
checking target system type... i386-unknown-freebsd2.2.8
checking build system type... i386-unknown-freebsd2.2.8
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for a BSD compatible install... /usr/bin/install -c
checking for main in -lwrap... no
checking for main in -lnsl... no
checking for main in -lsocket... no
checking for main in -lcrypt... yes
checking for strip... /usr/bin/strip
checking for OS quirks... done.
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for fcntl.h... yes
checking for sys/ioctl.h... yes
checking for sys/time.h... yes
checking for crypt.h... no
checking for syslog.h... yes
checking for unistd.h... yes
checking for netinet/ip_nat.h... no
checking for working const... yes
checking for uid_t in sys/types.h... yes
checking whether gcc needs -traditional... no
checking whether setpgrp takes no argument... no
checking return type of signal handlers... void
checking for select... yes
checking for socket... yes
checking for strerror... yes
checking for strstr... yes
checking for vsnprintf... yes
checking for vprintf... yes
updating cache ./config.cache
creating ./config.status
creating Makefile
creating config.h
[root@ns:/usr/ports/net/tircproxy-0.4] # ee config.h

Need more help on this topic? Click here
This article has 4 comments
Show me similar articles