natter设置ddns和端口邮件通知脚本

网络 · 昨天 · 7 人浏览

由于各运营商开始限速,ipv6也没那么好用了,而且有时v4是必须的。 发现了 natter 这么好的项目, 能够直接使用公网v4和随机端口的组合。

参考 https://github.com/MikeWang000000/Natter/blob/master/docs/script.md 上的脚本进行简单修改,主要实现端口通知,ip变更则通过ddns实现,不同的实现为了安全性考虑, 避免同时出现域名和端口。不考虑ip4p和srv是因为支持的客户端太少了。

通过 https://dynv6.com/docs/apis 的ddns更新ip,再利用shell email邮件通知端口,由于通过了手机邮箱,所以还能及时通过短信收到端口变化提示,需要时仅需修改客户端应用端口,而域名ip自动解析。最小化修改使用。

#!/bin/sh
# Natter notification script arguments
# https://github.com/MikeWang000000/Natter/blob/master/docs/script.md
# protocol="$1"; private_ip="$2"; private_port="$3"; public_ip="$4"; public_port="$5"

DOMAIN='xx.dynv6.com'
TOKEN='xxxxxxxxxxx'

while true; do

#ddns通过dynv6的api实现
    curl \
      "http://ipv4.dynv6.com/api/update?hostname=$DOMAIN&ipv4=auto&token=$TOKEN" \
      > /dev/null 2> /dev/null
      
#邮件通知端口,安装sendemail实现

    sendemail -f "发件人@qq.cn" \
                           -t "收件@139.com" \
                           -s "smtp.qq.cn:587" \
                           -u "natter $5" \
                           -m "private: $2:$3   public: $5" \
                           -xu "发件人@qq.cn" \
                           -xp "app密码code" \
                           -o tls=no
    if [ $? -eq 0 ]; then
        break
    fi
done

运行测试一段时间看看多久会自动变化ip端口。

 nohup natter -b 8080 -e dyn.sh > log.natter 2>&1 &
nat fullcone

Buy Me a Coffee

支付宝 支付宝
微信 微信
Theme Jasmine by Kent Liao