IRCVPN README + file

This commit is contained in:
Sebastian Lohff 2012-01-15 01:49:48 +01:00
parent 1a1ed6fa97
commit 3ac84ef85f
2 changed files with 3 additions and 4 deletions

View File

@ -10,6 +10,7 @@ Furthermore: All of your data will go kind-of plaintext over an Irc-channel.
While this is a rather uncommon way of ip transit, everybody who While this is a rather uncommon way of ip transit, everybody who
is able to join the channel might be able to eavesdrop. is able to join the channel might be able to eavesdrop.
Installation and requirements Installation and requirements
============================= =============================
* python-irclib * python-irclib
@ -20,6 +21,7 @@ hint of what this switch will do. Some of the security settings are rather
untested, keep that in mind. After configuration, start the tunnel with untested, keep that in mind. After configuration, start the tunnel with
python ircvpn.py. A tap-device will open and the tunnel should be ready to run. python ircvpn.py. A tap-device will open and the tunnel should be ready to run.
What it does and how it works What it does and how it works
============================= =============================
IrcVPN uses an ircchannel as its transport medium. When starting this tunnel, IrcVPN uses an ircchannel as its transport medium. When starting this tunnel,
@ -55,6 +57,7 @@ bot has the right to flood the ether as much as it wants with network packets.
Ircs right management can always be used to mute, rate-limit or remove spamming Ircs right management can always be used to mute, rate-limit or remove spamming
or otherwise unwanted clients. or otherwise unwanted clients.
Header Format Header Format
============= =============
<fragmentation flag><packet id> <base64 encoded message> <fragmentation flag><packet id> <base64 encoded message>

View File

@ -16,10 +16,6 @@ import logging
import subprocess import subprocess
from ether2any.helper import getDstMacFromPkt, isBroadcast, binToHexStr from ether2any.helper import getDstMacFromPkt, isBroadcast, binToHexStr
# TODO
# replace base64 with something better
# write switching part
class IrcVPN(Ether2Any): class IrcVPN(Ether2Any):
headerlen = 1 + 5 + 1 # flag + number + whitespace headerlen = 1 + 5 + 1 # flag + number + whitespace
pkgre = re.compile("^([a-zA-Z])(\d{5}) (.*)$") pkgre = re.compile("^([a-zA-Z])(\d{5}) (.*)$")