家里所有设备都是基于Linux的,比如N1小钢炮,树莓派,路由器,nas等等,为了在外网访问,发现家庭网络中基本都有IPV6地址,但是是动态的,如果使用FRP或者DDNS都需要服务器的支持,如果能利用到公网IPV6地址,则可省去诸多麻烦。另外,ipv4的公网基本是不用想了,移动的更不用想。
所以,为了让ipv6地址在每次启动时通知我微信,有如下方法(两种方法的发送微信接口都使用的是serverchan,关于serverchan的使用方法请移步官网):
1. 通过Python
新建getip.py代码如下,将key换成自己的就可以直接使用,在Python3.7测试使用正常:
# encoding:utf-8
import urllib.request
import subprocess
import socket
import re
import requests
child = subprocess.Popen("ifconfig", shell=True, stdout=subprocess.PIPE)
out = child.communicate(); # 保存 ifconfig 中的所有信息
ipv6_pattern = '(([a-f0-9]{1,4}:){7}[a-f0-9]{1,4})'
m = re.findall(ipv6_pattern, str(out));
address = m[1][0]
key = "SCU8693xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # your-key
url = "https://sc.ftqq.com/%s.send