Configure UUCP
Installation
Debian
aptitude install uucp openbsd-inetd
Archlinux
pacman -S uucp mkdir /var/spool/uucp mkdir /var/spool/uucppublic /usr/sbin/useradd -d /var/spool/uucp -g uucp -M -N -r -u 10 uucp chown uucp:uucp /var/spool/uucp /var/spool/uucppublic
Configuration
/etc/uucp/config
Configure the hostname to use in the uucp-network, the location of the other configuration files, the location of the uucp spool directory, the public spool directory and the behaviour for guest logins.
nodename unique_hostname_in_i2p # Default configuration file locations sysfile /etc/uucp/sys portfile /etc/uucp/port dialfile /etc/uucp/dial callfile /etc/uucp/call passwdfile /etc/uucp/passwd lockdir /var/spool/uucp/lock # spool directory and public file directory spool /var/spool/uucp pubdir /var/spool/uucppublic # don't allow guest systems to upload files unknown receive-request no # Allow guest systems to fetch files from the public file directory only unknown pubdir /var/spool/uucppublic unknown remote-send ~
/etc/uucp/sys
Define remote systems we want to communicate with.
### Default configuration parameters for all systems # use parameters from the call(for outgoing connections) or passwd(for incoming connections) file call-login * call-password * # give remote end some time to login chat-timeout 120 # allow a connection from some peer every 100s success-wait 100 # allowed commands(mail and news for now) commands rmail rnews ## List of systems to call # Call system 'gandalf' at any time we have something for them # Use localhost:12500 as address:port(replace port with whatever port you configured in I2PTunnel!) system gandalf time any address localhost port type tcp port service 12500 ## List of systems that can call us # Never call system 'bar', but define it anyway to allow incoming connections system bar time never
/etc/uucp/call
Define usernames and passwords to use for outgoing connections to specific hosts.
# Remote system Remote user Remote password
gandalf some_user some_password
/etc/uucp/dial
Define a protocol for logging in and stuff.. usually not needed.
# empty!
/etc/uucp/Poll
When to poll other systems for incoming files.
# schedule a call.. schedule gandalf 1 3 5 7 9 11 13 15 17 19 21 23 # if the first try fails, we try a second time(schedule 1 => try in 1 and in 2 if the first try fails) poll gandalf 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Setup incoming connections
uucp
/etc/uucp/port
Configure the port to use for incoming connections.
# define the 'TCP' port port TCP type tcp
/etc/uucp/passwd
Define usernames and passwords to accept for incoming connections to this host.
# Username<TAB>Password
bar nf2j34234n341A123BD3g
inetd
uucp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/uucico -l -x 4
I2PTunnel
Create a new server-tunnel and point it to localhost:540. Publish your destination in the form unique_hostname_in_i2p.uucp.i2p over here. Subscribe to this link http://trac.i2p2.i2p/wiki/howto/uucp/hosts?format=txt to get all new sites.
Setup outgoing connetions
I2PTunnel
Create a new client-tunnel with the destination of the remote system and bind it to some local port(but remember.. it has to be the same port as configured in the sys-file)
Testing
su - uucp uucico -I /etc/uucp/config -f --debug 7 -s remote_system_name