fix: cloudflare update performance
This commit is contained in:
@@ -1,103 +0,0 @@
|
||||
2024-10-25 16:39:54 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:39:54 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:39:54 [DEBU] [comp:login] jQuery685749352674324484917_1729845594439({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844483})
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:39:55 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] jQuery188462194273946559789_1729845595834({"challenge":"465222ceda92666dc44bf43716897f6ac393ef1e1365a60f4a19fffe6cefe47c","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844485})
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] token: 465222ceda92666dc44bf43716897f6ac393ef1e1365a60f4a19fffe6cefe47c
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:39:55 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:39:56 [DEBU] [comp:login] jQuery837557255217753528144_1729845595858({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"465222ceda92666dc44bf43716897f6ac393ef1e1365a60f4a19fffe6cefe47c","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:39:56 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:39:57 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:42:00 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.dns.navy | 10.195.31.248
|
||||
2024-10-25 16:42:35 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:42:35 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:42:35 [DEBU] [comp:login] jQuery135668994139293975393_1729845755768({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844644})
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:42:36 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] jQuery653759989187167831241_1729845756256({"challenge":"96779908bac904c8660e88256d82196249238f454acadf7d5793112fdc626415","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844645})
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] token: 96779908bac904c8660e88256d82196249238f454acadf7d5793112fdc626415
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:42:36 [DEBU] [comp:login] jQuery623458397114133694229_1729845756281({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"96779908bac904c8660e88256d82196249238f454acadf7d5793112fdc626415","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:42:36 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:42:37 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:43:06 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.dns.navy | 10.195.31.248
|
||||
2024-10-25 16:44:01 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] jQuery979864315455962477769_1729845841389({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844730})
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:44:01 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] jQuery736969881419152181931_1729845841876({"challenge":"06938850604564fd96730c49aad6a0e2a709c38f012533015e76df813c1dc123","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844731})
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] token: 06938850604564fd96730c49aad6a0e2a709c38f012533015e76df813c1dc123
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:44:01 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:44:02 [DEBU] [comp:login] jQuery445678696737637289525_1729845841902({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"06938850604564fd96730c49aad6a0e2a709c38f012533015e76df813c1dc123","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:44:02 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:44:02 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:44:16 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.dns.navy | 10.195.31.248
|
||||
2024-10-25 16:45:58 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] jQuery568455236922328585186_1729845958620({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844847})
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:45:58 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] jQuery822932138117684144689_1729845958666({"challenge":"643a1084286299360dd0cc8356f7494a4c717200f9f2e4cdd87e2de89df742a4","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729844847})
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] token: 643a1084286299360dd0cc8356f7494a4c717200f9f2e4cdd87e2de89df742a4
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:45:58 [DEBU] [comp:login] jQuery364447423989283278815_1729845958681({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"643a1084286299360dd0cc8356f7494a4c717200f9f2e4cdd87e2de89df742a4","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:45:58 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:45:58 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:46:09 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.dns.navy | 10.195.31.248
|
||||
2024-10-25 16:55:18 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] jQuery387329135487777563764_1729846518294({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729845407})
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:55:18 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] jQuery125414146745887432445_1729846518421({"challenge":"ffba4e4c1c6a452da2c5369b820387dc5589b75ea065f1404ee24c0ec53a4352","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"36","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729845407})
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] token: ffba4e4c1c6a452da2c5369b820387dc5589b75ea065f1404ee24c0ec53a4352
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:55:18 [DEBU] [comp:login] jQuery614721577962691655661_1729846518437({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"ffba4e4c1c6a452da2c5369b820387dc5589b75ea065f1404ee24c0ec53a4352","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:55:18 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:55:18 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:56:35 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] jQuery399744728643629717625_1729846595253({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729845484})
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:56:35 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] jQuery129922835644431171368_1729846595325({"challenge":"9a32fd6280876f82c621358f285f7567ed5d48a148d34e08aa68da7475db6e8f","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729845484})
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] token: 9a32fd6280876f82c621358f285f7567ed5d48a148d34e08aa68da7475db6e8f
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:56:35 [DEBU] [comp:login] jQuery588938449295684523739_1729846595341({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"9a32fd6280876f82c621358f285f7567ed5d48a148d34e08aa68da7475db6e8f","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:56:35 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:56:35 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:57:45 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] jQuery113691339281766489626_1729846665068({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729845554})
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-25 16:57:45 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] jQuery233142191859637251716_1729846665152({"challenge":"50db43f14fc1fc1c1c9ad1f6fb4ea431bec9bab92774e6b1ff038cb8b42a9582","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729845554})
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] token: 50db43f14fc1fc1c1c9ad1f6fb4ea431bec9bab92774e6b1ff038cb8b42a9582
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-25 16:57:45 [DEBU] [comp:login] jQuery494555848348651542691_1729846665173({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"50db43f14fc1fc1c1c9ad1f6fb4ea431bec9bab92774e6b1ff038cb8b42a9582","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-25 16:57:45 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 16:57:45 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 16:57:56 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.dns.navy | 10.195.31.248
|
||||
12
config.yaml
12
config.yaml
@@ -38,12 +38,14 @@ settings:
|
||||
log_name: "srun_login.log" #指定日志文件名
|
||||
ddns: #校园网内网 ip ddns
|
||||
enable: true
|
||||
domain: chizzyhub.dns.navy
|
||||
ttl: 600
|
||||
provider: "dynv6"
|
||||
domain: "dorm.chizzyhub.site"
|
||||
ttl: 3600
|
||||
provider: "cloudflare"
|
||||
config: #这段配置是动态的,需要根据 provider 类型配置字段名,见 DDNS 说明
|
||||
zone: "xxxx"
|
||||
token: "ns4ReUsNKCSxpJD_zsVBMouGPwxUYS"
|
||||
zone: "fde85c42ada16e7277b5c1cdb911f90a"
|
||||
record_id: "08ed045b26e5f9bd8b7001115fca798e"
|
||||
token: "aaaa4a4f258224cc872bf6fa8840c054f2bb4"
|
||||
email: "chizzyhub@outlook.com"
|
||||
reality: #从指定地址模拟浏览器行为进入登录页,如果登录未出现问题不用启用
|
||||
enable: false
|
||||
addr: http://www.baidu.com #初始地址,需要使用 http、域名
|
||||
|
||||
@@ -1,15 +1,22 @@
|
||||
package cloudflare
|
||||
|
||||
import (
|
||||
"context"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"github.com/cloudflare/cloudflare-go"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/cloudflare/cloudflare-go"
|
||||
)
|
||||
|
||||
type Cloudflare struct {
|
||||
Zone string `json:"zone" yaml:"zone"`
|
||||
Token string `json:"token" yaml:"token"`
|
||||
Zone string `json:"zone" yaml:"zone"`
|
||||
RecordId string `json:"record_id" yaml:"record_id"`
|
||||
Token string `json:"token" yaml:"token"`
|
||||
Email string `json:"email" yaml:"email"`
|
||||
}
|
||||
|
||||
type DnsProvider struct {
|
||||
@@ -37,31 +44,43 @@ func New(ttl int, conf Cloudflare, Http *http.Client) (*DnsProvider, error) {
|
||||
}
|
||||
|
||||
func (a DnsProvider) SetDomainRecord(domain, ip string) error {
|
||||
records, _, err := a.Api.ListDNSRecords(context.Background(), a.ZoneResource, cloudflare.ListDNSRecordsParams{
|
||||
Type: "A",
|
||||
Name: domain,
|
||||
})
|
||||
url := fmt.Sprintf("https://api.cloudflare.com/client/v4/zones/%s/dns_records/%s", a.Zone, a.RecordId)
|
||||
proxied := false
|
||||
payload := cloudflare.DNSRecord{
|
||||
Type: "A",
|
||||
Name: domain,
|
||||
Content: ip,
|
||||
TTL: a.TTL,
|
||||
Proxied: &proxied,
|
||||
Comment: "DDNS for " + domain,
|
||||
}
|
||||
|
||||
jsonPayload, err := json.Marshal(payload)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(records) == 0 {
|
||||
_, err = a.Api.CreateDNSRecord(context.Background(), a.ZoneResource, cloudflare.CreateDNSRecordParams{
|
||||
Type: "A",
|
||||
Name: domain,
|
||||
Content: ip,
|
||||
TTL: a.TTL,
|
||||
})
|
||||
return err
|
||||
} else {
|
||||
record := records[0]
|
||||
if record.Content == ip {
|
||||
return nil
|
||||
}
|
||||
_, err = a.Api.UpdateDNSRecord(context.Background(), a.ZoneResource, cloudflare.UpdateDNSRecordParams{
|
||||
ID: record.ID,
|
||||
Content: ip,
|
||||
})
|
||||
// Make the HTTP GET request
|
||||
req, err := http.NewRequest("PUT", url, bytes.NewBuffer(jsonPayload))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
req.Header.Set("X-Auth-Email", a.Email)
|
||||
req.Header.Set("X-Auth-Key", a.Token)
|
||||
time.Sleep(time.Millisecond * 200) // avoid request too fast after login
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
}
|
||||
fmt.Println(string(body), resp.Status)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"github.com/Mmx233/BitSrunLoginGo/internal/dns/cloudflare"
|
||||
"github.com/Mmx233/BitSrunLoginGo/internal/dns/dnspod"
|
||||
"github.com/Mmx233/BitSrunLoginGo/internal/dns/dynv6"
|
||||
"github.com/Mmx233/BitSrunLoginGo/internal/dns/pubyun"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -32,6 +33,8 @@ func Run(c *Config) error {
|
||||
dns, err = dnspod.New(uint64(c.TTL), c.Conf.DnsPod, c.Http.Transport)
|
||||
case "dynv6":
|
||||
dns, err = dynv6.New(c.Domain, c.Conf.Token, c.IP)
|
||||
case "pubyun":
|
||||
dns, err = pubyun.New(c.Conf.Zone, c.Conf.Token)
|
||||
default:
|
||||
var msg string
|
||||
if c.Provider == "" {
|
||||
|
||||
51
internal/dns/pubyun/pubyun.go
Normal file
51
internal/dns/pubyun/pubyun.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package pubyun
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
type PubYun struct {
|
||||
UserName string
|
||||
Password string
|
||||
}
|
||||
|
||||
func New(UserName string, Password string) (*PubYun, error) {
|
||||
p := PubYun{
|
||||
Password: Password,
|
||||
UserName: UserName}
|
||||
return &p, nil
|
||||
}
|
||||
|
||||
func (p PubYun) SetDomainRecord(domain, ip string) error {
|
||||
url := fmt.Sprintf(
|
||||
"http://members.3322.net/dyndns/update?hostname=%s&myip=%s",
|
||||
domain,
|
||||
ip)
|
||||
|
||||
// Make the HTTP GET request
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
auth := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", p.UserName, p.Password)))
|
||||
req.Header.Set("Authorization", "Basic "+auth)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
time.Sleep(time.Millisecond * 200) // avoid request too fast after login
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, err := io.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println(string(body), resp.Status)
|
||||
return nil
|
||||
}
|
||||
@@ -197,7 +197,7 @@ func doLogin(conf SingleConf) error {
|
||||
if online {
|
||||
_Println("已登录~")
|
||||
|
||||
if config.Settings.DDNS.Enable && config.Settings.Guardian.Enable && ipLast != ip {
|
||||
if config.Settings.DDNS.Enable && ipLast != ip {
|
||||
if ddns(logger, ip, httpClient) == nil {
|
||||
ipLast = ip
|
||||
}
|
||||
|
||||
@@ -196,3 +196,53 @@ Authentication is required. Click <a href="https://net3.zju.edu.cn/index_82.html
|
||||
2024-10-25 17:01:03 [INFO] [comp:login] 登录成功~
|
||||
2024-10-25 17:01:03 [INFO] [comp:login] [mod:ddns] 开始 dynv6 DDNS 流程
|
||||
2024-10-25 17:01:04 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.dns.navy | 10.195.31.248
|
||||
2024-10-27 01:10:42 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-27 01:10:42 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-27 01:10:42 [DEBU] [comp:login] jQuery778677526585478868622_1729962642468({"ServerFlag":4294967040,"add_time":1729959762,"all_bytes":202969568,"bytes_in":164643550,"bytes_out":15337321,"checkout_date":0,"domain":"","error":"ok","keepalive_time":1729961521,"online_ip":"10.195.31.248","real_name":"","remain_seconds":0,"sum_bytes":3934377778921,"sum_seconds":54403573,"sysver":"1.01.20210926","user_balance":0,"user_charge":0,"user_mac":"DC-62-94-2B-16-37","user_name":"3210300237","wallet_balance":0})
|
||||
2024-10-27 01:10:42 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-27 01:10:42 [INFO] [comp:login] 已登录~
|
||||
2024-10-27 01:11:02 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-27 01:11:02 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-27 01:11:02 [DEBU] [comp:login] jQuery447796228657243975223_1729962662909({"ServerFlag":4294967040,"add_time":1729961540,"all_bytes":0,"bytes_in":0,"bytes_out":0,"checkout_date":0,"domain":"","error":"ok","keepalive_time":1729961541,"online_ip":"10.195.31.248","real_name":"","remain_seconds":0,"sum_bytes":3934562089012,"sum_seconds":54405349,"sysver":"1.01.20210926","user_balance":0,"user_charge":0,"user_mac":"DC-62-94-2B-16-37","user_name":"3210300237","wallet_balance":0})
|
||||
2024-10-27 01:11:02 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-27 01:11:02 [INFO] [comp:login] 已登录~
|
||||
2024-10-27 01:11:07 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-27 01:11:07 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-27 01:11:07 [DEBU] [comp:login] jQuery986976297534181625512_1729962667603({"ServerFlag":4294967040,"add_time":1729961540,"all_bytes":0,"bytes_in":0,"bytes_out":0,"checkout_date":0,"domain":"","error":"ok","keepalive_time":1729961546,"online_ip":"10.195.31.248","real_name":"","remain_seconds":0,"sum_bytes":3934562089012,"sum_seconds":54405349,"sysver":"1.01.20210926","user_balance":0,"user_charge":0,"user_mac":"DC-62-94-2B-16-37","user_name":"3210300237","wallet_balance":0})
|
||||
2024-10-27 01:11:07 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-27 01:11:07 [INFO] [comp:login] 已登录~
|
||||
2024-10-27 01:11:17 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-27 01:11:17 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] jQuery692826739629548392168_1729962677970({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729961556})
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-27 01:11:18 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] jQuery247894665259954193136_1729962678001({"challenge":"7833c01ca4673a7ed84ee7a64afa405d6a0fa9fd2bd67fdd1f83083953ae6d59","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"44","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729961556})
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] token: 7833c01ca4673a7ed84ee7a64afa405d6a0fa9fd2bd67fdd1f83083953ae6d59
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-27 01:11:18 [DEBU] [comp:login] jQuery514348357881198912254_1729962678018({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"7833c01ca4673a7ed84ee7a64afa405d6a0fa9fd2bd67fdd1f83083953ae6d59","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-27 01:11:18 [INFO] [comp:login] 登录成功~
|
||||
2024-10-27 01:11:18 [INFO] [comp:login] [mod:ddns] 开始 pubyun DDNS 流程
|
||||
2024-10-27 01:11:18 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.x3322.net | 10.195.31.248
|
||||
2024-10-27 01:12:20 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] jQuery247618952331947142291_1729962740062({"client_ip":"10.195.31.248","ecode":0,"error":"not_online_error","error_msg":"","online_ip":"10.195.31.248","res":"not_online_error","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729961618})
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-27 01:12:20 [INFO] [comp:login] 检测到用户未登录,开始尝试登录...
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] 正在获取 Token
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/get_challenge
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] jQuery958459354144636225788_1729962740120({"challenge":"aba2ea852369d0b66199af46836b79089f87c6a6af8479f6e4404a9511c9c2de","client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","expire":"60","online_ip":"10.195.31.248","res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","st":1729961618})
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] token: aba2ea852369d0b66199af46836b79089f87c6a6af8479f6e4404a9511c9c2de
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] 发送登录请求
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/srun_portal
|
||||
2024-10-27 01:12:20 [DEBU] [comp:login] jQuery962989648483489724517_1729962740136({"ServerFlag":0,"ServicesIntfServerIP":"127.0.0.1","ServicesIntfServerPort":"8001","access_token":"aba2ea852369d0b66199af46836b79089f87c6a6af8479f6e4404a9511c9c2de","checkout_date":0,"client_ip":"10.195.31.248","ecode":0,"error":"ok","error_msg":"","online_ip":"10.195.31.248","ploy_msg":"E0000: Login is successful.","real_name":"","remain_flux":0,"remain_times":0,"res":"ok","srun_ver":"SRunCGIAuthIntfSvr V1.18 B20210926","suc_msg":"login_ok","sysver":"1.01.20210926","username":"3210300237","wallet_balance":0})
|
||||
2024-10-27 01:12:20 [INFO] [comp:login] 登录成功~
|
||||
2024-10-27 01:12:20 [INFO] [comp:login] [mod:ddns] 开始 pubyun DDNS 流程
|
||||
2024-10-27 01:12:20 [INFO] [comp:login] [mod:ddns] DDNS 配置应用成功: chizzyhub.x3322.net | 10.195.31.248
|
||||
2024-10-27 01:14:23 [INFO] [comp:login] 正在获取登录状态
|
||||
2024-10-27 01:14:23 [DEBU] [comp:login] HTTP GET https://net3.zju.edu.cn/cgi-bin/rad_user_info
|
||||
2024-10-27 01:14:23 [DEBU] [comp:login] jQuery795355345976131986216_1729962863800({"ServerFlag":4294967040,"add_time":1729961619,"all_bytes":0,"bytes_in":0,"bytes_out":0,"checkout_date":0,"domain":"","error":"ok","keepalive_time":1729961742,"online_ip":"10.195.31.248","real_name":"","remain_seconds":0,"sum_bytes":3934562821923,"sum_seconds":54405413,"sysver":"1.01.20210926","user_balance":0,"user_charge":0,"user_mac":"DC-62-94-2B-16-37","user_name":"3210300237","wallet_balance":0})
|
||||
2024-10-27 01:14:23 [DEBU] [comp:login] 认证客户端 ip: 10.195.31.248
|
||||
2024-10-27 01:14:23 [INFO] [comp:login] 已登录~
|
||||
|
||||
Reference in New Issue
Block a user