无忧启动论坛

标题: 一个获取电脑自身公网ip并发送到你自己的邮箱的服务程序 [打印本页]

作者: ShareBit    时间: 2023-11-14 13:03
标题: 一个获取电脑自身公网ip并发送到你自己的邮箱的服务程序
本帖最后由 ShareBit 于 2023-11-16 20:59 编辑

在cmd.exe 管理员权限的命令行环境下
安装服务:
ipnotify -install

运行服务:
ipnotify -start

停止服务:
ipnotify -stop

卸载服务:
ipnotify -uninstall

要正确配置与ipnotify 处于同一目录下的 ipnotify.ini文件

[ipnotify]
smtpservername = smtp.qq.com
smtpserverport = 465
securitytype = SSL
account = 10000@qq.com
password = 你的邮箱授权码
sendermail = 10000@qq.com
recipient = 10000@qq.com
mailtitle = "这是我家里的电脑最新IP地址列表"
sleeptime = 300
appendallnetcardip = 1

useipify4 = 1
useipify6 = 1

参数说明:
smtpservername 是 发送邮件的smtp服务器地址
smtpserverport 是发送邮件的smtp服务器的端口
securitytype 合法值为  None, TLS, SSL,这三者之一,需要根据smtp服务器说明进行配置
account 是登录smtp服务器的账号(一般与发件人邮箱相同)
password 是登录smtp服务器的密码,他不一定是发件人的邮箱密码,有可能是授权码,需要根据smtp服务器说明进行配置
sendermail 是发件人邮箱
recipient 是收件人邮箱,如果你不想使用两个邮箱,那么也可以自己发送邮件给自己,也就是这个设置可以与 sendermail 设置为相同
mailtitle 邮件标题,一般用于描述电脑,用于区分是哪一台电脑发送过来的邮件
sleeptime 单位是秒,是轮询检测公网ip地址变化的间隔时间
appendallnetcardip 有效值可以是0,也可以是1,用于说明在发送邮件的时候是否同时把网卡的所有ip地址,也就是包括局域网ip地址信息也叠加到邮件内容里面去

useipify4 有效值可以是0,也可以是1,用于说明是否通过访问 api.ipify.org 去获取电脑的公网ipv4地址
useipify6 有效值可以是0,也可以是1,用于说明是否通过访问 api64.ipify.org 去获取电脑的公网ipv6地址

如果电脑网卡本身有动态公网ipv4或ipv6, 那么useipify4和useipify6可以设置为0,也就是不用去访问外网来获得自己的公网ip信息

配置文件修改之后,需要停止服务,再次开启服务才会生效。只有检测到公网ip发生变化才会发送邮件,一直没变化,就一直不会再次发送。本软件支持从windows xp开始的后续所有windows系统。

如果使用QQ邮箱,那么只需要去获得邮箱授权码并修改
account = 10000@qq.com
password = 你的邮箱授权码
sendermail = 10000@qq.com
recipient = 10000@qq.com
这几行,别的不用做修改

结果大致如下:


软件下载地址: http://www.qqsdk.com/ipnotify/ipnotify.zip

更新日志:
2023年11月15日 14:40  修改前面版本,在网卡既没有公网ipv4也没有公网ipv6的情况下,被我误判为没有公网ip,从而导致没发送邮件。
2023年11月15日 16:30  配置文件里面增加 appendallnetcardip = 1 选项,让用户自行决定是否邮件内容里面带所有的网卡ip地址,也就是局域网ip地址。


作者: 1801403    时间: 2023-11-14 13:23
Good,顶起来,感谢楼主分享。
作者: 2012yjkiw    时间: 2023-11-14 13:34
顶楼主,问下有没有获取的IP和上次一样不发送的功能吗?
作者: ShareBit    时间: 2023-11-14 13:40
2012yjkiw 发表于 2023-11-14 13:34
顶楼主,问下有没有获取的IP和上次一样不发送的功能吗?

只要检测公网ip没有改变,那么不会再次发送邮件
作者: 2012yjkiw    时间: 2023-11-14 13:43
ShareBit 发表于 2023-11-14 13:40
只要检测公网ip没有改变,那么不会再次发送邮件

好的,谢谢
作者: zts59    时间: 2023-11-14 13:44
不错,不错,能不能对INI文件进行加密处理?
作者: ShareBit    时间: 2023-11-14 14:21
zts59 发表于 2023-11-14 13:44
不错,不错,能不能对INI文件进行加密处理?

