动态域名解析
收集的一些DDNS的工具
利用shell获得本机局域网IP
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
GO语言版
package main
import (
"fmt"
"net"
"strings"
)
func main() {
conn, err := net.Dial("udp", "google.com:80")
if err != nil {
fmt.Println(err.Error())
return
}
defer conn.Close()
fmt.Println(strings.Split(conn.LocalAddr().String(), ":")[0])
}
获取外网IP
新浪IP地址库
可以直接script标签引入
直接script引入 http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
也支持 json 和文本格式
json 格式 http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json
文本格式 http://int.dpool.sina.com.cn/iplookup/iplookup.php
curl ip.cn
直接给出IP和运营商,浏览器访问不一样 类似于 curl myip.ipip.net
后面还可以跟一个IP地址,查询IP的位置. curl ip.cn/8.8.8.8
, 其网站还提供大陆IP列表,较快的DNS等等
curl ipinfo.io
JSON格式,信息较全,可跨域,同样也可以查询指定IPcurl ipinfo.io/8.8.8.8
,浏览器访问还会给出地图和网络运营商, http://speedsmart.net 可以测速
curl -i -H "Accept:application/json, text/javascript, */*; q=0.01" https://ipinfo.io
https://freegeoip.net 也提供json,xml,jsonp的详细信息 可用http 也可用https
curl ifconfig.me
速度较慢,浏览器访问不一样,直接给出IP
curl http://httpbin.org/get
直接给出所有请求头,JSON格式.
curl httpbin.org/ip
返回JSON包含IP
curl ip.gs
包含运行商,国家地区
curl cip.cc
包含运营商和地址
直接给出IP
curl ip.6655.com/ip.aspx
curl members.3322.org/dyndns/getip
curl icanhazip.com
curl whatismyip.akamai.com
curl myip.dnsomatic.com
curl ifconfig.co
curl https://api.ipify.org/
curl http://greak.net/ip
curl ipecho.net/plain
http://ip.chinaz.com/getip.aspx
比较详细的地理位置
淘宝的地址库
http://ip.taobao.com/service/getIpInfo2.php?ip=myip
https://jsonip.com/
返回json数据IP,可以跨域
http://freegeoip.net/json/
返回当前IP或者指定IP的地址位置和经纬度,支持json和jsonp?callback=fun
域名动态解析
花生壳接口
http://username:password@ddns.oray.com/ph/update?hostname=yourdomain
访问这个地址,会把域名绑定到访问这个地址的外网 ip 上。一般这个 ip 都是你路由器的 ip ,路由器再转发到树莓派上,用域名就可以直接访问树莓派了。
可以用计划任务一段时间更新一次
3322org接口
lynx -mime_header -auth=su:123 "http://members.3322.net/dyndns/update?system=dyndns&hostname=domain"
DNSPOD 接口
网友提供的操作库
https://github.com/xdtianyu/scripts/tree/master/ddns
https://github.com/lijyigithub/ddnspod/blob/master/ddnspod.py