mirror of
https://github.com/tgbot-collection/YYeTsBot.git
synced 2025-11-25 11:29:38 +08:00
support ipv6
This commit is contained in:
@@ -129,6 +129,8 @@ class Cloudflare(Redis):
|
||||
return result
|
||||
|
||||
def ban_new_ip(self, ip):
|
||||
if ":" in ip:
|
||||
ip = ip.rsplit(":", 4)[0] + "::/64"
|
||||
old_ips = [d["ip"] for d in self.get_old_ips()]
|
||||
old_ips.append(ip)
|
||||
body = [{"ip": i} for i in set(old_ips)]
|
||||
|
||||
@@ -34,17 +34,17 @@ class ResourceHandler(BaseHandler):
|
||||
|
||||
def make_some_fun(self):
|
||||
referer = self.request.headers.get("referer")
|
||||
if not referer and os.getenv("GIFT"):
|
||||
ip = self.get_real_ip()
|
||||
logging.warning("Good luck to %s!", ip)
|
||||
ip = self.get_real_ip()
|
||||
if not referer:
|
||||
try:
|
||||
cf.ban_new_ip(ip)
|
||||
except Exception as e:
|
||||
logging.error("Failed to ban %s: %s", ip, e)
|
||||
self.set_header("Content-Type", "text/html")
|
||||
self.set_header("Content-Encoding", "gzip")
|
||||
with open("templates/gift.gz", "rb") as f:
|
||||
return f.read()
|
||||
if os.getenv("GIFT"):
|
||||
self.set_header("Content-Type", "text/html")
|
||||
self.set_header("Content-Encoding", "gzip")
|
||||
with open("templates/gift.gz", "rb") as f:
|
||||
return f.read()
|
||||
|
||||
@run_on_executor()
|
||||
def search_resource(self):
|
||||
|
||||
Reference in New Issue
Block a user