月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能,月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。
☁️ 什么是月海
🌕 月出于云却隐于海
月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络工具。
月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。
月海基于 Serverless 的动态与无状态的特性,从网络层实现了一个基于 Serverless 的网络工具集,包括代理、转发、隧道等等常见网络功能; 同时在客户端集成了大量云厂商,实现快捷的一键式部署和跨厂商与平台操作。
🌟 月海能做什么
Serverless 的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理、用后即销毁的无痕状态等。
🛜 使用展示
登陆认证
代理管控
函数管控
帐户管控
😘使用指南
事前准备
云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)
云厂商账户 AK/SK,并拥有操作函数和账单相关的全部权限。
启动服务
$ docker run -it -d --net=host dvkunion/seamoon:latest proxy
如果一切正常,你将可以在 http://localhost:7777 访问到管理页面:
提示
默认的账户密码为: seamoon/seamoon
注意
安全起见,我们不建议直接通过 --net=host 将所有的端口直接暴露在网络中,更加推荐的做法请继续阅读往后的客户端安端
修改默认密码
第一步一定要修改掉默认的密码。点击 [系统管理],填写一个新的密码,然后提交:
配置账户
我们来尝试创建一个账户, 点击 [云账户管理] -> [新增]:
填写对应的字段:
账户名称: 用于在客户端区分不同的账户,与具体云账户用户名无关
账户类型: 选择账户对应的云平台类型
最大部署限制: 该账户最多允许部署的函数数量,0表示不作限制。
账户描述: 用于备注该账户的一些其他信息
点击下一步,继续填写表单:
账户允许部署区域: 表示当前账户允许部署的函数区域,可以多选
AccessID/AccessKey/SecretKey: 阿里云账户信息, AccountId 可在主页右上角个人信息处获取 accountId, AccessKeyId/AccessKeySecret 可在 IAM (opens new window)页面添加子用户生成密钥
点击提交,账户会开始自动同步余额信息、函数信息等等。等待账户显示为正常状态时,即表示该步骤正确完成。
如果出现错误,鼠标放置在状态处,即可显示错误详细信息。
创建服务
可以开始创建服务了, 点击 [服务] -> [新增]:
对应的参数比较多,我们首先填写第一张表单:
代理名称: 用于在客户端展示的代理名
监听协议: 选择 http
监听地址: 不需要改动
监听端口: 不需要改动(默认1080)
点击下一步,选择 [选择账户并自动创建新实例]
点击下一步,选择刚才创建好的账户
点击下一步,开始填写函数参数
函数名称: 函数的名称,只允许英文
函数所在区域: 只能选择账户允许的区域内部署
其他选项均不需要改动,点击提交。
开始使用
现在我们可以测试一下了。在终端输入:
export https_proxy=http://127.0.0.1:1080 http_proxy=http://127.0.0.1:1080 all_proxy=http://127.0.0.1:1080
然后查一下 IP:
curl cip.cc
如果显示为阿里云 IP,表明代理已经生效。
同时服务页面会显示当前对应的延迟、连接数以及流量统计汇总。
其余的不细说啦,大家可以自行去快速上手查找教程!!!