summaryrefslogtreecommitdiff
path: root/prober/record_prober.go
diff options
context:
space:
mode:
authorMDK <[email protected]>2023-09-26 14:12:04 +0800
committerMDK <[email protected]>2023-09-26 14:12:04 +0800
commit4c63d78e4e42aece5e5eaa6e111e7d5fc20aabb8 (patch)
tree4341188fd10890724936b4d129ce0a958daf79c9 /prober/record_prober.go
parent4fcf28804c88ed090d96f737db7814cce44ac1fd (diff)
the project structure modified and new features added
Diffstat (limited to 'prober/record_prober.go')
-rw-r--r--prober/record_prober.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/prober/record_prober.go b/prober/record_prober.go
new file mode 100644
index 0000000..e976477
--- /dev/null
+++ b/prober/record_prober.go
@@ -0,0 +1,38 @@
+package prober
+
+import (
+ "dtool/utils"
+)
+
+type SVCBResult struct {
+ Ip string `json:"ip"`
+ Response utils.SVCBResponse `json:"response"`
+}
+
+func SVCBProbeOnce(ip string, domain string) (SVCBResult, error) {
+ result := SVCBResult{Ip: ip}
+ res, err := utils.SendSVCBQuery(ip, domain)
+ if err != nil {
+ return result, err
+ }
+ resp, err := utils.ParseSVCBResponse(res)
+ if err != nil {
+ return result, err
+ }
+ result.Response = resp
+ return result, nil
+}
+
+func SVCBProbe(ip string, domain string) SVCBResult {
+ result := SVCBResult{Ip: ip}
+ res, err := utils.SendSVCBQuery(ip, domain)
+ if err != nil {
+ return result
+ }
+ resp, err := utils.ParseSVCBResponse(res)
+ if err != nil {
+ return result
+ }
+ result.Response = resp
+ return result
+}