前言
目前,隐藏服务器的重要端口(比如ssh,面板等管理端口什么的)确实是一个比较头疼的问题。作者在今年1月左右发掘了一个云服务器厂商api的一个妙用,写出了它的第一个Python版本,目前已经使用运行效率更高的Golang重写,并添加了对腾讯云服务器的支持
开始
实现原理
qcip依赖于腾讯云api实现其功能,简单来说,是一个调用腾讯云api的脚本。它利用腾讯云防火墙的来源限制功能(即防火墙规则只对指定IP生效)的功能,把指定防火墙规则的来源设置设定为本机(即运行这个程序的设备)的公网IPV4地址设定为限制的来源。这样,开放重要端口的防火墙只会对本机生效。
使用
下载程序
在Release页面下载您的系统所对应的程序
注意: 0.3.0版本以前的发布都由Python编写,不建议使用
编辑配置
请事先在腾讯云访问管理创建API密钥
在刚刚下载下来的压缩包中,你可以找到配置文件config.json
编辑配置文件
InstanceRegion
和SecurityGroupRegion
的填写参见下表
华北地区(北京) ap-beijing
西南地区(成都) ap-chengdu
西南地区(重庆) ap-chongqing
华南地区(广州) ap-guangzhou
港澳台地区(中国香港) ap-hongkong
亚太地区(首尔) ap-seoul
华东地区(上海) ap-shanghai
东南亚地区(新加坡) ap-singapore
欧洲地区(法兰克福) eu-frankfurt
美国西部(硅谷) na-siliconvalley
北美地区(多伦多) na-toronto
亚太地区(孟买) ap-mumbai
美国东部(弗吉尼亚) na-ashburn
亚太地区(曼谷) ap-bangkok
亚太地区(东京) ap-tokyo
华东地区(南京) ap-nanjing
亚太地区(雅加达) ap-jakarta
南美地区(圣保罗) sa-saopaulo
目前可用的获取IP的API有 LanceAPI
IPIP
SB
LanceAPI // 推荐在海外使用
https://api.lance.fun/ip/
IPIP // 推荐在中国大陆使用
https://myip.ipip.net/ip
SB // 全球通用 但效率较慢
https://api-ipv4.ip.sb/ip
填写时请注意区分大小写
运行
使用命令行运行
qcip [配置文件路径(可选,默认为config.json)]`
注意: 若你使用 桌面系统 直接双击打开程序,会出现命令行窗口和闪退现象,这并不代表程序运行失败,但是你无法看到运行结果
开机启动(Windows)
你也可以把程序文件放入电脑的启动项中,这样,每次开机时,脚本就会自动运行
你可以在下面的目录(启动项文件夹)中添加该脚本的快捷方式或运行程序的批处理文件(bat)
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
使用以下脚本运行以隐藏命令行窗口
// qcip.vbs
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /c /*运行的命令*/", 0, False
最后
该脚本确实方便了服务器的维护,尤其是在不添加CDN等防护的条件下。不过,这个脚本也有局限性,它目前只支持调用腾讯云的API,由于作者没有其他云服务商的产品,其他厂商的功能实现暂时搁置
如果对这个项目有任何Bug或建议,欢迎提交issues或PRs
对你有用的话,不纺在Github上给个star吧