mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Remove from luci packages some files that can work without luci interface
This commit is contained in:
		
							parent
							
								
									8369094924
								
							
						
					
					
						commit
						05a4db1523
					
				
					 35 changed files with 2616 additions and 8 deletions
				
			
		| 
						 | 
					@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LUCI_TITLE:=LuCI Interface to bypass domains
 | 
					LUCI_TITLE:=LuCI Interface to bypass domains
 | 
				
			||||||
#LUCI_DEPENDS:=+dnsmasq-full +shadowsocks-libev-ss-rules +(LINUX_5_4||LINUX_5_15||TARGET_x86_64):iptables-mod-ndpi +iptables-mod-extra +(LINUX_5_4||LINUX_5_15||TARGET_x86_64):kmod-ipt-ndpi +iptables
 | 
					#LUCI_DEPENDS:=+dnsmasq-full +shadowsocks-libev-ss-rules +(LINUX_5_4||LINUX_5_15||TARGET_x86_64):iptables-mod-ndpi +iptables-mod-extra +(LINUX_5_4||LINUX_5_15||TARGET_x86_64):kmod-ipt-ndpi +iptables
 | 
				
			||||||
LUCI_DEPENDS:=+dnsmasq-full +shadowsocks-libev-ss-rules +iptables-mod-extra +iptables +sqlite3-cli
 | 
					LUCI_DEPENDS:=+omr-bypass
 | 
				
			||||||
ifneq ($(CONFIG_TARGET_ramips),y)
 | 
					#ifneq ($(CONFIG_TARGET_ramips),y)
 | 
				
			||||||
	#LUCI_DEPENDS+=+(LINUX_5_4||LINUX_5_15):iptables-mod-ndpi +(LINUX_5_4||LINUX_5_15):kmod-ipt-ndpi
 | 
					#	#LUCI_DEPENDS+=+(LINUX_5_4||LINUX_5_15):iptables-mod-ndpi +(LINUX_5_4||LINUX_5_15):kmod-ipt-ndpi
 | 
				
			||||||
	LUCI_DEPENDS+=+iptables-mod-ndpi +kmod-ipt-ndpi
 | 
					#	LUCI_DEPENDS+=+iptables-mod-ndpi +kmod-ipt-ndpi
 | 
				
			||||||
endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_LICENSE:=GPLv3
 | 
					PKG_LICENSE:=GPLv3
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,7 @@
 | 
				
			||||||
include $(TOPDIR)/rules.mk
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LUCI_TITLE:=LuCI Support for OpenMPTCProuter
 | 
					LUCI_TITLE:=LuCI Support for OpenMPTCProuter
 | 
				
			||||||
LUCI_DEPENDS:=+luci-lib-json +curl +bind-dig +tracebox
 | 
					LUCI_DEPENDS:=+luci-lib-json +openmptcprouter-api
 | 
				
			||||||
PKG_LICENSE:=GPLv3
 | 
					PKG_LICENSE:=GPLv3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include ../luci/luci.mk
 | 
					#include ../luci/luci.mk
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,9 +6,9 @@ include $(TOPDIR)/rules.mk
 | 
				
			||||||
LUCI_TITLE:=LuCI Support for SQM Scripts with autorate
 | 
					LUCI_TITLE:=LuCI Support for SQM Scripts with autorate
 | 
				
			||||||
LUCI_DESCRIPTION:=Luci interface for the SQM scripts queue management package with SQM autorate
 | 
					LUCI_DESCRIPTION:=Luci interface for the SQM scripts queue management package with SQM autorate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
 | 
					PKG_MAINTAINER:=Yannick Chabanoois <contact@openmptcprouter.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LUCI_DEPENDS:=+sqm-scripts +bash +tsping
 | 
					LUCI_DEPENDS:=+sqm-scripts +sqm-autorate
 | 
				
			||||||
