From b8da445ba90ef31789432297d04a2f613a96163c Mon Sep 17 00:00:00 2001 From: DVK Date: Fri, 21 Jul 2023 23:51:33 +0800 Subject: [PATCH] docs: Reorganized the structure and added Tencent Cloud deployment (#14) --- README.md | 10 +- docs/.vuepress/config.js | 2 +- docs/README.md | 4 +- .../00.introduce.md" | 83 ++++-------- .../01.structure.md" | 12 +- .../02.zero-learning.md" | 6 - .../01.start.md" | 14 +- .../01.aliyun.md" | 29 +++-- .../02.sealos.md" | 14 +- .../03.tecent.md" | 123 ++++++++++++++++++ .../09.serverless.md" | 15 +-- .../README.md" | 1 + .../02.binary.md" | 46 +------ .../README.md" | 0 .../00.position.md" | 0 .../01.feature.md" | 0 .../README.md" | 35 +++++ 17 files changed, 247 insertions(+), 147 deletions(-) delete mode 100644 "docs/guide/00.\346\246\202\350\277\260/02.zero-learning.md" create mode 100644 "docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/03.tecent.md" rename "docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/00.deploy.md" => "docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/README.md" (84%) rename "docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/00.client.md" => "docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/README.md" (100%) rename "docs/tech/00.\345\256\232\344\275\215\344\270\216\347\211\271\346\200\247/00.position.md" => "docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/00.position.md" (100%) rename "docs/tech/00.\345\256\232\344\275\215\344\270\216\347\211\271\346\200\247/01.feature.md" => "docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/01.feature.md" (100%) create mode 100644 "docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/README.md" diff --git a/README.md b/README.md index f256981..ad79267 100644 --- a/README.md +++ b/README.md @@ -22,13 +22,15 @@ > 🌕 月出于云却隐于海 -月海(Sea Moon) 是一款使用 FaaS/BaaS 实现的的 Serverless 渗透工具,致力于开启云原生的渗透模式。 +月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 云代理/渗透工具集,致力于开启云原生的渗透模式。 -说人话的总结,月海其实就是一款利用云函数来隐匿攻击行踪以及分布式处理扫描任务的集成工具。 +月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统安全工具,用之于云,最终达到隐匿于海的效果。 -基于 Serverless 的动态特性、分别从网络层、应用层实现对应的安全能力,并利用serverless-devs工具来实现快捷的部署/跨厂商操作。 +直白来讲,月海其实就是一款利用云函数来代理/隐匿攻击行踪以及一些安全相关的匿名性对抗。 -真正的实现渗透上云,赋能安全云原生红利。 +想要了解更多,请移步[官方手册](https://seamoon.dvkunion.cn) + +觉得项目不错的话,[还请给一个star ✨](https://github.com/DVKunion/SeaMoon), 你的支持是更新的最大动力~ ## 🔥 使用展示 ![](https://cdn.dvkunion.cn/seamoon/bf0f8d2fc5084c329f9638d5c3f0bf46.png) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 7168c84..94d1d20 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -28,7 +28,7 @@ module.exports = { text: '使用手册', link: '/guide/introduce/' }, { - text: '技术文档', link: '/tech/feature/' + text: '技术博客', link: '/tech/' } ], archive: false, diff --git a/docs/README.md b/docs/README.md index 6c1e079..99337cf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -9,9 +9,9 @@ bannerBg: none postList: none features: - title: 🫥 隐匿 - details: 基于 FaaS/BaaS 实现动态IP,云上渗透。 + details: 基于 FaaS/BaaS 实现动态IP代理,云上无痕。 - title: 🗃️ 集成 - details: 在传统渗透的基础上,集成常用功能,实现零学习成本隐匿。 + details: 在传统渗透的基础上,集成常用功能,实现渗透一键开火。 - title: 🚀 便携 details: 以 Serverless Devs为基础,实现跨平台快速部署。 --- \ No newline at end of file diff --git "a/docs/guide/00.\346\246\202\350\277\260/00.introduce.md" "b/docs/guide/00.\346\246\202\350\277\260/00.introduce.md" index bf4b5bd..1527a51 100644 --- "a/docs/guide/00.\346\246\202\350\277\260/00.introduce.md" +++ "b/docs/guide/00.\346\246\202\350\277\260/00.introduce.md" @@ -1,8 +1,8 @@ --- -title: 简介 +title: 简介 titleTag: 1.1.3 -date: 2022-09-28 22:39:36 -permalink: /guide/introduce +date: 2022-09-28 22:39:36 +permalink: /guide/introduce article: false --- @@ -18,21 +18,25 @@ article: false > 🌕 月出于云却隐于海 -月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 云渗透工具集,致力于开启云原生的渗透模式。 +月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 云代理/渗透工具集,致力于开启云原生的渗透模式。 月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统安全工具,用之于云,最终达到隐匿于海的效果。 -说人话的总结,月海其实就是一款利用云函数来隐匿代理/攻击行踪以及分布式处理扫描任务的集成工具。 +直白来讲,月海其实就是一款利用云函数来代理/隐匿攻击行踪以及一些安全相关的匿名性对抗。 基于 Serverless 的动态特性、分别从网络层、应用层实现对应的安全能力,并利用serverless-devs工具来实现快捷的部署/跨厂商操作。 真正的实现渗透上云,赋能安全云原生红利。 +觉得项目不错的话,[还请给一个star ✨](https://github.com/DVKunion/SeaMoon), 你的支持是更新的最大动力~ + ## 🌟 月海能做什么 ### 网络层 -网络层支持是月海的基础功能,也是云函数最基本的优势和特性。利用云函数的动态实例不同的出口IP, 从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理来进行测试。 +网络层支持是月海的基础功能,也是云函数最基本的优势和特性。 + +利用云函数的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理来进行测试。 目前网络层功能支持如下: @@ -42,9 +46,6 @@ article: false |---------|-----------------------------------------------------------|:-----:|:-----:| | HTTP(S) | [HTTP.md](https://seamoon.dvkunion.cn/tech/net/http/) | ✅ | ✅ | | Socks5 | [Socks5.md](https://seamoon.dvkunion.cn/tech/net/socks5/) | ✅ | ✅ | -| SS/SSR | [SS.md]() | 🐷待开发 | 🐷待开发 | -| VMess | [VMESS.md]() | 🐷待开发 | 🐷待开发 | -| 链式代理 | | ❌暂无计划 | ❌暂无计划 | **端口转发** @@ -62,9 +63,6 @@ article: false | 能力名称 | 原理文档 | 服务端支持 | 客户端支持 | |--------------|---------------------------------------------------------------|:-----:|:-----:| | 动态WebShell隐匿 | [WebShell.md](https://seamoon.dvkunion.cn/tech/app/webshell/) | 🐷待开发 | 🐷待开发 | -| 分布式扫描 | | 🐷待开发 | 🐷待开发 | -| 反弹Shell代理 | | 🐷待开发 | 🐷待开发 | -| CI容器云扫描利用 | | 🐷待开发 | 🐷待开发 | ### 其他特性 @@ -72,42 +70,33 @@ article: false |---------------------|------|:-----:|:-----:| | 身份认证加强保密性 | | 🐷待开发 | 🐷待开发 | | 探活机制/心跳检测 | | 🐷待开发 | 🐷待开发 | -| serverless-devs快速部署 | | 🐷待开发 | 🐷待开发 | -| 跨平台部署后随机选择机制 | | 🐷待开发 | 🐷待开发 | 更多特性相关请移步: [技术文档](https://seamoon.dvkunion.cn/tech/feature/) ## 🧭 支持平台 -目前使用下来,serverless契合度最好的还是阿里云。其他厂家收费、支持力度都不太满意。 - -腾讯云只有三个月的免费额度,最低套餐价格12.8,每月只有2G流量; 并且不支持Go的serverless应用模式部署。 - -华为云...直接没有远程仓库部署,需要把项目托管到他们自己的dev git,而且这种模式部署还需要自己提供ECS(那我用云函数的意义在哪里?) - -国外的厂商免费的场景较少,而且有些注册需要信用卡,门槛很尴尬。 - -| 平台名称 | 是否支持 | -|--------|:-----:| -| 阿里云 | ✅ | -| 腾讯云 | 🐷调研中 | -| 华为云 | 🐷调研中 | -| AWS | 🐷调研中 | -| Google | 🐷调研中 | +| 平台名称 | 是否支持 | 部署文档 | +|----------|:-----:|:------:| +| 阿里云 | ✅ | [部署]() | +| 腾讯云 | ✅ | [部署]() | +| 🔥Sealos | ✅ | [部署]() | +| 华为云 | 🐷调研中 | [部署]() | +| AWS | 🐷调研中 | [部署]() | +| Google | 🐷调研中 | [部署]() | ## ➡️ 后续方向 -等serverless支持力度大了之后,将全面修改客户端为grpc模式。 +::: tip 关于规则匹配代理 +很多代理支持根据不同的规则来进行转发或选择不走代理。月海的定位其实更偏重于利用云原生基础设施来廉价的进行渗透测试工作。 -> 关于规则匹配代理: -> 很多代理支持根据不同的规则来进行转发或选择不走代理。月海的定位其实更偏重于利用云原生基础设施来廉价的进行渗透测试工作。 -> 因此在当前版本,并不打算支持规则代理,(因为很多代理客户端其实也有这个功能了,走客户端即可实现。) +因此在当前版本,并不打算支持规则代理,(因为很多代理客户端其实也有这个功能了,走客户端即可实现。) +::: 更多发展方向的说明和讨论请移步: [技术文档](https://seamoon.dvkunion.cn/tech/) ## 🕹 ️开始使用 -[继续阅读: 开始使用](https://seamoon.dvkunion.cn/guide/start) +[继续阅读: 快速开始](https://seamoon.dvkunion.cn/guide/start) [跳过新手环节,直接进入部署](https://seamoon.dvkunion.cn/guide/deploy) @@ -115,28 +104,4 @@ article: false 本工具仅用于学习serverless以及云原生相关技术,请勿用于其他用途。 -如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。 - -## 📒 参考文献与项目 - -感谢各位前辈师傅们的分享与沉淀。 - -**文章类** - -+ [浅谈云函数的利用面](https://xz.aliyun.com/t/9502) -+ [白嫖CDN,打造封不尽IP的代理池](https://freewechat.com/a/MzI0MDI5MTQ3OQ==/2247484068/1) -+ [Serverless 应用开发指南](https://serverless.ink/) -+ [HTTP被动扫描代理的那些事](https://www.freebuf.com/articles/web/212382.html) -+ [Subsocks: 用GO实现一个Socks5安全代理](https://luyuhuang.tech/2020/12/02/subsocks.html) - -**项目类** - -+ [SFCProxy](https://github.com/shimmeris/SCFProxy) -+ [go-socks5](https://github.com/armon/go-socks5) -+ [subsocks](https://github.com/luyuhuang/subsocks) -+ [gost](https://github.com/ginuerzh/gost) -+ [InCloud](https://github.com/inbug-team/InCloud) -+ [sfc-proxy](https://github.com/Sakurasan/scf-proxy) -+ [Serverless-transitcode](https://github.com/copriwolf/serverless-transitcode) -+ [protoplex](https://github.com/SapphicCode/protoplex) -+ [DFShell](https://github.com/D3Ext/DFShell) \ No newline at end of file +如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。 \ No newline at end of file diff --git "a/docs/guide/00.\346\246\202\350\277\260/01.structure.md" "b/docs/guide/00.\346\246\202\350\277\260/01.structure.md" index 62df9c4..3b29c07 100644 --- "a/docs/guide/00.\346\246\202\350\277\260/01.structure.md" +++ "b/docs/guide/00.\346\246\202\350\277\260/01.structure.md" @@ -5,11 +5,19 @@ permalink: /guide/structure article: false --- -# 项目结构 +## 项目结构 月海主要分为两部分: + 部署在云端的服务端 + 客户端 -服务端负责实际的业务功能,客户端用于转化用户意图和编排FC调度。 \ No newline at end of file +## 客户端 + +云函数限制了大部分的协议模式,将能力限制在了七层网络;因此我们想在云函数上实现7层及一下的模式,就需要通过本地的客户端来进行协议封装。 + +由此以来,我们将能够快速的 + +## 服务端 + +服务端为实际部署在云厂商的代码,负责实际计算的功能模块。 \ No newline at end of file diff --git "a/docs/guide/00.\346\246\202\350\277\260/02.zero-learning.md" "b/docs/guide/00.\346\246\202\350\277\260/02.zero-learning.md" deleted file mode 100644 index 8b16130..0000000 --- "a/docs/guide/00.\346\246\202\350\277\260/02.zero-learning.md" +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: 使用须知 -date: 2022-09-30 00:31:26 -permalink: /guide/zero-learning -article: false ---- diff --git "a/docs/guide/01.\345\274\200\345\247\213\344\275\277\347\224\250/01.start.md" "b/docs/guide/01.\345\274\200\345\247\213\344\275\277\347\224\250/01.start.md" index 9f16104..4006fcd 100644 --- "a/docs/guide/01.\345\274\200\345\247\213\344\275\277\347\224\250/01.start.md" +++ "b/docs/guide/01.\345\274\200\345\247\213\344\275\277\347\224\250/01.start.md" @@ -9,8 +9,11 @@ article: false 通过该页面,您可以通过推荐的部署方式快速开始使用 SeaMoon。 -> 🔥 如果您的钱包和预算有限,并且代理IP需求并不是特别高,这里推荐使用[sealos部署服务端](https://seamoon.dvkunion.cn/guide/deploy/sealos) -> 本页面按照阿里云标准云函数服务进行部署,如果您希望获取到更多自定义的配置和使用方式,[请跳转](https://seamoon.dvkunion.cn/guide/deploy) +::: tip 写在前面 +本页面按照阿里云标准云函数服务进行部署,如果您希望获取到更多自定义的配置和使用方式,[请跳转](https://seamoon.dvkunion.cn/guide/deploy) + +🔥 如果您的钱包和预算有限,并且代理IP需求并不是特别高,这里推荐使用[sealos部署服务端](https://seamoon.dvkunion.cn/guide/deploy/sealos) +::: ### 事前准备 @@ -69,7 +72,7 @@ $ s deploy 稍等片刻,你将会得到部署好的两个地址: -```shell +```yaml SeaMoon-FC-HTTP-Proxy: ..... url: @@ -95,9 +98,9 @@ SeaMoon-FC-HTTP-Proxy: name: httpTrigger ``` -这里是用的都是默认配置,如果你需要更多高级可选项,请继续阅读:https://seamoon.dvkunion.cn/guide/deploy +这里是用的都是默认配置,如果你需要更多高级可选项,[请继续阅读](https://seamoon.dvkunion.cn/guide/deploy) -同样,如果你不想使用阿里云,或者想寻求更廉价的计费方式,请继续阅读:https://seamoon.dvkunion.cn/guide/deploy +同样,如果你不想使用阿里云,或者想寻求更廉价的计费方式,[请继续阅读](https://seamoon.dvkunion.cn/guide/deploy) 服务端部署完成 @@ -120,7 +123,6 @@ $ docker run -it -d --net=host dvkunion/seamoon-client ![](https://cdn.dvkunion.cn/seamoon/dfcc22b01c4a4f358bdee59acc5c563b.png) > 注意,此处填写的值为 Step.2 中输出的 domain字段,并去除 http:// 协议头,属于对应域名即可。 -> 开启socks5代理,并保持默认`:1080`不改变。 diff --git "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/01.aliyun.md" "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/01.aliyun.md" index dfbf821..3684180 100644 --- "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/01.aliyun.md" +++ "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/01.aliyun.md" @@ -1,23 +1,35 @@ --- -title: 三步部署到阿里云 +title: 阿里云 date: 2022-09-28 00:27:13 permalink: /guide/deploy/aliyun article: false --- -## 阿里云 +## 三步部署到阿里云 -0. 阿里云首先要开通函数计算服务。 -1. fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下 -2. 进入阿里云控制台,点击应用 -> 创建应用 +阿里云是使用上最为规范、标准化场景下的serverless部署方式。 + +如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。 + +## 如何部署 + +### Step.1 + ++ 阿里云首先要开通函数计算服务。 ++ fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下 ++ 进入阿里云控制台,点击应用 -> 创建应用 ![创建应用](https://cdn.dvkunion.cn/SeaMoon/deploy-aliyun-1.png) -3. 选择 `通过仓库导入应用` , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。 +### Step.2 + +选择 `通过仓库导入应用` , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。 ![导入应用](https://cdn.dvkunion.cn/SeaMoon/deploy-aliyun-2.png) -4. 点击创建,等待服务部署成功,即可获取到代理地址 +### Step.3 + +点击创建,等待服务部署成功,即可获取到代理地址 ![img.png](https://cdn.dvkunion.cn/SeaMoon/deploy-aliyun-3.png) @@ -32,6 +44,7 @@ article: false > > 目前阿里云支持的字段有: cn-hangzhou, cn-beijing, cn-beijing, cn-hangzhou, cn-shanghai, cn-qingdao, cn-zhangjiakou, cn-huhehaote, cn-shenzhen, cn-chengdu, cn-hongkong, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-5, ap-northeast-1, eu-central-1, eu-west-1, us-west-1, us-east-1, ap-south-1 -5. [开启客户端](https://seamoon.dvkunion.cn/guide/client/), 尽情享用 +[开启客户端](https://seamoon.dvkunion.cn/guide/client/), 尽情享用 +## 效果展示 ![speed.png](https://cdn.dvkunion.cn/SeaMoon/speed.png) \ No newline at end of file diff --git "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/02.sealos.md" "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/02.sealos.md" index 945b994..509c9b6 100644 --- "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/02.sealos.md" +++ "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/02.sealos.md" @@ -1,5 +1,5 @@ --- -title: 部署到Sealos +title: Sealos date: 2023-07-21 18:29 permalink: /guide/deploy/sealos article: false @@ -9,8 +9,6 @@ article: false [Sealos公有云地址](https://cloud.sealos.io/) -### 选择Sealos的原因 - 先说下我喜欢Sealos的原因: 简单的页面,适合新手小白,无需了解过多的云服务相关知识 @@ -34,17 +32,17 @@ sealos的计费方式真正的做到按照计算量计费,费用透明,整 ![](https://cdn.dvkunion.cn/seamoon/4cfd4e22aa954bc7a19d22a4e9b21035.png) -### 如何部署 +## 如何部署 sealos上部署seamoon服务将更加简单,只需要鼠标点击操作: -#### STEP.1 +### Step.1 注册并登陆[cloud.sealos.io](https://cloud.sealos.io/), 点击`App Launchpad` ![](https://cdn.dvkunion.cn/seamoon/d17d6c38e3e2418db9a1545161ebdaca.png) -#### STEP.2 +### Step.2 点击右上角`create application`, 如下填写参数: @@ -63,7 +61,7 @@ Network: #此项不要动任何字段,完全按照截图填写 Advance: 配置环境变量: serverMod=socks5 # 如果需要http代理,填写serverMod=http ``` -#### STEP.3 +### Step.3 填写完成后,点击右上角 `Deploy`, 等待部署完成,状态success后,获取到服务地址 @@ -72,7 +70,7 @@ Advance: 配置环境变量: serverMod=socks5 # 如果需要http代理,填写s ![](https://cdn.dvkunion.cn/seamoon/444615d4be064ca980e92e2d120beaf3.png) -### 效果 +## 效果展示 [旺柴] 谷歌云的IP访问谷歌简直不能再丝滑 diff --git "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/03.tecent.md" "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/03.tecent.md" new file mode 100644 index 0000000..5158432 --- /dev/null +++ "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/03.tecent.md" @@ -0,0 +1,123 @@ +--- +title: 腾讯云 +date: 2022-09-28 00:27:13 +permalink: /guide/deploy/tencent +article: false +--- + +## 叹息的腾讯云 + +先说结论,个人不建议腾讯云部署,原因众多: + ++ 腾讯云go代码部署仅支持代码上传,这种过时的部署方式完全不符合devops的生态。 ++ 如此必须依赖自定义镜像部署,腾讯云又不支持公网镜像部署,还需要手动将镜像推送至个人腾讯云仓库(虽然个人版免费) ++ 最最最最最重要的一点:腾讯云SFC不免费了,没有了免费调度的礼包,必须得买套餐,不买套餐TMD血贵,只是测了个速花了我4毛钱! + +![](https://cdn.dvkunion.cn/seamoon/f58e8d837143408b89ceae3818f65048.png) + +因此使用腾讯云的用户请先考虑下钱包,虽然最低配置的流量包9.9一个月。 + +## 如何部署 + +步骤很多,一步一步操作吧。。。大概对比一下就知道为什么不推荐腾讯云部署了。 + +### Step.1 +结论也提到了,腾讯云不支持go代码级别部署,所以我们为了方便,只能通过自定义镜像部署模式,函数类型选择web类型: + +![](https://cdn.dvkunion.cn/seamoon/60e8492cf17249d0a30efbda9187cf34.png) + +在填写部署参数之前,需要先手动来上传server镜像到个人仓库(个人镜像仓库10个以内免费) + +![](https://cdn.dvkunion.cn/seamoon/9d0c49fa7c4242f2b7c4343709652ba5.png) + +点击选择镜像,将会跳转至个人镜像仓库: + +![](https://cdn.dvkunion.cn/seamoon/cbd1cda539154494aba603e775a58d13.png) + +创建个人镜像仓库,先要创建命名空间,这个随便起个名字就好。 + +![](https://cdn.dvkunion.cn/seamoon/8e8874c545ae4aa2a227786480ce4560.png) + +然后需要创建镜像仓库,镜像仓库的名称必须为:`seamoon-server` + +![](https://cdn.dvkunion.cn/seamoon/5ca52827597f430a878ba64b3e339d26.png) + +然后点击快捷操作,会出现命令提示: + +![](https://cdn.dvkunion.cn/seamoon/e92c3b7ad2284c00a8793bda8694fe31.png) + +复杂的步骤来了。现在需要找一台i386/amd64架构、且有docker的电脑......如果不懂如何查看电脑架构/不知道如何安装docker,建议还是放弃腾讯云。 + +执行以下命令 + +```shell +# 拉取dockerhub 服务镜像 +$ docker pull dvkunion/seamoon-server:latest + +# 重新tag镜像 +$ docker tag dvkunion/seamoon-server:latest <上图命令的地址>/<上图命令的地址>/seamoon-server:latest + +# 登陆腾讯云 +$ docker login <上图命令的地址> --username=<上图提供的用户名> + +# 推送镜像 +$ docker push <上图命令的地址>/<上图命令的地址>/seamoon-server:latest +``` + +还需要注意,登录时是需要填写登录密码的,如果是在不知道这个密码在哪里,建议重置一下;重置密码的位置也隐秘的感人: + +![](https://cdn.dvkunion.cn/seamoon/8627d3944c844528bdd64b423dc69744.png) + +至此,第一步已完成。 + +### Step.2 + +回到函数创建的页面,我们继续来创建函数。 + +现在选择部署镜像的位置已经有了,选择刚推送的seamoon-server镜像,开始填写配置吧: + +![](https://cdn.dvkunion.cn/seamoon/a533c78507eb4240bfde3d7af7a3c878.png) + +基础配置中,函数类型必须选择web函数。名称建议填写seamoon比较容易识别,地域按照你自己的需求选择即可。 + +![](https://cdn.dvkunion.cn/seamoon/de42929d49334e3d8ec8797047ad3ba3.png) + +函数代码我们选完镜像后,不需要改动。 + +![](https://cdn.dvkunion.cn/seamoon/c9fa3719e436438c91e68c600b9ec1f8.png) + +日志要花钱的,钱多就开。 +![](https://cdn.dvkunion.cn/seamoon/4dda5dc412204994bf18be9e02354537.png) + +高级配置中主要是环境配置:函数内存给个最低的64就够,初始化时间按照建议给90s,超时时间给600 10分钟足够。 + +重要的是环境变量的配置,如果是socks5代理这个值填写socks5; 如果你想要http代理,这里填写http。 + +![](https://cdn.dvkunion.cn/seamoon/43f23cc4cfdc479fb2b7f16a1766f740.png) + +往下滑,记得开启公网IP,并且不要绑定IP。来到协议配置,开启websocket,超时时间设置60,其他的都可以默认不动。 + +![](https://cdn.dvkunion.cn/seamoon/841380f2ffe542a5a8dd0be822e236d7.png) + +触发器也默认不动即可。 +![](https://cdn.dvkunion.cn/seamoon/4f983615b26b45f0b51f62aba8a99b72.png) + +点击部署,终于,服务部署完成。 + +### Step.3 + +部署完成后,几秒后自动跳转到函数页面,点击触发管理,可以看到函数地址,将此地址直接复制到客户端配置即可。 +![](https://cdn.dvkunion.cn/seamoon/8b76d5e0077543188835228750710624.png) + + +## 效果展示 + +勉勉强强及格吧,大概10MB下行带宽的样子。 + +而且初次启动的冷启动速度相比其他家腾讯云是有明显感受上的启动时间的;IP池也逐步下滑了(benchtest大概在17-30个左右)。 + +而且从服务群来看,感觉腾讯云已经摆烂了,这玩意就这样了你爱用不用吧......哎。 + +![](https://cdn.dvkunion.cn/seamoon/0df38a282292456b94f54c395cba1ec7.png) + + diff --git "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/09.serverless.md" "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/09.serverless.md" index 3f3a60e..473fde5 100644 --- "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/09.serverless.md" +++ "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/09.serverless.md" @@ -7,10 +7,9 @@ article: false ## serverless-devs -通过[serverless-devs](http://www.serverless-devs.com)可实现快速部署到各个云平台。 +你也可以通过[serverless-devs](http://www.serverless-devs.com),快速部署到各个云平台。 - -### 安装 serverless-devs 工具 +## 安装 serverless-devs 工具 ```shell $ npm install @serverless-devs/s -g ``` @@ -43,7 +42,7 @@ $ s config add 如果AK/SK无误,那么你将会看到认证成功的提示。 -### 部署 +## 部署 ```shell $ git clone https://github.com/DVKunion/SeaMoon.git @@ -86,9 +85,9 @@ SeaMoon-FC-HTTP-Proxy: 服务端部署完成。 -### 高级选项 +## 高级选项 -#### 地域 +## 地域 如果你想要修改部署的地域,请修改 `s.yaml` 中的 `region` 字段。 @@ -115,7 +114,7 @@ us-east-1, ap-south-1 ``` -#### 花费 vs 更多的IP +## 花费 vs 更多的IP 阿里云的FC计费模式与实例数、vCPU消耗息息相关。 @@ -143,6 +142,6 @@ services: 随着修改,改方案可能导致的花费也会随之不同。 -#### 可能遇到的坑 +## 可能遇到的坑 + 需要go > 1.18环境 (因为需要动态编译) \ No newline at end of file diff --git "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/00.deploy.md" "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/README.md" similarity index 84% rename from "docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/00.deploy.md" rename to "docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/README.md" index 61811d6..02faf0d 100644 --- "a/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/00.deploy.md" +++ "b/docs/guide/02.\346\234\215\345\212\241\351\203\250\347\275\262/README.md" @@ -10,4 +10,5 @@ SeaMoon 提供了多种多样的部署方式。 + [阿里云手动部署](https://seamoon.dvkunion.cn/guide/deploy/aliyun/) + [🔥 sealos:更便宜更舒服的选择](https://seamoon.dvkunion.cn/guide/deploy/sealos/) ++ [腾讯云手动部署](https://seamoon.dvkunion.cn/guide/deploy/tencent/) + [serverless-devs快捷部署](https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/) diff --git "a/docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/02.binary.md" "b/docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/02.binary.md" index 0e52b64..1d34aaf 100644 --- "a/docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/02.binary.md" +++ "b/docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/02.binary.md" @@ -11,14 +11,11 @@ article: false 在 [Github Release](https://github.com/DVKunion/SeaMoon/releases) 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。 -> 由于项目仍处于开发阶段,请尽量保证使用最新版本的客户端使用。 - ![release.png](https://cdn.dvkunion.cn/seamoon/b99b44ea50754bef959bfee42a07059b.png) +## 客户端配置 -### 客户端配置: v1.1.0-latest 版本 - -> 1.1.0 之后使用B/S架构,无需任何参数,会占用本地7777端口开启一个控制端 +> 1.1.0 之前的客户端是cli的模式,已经废弃,不再支持,请使用最新版本客户端。 `./client` @@ -36,43 +33,6 @@ article: false ![](https://cdn.dvkunion.cn/seamoon/dfcc22b01c4a4f358bdee59acc5c563b.png) -> 这里注意不需要带协议了,请使用完整的域名即可如: -> http-proxy.seamoon-service.xxxxxx.xxxx.fc.devsapp.net -> socks-proxy.seamoon-service.xxxxxxxx.xxxxxx.fc.devsapp.net - 然后按照你的需求,选在开启本地的http代理/socks5代理 -![](https://cdn.dvkunion.cn/seamoon/293fcd6a33cd4c298fd62888fa016321.png) - - -## 客户端配置: v1.0.0 版本 - -> 1.0.0 版本需要在client传入参数,已经在1.1.0版本废弃了 -> 建议使用 1.1.0 版本 -> 若使用 1.0.0 版本,请保证云函数服务端的版本也是1.0.0 - -**http代理** -`./client client -m http -l :9000 -p http://YOUR_FC_SERVER -v` - -YOUR_FC_SERVER是云函数部署后拿到的地址 - -**socks5代理** -`./client start -m socks5 -l :9000 -p ws://YOUR_FC_SERVER -v` - -注意要将http://地址协议改为ws:// - -证书信任: -v1.0.0 中,客户端运行后,会自动在运行目录下生成证书文件。 - -以mac为例,双击ca.crt,信任证书即可(原理同burp证书信任) - -各参数详情: - -| 参数名称 | 参数描述 | 默认值 | -|---------------|-----------------------------------------------------------|:-----:| -| proxy | 客户端运行模式: 代理模式 | 无 | -| -m / --mod | 代理模式 :http/socks5 | http | -| -l / --laddr | 本地代理地址: 127.0.0.1:9000 | :9000 | -| -p / --paddr | 云端代理地址: xxxxxxx.xxxx.xxxx | ws://xxxxxxx.xxxx.xxxx | 无 | -| -v /--verbose | 是否展示代理日志详情 | false | - +![](https://cdn.dvkunion.cn/seamoon/293fcd6a33cd4c298fd62888fa016321.png) \ No newline at end of file diff --git "a/docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/00.client.md" "b/docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/README.md" similarity index 100% rename from "docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/00.client.md" rename to "docs/guide/03.\345\256\242\346\210\267\347\253\257\351\203\250\347\275\262/README.md" diff --git "a/docs/tech/00.\345\256\232\344\275\215\344\270\216\347\211\271\346\200\247/00.position.md" "b/docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/00.position.md" similarity index 100% rename from "docs/tech/00.\345\256\232\344\275\215\344\270\216\347\211\271\346\200\247/00.position.md" rename to "docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/00.position.md" diff --git "a/docs/tech/00.\345\256\232\344\275\215\344\270\216\347\211\271\346\200\247/01.feature.md" "b/docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/01.feature.md" similarity index 100% rename from "docs/tech/00.\345\256\232\344\275\215\344\270\216\347\211\271\346\200\247/01.feature.md" rename to "docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/01.feature.md" diff --git "a/docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/README.md" "b/docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/README.md" new file mode 100644 index 0000000..e0fdd98 --- /dev/null +++ "b/docs/tech/00.\345\206\231\345\234\250\345\211\215\351\235\242/README.md" @@ -0,0 +1,35 @@ +--- +title: SeaMoon-技术分享 +date: 2023-07-21 23:47:06 +permalink: /tech/ +article: false +--- + +## SeaMoon 技术Blog + +在此分享 SeaMoon 在实现上的一些技术思考与serverless的一些讨论 + + +## 📒 参考文献与项目 + +感谢各位前辈师傅们的分享与沉淀。 + +**文章类** + ++ [浅谈云函数的利用面](https://xz.aliyun.com/t/9502) ++ [白嫖CDN,打造封不尽IP的代理池](https://freewechat.com/a/MzI0MDI5MTQ3OQ==/2247484068/1) ++ [Serverless 应用开发指南](https://serverless.ink/) ++ [HTTP被动扫描代理的那些事](https://www.freebuf.com/articles/web/212382.html) ++ [Subsocks: 用GO实现一个Socks5安全代理](https://luyuhuang.tech/2020/12/02/subsocks.html) + +**项目类** + ++ [SFCProxy](https://github.com/shimmeris/SCFProxy) ++ [go-socks5](https://github.com/armon/go-socks5) ++ [subsocks](https://github.com/luyuhuang/subsocks) ++ [gost](https://github.com/ginuerzh/gost) ++ [InCloud](https://github.com/inbug-team/InCloud) ++ [sfc-proxy](https://github.com/Sakurasan/scf-proxy) ++ [Serverless-transitcode](https://github.com/copriwolf/serverless-transitcode) ++ [protoplex](https://github.com/SapphicCode/protoplex) ++ [DFShell](https://github.com/D3Ext/DFShell) \ No newline at end of file