Hi,
I''ve released an alpha of ''pyshaper'' - a python prog
which simplifies
traffic-shaping.
Requires python2.2 or later, a 2.4 or later Linux kernel with QoS
options compiled in, the iproute2 suite and optionally GeoIP as well.
pyshaper periodically netstats the current TCP connections, matches them
against your rules, and dynamically calculates/generates/executes
''tc''
commands in the background to control both inbound and outbound traffic
to your general requirements.
Configuration file syntax is very simple, and eliminates 98% of the pain
one normally goes through when hand-writing ''tc'' scripts. In
fact, you
don''t need to know tc at all to use it.
In the pyshaper config file, you declare devices, set in/out limits, and
simple boolean expressions which can matching connections against
criteria such as:
- local/remote host/port
- local program on the local end of the connection
- the username under which each local prog is running
- the local prog''s invocation arguments (and its pid)
- country in which remote host resides
With this flexibility, it is possible to detect and traffic-shape
programs which are otherwise hard to police (eg certain p2p apps which
talk on different ports), and for which there are no adequate
protocol-detecting shaper plugins available.
Intended usage of pyshaper is home systems/networks, where bandwidth is
limited, traffic consumption is a concern (eg internet connections with
strict traffic caps), and where there is a desire to have potentially
bandwidth-guzzling programs (eg p2p apps like Freenet) running 24/7),
and where one wants to guarantee good bandwidth for critical
communications (eg web/mail server).
GPL (of course)
Info and downloads at http://www.freenet.org.nz/python/pyshaper
Caveats:
- it''s in alpha - only tested on Debian sid with kernel 2.6.4
- worst-case scenario - no system damage, but possible bugs might
cause it to not work as well as desired.
Enjoy!
--
Kind regards
David
--
leave this line intact so your email gets through my junk mail filter
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/