迫于代码能力太烂,求助一个公网 IP 推送的办法

2019-11-18 04:04:00 +08:00
 szxczyc

有个 ubuntu 服务器安装了 anaconda 平常用来跑跑数据,但是拿到的权限太小,没有 root 权限,只能跑代码用。蛋疼的是内网 IP 完全连不通,只能用公网 IP,时不时服务器就断一下。每次都要别人帮忙看公网 IP,太麻烦了。

自己写了 py 代码后 crontab 每隔 10 分钟获取一次 IP 用 sever 酱推送到微信,但是有可能几天才变一次 IP,推送总要置顶,太笨。

现在有两个更好解决方案:

1、写一个 py 脚本,ip 变化时通知 BUT:从 members.3322.org/dyndns/getip 拿到的数据格式有点问题(b'1.1.1.1\n'),处理不了

2、直接用 aliyunDDNS BUT:大部分需要装阿里云从 github.com/NewFuture/DDNS 拿到的 py 脚本都可以调试成功,但是定时任务 sudo ./task.sh 命令没权限

系统调用 python 只能用 py3 自带的库,pip 之类的是不行的。 除了 py 如果有 shell 脚本也可以,谢谢!

5014 次点击
所在节点    程序员
26 条回复
xiri
2019-11-18 10:22:19 +08:00
为什么不修改推送逻辑,让它只在 ip 发生变动时才推送呢?
只需要每次推送完之后把 ip 保存下来,然后每次检测的时候对比一下,不一样才推消息就行了
opengps
2019-11-18 10:53:30 +08:00
花生壳动态解析需要实名了,不然我会直接推荐你在目标网络内部装个花生壳
doyel
2019-11-18 11:20:01 +08:00
我上古时代自己写过个 curl 获取类似 ip138 网页内容然后截取,如果 ip 变了发邮件的。。。自己循环自己。。。10 分钟完成用了好多年。。。然后公网 IP 没了。。。
szxczyc
2019-11-18 13:57:09 +08:00
@shuizhengqi #20 pip 无权限
Lunatic1
2019-11-18 14:54:37 +08:00
oceanTu
2019-11-19 10:49:02 +08:00
freemyip.com 做 DDNS
1. 去 www.freemyip.com 申请一个二级域名
2. crontab 定时任务,10 分钟刷一遍
*/10 * * * * curl "https://freemyip.com/update?token=#YOUR_TOKEN#&domain=#YOUR_DDNS_NAME#.freemyip.com&myip=$(/sbin/ifconfig eno1 |/bin/grep netmask |/usr/bin/awk '{print $2}')" >/dev/null 2>&1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/620498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX