自动更新提交代{过}{滤}理白名单
玩青龙面板可以配置代{过}{滤}理,研究了一下,第一次玩代{过}{滤}理。刚发现要更新代{过}{滤}理白名单的时候,感觉玩不下去了,因为我是家庭宽带搭建的服务器,虽然有公网IP但是是变法的。看到白名单管理接口,发现是HTTP,然后就简单的写了个python脚本get一下。
核心函数
def get_ip_info():
# 当前代{过}{滤}理白名单
dl_ip = requests.get('换自己的链接,获取白名单链接').text.strip()
# 当前公网ip
gw_ip = requests.get('https://ipv4.icanhazip.com').text.strip()
return gw_ip, dl_ip
def ch_ip_info(gw_ip, dl_ip):
if dl_ip != gw_ip:
print('当前公网ip:', gw_ip, '代{过}{滤}理白名单ip:', dl_ip)
requests.get('换自己的链接,删除所有白名单链接')
requests.get('换自己的链接,添加白名单链接' + gw_ip)
return 0
else:
return 1
加载青龙面板通知完整代码
import requests
import os,sys
def get_ip_info():
# 当前代{过}{滤}理白名单
dl_ip = requests.get('换自己的链接,获取白名单链接').text.strip()
# 当前公网ip
gw_ip = requests.get('https://ipv4.icanhazip.com').text.strip()
return gw_ip, dl_ip
def ch_ip_info(gw_ip, dl_ip):
if dl_ip != gw_ip:
print('当前公网ip:', gw_ip, '代{过}{滤}理白名单ip:', dl_ip)
requests.get('换自己的链接,删除所有白名单链接')
requests.get('换自己的链接,添加白名单链接' + gw_ip)
return 0
else:
return 1
def load_send():
global send
cur_path = os.path.abspath(os.path.dirname(__file__))
sys.path.append(cur_path)
if os.path.exists(cur_path + "/notify.py"):
try:
from notify import send
except:
send = False
print("加载通知服务失败~")
else:
send = False
print("加载通知服务失败~")
msgs=''
for i in range(5):
try:
response = requests.get('ddns域名')
if response.status_code == 200:
print('访问ddns域名成功,状态码:', response.status_code)
msgs += f'第{i+1}次,访问ddns域名成功,状态码:{response.status_code}\n'
break
except requests.RequestException as e:
print('触发ddns异常:', e)
msgs += f'第{i+1}次,触发ddns异常: {e}\n'
keygo = 0
for i in range(5):
try:
gw_ip, dl_ip = get_ip_info()
except requests.RequestException as e:
print('获取IP信息失败:', e)
keygo = 1
msgs += f'\n\n获取IP信息失败: {e}\n'
break
try:
get_key = ch_ip_info(gw_ip, dl_ip)
if get_key == 1:
if i == 0:
print('当前公网ip未变更:')
print('当前公网ip:', gw_ip, '代{过}{滤}理白名单ip:', dl_ip)
msgs +=f'\n\nIP未变更,直接访问地址http://{gw_ip}:6002\n'
break
else:
print("这是第", i + 1, "次循环")
print('更新成功:')
print('当前公网ip:', gw_ip, '代{过}{滤}理白名单ip:', dl_ip)
msgs +=f'\n\n更新IP成功,直接访问地址http://{gw_ip}:6002\n'
load_send()
send('代{过}{滤}理IP白名单提交',msgs)
break
except requests.RequestException as e:
print("这是第", i + 1, "次循环")
print('更新代{过}{滤}理白名单IP信息失败:', e)
msgs += f'\n\n第{i+1}次,更新代{过}{滤}理白名单IP信息失败: {e}\n'
load_send()
send('代{过}{滤}理IP白名单提交',msgs)
家里的宽带怎么搭建服务器有教程吗,想了解下 131486352 发表于 2024-10-10 15:26
家里的宽带怎么搭建服务器有教程吗,想了解下
没那么高级,你就想一下电脑长期不关机,就是服务器了!其它的要具体看你要开什么服务,网站,文件共享。。。。。。。。。。 chenmi2017 发表于 2024-10-11 08:27
没那么高级,你就想一下电脑长期不关机,就是服务器了!其它的要具体看你要开什么服务,网站,文件共享。 ...
电脑的话只能连接同wifi的设备才可以访问,不知道怎么外网访问{:1_937:} 131486352 发表于 2024-10-11 10:58
电脑的话只能连接同wifi的设备才可以访问,不知道怎么外网访问
如果能申请到ipv4公网IP就可以,但是家用都是动态地址会变。如果是用的路由器拨号上网,可以找找ddns。据说还有一种基于ipv6,一般如果宽带支持ipv6那基本上就能获取到公网ipv6地址,但是路由器不一定知道ipv6的ddns。就得研究IPV6ddns搭建了。或者不走ddns,就如我上面的代码有一部分是获取当前出口地址,想办法发送出来,可以是通过邮件等!然后直接通过ip访问。 chenmi2017 发表于 2024-10-14 09:25
如果能申请到ipv4公网IP就可以,但是家用都是动态地址会变。如果是用的路由器拨号上网,可以找找ddns。据 ...
谢谢答疑
页:
[1]