Log In     Register    

Super Simple Server
The best way to create your web site.


Bandwidth
Several tools are included in Super Simple Server to help you manage your bandwidth very closely.  This can be especially useful if you are sharing your internet connection with other users or services.


Charts


A number of charts are available in the admin section of your site, at mysite.example/admin/bandwidth.  You will also find a place where the throttle control settings can be free-form edited.


Basic Throttle Control


At mysite.example/admin/bandwidth?edit you can edit the throttle settings.  Here is a basic example:

in_limit: 1200K
out_limit: 750K
in_user_limit: 500K
out_user_limit: 300K

The basic format is name:value, one per line.  Values can use a K, M, G on the end to signify standard units of a thousand, million, or billion.

The total limit for all traffic on the server is set with in_limit and out_limit.

The limit for individual users is set with in_user_limit and out_user_limit.  This uses the user ID, or the session ID for guests, to enforce the limit.


Groups


Here is an example that will create a group for guests, and give them a separate bandwidth allowance, both collectively as a group with the in_limit and out_limit, and also as individual users.  Users are determined by session ID, and will be limited individually with the in_user_limit and out_user_limit.  The user limits will replace any previous user limits, but the group limits imposed with in_limit and out_limit will be applied after the global limit, so they can only be used to lower bandwidth allowed, not raise it.

group:guests
capture_levels:guest
in_limit: 200K
out_limit: 200K
in_user_limit: 150K
out_user_limit: 150K

When making a group, the first line should be group: with a label for the group, then lines that describe the properties of the group, with no blank lines.  A blank line denotes the end of a group.

Capture

Only one capture_ line has to match for a connection to be captured into a group.  Groups are evaluated from top to bottom.

capture_levels: - one or more levels, separated by a comma, such as owner,admin,op,mod,vip,trusted,user,newuser,silent,disabled
capture_ips: - one or more addresses, with optional prefix length, eg. 192.168.0.0/24,10.1.2.3,2004:9FC2::/32
capture_users: - a list of user names, comma separated
capture_paths: - a list of paths, comma separated
capture_sites: - a list of site host names, comma separated

Match / Exclude Filters

The same criteria used for the capture_ lines can be used for match_ and exclude_ lines.  For a connection to be attached to a group, it must first be captured by one capture_ line, and then match all match_ lines (if there are any), and then not match any exclude_ lines.  Note that any group that does not have any capture lines will capture all connections by default, which will then be subject to any match/exclude lines as usual.

match_levels: - one or more levels, separated by a comma, such as owner,admin,op,mod,vip,trusted,user,newuser,silent,disabled
match_ips: - one or more addresses, with optional prefix length, eg. 192.168.0.0/24,10.1.2.3,2004:9FC2::/32
match_users: - a list of user names, comma separated
match_paths: - a list of paths, comma separated
match_sites: - a list of site host names, comma separated

exclude_levels: - one or more levels, separated by a comma, such as owner,admin,op,mod,vip,trusted,user,newuser,silent,disabled
exclude_ips: - one or more addresses, with optional prefix length, eg. 192.168.0.0/24,10.1.2.3,2004:9FC2::/32
exclude_users: - a list of user names, comma separated
exclude_paths: - a list of paths, comma separated
exclude_sites: - a list of site host names, comma separated


Scheduling


During normal operation, the bandwidth throttle file is re-loaded from disk every few minutes.  When loading, sections of the file can be selectively included or excluded based on the current time and/or date.  This is done by adding one of the following lines, which will cause all lines after to be effective or not depending on whether the time or date matches the parameters.

times: - a list if 24h time ranges, eg. 1800-0000,0500-0830
days: - one or more of mon,tue,wed,thu,fri,sat,sun OR one or more day of the month ranges, eg. 1-10,18,22-25
months: - one or more of jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
years: - a list of one or more years, comma separated

For any time/date filtering lines, you can later add the same line with the value all to stop the filtering.  So for example if you wanted to filter a small section in the middle of a file to only be effective from midnight to 5 AM, you would put times:0000-0500 above it and times:all below it.




© 2022 Tixati Software Inc.