Projects STRLCPY SeaMoon Commits 32144e7a
🤬
  • ■ ■ ■ ■ ■ ■
    README.md
    skipped 22 lines
    23 23   
    24 24  > 🌕 月出于云却隐于海
    25 25   
    26  -月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络
     26 +月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络
    27 27   
    28 28  月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。
    29 29   
    30  -月海基于 Serverless 的动态特性、分别从网络层、应用层实现对应的能力,并集成了SDK来实现快捷的部署/跨厂商操作。
     30 +月海基于 Serverless 的动态与无状态的特性,从网络层实现了一个基于 Serverless 的网络工具集,包括代理、转发、隧道等等常见网络功能;
     31 +同时在客户端集成了大量云厂商,实现快捷的一键式部署和跨厂商与平台操作。
    31 32   
    32 33  想要了解更多,请移步 [官方手册](https://seamoon.dvkunion.cn)
    33 34   
    34 35  觉得项目不错的话,[还请给一个star ✨](https://github.com/DVKunion/SeaMoon), 你的支持是更新的最大动力~
    35 36   
    36  -## 🔔 V2.0 大更新
     37 +## 🌟 月海能做什么
    37 38   
    38  -最近在测试 2.0 大版本的更新发布,但是 2.0 更新跨度太大,需要逐步测试完善后再一同和入主线分支,来保证主线代码正常工作。
     39 +Serverless 的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理、用后即销毁的无痕状态等。
    39 40   
    40  -2.0 版本的提前试用再 2.0-dev 分支,增加和变动了很多功能如:
    41  - 
    42  -+ 客户端改版升级
    43  -+ 支持自动部署服务端
    44  -+ 认证相关功能增加
    45  -+ 可视化流量统计等等
    46  - 
    47  -预计近期完成测试后就会合并进来, 这里放几张预告图:
    48  - 
    49  -**登陆认证**
    50  -![login](https://seamoon.oss-cn-hangzhou.aliyuncs.com/62564a7263484cddb622d27abf09e4ed.png)
    51  - 
    52  -**代理管控**
    53  -![proxy](https://seamoon.oss-cn-hangzhou.aliyuncs.com/a473e1b3a2cd45379737bba56bc9cb8b.png)
    54  - 
    55  -**函数管控**
    56  -![func](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ac38d83adf69439baf694f6705b3f9f4.png)
    57  - 
    58  -**账户管控**
    59  -![account](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ea911c9b2f3c4fb886f04f7043a6e5f9.png)
     41 +**网络代理**
    60 42   
     43 +| 代理类型 | 技术文档 | Seamoon 客户端支持 | 其他客户端支持 |
     44 +|-------------|-----------------------------------------------------------|:-------------:|:-------:|
     45 +| HTTP(S) | [HTTP.md](https://seamoon.dvkunion.cn/tech/net/http/) | ✅ | ✅ |
     46 +| Socks5 | [Socks5.md](https://seamoon.dvkunion.cn/tech/net/socks5/) | ✅ | ✅ |
     47 +| Socks4 | []() | ❌ | ✅ |
     48 +| Vmess | []() | ✅ | ✅ |
     49 +| Vless | []() | ✅ | ✅ |
     50 +| shadowsocks | []() | ✅ | ✅ |
    61 51   
    62  -## 🕹 快速开始
     52 +**网络隧道**
    63 53   
    64  -[⚡️ 快速开始](https://seamoon.dvkunion.cn/guide/start)
     54 +| 隧道类型 | 技术文档 | 支持情况 |
     55 +|-----------|------|:-----:|
     56 +| websockst | []() | ✅ |
     57 +| grpc | []() | ✅ |
     58 +| oss | []() | 🐷调研中 |
    65 59   
    66  -[✨ 新增Render部署, ~~完全免费的套餐且功能不减!!!~~ 免费但是封号的SB ](https://seamoon.dvkunion.cn/guide/deploy/render)
     60 +**其他**
    67 61   
    68  -[✨ 新增Sealos部署, 价格更低更实惠!](https://seamoon.dvkunion.cn/guide/deploy/sealos)
     62 ++ 💻 多客户端支持,clash/shadowrocket 等。
     63 ++ 🧅 Tor 网络 .onion 支持. [如何开启 Tor 代理](https://seamoon.dvkunion.cn/guide/client/tor/)
     64 ++ ......
    69 65   
    70  -[🔥 新增 seamoon 支持 tor 网络访问 onion 域名](https://seamoon.dvkunion.cn/guide/client/tor/)
     66 +更多特性相关请移步: [技术文档](https://seamoon.dvkunion.cn/tech/feature/)
    71 67   
    72 68  ## 🧭 支持平台
    73 69   
    74  -| 平台名称 | 免费力度 | 是否支持 | |
    75  -|----------|:--------------------------:|:-----:|:------------------------------------------------------:|
    76  -| 阿里云 | 新用户三个月 | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/aliyun) |
    77  -| 腾讯云 | 🈚️ | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/tencent) |
    78  -| 🔥Sealos | 五元余额,流量不计费 | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/sealos) |
    79  -| 🙅Render | ~~每月750小时免费 + 100G流量~~但是封号 | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/render) |
    80  -| 云 | | ✅ | []() |
    81  -| 百度云 | | ✅ | [部署]() |
    82  -| AWS | | ��调研中 | []() |
    83  -| Google | | ��调研中 | []() |
     70 +| 平台名称 | 免费力度 | 是否支持 |
     71 +|----------|:--------------------------:|:-----:|
     72 +| 阿里云 | 新用户三个月 | ✅ |
     73 +| 腾讯云 | 🈚️ | ✅ |
     74 +| Sealos | 五元余额 | ✅ |
     75 +| 华为云 | | ✅ |
     76 +| 云 | | ✅ |
     77 +| 🙅Render | ~~每月750小时免费 + 100G流量~~但是封号 | ❌ |
     78 +| AWS | | ��调研中 |
     79 +| Google | | ��调研中 |
    84 80   
    85  -## � 使用
     81 +## �使用
    86 82   
    87  -![client](https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png)
     83 +[继续阅读: 快速开始](https://seamoon.dvkunion.cn/guide/start)
    88 84   
    89  -## 🔨 功能简要
     85 +## 💻 技术文档
    90 86   
    91  -**网络隧道**
     87 +[🧑‍💻 技术文档](https://seamoon.dvkunion.cn/tech/feature)
    92 88   
    93  -| 隧道类型 | 技术文档 | 支持情况 |
    94  -|-----------|------|:----:|
    95  -| websockst | []() | ✅ |
    96  -| grpc | []() | ✅ |
     89 +## 🛜 使用展示
    97 90   
    98  -****
    99  - 
    100  -| 代理类型 | 技术文档 | Seamoon 客户端支持 | 其他客户端支持 |
    101  -|-------------|-----------------------------------------------------------|:-------------:|:-------:|
    102  -| HTTP(S) | [HTTP.md](https://seamoon.dvkunion.cn/tech/net/http/) | ✅ | ✅ |
    103  -| Socks5 | [Socks5.md](https://seamoon.dvkunion.cn/tech/net/socks5/) | ✅ | ✅ |
    104  -| Socks4 | []() | ❌ | ✅ |
    105  -| shadowsocks | []() | ❌ | ✅ |
     91 +****
     92 +![login](https://seamoon.oss-cn-hangzhou.aliyuncs.com/62564a7263484cddb622d27abf09e4ed.png)
    106 93   
    107  -****
    108  - 
    109  -+ 🧅 Tor 网络 .onion 支持. [如何开启 Tor 代理](https://seamoon.dvkunion.cn/guide/client/tor/)
    110  -+ ......
     94 +****
     95 +![proxy](https://seamoon.oss-cn-hangzhou.aliyuncs.com/a473e1b3a2cd45379737bba56bc9cb8b.png)
    111 96   
    112  -## 💻 技术文档
     97 +**函数管控**
     98 +![func](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ac38d83adf69439baf694f6705b3f9f4.png)
    113 99   
    114  -[🧑‍💻 技术文档](https://seamoon.dvkunion.cn/tech/feature)
     100 +**账户管控**
     101 +![account](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ea911c9b2f3c4fb886f04f7043a6e5f9.png)
    115 102   
    116 103  ## ❗ 免责声明
    117 104   
    118 105  本工具仅用于学习serverless以及云原生相关技术,请勿用于其他用途。
    119 106   
    120 107  如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。
    121  - 
    122  -## ☎️ 联系方式
    123  - 
    124  -Serverless in Cybersecurity 讨论微信群:
    125  - 
    126  -也可以在 项目 Discuss 处发起讨论。
    127 108   
    128 109  ## ✨ CTStack
    129 110   
    skipped 4 lines
  • ■ ■ ■ ■
    docs/.vuepress/config.js
    skipped 54 lines
    55 55   {
    56 56   iconClass: 'icon-mao',
    57 57   title: '放一只猫',
    58  - link: 'http://www.serverless-devs.com'
     58 + link: 'https://github.com/DVKunion/SeaMoon'
    59 59   },
    60 60   {
    61 61   iconClass: 'icon-github',
    skipped 19 lines
  • ■ ■ ■ ■ ■ ■
    docs/guide/00.概述/00.introduce.md
    1 1  ---
    2 2  title: 简介
    3  -titleTag: 1.2.0-beta.2
     3 +titleTag: 2.0.0
    4 4  date: 2022-09-28 22:39:36
    5 5  permalink: /guide/introduce
    6 6  article: false
    7 7  ---
    8 8   
    9  -## SeaMoon - 月海
     9 +# SeaMoon - 月海
    10 10   
    11 11  ![go-report](https://goreportcard.com/badge/github.com/DVKunion/SeaMoon)
    12 12  ![language](https://img.shields.io/github/languages/top/DVKunion/SeaMoon.svg?&color=blueviolet)
    skipped 5 lines
    18 18   
    19 19  > 🌕 月出于云却隐于海
    20 20   
    21  -月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络
     21 +月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络
    22 22   
    23 23  月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。
    24 24   
    25  -月海基于 Serverless 的动态特性、分别从网络层、应用层实现对应的能力,并利用serverless-devs工具来实现快捷的部署/跨厂商操作。
     25 +月海基于 Serverless 的动态与无状态的特性,从网络层实现了一个基于 Serverless 的网络工具集,包括代理、转发、隧道等等常见网络功能;
     26 +同时在客户端集成了大量云厂商,实现快捷的一键式部署和跨厂商与平台操作。
    26 27   
    27 28  觉得项目不错的话,[还请给一个star ✨](https://github.com/DVKunion/SeaMoon), 你的支持是更新的最大动力~
    28 29   
    29 30  ## 🌟 月海能做什么
    30 31   
    31  -### 网络层
    32  - 
    33  -网络层支持是月海的基础功能,也是云函数最基本的优势和特性。
    34  - 
    35  -利用云函数的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理来进行测试。
    36  - 
    37  -同时月海集成了 Tor 网桥,实现了服务端 Tor 网络的访问。
    38  - 
    39  -目前网络层功能支持如下:
    40  - 
    41  -**网络隧道**
    42  - 
    43  -| 隧道类型 | 技术文档 | 支持情况 |
    44  -|-----------|------|:----:|
    45  -| websockst | []() | ✅ |
    46  -| grpc | []() | ✅ |
     32 +Serverless 的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理、用后即销毁的无痕状态等。
    47 33   
    48 34  **网络代理**
    49 35   
    skipped 2 lines
    52 38  | HTTP(S) | [HTTP.md](https://seamoon.dvkunion.cn/tech/net/http/) | ✅ | ✅ |
    53 39  | Socks5 | [Socks5.md](https://seamoon.dvkunion.cn/tech/net/socks5/) | ✅ | ✅ |
    54 40  | Socks4 | []() | ❌ | ✅ |
    55  -| shadowsocks | []() | | ✅ |
     41 +| Vmess | []() | | ✅ |
     42 +| Vless | []() | ✅ | ✅ |
     43 +| shadowsocks | []() | ✅ | ✅ |
     44 + 
     45 +**网络隧道**
     46 + 
     47 +| 隧道类型 | 技术文档 | 支持情况 |
     48 +|-----------|------|:-----:|
     49 +| websockst | []() | ✅ |
     50 +| grpc | []() | ✅ |
     51 +| oss | []() | 🐷调研中 |
    56 52   
    57 53  **其他**
    58 54   
     55 ++ 💻 多客户端支持,clash/shadowrocket 等。
    59 56  + 🧅 Tor 网络 .onion 支持. [如何开启 Tor 代理](https://seamoon.dvkunion.cn/guide/client/tor/)
    60 57  + ......
    61 58   
    skipped 1 lines
    63 60   
    64 61  ## 🧭 支持平台
    65 62   
    66  -| 平台名称 | 免费力度 | 是否支持 | |
    67  -|----------|:--------------------------:|:-----:|:------------------------------------------------------:|
    68  -| 阿里云 | 新用户三个月 | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/aliyun) |
    69  -| 腾讯云 | 🈚️ | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/tencent) |
    70  -| 🔥Sealos | 五元余额,流量不计费 | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/sealos) |
    71  -| 🙅Render | ~~每月750小时免费 + 100G流量~~但是封号 | ✅ | [部署](https://seamoon.dvkunion.cn/guide/deploy/render) |
    72  -| 云 | | ✅ | []() |
    73  -| 百度云 | | ✅ | [部署]() |
    74  -| AWS | | ��调研中 | []() |
    75  -| Google | | ��调研中 | []() |
     63 +| 平台名称 | 免费力度 | 是否支持 |
     64 +|----------|:--------------------------:|:-----:|
     65 +| 阿里云 | 新用户三个月 | ✅ |
     66 +| 腾讯云 | 🈚️ | ✅ |
     67 +| Sealos | 五元余额 | ✅ |
     68 +| 华为云 | | ✅ |
     69 +| 云 | | ✅ |
     70 +| 🙅Render | ~~每月750小时免费 + 100G流量~~但是封号 | ❌ |
     71 +| AWS | | ��调研中 |
     72 +| Google | | ��调研中 |
    76 73   
    77  -## ➡️ 后续方向
    78  - 
    79  -::: tip 关于规则匹配代理
    80  -很多代理支持根据不同的规则来进行转发或选择不走代理。月海的定位其实更偏重于利用云原生基础设施来廉价的进行渗透测试工作。
    81  - 
    82  -因此在当前版本,并不打算支持规则代理,(因为很多代理客户端其实也有这个功能了,走客户端即可实现。)
    83  -:::
    84  - 
    85  -更多发展方向的说明和讨论请移步: [技术文档](https://seamoon.dvkunion.cn/tech/)
    86  - 
    87  -## 🕹 ️开始使用
     74 +## 🕹开始使用
    88 75   
    89 76  [继续阅读: 快速开始](https://seamoon.dvkunion.cn/guide/start)
    90 77   
    91  -[跳过新手环节,直接进入部署](https://seamoon.dvkunion.cn/guide/deploy)
    92  - 
    93  -## ❗ 免责声明
     78 +## ❗免责声明
    94 79   
    95 80  本工具仅用于学习 serverless 以及云原生相关技术,请勿用于其他用途。
    96 81   
    skipped 1 lines
  • ■ ■ ■ ■ ■ ■
    docs/guide/00.概述/01.structure.md
    skipped 4 lines
    5 5  article: false
    6 6  ---
    7 7   
    8  -## 项目结构
     8 +# 项目结构
    9 9   
    10 10  月海主要分为两部分:
    11 11   
    12 12  + 部署在云端的服务端
    13 13  + 客户端
    14 14   
    15  -##
     15 +##
    16 16   
    17  -云函数限制了大部分的协议模式,将能力限制在了七层网络;因此我们想在云函数上实现7层及一下的模式,就需要通过本地的客户端来进行协议封装。
     17 +服务端为实际部署在云厂商的代码。负责实际计算的功能模块, 主要实现各类的隧道与协议解析。
    18 18   
    19  -通过各类协议的转化,将协议封装置七层进行传输,再由服务端进行解码处理。
     19 +## 客户端
    20 20   
    21  -除了使用 seamoon 自身的客户端代理功能之外,还可以使用其他支持隧道模式的 客户端工具,如 gost, 可以实现在本地落地更多协议的代理。
     21 +为了方便管理和使用,月海提供了一个 B/S 架构的客户端,主要包括了以下内容:
    22 22   
    23  -## 服务端
     23 ++ 系统配置: 客户端相关配置
     24 ++ 云账户管理: 用于管控所有部署的云账户信息
     25 ++ 函数实例: 用于展示和管理所有已经部署的 Serverless 函数
     26 ++ 服务: 当没有使用其他的客户端时,月海还提供了一个简易的服务功能来提供一些网络服务,来实现对外的开放。
    24 27   
    25  -服务端为实际部署在云厂商的代码。负责实际计算的功能模块, 主要实现各类协议的隧道传递与解析。
     28 +除了使用 seamoon 自身的客户端代理功能之外,还可以使用其他支持隧道模式的 客户端工具,如 clash/v2ray/gost, 可以实现在本地落地更多协议的代理。
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/00.start.md
     1 +---
     2 +title: 快速开始
     3 +date: 2022-09-28 00:27:13
     4 +permalink: /guide/start/
     5 +article: false
     6 +---
     7 + 
     8 +# 快速开始
     9 + 
     10 +通过该页面,您可以快速的通过客户端来创建一个 http 代理服务,作为月海的基本使用演示。
     11 + 
     12 +### 事前准备
     13 + 
     14 ++ 云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)
     15 ++ 云厂商账户 AK/SK,并拥有操作函数和账单相关的全部权限。
     16 + 
     17 + 
     18 +### 启动服务
     19 + 
     20 +`$ docker run -it -d --net=host dvkunion/seamoon:latest proxy`
     21 + 
     22 +如果一切正常,你将可以在 `http://localhost:7777` 访问到管理页面:
     23 + 
     24 +![login](https://seamoon.oss-cn-hangzhou.aliyuncs.com/fbc14247042b4608a99b18fce6682175.png)
     25 + 
     26 +:::tip
     27 +默认的账户密码为: seamoon/seamoon
     28 +:::
     29 + 
     30 +:::warning
     31 +安全起见,我们不建议直接通过 --net=host 将所有的端口直接暴露在网络中,更加推荐的做法请继续阅读: [客户端安装](https://seamoon.dvkunion.cn/guide/install/)
     32 +:::
     33 + 
     34 +### 修改默认密码
     35 + 
     36 +第一步一定要修改掉默认的密码。点击 [系统管理],填写一个新的密码,然后提交:
     37 + 
     38 +![password](https://seamoon.oss-cn-hangzhou.aliyuncs.com/b87e34d7b9114fabb1404ce99eef3097.png)
     39 + 
     40 +### 配置账户
     41 + 
     42 +我们来尝试创建一个账户, 点击 [云账户管理] -> [新增]:
     43 + 
     44 +![add-account](https://seamoon.oss-cn-hangzhou.aliyuncs.com/d580190a2ba74c178e1d5e239f2d82e3.png)
     45 + 
     46 +填写对应的字段:
     47 ++ 账户名称: 用于在客户端区分不同的账户,与具体云账户用户名无关
     48 ++ 账户类型: 选择账户对应的云平台类型
     49 ++ 最大部署限制: 该账户最多允许部署的函数数量,0表示不作限制。
     50 ++ 账户描述: 用于备注该账户的一些其他信息
     51 + 
     52 +![aliyun](https://seamoon.oss-cn-hangzhou.aliyuncs.com/d5e68b2e29754a68b1640c33c3b13bb0.png)
     53 + 
     54 +点击下一步,继续填写表单:
     55 ++ 账户允许部署区域: 表示当前账户允许部署的函数区域,可以多选
     56 ++ AccessID/AccessKey/SecretKey: 阿里云账户信息, AccountId 可在主页右上角个人信息处获取 accountId, AccessKeyId/AccessKeySecret 可在 [IAM](https://ram.console.aliyun.com/users) 页面添加子用户生成密钥
     57 + 
     58 +![aliyun-account](https://seamoon.oss-cn-hangzhou.aliyuncs.com/75c7aa76665740878c796d82aac17233.png)
     59 + 
     60 +点击提交,账户会开始自动同步余额信息、函数信息等等。等待账户显示为正常状态时,即表示该步骤正确完成。
     61 + 
     62 +![success](https://seamoon.oss-cn-hangzhou.aliyuncs.com/93e870aab1ba4519be7b1ddf6552155f.png)
     63 + 
     64 +如果出现错误,鼠标放置在状态处,即可显示错误详细信息。
     65 + 
     66 +![error](https://seamoon.oss-cn-hangzhou.aliyuncs.com/19d4ea3949934efe86666478d5daab0c.png)
     67 + 
     68 +### 创建服务
     69 + 
     70 +可以开始创建服务了, 点击 [服务] -> [新增]:
     71 + 
     72 +![add-service](https://seamoon.oss-cn-hangzhou.aliyuncs.com/12b854194e504602aeff41c8c58d9399.png)
     73 + 
     74 +对应的参数比较多,我们首先填写第一张表单:
     75 + 
     76 ++ 代理名称: 用于在客户端展示的代理名
     77 ++ 监听协议: 选择 http
     78 ++ 监听地址: 不需要改动
     79 ++ 监听端口: 不需要改动(默认1080)
     80 + 
     81 +![proxy](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ab82aa10192049c28157856acc8e8be8.png)
     82 + 
     83 +点击下一步,选择 [选择账户并自动创建新实例]
     84 + 
     85 +![new-instance](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ebe49e967ee94feabde0855691e79c08.png)
     86 + 
     87 +点击下一步,选择刚才创建好的账户
     88 + 
     89 +![select-account](https://seamoon.oss-cn-hangzhou.aliyuncs.com/6cfd9c34857047a5805140d4c51aef7c.png)
     90 + 
     91 +点击下一步,开始填写函数参数
     92 + 
     93 ++ 函数名称: 函数的名称,只允许英文
     94 ++ 函数所在区域: 只能选择账户允许的区域内部署
     95 + 
     96 +![func](https://seamoon.oss-cn-hangzhou.aliyuncs.com/367928eaf3ed4d3b9745a1a6976e05a0.png)
     97 + 
     98 +其他选项均不需要改动,点击提交。
     99 + 
     100 +![create](https://seamoon.oss-cn-hangzhou.aliyuncs.com/14ea9dfdf588445398aa8cca7be187a9.png)
     101 + 
     102 +### 开始使用
     103 + 
     104 +现在我们可以测试一下了。在终端输入:
     105 + 
     106 +```shell
     107 +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
     108 +```
     109 + 
     110 +然后查一下 IP:
     111 + 
     112 +```shell
     113 +curl cip.cc
     114 +```
     115 + 
     116 +如果显示为阿里云 IP,表明代理已经生效。
     117 + 
     118 +![ip](https://seamoon.oss-cn-hangzhou.aliyuncs.com/a88026e1cdab45f987c5cc66b6f81034.png)
     119 + 
     120 +同时服务页面会显示当前对应的延迟、连接数以及流量统计汇总。
     121 + 
     122 +![total](https://seamoon.oss-cn-hangzhou.aliyuncs.com/d819adccb751498fa2c3c82bae465024.png)
     123 + 
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/01.install.md
     1 +---
     2 +title: 客户端安装
     3 +date: 2024-04-02 18:42:45
     4 +permalink: /guide/install/
     5 +article: false
     6 +---
     7 + 
     8 +# 客户端安装
     9 + 
     10 +### Docker
     11 + 
     12 +推荐使用 docker 一键部署client
     13 + 
     14 +```shell
     15 +$ docker run -it -d --net=host dvkunion/seamoon:latest proxy
     16 +```
     17 + 
     18 +默认使用`--net=host`模式,这样比较简单易懂。为了更高的安全性、可控性,你也可以自己选择映射:
     19 + 
     20 +```shell
     21 +$ docker run -it -d -p 127.0.0.1:7777:7777 -p 1080:1080 dvkunion/seamoon:latest proxy
     22 +```
     23 + 
     24 +这样可以将管理端口限制只能通过本地 `127.0.0.1` 访问,如果你需要限制为其他 IP,可以自行修改。
     25 + 
     26 +然后浏览器打开:
     27 + 
     28 +`localhost:7777`
     29 + 
     30 +即可开启客户端
     31 + 
     32 +### Binary
     33 + 
     34 +#### 客户端下载
     35 + 
     36 +在 [Github Release](https://github.com/DVKunion/SeaMoon/releases) 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。
     37 + 
     38 +![release](https://seamoon.oss-cn-hangzhou.aliyuncs.com/955161ed6d3c48b181397bed1bcaca45.png)
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/01.start.md
    1  ----
    2  -title: 快速开始
    3  -date: 2022-09-28 00:27:13
    4  -permalink: /guide/start
    5  -article: false
    6  ----
    7  - 
    8  -## 🕹 快速开始
    9  - 
    10  -通过该页面,您可以通过推荐的部署方式快速开始使用 SeaMoon。
    11  - 
    12  -::: tip 写在前面
    13  -本页面按照阿里云标准云函数服务进行部署,如果您希望获取到更多自定义的配置和使用方式,[请跳转](https://seamoon.dvkunion.cn/guide/deploy)
    14  - 
    15  -🔥 如果您的钱包和预算有限,并且代理IP需求并不是特别高,这里推荐使用 [sealos部署服务端](https://seamoon.dvkunion.cn/guide/deploy/sealos)
    16  - 
    17  -🙅 如果只想测试一下 seamoon 感受一下效果,可以使用 [render部署服务端](https://seamoon.dvkunion.cn/guide/deploy/render), 但是注意极容易封号。
    18  - 
    19  -🔧 如果你不想仅拥有 http/socks5 协议的代理,期望使用更多代理,请移步 [更多客户端适配](https://seamoon.dvkunion.cn/guide/client/)
    20  -:::
    21  - 
    22  -### 事前准备
    23  - 
    24  -+ 云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)
    25  -+ 云厂商账户 AK/SK,并拥有操作FC的全部权限。
    26  -+ 一台存在docker、Nodejs >= 12 的客户端的机器,同时保证 7777、1080、9999端口未被占用,该机器将作为使用的客户端。
    27  - 
    28  -### Step.1 安装serverless-devs工具
    29  - 
    30  -```shell
    31  -$ npm install @serverless-devs/s -g
    32  -```
    33  - 
    34  -国内加速:
    35  - 
    36  -```shell
    37  -$ cnpm install @serverless-devs/s -g
    38  -```
    39  - 
    40  -如果不存在npm包管理器,请先通过node安装npm/cnpm
    41  - 
    42  -安装后运行
    43  - 
    44  -```shell
    45  -$ s -v
    46  -```
    47  - 
    48  -将可以看到serverless-devs版本,表示安装成功。
    49  - 
    50  -```shell
    51  -@serverless-devs/s3: 0.1.0, s-home: /Users/DVK/.s, darwin-arm64, node-v20.9.0
    52  -```
    53  - 
    54  -然后通过如下命令开始配置云厂商认证
    55  - 
    56  -```shell
    57  -$ s config add
    58  -```
    59  - 
    60  -按提示即可选择即可,本次我们以 `Alibaba Cloud` 为例,输入对应的账户`AccessKeyID`、`AccessKeySecret`
    61  - 
    62  -最后一步填写`alias`时,请确保值为`default`(一般初次安装与认证该字段都默认为default,回车即可)。
    63  - 
    64  -如果AK/SK无误,那么你将会看到认证成功的提示。
    65  - 
    66  -### Step.2 部署服务端
    67  - 
    68  -```shell
    69  -$ git clone https://github.com/DVKunion/SeaMoon.git
    70  -```
    71  - 
    72  -进入到项目目录
    73  - 
    74  -```shell
    75  -$ cd SeaMoon
    76  -$ s deploy
    77  -```
    78  - 
    79  -如果你不是第一次部署,那么将会提示你选择冲突的配置:remote/local,一般选择local即可。
    80  - 
    81  -稍等片刻,你将会得到部署好的两个地址:
    82  - 
    83  -```yaml
    84  -SeaMoon-WST-Node:
    85  - region: cn-hongkong
    86  - service:
    87  - name: SeaMoon-Service
    88  - function:
    89  - name: ws-node
    90  - runtime: custom
    91  - handler: main
    92  - memorySize: 128
    93  - timeout: 300
    94  - cpu: 0.05
    95  - diskSize: 512
    96  - url:
    97  - system_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run
    98  - system_intranet_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run
    99  - triggers:
    100  - - type: http
    101  - name: httpTrigger
    102  -SeaMoon-GRT-Node:
    103  - region: cn-hongkong
    104  - service:
    105  - name: SeaMoon-Service
    106  - function:
    107  - name: grpc-node
    108  - runtime: custom
    109  - handler: main
    110  - memorySize: 128
    111  - timeout: 300
    112  - cpu: 0.05
    113  - diskSize: 512
    114  - url:
    115  - system_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run
    116  - system_intranet_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run
    117  - triggers:
    118  - - type: http
    119  - name: httpTrigger
    120  -```
    121  - 
    122  -这里是用的都是默认配置,如果你需要更多高级可选项,[请继续阅读](https://seamoon.dvkunion.cn/guide/deploy)
    123  - 
    124  -同样,如果你不想使用阿里云,或者想寻求更廉价的计费方式,[请继续阅读](https://seamoon.dvkunion.cn/guide/deploy)
    125  - 
    126  -服务端部署完成
    127  - 
    128  -### Step.3 开启客户端使用
    129  - 
    130  -```shell
    131  -$ docker run -it -d --net=host dvkunion/seamoon:latest proxy
    132  - 
    133  -```
    134  - 
    135  -默认使用`--net=host`模式,然后浏览器打开:
    136  - 
    137  -`localhost:7777`
    138  - 
    139  -即可开启客户端, 点击配置管理
    140  - 
    141  -![client](https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png)
    142  - 
    143  -添加云端配置
    144  - 
    145  -![client-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png)
    146  - 
    147  -::: tip 如何填写地址
    148  -我们在步骤2的时候,如果你是使用 s 工具实现的部署,那么最终的 yaml 内可以看到 url 字段,url 字段内的 system_url 即为我们需要的地址。
    149  -不要使用带有 vpc 字样的 url, 也就是 system_intranet_url 字段的值,这是内网 vpc 访问的域名。
    150  -除此之外,需要自行将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。
    151  -grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089
    152  -8089 是阿里云的固定 grpc 协议端口,不需要改动。
    153  -:::
    154  - 
    155  -开启socks5代理,并保持默认`:1080`不改变。
    156  - 
    157  -此时,你已经可以通过云函数启动socks5代理访问了。
    158  - 
    159  -![speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png)
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/02.provider.md
     1 +---
     2 +title: 云账户管理
     3 +date: 2024-04-02 18:44:26
     4 +permalink: /guide/provider/
     5 +article: false
     6 +---
     7 + 
     8 +# 云账户管理
     9 + 
     10 +### 阿里云
     11 + 
     12 +阿里云账户需要三个信息:AccessID/AccessKey/SecretKey。
     13 + 
     14 +AccountId 可在主页右上角个人信息处获取 accountId
     15 + 
     16 +![aliyun-account](https://seamoon.oss-cn-hangzhou.aliyuncs.com/75c7aa76665740878c796d82aac17233.png)
     17 + 
     18 +AccessKeyId/AccessKeySecret 可在 [IAM](https://ram.console.aliyun.com/users) 页面添加子用户生成密钥。
     19 + 
     20 +:::warning
     21 +创建的 AK/SK 请确保拥有账单权限和函数相关权限
     22 +:::
     23 + 
     24 +### 腾讯云
     25 + 
     26 +腾讯云账户只需要两个信息: SecretID/SecretKey
     27 + 
     28 +可在 [IAM](https://console.cloud.tencent.com/cam) 页面添加子用户生成密钥
     29 + 
     30 +### Sealos
     31 + 
     32 +Sealos 只需要一个 `kubeconfig` 凭证即可。我们登录 cloud.sealos.io:
     33 + 
     34 +![sealos](https://seamoon.oss-cn-hangzhou.aliyuncs.com/6fd4b2d188794b88aae2ae0c27fc2531.png)
     35 + 
     36 +点击复制粘贴过来即可。
     37 + 
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/03.tunnel.md
     1 +---
     2 +title: 函数实例
     3 +date: 2024-04-02 18:44:43
     4 +permalink: /guide/func/
     5 +article: false
     6 +---
     7 + 
     8 +# 函数实例
     9 + 
     10 +函数实例对应着在云上部署的每一个函数
     11 + 
     12 +### 创建函数实例
     13 + 
     14 +点击 [新增], 会要求选择一个关联的账户,将会使用这个账户进行部署
     15 + 
     16 +![tunnel](https://seamoon.oss-cn-hangzhou.aliyuncs.com/0cd322d2dac14f77b117ff1024c047b9.png)
     17 + 
     18 +点击 [下一步], 进入具体的函数参数配置
     19 + 
     20 +![config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/4f49e3f00b7a4e28a4152b8504354b08.png)
     21 + 
     22 ++ 函数名称:用于在平台区分各个函数
     23 ++ 函数所在地区:只能选择当前账户允许的区域
     24 ++ CPU、内存: 一般默认即可,如果有需求也可以自行调整(不同平台有相关要求,不建议自行调整)
     25 ++ 最大处理数:指一个实例最多同时可以处理的请求数;如果你希望获取更多的IP,该值越小越好(最低为1);如果你想节约成本,那么可以调整大一些。
     26 ++ 端口号配置:默认不要改动。
     27 ++ 函数认证方式: 指函数调用时的认证方法,可以避免一些反制与滥用。默认请选择无认证;如果你需要导入其他客户端使用,请确保此选项为无认证方式,
     28 ++ 隧道协议类型: websocket/gprc。推荐websockets, grpc 目前测试较少,不太稳定
     29 ++ TLS: 默认开启即可;不开启的时候走80端口,数据为明文传输。
     30 ++ Tor: 开启 Tor 网桥时,会允许代理访问 onion域名,但是会导致内存占用增高。
     31 + 
     32 +### 停用函数实例
     33 + 
     34 +![stop](https://seamoon.oss-cn-hangzhou.aliyuncs.com/da2a2030a728415cbbe0014b52b01b0d.png)
     35 + 
     36 +点击停用后,远端的函数实例将会销毁,但平台的配置数据依旧存在;你可以通过再次启用来部署一个新的服务。
     37 + 
     38 +### 删除函数实例
     39 + 
     40 +![delete](https://seamoon.oss-cn-hangzhou.aliyuncs.com/d640f664ef4249e09461999fd6776107.png)
     41 + 
     42 +点击删除后,远端函数实例将会销毁,同时本地的数据也会随之删除;基于此函数隧道的代理也会一起删除。
     43 + 
     44 +### 导入其他客户端
     45 + 
     46 +![import](https://seamoon.oss-cn-hangzhou.aliyuncs.com/52f88f5bf8904aa293eaffcdd4091203.png)
     47 + 
     48 +目前支持导入 Clash、ShadowRocket 两种客户端,可以选择自动导入,也可以手动复制订阅地址。
     49 +注意,此订阅地址会随着服务重启后失效。当客户端重启后,需要重新获取订阅地址。
     50 + 
     51 + 
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/04.proxy.md
     1 +---
     2 +title: 服务
     3 +date: 2024-04-02 18:44:49
     4 +permalink: /guide/service/
     5 +article: false
     6 +---
     7 + 
     8 +# 服务
     9 + 
     10 +### 创建服务
     11 + 
     12 +点击 [新增]:
     13 + 
     14 +![create](https://seamoon.oss-cn-hangzhou.aliyuncs.com/fe87befcb18c4e059951f8f1ed2dbe91.png)
     15 + 
     16 ++ 代理名称:用于在平台区分不同的代理
     17 ++ 监听协议: 选择代理的服务类型
     18 ++ 监听地址: 监听的 IP 信息
     19 ++ 监听端口: 监听的端口信息
     20 + 
     21 +#### 从账户直接创建服务
     22 + 
     23 +![select-1](https://seamoon.oss-cn-hangzhou.aliyuncs.com/700cea1e620f40f1beb6596bd48565a0.png)
     24 + 
     25 +直接从账户创建,将会从选择的账户创建一个新的函数与服务绑定。具体请参考 [创建函数实例](https://seamoon.dvkunion.cn/guide/func/)
     26 + 
     27 +#### 选择已有函数进行关联
     28 + 
     29 +![select-2](https://seamoon.oss-cn-hangzhou.aliyuncs.com/120fa192be864d4293ea51344542f336.png)
     30 + 
     31 +选择已有函数进行关联时,将会从已有的函数实例进行选择,无需进行其他配置。
     32 + 
     33 +![select-4](https://seamoon.oss-cn-hangzhou.aliyuncs.com/af8eaa396fac4413a2a6d54d715412a5.png)
     34 + 
     35 +### 修改服务
     36 + 
     37 +目前允许修改的内容有:代理类型、监听地址、监听端口三个选项。点击对应服务,即可进行详情修改。
     38 + 
     39 +![update](https://seamoon.oss-cn-hangzhou.aliyuncs.com/1cb9366981cf4432898a179f1e380004.png)
     40 + 
     41 +### 测速
     42 + 
     43 +点击测速,将会通过当前服务访问测速网站进行上行与下行的速率测试。
     44 + 
     45 +![speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c585b8ed8d4cc0994cad33ad554852.png)
     46 + 
     47 +### 停止服务
     48 + 
     49 +点击停止服务,代理服务将会停止,但数据不会删除。
     50 + 
     51 +![stop](https://seamoon.oss-cn-hangzhou.aliyuncs.com/53605b61a97e48218caca2f0eb8b175f.png)
     52 + 
     53 +### 删除服务
     54 + 
     55 +点击删除服务,将会删除对应的代理服务数据。
     56 + 
     57 +![delete](https://seamoon.oss-cn-hangzhou.aliyuncs.com/b4b1fb410f1a4d9798956e0ad80cebc9.png)
     58 + 
     59 + 
     60 + 
     61 + 
  • ■ ■ ■ ■ ■ ■
    docs/guide/01.开始使用/README.md
     1 +---
     2 +title: 开始使用
     3 +date: 2024-04-02 18:47:03
     4 +permalink: /guide/
     5 +article: false
     6 +---
     7 + 
  • ■ ■ ■ ■ ■ ■
    docs/guide/02.服务部署/01.aliyun.md
    1  ----
    2  -title: 阿里云
    3  -date: 2022-09-28 00:27:13
    4  -permalink: /guide/deploy/aliyun
    5  -article: false
    6  ----
    7  - 
    8  -## 三步部署到阿里云
    9  - 
    10  -阿里云是使用上最为规范、标准化场景下的serverless部署方式。
    11  - 
    12  -如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。
    13  - 
    14  -## 如何部署
    15  - 
    16  -如果你了解云函数,可以使用自定义镜像 / 自定义运行时 / 二进制等等方式部署。
    17  - 
    18  -下文是基于对完全不了解云函数的同学给出的最简单的部署方式。
    19  - 
    20  -### Step.1
    21  - 
    22  -+ 阿里云首先要开通函数计算服务。
    23  -+ fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下
    24  -+ 进入阿里云控制台,点击应用 -> 创建应用
    25  - 
    26  -![aliyun-create-app](https://seamoon.oss-cn-hangzhou.aliyuncs.com/66d81e68e1fa4ef9b8aa3775b4957552.png)
    27  - 
    28  -### Step.2
    29  - 
    30  -选择 `通过仓库导入应用` , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。
    31  - 
    32  -![aliyun-app-import](https://seamoon.oss-cn-hangzhou.aliyuncs.com/d00b5116362d47cdb429f91e48ab2d3a.png)
    33  - 
    34  -### Step.3
    35  - 
    36  -点击创建,等待服务部署成功,即可获取到代理地址
    37  - 
    38  -![aliyun-deploy](https://seamoon.oss-cn-hangzhou.aliyuncs.com/a43730eaa80a4885a5eaee853ff3a781.png)
    39  - 
    40  - 
    41  -> 其他注意事项:
    42  -> 如果您想要修改代理生效的区域,请修改s.yaml内的 vars -> region字段
    43  ->
    44  -> 目前阿里云支持的字段有: 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
    45  - 
    46  -[开启客户端并填入配置](https://seamoon.dvkunion.cn/guide/client/), 尽情享用。
    47  - 
    48  -::: tip 如何填写地址
    49  -将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。
    50  - 
    51  -grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089
    52  - 
    53  -8089 是阿里云的固定 grpc 协议端口,不需要改动。
    54  -:::
    55  - 
    56  -## 效果展示
    57  -![speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png)
  • ■ ■ ■ ■ ■ ■
    docs/guide/02.服务部署/03.sealos.md
    1  ----
    2  -title: Sealos
    3  -date: 2023-07-21 18:29
    4  -permalink: /guide/deploy/sealos
    5  -article: false
    6  ----
    7  - 
    8  -## 部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台
    9  - 
    10  -[Sealos公有云地址](https://cloud.sealos.io/)
    11  - 
    12  -先说下我喜欢Sealos的原因:
    13  - 
    14  -<font color="pink"><b>简单的页面,适合新手小白,无需了解过多的云服务相关知识</b></font>
    15  - 
    16  -<font style="fontSize:small">操作起来和操作一个os一样,点击、配置、部署,一气呵成。
    17  -对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。 </font>
    18  - 
    19  -![sealos-dashboard](https://seamoon.oss-cn-hangzhou.aliyuncs.com/b792343632554e7fab560b74d3fb57b7.png)
    20  - 
    21  -<font color="pink"><b>简单易懂的计费方式:花费更低,效果不变</b></font>
    22  - 
    23  -<font style="fontSize:small">对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费),
    24  -sealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。</font>
    25  - 
    26  -![sealos-app](https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c6d9dae9534812b909e1a5f9cf3df8.png)
    27  - 
    28  -<font color="pink"><b>配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控</b></font>
    29  - 
    30  -<font style="fontSize:small">sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP
    31  -当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。</font>
    32  - 
    33  -![sealos-container](https://seamoon.oss-cn-hangzhou.aliyuncs.com/500897ae5b5f48d9b20f18d3f3eaa7ea.png)
    34  - 
    35  -## 如何部署
    36  - 
    37  -sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:
    38  - 
    39  -### Step.1 注册账户
    40  - 
    41  -注册并登陆[cloud.sealos.io](https://cloud.sealos.io/), 点击`App Launchpad`
    42  - 
    43  -![sealos-applanch](https://seamoon.oss-cn-hangzhou.aliyuncs.com/4bfbdf9f9ad5440b91ec85831c062b07.png)
    44  - 
    45  - 
    46  -### Step.2 部署
    47  - 
    48  -::: warning 注意
    49  -sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。
    50  - 
    51  -同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。
    52  -:::
    53  - 
    54  -点击右上角`create application`, 如下填写参数:
    55  - 
    56  -![sealos-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/f331255e64724bba8d84add292cae6e0.png)
    57  - 
    58  -::: tip 提示
    59  -此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图:
    60  -![sealos-config-grpc](https://seamoon.oss-cn-hangzhou.aliyuncs.com/68f55dbfb40d4310b9aae6674d335817.png)
    61  -:::
    62  - 
    63  -往下拉,还有高级配置里面的启动命令:
    64  - 
    65  -![sealos-config-2](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7c92e240241845869b6b796d42ff1e31.png)
    66  - 
    67  -::: tip 提示
    68  -此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:
    69  -`/app/seamoon server -p 8089 -t grpc` , 如下图:
    70  -![sealos-config-grpc-2](https://seamoon.oss-cn-hangzhou.aliyuncs.com/608d9fcde8684d5cb19940bb33e90a4a.png)
    71  - 
    72  -:::
    73  - 
    74  - 
    75  - 
    76  -你也可以直接选择yaml文件,参考如下:
    77  - 
    78  -> 注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。
    79  -> 可以用于参考和对比。没出现的参数代表意义不大,不用管。
    80  - 
    81  -<code-group>
    82  -<code-block title="service.yaml" active>
    83  - 
    84  -```yaml
    85  -apiVersion: v1
    86  -kind: Service
    87  -metadata:
    88  - name: seamoon-ws
    89  - labels:
    90  - cloud.sealos.io/app-deploy-manager: seamoon-ws
    91  -spec:
    92  - ports:
    93  - - port: 9000
    94  - targetPort: 9000
    95  - selector:
    96  - app: seamoon-ws
    97  -```
    98  - 
    99  -</code-block>
    100  - 
    101  -<code-block title="deployment.yaml">
    102  - 
    103  -```yaml
    104  -apiVersion: apps/v1
    105  -kind: Deployment
    106  -metadata:
    107  - name: seamoon-server
    108  - annotations:
    109  - originImageName: dvkunion/seamoon-server:latest
    110  - deploy.cloud.sealos.io/minReplicas: '1'
    111  - deploy.cloud.sealos.io/maxReplicas: '1'
    112  - deploy.cloud.sealos.io/resize: 0Gi
    113  - labels:
    114  - cloud.sealos.io/app-deploy-manager: seamoon-server
    115  - app: seamoon-server
    116  -spec:
    117  - replicas: 1
    118  - revisionHistoryLimit: 1
    119  - selector:
    120  - matchLabels:
    121  - app: seamoon-server
    122  - strategy:
    123  - type: RollingUpdate
    124  - rollingUpdate:
    125  - maxUnavailable: 0
    126  - maxSurge: 1
    127  - template:
    128  - metadata:
    129  - labels:
    130  - app: seamoon-server
    131  - spec:
    132  - containers:
    133  - - name: seamoon-server
    134  - image: dvkunion/seamoon-server:latest
    135  - env:
    136  - - name: serverMod
    137  - value: socks5
    138  - resources:
    139  - requests:
    140  - cpu: 10m
    141  - memory: 6Mi
    142  - limits:
    143  - cpu: 100m
    144  - memory: 64Mi
    145  - ports:
    146  - - containerPort: 9000
    147  - name: ''
    148  - imagePullPolicy: Always
    149  - volumeMounts: []
    150  - volumes: []
    151  -```
    152  - 
    153  -</code-block>
    154  - 
    155  -<code-block title="ingress.yaml">
    156  - 
    157  -```yaml
    158  -apiVersion: networking.k8s.io/v1
    159  -kind: Ingress
    160  -metadata:
    161  - name: network-xxxxxxxx
    162  - labels:
    163  - cloud.sealos.io/app-deploy-manager: seamoon-ws
    164  - annotations:
    165  - kubernetes.io/ingress.class: nginx
    166  - nginx.ingress.kubernetes.io/proxy-body-size: 32m
    167  - nginx.ingress.kubernetes.io/proxy-read-timeout: '3600'
    168  - nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'
    169  - nginx.ingress.kubernetes.io/backend-protocol: WS
    170  -spec:
    171  - rules:
    172  - - host: "*****" # 系统自动生成
    173  - http:
    174  - paths:
    175  - - pathType: Prefix
    176  - path: /
    177  - backend:
    178  - service:
    179  - name: seamoon-ws
    180  - port:
    181  - number: 9000
    182  - tls:
    183  - - hosts:
    184  - - "*****" # 系统自动生成
    185  - secretName: wildcard-cloud-sealos-io-cert
    186  -```
    187  - 
    188  -</code-block>
    189  -</code-group>
    190  - 
    191  - 
    192  -### Step.3 本地客户端
    193  - 
    194  -填写完成后,点击右上角 `Deploy`, 等待部署完成,状态success后,获取到服务地址。
    195  - 
    196  -然后在本地启动客户端,推荐 docker 一键拉起:
    197  - 
    198  -```shell
    199  -$ docker run -it -d --net=host dvkunion/seamoon proxy
    200  -```
    201  - 
    202  -默认使用`--net=host`模式, 如需要高级设置,如下:
    203  - 
    204  -```shell
    205  -$ docker run -it -d -p 7777:7777 -p 1080:1080 dvkunion/seamoon proxy
    206  -```
    207  - 
    208  -访问本地控制台 localhost:7777 , 将此地址填入客户端即可。
    209  - 
    210  -::: tip 如何填写地址
    211  -填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:
    212  - 
    213  -![sealos-config-grpc-addr](https://seamoon.oss-cn-hangzhou.aliyuncs.com/3ff1604871c547d2af492c5fd37428f7.png)
    214  - 
    215  -wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。
    216  -:::
    217  - 
    218  -![sealos-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/a931e0b42c8748649d5156b2b0884fcb.png)
    219  - 
    220  -## 效果展示
    221  - 
    222  -[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑
    223  - 
    224  -![sealos](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff9eb3ec14fa417daca7a661f9b4ecff.png)
    225  - 
    226  -整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)
    227  - 
    228  -![speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png)
    229  - 
    230  -如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)
    231  - 
  • ■ ■ ■ ■ ■ ■
    docs/guide/02.服务部署/04.render.md
    1  ----
    2  -title: Render
    3  -date: 2023-07-21 18:29
    4  -permalink: /guide/deploy/render
    5  -article: false
    6  ----
    7  - 
    8  -## 部署到Render: ~~免费的永远是最好的~~ 去**的免费的,号没了
    9  - 
    10  -::: danger
    11  -2024.02.02 更新
    12  -render 不但 ban 了 `seamoon` 镜像,还把号封了,*** 玩不起就别玩。
    13  -虽然还有各种各样的绕过方式,其账户注册起来也不困难,但是可以看出该运营商的顺准了,云计算这么多家,你不声明禁止直接ban号ban镜像有点东西的
    14  -也可能是我没仔细看声明,如果有找到的师傅麻烦让我看一下在哪。先喷为敬了。
    15  -![render-ban](https://seamoon.oss-cn-hangzhou.aliyuncs.com/4170f495a85d4cc6a6ff64ddedee9c3e.png)
    16  - 
    17  -:::
    18  - 
    19  -[Render公有云地址](https://www.render.com/)
    20  - 
    21  -> Render是一个新的PaaS( Platform as a service)云端服务,也就是说你的代码部署到Render之后,你不用(也不能)去管Linux/firewall/nginx的设定。把你的Github网址给Render,设定一下用鼠标点点点,等个几分钟,你的程序就上线了,全世界都能看到你的网站或是存取你提供的API。[(选自知乎)](https://zhuanlan.zhihu.com/p/377558120)
    22  - 
    23  -我们来看一下官方是如何介绍自己的:
    24  - 
    25  -> Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.
    26  ->
    27  - 
    28  -其实这些都不重要,重要的是你只需要知道,<font color="pink"><b>~~render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!</b></font>这就够了,足够我们给他树一个👍。~~ 第二天就封号了的臭SB。
    29  - 
    30  - 
    31  -## 如何部署
    32  - 
    33  -render 部署与 sealos 部署一样简单,在新版本中,我会逐步减少部署步骤,降低这部分交互。
    34  - 
    35  -### Step.1 注册账户
    36  - 
    37  -render 账户支持 github / gitlab / google 等一键登陆,建议直接 github 账户登陆即可。
    38  - 
    39  -实在不行,他也支持邮箱注册,自己注册一个,此处不再废话。
    40  - 
    41  -![render-register](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7d00a615cd45480bad1b7ade33b7e543.png)
    42  - 
    43  -### Step.2 部署
    44  - 
    45  -注册账户登陆后,进入控制台,选择创建一个 web service 应用:
    46  - 
    47  -![render-web-service](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ffcd48fa203b4959bdde631bdf77610e.png)
    48  - 
    49  -然后选第二个,从存在的镜像中部署服务:
    50  - 
    51  -![render-web-deploy](https://seamoon.oss-cn-hangzhou.aliyuncs.com/faa0f096dcfa40998b518b5e4de96534.png)
    52  - 
    53  -点击下一步,要求我们填写部署的镜像名称,我们填写:`dvkunion/seamoon`
    54  - 
    55  -![render-image](https://seamoon.oss-cn-hangzhou.aliyuncs.com/3bc5a0437ea94a348f9841864f5c2df3.png)
    56  - 
    57  -开始填写详细的应用字段了,我们依次填写:
    58  - 
    59  -+ Name: 应用名称,这个最终会对应生成你的服务域名,因此这里我建议越复杂越好,因为 seamoon 当前版本没有做认证,导致如果服务名称过于简单,很容易被其他人连上。
    60  -+ Region: 地域,选择服务部署的地区,现在支持四个区域:oregon-俄勒冈州(美国西部)、Frankfurt-法兰克福(欧盟)、ohio-俄亥俄州(美国东部)、singapore-新加坡(东亚)
    61  -+ 实例类型: 选免费的。
    62  - 
    63  -![render-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/160ff4f44e5a4e9d9128269dbc1a3e26.png)
    64  - 
    65  -往下滑,看到 Docker Command 填写如下:
    66  - 
    67  -![render-docker](https://seamoon.oss-cn-hangzhou.aliyuncs.com/51fa80f6e4c84ae985bdb23ac8acf673.png)
    68  - 
    69  -完成,点击创建即可。
    70  - 
    71  -![render-url](https://seamoon.oss-cn-hangzhou.aliyuncs.com/158478ce77a84130b43f786670a40c65.png)
    72  - 
    73  -### Step.3 本地客户端
    74  - 
    75  -在本地启动客户端,推荐 docker 一键拉起:
    76  - 
    77  -```shell
    78  -$ docker run -it -d --net=host dvkunion/seamoon proxy
    79  -```
    80  - 
    81  -默认使用`--net=host`模式, 如需要高级设置,如下:
    82  - 
    83  -```shell
    84  -$ docker run -it -d -p 7777:7777 -p 1080:1080 dvkunion/seamoon proxy
    85  -```
    86  - 
    87  -访问本地控制台 localhost:7777 , 将此地址填入客户端即可。
    88  - 
    89  -::: tip 如何填写地址
    90  -填写的代理在步骤2已经明确给出,给出的地址是 https:// 开头的,需要改为如: wss://。
    91  - 
    92  -grpc目前没有测试是否支持,测试支持后后续会更新文档并补充。
    93  -:::
    94  - 
    95  -## 测试效果
    96  - 
    97  -整体机房是 amazon 的,所属地基本正确。
    98  - 
    99  -![render-cip](https://seamoon.oss-cn-hangzhou.aliyuncs.com/db670fef7f4f47cd95108a656c28c9a5.png)
    100  - 
    101  -速度的话,也就是正常水平,基本满足日常浏览和视频播放的样子。
    102  - 
    103  -![render-speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/80aee46729ca4ecdbda4c244ac26835b.png)
    104  - 
    105  -免费的来说已经是很不错的了。
    106  - 
    107  -## 一些小细节问题
    108  - 
    109  -<font color="red"><b>访问不到render/dashboard/github......</b></font>
    110  - 
    111  -我的建议是,先用阿里云等国内方案临时解决访问一下,然后在方案 render 等作为长期持久使用的方案。
    112  - 
    113  -<font color="red"><b>支持 grpc 吗?</b></font>
    114  - 
    115  -没做测试,个人测试使用的是 websocket 隧道,然后也没有发现官方文档中提到 grpc 相关的,有兴趣的各位可以试一下然后反馈给我。
    116  - 
    117  -<font color="red"><b>关于动态IP 问题</b></font>
    118  - 
    119  -免费版本的 render 是不支持动态 scaling (动态伸缩扩容) 的,因此,这个方案部署的 seamoon 将会是一个固定 IP。
    120  -只有当 pod 销毁了,或者是你升级了套餐内容 (每月7刀) 才支持 scaling,才可以获取到动态 IP 的方案。
    121  - 
    122  -当然,事无绝对,你非要使用 "动态" + "免费" 的方式,也有,通过 api 调用每小时自动删除再创建应用,即可实现这个效果,还可以实现动态的地区变动。。。。
    123  - 
    124  -不过人家已经免费了,我不是非常建议这样做了。想要动态的 7刀一个月也不是一个过分的价格了,能支持的还是支持一下。
    125  - 
  • ■ ■ ■ ■ ■ ■
    docs/guide/02.服务部署/09.serverless.md
    1  ----
    2  -title: Serverless-Devs
    3  -date: 2022-09-29 23:43:29
    4  -permalink: /guide/deploy/serverlessDevs
    5  -article: false
    6  ----
    7  - 
    8  -## serverless-devs
    9  - 
    10  -你也可以通过[serverless-devs](http://www.serverless-devs.com),快速部署到各个云平台。
    11  - 
    12  -## 安装 serverless-devs 工具
    13  - 
    14  -```shell
    15  -$ npm install @serverless-devs/s -g
    16  -```
    17  - 
    18  -国内加速:
    19  - 
    20  -```shell
    21  -$ cnpm install @serverless-devs/s -g
    22  -```
    23  - 
    24  -如果不存在npm包管理器,请先通过node安装npm/cnpm
    25  - 
    26  -安装后运行
    27  - 
    28  -```shell
    29  -$ s -v
    30  -```
    31  - 
    32  -将可以看到serverless-devs版本,表示安装成功。
    33  - 
    34  -```shell
    35  -@serverless-devs/s3: 0.1.0, s-home: /Users/DVK/.s, darwin-arm64, node-v20.9.0
    36  -```
    37  - 
    38  -然后通过如下命令开始配置云厂商认证
    39  - 
    40  -```shell
    41  -$ s config add
    42  -```
    43  - 
    44  -按提示即可选择即可,本次我们以 `Alibaba Cloud` 为例,输入对应的账户`AccessKeyID`、`AccessKeySecret`
    45  - 
    46  -最后一步填写`alias`时,请确保值为`default`(一般初次安装与认证该字段都默认为default,回车即可)。
    47  - 
    48  -如果AK/SK无误,那么你将会看到认证成功的提示。
    49  - 
    50  -## 部署
    51  - 
    52  -```shell
    53  -$ git clone https://github.com/DVKunion/SeaMoon.git
    54  -```
    55  - 
    56  -进入到项目目录
    57  - 
    58  -```shell
    59  -$ cd SeaMoon
    60  -$ s deploy
    61  -```
    62  - 
    63  -如果你不是第一次部署,那么将会提示你选择冲突的配置:remote/local,一般选择local即可。
    64  - 
    65  -稍等片刻,你将会得到部署好的两个地址:
    66  - 
    67  -```shell
    68  -SeaMoon-WST-Node:
    69  - region: cn-hongkong
    70  - service:
    71  - name: SeaMoon-Service
    72  - function:
    73  - name: ws-node
    74  - runtime: custom
    75  - handler: main
    76  - memorySize: 128
    77  - timeout: 300
    78  - cpu: 0.05
    79  - diskSize: 512
    80  - url:
    81  - system_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run
    82  - system_intranet_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run
    83  - triggers:
    84  - - type: http
    85  - name: httpTrigger
    86  -SeaMoon-GRT-Node:
    87  - region: cn-hongkong
    88  - service:
    89  - name: SeaMoon-Service
    90  - function:
    91  - name: grpc-node
    92  - runtime: custom
    93  - handler: main
    94  - memorySize: 128
    95  - timeout: 300
    96  - cpu: 0.05
    97  - diskSize: 512
    98  - url:
    99  - system_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run
    100  - system_intranet_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run
    101  - triggers:
    102  - - type: http
    103  - name: httpTrigger
    104  -```
    105  - 
    106  -服务端部署完成。
    107  - 
    108  -## 高级选项
    109  - 
    110  -## 地域
    111  - 
    112  -如果你想要修改部署的地域,请修改 `s.yaml` 中的 `region` 字段。
    113  - 
    114  -目前支持的 `region` :
    115  - 
    116  -```
    117  -cn-hangzhou,
    118  -cn-beijing,
    119  -cn-shanghai,
    120  -cn-qingdao,
    121  -cn-zhangjiakou,
    122  -cn-huhehaote,
    123  -cn-shenzhen,
    124  -cn-chengdu,
    125  -cn-hongkong,
    126  -ap-southeast-1,
    127  -ap-southeast-2,
    128  -ap-southeast-3,
    129  -ap-southeast-5,
    130  -ap-northeast-1,
    131  -eu-central-1,
    132  -eu-west-1,
    133  -us-west-1,
    134  -us-east-1,
    135  -ap-south-1
    136  -```
    137  - 
    138  -## 花费 vs 更多的IP
    139  - 
    140  -阿里云的 FC 计费模式与实例数、vCPU消耗息息相关。
    141  - 
    142  -由于我们的流量中转单例,cpu 消耗并不会打满,而仍然会依照 0.33 计费。
    143  - 
    144  -因此,控制多个请求到一个实例,即可控制消费;对应的能够获取到的IP也会随之减少。
    145  - 
    146  -10线程、每个线程 100 个用例打满ip查询测试的结果为:
    147  - 
    148  -+ 实例数目不设限、最高超时时间为600s、每个实例只处理一个请求: 70 IP
    149  -+ 实例数目不设限、最高超时时间为300s、每个实例处理10请求: 45IP (目前默认配置)
    150  - 
    151  -如果你需要自行调整,可修改s.yaml中的:
    152  - 
    153  -```yaml
    154  -services:
    155  - SeaMoon-WST-Node:
    156  - component: fc
    157  - props:
    158  - ......
    159  -instanceConcurrency: 10 #一个实例最多请求处理数
    160  - ......
    161  -timeout: 300 #超时时间,数值越大,可维持的不中断连接时间就会越长
    162  -```
    163  - 
    164  -随着修改,改方案可能导致的花费也会随之不同。
    165  - 
    166  -## 可能遇到的坑
    167  - 
    168  -+ 需要能够访问的到 github, 在 pre-load 脚本中会从 github 上拉取最新版本的 release 用于部署。
    169  -+ 需要系统有 wget 命令。(windows 用户可以暂时放弃这个方式,不打算支持 windows 通过此类方式部署)
  • ■ ■ ■ ■ ■ ■
    docs/guide/02.高级进阶/00.paas.md
     1 +---
     2 +title: PaaS 平台部署
     3 +date: 2024-04-02 18:40:46
     4 +permalink: /guide/paas
     5 +article: false
     6 +---
     7 + 
     8 +# PaaS 平台部署
     9 + 
     10 +SeaMoon 的服务端其实支持部署到多种 PaaS 类型的平台
     11 + 
     12 +## 部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台
     13 + 
     14 +[Sealos公有云地址](https://cloud.sealos.io/)
     15 + 
     16 + 
     17 +先说下我喜欢Sealos的原因:
     18 + 
     19 +<font color="pink"><b>简单的页面,适合新手小白,无需了解过多的云服务相关知识</b></font>
     20 + 
     21 +<font style="fontSize:small">操作起来和操作一个os一样,点击、配置、部署,一气呵成。 对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。 </font>
     22 + 
     23 +![sealos-dashboard](https://seamoon.oss-cn-hangzhou.aliyuncs.com/b792343632554e7fab560b74d3fb57b7.png)
     24 + 
     25 +<font color="pink"><b>简单易懂的计费方式:花费更低,效果不变</b></font>
     26 + 
     27 +<font style="fontSize:small">对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费),sealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。</font>
     28 + 
     29 +![sealos-app](https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c6d9dae9534812b909e1a5f9cf3df8.png)
     30 + 
     31 +<font color="pink"><b>配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控</b></font>
     32 + 
     33 + 
     34 +<font style="fontSize:small">sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP 当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。</font>
     35 + 
     36 +![sealos-container](https://seamoon.oss-cn-hangzhou.aliyuncs.com/500897ae5b5f48d9b20f18d3f3eaa7ea.png)
     37 + 
     38 +### 如何部署
     39 + 
     40 +sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:
     41 + 
     42 +#### Step.1 注册账户
     43 + 
     44 +注册并登陆[cloud.sealos.io](https://cloud.sealos.io/), 点击`App Launchpad`
     45 + 
     46 +![sealos-applanch](https://seamoon.oss-cn-hangzhou.aliyuncs.com/4bfbdf9f9ad5440b91ec85831c062b07.png)
     47 + 
     48 + 
     49 +#### Step.2 部署
     50 + 
     51 +::: warning 注意
     52 +sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。
     53 + 
     54 +同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。
     55 +:::
     56 + 
     57 +点击右上角`create application`, 如下填写参数:
     58 + 
     59 +![sealos-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/f331255e64724bba8d84add292cae6e0.png)
     60 + 
     61 +::: tip 提示
     62 +此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图:
     63 +![sealos-config-grpc](https://seamoon.oss-cn-hangzhou.aliyuncs.com/68f55dbfb40d4310b9aae6674d335817.png)
     64 +:::
     65 + 
     66 +往下拉,还有高级配置里面的启动命令:
     67 + 
     68 +![sealos-config-2](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7c92e240241845869b6b796d42ff1e31.png)
     69 + 
     70 +::: tip 提示
     71 +此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:
     72 +`/app/seamoon server -p 8089 -t grpc` , 如下图:
     73 +![sealos-config-grpc-2](https://seamoon.oss-cn-hangzhou.aliyuncs.com/608d9fcde8684d5cb19940bb33e90a4a.png)
     74 +:::
     75 + 
     76 +你也可以直接选择yaml文件,参考如下:
     77 + 
     78 +> 注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。
     79 +> 可以用于参考和对比。没出现的参数代表意义不大,不用管。
     80 + 
     81 +<code-group>
     82 +<code-block title="service.yaml" active>
     83 + 
     84 +```yaml
     85 +apiVersion: v1
     86 +kind: Service
     87 +metadata:
     88 + name: seamoon-ws
     89 + labels:
     90 + cloud.sealos.io/app-deploy-manager: seamoon-ws
     91 +spec:
     92 + ports:
     93 + - port: 9000
     94 + targetPort: 9000
     95 + selector:
     96 + app: seamoon-ws
     97 +```
     98 + 
     99 +</code-block>
     100 + 
     101 +<code-block title="deployment.yaml">
     102 + 
     103 +```yaml
     104 +apiVersion: apps/v1
     105 +kind: Deployment
     106 +metadata:
     107 + name: seamoon-server
     108 + annotations:
     109 + originImageName: dvkunion/seamoon-server:latest
     110 + deploy.cloud.sealos.io/minReplicas: '1'
     111 + deploy.cloud.sealos.io/maxReplicas: '1'
     112 + deploy.cloud.sealos.io/resize: 0Gi
     113 + labels:
     114 + cloud.sealos.io/app-deploy-manager: seamoon-server
     115 + app: seamoon-server
     116 +spec:
     117 + replicas: 1
     118 + revisionHistoryLimit: 1
     119 + selector:
     120 + matchLabels:
     121 + app: seamoon-server
     122 + strategy:
     123 + type: RollingUpdate
     124 + rollingUpdate:
     125 + maxUnavailable: 0
     126 + maxSurge: 1
     127 + template:
     128 + metadata:
     129 + labels:
     130 + app: seamoon-server
     131 + spec:
     132 + containers:
     133 + - name: seamoon-server
     134 + image: dvkunion/seamoon-server:latest
     135 + env:
     136 + - name: serverMod
     137 + value: socks5
     138 + resources:
     139 + requests:
     140 + cpu: 10m
     141 + memory: 6Mi
     142 + limits:
     143 + cpu: 100m
     144 + memory: 64Mi
     145 + ports:
     146 + - containerPort: 9000
     147 + name: ''
     148 + imagePullPolicy: Always
     149 + volumeMounts: []
     150 + volumes: []
     151 +```
     152 + 
     153 +</code-block>
     154 + 
     155 +<code-block title="ingress.yaml">
     156 + 
     157 +```yaml
     158 +apiVersion: networking.k8s.io/v1
     159 +kind: Ingress
     160 +metadata:
     161 + name: network-xxxxxxxx
     162 + labels:
     163 + cloud.sealos.io/app-deploy-manager: seamoon-ws
     164 + annotations:
     165 + kubernetes.io/ingress.class: nginx
     166 + nginx.ingress.kubernetes.io/proxy-body-size: 32m
     167 + nginx.ingress.kubernetes.io/proxy-read-timeout: '3600'
     168 + nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'
     169 + nginx.ingress.kubernetes.io/backend-protocol: WS
     170 +spec:
     171 + rules:
     172 + - host: "*****" # 系统自动生成
     173 + http:
     174 + paths:
     175 + - pathType: Prefix
     176 + path: /
     177 + backend:
     178 + service:
     179 + name: seamoon-ws
     180 + port:
     181 + number: 9000
     182 + tls:
     183 + - hosts:
     184 + - "*****" # 系统自动生成
     185 + secretName: wildcard-cloud-sealos-io-cert
     186 +```
     187 + 
     188 +</code-block>
     189 +</code-group>
     190 + 
     191 + 
     192 +#### Step.3 本地客户端
     193 + 
     194 +填写完成后,点击右上角 `Deploy`, 等待部署完成,状态success后,获取到服务地址。
     195 + 
     196 +然后在本地启动客户端,推荐 docker 一键拉起:
     197 + 
     198 +```shell
     199 +$ docker run -it -d --net=host dvkunion/seamoon proxy
     200 +```
     201 + 
     202 +默认使用`--net=host`模式, 如需要高级设置,如下:
     203 + 
     204 +```shell
     205 +$ docker run -it -d -p 7777:7777 -p 1080:1080 dvkunion/seamoon proxy
     206 +```
     207 + 
     208 +访问本地控制台 localhost:7777 , 将此地址填入客户端即可。
     209 + 
     210 +::: tip 如何填写地址
     211 +填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:
     212 + 
     213 +![sealos-config-grpc-addr](https://seamoon.oss-cn-hangzhou.aliyuncs.com/3ff1604871c547d2af492c5fd37428f7.png)
     214 + 
     215 +wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。
     216 +:::
     217 + 
     218 +![sealos-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/a931e0b42c8748649d5156b2b0884fcb.png)
     219 + 
     220 +### 效果展示
     221 + 
     222 +[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑
     223 + 
     224 +![sealos](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff9eb3ec14fa417daca7a661f9b4ecff.png)
     225 + 
     226 +整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)
     227 + 
     228 +![speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png)
     229 + 
     230 +如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)
     231 + 
     232 + 
     233 +## 部署到Render: ~~免费的永远是最好的~~去**的免费的,号没了
     234 + 
     235 +::: danger
     236 +2024.04.02 更新
     237 +由于封号的问题,在 2.0 的初代版本没有集成自动化部署 render 服务。
     238 +但是你仍可以通过手动部署的方式来
     239 + 
     240 + 
     241 +2024.02.02 更新
     242 +render 不但 ban 了 `seamoon` 镜像,还把号封了,*** 玩不起就别玩。
     243 +虽然还有各种各样的绕过方式,其账户注册起来也不困难,但是可以看出该运营商的顺准了,云计算这么多家,你不声明禁止直接ban号ban镜像有点东西的
     244 +也可能是我没仔细看声明,如果有找到的师傅麻烦让我看一下在哪。先喷为敬了。
     245 +![render-ban](https://seamoon.oss-cn-hangzhou.aliyuncs.com/4170f495a85d4cc6a6ff64ddedee9c3e.png)
     246 +:::
     247 + 
     248 + 
     249 +[Render公有云地址](https://www.render.com/)
     250 + 
     251 +> Render是一个新的PaaS( Platform as a service)云端服务,也就是说你的代码部署到Render之后,你不用(也不能)去管Linux/firewall/nginx的设定。把你的Github网址给Render,设定一下用鼠标点点点,等个几分钟,你的程序就上线了,全世界都能看到你的网站或是存取你提供的API。[(选自知乎)](https://zhuanlan.zhihu.com/p/377558120)
     252 + 
     253 +我们来看一下官方是如何介绍自己的:
     254 + 
     255 +> Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.
     256 +>
     257 + 
     258 +其实这些都不重要,重要的是你只需要知道,~~<font color="pink"><b>render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!</b></font>这就够了,足够我们给他树一个👍。~~ 第二天就封号了的臭SB。
     259 + 
     260 + 
     261 +### 如何部署
     262 + 
     263 +render 部署与 sealos 部署一样简单,在新版本中,我会逐步减少部署步骤,降低这部分交互。
     264 + 
     265 +#### Step.1 注册账户
     266 + 
     267 +render 账户支持 github / gitlab / google 等一键登陆,建议直接 github 账户登陆即可。
     268 + 
     269 +实在不行,他也支持邮箱注册,自己注册一个,此处不再废话。
     270 + 
     271 +![render-register](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7d00a615cd45480bad1b7ade33b7e543.png)
     272 + 
     273 +#### Step.2 部署
     274 + 
     275 +注册账户登陆后,进入控制台,选择创建一个 web service 应用:
     276 + 
     277 +![render-web-service](https://seamoon.oss-cn-hangzhou.aliyuncs.com/ffcd48fa203b4959bdde631bdf77610e.png)
     278 + 
     279 +然后选第二个,从存在的镜像中部署服务:
     280 + 
     281 +![render-web-deploy](https://seamoon.oss-cn-hangzhou.aliyuncs.com/faa0f096dcfa40998b518b5e4de96534.png)
     282 + 
     283 +点击下一步,要求我们填写部署的镜像名称,我们填写:`dvkunion/seamoon`
     284 + 
     285 +![render-image](https://seamoon.oss-cn-hangzhou.aliyuncs.com/3bc5a0437ea94a348f9841864f5c2df3.png)
     286 + 
     287 +开始填写详细的应用字段了,我们依次填写:
     288 + 
     289 ++ Name: 应用名称,这个最终会对应生成你的服务域名,因此这里我建议越复杂越好,因为 seamoon 当前版本没有做认证,导致如果服务名称过于简单,很容易被其他人连上。
     290 ++ Region: 地域,选择服务部署的地区,现在支持四个区域:oregon-俄勒冈州(美国西部)、Frankfurt-法兰克福(欧盟)、ohio-俄亥俄州(美国东部)、singapore-新加坡(东亚)
     291 ++ 实例类型: 选免费的。
     292 + 
     293 +![render-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/160ff4f44e5a4e9d9128269dbc1a3e26.png)
     294 + 
     295 +往下滑,看到 Docker Command 填写如下:
     296 + 
     297 +![render-docker](https://seamoon.oss-cn-hangzhou.aliyuncs.com/51fa80f6e4c84ae985bdb23ac8acf673.png)
     298 + 
     299 +完成,点击创建即可。
     300 + 
     301 +![render-url](https://seamoon.oss-cn-hangzhou.aliyuncs.com/158478ce77a84130b43f786670a40c65.png)
     302 + 
     303 +#### Step.3 本地客户端
     304 + 
     305 +在本地启动客户端,推荐 docker 一键拉起:
     306 + 
     307 +```shell
     308 +$ docker run -it -d --net=host dvkunion/seamoon proxy
     309 +```
     310 + 
     311 +默认使用`--net=host`模式, 如需要高级设置,如下:
     312 + 
     313 +```shell
     314 +$ docker run -it -d -p 7777:7777 -p 1080:1080 dvkunion/seamoon proxy
     315 +```
     316 + 
     317 +访问本地控制台 localhost:7777 , 将此地址填入客户端即可。
     318 + 
     319 +::: tip 如何填写地址
     320 +填写的代理在步骤2已经明确给出,给出的地址是 https:// 开头的,需要改为如: wss://。
     321 + 
     322 +grpc目前没有测试是否支持,测试支持后后续会更新文档并补充。
     323 +:::
     324 + 
     325 +### 测试效果
     326 + 
     327 +整体机房是 amazon 的,所属地基本正确。
     328 + 
     329 +![render-cip](https://seamoon.oss-cn-hangzhou.aliyuncs.com/db670fef7f4f47cd95108a656c28c9a5.png)
     330 + 
     331 +速度的话,也就是正常水平,基本满足日常浏览和视频播放的样子。
     332 + 
     333 +![render-speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/80aee46729ca4ecdbda4c244ac26835b.png)
     334 + 
     335 +免费的来说已经是很不错的了。
     336 + 
     337 +### 一些小细节问题
     338 + 
     339 +<font color="red"><b>访问不到render/dashboard/github......</b></font>
     340 + 
     341 +我的建议是,先用阿里云等国内方案临时解决访问一下,然后在方案 render 等作为长期持久使用的方案。
     342 + 
     343 +<font color="red"><b>支持 grpc 吗?</b></font>
     344 + 
     345 +没做测试,个人测试使用的是 websocket 隧道,然后也没有发现官方文档中提到 grpc 相关的,有兴趣的各位可以试一下然后反馈给我。
     346 + 
     347 +<font color="red"><b>关于动态IP 问题</b></font>
     348 + 
     349 +免费版本的 render 是不支持动态 scaling (动态伸缩扩容) 的,因此,这个方案部署的 seamoon 将会是一个固定 IP。
     350 +只有当 pod 销毁了,或者是你升级了套餐内容 (每月7刀) 才支持 scaling,才可以获取到动态 IP 的方案。
     351 + 
     352 +当然,事无绝对,你非要使用 "动态" + "免费" 的方式,也有,通过 api 调用每小时自动删除再创建应用,即可实现这个效果,还可以实现动态的地区变动。。。。
     353 + 
     354 +不过人家已经免费了,我不是非常建议这样做了。想要动态的 7刀一个月也不是一个过分的价格了,能支持的还是支持一下。
     355 + 
  • ■ ■ ■ ■ ■
    docs/guide/02.服务部署/02.tecent.md docs/guide/02.高级进阶/01.faas.md
    1 1  ---
    2  -title: 腾讯云
    3  -date: 2022-09-28 00:27:13
    4  -permalink: /guide/deploy/tencent
     2 +title: BaaS/FaaS 手动部署
     3 +date: 2024-04-08 08:25:37
     4 +permalink: /guide/faas
    5 5  article: false
    6 6  ---
    7 7   
     8 +## 步部署到阿里云
     9 + 
     10 +阿里云是使用上最为规范、标准化场景下的serverless部署方式。
     11 + 
     12 +如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。
     13 + 
     14 +### 如何部署
     15 + 
     16 +如果你了解云函数,可以使用自定义镜像 / 自定义运行时 / 二进制等等方式部署。
     17 + 
     18 +下文是基于对完全不了解云函数的同学给出的最简单的部署方式。
     19 + 
     20 +#### Step.1
     21 + 
     22 ++ 阿里云首先要开通函数计算服务。
     23 ++ fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下
     24 ++ 进入阿里云控制台,点击应用 -> 创建应用
     25 + 
     26 +![aliyun-create-app](https://seamoon.oss-cn-hangzhou.aliyuncs.com/66d81e68e1fa4ef9b8aa3775b4957552.png)
     27 + 
     28 +#### Step.2
     29 + 
     30 +选择 `通过仓库导入应用` , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。
     31 + 
     32 +![aliyun-app-import](https://seamoon.oss-cn-hangzhou.aliyuncs.com/d00b5116362d47cdb429f91e48ab2d3a.png)
     33 + 
     34 +#### Step.3
     35 + 
     36 +点击创建,等待服务部署成功
     37 + 
     38 +### 效果展示
     39 +![speed](https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png)
     40 + 
     41 + 
    8 42  ## 叹息的腾讯云
    9 43   
    10 44  ::: danger 注意
    skipped 11 lines
    22 56   
    23 57  因此使用腾讯云的用户请先考虑下钱包,虽然最低配置的流量包9.9一个月。
    24 58   
    25  -## 如何部署
     59 +### 如何部署
    26 60   
    27 61  步骤很多,一步一步操作吧。。。大概对比一下就知道为什么不推荐腾讯云部署了。
    28 62   
    29  -### Step.1
     63 +#### Step.1
    30 64   
    31 65  结论也提到了,腾讯云不支持go代码级别部署,所以我们为了方便,只能通过自定义镜像部署模式,函数类型选择web类型:
    32 66   
    skipped 43 lines
    76 110   
    77 111  至此,第一步已完成。
    78 112   
    79  -### Step.2
     113 +#### Step.2
    80 114   
    81 115  回到函数创建的页面,我们继续来创建函数。
    82 116   
    skipped 27 lines
    110 144   
    111 145  点击部署,终于,服务部署完成。
    112 146   
    113  -### Step.3
     147 +#### Step.3
    114 148   
    115 149  部署完成后,几秒后自动跳转到函数页面,点击触发管理,可以看到函数地址,将此地址直接复制到客户端配置即可。
    116 150   
    117  -## 效果展示
     151 +### 效果展示
    118 152   
    119 153  勉勉强强及格吧,大概10MB下行带宽的样子。
    120 154   
    121 155  而且初次启动的冷启动速度相比其他家腾讯云是有明显感受上的启动时间的;IP池也逐步下滑了(benchtest大概在17-30个左右)。
    122 156   
    123 157  而且从服务群来看,感觉腾讯云已经摆烂了,这玩意就这样了你爱用不用吧......哎。
    124  - 
    125 158   
    126 159   
  • ■ ■ ■ ■ ■ ■
    docs/guide/02.服务部署/README.md docs/guide/02.高级进阶/README.md
    1 1  ---
    2  -title:
     2 +title:
    3 3  date: 2023-07-18 00:27:13
    4  -permalink: /guide/deploy
     4 +permalink: /guide/advance
    5 5  article: false
    6 6  ---
    7 7   
    8  -## 服务端部署
     8 +# 高级进阶
    9 9   
    10 10  SeaMoon 提供了多种多样的部署方式。
    11 11   
    skipped 8 lines
  • ■ ■ ■ ■
    docs/guide/03.客户端部署/04.tor.md docs/guide/03.其他客户端支持/01.tor.md
    1 1  ---
    2  -title: Tor
     2 +title: tor
    3 3  date: 2022-09-29 23:45:03
    4 4  permalink: /guide/client/tor
    5 5  article: false
    skipped 33 lines
  • ■ ■ ■ ■
    docs/guide/03.客户端部署/03.gost.md docs/guide/03.其他客户端支持/02.gost.md
    1 1  ---
    2 2  title: gost
    3 3  date: 2023-01-26 13:58:21
    4  -permalink: /guide/client/gost
     4 +permalink: /guide/gost
    5 5  article: false
    6 6  ---
    7 7   
    skipped 78 lines
  • ■ ■ ■ ■ ■ ■
    docs/guide/03.其他客户端支持/03.v2ray.md
     1 +---
     2 +title: v2ray
     3 +date: 2024-04-02 17:46:56
     4 +permalink: /guide/v2ray
     5 +article: false
     6 +---
     7 + 
     8 +seamoon 完美兼容 v2ray 系列客户端。
  • ■ ■ ■ ■ ■ ■
    docs/guide/03.其他客户端支持/README.md
     1 +---
     2 +title: 其他客户端支持
     3 +date: 2023-07-18 23:45:03
     4 +permalink: /guide/support
     5 +article: false
     6 +---
     7 + 
     8 +## 其他客户端支持
     9 + 
     10 +SeaMoon 继承了云原生的开放思想,不局限于一种/一个平台,尽可能的适配各种客户端的模式,使用已有的成品客户端。
     11 + 
     12 +成品客户端通常会支持更多协议类型,比如 gost,基本上所有可以监听的类型都可以通过 seamoon 隧道协议转发出来。
     13 + 
     14 ++ [gost:优雅简便的go代理](https://seamoon.dvkunion.cn/guide/client/gost/)
     15 + 
     16 ++ [docker](https://seamoon.dvkunion.cn/guide/client/docker/)
     17 ++ [binary](https://seamoon.dvkunion.cn/guide/deploy/binary/)
     18 + 
     19 +Seamoon 客户端还支持了 Tor 网桥的接入
     20 + 
     21 ++ [tor](https://seamoon.dvkunion.cn/guide/client/tor/)
     22 ++ [v2ray: 时代战神](https://seamoon.dvkunion.cn/guide/client/v2ray/)
     23 ++ [clash: 快速的即成,抛开多个客户端](https://seamoon.dvkunion.cn/guide/client/clash/)
  • ■ ■ ■ ■ ■ ■
    docs/guide/03.客户端部署/01.docker.md
    1  ----
    2  -title: docker
    3  -date: 2022-09-29 23:45:03
    4  -permalink: /guide/client/docker
    5  -article: false
    6  ----
    7  - 
    8  -## Docker
    9  - 
    10  -推荐使用 docker 一键部署client
    11  - 
    12  -```shell
    13  -$ docker run -it -d --net=host dvkunion/seamoon:latest proxy
    14  -```
    15  - 
    16  -默认使用`--net=host`模式,这样比较简单易懂。为了更高的安全性、可控性,你也可以自己选择映射:
    17  - 
    18  -```shell
    19  -$ docker run -it -d -p 127.0.0.1:7777:7777 -p 1080:1080 dvkunion/seamoon:latest proxy
    20  -```
    21  - 
    22  -这样可以将管理端口限制只能通过本地 `127.0.0.1` 访问,如果你需要限制为其他 IP,可以自行修改。
    23  - 
    24  -然后浏览器打开:
    25  - 
    26  -`localhost:7777`
    27  - 
    28  -即可开启客户端, 点击配置管理
    29  - 
    30  -![client](https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png)
    31  - 
    32  -添加云端配置
    33  - 
    34  -![client-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png)
    35  - 
    36  -::: tip 如何填写地址
    37  -将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。
    38  - 
    39  -grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089
    40  - 
    41  -8089 是阿里云的固定 grpc 协议端口,不需要改动。
    42  -:::
    43  -开启socks5代理,并保持默认`:1080`不改变。
  • ■ ■ ■ ■ ■ ■
    docs/guide/03.客户端部署/02.binary.md
    1  ----
    2  -title: binary
    3  -date: 2022-09-30 00:01:03
    4  -permalink: /guide/client/binary
    5  -article: false
    6  ----
    7  - 
    8  -## Binary
    9  - 
    10  -## 客户端下载
    11  - 
    12  -在 [Github Release](https://github.com/DVKunion/SeaMoon/releases) 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。
    13  - 
    14  -![release](https://seamoon.oss-cn-hangzhou.aliyuncs.com/955161ed6d3c48b181397bed1bcaca45.png)
    15  - 
    16  -## 客户端配置
    17  - 
    18  -> 1.1.0 之前的客户端是cli的模式,已经废弃,不再支持,请使用最新版本客户端。
    19  - 
    20  -`./seamoon proxy`
    21  - 
    22  -启动客户端,会占用7777端口。
    23  - 
    24  -然后所有操作在 localhost:7777 进行操作即可:
    25  - 
    26  -![client](https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png)
    27  - 
    28  -点击配置管理, 添加云端配置, 然后按照你的需求,选在开启本地的http代理/socks5代理
    29  - 
    30  -![client-config](https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png)
    31  - 
    32  -::: tip 如何填写地址
    33  -将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。
    34  - 
    35  -grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089
    36  - 
    37  -8089 是阿里云的固定 grpc 协议端口,不需要改动。
    38  -:::
  • ■ ■ ■ ■ ■ ■
    docs/guide/03.客户端部署/README.md
    1  ----
    2  -title: 客户端部署
    3  -date: 2023-07-18 23:45:03
    4  -permalink: /guide/client
    5  -article: false
    6  ----
    7  - 
    8  -## 客户端部署
    9  - 
    10  -SeaMoon 客户端同样支持多模式部署
    11  - 
    12  -+ [docker](https://seamoon.dvkunion.cn/guide/client/docker/)
    13  -+ [binary](https://seamoon.dvkunion.cn/guide/deploy/binary/)
    14  - 
    15  -Seamoon 客户端还支持了 Tor 网桥的接入
    16  - 
    17  -+ [tor](https://seamoon.dvkunion.cn/guide/client/tor/)
    18  - 
    19  -除此之外,你还可以选择其他客户端,seamoon做了部分的协议适配支持,这样可以选择仅部署服务端,然后使用已有的成品客户端。
    20  - 
    21  -成品客户端通常会支持更多协议类型,比如 gost,基本上所有可以监听的类型都可以通过 seamoon 隧道协议转发出来。
    22  - 
    23  -+ [gost:优雅简便的go代理](https://seamoon.dvkunion.cn/guide/client/gost/)
    24  - 
    25  -[//]: # (+ [v2ray: 时代战神]&#40;https://seamoon.dvkunion.cn/guide/client/v2ray/&#41;)
  • ■ ■ ■ ■ ■ ■
    docs/tech/00.写在前面/00.position.md
    skipped 6 lines
    7 7   
    8 8  # Position
    9 9   
     10 +## 一些想法上的改动
     11 +随着版本的迭代,月海已经与我最初的雏形完全偏离
     12 + 
     13 + 
    10 14  ## 前言: 为什么要写月海这个工具? (Why Sea Moon)
    11 15   
    12 16  + 随着云原生不断地推广,希望渗透测试也能够与时俱进,开启一个新的纪元。不论从测试的手段还是挖掘方向,都应该朝着时代发展的方向跟进。
    skipped 4 lines
  • ■ ■ ■ ■ ■ ■
    docs/tech/01.网络/01.HTTP.md
    skipped 5 lines
    6 6  ---
    7 7  # HTTP
    8 8   
    9  -[TODO] 重构HTTP逻辑,通过net进行转发而不是上层的http
    10  - 
    11 9  HTTP代理 涉及了三个问题。
    12 10   
    13 11  1. HOST 路由问题
    skipped 67 lines
  • ■ ■ ■ ■ ■ ■
    docs/yarn.lock
    skipped 8233 lines
    8234 8234   dependencies:
    8235 8235   smoothscroll-polyfill "^0.4.3"
    8236 8236   
    8237  -vuepress-theme-vdoing@^1.12.9:
     8237 +vuepress-theme-vdoing@^1.12.8:
    8238 8238   version "1.12.9"
    8239  - resolved "https://registry.yarnpkg.com/vuepress-theme-vdoing/-/vuepress-theme-vdoing-1.12.9.tgz#e1f4b6d170fd7082fc7a1e334149d0bd5bb4ff40"
     8239 + resolved "https://registry.npmmirror.com/vuepress-theme-vdoing/-/vuepress-theme-vdoing-1.12.9.tgz#e1f4b6d170fd7082fc7a1e334149d0bd5bb4ff40"
    8240 8240   integrity sha512-TpZ6wRaqRVyNfHNlNMIpWsQqcX2QUZWpMVSNYeepR3LRpq6qbz0dUN9fHlOoCyYFHGsWBSgYyxCSvFwoPk01/Q==
    8241 8241   dependencies:
    8242 8242   "@better-scroll/core" "^2.0.0-beta.6"
    skipped 326 lines
  • ■ ■ ■ ■ ■
    pkg/sdk/aliyun/aliyun_sdk.go
    skipped 121 lines
    122 122   WithTimeout(300).
    123 123   WithCustomContainerConfig(fc.NewCustomContainerConfig().
    124 124   WithImage(fmt.Sprintf("%s:%s", registryEndPoint[tun.Config.Region], xlog.Version)).
    125  - WithCommand("[\"./seamoon\"]").
    126  - WithArgs("[\"server\"]"))); err != nil {
     125 + WithArgs(func() string {
     126 + switch *tun.Type {
     127 + case enum.TunnelTypeWST:
     128 + return "[\"server\", \"-p\", \"9000\", \"-t\", \"websocket\"]"
     129 + case enum.TunnelTypeGRT:
     130 + return "[\"server\", \"-p\", \"8089\", \"-t\", \"grpc\"]"
     131 + }
     132 + return ""
     133 + }()))); err != nil {
    127 134   return "", "", err
    128 135   } else {
    129 136   uid = *res.FunctionID
    skipped 120 lines
  • ■ ■ ■ ■ ■
    pkg/sdk/sealos/sealos_sdk.go
    skipped 295 lines
    296 296   }(),
    297 297   },
    298 298   },
    299  - Command: []string{"/app/seamoon"},
    300 299   Args: func() []string {
    301 300   switch *tp {
    302 301   case enum.TunnelTypeWST:
    skipped 135 lines
  • ■ ■ ■ ■ ■
    pkg/sdk/tencent/tencent_sdk.go
    skipped 212 lines
    213 213   ImageConfig: &scf.ImageConfig{
    214 214   ImageType: common.StringPtr("personal"),
    215 215   ImageUri: common.StringPtr(strings.Join([]string{registryEndPoint[tun.Config.Region], xlog.Version}, ":")),
    216  - Command: common.StringPtr("/app/seamoon"),
    217 216   Args: common.StringPtr("server -p " + strconv.Itoa(int(*tun.Port)) + " -t " + string(*tun.Type)),
    218 217   ImagePort: common.Int64Ptr(int64(*tun.Port)),
    219 218   },
    skipped 238 lines
  • ■ ■ ■ ■
    web/config/proxy.ts
    skipped 10 lines
    11 11   // localhost:8000/api/** -> https://preview.pro.ant.design/api/**
    12 12   '/api/': {
    13 13   // 要代理的地址
    14  - target: 'http://localhost:7777/',
     14 + target: 'http://localhost:7778/',
    15 15   // 配置了这个可以从 http 代理到 https
    16 16   // 依赖 origin 的功能可能需要这个,比如 cookie
    17 17   changeOrigin: true,
    skipped 18 lines
  • ■ ■ ■ ■ ■
    web/src/pages/service/components/CreateForm.tsx
    skipped 11 lines
    12 12  import {TunnelSelect} from "@/components/StepForm/TunnelSelect";
    13 13   
    14 14  export type FormValueType = {
     15 + region: string,
    15 16   cpu: number,
    16 17   port: string,
    17 18   memory: number,
    skipped 144 lines
  • ■ ■ ■ ■ ■
    web/src/services/service/api.ts
    skipped 30 lines
    31 31   params["tunnel_id"] = 0
    32 32   params["tunnel_create_api"] = {
    33 33   "provider_id": data.provider_id,
    34  - "port": data.port.toString(),
     34 + "port": data.port,
    35 35   "name": data.tunnel_name,
    36 36   "type": data.tunnel_type,
    37 37   "status": 1,
    38 38   "tunnel_config": {
     39 + "region": data.region,
    39 40   "cpu": toNumber(data.cpu),
    40 41   "memory": toNumber(data.memory),
    41 42   "instance": toNumber(data.instance),
    skipped 72 lines
Please wait...
Page is in error, reload to recover