一、需求分析
由于之前家里上网是拔号上的网,获取是公网ip,绑定花生壳动态域名(账)号,再通过端口映射即可轻松在任何有网络的地方远程连接到家里电脑H,最近花生壳要求实名认证了,我去,这么烦的人,想想原理,和已有的资源,自己动手用python写了一个,
思路:
通过在要映射访问的电脑H(家)上用python动态获取出口公网ip,定时10分钟获取并上传到远程ftp (ftp + ssl)服务器上,想要连接H的时候,到服务器上获取公网ip(可以通过脚本自动拉取,也可以需要连接的时候上去看),再远程连接H电脑。
二,获取公网ip并自动上传脚本
1,脚本getip。py
2,添加计划任务
在H电脑的控制面板中,计划任务中添加类似如下计划任务如图:
注意:我的H电脑是xp,其他的windows系统计划任务类似,Linux也支持,但需要注意脚本中的文件路径修改。
三,带gui的获取ip和上传
1,在之前的代码基础上添加如下代码:
,,,app =, wx.App () ,,,frame =, wx.Frame(没有,,title=盎袢”净隹诠鴌p”,,大?(300,,180)) ,,,panel =, wx.Panel(框架) ,,,sBox =, wx.BoxSizer (), ,,,vBox =, wx.BoxSizer (wx.VERTICAL), ,,,content =, wx.TextCtrl(面板、风格=wx.TE_MULTILINE | wx.TE_CENTER) ,,,btn1 =, wx.Button(面板,,标签=被袢 ? ,, ,,,sBox.Add (btn1,,比例=1,国旗=wx.EXPAND |, wx.ALL,,边境=5) ,,,vBox.Add (sBox,,比例=1,国旗=wx.EXPAND |, wx.ALL,,边境=5) ,,,vBox.Add(内容,,=1,比例,国旗=wx.EXPAND |, wx.ALL,,边境=5) ,,,btn1.Bind (wx.EVT_BUTTON, GETIP) ,,,, ,,,panel.SetSizer (vBox) ,,,frame.Show () null定时动态获取公网ip并传送至ftp服务器