CTShaper is a shell-script that helps setting up a traffic shaper.
Version: 1.1.1CTShaper is a shell-script that helps setting up a traffic shaper, using Linux's built-in network QoS (Quality of Service) infrastructure.
Operating System: Linux
Have you ever noticed how your SSH/gaming sessions become sluggish when you start downloading something, or how your downloads slow down when you start uploading?
Have you ever been annoyed by other peoples' downloads forcing you to wait ages while an email is being sent? Or making your web navigation painfully slow?
Well, if your outgoing link is managed by a Linux router/gateway, then you could benefit from using CTShaper.
CTShaper reduces link latency by preventing packet queues from getting too long on your side (your ADSL or Cable modem) and on your ISP's side (their routers). Long packet queues is what makes your uploads interfere with your downloads, and your downloads interfere with your SSH or gaming sessions.
Additionally, CTShaper sets up four traffic queues with different priorities and configurable flow rates (to have minimum bandwidth guarantees for each class). By default, only traffic with ToS (Type of Service) information gets prioritized (which could be enough, if lots of software had support for it, which they don't), but you can use your firewall (iptables, or an iptables frontend like FireHOL) to "mark" traffic.
The traffic shaper will then prioritize (outgoing) traffic based on those "marks". You can, for instance, give priority to SMTP and HTTP traffic. This will only affect outgoing HTTP and SMTP traffic, but that's enough to make your emails go out faster, and your web navigation more responsive.
· Linux 2.4.20 or greater with QoS compiled in;
· A recent "tc" (part of the iproute2 package).
· Run "./install.sh";
· Configure everything in "/etc/ctshaper/ctshaper.conf" (instructions are contained in the configuration file itself);
· Configure your firewall to properly mark packets (if you are using FireHOL, you can just include the "extras/shaper.conf" file into the beginning of "/etc/firehol/firehol.conf");
· Restart your firewall (to start marking packets);
· Run "/usr/local/sbin/ctshaper start";
· Properly tune the DOWNLINK/UPLINK values in "/etc/ctshaper/ctshaper.conf" as explained there (restarting ctshaper as needed);
· Configure your system to run "/usr/local/sbin/ctshaper start" whenever the interface it is going to shape is started (if this is a PPP link, and you are using Debian, you can just copy the script "extras/ctshaper-start" into "/etc/ppp/ip-up.d").
What's New in This Release:
· The "iptables-mark.sh" script, which sets up packet marking using only the "iptables" tool, was added.
· This is supposed to ease the lives of those who don't want to learn how to use iptables or those that aren't using any iptables frontend.