V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
qceytzn
V2EX  ›  Linux

有这样的程序吗?有动态公网 IP 的机器(debian 或者 centOS 这些主流系统),或者是在有动态公网 IP 的路由器后面的机器,一旦 IP 发生改变,就给设定好的邮箱发邮件告知最新的 IP?

  •  
  •   qceytzn · 2018-01-13 04:46:33 +08:00 · 8088 次点击
    这是一个创建于 2498 天前的主题,其中的信息可能已经有所发展或是发生改变。
    39 条回复    2018-01-16 16:17:53 +08:00
    yzc27
        1
    yzc27  
       2018-01-13 06:51:13 +08:00 via iPad
    python 写个脚本就好啦。懒的话,Google 一下,网上也有现成的脚本。
    580a388da131
        2
    580a388da131  
       2018-01-13 07:26:10 +08:00   ❤️ 1
    自己写脚本监控
    梅林固件有个方糖插件可以推送到微信
    http://www.ouyaoxiazai.com/soft/llrj/59/23254.html (未测试)
    afpro
        3
    afpro  
       2018-01-13 08:05:46 +08:00   ❤️ 2
    http://ip.42.pl/raw 这个地址访问以下会返回你的外网 ip
    blless
        4
    blless  
       2018-01-13 08:22:35 +08:00 via iPhone
    花生壳…可能现在没什么人用了吧
    donmen
        5
    donmen  
       2018-01-13 09:21:16 +08:00 via Android
    我用的梅林插件里的阿里云插件,一旦公网 ip 换了,就更新域名指向,阿里云会邮件抄送给你说啥变更了。
    wfd0807
        6
    wfd0807  
       2018-01-13 10:54:54 +08:00
    阿里云解析 API + members.3322.org/dyndns/getip
    python 写个脚本就好了
    pq
        7
    pq  
       2018-01-13 11:36:27 +08:00
    貌似连 python 都用不着,直接
    ip addr | mail [email protected]
    cwek
        8
    cwek  
       2018-01-13 11:45:06 +08:00
    @pq “在有动态公网 IP 的路由器后面的机器”,审题。
    autoxbc
        9
    autoxbc  
       2018-01-13 11:51:17 +08:00   ❤️ 1
    @blless #4 花生壳要手持身份证,3322 只要验证手机
    sinxccc
        10
    sinxccc  
       2018-01-13 12:02:08 +08:00   ❤️ 1
    curl http://whatismyip.akamai.com 会返回你的公网 IP 地址

    剩下的是发邮件还是发短信或者是 telegram 随便你搞了…
    bzzhou
        11
    bzzhou  
       2018-01-13 12:08:00 +08:00   ❤️ 1
    有一个非常简单的方案,前提是有一个域名,以及 dnspod 账号。

    直接 dig +short myip.opendns.com @resolver2.opendns.com ​​​,然后用 dnspod 的 API 接口,然后定期更新就 ok 了。
    Nioty
        12
    Nioty  
       2018-01-13 14:38:20 +08:00 via Android   ❤️ 1
    corntab + curl
    qsnow6
        13
    qsnow6  
       2018-01-13 14:43:16 +08:00 via iPhone
    代理池么 最近在搞这个
    Arnie97
        14
    Arnie97  
       2018-01-13 15:16:06 +08:00 via Android   ❤️ 1
    按你的字面要求的话,
    curl ifconfig.co | mail [email protected]

    但是,我觉得不妨绑定个域名,然后用 DDNS 服务动态更新 A 记录:
    curl "https://yoursite.com:[email protected]/nic/update?hostname=yoursite.com"
    yingfengi
        15
    yingfengi  
       2018-01-13 16:41:58 +08:00
    这么麻烦干嘛,在路由上做 ddns 不就好了
    qceytzn
        16
    qceytzn  
    OP
       2018-01-13 21:28:44 +08:00
    @yzc27 不会写代码哦

    @580a388da131 有可能不在路由器后面,而且,不想去刷路由器,烦哦,另外,也不放心微信,不想交给它任何我的隐私数据

    @donmen 也不放心阿里云

    @autoxbc 有啥国外口碑好的动态域名商,它跟国内的连接比较流畅的?

    @qsnow6 请问代理池是啥?

    @Arnie97 这个看起来蛮好的,不过有个问题:如果设定这个命令在机器上定时跑的话,可以设定在系统上定时跑。mail 命令后面直接跟邮箱地址就能发出邮件了? 如果是下面那条关于 he.net 的命令,要查看最新的 IP 就要登陆 he 去看?
    qceytzn
        17
    qceytzn  
    OP
       2018-01-13 21:49:45 +08:00
    @Arnie97 上面没编辑好
    qceytzn
        18
    qceytzn  
    OP
       2018-01-13 21:55:02 +08:00
    @Arnie97 如果把这个命令设定在系统上定时跑,那么 ‘ mail ’ 后面直接跟邮箱地址就能发出邮件了? 如果是下面那条关于 he 的命令,要查看最新的 IP 就要登陆 he 去看?
    Arnie97
        19
    Arnie97  
       2018-01-13 22:09:05 +08:00
    @qceytzn #18
    我的本意是,你为什么需要知道 IP 变了?
    你让域名指向的 IP 定时更新,以后你直接去访问域名不就完了,难道你平时上网都是记 IP 么
    l1093178
        20
    l1093178  
       2018-01-13 22:32:08 +08:00   ❤️ 1
    ipify 或者 https://httpbin.org/ip 获得路由器公网 IP,然后脚本调用 cloudflare API 就可以了。

    https://gist.github.com/anonymous/174effc7c5827f220348eecb9eeadde3
    nikymaco
        22
    nikymaco  
       2018-01-13 22:42:48 +08:00
    一个 shell 脚本就搞定,首先你的机器要安装 mail 命令,然后 crontab+curl 访问 ip.cip.cc 检查后发邮件给你
    qceytzn
        23
    qceytzn  
    OP
       2018-01-14 01:57:20 +08:00
    @Arnie97 因为要从外面远程连回来,用动态域名的话一是对花生壳之流要手持照不满,二是对用它们的服务会否造成数据泄露表示怀疑。另外就是想用加速软件,直接 IP 对 IP 我感觉放心又简单,就是每次要连接的时候一个操作查看最新的 IP,然后改一下手头上的客户端软件的目标 IP,然后 ok ~~~
    sxm
        24
    sxm  
       2018-01-14 02:12:39 +08:00 via Android   ❤️ 1
    以前写过一个 VBS 版的,主要流程就是,定时访问预先收集的查询 IP 页面,然后比对本次获取的 IP 是否和上次获取的不同,不同就发送 IP 内容到制定的邮箱,然后微信就会收到邮件提醒。
    qceytzn
        25
    qceytzn  
    OP
       2018-01-14 02:17:28 +08:00
    @l1093178 “脚本调用 cloudflare API 就可以了”,只是单纯的个人远程连接使用而已,上 CDN 好像是把事儿搞大了,简单操作的话,获取到路由器的 IP 后怎么弄比较好?
    qceytzn
        26
    qceytzn  
    OP
       2018-01-14 02:21:01 +08:00
    @sxm 完全不会写代码,最多是拿来直接可用的批处理改改路径啥的,您的 VBS 版的可以直接或者简单处理下就在 linux 里面跑起来吗?可以的话可否发一份给我?非常感谢
    boywhp
        27
    boywhp  
       2018-01-14 08:30:48 +08:00 via Android   ❤️ 1
    试试 FCN 远程接入局域网 github.com/boywhp/fcn
    sw10
        28
    sw10  
       2018-01-14 09:25:55 +08:00   ❤️ 1
    不想用厂商提供的 DDNS 产品。
    可以考虑这个: https://github.com/NewFuture/DDNS
    chanssl
        29
    chanssl  
       2018-01-14 10:09:57 +08:00 via Android
    推到微信的话可以用 Server 酱
    Midnight
        30
    Midnight  
       2018-01-14 12:05:00 +08:00
    我是利用阿里的 API 写了个 C#版的 DDNS 小程序实现这个需求
    izoabr
        31
    izoabr  
       2018-01-14 15:08:43 +08:00
    搞个 DDNS 不就得了
    tailf
        32
    tailf  
       2018-01-14 16:08:13 +08:00   ❤️ 1
    给大家推荐一个 ip 显示工具:ip.sb
    gcod
        33
    gcod  
       2018-01-14 17:32:29 +08:00   ❤️ 1
    exkernel
        34
    exkernel  
       2018-01-14 18:55:48 +08:00   ❤️ 1
    l1093178
        35
    l1093178  
       2018-01-15 19:06:12 +08:00
    @qceytzn Cloudflare 不光是 CDN 啊,也有域名解析服务,所以说可以用 API + 脚本来实现 DDNS
    qceytzn
        36
    qceytzn  
    OP
       2018-01-16 04:42:15 +08:00
    @exkernel changeIP 这个看起来不错,但是,我试着 ping 了几个它们的 free DNS 的域名,比如 wha.lajetos.comzzux.comns01.us 这些,全部,注意,是全部,全部 ping 不通,难不成这家的域名都被墙了??你在国内的机器上用过它的 free Dynamic DNS 吗??效果可好??
    qceytzn
        37
    qceytzn  
    OP
       2018-01-16 04:45:29 +08:00
    @gcod 我现在的路由器是 PandoraBox,可以用这个?您有没有试过直接在 linux 系统上可以完美运行吗?
    qceytzn
        38
    qceytzn  
    OP
       2018-01-16 04:56:22 +08:00
    @gcod 这个脚本是把更新的 IP 发送给 cloudflare 这些而不是发送给我自己的?
    exkernel
        39
    exkernel  
       2018-01-16 16:17:53 +08:00   ❤️ 1
    @qceytzn 你 ping 主域名干嘛,二级域名才是给用户用的。广东电信没被墙。你可以试试 ping nic.ChangeIP.com
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1082 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:19 · PVG 03:19 · LAX 11:19 · JFK 14:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.