Openwrt 开机脚本,自动发送外网 IP 给我,思路?

2015-11-29 15:17:13 +08:00
 zhangneww

可以用邮件,也可以通过某种方式写入到我的另个 VPS 中,我再获取。

有没有思路或者现成的脚本?

不想用花生壳,耗内存,使用脚本的话只需要开机时执行一次就可以了。

谢谢。

575 次点击
所在节点    OpenWrt
10 条回复
zhangneww
2015-11-29 16:20:33 +08:00
找到了一些思路,但是路由器是刷的「改华硕[N14U N54U]5G 2G 的 7620 老毛子 Padavan 固件」

opkg 不能用, lua 脚本也不能用,唉,没找到纯 shell 的发邮件脚本
leungzw
2015-11-29 22:27:02 +08:00
DDNS 不就是干这个的么,侬是想搞 NAS 还是怎样
coffeecat
2015-11-30 08:34:41 +08:00
ddns 花生壳 shell 脚本。。。不耗内存,如果不是 ppoe 拨号的需要修改
http://routeragency.com/?p=291

#!/bin/sh
USER="******"
PASS="******"
DOMAIN="******.****.net"
IP=`ifconfig pppoe-wan|awk -F "[: ]+" '/inet addr/{print $4}'`
URL="http://${USER}:${PASS}@ddns.oray.com:80/ph/update?hostname=${DOMAIN}&myip=${IP}"

if [ -f /tmp/oray ]; then
old_ip=`cat /tmp/oray | awk '{ print $2}'`
if [ "${old_ip}" = "${IP}" ]; then
exit
fi
fi
wget -q -O /tmp/oray -q ${URL}
xm0625
2015-11-30 16:31:43 +08:00
@coffeecat 膜拜一下

说说我的思路:
3322 的 ddns, 然后

#!/bin/sh


while [ 1 -eq 1 ]
do
cat /dev/null > /tmp/ddnsresult-3322.txt
wget 'http://members.3322.net/dyndns/update?system=dyndns&hostname=xxxx.f3322.net' --http-user=xxxx --http-password=xxxx -x -O /tmp/ddnsresult-3322.txt >/dev/null 2>&1
uptime >> /tmp/ddnsresult-3322.txt
sleep 30s
done
zhangneww
2015-11-30 20:45:32 +08:00
@coffeecat 非常感谢,有两个问题:

一:脚本执行报错,./oray: line 5: syntax error: unexpected end of file (expecting "fi")

二:是 ppoe 拨号,网卡叫 ppp0 ,但是得到的不是真是的外网 IP ,是这个 10.252.xx.152 内网 ip ,和通过 http://ip.cnhttp://ipecho.net/plain 得到的 IP 都不一样( 111.227.XX.155 )。而且通过 ifconfig 所有网卡都没找到真正的外网 IP ,是不是我的到的就是一个内网,我没有外网 IP ?
zhangneww
2015-11-30 21:59:44 +08:00
@coffeecat 问题解决了,第一个是因为密码包含特殊符号。第二个问题是电信的问题,没给我公网 IP ,貌似是通过 NAT 转换了,正在想办法解决。
coffeecat
2015-12-01 09:25:07 +08:00
@zhangneww 这个我也是网上找了后改的脚本
npc0der
2015-12-28 17:09:55 +08:00
不知道其带不带 cron 功能,我是内网群晖上面的 定时脚本

申请了 dnspod 并且事先知道了我一个域名的二级域名的 domain_id 和 record_id (这个参考其 api 文档可以得到怎么获取方法)

curl -k https://dnsapi.cn/Record.Ddns -d 'login_email=&login_password=&domain_id=&record_id=&sub_domain=home&record_line=默认' > /var/log/ddns.log

这样我的二级域名就会自动指导我家的 ip 了。

当然 oray 也可以 但是好像要安装客户端 我以前用的 oray 方案 后面自己用黑群晖后改了这个方案
tuutoo
2016-01-18 00:29:50 +08:00
@zhangneww 电信这个好搞 给他打电话 说要公网 ip 就行
lqzhgood
2016-01-23 11:42:21 +08:00
curl http://ipip.net 2>/dev/null
即可~
我是开机用 py 发邮箱。
每小时用 shell 同步 ddns

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

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

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

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

© 2021 V2EX