# autoNoticeIP **Repository Path**: overtimemaster/autoNoticeIP ## Basic Information - **Project Name**: autoNoticeIP - **Description**: 监听IP变化,自动微信通知+阿里云域名自动解析 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-03 - **Last Updated**: 2023-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: 监听IP, ddns ## README # autoNoticeIP #### 介绍 监听本机外网IP,当发生变化时: 1. 通过微信公众号给指定用户发微信消息。 2. 阿里云指定域名自动解析为新IP #### 软件架构 **client 客户端** 1. 每1分钟检查本机外网IP,如果变化了,向wxmsg-server发送消息 2. 注意事项: - 2022-04-02新增阿里云域名自动解析功能,需要配置一下 yaml 才能生效 - yaml文件格式是使用空格来缩进的,使用tab会报错。且每个冒号后面要跟一个空格 - 配置文件`config.yaml` : ```yaml # 主域名,例如:"163.com" Main_domain: "你的主域名" # 子域名。例如:"news.163.com"中的"news" Sub_domain: "你的子域名" # post 请求地址 Post_url: '你的wxmsg-server运行地址,如192.168.1.3:5555' # 检测间隔时间 单位 分钟 Check_time: 1 # POST请求加密字符串, 会在 wxmsg-server 首次运行时打印出来,复制到这里填上就行 Post_secret: '这里填你的Post_secret' #阿里云 openapi AccessKeyId Accesskey_id: '这里填你的AccessKeyId' #阿里云 openapi AccessKeySecret Accesskey_secret: '这里填你的AccessKeySecret' ``` *** **wxmsg-server服务端** 1. 接收client 发过来的消息,如果合法则向微信公众号发送请求,给指定微信号发消息。 配置文件`config.yaml` : ```yaml #微信公众号 APPID WX_MP_APPID: '你的APPID' #微信公众号 APPSECRET WX_MP_APPSECRET: '你的APPSECRET' #微信公众号 消息模板ID WX_MP_TEMPLATE_ID: '你的消息模板ID' #已关注了此公众号的用户 OPENID WX_MP_USER_OPENID: '你需要通知的用户的 OPENID' #POST请求需要加密字符串,这里填写的是未加密的字符串,Client 那边的配置文件填已加密的字符串 #wxmsg-server 初次运行时会把加密后的字符串打印出来,填到 Client 那边的配置文件中即可 POST_SECRET: 'VX:overtimemaster' #监听端口 LISTEN_PORT: '5555' ``` #### 说明 - 本身client 可以直接给微信公众号发送请求,但是微信公众号只接收IP白名单中IP发过来的消息,client 端的IP如果变了微信公众号就拒绝服务了。 - 所以需要把 wxmsg-server 放到一台固定的服务器上,用wxmsg-server接收client 的消息,然后再发给微信公众号。