目前没打算对配置文件加密。 这个程序主要是用于自己获得自己电脑的最新公网ip信息,尤其是因为ipv6的普及,路由器设置得当,电脑网卡自身就具有动态公网ipv6,这为类似于使用windows远程桌面软件去直连电脑提供了支持。
作者: 2012andyle113    时间: 2023-11-14 14:26
有点意思
作者: 1801403    时间: 2023-11-14 15:31
要是能一同把本机的IPV4 IP 发出来就更方便了,可以直接进路由映射这台机的内网IP了。便捷啊。
作者: nathan6498    时间: 2023-11-14 15:34
谢谢分享
作者: tanglf    时间: 2023-11-14 16:29
附件是 发送程序吗
作者: yc2428    时间: 2023-11-14 19:18
谢谢分享
作者: duhe303    时间: 2023-11-14 19:25
谢谢分享
作者: ebing    时间: 2023-11-14 19:40
太好了!感谢分享!
作者: hycsl888    时间: 2023-11-14 19:40
这太麻烦了。
作者: dafs    时间: 2023-11-14 21:04
很好的工具,谢谢🙏
作者: temp2005    时间: 2023-11-14 21:12
还是有点用处的
作者: nathan6498    时间: 2023-11-14 21:14
谢谢分享
作者: softwarezheng    时间: 2023-11-14 21:33
谢谢
作者: hmaaaa    时间: 2023-11-14 22:07
謝謝大大分享~感恩 ^^ 有您真好~!辛苦了!
作者: Anson4    时间: 2023-11-14 22:16
感谢分享!
请问一下,程序添加的服务名称是什么?
作者: xcj138    时间: 2023-11-14 22:51
收藏备用
作者: 2011freefly    时间: 2023-11-14 22:54
感谢楼主分享
作者: promrhxq    时间: 2023-11-15 00:22
感谢分享好东东
作者: ShareBit    时间: 2023-11-15 03:16
Anson4 发表于 2023-11-14 22:16
感谢分享!
请问一下,程序添加的服务名称是什么?

服务名称是 IPNotify,  服务描述是 ShareBit IPNotify Service
作者: in9    时间: 2023-11-15 06:11
谢谢分享!
作者: mmymq    时间: 2023-11-15 06:43
谢谢分享
作者: BEIKING    时间: 2023-11-15 10:01
试了,QQ邮箱和126邮箱好像无法发送邮件

作者: rbwrbw    时间: 2023-11-15 10:08
有公网ip 是固定的,一般不都是动态的吗????
作者: ShareBit    时间: 2023-11-15 12:05
BEIKING 发表于 2023-11-15 10:01
试了,QQ邮箱和126邮箱好像无法发送邮件

请先弄明白 授权码 在哪里去获取。  就QQ邮箱而言,是一个16字节的字符串。
作者: ShareBit    时间: 2023-11-15 12:07
rbwrbw 发表于 2023-11-15 10:08
有公网ip 是固定的,一般不都是动态的吗????

就这个页面而言,除了你说到了 "固定" 两个字, 别的地方并没提到这两个字。 正因为一般而言,公网ip是动态的,所以才有了这么一个服务进程不断的检测公网ip是否变动,一旦检测到变动之后,就立即邮件通知,从而让你在你的邮箱里面一直保存着电脑的最新公网ip列表。
作者: 2011cuisheng    时间: 2023-11-15 12:35
ip138了解一下
作者: ShareBit    时间: 2023-11-15 12:43
2011cuisheng 发表于 2023-11-15 12:35
ip138了解一下

这个程序可以让你知道你关机的电脑被启动起来了,可以在一直处于登录界面的系统下也都能得到公网ip, 并且能完整的获取网卡ipv6地址。 你可以再次了解一下你提到的ip138, 或者再次理解一下我这个程序。
作者: BEIKING    时间: 2023-11-15 13:24
ShareBit 发表于 2023-11-15 12:05
请先弄明白 授权码 在哪里去获取。  就QQ邮箱而言,是一个16字节的字符串。



QQ邮箱自己发自己,还是收不到邮件。
不知道哪里操作问题。

作者: zts59    时间: 2023-11-15 13:34
试用了一下:
1.能不能在启动服务时自动发一封邮件,后面就检查IP地址才发送?(某些外网ip不方便变动时测试能不能成功)
2.另外能不能把内网IP也一起发送了?
作者: ShareBit    时间: 2023-11-15 13:46
BEIKING 发表于 2023-11-15 13:24
QQ邮箱自己发自己,还是收不到邮件。
不知道哪里操作问题。

