mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-28 05:02:51 +08:00
25 lines
860 B
Diff
25 lines
860 B
Diff
--- 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)
|