LUCI_PKGARCH:=all
 | 
					LUCI_PKGARCH:=all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include $(TOPDIR)/feeds/luci/luci.mk
 | 
					include $(TOPDIR)/feeds/luci/luci.mk
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										34
									
								
								omr-bypass/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								omr-bypass/Makefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,34 @@
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This is free software, licensed under the GNU General Public License v2.
 | 
				
			||||||
 | 
					# See /LICENSE for more information.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_NAME:=omr-bypass
 | 
				
			||||||
 | 
					PKG_VERSION:=0.1
 | 
				
			||||||
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(INCLUDE_DIR)/package.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)
 | 
				
			||||||
 | 
					SECTION:=net
 | 
				
			||||||
 | 
					CATEGORY:=Network
 | 
				
			||||||
 | 
					DEPENDS:=+curl +dnsmasq-full +sqlite3-cli +iptables +iptables-mod-extra
 | 
				
			||||||
 | 
					TITLE:=OMR-ByPass
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)/description
 | 
				
			||||||
 | 
					OMR-ByPass
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Build/Compile
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)/install
 | 
				
			||||||
 | 
					    $(CP) ./files/* $(1)/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,$(PKG_NAME)))
 | 
				
			||||||
							
								
								
									
										34
									
								
								openmptcprouter-api/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								openmptcprouter-api/Makefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,34 @@
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This is free software, licensed under the GNU General Public License v2.
 | 
				
			||||||
 | 
					# See /LICENSE for more information.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_NAME:=openmptcprouter-api
 | 
				
			||||||
 | 
					PKG_VERSION:=0.1
 | 
				
			||||||
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(INCLUDE_DIR)/package.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)
 | 
				
			||||||
 | 
					SECTION:=OMR
 | 
				
			||||||
 | 
					CATEGORY:=OpenMPTCProuter
 | 
				
			||||||
 | 
					DEPENDS:=+tracebox +bind-dig +curl
 | 
				
			||||||
 | 
					TITLE:=OpenMPTCProuter API
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)/description
 | 
				
			||||||
 | 
					OpenMPTCProuter API package
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Build/Compile
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)/install
 | 
				
			||||||
 | 
					    $(CP) ./files/* $(1)/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,$(PKG_NAME)))
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,13 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						"admin/system/openmptcprouter": {
 | 
				
			||||||
 | 
							"title": "OpenMPTCProuter",
 | 
				
			||||||
 | 
							"order": 1,
 | 
				
			||||||
 | 
							"action": {
 | 
				
			||||||
 | 
								"type": "template",
 | 
				
			||||||
 | 
								"path": "openmptcprouter/wizard"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							"depends": {
 | 
				
			||||||
 | 
								"acl": [ "luci-app-openmptcprouter" ]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "luci-app-openmptcprouter": {
 | 
				
			||||||
 | 
						"description": "Grant UCI access for luci-app-openmptcprouter",
 | 
				
			||||||
 | 
						"read": {
 | 
				
			||||||
 | 
						    "uci": [ "*" ],
 | 
				
			||||||
 | 
						    "ubus": {
 | 
				
			||||||
 | 
							"openmptcprouter": [ "*" ]
 | 
				
			||||||
 | 
						    }
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						"write": {
 | 
				
			||||||
 | 
						    "uci": [ "*" ]
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										34
									
								
								sqm-autorate/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								sqm-autorate/Makefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,34 @@
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Copyright (C) 2018-2023 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This is free software, licensed under the GNU General Public License v2.
 | 
				
			||||||
 | 
					# See /LICENSE for more information.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PKG_NAME:=sqm-autorate
 | 
				
			||||||
 | 
					PKG_VERSION:=0.1
 | 
				
			||||||
 | 
					PKG_RELEASE:=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(INCLUDE_DIR)/package.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)
 | 
				
			||||||
 | 
					SECTION:=net
 | 
				
			||||||
 | 
					CATEGORY:=Network
 | 
				
			||||||
 | 
					DEPENDS:=+bash +tsping
 | 
				
			||||||
 | 
					TITLE:=SQM Autorate
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)/description
 | 
				
			||||||
 | 
					SQM Autorate
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Build/Compile
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define Package/$(PKG_NAME)/install
 | 
				
			||||||
 | 
					    $(CP) ./files/* $(1)/
 | 
				
			||||||
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(eval $(call BuildPackage,$(PKG_NAME)))
 | 
				
			||||||
							
								
								
									
										2270
									
								
								sqm-autorate/files/usr/share/sqm-autorate/cake-autorate.sh.anc
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										2270
									
								
								sqm-autorate/files/usr/share/sqm-autorate/cake-autorate.sh.anc
									
										
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										209
									
								
								sqm-autorate/files/usr/share/sqm-autorate/defaults.sh.anc
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										209
									
								
								sqm-autorate/files/usr/share/sqm-autorate/defaults.sh.anc
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,209 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# cake-autorate automatically adjusts bandwidth for CAKE in dependence on detected load and RTT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# cake-autorate_config.sh is a script that sets up defaults for cake-autorate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Author: @Lynx (OpenWrt forum)
 | 
				
			||||||
 | 
					# Inspiration taken from: @moeller0 (OpenWrt forum)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					INTERFACE=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# *** OUTPUT AND LOGGING OPTIONS ***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					output_processing_stats=1 	# enable (1) or disable (0) output monitoring lines showing processing stats
 | 
				
			||||||
 | 
					output_load_stats=1       	# enable (1) or disable (0) output monitoring lines showing achieved loads
 | 
				
			||||||
 | 
					output_reflector_stats=1  	# enable (1) or disable (0) output monitoring lines showing reflector stats
 | 
				
			||||||
 | 
					output_cake_changes=0     	# enable (1) or disable (0) output monitoring lines showing cake bandwidth changes
 | 
				
			||||||
 | 
					debug=1 		  	# enable (1) or disable (0) out of debug lines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This can generate a LOT of records so be careful:
 | 
				
			||||||
 | 
					log_DEBUG_messages_to_syslog=0	# enable (1) or disable (0) logging of all DEBUG records into the system log. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ** Take care with these settings to ensure you won't run into OOM issues on your router ***
 | 
				
			||||||
 | 
					# every write the cumulative write time and bytes associated with each log line are checked
 | 
				
			||||||
 | 
					# and if either exceeds the configured values below, the log log file is rotated
 | 
				
			||||||
 | 
					log_to_file=1              # enable (1) or disable (0) output logging to file (/tmp/cake-autorate.log)
 | 
				
			||||||
 | 
					log_file_max_time_mins=10  # maximum time between log file rotations
 | 
				
			||||||
 | 
					log_file_max_size_KB=2000  # maximum KB (i.e. bytes/1024) worth of log lines between log file rotations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# log file path defaults to /var/log/
 | 
				
			||||||
 | 
					# or, if set below, then ${log_file_path_override}
 | 
				
			||||||
 | 
					log_file_path_override=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# *** STANDARD CONFIGURATION OPTIONS ***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### For multihomed setups, it is the responsibility of the user to ensure that the probes 
 | 
				
			||||||
 | 
					### sent by this instance of cake-autorate actually travel through these interfaces.
 | 
				
			||||||
 | 
					### See ping_extra_args and ping_prefix_string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dl_if=ifb-wan # download interface
 | 
				
			||||||
 | 
					ul_if=wan     # upload interface
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# pinger selection can be any of:
 | 
				
			||||||
 | 
					# fping - round robin pinging (rtts)
 | 
				
			||||||
 | 
					# ping - (iputils-ping) individual pinging (rtts)
 | 
				
			||||||
 | 
					# hping3 - individidual pinging (owds)
 | 
				
			||||||
 | 
					pinger_binary=fping
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# list of reflectors to use and number of pingers to initiate
 | 
				
			||||||
 | 
					# pingers will be initiated with reflectors in the order specified in the list 
 | 
				
			||||||
 | 
					# additional reflectors will be used to replace any reflectors that go stale
 | 
				
			||||||
 | 
					# so e.g. if 6 reflectors are specified and the number of pingers is set to 4, the first 4 reflectors will be used initially
 | 
				
			||||||
 | 
					# and the remaining 2 reflectors in the list will be used in the event any of the first 4 go bad
 | 
				
			||||||
 | 
					# a bad reflector will go to the back of the queue on reflector rotation
 | 
				
			||||||
 | 
					reflectors=(
 | 
				
			||||||
 | 
					"1.1.1.1" "1.0.0.1"  # Cloudflare
 | 
				
			||||||
 | 
					"8.8.8.8" "8.8.4.4"  # Google
 | 
				
			||||||
 | 
					"9.9.9.9" "9.9.9.10" "9.9.9.11" # Quad9
 | 
				
			||||||
 | 
					"94.140.14.15" "94.140.14.140" "94.140.14.141" "94.140.15.15" "94.140.15.16" # AdGuard
 | 
				
			||||||
 | 
					"64.6.65.6" "156.154.70.1" "156.154.70.2" "156.154.70.3" "156.154.70.4" "156.154.70.5" "156.154.71.1" "156.154.71.2" "156.154.71.3" "156.154.71.4" "156.154.71.5" # Neustar
 | 
				
			||||||
 | 
					"208.67.220.2" "208.67.220.123" "208.67.220.220" "208.67.222.2" "208.67.222.123" # OpenDNS
 | 
				
			||||||
 | 
					"185.228.168.9" "185.228.168.10" # CleanBrowsing
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					randomize_reflectors=1 # enable (1) or disable (0) randomization of reflectors on startup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Think carefully about the following settings
 | 
				
			||||||
 | 
					# to avoid excessive CPU use (proportional with ping interval / number of pingers)
 | 
				
			||||||
 | 
					# and to avoid abusive network activity (excessive ICMP frequency to one reflector)
 | 
				
			||||||
 | 
					# The author has found an ICMP rate of 1/(0.2/4) = 20 Hz to give satisfactory performance on 4G
 | 
				
			||||||
 | 
					no_pingers=6 # number of pingers to maintain
 | 
				
			||||||
 | 
					reflector_ping_interval_s=0.3 # (seconds, e.g. 0.2s or 2s)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# delay threshold in ms is the extent of OWD increase to classify as a delay
 | 
				
			||||||
 | 
					# these are automatically adjusted based on maximum on the wire packet size
 | 
				
			||||||
 | 
					# (adjustment significant at sub 12Mbit/s rates, else negligible)  
 | 
				
			||||||
 | 
					dl_delay_thr_ms=30 # (milliseconds)
 | 
				
			||||||
 | 
					ul_delay_thr_ms=30 # (milliseconds)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set either of the below to 0 to adjust one direction only 
 | 
				
			||||||
 | 
					# or alternatively set both to 0 to simply use cake-autorate to monitor a connection
 | 
				
			||||||
 | 
					adjust_dl_shaper_rate=1 # enable (1) or disable (0) actually changing the dl shaper rate
 | 
				
			||||||
 | 
					adjust_ul_shaper_rate=1 # enable (1) or disable (0) actually changing the ul shaper rate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					min_dl_shaper_rate_kbps=5000  # minimum bandwidth for download (Kbit/s)
 | 
				
			||||||
 | 
					base_dl_shaper_rate_kbps=20000 # steady state bandwidth for download (Kbit/s)
 | 
				
			||||||
 | 
					max_dl_shaper_rate_kbps=80000  # maximum bandwidth for download (Kbit/s)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					min_ul_shaper_rate_kbps=5000  # minimum bandwidth for upload (Kbit/s)
 | 
				
			||||||
 | 
					base_ul_shaper_rate_kbps=20000 # steady state bandwidth for upload (KBit/s)
 | 
				
			||||||
 | 
					max_ul_shaper_rate_kbps=35000  # maximum bandwidth for upload (Kbit/s)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# sleep functionality saves unecessary pings and CPU cycles by
 | 
				
			||||||
 | 
					# pausing all active pingers when connection is not in active use
 | 
				
			||||||
 | 
					enable_sleep_function=1 # enable (1) or disable (0) sleep functonality 
 | 
				
			||||||
 | 
					connection_active_thr_kbps=1000  # threshold in Kbit/s below which dl/ul is considered idle
 | 
				
			||||||
 | 
					sustained_idle_sleep_thr_s=60.0  # time threshold to put pingers to sleep on sustained dl/ul achieved rate < idle_thr (seconds)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					min_shaper_rates_enforcement=0 # enable (1) or disable (0) dropping down to minimum shaper rates on connection idle or stall
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					startup_wait_s=0.0 # number of seconds to wait on startup (e.g. to wait for things to settle on router reboot)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# *** ADVANCED CONFIGURATION OPTIONS ***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					log_file_export_compress=1 # compress log file exports using gzip and append .gz to export filename
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### In multi-homed setups, it is mandatory to use either ping_extra_args
 | 
				
			||||||
 | 
					### or ping_prefix_string to direct the pings through $dl_if and $ul_if.
 | 
				
			||||||
 | 
					### No universal recommendation exists, because there are multiple
 | 
				
			||||||
 | 
					### policy-routing packages available (e.g. vpn-policy-routing and mwan3).
 | 
				
			||||||
 | 
					### Typically they either react to a firewall mark set on the pings, or
 | 
				
			||||||
 | 
					### provide a convenient wrapper.
 | 
				
			||||||
 | 
					###
 | 
				
			||||||
 | 
					### In a traditional single-homed setup, there is usually no need for these parameters.
 | 
				
			||||||
 | 
					###
 | 
				
			||||||
 | 
					### These arguments can also be used for any other purpose - e.g. for setting a
 | 
				
			||||||
 | 
					### particular QoS mark.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# extra arguments for ping or fping
 | 
				
			||||||
 | 
					# e.g., here is how you can set the correct outgoing interface and
 | 
				
			||||||
 | 
					# the firewall mark for ping:
 | 
				
			||||||
 | 
					# ping_extra_args="-I wwan0 -m $((0x300))"
 | 
				
			||||||
 | 
					# Unfortunately, fping does not offer a command line switch to set
 | 
				
			||||||
 | 
					# the firewall mark.
 | 
				
			||||||
 | 
					# WARNING: no error checking so use at own risk!
 | 
				
			||||||
 | 
					ping_extra_args=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# a wrapper for ping binary - used as a prefix for the real command
 | 
				
			||||||
 | 
					# e.g., when using mwan3, it is recommended to set it like this:
 | 
				
			||||||
 | 
					# ping_prefix_string="mwan3 use gpon exec"
 | 
				
			||||||
 | 
					# WARNING: the wrapper must exec ping as the final step, not run it as a subprocess.
 | 
				
			||||||
 | 
					# Running ping or fping as a subprocess will lead to problems stopping it.
 | 
				
			||||||
 | 
					# WARNING: no error checking - so use at own risk!
 | 
				
			||||||
 | 
					ping_prefix_string=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# interval in ms for monitoring achieved rx/tx rates
 | 
				
			||||||
 | 
					# this is automatically adjusted based on maximum on the wire packet size
 | 
				
			||||||
 | 
					# (adjustment significant at sub 12Mbit/s rates, else negligible)  
 | 
				
			||||||
 | 
					monitor_achieved_rates_interval_ms=200 # (milliseconds) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# bufferbloat is detected when (bufferbloat_detection_thr) samples
 | 
				
			||||||
 | 
					# out of the last (bufferbloat detection window) samples are delayed
 | 
				
			||||||
 | 
					bufferbloat_detection_window=6   # number of samples to retain in detection window
 | 
				
			||||||
 | 
					bufferbloat_detection_thr=3      # number of delayed samples for bufferbloat detection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OWD baseline against which to measure delays
 | 
				
			||||||
 | 
					# the idea is that the baseline is allowed to increase slowly to allow for path changes
 | 
				
			||||||
 | 
					# and slowly enough such that bufferbloat will be corrected well before the baseline increases,
 | 
				
			||||||
 | 
					# but it will decrease very rapidly to ensure delays are measured against the shortest path
 | 
				
			||||||
 | 
					alpha_baseline_increase=0.001  # how rapidly baseline RTT is allowed to increase
 | 
				
			||||||
 | 
					alpha_baseline_decrease=0.9  # how rapidly baseline RTT is allowed to decrease
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OWD delta from baseline is tracked using ewma with alpha set below
 | 
				
			||||||
 | 
					alpha_delta_ewma=0.095
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# rate adjustment parameters 
 | 
				
			||||||
 | 
					# bufferbloat adjustment works with the lower of the adjusted achieved rate and adjusted shaper rate
 | 
				
			||||||
 | 
					# to exploit that transfer rates during bufferbloat provide an indication of line capacity
 | 
				
			||||||
 | 
					# otherwise shaper rate is adjusted up on load high, and down on load idle or low
 | 
				
			||||||
 | 
					achieved_rate_adjust_down_bufferbloat=0.9 # how rapidly to reduce achieved rate upon detection of bufferbloat 
 | 
				
			||||||
 | 
					shaper_rate_adjust_down_bufferbloat=0.9   # how rapidly to reduce shaper rate upon detection of bufferbloat 
 | 
				
			||||||
 | 
					shaper_rate_adjust_up_load_high=1.01      # how rapidly to increase shaper rate upon high load detected 
 | 
				
			||||||
 | 
					shaper_rate_adjust_down_load_low=0.99     # how rapidly to return down to base shaper rate upon idle or low load detected 
 | 
				
			||||||
 | 
					shaper_rate_adjust_up_load_low=1.01       # how rapidly to return up to base shaper rate upon idle or low load detected 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# the load is categoried as low if < high_load_thr and high if > high_load_thr relative to the current shaper rate
 | 
				
			||||||
 | 
					high_load_thr=0.75   # % of currently set bandwidth for detecting high load
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# refractory periods between successive bufferbloat/decay rate changes
 | 
				
			||||||
 | 
					# the bufferbloat refractory period should be greater than the 
 | 
				
			||||||
 | 
					# average time it would take to replace the bufferbloat
 | 
				
			||||||
 | 
					# detection window with new samples upon a bufferbloat event
 | 
				
			||||||
 | 
					bufferbloat_refractory_period_ms=300 # (milliseconds)
 | 
				
			||||||
 | 
					decay_refractory_period_ms=1000 # (milliseconds)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# interval for checking reflector health
 | 
				
			||||||
 | 
					reflector_health_check_interval_s=1.0 # (seconds)
 | 
				
			||||||
 | 
					# deadline for reflector response not to be classified as an offence against reflector
 | 
				
			||||||
 | 
					reflector_response_deadline_s=1.0 # (seconds)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# reflector misbehaving is detected when $reflector_misbehaving_detection_thr samples
 | 
				
			||||||
 | 
					# out of the last (reflector misbehaving detection window) samples are offences
 | 
				
			||||||
 | 
					# thus with a 1s interval, window 60 and detection_thr 3, this is tantamount to
 | 
				
			||||||
 | 
					# 3 offences within the last 60s 
 | 
				
			||||||
 | 
					reflector_misbehaving_detection_window=60
 | 
				
			||||||
 | 
					reflector_misbehaving_detection_thr=3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					reflector_replacement_interval_mins=60 # how often to replace a random reflector from the present list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					reflector_comparison_interval_mins=1		# how often to compare reflectors 
 | 
				
			||||||
 | 
					reflector_sum_owd_baselines_delta_thr_ms=20	# max increase from min sum owd baselines before reflector rotated
 | 
				
			||||||
 | 
					reflector_owd_delta_ewma_delta_thr_ms=10	# max increase from min delta ewma before reflector rotated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# stall is detected when the following two conditions are met:
 | 
				
			||||||
 | 
					# 1) no reflector responses within $stall_detection_thr*$ping_response_interval_us; and
 | 
				
			||||||
 | 
					# 2) either $rx_achieved_rate or $tx_achieved_rate < $connection_stall_thr
 | 
				
			||||||
 | 
					stall_detection_thr=5
 | 
				
			||||||
 | 
					connection_stall_thr_kbps=10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					global_ping_response_timeout_s=10 # timeout to set shaper rates to min on no ping response whatsoever (seconds)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if_up_check_interval_s=10.0 # time to wait before re-checking if rx/tx bytes files exist (e.g. from boot state or sleep recovery)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Starlink satellite switch (sss) compensation options
 | 
				
			||||||
 | 
					sss_compensation=0 # enable (1) or disable (0) Starlink handling
 | 
				
			||||||
 | 
					# satellite switch compensation start times in seconds of each minute
 | 
				
			||||||
 | 
					sss_times_s=("12.0" "27.0" "42.0" "57.0")
 | 
				
			||||||
 | 
					sss_compensation_pre_duration_ms=300
 | 
				
			||||||
 | 
					sss_compensation_post_duration_ms=200
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue