找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 6095|回复: 16

[k2p] 新人求教!K2P刷了最新版荒野无灯,请问如何实现外网IP变动后自动给自己发送邮件

[复制链接]
发表于 2019-5-9 00:51 | 显示全部楼层 |阅读模式
本帖最后由 tengxiaona 于 2019-5-9 01:11 编辑

本人纯新人小白,对路由器和NAS基本是一窍不通,但有一个折腾的心!

1、前一阵跟风入了蜗牛星际B款单网口千兆,通过网上搜贴思考,刷了U-NAS,最终实现了内网访问(能看个电影存个照片啥的)

2、因为之前用的小米路由是百兆网口,又跟风入了K2P,通过在恩山浏览各位大佬的帖子,刷了荒野无灯的固件,最终实现了局域网内千兆访问,内网传输(往NAS里拷电影)110m,外网390m,上传48M(联通300M宽带)

实现了这两个最基本的用途以后,幸福感大大提升,下载电影分分钟完事,然后无论用手机NPLAYER,还是电视端的MXPLAYER看电影等等都是完美体验!

折腾这成功以上两样大概耗1个星期(小白,轻喷),然而折腾的心不止。看大家都能通过外网访问NAS,想想在外面看家里NAS里的电影不是更完美,继续折腾

比较幸运的是几个硬件都比较符合,折腾的路径少了许多:
1、公网IP,直接就是公网ip,不用和联通客服撕B开通公网IP
2、通过路由器拨号,而不是通过联通光猫拨号

然后继续通过恩山论坛思考,知道了自己是公网ip,可以通过端口映射(之前连端口映射是干嘛的都不值到,只是听说过)来从外网访问路由器,进而访问NAS,成功实现从外网直接观看nas里的电影

现在问题来了,因为是公网ip是动态的,在路由器不重启的情况下,公网ip每7天一变动,很符合我的要求。

既然7天才变动一次ip地址,我就不想折腾DDNS了(好像是叫这个名字),我想通过K2P路由器,荒野无灯的固件实现在ip变动的时候,自动发送邮件通知我公网ip地址已经变更为多少

通过搜索,发现这方面的信息不多,
https://www.right.com.cn/forum/thread-257957-1-1.html,作者qyzjj
http://koolshare.cn/thread-49864-1-1.html

只有这两个帖子提到了,可是里面的内容看不懂,回帖也不多。。

具体内容是下面这样的,这个代码的作者是KOOL SHARE论坛的xfl12345:

#!/bin/sh
cur_dir=$(cd "$(dirname "$0")"; pwd)
is_ipTXTexist=0
#####Update 2018.10.8;11.11.23;China Time;
echo "目前此脚本在您机器的绝对路径为 $cur_dir "
cd $cur_dir
echo "正在检查文件完整"
if [ -e 1.log ] ;then
        echo "发现1.log"
else
        touch 1.log
        echo "1.log不存在,已为您创建"
fi
if [ -e ip.txt ] ;then
        is_ipTXTexist=1
        echo "发现ip.txt"
else
        touch ip.txt
        echo "ip.txt不存在,已为您创建"
fi
if [ -e email.txt ] ;then
        echo "发现email.txt"
else
        touch email.txt
        echo "您的newifi历史IP变化如下:<br>" >> email.txt
        echo "email.txt不存在,已为您创建并填好预备内容"
fi
echo "文件完整检查工作完毕"
OLDIP=`cat $cur_dir/ip.txt`
FAYOUJIAN=0
NUM1=1
NUM0=0
IPADDRESS=$(/sbin/ifconfig ppp0 | sed -n 's/.*inet addr:\([^ ]*\).*/\1/p')
WANSTATE=$(mtk_esw 11 | sed -n 's/.*state: \([^ ]*\)/\1/p')
if [ $WANSTATE ==  $NUM1 ]
then
        if [ "$IPADDRESS" == "$OLDIP" ]   
        then                          
                echo "`date -u` not changed"
        else
                if [ "$IPADDRESS" ==  "" ]
                then
                        TIMETMP=$(date)
                        sleep 1.5m
                        IPADDRESS=$(/sbin/ifconfig ppp0 | sed -n 's/.*inet addr:\([^ ]*\).*/\1/p')
                        if [ "$IPADDRESS" ==  "" ]
                        then
                                echo "$TIMETMP##获取IP失败,路由器掉线<br>" >> $cur_dir/email.txt
                        else
                                echo "$TIMETMP<br>##重新拨号并成功获取IPIPADDRESS<br>" >> $cur_dir/email.txt
                                FAYOUJIAN=1
                        fi
                else
                        echo "`date -u` changed" >> $cur_dir/1.log
                        if [ "$OLDIP" == "" -o $is_ipTXTexist == $NUM0 ]
                        then
                                TIMETMP=$(date)
                                OLDIP="(空)"
                                echo "$TIMETMP<br>##首次拨号成功并获得IPIPADDRESS<br>" >> $cur_dir/email.txt
                        else
                                echo "$OLDIP=>$IPADDRESS<br>" >> $cur_dir/email.txt
                        fi
                        FAYOUJIAN=1
                fi
        fi
else
        if [ $is_ipTXTexist == $NUM1 ]
        then
                echo "`date` 路由器网线断线<br>" >> $cur_dir/email.txt
        fi
        rm -f $cur_dir/ip.txt
fi
echo $IPADDRESS > $cur_dir/ip.txt
if [ $FAYOUJIAN ==  $NUM1 ]
then
        HISTORYIP=`cat $cur_dir/email.txt`
        fromAdd="xxx@126.com"
        tolist="xxx@126.com"
        subject="IP Changed"
        (
        echo "From: $fromAdd"
        echo "To: $tolist"
        echo "Subject: $subject"
        echo "MIME-Version: 1.0"
        echo 'Content-Type: multipart/mixed; boundary="GvXjxJ+pjyke8COw"'
        #echo "Content-Disposition: inline"
        echo
        echo "--GvXjxJ+pjyke8COw"
        echo "Content-Type: text/html; charset=utf-8"
        echo "Content-Disposition: inline"
        echo
        echo "现在IP为<font color="hotpink">$IPADDRESS</font><br>"
        echo "啦啦啦我是华丽的文字分割线啦啦啦<br>"
        echo
        echo "<br> $HISTORYIP <br>"
        echo "<br>上次IP为<font color="orange">$OLDIP </font><br><br><br>"
        echo
        echo "现在IP为<font color="hotpink">$IPADDRESS</font> <br>"
        echo "--GvXjxJ+pjyke8COw"
        ) | sendmail -f $fromAdd -t $tolist  -S smtp.126.com -au"username" -ap"password"
        logger "已执行完发送邮件命令!"
fi
logger "ipemail.sh脚本执行完毕!"


这应该是个脚本代码,可是我不知道怎么用,甚至这些代码放到路由器哪个位置这种最基础的问题我都不知道

关于以上代码,我有3个问题

1、以上代码是否可以实现在ip变动的时候,自动发送邮件通知我公网ip地址已经变更为多少
2、以上代码是否安全,上面的代码能看懂一点点,至少知道我是需要输入自己的邮箱帐号和密码才能实现发邮件。我想知道会不会泄露密码和隐私
3、如何使用以上代码,就是说即使以上代码已经写好,我应该怎么把代码放到k2p路由器里,放到哪里,如何执行

真诚希望能得到各位恩山大佬的帮助!!当然如果有比我还小白的朋友对我之前已经实现的功能有想要了解的问题,我也会尽我所能帮助
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2019-5-9 01:10 | 显示全部楼层
动态域名解析(DDNS)很麻烦吗?免费pubyun不就行了,7天检查一次变更
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 01:15 | 显示全部楼层
找到PPPoE脚本,拨号成功之后发送邮件即可

点评

6666,ipv6不知道怎么获得。。。  详情 回复 发表于 2021-1-2 23:55
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 01:18 | 显示全部楼层
高深莫测,看不懂。支持一个
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 02:57 | 显示全部楼层
我记得有一个自定义脚本的地方,然后在拨号后直接发送即可。至于发送邮件没有试过,利用server酱推送到微信倒是简单得多。另外现在DDNS设置简单得多,去注册一个账号,然后填在路由器就可以
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 04:08 | 显示全部楼层
我记得老毛子内置了server酱,你直接用这个发送就行了,何必非要邮件
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 04:42 | 显示全部楼层
这个时候你需要H大的老毛子,无灯的功能太少

点评

稳定就好,不一定功能多就好用  详情 回复 发表于 2019-5-9 08:18
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 07:13 | 显示全部楼层
真多,终于看完了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 08:03 | 显示全部楼层
DDNS不麻烦的,我也是刚折腾好
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 08:18 | 显示全部楼层
kinkit 发表于 2019-5-9 04:42
这个时候你需要H大的老毛子,无灯的功能太少

稳定就好,不一定功能多就好用
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 08:43 | 显示全部楼层
没看懂, 我的是阿里DDNS 外网IP变动以后,阿里云自动解析后就会给我发外网IP变更的邮件,
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 08:56 | 显示全部楼层
直接搞DDNS吧 那么多免费的  而且也不用另外查看邮件 又怕邮箱给爆破了 你这样很麻烦 每次使用APP还得改IP
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 09:06 | 显示全部楼层
还是建议动态域名,很多免费的,推荐一个changeip,一直很稳定可靠
还有个办法就是利用server酱推送到微信,H大路由固件上就有,没账号需要注册一个,实话说,看起来很复杂其实很简单
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 10:11 | 显示全部楼层
动态域名,你值得拥有!
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2019-5-9 10:32 | 显示全部楼层
表示小白看不懂
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-23 15:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表