ddnsconf

package
v1.10.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const Ipv4Reg = `((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])`

Ipv4Reg IPv4正则

View Source
const Ipv6Reg = `` /* 1065-byte string literal not displayed */

Ipv6Reg IPv6正则

Variables

This section is empty.

Functions

func CheckDDNSTaskAvalid

func CheckDDNSTaskAvalid(task *DDNSTask) error

func CleanIPUrlAddrMap

func CleanIPUrlAddrMap()

func SetGetDDNSConfigureFunc

func SetGetDDNSConfigureFunc(f func() DDNSConfigure)

Types

type DDNSConfigure

type DDNSConfigure struct {
	Enable                 bool `json:"Enable"`
	HttpClientSecureVerify bool `json:"HttpClientSecureVerify"`
	FirstCheckDelay        int  `json:"FirstCheckDelay"` //首次检查延迟时间
	Intervals              int  `json:"Intervals"`
}

type DDNSTask

type DDNSTask struct {
	TaskName string `json:"TaskName"`
	TaskKey  string `json:"TaskKey"` //添加任务时随机生成,方便管理任务(修改删除)
	//规则类型 IPv4/IPv6
	TaskType string `json:"TaskType"`
	Enable   bool

	GetType      string    `json:"GetType"` //IP获取方式
	URL          []string  `json:"URL"`
	NetInterface string    `json:"NetInterface"`
	IPReg        string    `json:"IPReg"`
	Domains      []string  `json:"Domains"`
	DNS          DNSConfig `json:"DNS"`
	Webhook
	TTL               string `json:"TTL"`
	HttpClientTimeout int    `json:"HttpClientTimeout"`
	ModifyTime        int64  `json:"ModifyTime"`
}

func (*DDNSTask) GetIpAddr

func (d *DDNSTask) GetIpAddr() (result string)

type DNSCallback

type DNSCallback struct {
	URL                                string   `json:"URL"`    //请求地址
	Method                             string   `json:"Method"` //请求方法
	Headers                            []string `json:"Headers"`
	RequestBody                        string   `json:"RequestBody"`
	Server                             string   `json:"Server"`                             //预设服务商
	DisableCallbackSuccessContentCheck bool     `json:"DisableCallbackSuccessContentCheck"` //禁用成功调用返回检测
	CallbackSuccessContent             []string `json:"CallbackSuccessContent"`             //接口调用成功包含内容
}

type DNSConfig

type DNSConfig struct {
	// 名称。如:alidns,webhook
	Name                    string      `json:"Name"`
	ID                      string      `json:"ID"`
	Secret                  string      `json:"Secret"`
	ForceInterval           int         `json:"ForceInterval"`       //(秒)即使IP没有变化,到一定时间后依然强制更新或先DNS解析比较IP再更新
	ResolverDoaminCheck     bool        `json:"ResolverDoaminCheck"` //调用callback同步前先解析一次域名,如果IP相同就不同步
	DNSServerList           []string    `json:"DNSServerList"`       //DNS服务器列表
	CallAPINetwork          string      `json:"CallAPINetwork"`      //空代理tcp, tcp4,tcp6
	Callback                DNSCallback `json:"Callback"`
	HttpClientProxyType     string      `json:"HttpClientProxyType"`     //http client代理服务器设置
	HttpClientProxyAddr     string      `json:"HttpClientProxyAddr"`     //代理服务器IP
	HttpClientProxyUser     string      `json:"HttpClientProxyUser"`     //代理用户
	HttpClientProxyPassword string      `json:"HttpClientProxyPassword"` //代理密码
}

DNSConfig DNS配置

func (*DNSConfig) GetCallAPINetwork

func (d *DNSConfig) GetCallAPINetwork() string

type Webhook

type Webhook struct {
	WebhookEnable                             bool     `json:"WebhookEnable"`          //Webhook开关
	WebhookCallOnGetIPfail                    bool     `json:"WebhookCallOnGetIPfail"` //获取IP失败时触发Webhook 开关
	WebhookURL                                string   `json:"WebhookURL"`
	WebhookMethod                             string   `json:"WebhookMethod"`
	WebhookHeaders                            []string `json:"WebhookHeaders"`
	WebhookRequestBody                        string   `json:"WebhookRequestBody"`
	WebhookDisableCallbackSuccessContentCheck bool     `json:"WebhookDisableCallbackSuccessContentCheck"` //禁用成功调用返回检测
	WebhookSuccessContent                     []string `json:"WebhookSuccessContent"`                     //接口调用成功包含的内容
	WebhookProxy                              string   `json:"WebhookProxy"`                              //使用DNS代理设置  ""表示禁用,"dns"表示使用dns的代理设置
	WebhookProxyAddr                          string   `json:"WebhookProxyAddr"`                          //代理服务器IP
	WebhookProxyUser                          string   `json:"WebhookProxyUser"`                          //代理用户
	WebhookProxyPassword                      string   `json:"WebhookProxyPassword"`                      //代理密码
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL