pyshaper 0.1.3
pyshaper is a simple yet very versatile dynamic bandwidth manager application for Linux platforms
pyshaper is a simple yet very versatile dynamic bandwidth manager application for Linux platforms.
Development of pyshaper was started by a number of factors:
Broadband internet access within New Zealand is abysmal, due to the local telco mafia controlling the local loop. You have to either put up with 128kb/s up/down (with 5-15GB monthly traffic), or suffer stupidly restrictive traffic caps (as little as 400MB/month) if you want faster connections
Existing traffic shaping software is either extremely limited or extremely complicated
I like to participate in a few different Peer2peer networks (eg Freenet, I2P etc - not your typical warez/MP3-type networks, but more privacy/anonymity networks), and I needed a simple way to stop these programs from blowing out my traffic
'tc' has a steep learning curve, and doesn't allow easy filtering on any criteria other than source/destination host/port.
I scoured the net, and came across the wondershaper script, as well as a prototype easy-shaper program called 'snitch'. These programs helped me to start fathoming the occult mysteries of the arcane 'tc' utility (part of the iproute2 suite). tc in its present state is very lacking in doco and examples, so these programs helped heaps.
So, as is an Open Source motto - If you can't find it, write it! - I realised I had to pull my finger out and write something myself.
Here are some key features of "pyshaper":
pyshaper lets you set bandwidth minimum and maximum limits on several criteria:
remote host/port, and local host/port (most shaper apps have this)
pid of locally connected program
username under which local program is running
command line and arguments under which local program was launched
country in which remmote peer resides
With all these filtering criteria available, you can set up some pretty sophisticated filters.
For instance, you can use the 'by program' filtering to put bandwidth caps on peer2peer programs that often talk via several different protocols, to different ports (which evades most other traffic-shaping programs).
Or, you can set individual inbound and/or outbound limits based on specific countries (or all countries other than your own).
Configuration file syntax is pretty simple and straightforward. No arcane nuts'n'bolts TCP/IP grease-monkey bit-bashing knowledge needed. After a quick pass through the doco and examples, you'll be building your shaping configuration within a few short minutes.
Requirements:
Linux 2.4.x, 2.5.x or 2.6.x (tested on 2.6.4) iproute2 software (with the 'tc' utility) (available with all decent Linux distros)
Python 2.2.2 or later
GeoIP (optional, debian package python-geoip)
A few simple kernel settings, spelt out in the INSTALL file
In addition, if you want to run the optional GUI front-end, you'll need:
Tkinter (debian package python-tk)
Tk 8.4 or later - http://www.tcl.tk (debian package tk8.4 (or 'tk8.5'...)
Python Megawidgets (PMW) - http://pmw.sourceforge.net (debian package python-pmw)
tcpdump (debian package tcpdump)
tags
debian package you can host port these programs package python which local local program can set under which with all and examples traffic shaping you want
Download pyshaper 0.1.3
http://www.freenet.org.nz/python/pyshaper/pyshaper-0.1.3.tar.gz
Authors software
|
PyBison 0.1.8 (by David McNab)
PyBison is a Python binding to the Bison (yacc) and Flex (lex) parser-generator utilities.
It allows parsers to be quickly and eas
|
|
pyshaper 0.1.3 (by David McNab)
pyshaper is a simple yet very versatile dynamic bandwidth manager application for Linux platforms
|
Similar software
|
pyshaper 0.1.3 (by David McNab)
pyshaper is a simple yet very versatile dynamic bandwidth manager application for Linux platforms
|
|
Easy Shape 0.1 (by David Wilson)
Easy Shape is a web-based frontend written in HTML/PHP for managing and graphing traffic/bandwidth flows under Linux
|
|
SuperShaper-SOHO 1.1 (by Robin Smidsrod)
SuperShaper-SOHO is a traffic shaping setup for DSL connections which prioritizes VoIP and interactive traffic and makes sure P2P tra
|
|
mod_iptos 1.1 (by Dean Gaudet)
mod_iptos can set IPTOS values on outgoing packets to assist traffic shaping.
I wanted bandwidth control for a few virtual hosts,
|
|
CTShaper 1.1.1 (by Carlos Rodrigues)
CTShaper is a shell-script that helps setting up a traffic shaper, using Linux's built-in network QoS (Quality of Service) infrastruc
|
|
httpMonitor 0.2 (by Volker Stampa)
httpMonitor is a Python program which lets you monitor the HTTP traffic between a browser and a Web server
|
Other software in this category
|
Nmap 4.20 (by Fyodor)
Nmap is a utility for network exploration or security auditing
|
|
iptables 1.3.7 (by Harald Welte)
iptables and netfilter are building blocks of a framework inside the Linux 2.4.x and 2.6.x kernel
|
|
rdesktop 1.5.0 (by matthewc)
rdesktop is an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of natively speakin
|