无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3187|回复: 59
打印 上一主题 下一主题

[原创] 一个获取电脑自身公网ip并发送到你自己的邮箱的服务程序

  [复制链接]
跳转到指定楼层
1#
发表于 2023-11-14 13:03:57 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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地址。

评分

参与人数 3无忧币 +15 收起 理由
htmlc4 + 5
BEIKING + 5 非常棒
董大 + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2023-11-14 13:40:20 | 显示全部楼层
2012yjkiw 发表于 2023-11-14 13:34
顶楼主,问下有没有获取的IP和上次一样不发送的功能吗?

只要检测公网ip没有改变,那么不会再次发送邮件

点评

好的,谢谢  详情 回复 发表于 2023-11-14 13:43
回复

使用道具 举报

3#
 楼主| 发表于 2023-11-14 14:21:27 | 显示全部楼层
zts59 发表于 2023-11-14 13:44
不错,不错,能不能对INI文件进行加密处理?

目前没打算对配置文件加密。 这个程序主要是用于自己获得自己电脑的最新公网ip信息,尤其是因为ipv6的普及,路由器设置得当,电脑网卡自身就具有动态公网ipv6,这为类似于使用windows远程桌面软件去直连电脑提供了支持。
回复

使用道具 举报

4#
 楼主| 发表于 2023-11-15 03:16:14 | 显示全部楼层
Anson4 发表于 2023-11-14 22:16
感谢分享!
请问一下,程序添加的服务名称是什么?

服务名称是 IPNotify,  服务描述是 ShareBit IPNotify Service

点评

感谢回复! 已经在服务器的Win2003上用安装了,只是服务器有其他人可以登录,感觉把邮箱的授权码给暴露出去了。  详情 回复 发表于 2023-11-16 00:06
回复

使用道具 举报

5#
 楼主| 发表于 2023-11-15 12:05:32 | 显示全部楼层
BEIKING 发表于 2023-11-15 10:01
试了,QQ邮箱和126邮箱好像无法发送邮件

请先弄明白 授权码 在哪里去获取。  就QQ邮箱而言,是一个16字节的字符串。

点评

[attachimg]534582[/attachimg] QQ邮箱自己发自己,还是收不到邮件。 不知道哪里操作问题。  详情 回复 发表于 2023-11-15 13:24
回复

使用道具 举报

6#
 楼主| 发表于 2023-11-15 12:07:49 | 显示全部楼层
rbwrbw 发表于 2023-11-15 10:08
有公网ip 是固定的,一般不都是动态的吗????

就这个页面而言,除了你说到了 "固定" 两个字, 别的地方并没提到这两个字。 正因为一般而言,公网ip是动态的,所以才有了这么一个服务进程不断的检测公网ip是否变动,一旦检测到变动之后,就立即邮件通知,从而让你在你的邮箱里面一直保存着电脑的最新公网ip列表。
回复

使用道具 举报

7#
 楼主| 发表于 2023-11-15 12:43:13 | 显示全部楼层

这个程序可以让你知道你关机的电脑被启动起来了,可以在一直处于登录界面的系统下也都能得到公网ip, 并且能完整的获取网卡ipv6地址。 你可以再次了解一下你提到的ip138, 或者再次理解一下我这个程序。
回复

使用道具 举报

8#
 楼主| 发表于 2023-11-15 13:46:38 | 显示全部楼层
BEIKING 发表于 2023-11-15 13:24
QQ邮箱自己发自己,还是收不到邮件。
不知道哪里操作问题。

奇怪,你这个配置我看起没问题。无法知道具体在哪一个环节出现了问题。  不过基本上大的方向是:1)你的网卡没有公网ipv4和ipv6,并且我的程序访问网站 http://api.ipify.org 没能获取到公网ip, 2)邮件发送环节不知道的原因没成功。   因为我自身不能重现这个现象,你可以加我QQ,我给程序让你测试,也可以等着我后续版本。
回复

使用道具 举报

9#
 楼主| 发表于 2023-11-15 13:52:53 | 显示全部楼层
zts59 发表于 2023-11-15 13:34
试用了一下:
1.能不能在启动服务时自动发一封邮件,后面就检查IP地址才发送?(某些外网ip不方便变动时测 ...

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

点评

上午第一次安装启动服务后,没有收到邮件,(事后想到可能是某些邮箱不能自己发送自己), 由于不方便重启主网关, 下午操作:停止服务,修改ini文件,换一个接收邮箱,后科/学上.网后收到邮件了,还没有可能api.i  详情 回复 发表于 2023-11-15 14:24
试过了  详情 回复 发表于 2023-11-15 13:57
回复

使用道具 举报

10#
 楼主| 发表于 2023-11-15 14:22:58 | 显示全部楼层
BEIKING 发表于 2023-11-15 14:00
我本机能访问网址,并显示公网IP,但邮箱发送确实不行。

稍等,我已经知道了原因,马上修改。 问题出在网卡没有公网ipv4和ipv6的时候,我认为公网ip地址没改变。
回复

使用道具 举报

11#
 楼主| 发表于 2023-11-15 14:39:48 | 显示全部楼层
前面版本,在网卡既没有公网ipv4也没有公网ipv6的情况下,被我误判为没有公网ip,从而导致没发送邮件。 重新下载安装运行就可以了,我已经更新。

点评

新版QQ邮箱测试,,收到邮件。  详情 回复 发表于 2023-11-15 14:44
回复

使用道具 举报

12#
 楼主| 发表于 2023-11-15 16:44:58 | 显示全部楼层
BEIKING 发表于 2023-11-15 16:27
楼主提个建议,
为通用,可以考虑把获取IP的网站地址做在配置文件中读取。

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

点评

members.3322.org/dyndns/getip/这个也是纯文本的,我用批处理都用这个  详情 回复 发表于 2024-6-3 19:05
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-15 23:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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