Skip to content

Tags: robinsmidsrod/SuperShaper-SOHO

Tags

2.0

Toggle 2.0's commit message
Bump version to 2.0: Changed scheduler to HFSC and export flow labels

The HTB scheduler has been in the Linux kernel for lots of years, but a
better scheduler has been developed, called HFSC. It has a much better
link-sharing algorithm which we use here. It also has support for real-time
(hard) latency guarantees, but I couldn't find any good documentation that
explains how to exactly convert required bitrate and max latency numbers
applications give in their documentation to proper "rt" service curve
configuration parameters. But using just "ls" service curves still
impressively outperforms the older HTB scheduler.

The flow definition labels are now exported into a CSV file so that you can
use them in other scripts without having to copy-n-paste them to that other
software. This should avoid the flow definitions getting out of sync with
other monitoring software.

The flow definitions are printed on startup along with their rates and
percentages. The sum of all the percent values are also printed so it is
easy to see if they sum up to 100%.

The stop_me function didn't actually check the qdisc on the defined
interface, but used the example value (ppp0). This should now be fixed.

Updated changelog and README.

1.6

Toggle 1.6's commit message
Bumped version to 1.6 because of massive changes

Rewritten flow and filter definitions to use bash functions, avoiding
cargo-culting and allowing for easier definitions of new flows and filters.

Stopped using deprecated bash feature for calculations.

Switched HTB leaf scheduler from SFQ to fq_codel.

Added support for Lync (Skype for Business), cloud backup, VPN client,
small ICMP/DNS packets, HTTP reverse proxy and OpenVPN server.

Added detection of small packets in general, which should detect most
interactive traffic automatically.

Removed all filters based on TOS/DSCP bits, as most software don't set
these bits on outbound traffic.

Removed support for Emule, DirectConnect, Kazaa, Gnutella, MeetCon,
LG/Goldstar iPECS MFIM (VoIP phone), SquidCam, Shoutcast and
World of Warcraft.

Updated comments and documentation, should be easier to understand now.

Updated changelog with missing details from previous version.

Changed syntax of changelog.

Changed README to use Markdown syntax.

1.5

Toggle 1.5's commit message
Bumped version to 1.5

* Added init info so it's usable as a typical init script
* Moved default bucket above P2P bucket
* Added another BitTorrent port
* Added static Skype port to VoIP bucket
* Added LG iPECS MFIM VoIP phone
* Added MeetCon video conferencing (by destination IP)
* Added UseNet (with and without SSL) to download bucket
* Improved console output
* Cleaned up licensing info and contact details

1.4

Toggle 1.4's commit message
Bumped version to 1.4

1.3

Toggle 1.3's commit message
Release 1.3 of SuperShaper-SOHO. Now written as a basic init script. …

…Should work out of the box in /etc/init.d/.

1.1

Toggle 1.1's commit message
Added SuperShaper, MovieBase and exiftime_rename.