fix: cloudflare update performance

This commit is contained in:
chinhwajie
2024-10-28 11:59:54 +08:00
parent 7490b4566c
commit 43932e4b98
7 changed files with 156 additions and 134 deletions

View File

@@ -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

View File

@@ -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、域名

View File

@@ -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"`
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,
})
if err != nil {
return err
}
if len(records) == 0 {
_, err = a.Api.CreateDNSRecord(context.Background(), a.ZoneResource, cloudflare.CreateDNSRecordParams{
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
} else {
record := records[0]
if record.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
}
_, err = a.Api.UpdateDNSRecord(context.Background(), a.ZoneResource, cloudflare.UpdateDNSRecordParams{
ID: record.ID,
Content: ip,
})
return err
}
}

View File

@@ -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 == "" {

View 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
}

View File

@@ -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
}

View File

@@ -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] 已登录~