奇怪,你这个配置我看起没问题。无法知道具体在哪一个环节出现了问题。  不过基本上大的方向是:1)你的网卡没有公网ipv4和ipv6,并且我的程序访问网站 http://api.ipify.org 没能获取到公网ip, 2)邮件发送环节不知道的原因没成功。   因为我自身不能重现这个现象,你可以加我QQ,我给程序让你测试,也可以等着我后续版本。
作者: ShareBit    时间: 2023-11-15 13:52
zts59 发表于 2023-11-15 13:34
试用了一下:
1.能不能在启动服务时自动发一封邮件,后面就检查IP地址才发送?(某些外网ip不方便变动时测 ...

停止服务,再启动服务(也就是 ipnotify -stop, ipnotify -start),理论上来说,肯定会发送一封邮件出去。你可以理解为公网ip地址从无到有,显然算是公网ip地址改变了。 这个程序主要服务于第三方程序在外网通过公网ip地址访问进入电脑。
作者: BEIKING    时间: 2023-11-15 13:57
ShareBit 发表于 2023-11-15 13:52
停止服务,再启动服务(也就是 ipnotify -stop, ipnotify -start),理论上来说,肯定会发送一封邮件出去 ...

试过了

作者: BEIKING    时间: 2023-11-15 14:00

我本机能访问网址,并显示公网IP,但邮箱发送确实不行。

作者: ShareBit    时间: 2023-11-15 14:22
BEIKING 发表于 2023-11-15 14:00
我本机能访问网址,并显示公网IP,但邮箱发送确实不行。

稍等,我已经知道了原因,马上修改。 问题出在网卡没有公网ipv4和ipv6的时候,我认为公网ip地址没改变。
作者: zts59    时间: 2023-11-15 14:24
ShareBit 发表于 2023-11-15 13:52
停止服务,再启动服务(也就是 ipnotify -stop, ipnotify -start),理论上来说,肯定会发送一封邮件出去 ...

上午第一次安装启动服务后,没有收到邮件,(事后想到可能是某些邮箱不能自己发送自己),
由于不方便重启主网关,
下午操作:停止服务,修改ini文件,换一个接收邮箱,后科/学上.网后收到邮件了,还没有可能api.ipify.org访问受限会影响?多几个提供这样服务的网站做备用?
作者: ShareBit    时间: 2023-11-15 14:39
前面版本,在网卡既没有公网ipv4也没有公网ipv6的情况下,被我误判为没有公网ip,从而导致没发送邮件。 重新下载安装运行就可以了,我已经更新。
作者: BEIKING    时间: 2023-11-15 14:44
ShareBit 发表于 2023-11-15 14:39
前面版本,在网卡既没有公网ipv4也没有公网ipv6的情况下,被我误判为没有公网ip,从而导致没发送邮件。 重 ...

新版QQ邮箱测试,,收到邮件。
作者: zts59    时间: 2023-11-15 14:52
刚刚找到只返回IP地址的服务器,很多提供服务的:
curl -4 ip.gs
curl -6 ip.gs
curl -4 ip.sb
curl -6 ip.sb
curl -4 icanhazip.com
curl -6 icanhazip.com
curl api.ipify.org
curl -4 api.ipify.org
curl ipinfo.io/ip
curl -4 ipinfo.io/ip
curl -6 ipecho.net/plain
curl -4 ipecho.net/plain
curl -4 ifconfig.me
curl -6 ifconfig.me
curl -4 ipinfo.io/ip

curl -4 myip.ipip.net  这个是中文还返回地区
作者: BEIKING    时间: 2023-11-15 16:27
楼主提个建议,
为通用,可以考虑把获取IP的网站地址做在配置文件中读取。
作者: ShareBit    时间: 2023-11-15 16:44
BEIKING 发表于 2023-11-15 16:27
楼主提个建议,
为通用,可以考虑把获取IP的网站地址做在配置文件中读取。

这个暂时没看出必要性。 而且别的几个获取公网ip的网址,都非纯文本,而是夹杂了很多别的文字,如果要弄,还得通过某种特征值去查找正确的信息,过滤掉无用信息。 而 ipify.org至少还没人证实是访问不了的。 实际上要获取公网ip信息,包括对应的实际地图位置,这些并不难,完全可以接入到我自己提供的公网服务器上去取,但这显然导致可能的信息泄露到我服务器上。 而我这个程序本身是希望只读取网卡的ipv6公网地址发送到自己的邮件,而不再访问别的网页之类的取获取公网ip, 这才确保了信息的安全性和这个程序的永不过期性。
作者: Anson4    时间: 2023-11-16 00:06
ShareBit 发表于 2023-11-15 03:16
服务名称是 IPNotify,  服务描述是 ShareBit IPNotify Service

感谢回复!
已经在服务器的Win2003上用安装了,只是服务器有其他人可以登录,感觉把邮箱的授权码给暴露出去了。
作者: Anson4    时间: 2023-11-16 00:29
本帖最后由 Anson4 于 2023-11-23 21:54 编辑

最近在琢磨着写个脚本用 SendEmail 来实现,有了楼主这个更简单了,感谢分享!
作者: casttt    时间: 2023-11-16 14:17
一直想找个好用的,试用一下,感谢楼主分享
作者: 此生有求    时间: 2023-11-18 09:24
谢谢分享
作者: 2011monoso    时间: 2023-11-18 09:34
收藏一下,也许能用上
作者: iaanqrm    时间: 2023-11-18 09:49

作者: 无犹启动    时间: 2024-2-12 09:20
谢谢分享
作者: 旭东    时间: 2024-2-12 09:45
小众软件
作者: dyc086    时间: 2024-2-12 10:27
感谢分享,先收藏可以会用到
作者: 无犹启动    时间: 2024-2-12 17:28
谢谢分享
作者: keygen    时间: 2024-4-10 12:34
有用,谢谢




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3