diff --git a/.github/diy/patches/ssrserver-python.patch b/.github/diy/patches/ssrserver-python.patch new file mode 100644 index 000000000..c9d38b45a --- /dev/null +++ b/.github/diy/patches/ssrserver-python.patch @@ -0,0 +1,24 @@ +--- a/luci-app-ssrserver-python/root/usr/share/ssr/utils/autoban.py ++++ b/luci-app-ssrserver-python/root/usr/share/ssr/utils/autoban.py +@@ -25,9 +25,12 @@ + with_statement + + import os ++import re + import sys + import argparse + ++_VALID_IP_RE = re.compile(r'^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$') ++ + if __name__ == '__main__': + parser = argparse.ArgumentParser(description='See README') + parser.add_argument('-c', '--count', default=3, type=int, +@@ -45,7 +48,7 @@ + sys.stdout.flush() + else: + ips[ip] += 1 +- if ip not in banned and ips[ip] >= config.count: ++ if ip not in banned and ips[ip] >= config.count and _VALID_IP_RE.match(ip): + banned.add(ip) + cmd = 'iptables -A INPUT -s %s -j DROP' % ip + print(cmd, file=sys.stderr)