OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
zhangneww
V2EX  ›  OpenWrt

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

  •  
  •   zhangneww · Nov 29, 2015 · 1076 views
    This topic created in 3854 days ago, the information mentioned may be changed or developed.

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

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

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

    谢谢。

    10 replies    2016-01-23 11:42:21 +08:00
    zhangneww
        1
    zhangneww  
    OP
       Nov 29, 2015
    找到了一些思路,但是路由器是刷的「改华硕[N14U N54U]5G 2G 的 7620 老毛子 Padavan 固件」

    opkg 不能用, lua 脚本也不能用,唉,没找到纯 shell 的发邮件脚本
    leungzw
        2
    leungzw  
       Nov 29, 2015 via Android
    DDNS 不就是干这个的么,侬是想搞 NAS 还是怎样
    coffeecat
        3
    coffeecat  
       Nov 30, 2015   ❤️ 1
    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
        4
    xm0625  
       Nov 30, 2015   ❤️ 1
    @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
        5
    zhangneww  
    OP
       Nov 30, 2015
    @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
        6
    zhangneww  
    OP
       Nov 30, 2015
    @coffeecat 问题解决了,第一个是因为密码包含特殊符号。第二个问题是电信的问题,没给我公网 IP ,貌似是通过 NAT 转换了,正在想办法解决。
    coffeecat
        7
    coffeecat  
       Dec 1, 2015
    @zhangneww 这个我也是网上找了后改的脚本
    npc0der
        8
    npc0der  
       Dec 28, 2015
    不知道其带不带 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
        9
    tuutoo  
       Jan 18, 2016 via Android
    @zhangneww 电信这个好搞 给他打电话 说要公网 ip 就行
    lqzhgood
        10
    lqzhgood  
       Jan 23, 2016
    curl http://ipip.net 2>/dev/null
    即可~
    我是开机用 py 发邮箱。
    每小时用 shell 同步 ddns
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   882 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 167ms · UTC 22:21 · PVG 06:21 · LAX 15:21 · JFK 18:21
    ♥ Do have faith in what you're doing.