Projects STRLCPY SeaMoon Commits 260d729a
🤬
  • deploy: 2bcec2e7b03fdf02bd36f631a85238d1a983a9cb

  • Loading...
  • DVKunion committed 1 month ago
    260d729a
    1 parent c01fd5d6
  • ■ ■ ■ ■ ■ ■
    404.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/4.cd3de622.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/2.1d6ed513.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/4.cd3de622.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/2.1d6ed513.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container" data-v-439bb2a8><div class="theme-vdoing-content" data-v-439bb2a8><span data-v-439bb2a8>404</span> <blockquote data-v-439bb2a8>~</blockquote> <a href="/" class="router-link-active" data-v-439bb2a8>返回首页</a></div></div><div class="global-ui"></div></div>
    28  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/4.cd3de622.js" defer></script>
     27 + <div id="app" data-server-rendered="true"><div class="theme-container" data-v-439bb2a8><div class="theme-vdoing-content" data-v-439bb2a8><span data-v-439bb2a8>404</span> <blockquote data-v-439bb2a8>Four-Oh-Four.</blockquote> <a href="/" class="router-link-active" data-v-439bb2a8>返回首页</a></div></div><div class="global-ui"></div></div>
     28 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/4.cd3de622.js" defer></script>
    29 29   </body>
    30 30  </html>
    31 31   
  • ■ ■ ■ ■ ■
    assets/js/10.3f24e4fa.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{321:function(s,t,a){"use strict";a.r(t);var e=a(7),n=Object(e.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h2",{attrs:{id:"叹息的腾讯云"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#叹息的腾讯云"}},[s._v("#")]),s._v(" 叹息的腾讯云")]),s._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),t("p",[s._v("由于腾讯云 grpc 也没调研,加上拉胯不推荐使用,所以此处的文档依旧为 v1.1.3 版本,非最新版本文档。\n如果要使用最新版本,请看上两篇的部署方式。")])]),s._v(" "),t("p",[s._v("先说结论,个人不建议腾讯云部署,原因众多:")]),s._v(" "),t("ul",[t("li",[s._v("腾讯云go代码部署仅支持代码上传,这种过时的部署方式完全不符合devops的生态。")]),s._v(" "),t("li",[s._v("如此必须依赖自定义镜像部署,腾讯云又不支持公网镜像部署,还需要手动将镜像推送至个人腾讯云仓库(虽然个人版免费)")]),s._v(" "),t("li",[s._v("最最最最最重要的一点:腾讯云SFC不免费了,没有了免费调度的礼包,必须得买套餐,不买套餐TMD血贵,只是测了个速花了我4毛钱!")])]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/e2929ffbf39a4e9f92539ecd79db1f8e.png",alt:"tencent-billing"}})]),s._v(" "),t("p",[s._v("因此使用腾讯云的用户请先考虑下钱包,虽然最低配置的流量包9.9一个月。")]),s._v(" "),t("h2",{attrs:{id:"如何部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#如何部署"}},[s._v("#")]),s._v(" 如何部署")]),s._v(" "),t("p",[s._v("步骤很多,一步一步操作吧。。。大概对比一下就知道为什么不推荐腾讯云部署了。")]),s._v(" "),t("h3",{attrs:{id:"step-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-1"}},[s._v("#")]),s._v(" Step.1")]),s._v(" "),t("p",[s._v("结论也提到了,腾讯云不支持go代码级别部署,所以我们为了方便,只能通过自定义镜像部署模式,函数类型选择web类型:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/2cedc6b7287f414f927a483049d59a19.png",alt:"tencent-app"}})]),s._v(" "),t("p",[s._v("在填写部署参数之前,需要先手动来上传server镜像到个人仓库(个人镜像仓库10个以内免费)")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/31501cea0bf740c1bf061218581c92f2.png",alt:"tencent-images"}})]),s._v(" "),t("p",[s._v("点击选择镜像,将会跳转至个人镜像仓库:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/8b6bf3ff3c4849cfa0bdc3ab9a1e3d44.png",alt:"tencent-registry"}})]),s._v(" "),t("p",[s._v("创建个人镜像仓库,先要创建命名空间,这个随便起个名字就好。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/46f890741dcf4fefbd1091859caa3a2c.png",alt:"tencent-registry-create"}})]),s._v(" "),t("p",[s._v("然后需要创建镜像仓库,镜像仓库的名称必须为:"),t("code",[s._v("seamoon-server")])]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/bf8e425ba0144ae3b357c73b97545905.png",alt:"tencent-registry-images"}})]),s._v(" "),t("p",[s._v("然后点击快捷操作,会出现命令提示:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/24166d0e0d854435ae66153fa88e2252.png",alt:"tencent-registry-login"}})]),s._v(" "),t("p",[s._v("复杂的步骤来了。现在需要找一台i386/amd64架构、且有docker的电脑......如果不懂如何查看电脑架构/不知道如何安装docker,建议还是放弃腾讯云。")]),s._v(" "),t("p",[s._v("执行以下命令")]),s._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 拉取dockerhub 服务镜像")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" pull dvkunion/seamoon-server:latest\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 重新tag镜像")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" tag dvkunion/seamoon-server:latest "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/seamoon-server:latest\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 登陆腾讯云")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" login "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("--username")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图提供的用户名"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 推送镜像")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" push "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/seamoon-server:latest\n")])])]),t("p",[s._v("还需要注意,登录时是需要填写登录密码的,如果是在不知道这个密码在哪里,建议重置一下;重置密码的位置也隐秘的感人:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/efefb1d95a5a48929186b41b9da1af0d.png",alt:"tencent-registry-passwd"}})]),s._v(" "),t("p",[s._v("至此,第一步已完成。")]),s._v(" "),t("h3",{attrs:{id:"step-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-2"}},[s._v("#")]),s._v(" Step.2")]),s._v(" "),t("p",[s._v("回到函数创建的页面,我们继续来创建函数。")]),s._v(" "),t("p",[s._v("现在选择部署镜像的位置已经有了,选择刚推送的seamoon-server镜像,开始填写配置吧:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff6e2d4d1e904798a8f6a5102e861318.png",alt:"tencent-app-setting"}})]),s._v(" "),t("p",[s._v("基础配置中,函数类型必须选择web函数。名称建议填写seamoon比较容易识别,地域按照你自己的需求选择即可。")]),s._v(" "),t("p",[s._v("函数代码选完我们上传的镜像,不需要改动。")]),s._v(" "),t("p",[s._v("日志要花钱的,钱多就开。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/9e606f6b3a06428dbbaeda4ff51000ef.png",alt:"tencent-app-custom"}})]),s._v(" "),t("p",[s._v("高级配置中主要是环境配置:函数内存给个最低的64就够,初始化时间按照建议给90s,超时时间给600 10分钟足够。")]),s._v(" "),t("p",[s._v("重要的是环境变量的配置,如果是socks5代理这个值填写socks5; 如果你想要http代理,这里填写http。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/c846ef2987a845b09f8bfd07aa800d6a.png",alt:"tencent-socks5"}})]),s._v(" "),t("p",[s._v("往下滑,记得开启公网IP,并且不要绑定IP, 如果想要固定 IP 的再勾选绑定IP。来到协议配置,开启websocket,超时时间设置60,其他的都可以默认不动。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/1f4dcff644dd4a0f836d6a62f1633295.png",alt:"tencent-ip"}})]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/f140dcd5a43f41bfb3bef8f7db540dc0.png",alt:"tencent-ws"}})]),s._v(" "),t("p",[s._v("触发器也默认不动即可。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ae6824b540414859ad634f35332f9c79.png",alt:"tencent-creator"}})]),s._v(" "),t("p",[s._v("点击部署,终于,服务部署完成。")]),s._v(" "),t("h3",{attrs:{id:"step-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-3"}},[s._v("#")]),s._v(" Step.3")]),s._v(" "),t("p",[s._v("部署完成后,几秒后自动跳转到函数页面,点击触发管理,可以看到函数地址,将此地址直接复制到客户端配置即可。")]),s._v(" "),t("h2",{attrs:{id:"效果展示"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#效果展示"}},[s._v("#")]),s._v(" 效果展示")]),s._v(" "),t("p",[s._v("勉勉强强及格吧,大概10MB下行带宽的样子。")]),s._v(" "),t("p",[s._v("而且初次启动的冷启动速度相比其他家腾讯云是有明显感受上的启动时间的;IP池也逐步下滑了(benchtest大概在17-30个左右)。")]),s._v(" "),t("p",[s._v("而且从服务群来看,感觉腾讯云已经摆烂了,这玩意就这样了你爱用不用吧......哎。")])])}),[],!1,null,null,null);t.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/10.5751dac5.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{320:function(t,s,a){"use strict";a.r(s);var e=a(7),c=Object(e.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"云账户管理"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#云账户管理"}},[t._v("#")]),t._v(" 云账户管理")]),t._v(" "),s("h3",{attrs:{id:"阿里云"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#阿里云"}},[t._v("#")]),t._v(" 阿里云")]),t._v(" "),s("p",[t._v("阿里云账户需要三个信息:AccessID/AccessKey/SecretKey。")]),t._v(" "),s("p",[t._v("AccountId 可在主页右上角个人信息处获取 accountId")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/75c7aa76665740878c796d82aac17233.png",alt:"aliyun-account"}})]),t._v(" "),s("p",[t._v("AccessKeyId/AccessKeySecret 可在 "),s("a",{attrs:{href:"https://ram.console.aliyun.com/users",target:"_blank",rel:"noopener noreferrer"}},[t._v("IAM"),s("OutboundLink")],1),t._v(" 页面添加子用户生成密钥。")]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),s("p",[t._v("创建的 AK/SK 请确保拥有账单权限和函数相关权限")])]),t._v(" "),s("h3",{attrs:{id:"腾讯云"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#腾讯云"}},[t._v("#")]),t._v(" 腾讯云")]),t._v(" "),s("p",[t._v("腾讯云账户只需要两个信息: SecretID/SecretKey")]),t._v(" "),s("p",[t._v("可在 "),s("a",{attrs:{href:"https://console.cloud.tencent.com/cam",target:"_blank",rel:"noopener noreferrer"}},[t._v("IAM"),s("OutboundLink")],1),t._v(" 页面添加子用户生成密钥")]),t._v(" "),s("h3",{attrs:{id:"sealos"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#sealos"}},[t._v("#")]),t._v(" Sealos")]),t._v(" "),s("p",[t._v("Sealos 只需要一个 "),s("code",[t._v("kubeconfig")]),t._v(" 凭证即可。我们登录 cloud.sealos.io:")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/6fd4b2d188794b88aae2ae0c27fc2531.png",alt:"sealos"}})]),t._v(" "),s("p",[t._v("点击复制粘贴过来即可。")])])}),[],!1,null,null,null);s.default=c.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/11.7b24619b.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{321:function(t,a,s){"use strict";s.r(a);var o=s(7),n=Object(o.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"函数实例"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#函数实例"}},[t._v("#")]),t._v(" 函数实例")]),t._v(" "),a("p",[t._v("函数实例对应着在云上部署的每一个函数")]),t._v(" "),a("h3",{attrs:{id:"创建函数实例"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#创建函数实例"}},[t._v("#")]),t._v(" 创建函数实例")]),t._v(" "),a("p",[t._v("点击 [新增], 会要求选择一个关联的账户,将会使用这个账户进行部署")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/0cd322d2dac14f77b117ff1024c047b9.png",alt:"tunnel"}})]),t._v(" "),a("p",[t._v("点击 [下一步], 进入具体的函数参数配置")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/4f49e3f00b7a4e28a4152b8504354b08.png",alt:"config"}})]),t._v(" "),a("ul",[a("li",[t._v("函数名称:用于在平台区分各个函数")]),t._v(" "),a("li",[t._v("函数所在地区:只能选择当前账户允许的区域")]),t._v(" "),a("li",[t._v("CPU、内存: 一般默认即可,如果有需求也可以自行调整(不同平台有相关要求,不建议自行调整)")]),t._v(" "),a("li",[t._v("最大处理数:指一个实例最多同时可以处理的请求数;如果你希望获取更多的IP,该值越小越好(最低为1);如果你想节约成本,那么可以调整大一些。")]),t._v(" "),a("li",[t._v("端口号配置:默认不要改动。")]),t._v(" "),a("li",[t._v("函数认证方式: 指函数调用时的认证方法,可以避免一些反制与滥用。默认请选择无认证;如果你需要导入其他客户端使用,请确保此选项为无认证方式,")]),t._v(" "),a("li",[t._v("隧道协议类型: websocket/gprc。推荐websockets, grpc 目前测试较少,不太稳定")]),t._v(" "),a("li",[t._v("TLS: 默认开启即可;不开启的时候走80端口,数据为明文传输。")]),t._v(" "),a("li",[t._v("Tor: 开启 Tor 网桥时,会允许代理访问 onion域名,但是会导致内存占用增高。")])]),t._v(" "),a("h3",{attrs:{id:"停用函数实例"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#停用函数实例"}},[t._v("#")]),t._v(" 停用函数实例")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/da2a2030a728415cbbe0014b52b01b0d.png",alt:"stop"}})]),t._v(" "),a("p",[t._v("点击停用后,远端的函数实例将会销毁,但平台的配置数据依旧存在;你可以通过再次启用来部署一个新的服务。")]),t._v(" "),a("h3",{attrs:{id:"删除函数实例"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#删除函数实例"}},[t._v("#")]),t._v(" 删除函数实例")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/d640f664ef4249e09461999fd6776107.png",alt:"delete"}})]),t._v(" "),a("p",[t._v("点击删除后,远端函数实例将会销毁,同时本地的数据也会随之删除;基于此函数隧道的代理也会一起删除。")]),t._v(" "),a("h3",{attrs:{id:"导入其他客户端"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导入其他客户端"}},[t._v("#")]),t._v(" 导入其他客户端")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/52f88f5bf8904aa293eaffcdd4091203.png",alt:"import"}})]),t._v(" "),a("p",[t._v("目前支持导入 Clash、ShadowRocket 两种客户端,可以选择自动导入,也可以手动复制订阅地址。\n注意,此订阅地址会随着服务重启后失效。当客户端重启后,需要重新获取订阅地址。")])])}),[],!1,null,null,null);a.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/11.ecdf8130.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{320:function(t,s,a){"use strict";a.r(s);var n=a(7),e=Object(n.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h2",{attrs:{id:"部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台"}},[t._v("#")]),t._v(" 部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台")]),t._v(" "),s("p",[s("a",{attrs:{href:"https://cloud.sealos.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Sealos公有云地址"),s("OutboundLink")],1)]),t._v(" "),s("p",[t._v("先说下我喜欢Sealos的原因:")]),t._v(" "),s("p",[s("font",{attrs:{color:"pink"}},[s("b",[t._v("简单的页面,适合新手小白,无需了解过多的云服务相关知识")])])],1),t._v(" "),s("p",[s("font",{staticStyle:{fontSize:"small"}},[t._v("操作起来和操作一个os一样,点击、配置、部署,一气呵成。\n对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。 ")])],1),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/b792343632554e7fab560b74d3fb57b7.png",alt:"sealos-dashboard"}})]),t._v(" "),s("p",[s("font",{attrs:{color:"pink"}},[s("b",[t._v("简单易懂的计费方式:花费更低,效果不变")])])],1),t._v(" "),s("p",[s("font",{staticStyle:{fontSize:"small"}},[t._v("对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费),\nsealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。")])],1),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c6d9dae9534812b909e1a5f9cf3df8.png",alt:"sealos-app"}})]),t._v(" "),s("p",[s("font",{attrs:{color:"pink"}},[s("b",[t._v("配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控")])])],1),t._v(" "),s("p",[s("font",{staticStyle:{fontSize:"small"}},[t._v("sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP\n当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。")])],1),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/500897ae5b5f48d9b20f18d3f3eaa7ea.png",alt:"sealos-container"}})]),t._v(" "),s("h2",{attrs:{id:"如何部署"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#如何部署"}},[t._v("#")]),t._v(" 如何部署")]),t._v(" "),s("p",[t._v("sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:")]),t._v(" "),s("h3",{attrs:{id:"step-1-注册账户"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-1-注册账户"}},[t._v("#")]),t._v(" Step.1 注册账户")]),t._v(" "),s("p",[t._v("注册并登陆"),s("a",{attrs:{href:"https://cloud.sealos.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("cloud.sealos.io"),s("OutboundLink")],1),t._v(", 点击"),s("code",[t._v("App Launchpad")])]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/4bfbdf9f9ad5440b91ec85831c062b07.png",alt:"sealos-applanch"}})]),t._v(" "),s("h3",{attrs:{id:"step-2-部署"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-2-部署"}},[t._v("#")]),t._v(" Step.2 部署")]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),s("p",[t._v("sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。")]),t._v(" "),s("p",[t._v("同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。")])]),t._v(" "),s("p",[t._v("点击右上角"),s("code",[t._v("create application")]),t._v(", 如下填写参数:")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/f331255e64724bba8d84add292cae6e0.png",alt:"sealos-config"}})]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),s("p",[t._v("此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图:\n"),s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/68f55dbfb40d4310b9aae6674d335817.png",alt:"sealos-config-grpc"}})])]),t._v(" "),s("p",[t._v("往下拉,还有高级配置里面的启动命令:")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7c92e240241845869b6b796d42ff1e31.png",alt:"sealos-config-2"}})]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),s("p",[t._v("此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:\n"),s("code",[t._v("/app/seamoon server -p 8089 -t grpc")]),t._v(" , 如下图:\n"),s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/608d9fcde8684d5cb19940bb33e90a4a.png",alt:"sealos-config-grpc-2"}})])]),t._v(" "),s("p",[t._v("你也可以直接选择yaml文件,参考如下:")]),t._v(" "),s("blockquote",[s("p",[t._v("注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。\n可以用于参考和对比。没出现的参数代表意义不大,不用管。")])]),t._v(" "),s("code-group",[s("code-block",{attrs:{title:"service.yaml",active:""}},[s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("apiVersion")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" v1\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("kind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Service\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("ws\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cloud.sealos.io/app-deploy-manager")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("ws\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("ports")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("port")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("9000")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("targetPort")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("9000")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("selector")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("ws\n")])])])]),t._v(" "),s("code-block",{attrs:{title:"deployment.yaml"}},[s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("apiVersion")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" apps/v1\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("kind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Deployment\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("annotations")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("originImageName")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" dvkunion/seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("latest\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("deploy.cloud.sealos.io/minReplicas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'1'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("deploy.cloud.sealos.io/maxReplicas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'1'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("deploy.cloud.sealos.io/resize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 0Gi\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cloud.sealos.io/app-deploy-manager")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("replicas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("revisionHistoryLimit")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("selector")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("matchLabels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("strategy")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" RollingUpdate\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("rollingUpdate")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("maxUnavailable")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("maxSurge")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("template")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("containers")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("image")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" dvkunion/seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("server"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("latest\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("env")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" serverMod\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("value")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" socks5\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("resources")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("requests")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cpu")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 10m\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("memory")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 6Mi\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("limits")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cpu")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100m\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("memory")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 64Mi\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("ports")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("containerPort")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("9000")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("''")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("imagePullPolicy")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Always\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("volumeMounts")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("volumes")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])])]),t._v(" "),s("code-block",{attrs:{title:"ingress.yaml"}},[s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("apiVersion")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" networking.k8s.io/v1\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("kind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Ingress\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" network"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("xxxxxxxx\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cloud.sealos.io/app-deploy-manager")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("ws\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("annotations")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("kubernetes.io/ingress.class")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" nginx\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("nginx.ingress.kubernetes.io/proxy-body-size")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 32m\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("nginx.ingress.kubernetes.io/proxy-read-timeout")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'3600'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("nginx.ingress.kubernetes.io/proxy-send-timeout")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v("'3600'")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("nginx.ingress.kubernetes.io/backend-protocol")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" WS\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("rules")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("host")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"*****"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# 系统自动生成")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("http")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("paths")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("pathType")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Prefix\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("path")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" /\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("backend")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("service")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("ws\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("port")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("number")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("9000")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("tls")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("hosts")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"*****"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# 系统自动生成")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("secretName")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" wildcard"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("cloud"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("sealos"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("io"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("cert\n")])])])])],1),t._v(" "),s("h3",{attrs:{id:"step-3-本地客户端"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-3-本地客户端"}},[t._v("#")]),t._v(" Step.3 本地客户端")]),t._v(" "),s("p",[t._v("填写完成后,点击右上角 "),s("code",[t._v("Deploy")]),t._v(", 等待部署完成,状态success后,获取到服务地址。")]),t._v(" "),s("p",[t._v("然后在本地启动客户端,推荐 docker 一键拉起:")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("docker")]),t._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-it")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-d")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("host dvkunion/seamoon proxy\n")])])]),s("p",[t._v("默认使用"),s("code",[t._v("--net=host")]),t._v("模式, 如需要高级设置,如下:")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("docker")]),t._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-it")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-d")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-p")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("7777")]),t._v(":7777 "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-p")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1080")]),t._v(":1080 dvkunion/seamoon proxy\n")])])]),s("p",[t._v("访问本地控制台 localhost:7777 , 将此地址填入客户端即可。")]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("如何填写地址")]),t._v(" "),s("p",[t._v("填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/3ff1604871c547d2af492c5fd37428f7.png",alt:"sealos-config-grpc-addr"}})]),t._v(" "),s("p",[t._v("wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。")])]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/a931e0b42c8748649d5156b2b0884fcb.png",alt:"sealos-config"}})]),t._v(" "),s("h2",{attrs:{id:"效果展示"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#效果展示"}},[t._v("#")]),t._v(" 效果展示")]),t._v(" "),s("p",[t._v("[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff9eb3ec14fa417daca7a661f9b4ecff.png",alt:"sealos"}})]),t._v(" "),s("p",[t._v("整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),t._v(" "),s("p",[t._v("如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)")])],1)}),[],!1,null,null,null);s.default=e.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/12.2832e202.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{322:function(a,t,s){"use strict";s.r(t);var e=s(7),r=Object(e.a)({},(function(){var a=this,t=a._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("h1",{attrs:{id:"服务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#服务"}},[a._v("#")]),a._v(" 服务")]),a._v(" "),t("h3",{attrs:{id:"创建服务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#创建服务"}},[a._v("#")]),a._v(" 创建服务")]),a._v(" "),t("p",[a._v("点击 [新增]:")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/fe87befcb18c4e059951f8f1ed2dbe91.png",alt:"create"}})]),a._v(" "),t("ul",[t("li",[a._v("代理名称:用于在平台区分不同的代理")]),a._v(" "),t("li",[a._v("监听协议: 选择代理的服务类型")]),a._v(" "),t("li",[a._v("监听地址: 监听的 IP 信息")]),a._v(" "),t("li",[a._v("监听端口: 监听的端口信息")])]),a._v(" "),t("h4",{attrs:{id:"从账户直接创建服务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#从账户直接创建服务"}},[a._v("#")]),a._v(" 从账户直接创建服务")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/700cea1e620f40f1beb6596bd48565a0.png",alt:"select-1"}})]),a._v(" "),t("p",[a._v("直接从账户创建,将会从选择的账户创建一个新的函数与服务绑定。具体请参考 "),t("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/func/",target:"_blank",rel:"noopener noreferrer"}},[a._v("创建函数实例"),t("OutboundLink")],1)]),a._v(" "),t("h4",{attrs:{id:"选择已有函数进行关联"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#选择已有函数进行关联"}},[a._v("#")]),a._v(" 选择已有函数进行关联")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/120fa192be864d4293ea51344542f336.png",alt:"select-2"}})]),a._v(" "),t("p",[a._v("选择已有函数进行关联时,将会从已有的函数实例进行选择,无需进行其他配置。")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/af8eaa396fac4413a2a6d54d715412a5.png",alt:"select-4"}})]),a._v(" "),t("h3",{attrs:{id:"修改服务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#修改服务"}},[a._v("#")]),a._v(" 修改服务")]),a._v(" "),t("p",[a._v("目前允许修改的内容有:代理类型、监听地址、监听端口三个选项。点击对应服务,即可进行详情修改。")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/1cb9366981cf4432898a179f1e380004.png",alt:"update"}})]),a._v(" "),t("h3",{attrs:{id:"测速"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#测速"}},[a._v("#")]),a._v(" 测速")]),a._v(" "),t("p",[a._v("点击测速,将会通过当前服务访问测速网站进行上行与下行的速率测试。")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c585b8ed8d4cc0994cad33ad554852.png",alt:"speed"}})]),a._v(" "),t("h3",{attrs:{id:"停止服务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#停止服务"}},[a._v("#")]),a._v(" 停止服务")]),a._v(" "),t("p",[a._v("点击停止服务,代理服务将会停止,但数据不会删除。")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/53605b61a97e48218caca2f0eb8b175f.png",alt:"stop"}})]),a._v(" "),t("h3",{attrs:{id:"删除服务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#删除服务"}},[a._v("#")]),a._v(" 删除服务")]),a._v(" "),t("p",[a._v("点击删除服务,将会删除对应的代理服务数据。")]),a._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/b4b1fb410f1a4d9798956e0ad80cebc9.png",alt:"delete"}})])])}),[],!1,null,null,null);t.default=r.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/12.9de2f1b2.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{322:function(a,e,s){"use strict";s.r(e);var t=s(7),r=Object(t.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h2",{attrs:{id:"部署到render-免费的永远是最好的-去-的免费的-号没了"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#部署到render-免费的永远是最好的-去-的免费的-号没了"}},[a._v("#")]),a._v(" 部署到Render: "),e("s",[a._v("免费的永远是最好的")]),a._v(" 去**的免费的,号没了")]),a._v(" "),e("div",{staticClass:"custom-block danger"},[e("p",{staticClass:"custom-block-title"},[a._v("警告")]),a._v(" "),e("p",[a._v("2024.02.02 更新"),e("br"),a._v("\nrender 不但 ban 了 "),e("code",[a._v("seamoon")]),a._v(" 镜像,还把号封了,*** 玩不起就别玩。"),e("br"),a._v("\n虽然还有各种各样的绕过方式,其账户注册起来也不困难,但是可以看出该运营商的顺准了,云计算这么多家,你不声明禁止直接ban号ban镜像有点东西的"),e("br"),a._v("\n也可能是我没仔细看声明,如果有找到的师傅麻烦让我看一下在哪。先喷为敬了。"),e("br"),a._v(" "),e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/4170f495a85d4cc6a6ff64ddedee9c3e.png",alt:"render-ban"}})])]),a._v(" "),e("p",[e("a",{attrs:{href:"https://www.render.com/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Render公有云地址"),e("OutboundLink")],1)]),a._v(" "),e("blockquote",[e("p",[a._v("Render是一个新的PaaS( Platform as a service)云端服务,也就是说你的代码部署到Render之后,你不用(也不能)去管Linux/firewall/nginx的设定。把你的Github网址给Render,设定一下用鼠标点点点,等个几分钟,你的程序就上线了,全世界都能看到你的网站或是存取你提供的API。"),e("a",{attrs:{href:"https://zhuanlan.zhihu.com/p/377558120",target:"_blank",rel:"noopener noreferrer"}},[a._v("(选自知乎)"),e("OutboundLink")],1)])]),a._v(" "),e("p",[a._v("我们来看一下官方是如何介绍自己的:")]),a._v(" "),e("blockquote",[e("p",[a._v("Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.")])]),a._v(" "),e("p",[a._v("其实这些都不重要,重要的是你只需要知道,"),e("font",{attrs:{color:"pink"}},[e("b",[e("s",[a._v("render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!")])])]),a._v("这就够了,足够我们给他树一个👍。"),a._v(" 第二天就封号了的臭SB。")],1),a._v(" "),e("h2",{attrs:{id:"如何部署"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#如何部署"}},[a._v("#")]),a._v(" 如何部署")]),a._v(" "),e("p",[a._v("render 部署与 sealos 部署一样简单,在新版本中,我会逐步减少部署步骤,降低这部分交互。")]),a._v(" "),e("h3",{attrs:{id:"step-1-注册账户"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#step-1-注册账户"}},[a._v("#")]),a._v(" Step.1 注册账户")]),a._v(" "),e("p",[a._v("render 账户支持 github / gitlab / google 等一键登陆,建议直接 github 账户登陆即可。")]),a._v(" "),e("p",[a._v("实在不行,他也支持邮箱注册,自己注册一个,此处不再废话。")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7d00a615cd45480bad1b7ade33b7e543.png",alt:"render-register"}})]),a._v(" "),e("h3",{attrs:{id:"step-2-部署"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#step-2-部署"}},[a._v("#")]),a._v(" Step.2 部署")]),a._v(" "),e("p",[a._v("注册账户登陆后,进入控制台,选择创建一个 web service 应用:")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ffcd48fa203b4959bdde631bdf77610e.png",alt:"render-web-service"}})]),a._v(" "),e("p",[a._v("然后选第二个,从存在的镜像中部署服务:")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/faa0f096dcfa40998b518b5e4de96534.png",alt:"render-web-deploy"}})]),a._v(" "),e("p",[a._v("点击下一步,要求我们填写部署的镜像名称,我们填写:"),e("code",[a._v("dvkunion/seamoon")])]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/3bc5a0437ea94a348f9841864f5c2df3.png",alt:"render-image"}})]),a._v(" "),e("p",[a._v("开始填写详细的应用字段了,我们依次填写:")]),a._v(" "),e("ul",[e("li",[a._v("Name: 应用名称,这个最终会对应生成你的服务域名,因此这里我建议越复杂越好,因为 seamoon 当前版本没有做认证,导致如果服务名称过于简单,很容易被其他人连上。")]),a._v(" "),e("li",[a._v("Region: 地域,选择服务部署的地区,现在支持四个区域:oregon-俄勒冈州(美国西部)、Frankfurt-法兰克福(欧盟)、ohio-俄亥俄州(美国东部)、singapore-新加坡(东亚)")]),a._v(" "),e("li",[a._v("实例类型: 选免费的。")])]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/160ff4f44e5a4e9d9128269dbc1a3e26.png",alt:"render-config"}})]),a._v(" "),e("p",[a._v("往下滑,看到 Docker Command 填写如下:")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/51fa80f6e4c84ae985bdb23ac8acf673.png",alt:"render-docker"}})]),a._v(" "),e("p",[a._v("完成,点击创建即可。")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/158478ce77a84130b43f786670a40c65.png",alt:"render-url"}})]),a._v(" "),e("h3",{attrs:{id:"step-3-本地客户端"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#step-3-本地客户端"}},[a._v("#")]),a._v(" Step.3 本地客户端")]),a._v(" "),e("p",[a._v("在本地启动客户端,推荐 docker 一键拉起:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--net")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("host dvkunion/seamoon proxy\n")])])]),e("p",[a._v("默认使用"),e("code",[a._v("--net=host")]),a._v("模式, 如需要高级设置,如下:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("7777")]),a._v(":7777 "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1080")]),a._v(":1080 dvkunion/seamoon proxy\n")])])]),e("p",[a._v("访问本地控制台 localhost:7777 , 将此地址填入客户端即可。")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("如何填写地址")]),a._v(" "),e("p",[a._v("填写的代理在步骤2已经明确给出,给出的地址是 https:// 开头的,需要改为如: wss://。")]),a._v(" "),e("p",[a._v("grpc目前没有测试是否支持,测试支持后后续会更新文档并补充。")])]),a._v(" "),e("h2",{attrs:{id:"测试效果"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#测试效果"}},[a._v("#")]),a._v(" 测试效果")]),a._v(" "),e("p",[a._v("整体机房是 amazon 的,所属地基本正确。")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/db670fef7f4f47cd95108a656c28c9a5.png",alt:"render-cip"}})]),a._v(" "),e("p",[a._v("速度的话,也就是正常水平,基本满足日常浏览和视频播放的样子。")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/80aee46729ca4ecdbda4c244ac26835b.png",alt:"render-speed"}})]),a._v(" "),e("p",[a._v("免费的来说已经是很不错的了。")]),a._v(" "),e("h2",{attrs:{id:"一些小细节问题"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#一些小细节问题"}},[a._v("#")]),a._v(" 一些小细节问题")]),a._v(" "),e("p",[e("font",{attrs:{color:"red"}},[e("b",[a._v("访问不到render/dashboard/github......")])])],1),a._v(" "),e("p",[a._v("我的建议是,先用阿里云等国内方案临时解决访问一下,然后在方案 render 等作为长期持久使用的方案。")]),a._v(" "),e("p",[e("font",{attrs:{color:"red"}},[e("b",[a._v("支持 grpc 吗?")])])],1),a._v(" "),e("p",[a._v("没做测试,个人测试使用的是 websocket 隧道,然后也没有发现官方文档中提到 grpc 相关的,有兴趣的各位可以试一下然后反馈给我。")]),a._v(" "),e("p",[e("font",{attrs:{color:"red"}},[e("b",[a._v("关于动态IP 问题")])])],1),a._v(" "),e("p",[a._v("免费版本的 render 是不支持动态 scaling (动态伸缩扩容) 的,因此,这个方案部署的 seamoon 将会是一个固定 IP。\n只有当 pod 销毁了,或者是你升级了套餐内容 (每月7刀) 才支持 scaling,才可以获取到动态 IP 的方案。")]),a._v(" "),e("p",[a._v('当然,事无绝对,你非要使用 "动态" + "免费" 的方式,也有,通过 api 调用每小时自动删除再创建应用,即可实现这个效果,还可以实现动态的地区变动。。。。')]),a._v(" "),e("p",[a._v("不过人家已经免费了,我不是非常建议这样做了。想要动态的 7刀一个月也不是一个过分的价格了,能支持的还是支持一下。")])])}),[],!1,null,null,null);e.default=r.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/13.34e04054.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{323:function(s,e,a){"use strict";a.r(e);var n=a(7),t=Object(n.a)({},(function(){var s=this,e=s._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[e("h2",{attrs:{id:"serverless-devs"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#serverless-devs"}},[s._v("#")]),s._v(" serverless-devs")]),s._v(" "),e("p",[s._v("你也可以通过"),e("a",{attrs:{href:"http://www.serverless-devs.com",target:"_blank",rel:"noopener noreferrer"}},[s._v("serverless-devs"),e("OutboundLink")],1),s._v(",快速部署到各个云平台。")]),s._v(" "),e("h2",{attrs:{id:"安装-serverless-devs-工具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#安装-serverless-devs-工具"}},[s._v("#")]),s._v(" 安装 serverless-devs 工具")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("npm")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" @serverless-devs/s "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-g")]),s._v("\n")])])]),e("p",[s._v("国内加速:")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("$ cnpm "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" @serverless-devs/s "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-g")]),s._v("\n")])])]),e("p",[s._v("如果不存在npm包管理器,请先通过node安装npm/cnpm")]),s._v(" "),e("p",[s._v("安装后运行")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("$ s "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-v")]),s._v("\n")])])]),e("p",[s._v("将可以看到serverless-devs版本,表示安装成功。")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("@serverless-devs/s3: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),s._v(".0, s-home: /Users/DVK/.s, darwin-arm64, node-v20.9.0\n")])])]),e("p",[s._v("然后通过如下命令开始配置云厂商认证")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("$ s config "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("add")]),s._v(" \n")])])]),e("p",[s._v("按提示即可选择即可,本次我们以 "),e("code",[s._v("Alibaba Cloud")]),s._v(" 为例,输入对应的账户"),e("code",[s._v("AccessKeyID")]),s._v("、"),e("code",[s._v("AccessKeySecret")])]),s._v(" "),e("p",[s._v("最后一步填写"),e("code",[s._v("alias")]),s._v("时,请确保值为"),e("code",[s._v("default")]),s._v("(一般初次安装与认证该字段都默认为default,回车即可)。")]),s._v(" "),e("p",[s._v("如果AK/SK无误,那么你将会看到认证成功的提示。")]),s._v(" "),e("h2",{attrs:{id:"部署"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#部署"}},[s._v("#")]),s._v(" 部署")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[s._v("git")]),s._v(" clone https://github.com/DVKunion/SeaMoon.git\n")])])]),e("p",[s._v("进入到项目目录")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("$ "),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("cd")]),s._v(" SeaMoon\n$ s deploy\n")])])]),e("p",[s._v("如果你不是第一次部署,那么将会提示你选择冲突的配置:remote/local,一般选择local即可。")]),s._v(" "),e("p",[s._v("稍等片刻,你将会得到部署好的两个地址:")]),s._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[s._v("SeaMoon-WST-Node:\n region: cn-hongkong\n service:\n name: SeaMoon-Service\n function:\n name: ws-node\n runtime: custom\n handler: main\n memorySize: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("128")]),s._v("\n timeout: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("300")]),s._v("\n cpu: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.05")]),s._v("\n diskSize: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("512")]),s._v("\n url:\n system_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run\n system_intranet_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run\n triggers:\n - type: http\n name: httpTrigger\nSeaMoon-GRT-Node:\n region: cn-hongkong\n service:\n name: SeaMoon-Service\n function:\n name: grpc-node\n runtime: custom\n handler: main\n memorySize: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("128")]),s._v("\n timeout: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("300")]),s._v("\n cpu: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.05")]),s._v("\n diskSize: "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("512")]),s._v("\n url:\n system_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run\n system_intranet_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run\n triggers:\n - type: http\n name: httpTrigger\n")])])]),e("p",[s._v("服务端部署完成。")]),s._v(" "),e("h2",{attrs:{id:"高级选项"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#高级选项"}},[s._v("#")]),s._v(" 高级选项")]),s._v(" "),e("h2",{attrs:{id:"地域"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#地域"}},[s._v("#")]),s._v(" 地域")]),s._v(" "),e("p",[s._v("如果你想要修改部署的地域,请修改 "),e("code",[s._v("s.yaml")]),s._v(" 中的 "),e("code",[s._v("region")]),s._v(" 字段。")]),s._v(" "),e("p",[s._v("目前支持的 "),e("code",[s._v("region")]),s._v(" :")]),s._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[s._v("cn-hangzhou, \ncn-beijing, \ncn-shanghai, \ncn-qingdao, \ncn-zhangjiakou, \ncn-huhehaote, \ncn-shenzhen, \ncn-chengdu, \ncn-hongkong, \nap-southeast-1, \nap-southeast-2, \nap-southeast-3, \nap-southeast-5, \nap-northeast-1, \neu-central-1, \neu-west-1, \nus-west-1, \nus-east-1, \nap-south-1\n")])])]),e("h2",{attrs:{id:"花费-vs-更多的ip"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#花费-vs-更多的ip"}},[s._v("#")]),s._v(" 花费 vs 更多的IP")]),s._v(" "),e("p",[s._v("阿里云的 FC 计费模式与实例数、vCPU消耗息息相关。")]),s._v(" "),e("p",[s._v("由于我们的流量中转单例,cpu 消耗并不会打满,而仍然会依照 0.33 计费。")]),s._v(" "),e("p",[s._v("因此,控制多个请求到一个实例,即可控制消费;对应的能够获取到的IP也会随之减少。")]),s._v(" "),e("p",[s._v("10线程、每个线程 100 个用例打满ip查询测试的结果为:")]),s._v(" "),e("ul",[e("li",[s._v("实例数目不设限、最高超时时间为600s、每个实例只处理一个请求: 70 IP")]),s._v(" "),e("li",[s._v("实例数目不设限、最高超时时间为300s、每个实例处理10请求: 45IP (目前默认配置)")])]),s._v(" "),e("p",[s._v("如果你需要自行调整,可修改s.yaml中的:")]),s._v(" "),e("div",{staticClass:"language-yaml extra-class"},[e("pre",{pre:!0,attrs:{class:"language-yaml"}},[e("code",[e("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("services")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("SeaMoon-WST-Node")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("component")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" fc\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("props")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("...")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("...")]),s._v("\n"),e("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("instanceConcurrency")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#一个实例最多请求处理数")]),s._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("...")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("...")]),s._v("\n"),e("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("timeout")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[s._v("300")]),s._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#超时时间,数值越大,可维持的不中断连接时间就会越长")]),s._v("\n")])])]),e("p",[s._v("随着修改,改方案可能导致的花费也会随之不同。")]),s._v(" "),e("h2",{attrs:{id:"可能遇到的坑"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#可能遇到的坑"}},[s._v("#")]),s._v(" 可能遇到的坑")]),s._v(" "),e("ul",[e("li",[s._v("需要能够访问的到 github, 在 pre-load 脚本中会从 github 上拉取最新版本的 release 用于部署。")]),s._v(" "),e("li",[s._v("需要系统有 wget 命令。(windows 用户可以暂时放弃这个方式,不打算支持 windows 通过此类方式部署)")])])])}),[],!1,null,null,null);e.default=t.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/13.8d81b712.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{323:function(t,n,s){"use strict";s.r(n);var e=s(7),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/14.30fa252e.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{324:function(a,s,t){"use strict";t.r(s);var e=t(7),n=Object(e.a)({},(function(){var a=this,s=a._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"paas-平台部署"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#paas-平台部署"}},[a._v("#")]),a._v(" PaaS 平台部署")]),a._v(" "),s("p",[a._v("SeaMoon 的服务端其实支持部署到多种 PaaS 类型的平台")]),a._v(" "),s("h2",{attrs:{id:"部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台"}},[a._v("#")]),a._v(" 部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台")]),a._v(" "),s("p",[s("a",{attrs:{href:"https://cloud.sealos.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Sealos公有云地址"),s("OutboundLink")],1)]),a._v(" "),s("p",[a._v("先说下我喜欢Sealos的原因:")]),a._v(" "),s("p",[s("font",{attrs:{color:"pink"}},[s("b",[a._v("简单的页面,适合新手小白,无需了解过多的云服务相关知识")])])],1),a._v(" "),s("p",[s("font",{staticStyle:{fontSize:"small"}},[a._v("操作起来和操作一个os一样,点击、配置、部署,一气呵成。 对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。 ")])],1),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/b792343632554e7fab560b74d3fb57b7.png",alt:"sealos-dashboard"}})]),a._v(" "),s("p",[s("font",{attrs:{color:"pink"}},[s("b",[a._v("简单易懂的计费方式:花费更低,效果不变")])])],1),a._v(" "),s("p",[s("font",{staticStyle:{fontSize:"small"}},[a._v("对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费),sealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。")])],1),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c6d9dae9534812b909e1a5f9cf3df8.png",alt:"sealos-app"}})]),a._v(" "),s("p",[s("font",{attrs:{color:"pink"}},[s("b",[a._v("配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控")])])],1),a._v(" "),s("p",[s("font",{staticStyle:{fontSize:"small"}},[a._v("sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP 当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。")])],1),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/500897ae5b5f48d9b20f18d3f3eaa7ea.png",alt:"sealos-container"}})]),a._v(" "),s("h3",{attrs:{id:"如何部署"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#如何部署"}},[a._v("#")]),a._v(" 如何部署")]),a._v(" "),s("p",[a._v("sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:")]),a._v(" "),s("h4",{attrs:{id:"step-1-注册账户"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-1-注册账户"}},[a._v("#")]),a._v(" Step.1 注册账户")]),a._v(" "),s("p",[a._v("注册并登陆"),s("a",{attrs:{href:"https://cloud.sealos.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("cloud.sealos.io"),s("OutboundLink")],1),a._v(", 点击"),s("code",[a._v("App Launchpad")])]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/4bfbdf9f9ad5440b91ec85831c062b07.png",alt:"sealos-applanch"}})]),a._v(" "),s("h4",{attrs:{id:"step-2-部署"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-2-部署"}},[a._v("#")]),a._v(" Step.2 部署")]),a._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"custom-block-title"},[a._v("注意")]),a._v(" "),s("p",[a._v("sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。")]),a._v(" "),s("p",[a._v("同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。")])]),a._v(" "),s("p",[a._v("点击右上角"),s("code",[a._v("create application")]),a._v(", 如下填写参数:")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/f331255e64724bba8d84add292cae6e0.png",alt:"sealos-config"}})]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("提示")]),a._v(" "),s("p",[a._v("此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图:\n"),s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/68f55dbfb40d4310b9aae6674d335817.png",alt:"sealos-config-grpc"}})])]),a._v(" "),s("p",[a._v("往下拉,还有高级配置里面的启动命令:")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7c92e240241845869b6b796d42ff1e31.png",alt:"sealos-config-2"}})]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("提示")]),a._v(" "),s("p",[a._v("此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:\n"),s("code",[a._v("/app/seamoon server -p 8089 -t grpc")]),a._v(" , 如下图:\n"),s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/608d9fcde8684d5cb19940bb33e90a4a.png",alt:"sealos-config-grpc-2"}})])]),a._v(" "),s("p",[a._v("你也可以直接选择yaml文件,参考如下:")]),a._v(" "),s("blockquote",[s("p",[a._v("注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。\n可以用于参考和对比。没出现的参数代表意义不大,不用管。")])]),a._v(" "),s("code-group",[s("code-block",{attrs:{title:"service.yaml",active:""}},[s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("apiVersion")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" v1\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("kind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" Service\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("ws\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("cloud.sealos.io/app-deploy-manager")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("ws\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("ports")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("port")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("9000")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("targetPort")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("9000")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("selector")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("ws\n")])])])]),a._v(" "),s("code-block",{attrs:{title:"deployment.yaml"}},[s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("apiVersion")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" apps/v1\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("kind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" Deployment\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("annotations")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("originImageName")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" dvkunion/seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("latest\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("deploy.cloud.sealos.io/minReplicas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v("'1'")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("deploy.cloud.sealos.io/maxReplicas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v("'1'")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("deploy.cloud.sealos.io/resize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 0Gi\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("cloud.sealos.io/app-deploy-manager")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("replicas")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("revisionHistoryLimit")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("selector")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("matchLabels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("strategy")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("type")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" RollingUpdate\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("rollingUpdate")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("maxUnavailable")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("0")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("maxSurge")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("template")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("app")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("containers")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("image")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" dvkunion/seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("server"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("latest\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("env")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" serverMod\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("value")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" socks5\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("resources")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("requests")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("cpu")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 10m\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("memory")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 6Mi\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("limits")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("cpu")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 100m\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("memory")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 64Mi\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("ports")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("containerPort")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("9000")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v("''")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("imagePullPolicy")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" Always\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("volumeMounts")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("volumes")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n")])])])]),a._v(" "),s("code-block",{attrs:{title:"ingress.yaml"}},[s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("apiVersion")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" networking.k8s.io/v1\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("kind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" Ingress\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("metadata")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" network"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("xxxxxxxx\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("labels")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("cloud.sealos.io/app-deploy-manager")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("ws\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("annotations")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("kubernetes.io/ingress.class")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" nginx\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("nginx.ingress.kubernetes.io/proxy-body-size")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" 32m\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("nginx.ingress.kubernetes.io/proxy-read-timeout")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v("'3600'")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("nginx.ingress.kubernetes.io/proxy-send-timeout")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v("'3600'")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("nginx.ingress.kubernetes.io/backend-protocol")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" WS\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("spec")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("rules")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("host")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v('"*****"')]),a._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# 系统自动生成")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("http")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("paths")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("pathType")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" Prefix\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("path")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" /\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("backend")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("service")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("ws\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("port")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("number")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("9000")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("tls")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("hosts")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[a._v('"*****"')]),a._v(" "),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# 系统自动生成")]),a._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("secretName")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" wildcard"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("cloud"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("sealos"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("io"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("-")]),a._v("cert\n")])])])])],1),a._v(" "),s("h4",{attrs:{id:"step-3-本地客户端"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-3-本地客户端"}},[a._v("#")]),a._v(" Step.3 本地客户端")]),a._v(" "),s("p",[a._v("填写完成后,点击右上角 "),s("code",[a._v("Deploy")]),a._v(", 等待部署完成,状态success后,获取到服务地址。")]),a._v(" "),s("p",[a._v("然后在本地启动客户端,推荐 docker 一键拉起:")]),a._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[a._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("host dvkunion/seamoon proxy\n")])])]),s("p",[a._v("默认使用"),s("code",[a._v("--net=host")]),a._v("模式, 如需要高级设置,如下:")]),a._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[a._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("7777")]),a._v(":7777 "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("1080")]),a._v(":1080 dvkunion/seamoon proxy\n")])])]),s("p",[a._v("访问本地控制台 localhost:7777 , 将此地址填入客户端即可。")]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("如何填写地址")]),a._v(" "),s("p",[a._v("填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/3ff1604871c547d2af492c5fd37428f7.png",alt:"sealos-config-grpc-addr"}})]),a._v(" "),s("p",[a._v("wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。")])]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/a931e0b42c8748649d5156b2b0884fcb.png",alt:"sealos-config"}})]),a._v(" "),s("h3",{attrs:{id:"效果展示"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#效果展示"}},[a._v("#")]),a._v(" 效果展示")]),a._v(" "),s("p",[a._v("[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff9eb3ec14fa417daca7a661f9b4ecff.png",alt:"sealos"}})]),a._v(" "),s("p",[a._v("整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),a._v(" "),s("p",[a._v("如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)")]),a._v(" "),s("h2",{attrs:{id:"部署到render-免费的永远是最好的去-的免费的-号没了"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#部署到render-免费的永远是最好的去-的免费的-号没了"}},[a._v("#")]),a._v(" 部署到Render: "),s("s",[a._v("免费的永远是最好的")]),a._v("去**的免费的,号没了")]),a._v(" "),s("div",{staticClass:"custom-block danger"},[s("p",{staticClass:"custom-block-title"},[a._v("警告")]),a._v(" "),s("p",[a._v("2024.04.02 更新\n由于封号的问题,在 2.0 的初代版本没有集成自动化部署 render 服务。\n但是你仍可以通过手动部署的方式来")]),a._v(" "),s("p",[a._v("2024.02.02 更新"),s("br"),a._v("\nrender 不但 ban 了 "),s("code",[a._v("seamoon")]),a._v(" 镜像,还把号封了,*** 玩不起就别玩。"),s("br"),a._v("\n虽然还有各种各样的绕过方式,其账户注册起来也不困难,但是可以看出该运营商的顺准了,云计算这么多家,你不声明禁止直接ban号ban镜像有点东西的"),s("br"),a._v("\n也可能是我没仔细看声明,如果有找到的师傅麻烦让我看一下在哪。先喷为敬了。"),s("br"),a._v(" "),s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/4170f495a85d4cc6a6ff64ddedee9c3e.png",alt:"render-ban"}})])]),a._v(" "),s("p",[s("a",{attrs:{href:"https://www.render.com/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Render公有云地址"),s("OutboundLink")],1)]),a._v(" "),s("blockquote",[s("p",[a._v("Render是一个新的PaaS( Platform as a service)云端服务,也就是说你的代码部署到Render之后,你不用(也不能)去管Linux/firewall/nginx的设定。把你的Github网址给Render,设定一下用鼠标点点点,等个几分钟,你的程序就上线了,全世界都能看到你的网站或是存取你提供的API。"),s("a",{attrs:{href:"https://zhuanlan.zhihu.com/p/377558120",target:"_blank",rel:"noopener noreferrer"}},[a._v("(选自知乎)"),s("OutboundLink")],1)])]),a._v(" "),s("p",[a._v("我们来看一下官方是如何介绍自己的:")]),a._v(" "),s("blockquote",[s("p",[a._v("Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.")])]),a._v(" "),s("p",[a._v("其实这些都不重要,重要的是你只需要知道,"),s("s",[s("font",{attrs:{color:"pink"}},[s("b",[a._v("render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!")])]),a._v("这就够了,足够我们给他树一个👍。")],1),a._v(" 第二天就封号了的臭SB。")]),a._v(" "),s("h3",{attrs:{id:"如何部署-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#如何部署-2"}},[a._v("#")]),a._v(" 如何部署")]),a._v(" "),s("p",[a._v("render 部署与 sealos 部署一样简单,在新版本中,我会逐步减少部署步骤,降低这部分交互。")]),a._v(" "),s("h4",{attrs:{id:"step-1-注册账户-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-1-注册账户-2"}},[a._v("#")]),a._v(" Step.1 注册账户")]),a._v(" "),s("p",[a._v("render 账户支持 github / gitlab / google 等一键登陆,建议直接 github 账户登陆即可。")]),a._v(" "),s("p",[a._v("实在不行,他也支持邮箱注册,自己注册一个,此处不再废话。")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7d00a615cd45480bad1b7ade33b7e543.png",alt:"render-register"}})]),a._v(" "),s("h4",{attrs:{id:"step-2-部署-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-2-部署-2"}},[a._v("#")]),a._v(" Step.2 部署")]),a._v(" "),s("p",[a._v("注册账户登陆后,进入控制台,选择创建一个 web service 应用:")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ffcd48fa203b4959bdde631bdf77610e.png",alt:"render-web-service"}})]),a._v(" "),s("p",[a._v("然后选第二个,从存在的镜像中部署服务:")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/faa0f096dcfa40998b518b5e4de96534.png",alt:"render-web-deploy"}})]),a._v(" "),s("p",[a._v("点击下一步,要求我们填写部署的镜像名称,我们填写:"),s("code",[a._v("dvkunion/seamoon")])]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/3bc5a0437ea94a348f9841864f5c2df3.png",alt:"render-image"}})]),a._v(" "),s("p",[a._v("开始填写详细的应用字段了,我们依次填写:")]),a._v(" "),s("ul",[s("li",[a._v("Name: 应用名称,这个最终会对应生成你的服务域名,因此这里我建议越复杂越好,因为 seamoon 当前版本没有做认证,导致如果服务名称过于简单,很容易被其他人连上。")]),a._v(" "),s("li",[a._v("Region: 地域,选择服务部署的地区,现在支持四个区域:oregon-俄勒冈州(美国西部)、Frankfurt-法兰克福(欧盟)、ohio-俄亥俄州(美国东部)、singapore-新加坡(东亚)")]),a._v(" "),s("li",[a._v("实例类型: 选免费的。")])]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/160ff4f44e5a4e9d9128269dbc1a3e26.png",alt:"render-config"}})]),a._v(" "),s("p",[a._v("往下滑,看到 Docker Command 填写如下:")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/51fa80f6e4c84ae985bdb23ac8acf673.png",alt:"render-docker"}})]),a._v(" "),s("p",[a._v("完成,点击创建即可。")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/158478ce77a84130b43f786670a40c65.png",alt:"render-url"}})]),a._v(" "),s("h4",{attrs:{id:"step-3-本地客户端-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-3-本地客户端-2"}},[a._v("#")]),a._v(" Step.3 本地客户端")]),a._v(" "),s("p",[a._v("在本地启动客户端,推荐 docker 一键拉起:")]),a._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[a._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("host dvkunion/seamoon proxy\n")])])]),s("p",[a._v("默认使用"),s("code",[a._v("--net=host")]),a._v("模式, 如需要高级设置,如下:")]),a._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[a._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("7777")]),a._v(":7777 "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("1080")]),a._v(":1080 dvkunion/seamoon proxy\n")])])]),s("p",[a._v("访问本地控制台 localhost:7777 , 将此地址填入客户端即可。")]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("如何填写地址")]),a._v(" "),s("p",[a._v("填写的代理在步骤2已经明确给出,给出的地址是 https:// 开头的,需要改为如: wss://。")]),a._v(" "),s("p",[a._v("grpc目前没有测试是否支持,测试支持后后续会更新文档并补充。")])]),a._v(" "),s("h3",{attrs:{id:"测试效果"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#测试效果"}},[a._v("#")]),a._v(" 测试效果")]),a._v(" "),s("p",[a._v("整体机房是 amazon 的,所属地基本正确。")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/db670fef7f4f47cd95108a656c28c9a5.png",alt:"render-cip"}})]),a._v(" "),s("p",[a._v("速度的话,也就是正常水平,基本满足日常浏览和视频播放的样子。")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/80aee46729ca4ecdbda4c244ac26835b.png",alt:"render-speed"}})]),a._v(" "),s("p",[a._v("免费的来说已经是很不错的了。")]),a._v(" "),s("h3",{attrs:{id:"一些小细节问题"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#一些小细节问题"}},[a._v("#")]),a._v(" 一些小细节问题")]),a._v(" "),s("p",[s("font",{attrs:{color:"red"}},[s("b",[a._v("访问不到render/dashboard/github......")])])],1),a._v(" "),s("p",[a._v("我的建议是,先用阿里云等国内方案临时解决访问一下,然后在方案 render 等作为长期持久使用的方案。")]),a._v(" "),s("p",[s("font",{attrs:{color:"red"}},[s("b",[a._v("支持 grpc 吗?")])])],1),a._v(" "),s("p",[a._v("没做测试,个人测试使用的是 websocket 隧道,然后也没有发现官方文档中提到 grpc 相关的,有兴趣的各位可以试一下然后反馈给我。")]),a._v(" "),s("p",[s("font",{attrs:{color:"red"}},[s("b",[a._v("关于动态IP 问题")])])],1),a._v(" "),s("p",[a._v("免费版本的 render 是不支持动态 scaling (动态伸缩扩容) 的,因此,这个方案部署的 seamoon 将会是一个固定 IP。\n只有当 pod 销毁了,或者是你升级了套餐内容 (每月7刀) 才支持 scaling,才可以获取到动态 IP 的方案。")]),a._v(" "),s("p",[a._v('当然,事无绝对,你非要使用 "动态" + "免费" 的方式,也有,通过 api 调用每小时自动删除再创建应用,即可实现这个效果,还可以实现动态的地区变动。。。。')]),a._v(" "),s("p",[a._v("不过人家已经免费了,我不是非常建议这样做了。想要动态的 7刀一个月也不是一个过分的价格了,能支持的还是支持一下。")])],1)}),[],!1,null,null,null);s.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/14.dc585389.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{324:function(e,r,n){"use strict";n.r(r);var t=n(7),o=Object(t.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"服务端部署"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#服务端部署"}},[e._v("#")]),e._v(" 服务端部署")]),e._v(" "),r("p",[e._v("SeaMoon 提供了多种多样的部署方式。")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/aliyun/",target:"_blank",rel:"noopener noreferrer"}},[e._v("阿里云手动部署"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/tencent/",target:"_blank",rel:"noopener noreferrer"}},[e._v("腾讯云手动部署"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/sealos/",target:"_blank",rel:"noopener noreferrer"}},[e._v("🔥 sealos:更便宜更舒服的选择"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/render/",target:"_blank",rel:"noopener noreferrer"}},[e._v("💰 render:"),r("s",[e._v("免费的总是最好的")]),e._v("免费的总是会封号的"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.heroku.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("heroku"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://railway.app/new",target:"_blank",rel:"noopener noreferrer"}},[e._v("railway"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("serverless-devs快捷部署"),r("OutboundLink")],1)])])])}),[],!1,null,null,null);r.default=o.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/15.55e48f15.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{325:function(a,s,t){"use strict";t.r(s);var e=t(7),r=Object(e.a)({},(function(){var a=this,s=a._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h2",{attrs:{id:"docker"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#docker"}},[a._v("#")]),a._v(" Docker")]),a._v(" "),s("p",[a._v("推荐使用 docker 一键部署client")]),a._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[a._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("host dvkunion/seamoon:latest proxy\n")])])]),s("p",[a._v("默认使用"),s("code",[a._v("--net=host")]),a._v("模式,这样比较简单易懂。为了更高的安全性、可控性,你也可以自己选择映射:")]),a._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[a._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("127.0")]),a._v(".0.1:7777:7777 "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[a._v("1080")]),a._v(":1080 dvkunion/seamoon:latest proxy\n")])])]),s("p",[a._v("这样可以将管理端口限制只能通过本地 "),s("code",[a._v("127.0.0.1")]),a._v(" 访问,如果你需要限制为其他 IP,可以自行修改。")]),a._v(" "),s("p",[a._v("然后浏览器打开:")]),a._v(" "),s("p",[s("code",[a._v("localhost:7777")])]),a._v(" "),s("p",[a._v("即可开启客户端, 点击配置管理")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png",alt:"client"}})]),a._v(" "),s("p",[a._v("添加云端配置")]),a._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png",alt:"client-config"}})]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("如何填写地址")]),a._v(" "),s("p",[a._v("将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。")]),a._v(" "),s("p",[a._v("grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089")]),a._v(" "),s("p",[a._v("8089 是阿里云的固定 grpc 协议端口,不需要改动。")])]),a._v(" "),s("p",[a._v("开启socks5代理,并保持默认"),s("code",[a._v(":1080")]),a._v("不改变。")])])}),[],!1,null,null,null);s.default=r.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/15.dc15ace9.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{325:function(s,t,a){"use strict";a.r(t);var e=a(7),n=Object(e.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h2",{attrs:{id:"步部署到阿里云"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#步部署到阿里云"}},[s._v("#")]),s._v(" 步部署到阿里云")]),s._v(" "),t("p",[s._v("阿里云是使用上最为规范、标准化场景下的serverless部署方式。")]),s._v(" "),t("p",[s._v("如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。")]),s._v(" "),t("h3",{attrs:{id:"如何部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#如何部署"}},[s._v("#")]),s._v(" 如何部署")]),s._v(" "),t("p",[s._v("如果你了解云函数,可以使用自定义镜像 / 自定义运行时 / 二进制等等方式部署。")]),s._v(" "),t("p",[s._v("下文是基于对完全不了解云函数的同学给出的最简单的部署方式。")]),s._v(" "),t("h4",{attrs:{id:"step-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-1"}},[s._v("#")]),s._v(" Step.1")]),s._v(" "),t("ul",[t("li",[s._v("阿里云首先要开通函数计算服务。")]),s._v(" "),t("li",[s._v("fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下")]),s._v(" "),t("li",[s._v("进入阿里云控制台,点击应用 -> 创建应用")])]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/66d81e68e1fa4ef9b8aa3775b4957552.png",alt:"aliyun-create-app"}})]),s._v(" "),t("h4",{attrs:{id:"step-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-2"}},[s._v("#")]),s._v(" Step.2")]),s._v(" "),t("p",[s._v("选择 "),t("code",[s._v("通过仓库导入应用")]),s._v(" , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/d00b5116362d47cdb429f91e48ab2d3a.png",alt:"aliyun-app-import"}})]),s._v(" "),t("h4",{attrs:{id:"step-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-3"}},[s._v("#")]),s._v(" Step.3")]),s._v(" "),t("p",[s._v("点击创建,等待服务部署成功")]),s._v(" "),t("h3",{attrs:{id:"效果展示"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#效果展示"}},[s._v("#")]),s._v(" 效果展示")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),s._v(" "),t("h2",{attrs:{id:"叹息的腾讯云"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#叹息的腾讯云"}},[s._v("#")]),s._v(" 叹息的腾讯云")]),s._v(" "),t("div",{staticClass:"custom-block danger"},[t("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),t("p",[s._v("由于腾讯云 grpc 也没调研,加上拉胯不推荐使用,所以此处的文档依旧为 v1.1.3 版本,非最新版本文档。\n如果要使用最新版本,请看上两篇的部署方式。")])]),s._v(" "),t("p",[s._v("先说结论,个人不建议腾讯云部署,原因众多:")]),s._v(" "),t("ul",[t("li",[s._v("腾讯云go代码部署仅支持代码上传,这种过时的部署方式完全不符合devops的生态。")]),s._v(" "),t("li",[s._v("如此必须依赖自定义镜像部署,腾讯云又不支持公网镜像部署,还需要手动将镜像推送至个人腾讯云仓库(虽然个人版免费)")]),s._v(" "),t("li",[s._v("最最最最最重要的一点:腾讯云SFC不免费了,没有了免费调度的礼包,必须得买套餐,不买套餐TMD血贵,只是测了个速花了我4毛钱!")])]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/e2929ffbf39a4e9f92539ecd79db1f8e.png",alt:"tencent-billing"}})]),s._v(" "),t("p",[s._v("因此使用腾讯云的用户请先考虑下钱包,虽然最低配置的流量包9.9一个月。")]),s._v(" "),t("h3",{attrs:{id:"如何部署-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#如何部署-2"}},[s._v("#")]),s._v(" 如何部署")]),s._v(" "),t("p",[s._v("步骤很多,一步一步操作吧。。。大概对比一下就知道为什么不推荐腾讯云部署了。")]),s._v(" "),t("h4",{attrs:{id:"step-1-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-1-2"}},[s._v("#")]),s._v(" Step.1")]),s._v(" "),t("p",[s._v("结论也提到了,腾讯云不支持go代码级别部署,所以我们为了方便,只能通过自定义镜像部署模式,函数类型选择web类型:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/2cedc6b7287f414f927a483049d59a19.png",alt:"tencent-app"}})]),s._v(" "),t("p",[s._v("在填写部署参数之前,需要先手动来上传server镜像到个人仓库(个人镜像仓库10个以内免费)")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/31501cea0bf740c1bf061218581c92f2.png",alt:"tencent-images"}})]),s._v(" "),t("p",[s._v("点击选择镜像,将会跳转至个人镜像仓库:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/8b6bf3ff3c4849cfa0bdc3ab9a1e3d44.png",alt:"tencent-registry"}})]),s._v(" "),t("p",[s._v("创建个人镜像仓库,先要创建命名空间,这个随便起个名字就好。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/46f890741dcf4fefbd1091859caa3a2c.png",alt:"tencent-registry-create"}})]),s._v(" "),t("p",[s._v("然后需要创建镜像仓库,镜像仓库的名称必须为:"),t("code",[s._v("seamoon-server")])]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/bf8e425ba0144ae3b357c73b97545905.png",alt:"tencent-registry-images"}})]),s._v(" "),t("p",[s._v("然后点击快捷操作,会出现命令提示:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/24166d0e0d854435ae66153fa88e2252.png",alt:"tencent-registry-login"}})]),s._v(" "),t("p",[s._v("复杂的步骤来了。现在需要找一台i386/amd64架构、且有docker的电脑......如果不懂如何查看电脑架构/不知道如何安装docker,建议还是放弃腾讯云。")]),s._v(" "),t("p",[s._v("执行以下命令")]),s._v(" "),t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 拉取dockerhub 服务镜像")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" pull dvkunion/seamoon-server:latest\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 重新tag镜像")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" tag dvkunion/seamoon-server:latest "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/seamoon-server:latest\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 登陆腾讯云")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" login "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("--username")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图提供的用户名"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 推送镜像")]),s._v("\n$ "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("docker")]),s._v(" push "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("上图命令的地址"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("/seamoon-server:latest\n")])])]),t("p",[s._v("还需要注意,登录时是需要填写登录密码的,如果是在不知道这个密码在哪里,建议重置一下;重置密码的位置也隐秘的感人:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/efefb1d95a5a48929186b41b9da1af0d.png",alt:"tencent-registry-passwd"}})]),s._v(" "),t("p",[s._v("至此,第一步已完成。")]),s._v(" "),t("h4",{attrs:{id:"step-2-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-2-2"}},[s._v("#")]),s._v(" Step.2")]),s._v(" "),t("p",[s._v("回到函数创建的页面,我们继续来创建函数。")]),s._v(" "),t("p",[s._v("现在选择部署镜像的位置已经有了,选择刚推送的seamoon-server镜像,开始填写配置吧:")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff6e2d4d1e904798a8f6a5102e861318.png",alt:"tencent-app-setting"}})]),s._v(" "),t("p",[s._v("基础配置中,函数类型必须选择web函数。名称建议填写seamoon比较容易识别,地域按照你自己的需求选择即可。")]),s._v(" "),t("p",[s._v("函数代码选完我们上传的镜像,不需要改动。")]),s._v(" "),t("p",[s._v("日志要花钱的,钱多就开。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/9e606f6b3a06428dbbaeda4ff51000ef.png",alt:"tencent-app-custom"}})]),s._v(" "),t("p",[s._v("高级配置中主要是环境配置:函数内存给个最低的64就够,初始化时间按照建议给90s,超时时间给600 10分钟足够。")]),s._v(" "),t("p",[s._v("重要的是环境变量的配置,如果是socks5代理这个值填写socks5; 如果你想要http代理,这里填写http。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/c846ef2987a845b09f8bfd07aa800d6a.png",alt:"tencent-socks5"}})]),s._v(" "),t("p",[s._v("往下滑,记得开启公网IP,并且不要绑定IP, 如果想要固定 IP 的再勾选绑定IP。来到协议配置,开启websocket,超时时间设置60,其他的都可以默认不动。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/1f4dcff644dd4a0f836d6a62f1633295.png",alt:"tencent-ip"}})]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/f140dcd5a43f41bfb3bef8f7db540dc0.png",alt:"tencent-ws"}})]),s._v(" "),t("p",[s._v("触发器也默认不动即可。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ae6824b540414859ad634f35332f9c79.png",alt:"tencent-creator"}})]),s._v(" "),t("p",[s._v("点击部署,终于,服务部署完成。")]),s._v(" "),t("h4",{attrs:{id:"step-3-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#step-3-2"}},[s._v("#")]),s._v(" Step.3")]),s._v(" "),t("p",[s._v("部署完成后,几秒后自动跳转到函数页面,点击触发管理,可以看到函数地址,将此地址直接复制到客户端配置即可。")]),s._v(" "),t("h3",{attrs:{id:"效果展示-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#效果展示-2"}},[s._v("#")]),s._v(" 效果展示")]),s._v(" "),t("p",[s._v("勉勉强强及格吧,大概10MB下行带宽的样子。")]),s._v(" "),t("p",[s._v("而且初次启动的冷启动速度相比其他家腾讯云是有明显感受上的启动时间的;IP池也逐步下滑了(benchtest大概在17-30个左右)。")]),s._v(" "),t("p",[s._v("而且从服务群来看,感觉腾讯云已经摆烂了,这玩意就这样了你爱用不用吧......哎。")])])}),[],!1,null,null,null);t.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/16.463faaa4.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{326:function(e,r,n){"use strict";n.r(r);var t=n(7),o=Object(t.a)({},(function(){var e=this,r=e._self._c;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"高级进阶"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#高级进阶"}},[e._v("#")]),e._v(" 高级进阶")]),e._v(" "),r("p",[e._v("SeaMoon 提供了多种多样的部署方式。")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/aliyun/",target:"_blank",rel:"noopener noreferrer"}},[e._v("阿里云手动部署"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/tencent/",target:"_blank",rel:"noopener noreferrer"}},[e._v("腾讯云手动部署"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/sealos/",target:"_blank",rel:"noopener noreferrer"}},[e._v("🔥 sealos:更便宜更舒服的选择"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/render/",target:"_blank",rel:"noopener noreferrer"}},[e._v("💰 render:"),r("s",[e._v("免费的总是最好的")]),e._v("免费的总是会封号的"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://www.heroku.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("heroku"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://railway.app/new",target:"_blank",rel:"noopener noreferrer"}},[e._v("railway"),r("OutboundLink")],1)]),e._v(" "),r("li",[r("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("serverless-devs快捷部署"),r("OutboundLink")],1)])])])}),[],!1,null,null,null);r.default=o.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/16.58712f6f.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{326:function(t,s,a){"use strict";a.r(s);var e=a(7),o=Object(e.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h2",{attrs:{id:"binary"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#binary"}},[t._v("#")]),t._v(" Binary")]),t._v(" "),s("h2",{attrs:{id:"客户端下载"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#客户端下载"}},[t._v("#")]),t._v(" 客户端下载")]),t._v(" "),s("p",[t._v("在 "),s("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/releases",target:"_blank",rel:"noopener noreferrer"}},[t._v("Github Release"),s("OutboundLink")],1),t._v(" 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/955161ed6d3c48b181397bed1bcaca45.png",alt:"release"}})]),t._v(" "),s("h2",{attrs:{id:"客户端配置"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#客户端配置"}},[t._v("#")]),t._v(" 客户端配置")]),t._v(" "),s("blockquote",[s("p",[t._v("1.1.0 之前的客户端是cli的模式,已经废弃,不再支持,请使用最新版本客户端。")])]),t._v(" "),s("p",[s("code",[t._v("./seamoon proxy")])]),t._v(" "),s("p",[t._v("启动客户端,会占用7777端口。")]),t._v(" "),s("p",[t._v("然后所有操作在 localhost:7777 进行操作即可:")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png",alt:"client"}})]),t._v(" "),s("p",[t._v("点击配置管理, 添加云端配置, 然后按照你的需求,选在开启本地的http代理/socks5代理")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png",alt:"client-config"}})]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("如何填写地址")]),t._v(" "),s("p",[t._v("将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。")]),t._v(" "),s("p",[t._v("grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089")]),t._v(" "),s("p",[t._v("8089 是阿里云的固定 grpc 协议端口,不需要改动。")])])])}),[],!1,null,null,null);s.default=o.exports}}]);
  • ■ ■ ■ ■
    assets/js/18.e979b696.js assets/js/17.3ec75fb7.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{328:function(t,o,s){"use strict";s.r(o);var a=s(7),c=Object(a.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h2",{attrs:{id:"��-tor-网络开启"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#��-tor-网络开启"}},[t._v("#")]),t._v(" �� Tor 网络开启")]),t._v(" "),o("div",{staticClass:"custom-block warning"},[o("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),o("p",[t._v("tor 服务比较吃内存,经测试 内存至少需要配置在 100MB 以上才能发挥稳定的效果。")])]),t._v(" "),o("p",[t._v("为了防止普通流量过 Tor 导致的速率下降,在客户端做了个开关。")]),t._v(" "),o("p",[t._v("客户端会根据这个这个开关来选择是否给服务端发送 Tor 代理标识。")]),t._v(" "),o("p",[t._v("服务端接收到 Tor 代理标识后,会将流量直接转发给本地服务。")]),t._v(" "),o("p",[o("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ec26347f298a4f9d81f7068eb3c0e4dc.png",alt:"tor"}})]),t._v(" "),o("p",[t._v("注意,tor 网络目前仅支持: 本地 socks5 代理 + websocket 隧道 的模式。")]),t._v(" "),o("p",[t._v("然后本地的 socks5 代理即可访问一些 .onion 结尾的域名了。如:")]),t._v(" "),o("p",[o("code",[t._v("https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/")])]),t._v(" "),o("p",[o("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/09626bede56b4c18b6cd4d41d3e11c00.png",alt:"onion"}})]),t._v(" "),o("div",{staticClass:"custom-block tip"},[o("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),o("p",[t._v("在当前版本内,seamoon 实现了最简单的 tor 接入方式 -- 通过 tor cli 自带的 s5 协议做了一层转发,因为 v2ray 也是这样玩的。")]),t._v(" "),o("p",[t._v("实际上,这种方案,有很多不足,出去开头的资源占用较高 warning,通过 binary 的集成力度也不是非常合适,但是在这个阶段暂时用该方案来减少代码开发的工作量。")]),t._v(" "),o("p",[t._v('因此,此方案仅用于证明 seamoon 的扩展性,距离真正 "便宜" 可能还需要一段的距离。')])])])}),[],!1,null,null,null);o.default=c.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{327:function(t,o,s){"use strict";s.r(o);var a=s(7),c=Object(a.a)({},(function(){var t=this,o=t._self._c;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h2",{attrs:{id:"��-tor-网络开启"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#��-tor-网络开启"}},[t._v("#")]),t._v(" �� Tor 网络开启")]),t._v(" "),o("div",{staticClass:"custom-block warning"},[o("p",{staticClass:"custom-block-title"},[t._v("注意")]),t._v(" "),o("p",[t._v("tor 服务比较吃内存,经测试 内存至少需要配置在 100MB 以上才能发挥稳定的效果。")])]),t._v(" "),o("p",[t._v("为了防止普通流量过 Tor 导致的速率下降,在客户端做了个开关。")]),t._v(" "),o("p",[t._v("客户端会根据这个这个开关来选择是否给服务端发送 Tor 代理标识。")]),t._v(" "),o("p",[t._v("服务端接收到 Tor 代理标识后,会将流量直接转发给本地服务。")]),t._v(" "),o("p",[o("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ec26347f298a4f9d81f7068eb3c0e4dc.png",alt:"tor"}})]),t._v(" "),o("p",[t._v("注意,tor 网络目前仅支持: 本地 socks5 代理 + websocket 隧道 的模式。")]),t._v(" "),o("p",[t._v("然后本地的 socks5 代理即可访问一些 .onion 结尾的域名了。如:")]),t._v(" "),o("p",[o("code",[t._v("https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/")])]),t._v(" "),o("p",[o("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/09626bede56b4c18b6cd4d41d3e11c00.png",alt:"onion"}})]),t._v(" "),o("div",{staticClass:"custom-block tip"},[o("p",{staticClass:"custom-block-title"},[t._v("提示")]),t._v(" "),o("p",[t._v("在当前版本内,seamoon 实现了最简单的 tor 接入方式 -- 通过 tor cli 自带的 s5 协议做了一层转发,因为 v2ray 也是这样玩的。")]),t._v(" "),o("p",[t._v("实际上,这种方案,有很多不足,出去开头的资源占用较高 warning,通过 binary 的集成力度也不是非常合适,但是在这个阶段暂时用该方案来减少代码开发的工作量。")]),t._v(" "),o("p",[t._v('因此,此方案仅用于证明 seamoon 的扩展性,距离真正 "便宜" 可能还需要一段的距离。')])])])}),[],!1,null,null,null);o.default=c.exports}}]);
  • ■ ■ ■ ■
    assets/js/17.bbfc83cb.js assets/js/18.8dc0b3e8.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{327:function(s,t,a){"use strict";a.r(t);var e=a(7),r=Object(e.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h2",{attrs:{id:"gost-优雅的-golang-代理"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#gost-优雅的-golang-代理"}},[s._v("#")]),s._v(" GOST - 优雅的 golang 代理")]),s._v(" "),t("p",[s._v("Seamoon 对接 "),t("a",{attrs:{href:"https://github.com/go-gost/gost",target:"_blank",rel:"noopener noreferrer"}},[s._v("Gost"),t("OutboundLink")],1),s._v(' 十分简单。原因也很简单,2.0 迭代的代码改造中"借鉴"(copy)了很多 gost 的设计和原封不动的代码结构。对协议的理解和代码设计上参考了很多师傅的模式。在此表示感谢无私的开源和分享。')]),s._v(" "),t("p",[s._v("GOST 是一款基于 golang 的简单隧道,具体的介绍可以访问其"),t("a",{attrs:{href:"https://gost.run",target:"_blank",rel:"noopener noreferrer"}},[s._v("官网"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("在技术博客里,我们也分享了 GOST 的一些设计架构代码,我们可以这样理解: Seamoon 服务端就是一个 websocket / grpc 的 gost 转发节点,但是只实现了 http / socks5 的处理模块,由此目前还支持值了这两种协议的转发。")]),s._v(" "),t("p",[s._v("gost 的客户端更强大,因为模块拆分的很细致,所以能实现很多好玩的玩法各种组合, 理论来讲, gost 支持的 listen 都可以通过 seamoon 的隧道转发过来。")]),s._v(" "),t("p",[s._v("gost 还支持了 metrics 等数据统计、代理认证、限速等等客户端实现的功能,适合长期挂在本地作为一个持久化的服务使用。")]),s._v(" "),t("p",[s._v("我们给出一些demo示例,来看一下 seamoon 如何对接 gost。这里免去了 gost 安装相关教程,默认用户已安装了 gost,提供的是具体的启动脚本配置。")]),s._v(" "),t("h3",{attrs:{id:"websocket-隧道"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#websocket-隧道"}},[s._v("#")]),s._v(" websocket 隧道")]),s._v(" "),t("code-group",[t("code-block",{attrs:{title:"gost-http + seamoon-websocket(http)",active:""}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" http://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/http\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-http + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" http://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-socks5 + seamoon-websocket(http)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" socks5://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/http\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-socks5 + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" socks5://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-socks4 + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个其他协议代理,这里以 socks4 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" socks4://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-shadowsocks + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个其他协议代理,这里以 shadowsocks 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" ss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("cipher"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("pass"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("@:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 如:ss://AEAD_AES_128_GCM:password@:1080")]),s._v("\n")])])])])],1),s._v(" "),t("h3",{attrs:{id:"grpc-隧道"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#grpc-隧道"}},[s._v("#")]),s._v(" grpc 隧道")]),s._v(" "),t("p",[s._v("grpc 隧道由于 gost 的 proto 略有冲突,因此需要单独适配实现一个 server。计划 2.0 版本彻底完成适配。")])],1)}),[],!1,null,null,null);t.default=r.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{330:function(s,t,a){"use strict";a.r(t);var e=a(7),r=Object(e.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h2",{attrs:{id:"gost-优雅的-golang-代理"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#gost-优雅的-golang-代理"}},[s._v("#")]),s._v(" GOST - 优雅的 golang 代理")]),s._v(" "),t("p",[s._v("Seamoon 对接 "),t("a",{attrs:{href:"https://github.com/go-gost/gost",target:"_blank",rel:"noopener noreferrer"}},[s._v("Gost"),t("OutboundLink")],1),s._v(' 十分简单。原因也很简单,2.0 迭代的代码改造中"借鉴"(copy)了很多 gost 的设计和原封不动的代码结构。对协议的理解和代码设计上参考了很多师傅的模式。在此表示感谢无私的开源和分享。')]),s._v(" "),t("p",[s._v("GOST 是一款基于 golang 的简单隧道,具体的介绍可以访问其"),t("a",{attrs:{href:"https://gost.run",target:"_blank",rel:"noopener noreferrer"}},[s._v("官网"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("在技术博客里,我们也分享了 GOST 的一些设计架构代码,我们可以这样理解: Seamoon 服务端就是一个 websocket / grpc 的 gost 转发节点,但是只实现了 http / socks5 的处理模块,由此目前还支持值了这两种协议的转发。")]),s._v(" "),t("p",[s._v("gost 的客户端更强大,因为模块拆分的很细致,所以能实现很多好玩的玩法各种组合, 理论来讲, gost 支持的 listen 都可以通过 seamoon 的隧道转发过来。")]),s._v(" "),t("p",[s._v("gost 还支持了 metrics 等数据统计、代理认证、限速等等客户端实现的功能,适合长期挂在本地作为一个持久化的服务使用。")]),s._v(" "),t("p",[s._v("我们给出一些demo示例,来看一下 seamoon 如何对接 gost。这里免去了 gost 安装相关教程,默认用户已安装了 gost,提供的是具体的启动脚本配置。")]),s._v(" "),t("h3",{attrs:{id:"websocket-隧道"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#websocket-隧道"}},[s._v("#")]),s._v(" websocket 隧道")]),s._v(" "),t("code-group",[t("code-block",{attrs:{title:"gost-http + seamoon-websocket(http)",active:""}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" http://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/http\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-http + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" http://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-socks5 + seamoon-websocket(http)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" socks5://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/http\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-socks5 + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" socks5://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-socks4 + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个其他协议代理,这里以 socks4 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" socks4://:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n")])])])]),s._v(" "),t("code-block",{attrs:{title:"gost-shadowsocks + seamoon-websocket(socks5)"}},[t("div",{staticClass:"language-shell extra-class"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 通过 gost 启动一个其他协议代理,这里以 shadowsocks 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。")]),s._v("\ngost "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-L")]),s._v(" ss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("cipher"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("pass"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("@:1080 "),t("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-F")]),s._v(" socks5+wss://"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-server"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v(":"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v("seamoon-port"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v(">")]),s._v("?path"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("/socks5\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 如:ss://AEAD_AES_128_GCM:password@:1080")]),s._v("\n")])])])])],1),s._v(" "),t("h3",{attrs:{id:"grpc-隧道"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#grpc-隧道"}},[s._v("#")]),s._v(" grpc 隧道")]),s._v(" "),t("p",[s._v("grpc 隧道由于 gost 的 proto 略有冲突,因此需要单独适配实现一个 server。计划 2.0 版本彻底完成适配。")])],1)}),[],!1,null,null,null);t.default=r.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/19.3dd46379.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{328:function(t,n,s){"use strict";s.r(n);var o=s(7),e=Object(o.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("p",[this._v("seamoon 完美兼容 v2ray 系列客户端。")])])}),[],!1,null,null,null);n.default=e.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/19.c1cf8f06.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{329:function(e,n,t){"use strict";t.r(n);var o=t(7),r=Object(o.a)({},(function(){var e=this,n=e._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h2",{attrs:{id:"客户端部署"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#客户端部署"}},[e._v("#")]),e._v(" 客户端部署")]),e._v(" "),n("p",[e._v("SeaMoon 客户端同样支持多模式部署")]),e._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/docker/",target:"_blank",rel:"noopener noreferrer"}},[e._v("docker"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/binary/",target:"_blank",rel:"noopener noreferrer"}},[e._v("binary"),n("OutboundLink")],1)])]),e._v(" "),n("p",[e._v("Seamoon 客户端还支持了 Tor 网桥的接入")]),e._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/tor/",target:"_blank",rel:"noopener noreferrer"}},[e._v("tor"),n("OutboundLink")],1)])]),e._v(" "),n("p",[e._v("除此之外,你还可以选择其他客户端,seamoon做了部分的协议适配支持,这样可以选择仅部署服务端,然后使用已有的成品客户端。")]),e._v(" "),n("p",[e._v("成品客户端通常会支持更多协议类型,比如 gost,基本上所有可以监听的类型都可以通过 seamoon 隧道协议转发出来。")]),e._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/gost/",target:"_blank",rel:"noopener noreferrer"}},[e._v("gost:优雅简便的go代理"),n("OutboundLink")],1)])])])}),[],!1,null,null,null);n.default=r.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/20.60a5b631.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{329:function(e,n,r){"use strict";r.r(n);var t=r(7),o=Object(t.a)({},(function(){var e=this,n=e._self._c;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("h2",{attrs:{id:"其他客户端支持"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#其他客户端支持"}},[e._v("#")]),e._v(" 其他客户端支持")]),e._v(" "),n("p",[e._v("SeaMoon 继承了云原生的开放思想,不局限于一种/一个平台,尽可能的适配各种客户端的模式,使用已有的成品客户端。")]),e._v(" "),n("p",[e._v("成品客户端通常会支持更多协议类型,比如 gost,基本上所有可以监听的类型都可以通过 seamoon 隧道协议转发出来。")]),e._v(" "),n("ul",[n("li",[n("p",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/gost/",target:"_blank",rel:"noopener noreferrer"}},[e._v("gost:优雅简便的go代理"),n("OutboundLink")],1)])]),e._v(" "),n("li",[n("p",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/docker/",target:"_blank",rel:"noopener noreferrer"}},[e._v("docker"),n("OutboundLink")],1)])]),e._v(" "),n("li",[n("p",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/binary/",target:"_blank",rel:"noopener noreferrer"}},[e._v("binary"),n("OutboundLink")],1)])])]),e._v(" "),n("p",[e._v("Seamoon 客户端还支持了 Tor 网桥的接入")]),e._v(" "),n("ul",[n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/tor/",target:"_blank",rel:"noopener noreferrer"}},[e._v("tor"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/v2ray/",target:"_blank",rel:"noopener noreferrer"}},[e._v("v2ray: 时代战神"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/clash/",target:"_blank",rel:"noopener noreferrer"}},[e._v("clash: 快速的即成,抛开多个客户端"),n("OutboundLink")],1)])])])}),[],!1,null,null,null);n.default=o.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/20.e7ca72c7.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{330:function(t,s,o){"use strict";o.r(s);var a=o(7),e=Object(a.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"position"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" Position")]),t._v(" "),s("h2",{attrs:{id:"前言-为什么要写月海这个工具-why-sea-moon"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前言-为什么要写月海这个工具-why-sea-moon"}},[t._v("#")]),t._v(" 前言: 为什么要写月海这个工具? (Why Sea Moon)")]),t._v(" "),s("ul",[s("li",[t._v("随着云原生不断地推广,希望渗透测试也能够与时俱进,开启一个新的纪元。不论从测试的手段还是挖掘方向,都应该朝着时代发展的方向跟进。")]),t._v(" "),s("li",[t._v("现有项目模式较为松散,部署还是需要花费一些经历来理解和操作。而类似阿里云已经上升到serverless应用的层级,相应的部署方式和玩法更新颖。")]),t._v(" "),s("li",[t._v("如果将这些项目比作是概念性工具,那么月海致力于打造的是一个较为成熟化的,能够快速简易应用的工具集产品。")]),t._v(" "),s("li",[t._v("月海希望能够抛砖引玉,提出一个简易的框架和模式,将现有的大部分可迁移至云端操作的攻击手段集成进来,最终达到随手拿来的一台崭新电脑,5分钟即可进入攻击状态(理想)。")])])])}),[],!1,null,null,null);s.default=e.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/21.58bb51b4.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{331:function(t,s,a){"use strict";a.r(s);var r=a(7),e=Object(r.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"position"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#position"}},[t._v("#")]),t._v(" Position")]),t._v(" "),s("h2",{attrs:{id:"一些想法上的改动"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#一些想法上的改动"}},[t._v("#")]),t._v(" 一些想法上的改动")]),t._v(" "),s("p",[t._v("随着版本的迭代,月海已经与我最初的雏形完全偏离")]),t._v(" "),s("h2",{attrs:{id:"前言-为什么要写月海这个工具-why-sea-moon"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前言-为什么要写月海这个工具-why-sea-moon"}},[t._v("#")]),t._v(" 前言: 为什么要写月海这个工具? (Why Sea Moon)")]),t._v(" "),s("ul",[s("li",[t._v("随着云原生不断地推广,希望渗透测试也能够与时俱进,开启一个新的纪元。不论从测试的手段还是挖掘方向,都应该朝着时代发展的方向跟进。")]),t._v(" "),s("li",[t._v("现有项目模式较为松散,部署还是需要花费一些经历来理解和操作。而类似阿里云已经上升到serverless应用的层级,相应的部署方式和玩法更新颖。")]),t._v(" "),s("li",[t._v("如果将这些项目比作是概念性工具,那么月海致力于打造的是一个较为成熟化的,能够快速简易应用的工具集产品。")]),t._v(" "),s("li",[t._v("月海希望能够抛砖引玉,提出一个简易的框架和模式,将现有的大部分可迁移至云端操作的攻击手段集成进来,最终达到随手拿来的一台崭新电脑,5分钟即可进入攻击状态(理想)。")])])])}),[],!1,null,null,null);s.default=e.exports}}]);
  • ■ ■ ■ ■
    assets/js/21.ba4d4a27.js assets/js/22.41173315.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{331:function(e,t,a){"use strict";a.r(t);var o=a(7),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"feature"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#feature"}},[e._v("#")]),e._v(" FEATURE")]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-2-0-beta-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-2-0-beta-2"}},[e._v("#")]),e._v(" SeaMoon 1.2.0-beta.2")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� docs: 订正手册 (#49)")]),e._v(" "),t("li",[e._v("�� docs: 手册增加了 "),t("a",{attrs:{href:"https://github.com/go-gost/gost",target:"_blank",rel:"noopener noreferrer"}},[e._v("gost"),t("OutboundLink")],1),e._v(" 作为本地客户端的使用方式 (#57)")]),e._v(" "),t("li",[e._v("�� fix(client): 修复 ISSUE 提到的连接缓慢问题 (#48)(#23)(#44)")])]),e._v(" "),t("h3",{attrs:{id:"what-s-changed"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-s-changed"}},[e._v("#")]),e._v(" What's Changed")]),e._v(" "),t("ul",[t("li",[e._v("fix: use release binary instead of self compiling by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/24")]),e._v(" "),t("li",[e._v("fix: client error && websocket compress error by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/48")]),e._v(" "),t("li",[e._v("docs: update manual && update yarn && fix a little bug by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/49")]),e._v(" "),t("li",[e._v("fix: roll back vdoing by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/50")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.2.0-beta.1...1.2.0-beta.2")]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-2-0-beta-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-2-0-beta-1"}},[e._v("#")]),e._v(" SeaMoon 1.2.0-beta.1")]),e._v(" "),t("blockquote",[t("p",[e._v("1.2.0 是一个临时版本,由于想要加入一些新的功能与适配,整体代码改动量较大。因此先拆分了部分功能代码。\n整体的稳定性上会有所欠缺,更多的是下一个版本的新功能尝试")])]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-2"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� docs: 修正了首页的一些图床丢失 (#18)")]),e._v(" "),t("li",[e._v("✨ feat(server): 新增隧道协议:grpc (#19)")]),e._v(" "),t("li",[e._v("⚡️ zap(server): 将协议解码转移在服务端处理,轻量化客户端 (#17)")]),e._v(" "),t("li",[e._v("�� refartor(server): 重构服务端模式,参考 gost 代理项目优化网络传输 (#15)")]),e._v(" "),t("li",[e._v("�� refartor(client): 减轻客户端传递功能,做更多兼容性适配,配合server重构 (#20)")]),e._v(" "),t("li",[e._v("�� fix(ci): 修正一些重构导致的ci错误(#16)(#21)(#22)")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.3...1.2.0-beta.1")]),e._v(" "),t("ul",[t("li",[e._v("75db770 feat: support grpc tunnel (#19)")]),e._v(" "),t("li",[e._v("122435f fix: Dockerfile (#22)")]),e._v(" "),t("li",[e._v("ae49ee0 fix: page ci dir changes (#16)")]),e._v(" "),t("li",[e._v("be04fa1 fix: tag ci error (#21)")]),e._v(" "),t("li",[e._v("f40e8f0 refactor: client (#20)")]),e._v(" "),t("li",[e._v("22bc49c refactor: server code && upgrade go mod (#15)")]),e._v(" "),t("li",[e._v("ef2bf71 zap: change socks handle from client to server. (#17)")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-3"}},[e._v("#")]),e._v(" SeaMoon 1.1.3")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-3"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� docs: 增加手册页面sitemap站点地图(#7)(#8)")]),e._v(" "),t("li",[e._v("✨ feat(server): 修改了阿里云默认的部署资源类型(vcpu 0.1/mem 128),来降低普通用户使用的价格消费 (#10)")]),e._v(" "),t("li",[e._v("✨ feat(server): 增加了sealos部署方案,用更加便宜的价格使用seamoon (#11)")]),e._v(" "),t("li",[e._v("✨ feat(server): 增加了docker server, 现在可以通过docker来启动服务端 (#12)")]),e._v(" "),t("li",[e._v("�� fix(config): 用更友好的方式来使用config,不再单一的通过域名特征来判断服务端地址类型。(#13)")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.2...1.1.3")]),e._v(" "),t("ul",[t("li",[e._v("41c5ce8 feat(docker): add docker server (#12)")]),e._v(" "),t("li",[e._v("1414293 feat: low cpu && mem cost (#10)")]),e._v(" "),t("li",[e._v("99c98fd fix(client): use more friendly config (#13)")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-2"}},[e._v("#")]),e._v(" SeaMoon 1.1.2")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-4"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� fix(websocket): 修正了protocol error detect 时仍挂起gorouting导致卡死的问题 (#6)")]),e._v(" "),t("li",[e._v("✨ feat(dockerfile): 增加了docker client, 现在可以通过docker来启动客户端 (#6)")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.1...1.1.2")]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-1"}},[e._v("#")]),e._v(" SeaMoon 1.1.1")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-5"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� fix(websocket): 修正了 websocket 在超出 32768 slice导致的 panic。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(websocket): 修整了 websocket 在 close 时写入 message 导致的 panic。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(websocket): 忽略了大量 websocket 链接导致的 1006 abnormal close 报错。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(s.yaml): 修整了 serverless-devs 工具编排文件,目前可以通过 serverless-devs 工具"),t("code",[e._v("s deploy")]),e._v("一件部署至阿里云。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(ci): 修整了 go-releaser ci 配置 (#3)")]),e._v(" "),t("li",[e._v("�� fix(docs): 更新了 README.md 较为过时的使用手册。")])]),e._v(" "),t("h3",{attrs:{id:"��-small-talk"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#��-small-talk"}},[e._v("#")]),e._v(" �� Small Talk")]),e._v(" "),t("blockquote",[t("p",[e._v("Hi,各位,SeaMoon成功挤入2023Kcon兵器谱,使得整个项目获得了一批关注;在此感谢大家对SeaMoon项目的浓厚兴趣与支持,谢谢各位��"),t("br"),e._v("\n由于工作原因,以及个人的一些想法枯竭,项目于去年创建,直到现在目前也仅支持了阿里云一个demo QAQ,因此整体给人并不是一个较为完善的使用效果。1.1.1 版本后,我会尽量保证一些活跃性质的更新,以及一些比较有意思的想法demo迭代。"),t("br"),e._v("\n也欢迎对serverless感兴趣的安全小伙伴留言来交个朋友~")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.0...1.1.1")]),e._v(" "),t("ul",[t("li",[e._v("bc209a9 doc: update README.md")]),e._v(" "),t("li",[e._v("a2e7360 fix: go-releaser ci config (#3)")]),e._v(" "),t("li",[e._v("8f51e63 fix: readme.md")]),e._v(" "),t("li",[e._v("fe658ff fix: some websocket error optimization (#4)")]),e._v(" "),t("li",[e._v("c316527 hotfix: some docs and code format")])]),e._v(" "),t("h2",{attrs:{id:"_1-1-0-2022-09-27"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-0-2022-09-27"}},[e._v("#")]),e._v(" 1.1.0 (2022-09-27)")]),e._v(" "),t("h3",{attrs:{id:"bug-fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes"}},[e._v("#")]),e._v(" Bug Fixes")]),e._v(" "),t("ul",[t("li",[e._v("optimize connection ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/70dfc5ad4d25fd5b529097183c873d87ec37f126",target:"_blank",rel:"noopener noreferrer"}},[e._v("70dfc5a"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("optimize connection ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/2b416c0b106ad0a6a21aa3da838cf311061e9ef8",target:"_blank",rel:"noopener noreferrer"}},[e._v("2b416c0"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("h2",{attrs:{id:"_1-0-0-2022-09-09"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-0-2022-09-09"}},[e._v("#")]),e._v(" 1.0.0 (2022-09-09)")]),e._v(" "),t("h3",{attrs:{id:"features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[e._v("#")]),e._v(" Features")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("ci:")]),e._v(" add build\nclient ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/215400cb7a3ae6c3f5f12df6828c8735156b810b",target:"_blank",rel:"noopener noreferrer"}},[e._v("215400c"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[t("strong",[e._v("pkg/socks5:")]),e._v(" socks5 proxy beta\nversion ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/20d586ce1ac36f143c1e340aa3bf9132e35af230",target:"_blank",rel:"noopener noreferrer"}},[e._v("20d586c"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[t("strong",[e._v("pkg/http:")]),e._v(" http proxy beta\nversion ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/3b41846f75fe6d9510a9d040d76f97b35ce8c494",target:"_blank",rel:"noopener noreferrer"}},[e._v("3b41846"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-0"}},[e._v("#")]),e._v(" SeaMoon 1.1.0")]),e._v(" "),t("ul",[t("li",[e._v("修复了HTTP连接的一些bug,并使用更活跃的客户端代理库 "),t("code",[e._v("martian")]),e._v(" 代替 "),t("code",[e._v("goproxy")])]),e._v(" "),t("li",[e._v("重构了客户端结构,提供了一个简易的B/S架构的控制管理端")]),e._v(" "),t("li",[e._v("修复了SOCKS链接不断开导致的函数计费超时问题。")]),e._v(" "),t("li",[e._v("增加了Controller管理")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-0-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-0-0"}},[e._v("#")]),e._v(" SeaMoon 1.0.0")]),e._v(" "),t("ul",[t("li",[e._v("重新实现了 https://github.com/shimmeris/SCFProxy 大佬原有的网络功能: HTTP代理、SOCKs5代理")]),e._v(" "),t("li",[e._v("优化了 SCFProxy 的部分机制:比如socks5的连接模式、socks5 15分钟超时的问题等。")])])])}),[],!1,null,null,null);t.default=r.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{332:function(e,t,a){"use strict";a.r(t);var o=a(7),r=Object(o.a)({},(function(){var e=this,t=e._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"feature"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#feature"}},[e._v("#")]),e._v(" FEATURE")]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-2-0-beta-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-2-0-beta-2"}},[e._v("#")]),e._v(" SeaMoon 1.2.0-beta.2")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� docs: 订正手册 (#49)")]),e._v(" "),t("li",[e._v("�� docs: 手册增加了 "),t("a",{attrs:{href:"https://github.com/go-gost/gost",target:"_blank",rel:"noopener noreferrer"}},[e._v("gost"),t("OutboundLink")],1),e._v(" 作为本地客户端的使用方式 (#57)")]),e._v(" "),t("li",[e._v("�� fix(client): 修复 ISSUE 提到的连接缓慢问题 (#48)(#23)(#44)")])]),e._v(" "),t("h3",{attrs:{id:"what-s-changed"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#what-s-changed"}},[e._v("#")]),e._v(" What's Changed")]),e._v(" "),t("ul",[t("li",[e._v("fix: use release binary instead of self compiling by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/24")]),e._v(" "),t("li",[e._v("fix: client error && websocket compress error by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/48")]),e._v(" "),t("li",[e._v("docs: update manual && update yarn && fix a little bug by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/49")]),e._v(" "),t("li",[e._v("fix: roll back vdoing by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/50")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.2.0-beta.1...1.2.0-beta.2")]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-2-0-beta-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-2-0-beta-1"}},[e._v("#")]),e._v(" SeaMoon 1.2.0-beta.1")]),e._v(" "),t("blockquote",[t("p",[e._v("1.2.0 是一个临时版本,由于想要加入一些新的功能与适配,整体代码改动量较大。因此先拆分了部分功能代码。\n整体的稳定性上会有所欠缺,更多的是下一个版本的新功能尝试")])]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-2"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� docs: 修正了首页的一些图床丢失 (#18)")]),e._v(" "),t("li",[e._v("✨ feat(server): 新增隧道协议:grpc (#19)")]),e._v(" "),t("li",[e._v("⚡️ zap(server): 将协议解码转移在服务端处理,轻量化客户端 (#17)")]),e._v(" "),t("li",[e._v("�� refartor(server): 重构服务端模式,参考 gost 代理项目优化网络传输 (#15)")]),e._v(" "),t("li",[e._v("�� refartor(client): 减轻客户端传递功能,做更多兼容性适配,配合server重构 (#20)")]),e._v(" "),t("li",[e._v("�� fix(ci): 修正一些重构导致的ci错误(#16)(#21)(#22)")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.3...1.2.0-beta.1")]),e._v(" "),t("ul",[t("li",[e._v("75db770 feat: support grpc tunnel (#19)")]),e._v(" "),t("li",[e._v("122435f fix: Dockerfile (#22)")]),e._v(" "),t("li",[e._v("ae49ee0 fix: page ci dir changes (#16)")]),e._v(" "),t("li",[e._v("be04fa1 fix: tag ci error (#21)")]),e._v(" "),t("li",[e._v("f40e8f0 refactor: client (#20)")]),e._v(" "),t("li",[e._v("22bc49c refactor: server code && upgrade go mod (#15)")]),e._v(" "),t("li",[e._v("ef2bf71 zap: change socks handle from client to server. (#17)")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-3"}},[e._v("#")]),e._v(" SeaMoon 1.1.3")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-3"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� docs: 增加手册页面sitemap站点地图(#7)(#8)")]),e._v(" "),t("li",[e._v("✨ feat(server): 修改了阿里云默认的部署资源类型(vcpu 0.1/mem 128),来降低普通用户使用的价格消费 (#10)")]),e._v(" "),t("li",[e._v("✨ feat(server): 增加了sealos部署方案,用更加便宜的价格使用seamoon (#11)")]),e._v(" "),t("li",[e._v("✨ feat(server): 增加了docker server, 现在可以通过docker来启动服务端 (#12)")]),e._v(" "),t("li",[e._v("�� fix(config): 用更友好的方式来使用config,不再单一的通过域名特征来判断服务端地址类型。(#13)")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.2...1.1.3")]),e._v(" "),t("ul",[t("li",[e._v("41c5ce8 feat(docker): add docker server (#12)")]),e._v(" "),t("li",[e._v("1414293 feat: low cpu && mem cost (#10)")]),e._v(" "),t("li",[e._v("99c98fd fix(client): use more friendly config (#13)")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-2"}},[e._v("#")]),e._v(" SeaMoon 1.1.2")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-4"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� fix(websocket): 修正了protocol error detect 时仍挂起gorouting导致卡死的问题 (#6)")]),e._v(" "),t("li",[e._v("✨ feat(dockerfile): 增加了docker client, 现在可以通过docker来启动客户端 (#6)")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.1...1.1.2")]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-1"}},[e._v("#")]),e._v(" SeaMoon 1.1.1")]),e._v(" "),t("h3",{attrs:{id:"❤️-what-s-new-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#❤️-what-s-new-5"}},[e._v("#")]),e._v(" ❤️ What's New")]),e._v(" "),t("ul",[t("li",[e._v("�� fix(websocket): 修正了 websocket 在超出 32768 slice导致的 panic。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(websocket): 修整了 websocket 在 close 时写入 message 导致的 panic。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(websocket): 忽略了大量 websocket 链接导致的 1006 abnormal close 报错。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(s.yaml): 修整了 serverless-devs 工具编排文件,目前可以通过 serverless-devs 工具"),t("code",[e._v("s deploy")]),e._v("一件部署至阿里云。 (#4)")]),e._v(" "),t("li",[e._v("�� fix(ci): 修整了 go-releaser ci 配置 (#3)")]),e._v(" "),t("li",[e._v("�� fix(docs): 更新了 README.md 较为过时的使用手册。")])]),e._v(" "),t("h3",{attrs:{id:"��-small-talk"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#��-small-talk"}},[e._v("#")]),e._v(" �� Small Talk")]),e._v(" "),t("blockquote",[t("p",[e._v("Hi,各位,SeaMoon成功挤入2023Kcon兵器谱,使得整个项目获得了一批关注;在此感谢大家对SeaMoon项目的浓厚兴趣与支持,谢谢各位��"),t("br"),e._v("\n由于工作原因,以及个人的一些想法枯竭,项目于去年创建,直到现在目前也仅支持了阿里云一个demo QAQ,因此整体给人并不是一个较为完善的使用效果。1.1.1 版本后,我会尽量保证一些活跃性质的更新,以及一些比较有意思的想法demo迭代。"),t("br"),e._v("\n也欢迎对serverless感兴趣的安全小伙伴留言来交个朋友~")])]),e._v(" "),t("p",[t("strong",[e._v("Full Changelog")]),e._v(": https://github.com/DVKunion/SeaMoon/compare/1.1.0...1.1.1")]),e._v(" "),t("ul",[t("li",[e._v("bc209a9 doc: update README.md")]),e._v(" "),t("li",[e._v("a2e7360 fix: go-releaser ci config (#3)")]),e._v(" "),t("li",[e._v("8f51e63 fix: readme.md")]),e._v(" "),t("li",[e._v("fe658ff fix: some websocket error optimization (#4)")]),e._v(" "),t("li",[e._v("c316527 hotfix: some docs and code format")])]),e._v(" "),t("h2",{attrs:{id:"_1-1-0-2022-09-27"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-0-2022-09-27"}},[e._v("#")]),e._v(" 1.1.0 (2022-09-27)")]),e._v(" "),t("h3",{attrs:{id:"bug-fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes"}},[e._v("#")]),e._v(" Bug Fixes")]),e._v(" "),t("ul",[t("li",[e._v("optimize connection ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/70dfc5ad4d25fd5b529097183c873d87ec37f126",target:"_blank",rel:"noopener noreferrer"}},[e._v("70dfc5a"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("optimize connection ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/2b416c0b106ad0a6a21aa3da838cf311061e9ef8",target:"_blank",rel:"noopener noreferrer"}},[e._v("2b416c0"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("h2",{attrs:{id:"_1-0-0-2022-09-09"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-0-2022-09-09"}},[e._v("#")]),e._v(" 1.0.0 (2022-09-09)")]),e._v(" "),t("h3",{attrs:{id:"features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#features"}},[e._v("#")]),e._v(" Features")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("ci:")]),e._v(" add build\nclient ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/215400cb7a3ae6c3f5f12df6828c8735156b810b",target:"_blank",rel:"noopener noreferrer"}},[e._v("215400c"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[t("strong",[e._v("pkg/socks5:")]),e._v(" socks5 proxy beta\nversion ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/20d586ce1ac36f143c1e340aa3bf9132e35af230",target:"_blank",rel:"noopener noreferrer"}},[e._v("20d586c"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[t("strong",[e._v("pkg/http:")]),e._v(" http proxy beta\nversion ("),t("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/commit/3b41846f75fe6d9510a9d040d76f97b35ce8c494",target:"_blank",rel:"noopener noreferrer"}},[e._v("3b41846"),t("OutboundLink")],1),e._v(")")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-1-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-1-0"}},[e._v("#")]),e._v(" SeaMoon 1.1.0")]),e._v(" "),t("ul",[t("li",[e._v("修复了HTTP连接的一些bug,并使用更活跃的客户端代理库 "),t("code",[e._v("martian")]),e._v(" 代替 "),t("code",[e._v("goproxy")])]),e._v(" "),t("li",[e._v("重构了客户端结构,提供了一个简易的B/S架构的控制管理端")]),e._v(" "),t("li",[e._v("修复了SOCKS链接不断开导致的函数计费超时问题。")]),e._v(" "),t("li",[e._v("增加了Controller管理")])]),e._v(" "),t("h2",{attrs:{id:"seamoon-1-0-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-1-0-0"}},[e._v("#")]),e._v(" SeaMoon 1.0.0")]),e._v(" "),t("ul",[t("li",[e._v("重新实现了 https://github.com/shimmeris/SCFProxy 大佬原有的网络功能: HTTP代理、SOCKs5代理")]),e._v(" "),t("li",[e._v("优化了 SCFProxy 的部分机制:比如socks5的连接模式、socks5 15分钟超时的问题等。")])])])}),[],!1,null,null,null);t.default=r.exports}}]);
  • ■ ■ ■ ■
    assets/js/22.caeff592.js assets/js/23.6e2ee1ad.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{332:function(r,e,t){"use strict";t.r(e);var o=t(7),n=Object(o.a)({},(function(){var r=this,e=r._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[e("h2",{attrs:{id:"seamoon-技术blog"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-技术blog"}},[r._v("#")]),r._v(" SeaMoon 技术Blog")]),r._v(" "),e("p",[r._v("在此分享 SeaMoon 在实现上的一些技术思考与serverless的一些讨论")]),r._v(" "),e("h2",{attrs:{id:"��-参考文献与项目"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#��-参考文献与项目"}},[r._v("#")]),r._v(" �� 参考文献与项目")]),r._v(" "),e("p",[r._v("感谢各位前辈师傅们的分享与沉淀。")]),r._v(" "),e("p",[e("strong",[r._v("文章类")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://xz.aliyun.com/t/9502",target:"_blank",rel:"noopener noreferrer"}},[r._v("浅谈云函数的利用面"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://freewechat.com/a/MzI0MDI5MTQ3OQ==/2247484068/1",target:"_blank",rel:"noopener noreferrer"}},[r._v("白嫖CDN,打造封不尽IP的代理池"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://serverless.ink/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Serverless 应用开发指南"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://www.freebuf.com/articles/web/212382.html",target:"_blank",rel:"noopener noreferrer"}},[r._v("HTTP被动扫描代理的那些事"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://luyuhuang.tech/2020/12/02/subsocks.html",target:"_blank",rel:"noopener noreferrer"}},[r._v("Subsocks: 用GO实现一个Socks5安全代理"),e("OutboundLink")],1)])]),r._v(" "),e("p",[e("strong",[r._v("项目类")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/shimmeris/SCFProxy",target:"_blank",rel:"noopener noreferrer"}},[r._v("SFCProxy"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/armon/go-socks5",target:"_blank",rel:"noopener noreferrer"}},[r._v("go-socks5"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/luyuhuang/subsocks",target:"_blank",rel:"noopener noreferrer"}},[r._v("subsocks"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/ginuerzh/gost",target:"_blank",rel:"noopener noreferrer"}},[r._v("gost"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/inbug-team/InCloud",target:"_blank",rel:"noopener noreferrer"}},[r._v("InCloud"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/Sakurasan/scf-proxy",target:"_blank",rel:"noopener noreferrer"}},[r._v("sfc-proxy"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/copriwolf/serverless-transitcode",target:"_blank",rel:"noopener noreferrer"}},[r._v("Serverless-transitcode"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/SapphicCode/protoplex",target:"_blank",rel:"noopener noreferrer"}},[r._v("protoplex"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/D3Ext/DFShell",target:"_blank",rel:"noopener noreferrer"}},[r._v("DFShell"),e("OutboundLink")],1)])])])}),[],!1,null,null,null);e.default=n.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{333:function(r,e,t){"use strict";t.r(e);var o=t(7),n=Object(o.a)({},(function(){var r=this,e=r._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":r.$parent.slotKey}},[e("h2",{attrs:{id:"seamoon-技术blog"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-技术blog"}},[r._v("#")]),r._v(" SeaMoon 技术Blog")]),r._v(" "),e("p",[r._v("在此分享 SeaMoon 在实现上的一些技术思考与serverless的一些讨论")]),r._v(" "),e("h2",{attrs:{id:"��-参考文献与项目"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#��-参考文献与项目"}},[r._v("#")]),r._v(" �� 参考文献与项目")]),r._v(" "),e("p",[r._v("感谢各位前辈师傅们的分享与沉淀。")]),r._v(" "),e("p",[e("strong",[r._v("文章类")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://xz.aliyun.com/t/9502",target:"_blank",rel:"noopener noreferrer"}},[r._v("浅谈云函数的利用面"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://freewechat.com/a/MzI0MDI5MTQ3OQ==/2247484068/1",target:"_blank",rel:"noopener noreferrer"}},[r._v("白嫖CDN,打造封不尽IP的代理池"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://serverless.ink/",target:"_blank",rel:"noopener noreferrer"}},[r._v("Serverless 应用开发指南"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://www.freebuf.com/articles/web/212382.html",target:"_blank",rel:"noopener noreferrer"}},[r._v("HTTP被动扫描代理的那些事"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://luyuhuang.tech/2020/12/02/subsocks.html",target:"_blank",rel:"noopener noreferrer"}},[r._v("Subsocks: 用GO实现一个Socks5安全代理"),e("OutboundLink")],1)])]),r._v(" "),e("p",[e("strong",[r._v("项目类")])]),r._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/shimmeris/SCFProxy",target:"_blank",rel:"noopener noreferrer"}},[r._v("SFCProxy"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/armon/go-socks5",target:"_blank",rel:"noopener noreferrer"}},[r._v("go-socks5"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/luyuhuang/subsocks",target:"_blank",rel:"noopener noreferrer"}},[r._v("subsocks"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/ginuerzh/gost",target:"_blank",rel:"noopener noreferrer"}},[r._v("gost"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/inbug-team/InCloud",target:"_blank",rel:"noopener noreferrer"}},[r._v("InCloud"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/Sakurasan/scf-proxy",target:"_blank",rel:"noopener noreferrer"}},[r._v("sfc-proxy"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/copriwolf/serverless-transitcode",target:"_blank",rel:"noopener noreferrer"}},[r._v("Serverless-transitcode"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/SapphicCode/protoplex",target:"_blank",rel:"noopener noreferrer"}},[r._v("protoplex"),e("OutboundLink")],1)]),r._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/D3Ext/DFShell",target:"_blank",rel:"noopener noreferrer"}},[r._v("DFShell"),e("OutboundLink")],1)])])])}),[],!1,null,null,null);e.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/23.b4554616.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{333:function(t,_,v){"use strict";v.r(_);var a=v(7),s=Object(a.a)({},(function(){var t=this,_=t._self._c;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"http"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#http"}},[t._v("#")]),t._v(" HTTP")]),t._v(" "),_("p",[t._v("[TODO] 重构HTTP逻辑,通过net进行转发而不是上层的http")]),t._v(" "),_("p",[t._v("HTTP代理 涉及了三个问题。")]),t._v(" "),_("ol",[_("li",[t._v("HOST 路由问题")]),t._v(" "),_("li",[t._v("HTTPS 请求认证问题")]),t._v(" "),_("li",[t._v("链式代理")]),t._v(" "),_("li",[t._v("底层转发http.client.do()问题")])]),t._v(" "),_("p",[t._v("依次在原理部分解释月海是如何处理上述问题的")]),t._v(" "),_("h2",{attrs:{id:"效果"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#效果"}},[t._v("#")]),t._v(" 效果")]),t._v(" "),_("p",[_("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),t._v(" "),_("h2",{attrs:{id:"原理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#原理"}},[t._v("#")]),t._v(" 原理")]),t._v(" "),_("h3",{attrs:{id:"host-路由问题"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#host-路由问题"}},[t._v("#")]),t._v(" HOST 路由问题")]),t._v(" "),_("p",[t._v("最早接触云函数就是大佬们的文章:通过云函数进行动态IP池的代理。开启了大家探索云函数的历程。")]),t._v(" "),_("p",[t._v("其基本原理在于: 通过本地代理拦截 http请求进行解析,将分析出来的参数提供给云函数执行。")]),t._v(" "),_("p",[t._v("而云函数端仅提供一个类似request的方法,把获取到的参数重组HTTP请求,请求过后将数据返回而已。")]),t._v(" "),_("p",[t._v("在设计月海时,我对这种模式实在是难以苟同,太不优雅了,先不提各种编码可能导致的问题,光是要在本地开一个client端,就已经很难受了。")]),t._v(" "),_("p",[t._v("(月海最初的目标是实现本地端不需要任何工具,拿到一台机器,连接到云函数就能进行渗透工作)")]),t._v(" "),_("p",[t._v("但是经过一番折腾,发现截止至目前,云函数的支持力度仅能够存在这一种利用的方式。")]),t._v(" "),_("p",[t._v("问题就出在了HTTP的代理模式。")]),t._v(" "),_("p",[t._v("我们正常使用HTTP代理(浏览器插件、burp、bash终端的"),_("code",[t._v("export HTTP_PROXY")]),t._v(")等,实际上是将HTTP数据包原封不动的发给了我们配置的代理服务器。")]),t._v(" "),_("p",[t._v("实际上,等效于这种请求:\n"),_("code",[t._v('curl -H "HOST: Dest-HOST" example.proxy.com')])]),t._v(" "),_("p",[t._v("但是在云函数的实现都是通过API网关来寻找对应的FC,来确定触发器到底是由哪个函数执行。")]),t._v(" "),_("p",[t._v("而这就用到了这个HOST头字段,导致无法直接在云函数开启一个HTTP代理,用插件配置上使用。")]),t._v(" "),_("p",[t._v('"不要在已有的模式上造轮子", 因此,基于FC的特性,针对HTTP模式,就不再做更多思考与尝试了。')]),t._v(" "),_("p",[t._v("这里仍可以做的,就是优化HTTP请求的优雅程度,比如,通信方式,字段规范,以及编码问题的处理。")]),t._v(" "),_("h3",{attrs:{id:"https-请求认证问题"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#https-请求认证问题"}},[t._v("#")]),t._v(" HTTPS 请求认证问题")]),t._v(" "),_("p",[t._v("其实基于上面的架构。HTTPS 的问题已经很好解决了。")]),t._v(" "),_("p",[t._v("因为我们的 云函数HTTP代理,并不是一个实际意义上的代理,而是一个模拟代理。 云函数模拟的请求是可以发送https的。")]),t._v(" "),_("p",[t._v("那么问题就变成了,如何信任我们的client端,参照大多proxy和burp的模式,可以通过信任根路径的证书来解决这个问题。")]),t._v(" "),_("p",[t._v("可以参考这篇文章")]),t._v(" "),_("p",[_("a",{attrs:{href:"https://www.lyyyuna.com/2018/03/16/http-proxy-https/",target:"_blank",rel:"noopener noreferrer"}},[t._v("实现基于 HTTPS 代理的中间人攻击"),_("OutboundLink")],1)]),t._v(" "),_("p",[t._v("HTTPS 迎刃而解。")]),t._v(" "),_("h3",{attrs:{id:"链式代理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#链式代理"}},[t._v("#")]),t._v(" 链式代理")]),t._v(" "),_("p",[t._v("待开发")]),t._v(" "),_("h3",{attrs:{id:"底层逻辑问题"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#底层逻辑问题"}},[t._v("#")]),t._v(" 底层逻辑问题")]),t._v(" "),_("p",[t._v("月海测试beta版本,使用的方式是通过net.http 直接发送从header获取的完整路径请求。")]),t._v(" "),_("p",[t._v("这和现有的一些工具逻辑完全一致。 但是在测试时,很容易出现:"),_("code",[t._v("http redirect request")]),t._v(" 、 js/css加载失败或直接失效的场景,这相比socks5的舒适度差了一大截。")]),t._v(" "),_("p",[t._v("因此,基于完美主义,后续将会重构一版底层net转发的逻辑。")])])}),[],!1,null,null,null);_.default=s.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/24.164f03d7.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{334:function(t,_,v){"use strict";v.r(_);var a=v(7),s=Object(a.a)({},(function(){var t=this,_=t._self._c;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"http"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#http"}},[t._v("#")]),t._v(" HTTP")]),t._v(" "),_("p",[t._v("HTTP代理 涉及了三个问题。")]),t._v(" "),_("ol",[_("li",[t._v("HOST 路由问题")]),t._v(" "),_("li",[t._v("HTTPS 请求认证问题")]),t._v(" "),_("li",[t._v("链式代理")]),t._v(" "),_("li",[t._v("底层转发http.client.do()问题")])]),t._v(" "),_("p",[t._v("依次在原理部分解释月海是如何处理上述问题的")]),t._v(" "),_("h2",{attrs:{id:"效果"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#效果"}},[t._v("#")]),t._v(" 效果")]),t._v(" "),_("p",[_("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),t._v(" "),_("h2",{attrs:{id:"原理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#原理"}},[t._v("#")]),t._v(" 原理")]),t._v(" "),_("h3",{attrs:{id:"host-路由问题"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#host-路由问题"}},[t._v("#")]),t._v(" HOST 路由问题")]),t._v(" "),_("p",[t._v("最早接触云函数就是大佬们的文章:通过云函数进行动态IP池的代理。开启了大家探索云函数的历程。")]),t._v(" "),_("p",[t._v("其基本原理在于: 通过本地代理拦截 http请求进行解析,将分析出来的参数提供给云函数执行。")]),t._v(" "),_("p",[t._v("而云函数端仅提供一个类似request的方法,把获取到的参数重组HTTP请求,请求过后将数据返回而已。")]),t._v(" "),_("p",[t._v("在设计月海时,我对这种模式实在是难以苟同,太不优雅了,先不提各种编码可能导致的问题,光是要在本地开一个client端,就已经很难受了。")]),t._v(" "),_("p",[t._v("(月海最初的目标是实现本地端不需要任何工具,拿到一台机器,连接到云函数就能进行渗透工作)")]),t._v(" "),_("p",[t._v("但是经过一番折腾,发现截止至目前,云函数的支持力度仅能够存在这一种利用的方式。")]),t._v(" "),_("p",[t._v("问题就出在了HTTP的代理模式。")]),t._v(" "),_("p",[t._v("我们正常使用HTTP代理(浏览器插件、burp、bash终端的"),_("code",[t._v("export HTTP_PROXY")]),t._v(")等,实际上是将HTTP数据包原封不动的发给了我们配置的代理服务器。")]),t._v(" "),_("p",[t._v("实际上,等效于这种请求:\n"),_("code",[t._v('curl -H "HOST: Dest-HOST" example.proxy.com')])]),t._v(" "),_("p",[t._v("但是在云函数的实现都是通过API网关来寻找对应的FC,来确定触发器到底是由哪个函数执行。")]),t._v(" "),_("p",[t._v("而这就用到了这个HOST头字段,导致无法直接在云函数开启一个HTTP代理,用插件配置上使用。")]),t._v(" "),_("p",[t._v('"不要在已有的模式上造轮子", 因此,基于FC的特性,针对HTTP模式,就不再做更多思考与尝试了。')]),t._v(" "),_("p",[t._v("这里仍可以做的,就是优化HTTP请求的优雅程度,比如,通信方式,字段规范,以及编码问题的处理。")]),t._v(" "),_("h3",{attrs:{id:"https-请求认证问题"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#https-请求认证问题"}},[t._v("#")]),t._v(" HTTPS 请求认证问题")]),t._v(" "),_("p",[t._v("其实基于上面的架构。HTTPS 的问题已经很好解决了。")]),t._v(" "),_("p",[t._v("因为我们的 云函数HTTP代理,并不是一个实际意义上的代理,而是一个模拟代理。 云函数模拟的请求是可以发送https的。")]),t._v(" "),_("p",[t._v("那么问题就变成了,如何信任我们的client端,参照大多proxy和burp的模式,可以通过信任根路径的证书来解决这个问题。")]),t._v(" "),_("p",[t._v("可以参考这篇文章")]),t._v(" "),_("p",[_("a",{attrs:{href:"https://www.lyyyuna.com/2018/03/16/http-proxy-https/",target:"_blank",rel:"noopener noreferrer"}},[t._v("实现基于 HTTPS 代理的中间人攻击"),_("OutboundLink")],1)]),t._v(" "),_("p",[t._v("HTTPS 迎刃而解。")]),t._v(" "),_("h3",{attrs:{id:"链式代理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#链式代理"}},[t._v("#")]),t._v(" 链式代理")]),t._v(" "),_("p",[t._v("待开发")]),t._v(" "),_("h3",{attrs:{id:"底层逻辑问题"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#底层逻辑问题"}},[t._v("#")]),t._v(" 底层逻辑问题")]),t._v(" "),_("p",[t._v("月海测试beta版本,使用的方式是通过net.http 直接发送从header获取的完整路径请求。")]),t._v(" "),_("p",[t._v("这和现有的一些工具逻辑完全一致。 但是在测试时,很容易出现:"),_("code",[t._v("http redirect request")]),t._v(" 、 js/css加载失败或直接失效的场景,这相比socks5的舒适度差了一大截。")]),t._v(" "),_("p",[t._v("因此,基于完美主义,后续将会重构一版底层net转发的逻辑。")])])}),[],!1,null,null,null);_.default=s.exports}}]);
  • ■ ■ ■ ■
    assets/js/24.bdbfbd83.js assets/js/25.8809a7a0.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{334:function(s,t,e){"use strict";e.r(t);var o=e(7),r=Object(o.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"socks5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5"}},[s._v("#")]),s._v(" SOCKS5")]),s._v(" "),t("h2",{attrs:{id:"socks5-效果"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5-效果"}},[s._v("#")]),s._v(" SOCKS5 效果")]),s._v(" "),t("p",[s._v("相比http代理更稳定,速度更快。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),s._v(" "),t("h2",{attrs:{id:"socks5-原理"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5-原理"}},[s._v("#")]),s._v(" SOCKS5 原理")]),s._v(" "),t("h3",{attrs:{id:"socks5-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5-2"}},[s._v("#")]),s._v(" SOCKS5")]),s._v(" "),t("p",[s._v("基础理论: "),t("a",{attrs:{href:"https://xz.aliyun.com/t/9502",target:"_blank",rel:"noopener noreferrer"}},[s._v("浅谈云函数的利用面"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("在云函数(FC)的限制下,大佬提出了一种通过vps建立起socks5隧道的模式,从模式上来看,更像是一种反向连接。")]),s._v(" "),t("p",[s._v("但是这种模式,需要一台VPS。对于穷逼的脚本小子的我,实在是不够优雅。")]),s._v(" "),t("p",[s._v("FC的不成熟的确限制了大部分的玩法,比如触发器种类,比如协议,比如端口限制等等。")]),s._v(" "),t("p",[s._v("在这种大环境下,我们无力去变更云函数的生态(其实也有可能云函数并没有为我们这种使用方式进行设计),只能自寻出路。")]),s._v(" "),t("p",[s._v("想要优雅的正向连接,只能在HTTP上做文章。")]),s._v(" "),t("p",[s._v("突然联想到早些年,做安全服务时拿到了WebShell后如何进行内网渗透?这就想起了一个利器工具,也是我们今天的主角:")]),s._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/sensepost/reGeorg",target:"_blank",rel:"noopener noreferrer"}},[s._v("reGeorg"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("这个工具提供了各种语言的脚本,能够通过HTTP隧道的方式,结合本地客户端,建立socks连接代理。")]),s._v(" "),t("p",[s._v("他的原理其实是依赖于,socks属于一种建立在TCP层的接口,是对TCP/IP协议的封装,而在应用层的HTTP协议也是同样属于对TCP/IP协议的封装。")]),s._v(" "),t("p",[s._v("通俗来说,socks就是爸爸,而HTTP只是他众多的接口调用实现方而已,相互之间的转化是存在某种方式的。")]),s._v(" "),t("p",[s._v("举个例子,如python中的urllib库,底层就是使用sockets实现的HTTP。")]),s._v(" "),t("p",[s._v("因此,我们云函数socks代理的模型就可以画出来了:")]),s._v(" "),t("p",[s._v("用户 -> socks -> client -> 转化为HTTP -> FC云函数 -> 解析HTTP -> 发送socks")]),s._v(" "),t("p",[s._v("用户 <- 转化为socks <- client <- 转化为HTTP <- FC云函数 <- socks数据")]),s._v(" "),t("p",[s._v("我们的client开启一个socks的监听,然后将监听到的数据转化为http请求发给fc处理, fc根据http提供的数据发起socks连接,获取数据。之后fc函数再将数据通过http\n返回byte字节码,client端接收到响应,再根据协议降级为socks。")]),s._v(" "),t("p",[s._v("理论存在,实践开始。 根据原理分析,我们要做的事情就比较明显了:")]),s._v(" "),t("ul",[t("li",[s._v("在云函数部署好一个接受HTTP响应,并转化为socks连接的服务")]),s._v(" "),t("li",[s._v("在本地启动client端,监听一个socks端口,将该端口的数据按照协议转化为HTTP请求发送给云函数")])]),s._v(" "),t("p",[s._v("参考"),t("a",{attrs:{href:"https://github.com/sensepost/reGeorg",target:"_blank",rel:"noopener noreferrer"}},[s._v("reGeorg"),t("OutboundLink")],1),s._v("\n和他的的重构版"),t("a",{attrs:{href:"https://github.com/L-codes/Neo-reGeorg",target:"_blank",rel:"noopener noreferrer"}},[s._v("Neo-reGeorg"),t("OutboundLink")],1),s._v(", 复制了一个GO版本的客户端和服务端。")]),s._v(" "),t("p",[s._v("也就是说,你也可以选择连接 reGeorg 的shell作为http代理,启动一个本地的socks连接。")]),s._v(" "),t("p",[s._v("以PHP为例,reGeorg将状态、IO全部存储在了session内。")]),s._v(" "),t("p",[s._v("我们的云函数是没有状态的,所以不能够通过这种断开连接的方式再重新找到状态进行读取,要重新寻找出路。")]),s._v(" "),t("p",[s._v("经过一周的改写,我发现虽然思路可行,但是reGeorg的项目实在太老了,而重构版Neo-reGeorg又因为各种加密等原因离谱的乱,导致最终socks建立起的连接无法再次read的相应的socks。")]),s._v(" "),t("p",[s._v("终于在苦找下,发现了大佬做了这样的事情:将客户端socks5升级至http/https/websocket等应用层协议,同时还提供了UDP的解决方案!")]),s._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/luyuhuang/subsocks",target:"_blank",rel:"noopener noreferrer"}},[s._v("subsocks"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("但是测试发现,http触发器存在最大连接超时时间,虽然阿里云已经把这个数值调整到了24小时,依旧存在隐患,不够完美。")]),s._v(" "),t("p",[s._v("于是,替换者websockets触发器完美出现,解决了所有的问题。")]),s._v(" "),t("p",[s._v("因为本身websockets就是一种类sockets的http连接,现在我们只要通过 "),t("code",[s._v("io.copy")]),s._v(" 将双端的输入输出绑定,即可构成通信信道。")]),s._v(" "),t("p",[s._v("最后就是处理好断开连接问题,来防止异常断开导致的panic,和节约云函数计费成本。")]),s._v(" "),t("p",[s._v("最终达成上图效果。")])])}),[],!1,null,null,null);t.default=r.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{335:function(s,t,e){"use strict";e.r(t);var o=e(7),r=Object(o.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"socks5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5"}},[s._v("#")]),s._v(" SOCKS5")]),s._v(" "),t("h2",{attrs:{id:"socks5-效果"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5-效果"}},[s._v("#")]),s._v(" SOCKS5 效果")]),s._v(" "),t("p",[s._v("相比http代理更稳定,速度更快。")]),s._v(" "),t("p",[t("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})]),s._v(" "),t("h2",{attrs:{id:"socks5-原理"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5-原理"}},[s._v("#")]),s._v(" SOCKS5 原理")]),s._v(" "),t("h3",{attrs:{id:"socks5-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#socks5-2"}},[s._v("#")]),s._v(" SOCKS5")]),s._v(" "),t("p",[s._v("基础理论: "),t("a",{attrs:{href:"https://xz.aliyun.com/t/9502",target:"_blank",rel:"noopener noreferrer"}},[s._v("浅谈云函数的利用面"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("在云函数(FC)的限制下,大佬提出了一种通过vps建立起socks5隧道的模式,从模式上来看,更像是一种反向连接。")]),s._v(" "),t("p",[s._v("但是这种模式,需要一台VPS。对于穷逼的脚本小子的我,实在是不够优雅。")]),s._v(" "),t("p",[s._v("FC的不成熟的确限制了大部分的玩法,比如触发器种类,比如协议,比如端口限制等等。")]),s._v(" "),t("p",[s._v("在这种大环境下,我们无力去变更云函数的生态(其实也有可能云函数并没有为我们这种使用方式进行设计),只能自寻出路。")]),s._v(" "),t("p",[s._v("想要优雅的正向连接,只能在HTTP上做文章。")]),s._v(" "),t("p",[s._v("突然联想到早些年,做安全服务时拿到了WebShell后如何进行内网渗透?这就想起了一个利器工具,也是我们今天的主角:")]),s._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/sensepost/reGeorg",target:"_blank",rel:"noopener noreferrer"}},[s._v("reGeorg"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("这个工具提供了各种语言的脚本,能够通过HTTP隧道的方式,结合本地客户端,建立socks连接代理。")]),s._v(" "),t("p",[s._v("他的原理其实是依赖于,socks属于一种建立在TCP层的接口,是对TCP/IP协议的封装,而在应用层的HTTP协议也是同样属于对TCP/IP协议的封装。")]),s._v(" "),t("p",[s._v("通俗来说,socks就是爸爸,而HTTP只是他众多的接口调用实现方而已,相互之间的转化是存在某种方式的。")]),s._v(" "),t("p",[s._v("举个例子,如python中的urllib库,底层就是使用sockets实现的HTTP。")]),s._v(" "),t("p",[s._v("因此,我们云函数socks代理的模型就可以画出来了:")]),s._v(" "),t("p",[s._v("用户 -> socks -> client -> 转化为HTTP -> FC云函数 -> 解析HTTP -> 发送socks")]),s._v(" "),t("p",[s._v("用户 <- 转化为socks <- client <- 转化为HTTP <- FC云函数 <- socks数据")]),s._v(" "),t("p",[s._v("我们的client开启一个socks的监听,然后将监听到的数据转化为http请求发给fc处理, fc根据http提供的数据发起socks连接,获取数据。之后fc函数再将数据通过http\n返回byte字节码,client端接收到响应,再根据协议降级为socks。")]),s._v(" "),t("p",[s._v("理论存在,实践开始。 根据原理分析,我们要做的事情就比较明显了:")]),s._v(" "),t("ul",[t("li",[s._v("在云函数部署好一个接受HTTP响应,并转化为socks连接的服务")]),s._v(" "),t("li",[s._v("在本地启动client端,监听一个socks端口,将该端口的数据按照协议转化为HTTP请求发送给云函数")])]),s._v(" "),t("p",[s._v("参考"),t("a",{attrs:{href:"https://github.com/sensepost/reGeorg",target:"_blank",rel:"noopener noreferrer"}},[s._v("reGeorg"),t("OutboundLink")],1),s._v("\n和他的的重构版"),t("a",{attrs:{href:"https://github.com/L-codes/Neo-reGeorg",target:"_blank",rel:"noopener noreferrer"}},[s._v("Neo-reGeorg"),t("OutboundLink")],1),s._v(", 复制了一个GO版本的客户端和服务端。")]),s._v(" "),t("p",[s._v("也就是说,你也可以选择连接 reGeorg 的shell作为http代理,启动一个本地的socks连接。")]),s._v(" "),t("p",[s._v("以PHP为例,reGeorg将状态、IO全部存储在了session内。")]),s._v(" "),t("p",[s._v("我们的云函数是没有状态的,所以不能够通过这种断开连接的方式再重新找到状态进行读取,要重新寻找出路。")]),s._v(" "),t("p",[s._v("经过一周的改写,我发现虽然思路可行,但是reGeorg的项目实在太老了,而重构版Neo-reGeorg又因为各种加密等原因离谱的乱,导致最终socks建立起的连接无法再次read的相应的socks。")]),s._v(" "),t("p",[s._v("终于在苦找下,发现了大佬做了这样的事情:将客户端socks5升级至http/https/websocket等应用层协议,同时还提供了UDP的解决方案!")]),s._v(" "),t("p",[t("a",{attrs:{href:"https://github.com/luyuhuang/subsocks",target:"_blank",rel:"noopener noreferrer"}},[s._v("subsocks"),t("OutboundLink")],1)]),s._v(" "),t("p",[s._v("但是测试发现,http触发器存在最大连接超时时间,虽然阿里云已经把这个数值调整到了24小时,依旧存在隐患,不够完美。")]),s._v(" "),t("p",[s._v("于是,替换者websockets触发器完美出现,解决了所有的问题。")]),s._v(" "),t("p",[s._v("因为本身websockets就是一种类sockets的http连接,现在我们只要通过 "),t("code",[s._v("io.copy")]),s._v(" 将双端的输入输出绑定,即可构成通信信道。")]),s._v(" "),t("p",[s._v("最后就是处理好断开连接问题,来防止异常断开导致的panic,和节约云函数计费成本。")]),s._v(" "),t("p",[s._v("最终达成上图效果。")])])}),[],!1,null,null,null);t.default=r.exports}}]);
  • ■ ■ ■ ■
    assets/js/25.8a3a1c79.js assets/js/26.367a5cb5.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{335:function(t,s,r){"use strict";r.r(s);var n=r(7),a=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"tor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tor"}},[this._v("#")]),this._v(" TOR")])])}),[],!1,null,null,null);s.default=a.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{336:function(t,s,r){"use strict";r.r(s);var n=r(7),a=Object(n.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"tor"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tor"}},[this._v("#")]),this._v(" TOR")])])}),[],!1,null,null,null);s.default=a.exports}}]);
  • ■ ■ ■ ■
    assets/js/3.6b49b69d.js assets/js/3.b81fe814.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{276:function(t,e,n){},312:function(t,e,n){"use strict";n(276)},336:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},a=(n(312),n(7)),p=Object(a.a)(i,void 0,void 0,!1,null,"d5affa18",null);e.default=p.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{276:function(t,e,n){},312:function(t,e,n){"use strict";n(276)},337:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},a=(n(312),n(7)),p=Object(a.a)(i,void 0,void 0,!1,null,"d5affa18",null);e.default=p.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/6.13b83247.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{316:function(t,e,r){"use strict";r.r(e);var a=r(7),n=Object(a.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"seamoon-月海"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-月海"}},[t._v("#")]),t._v(" SeaMoon - 月海")]),t._v(" "),e("p",[e("img",{attrs:{src:"https://goreportcard.com/badge/github.com/DVKunion/SeaMoon",alt:"go-report"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/github/languages/top/DVKunion/SeaMoon.svg?&color=blueviolet",alt:"language"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/github/downloads/dvkunion/seamoon/total?color=orange",alt:"download"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/badge/LICENSE-MIT-777777.svg",alt:"license"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/github/stars/DVKunion/SeaMoon.svg",alt:"start"}})]),t._v(" "),e("h2",{attrs:{id:"☁️-什么是月海"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#☁️-什么是月海"}},[t._v("#")]),t._v(" ☁️ 什么是月海")]),t._v(" "),e("blockquote",[e("p",[t._v("🌕 月出于云却隐于海")])]),t._v(" "),e("p",[t._v("月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。")]),t._v(" "),e("p",[t._v("月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。")]),t._v(" "),e("p",[t._v("月海基于 Serverless 的动态特性、分别从网络层、应用层实现对应的能力,并利用serverless-devs工具来实现快捷的部署/跨厂商操作。")]),t._v(" "),e("p",[t._v("觉得项目不错的话,"),e("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon",target:"_blank",rel:"noopener noreferrer"}},[t._v("还请给一个star ✨"),e("OutboundLink")],1),t._v(", 你的支持是更新的最大动力~")]),t._v(" "),e("h2",{attrs:{id:"🌟-月海能做什么"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#🌟-月海能做什么"}},[t._v("#")]),t._v(" 🌟 月海能做什么")]),t._v(" "),e("h3",{attrs:{id:"网络层"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#网络层"}},[t._v("#")]),t._v(" 网络层")]),t._v(" "),e("p",[t._v("网络层支持是月海的基础功能,也是云函数最基本的优势和特性。")]),t._v(" "),e("p",[t._v("利用云函数的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理来进行测试。")]),t._v(" "),e("p",[t._v("同时月海集成了 Tor 网桥,实现了服务端 Tor 网络的访问。")]),t._v(" "),e("p",[t._v("目前网络层功能支持如下:")]),t._v(" "),e("p",[e("strong",[t._v("网络隧道")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("隧道类型")]),t._v(" "),e("th",[t._v("技术文档")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("支持情况")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("websockst")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("grpc")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])])])]),t._v(" "),e("p",[e("strong",[t._v("网络代理")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("代理类型")]),t._v(" "),e("th",[t._v("技术文档")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Seamoon 客户端支持")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("其他客户端支持")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("HTTP(S)")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/net/http/",target:"_blank",rel:"noopener noreferrer"}},[t._v("HTTP.md"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Socks5")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/net/socks5/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Socks5.md"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Socks4")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("❌")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("shadowsocks")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("❌")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])])])]),t._v(" "),e("p",[e("strong",[t._v("其他")])]),t._v(" "),e("ul",[e("li",[t._v("🧅 Tor 网络 .onion 支持. "),e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/tor/",target:"_blank",rel:"noopener noreferrer"}},[t._v("如何开启 Tor 代理"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("......")])]),t._v(" "),e("p",[t._v("更多特性相关请移步: "),e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/feature/",target:"_blank",rel:"noopener noreferrer"}},[t._v("技术文档"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"🧭-支持平台"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#🧭-支持平台"}},[t._v("#")]),t._v(" 🧭 支持平台")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("平台名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("免费力度")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("是否支持")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("部署文档")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("阿里云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("新用户三个月")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/aliyun",target:"_blank",rel:"noopener noreferrer"}},[t._v("部署"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",[t._v("腾讯云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🈚️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/tencent",target:"_blank",rel:"noopener noreferrer"}},[t._v("部署"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",[t._v("🔥Sealos")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("五元余额,流量不计费")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/sealos",target:"_blank",rel:"noopener noreferrer"}},[t._v("部署"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",[t._v("🙅Render")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("s",[t._v("每月750小时免费 + 100G流量")]),t._v("但是封号")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/render",target:"_blank",rel:"noopener noreferrer"}},[t._v("部署"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",[t._v("华为云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:""}},[t._v("部署")])])]),t._v(" "),e("tr",[e("td",[t._v("百度云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:""}},[t._v("部署")])])]),t._v(" "),e("tr",[e("td",[t._v("AWS")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🐷调研中")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:""}},[t._v("部署")])])]),t._v(" "),e("tr",[e("td",[t._v("Google")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🐷调研中")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:""}},[t._v("部署")])])])])]),t._v(" "),e("h2",{attrs:{id:"➡️-后续方向"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#➡️-后续方向"}},[t._v("#")]),t._v(" ➡️ 后续方向")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("关于规则匹配代理")]),t._v(" "),e("p",[t._v("很多代理支持根据不同的规则来进行转发或选择不走代理。月海的定位其实更偏重于利用云原生基础设施来廉价的进行渗透测试工作。")]),t._v(" "),e("p",[t._v("因此在当前版本,并不打算支持规则代理,(因为很多代理客户端其实也有这个功能了,走客户端即可实现。)")])]),t._v(" "),e("p",[t._v("更多发展方向的说明和讨论请移步: "),e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/",target:"_blank",rel:"noopener noreferrer"}},[t._v("技术文档"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"🕹-️开始使用"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#🕹-️开始使用"}},[t._v("#")]),t._v(" 🕹 ️开始使用")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/start",target:"_blank",rel:"noopener noreferrer"}},[t._v("继续阅读: 快速开始"),e("OutboundLink")],1)]),t._v(" "),e("p",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy",target:"_blank",rel:"noopener noreferrer"}},[t._v("跳过新手环节,直接进入部署"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"❗-免责声明"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#❗-免责声明"}},[t._v("#")]),t._v(" ❗ 免责声明")]),t._v(" "),e("p",[t._v("本工具仅用于学习 serverless 以及云原生相关技术,请勿用于其他用途。")]),t._v(" "),e("p",[t._v("如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。")])])}),[],!1,null,null,null);e.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/6.d0512cc6.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{317:function(t,e,a){"use strict";a.r(e);var r=a(7),v=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"seamoon-月海"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#seamoon-月海"}},[t._v("#")]),t._v(" SeaMoon - 月海")]),t._v(" "),e("p",[e("img",{attrs:{src:"https://goreportcard.com/badge/github.com/DVKunion/SeaMoon",alt:"go-report"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/github/languages/top/DVKunion/SeaMoon.svg?&color=blueviolet",alt:"language"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/github/downloads/dvkunion/seamoon/total?color=orange",alt:"download"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/badge/LICENSE-MIT-777777.svg",alt:"license"}}),t._v(" "),e("img",{attrs:{src:"https://img.shields.io/github/stars/DVKunion/SeaMoon.svg",alt:"start"}})]),t._v(" "),e("h2",{attrs:{id:"☁️-什么是月海"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#☁️-什么是月海"}},[t._v("#")]),t._v(" ☁️ 什么是月海")]),t._v(" "),e("blockquote",[e("p",[t._v("🌕 月出于云却隐于海")])]),t._v(" "),e("p",[t._v("月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络工具。")]),t._v(" "),e("p",[t._v("月海之名取自于苏轼的《西江月·顷在黄州》,寓意月海取自于传统工具,用之于云,最终达到隐匿于海的效果。")]),t._v(" "),e("p",[t._v("月海基于 Serverless 的动态与无状态的特性,从网络层实现了一个基于 Serverless 的网络工具集,包括代理、转发、隧道等等常见网络功能;\n同时在客户端集成了大量云厂商,实现快捷的一键式部署和跨厂商与平台操作。")]),t._v(" "),e("p",[t._v("觉得项目不错的话,"),e("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon",target:"_blank",rel:"noopener noreferrer"}},[t._v("还请给一个star ✨"),e("OutboundLink")],1),t._v(", 你的支持是更新的最大动力~")]),t._v(" "),e("h2",{attrs:{id:"🌟-月海能做什么"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#🌟-月海能做什么"}},[t._v("#")]),t._v(" 🌟 月海能做什么")]),t._v(" "),e("p",[t._v("Serverless 的动态实例不同的出口IP,从而获取到了干净(非威胁情报黑名单)、随机的外网IP代理、用后即销毁的无痕状态等。")]),t._v(" "),e("p",[e("strong",[t._v("网络代理")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("代理类型")]),t._v(" "),e("th",[t._v("技术文档")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("Seamoon 客户端支持")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("其他客户端支持")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("HTTP(S)")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/net/http/",target:"_blank",rel:"noopener noreferrer"}},[t._v("HTTP.md"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Socks5")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/net/socks5/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Socks5.md"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Socks4")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("❌")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Vmess")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Vless")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("shadowsocks")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])])])]),t._v(" "),e("p",[e("strong",[t._v("网络隧道")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("隧道类型")]),t._v(" "),e("th",[t._v("技术文档")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("支持情况")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("websockst")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("grpc")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("oss")]),t._v(" "),e("td",[e("a",{attrs:{href:""}})]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🐷调研中")])])])]),t._v(" "),e("p",[e("strong",[t._v("其他")])]),t._v(" "),e("ul",[e("li",[t._v("💻 多客户端支持,clash/shadowrocket 等。")]),t._v(" "),e("li",[t._v("🧅 Tor 网络 .onion 支持. "),e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/tor/",target:"_blank",rel:"noopener noreferrer"}},[t._v("如何开启 Tor 代理"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("......")])]),t._v(" "),e("p",[t._v("更多特性相关请移步: "),e("a",{attrs:{href:"https://seamoon.dvkunion.cn/tech/feature/",target:"_blank",rel:"noopener noreferrer"}},[t._v("技术文档"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"🧭-支持平台"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#🧭-支持平台"}},[t._v("#")]),t._v(" 🧭 支持平台")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("平台名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("免费力度")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("是否支持")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("阿里云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("新用户三个月")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("腾讯云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🈚️")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("Sealos")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("五元余额")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("华为云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("百度云")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("✅")])]),t._v(" "),e("tr",[e("td",[t._v("🙅Render")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("s",[t._v("每月750小时免费 + 100G流量")]),t._v("但是封号")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("❌")])]),t._v(" "),e("tr",[e("td",[t._v("AWS")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🐷调研中")])]),t._v(" "),e("tr",[e("td",[t._v("Google")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}}),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("🐷调研中")])])])]),t._v(" "),e("h2",{attrs:{id:"🕹开始使用"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#🕹开始使用"}},[t._v("#")]),t._v(" 🕹开始使用")]),t._v(" "),e("p",[e("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/start",target:"_blank",rel:"noopener noreferrer"}},[t._v("继续阅读: 快速开始"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"❗免责声明"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#❗免责声明"}},[t._v("#")]),t._v(" ❗免责声明")]),t._v(" "),e("p",[t._v("本工具仅用于学习 serverless 以及云原生相关技术,请勿用于其他用途。")]),t._v(" "),e("p",[t._v("如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。")])])}),[],!1,null,null,null);e.default=v.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/7.7a09b383.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{317:function(t,a,s){"use strict";s.r(a);var r=s(7),v=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h2",{attrs:{id:"项目结构"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#项目结构"}},[t._v("#")]),t._v(" 项目结构")]),t._v(" "),a("p",[t._v("月海主要分为两部分:")]),t._v(" "),a("ul",[a("li",[t._v("部署在云端的服务端")]),t._v(" "),a("li",[t._v("客户端")])]),t._v(" "),a("h2",{attrs:{id:"客户端"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#客户端"}},[t._v("#")]),t._v(" 客户端")]),t._v(" "),a("p",[t._v("云函数限制了大部分的协议模式,将能力限制在了七层网络;因此我们想在云函数上实现7层及一下的模式,就需要通过本地的客户端来进行协议封装。")]),t._v(" "),a("p",[t._v("通过各类协议的转化,将协议封装置七层进行传输,再由服务端进行解码处理。")]),t._v(" "),a("p",[t._v("除了使用 seamoon 自身的客户端代理功能之外,还可以使用其他支持隧道模式的 客户端工具,如 gost, 可以实现在本地落地更多协议的代理。")]),t._v(" "),a("h2",{attrs:{id:"服务端"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#服务端"}},[t._v("#")]),t._v(" 服务端")]),t._v(" "),a("p",[t._v("服务端为实际部署在云厂商的代码。负责实际计算的功能模块, 主要实现各类协议的隧道传递与解析。")])])}),[],!1,null,null,null);a.default=v.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/7.cd5b83f2.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{316:function(t,s,a){"use strict";a.r(s);var v=a(7),_=Object(v.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"项目结构"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#项目结构"}},[t._v("#")]),t._v(" 项目结构")]),t._v(" "),s("p",[t._v("月海主要分为两部分:")]),t._v(" "),s("ul",[s("li",[t._v("部署在云端的服务端")]),t._v(" "),s("li",[t._v("客户端")])]),t._v(" "),s("h2",{attrs:{id:"服务端"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#服务端"}},[t._v("#")]),t._v(" 服务端")]),t._v(" "),s("p",[t._v("服务端为实际部署在云厂商的代码。负责实际计算的功能模块, 主要实现各类的隧道与协议解析。")]),t._v(" "),s("h2",{attrs:{id:"客户端"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#客户端"}},[t._v("#")]),t._v(" 客户端")]),t._v(" "),s("p",[t._v("为了方便管理和使用,月海提供了一个 B/S 架构的客户端,主要包括了以下内容:")]),t._v(" "),s("ul",[s("li",[t._v("系统配置: 客户端相关配置")]),t._v(" "),s("li",[t._v("云账户管理: 用于管控所有部署的云账户信息")]),t._v(" "),s("li",[t._v("函数实例: 用于展示和管理所有已经部署的 Serverless 函数")]),t._v(" "),s("li",[t._v("服务: 当没有使用其他的客户端时,月海还提供了一个简易的服务功能来提供一些网络服务,来实现对外的开放。")])]),t._v(" "),s("p",[t._v("除了使用 seamoon 自身的客户端代理功能之外,还可以使用其他支持隧道模式的 客户端工具,如 clash/v2ray/gost, 可以实现在本地落地更多协议的代理。")])])}),[],!1,null,null,null);s.default=_.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/8.3d70e7d4.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{319:function(s,a,t){"use strict";t.r(a);var e=t(7),c=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"快速开始"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#快速开始"}},[s._v("#")]),s._v(" 快速开始")]),s._v(" "),a("p",[s._v("通过该页面,您可以快速的通过客户端来创建一个 http 代理服务,作为月海的基本使用演示。")]),s._v(" "),a("h3",{attrs:{id:"事前准备"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#事前准备"}},[s._v("#")]),s._v(" 事前准备")]),s._v(" "),a("ul",[a("li",[s._v("云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)")]),s._v(" "),a("li",[s._v("云厂商账户 AK/SK,并拥有操作函数和账单相关的全部权限。")])]),s._v(" "),a("h3",{attrs:{id:"启动服务"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#启动服务"}},[s._v("#")]),s._v(" 启动服务")]),s._v(" "),a("p",[a("code",[s._v("$ docker run -it -d --net=host dvkunion/seamoon:latest proxy")])]),s._v(" "),a("p",[s._v("如果一切正常,你将可以在 "),a("code",[s._v("http://localhost:7777")]),s._v(" 访问到管理页面:")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/fbc14247042b4608a99b18fce6682175.png",alt:"login"}})]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[s._v("提示")]),s._v(" "),a("p",[s._v("默认的账户密码为: seamoon/seamoon")])]),s._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),a("p",[s._v("安全起见,我们不建议直接通过 --net=host 将所有的端口直接暴露在网络中,更加推荐的做法请继续阅读: "),a("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/install/",target:"_blank",rel:"noopener noreferrer"}},[s._v("客户端安装"),a("OutboundLink")],1)])]),s._v(" "),a("h3",{attrs:{id:"修改默认密码"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#修改默认密码"}},[s._v("#")]),s._v(" 修改默认密码")]),s._v(" "),a("p",[s._v("第一步一定要修改掉默认的密码。点击 [系统管理],填写一个新的密码,然后提交:")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/b87e34d7b9114fabb1404ce99eef3097.png",alt:"password"}})]),s._v(" "),a("h3",{attrs:{id:"配置账户"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#配置账户"}},[s._v("#")]),s._v(" 配置账户")]),s._v(" "),a("p",[s._v("我们来尝试创建一个账户, 点击 [云账户管理] -> [新增]:")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/d580190a2ba74c178e1d5e239f2d82e3.png",alt:"add-account"}})]),s._v(" "),a("p",[s._v("填写对应的字段:")]),s._v(" "),a("ul",[a("li",[s._v("账户名称: 用于在客户端区分不同的账户,与具体云账户用户名无关")]),s._v(" "),a("li",[s._v("账户类型: 选择账户对应的云平台类型")]),s._v(" "),a("li",[s._v("最大部署限制: 该账户最多允许部署的函数数量,0表示不作限制。")]),s._v(" "),a("li",[s._v("账户描述: 用于备注该账户的一些其他信息")])]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/d5e68b2e29754a68b1640c33c3b13bb0.png",alt:"aliyun"}})]),s._v(" "),a("p",[s._v("点击下一步,继续填写表单:")]),s._v(" "),a("ul",[a("li",[s._v("账户允许部署区域: 表示当前账户允许部署的函数区域,可以多选")]),s._v(" "),a("li",[s._v("AccessID/AccessKey/SecretKey: 阿里云账户信息, AccountId 可在主页右上角个人信息处获取 accountId, AccessKeyId/AccessKeySecret 可在 "),a("a",{attrs:{href:"https://ram.console.aliyun.com/users",target:"_blank",rel:"noopener noreferrer"}},[s._v("IAM"),a("OutboundLink")],1),s._v(" 页面添加子用户生成密钥")])]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/75c7aa76665740878c796d82aac17233.png",alt:"aliyun-account"}})]),s._v(" "),a("p",[s._v("点击提交,账户会开始自动同步余额信息、函数信息等等。等待账户显示为正常状态时,即表示该步骤正确完成。")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/93e870aab1ba4519be7b1ddf6552155f.png",alt:"success"}})]),s._v(" "),a("p",[s._v("如果出现错误,鼠标放置在状态处,即可显示错误详细信息。")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/19d4ea3949934efe86666478d5daab0c.png",alt:"error"}})]),s._v(" "),a("h3",{attrs:{id:"创建服务"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#创建服务"}},[s._v("#")]),s._v(" 创建服务")]),s._v(" "),a("p",[s._v("可以开始创建服务了, 点击 [服务] -> [新增]:")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/12b854194e504602aeff41c8c58d9399.png",alt:"add-service"}})]),s._v(" "),a("p",[s._v("对应的参数比较多,我们首先填写第一张表单:")]),s._v(" "),a("ul",[a("li",[s._v("代理名称: 用于在客户端展示的代理名")]),s._v(" "),a("li",[s._v("监听协议: 选择 http")]),s._v(" "),a("li",[s._v("监听地址: 不需要改动")]),s._v(" "),a("li",[s._v("监听端口: 不需要改动(默认1080)")])]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ab82aa10192049c28157856acc8e8be8.png",alt:"proxy"}})]),s._v(" "),a("p",[s._v("点击下一步,选择 [选择账户并自动创建新实例]")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/ebe49e967ee94feabde0855691e79c08.png",alt:"new-instance"}})]),s._v(" "),a("p",[s._v("点击下一步,选择刚才创建好的账户")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/6cfd9c34857047a5805140d4c51aef7c.png",alt:"select-account"}})]),s._v(" "),a("p",[s._v("点击下一步,开始填写函数参数")]),s._v(" "),a("ul",[a("li",[s._v("函数名称: 函数的名称,只允许英文")]),s._v(" "),a("li",[s._v("函数所在区域: 只能选择账户允许的区域内部署")])]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/367928eaf3ed4d3b9745a1a6976e05a0.png",alt:"func"}})]),s._v(" "),a("p",[s._v("其他选项均不需要改动,点击提交。")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/14ea9dfdf588445398aa8cca7be187a9.png",alt:"create"}})]),s._v(" "),a("h3",{attrs:{id:"开始使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开始使用"}},[s._v("#")]),s._v(" 开始使用")]),s._v(" "),a("p",[s._v("现在我们可以测试一下了。在终端输入:")]),s._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("export")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("https_proxy")]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("http://127.0.0.1:1080 "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("http_proxy")]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("http://127.0.0.1:1080 "),a("span",{pre:!0,attrs:{class:"token assign-left variable"}},[s._v("all_proxy")]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("http://127.0.0.1:1080\n")])])]),a("p",[s._v("然后查一下 IP:")]),s._v(" "),a("div",{staticClass:"language-shell extra-class"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("curl")]),s._v(" cip.cc\n")])])]),a("p",[s._v("如果显示为阿里云 IP,表明代理已经生效。")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/a88026e1cdab45f987c5cc66b6f81034.png",alt:"ip"}})]),s._v(" "),a("p",[s._v("同时服务页面会显示当前对应的延迟、连接数以及流量统计汇总。")]),s._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/d819adccb751498fa2c3c82bae465024.png",alt:"total"}})])])}),[],!1,null,null,null);a.default=c.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/8.63228358.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{318:function(t,s,a){"use strict";a.r(s);var e=a(7),n=Object(e.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h2",{attrs:{id:"🕹-快速开始"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#🕹-快速开始"}},[t._v("#")]),t._v(" 🕹 快速开始")]),t._v(" "),s("p",[t._v("通过该页面,您可以通过推荐的部署方式快速开始使用 SeaMoon。")]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("写在前面")]),t._v(" "),s("p",[t._v("本页面按照阿里云标准云函数服务进行部署,如果您希望获取到更多自定义的配置和使用方式,"),s("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy",target:"_blank",rel:"noopener noreferrer"}},[t._v("请跳转"),s("OutboundLink")],1)]),t._v(" "),s("p",[t._v("🔥 如果您的钱包和预算有限,并且代理IP需求并不是特别高,这里推荐使用 "),s("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/sealos",target:"_blank",rel:"noopener noreferrer"}},[t._v("sealos部署服务端"),s("OutboundLink")],1)]),t._v(" "),s("p",[t._v("🙅 如果只想测试一下 seamoon 感受一下效果,可以使用 "),s("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/render",target:"_blank",rel:"noopener noreferrer"}},[t._v("render部署服务端"),s("OutboundLink")],1),t._v(", 但是注意极容易封号。")]),t._v(" "),s("p",[t._v("🔧 如果你不想仅拥有 http/socks5 协议的代理,期望使用更多代理,请移步 "),s("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/",target:"_blank",rel:"noopener noreferrer"}},[t._v("更多客户端适配"),s("OutboundLink")],1)])]),t._v(" "),s("h3",{attrs:{id:"事前准备"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#事前准备"}},[t._v("#")]),t._v(" 事前准备")]),t._v(" "),s("ul",[s("li",[t._v("云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)")]),t._v(" "),s("li",[t._v("云厂商账户 AK/SK,并拥有操作FC的全部权限。")]),t._v(" "),s("li",[t._v("一台存在docker、Nodejs >= 12 的客户端的机器,同时保证 7777、1080、9999端口未被占用,该机器将作为使用的客户端。")])]),t._v(" "),s("h3",{attrs:{id:"step-1-安装serverless-devs工具"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-1-安装serverless-devs工具"}},[t._v("#")]),t._v(" Step.1 安装serverless-devs工具")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" @serverless-devs/s "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-g")]),t._v("\n")])])]),s("p",[t._v("国内加速:")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ cnpm "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" @serverless-devs/s "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-g")]),t._v("\n")])])]),s("p",[t._v("如果不存在npm包管理器,请先通过node安装npm/cnpm")]),t._v(" "),s("p",[t._v("安装后运行")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ s "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-v")]),t._v("\n")])])]),s("p",[t._v("将可以看到serverless-devs版本,表示安装成功。")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("@serverless-devs/s3: "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.1")]),t._v(".0, s-home: /Users/DVK/.s, darwin-arm64, node-v20.9.0\n")])])]),s("p",[t._v("然后通过如下命令开始配置云厂商认证")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ s config "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("add")]),t._v(" \n")])])]),s("p",[t._v("按提示即可选择即可,本次我们以 "),s("code",[t._v("Alibaba Cloud")]),t._v(" 为例,输入对应的账户"),s("code",[t._v("AccessKeyID")]),t._v("、"),s("code",[t._v("AccessKeySecret")])]),t._v(" "),s("p",[t._v("最后一步填写"),s("code",[t._v("alias")]),t._v("时,请确保值为"),s("code",[t._v("default")]),t._v("(一般初次安装与认证该字段都默认为default,回车即可)。")]),t._v(" "),s("p",[t._v("如果AK/SK无误,那么你将会看到认证成功的提示。")]),t._v(" "),s("h3",{attrs:{id:"step-2-部署服务端"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-2-部署服务端"}},[t._v("#")]),t._v(" Step.2 部署服务端")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("git")]),t._v(" clone https://github.com/DVKunion/SeaMoon.git\n")])])]),s("p",[t._v("进入到项目目录")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("cd")]),t._v(" SeaMoon\n$ s deploy\n")])])]),s("p",[t._v("如果你不是第一次部署,那么将会提示你选择冲突的配置:remote/local,一般选择local即可。")]),t._v(" "),s("p",[t._v("稍等片刻,你将会得到部署好的两个地址:")]),t._v(" "),s("div",{staticClass:"language-yaml extra-class"},[s("pre",{pre:!0,attrs:{class:"language-yaml"}},[s("code",[s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("SeaMoon-WST-Node")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("region")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" cn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("hongkong\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("service")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" SeaMoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("Service\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" ws"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("node\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("runtime")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" custom\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("handler")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" main\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("memorySize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("128")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("timeout")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("300")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cpu")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.05")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("diskSize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("512")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("url")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("system_url")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" https"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("//ws"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("node"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("service"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("xxxxxxxx.cn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("hongkong.fcapp.run\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("system_intranet_url")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" https"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("//ws"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("node"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("service"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("xxxxxxxx.cn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("hongkong"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("vpc.fcapp.run\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("triggers")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" http\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" httpTrigger\n"),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("SeaMoon-GRT-Node")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("region")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" cn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("hongkong\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("service")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" SeaMoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("Service\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("function")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" grpc"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("node\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("runtime")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" custom\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("handler")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" main\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("memorySize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("128")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("timeout")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("300")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("cpu")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0.05")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("diskSize")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("512")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("url")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("system_url")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" https"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("//grpc"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("node"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("service"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("xxxxxxxx.cn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("hongkong.fcapp.run\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("system_intranet_url")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" https"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("//grpc"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("node"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("seamoon"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("service"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("xxxxxxxx.cn"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("hongkong"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("vpc.fcapp.run\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("triggers")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" http\n "),s("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" httpTrigger\n")])])]),s("p",[t._v("这里是用的都是默认配置,如果你需要更多高级可选项,"),s("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy",target:"_blank",rel:"noopener noreferrer"}},[t._v("请继续阅读"),s("OutboundLink")],1)]),t._v(" "),s("p",[t._v("同样,如果你不想使用阿里云,或者想寻求更廉价的计费方式,"),s("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy",target:"_blank",rel:"noopener noreferrer"}},[t._v("请继续阅读"),s("OutboundLink")],1)]),t._v(" "),s("p",[t._v("服务端部署完成")]),t._v(" "),s("h3",{attrs:{id:"step-3-开启客户端使用"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#step-3-开启客户端使用"}},[t._v("#")]),t._v(" Step.3 开启客户端使用")]),t._v(" "),s("div",{staticClass:"language-shell extra-class"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[t._v("$ "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("docker")]),t._v(" run "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-it")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("-d")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[t._v("--net")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("host dvkunion/seamoon:latest proxy\n\n")])])]),s("p",[t._v("默认使用"),s("code",[t._v("--net=host")]),t._v("模式,然后浏览器打开:")]),t._v(" "),s("p",[s("code",[t._v("localhost:7777")])]),t._v(" "),s("p",[t._v("即可开启客户端, 点击配置管理")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png",alt:"client"}})]),t._v(" "),s("p",[t._v("添加云端配置")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png",alt:"client-config"}})]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[t._v("如何填写地址")]),t._v(" "),s("p",[t._v("我们在步骤2的时候,如果你是使用 s 工具实现的部署,那么最终的 yaml 内可以看到 url 字段,url 字段内的 system_url 即为我们需要的地址。\n不要使用带有 vpc 字样的 url, 也就是 system_intranet_url 字段的值,这是内网 vpc 访问的域名。"),s("br"),t._v("\n除此之外,需要自行将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。"),s("br"),t._v("\ngrpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089\n8089 是阿里云的固定 grpc 协议端口,不需要改动。")])]),t._v(" "),s("p",[t._v("开启socks5代理,并保持默认"),s("code",[t._v(":1080")]),t._v("不改变。")]),t._v(" "),s("p",[t._v("此时,你已经可以通过云函数启动socks5代理访问了。")]),t._v(" "),s("p",[s("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})])])}),[],!1,null,null,null);s.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/9.0884394f.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{319:function(t,a,s){"use strict";s.r(a);var e=s(7),n=Object(e.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h2",{attrs:{id:"三步部署到阿里云"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#三步部署到阿里云"}},[t._v("#")]),t._v(" 三步部署到阿里云")]),t._v(" "),a("p",[t._v("阿里云是使用上最为规范、标准化场景下的serverless部署方式。")]),t._v(" "),a("p",[t._v("如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。")]),t._v(" "),a("h2",{attrs:{id:"如何部署"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#如何部署"}},[t._v("#")]),t._v(" 如何部署")]),t._v(" "),a("p",[t._v("如果你了解云函数,可以使用自定义镜像 / 自定义运行时 / 二进制等等方式部署。")]),t._v(" "),a("p",[t._v("下文是基于对完全不了解云函数的同学给出的最简单的部署方式。")]),t._v(" "),a("h3",{attrs:{id:"step-1"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-1"}},[t._v("#")]),t._v(" Step.1")]),t._v(" "),a("ul",[a("li",[t._v("阿里云首先要开通函数计算服务。")]),t._v(" "),a("li",[t._v("fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下")]),t._v(" "),a("li",[t._v("进入阿里云控制台,点击应用 -> 创建应用")])]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/66d81e68e1fa4ef9b8aa3775b4957552.png",alt:"aliyun-create-app"}})]),t._v(" "),a("h3",{attrs:{id:"step-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-2"}},[t._v("#")]),t._v(" Step.2")]),t._v(" "),a("p",[t._v("选择 "),a("code",[t._v("通过仓库导入应用")]),t._v(" , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/d00b5116362d47cdb429f91e48ab2d3a.png",alt:"aliyun-app-import"}})]),t._v(" "),a("h3",{attrs:{id:"step-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#step-3"}},[t._v("#")]),t._v(" Step.3")]),t._v(" "),a("p",[t._v("点击创建,等待服务部署成功,即可获取到代理地址")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/a43730eaa80a4885a5eaee853ff3a781.png",alt:"aliyun-deploy"}})]),t._v(" "),a("blockquote",[a("p",[t._v("其他注意事项:"),a("br"),t._v("\n如果您想要修改代理生效的区域,请修改s.yaml内的 vars -> region字段")]),t._v(" "),a("p",[t._v("目前阿里云支持的字段有: 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")])]),t._v(" "),a("p",[a("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/client/",target:"_blank",rel:"noopener noreferrer"}},[t._v("开启客户端并填入配置"),a("OutboundLink")],1),t._v(", 尽情享用。")]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"custom-block-title"},[t._v("如何填写地址")]),t._v(" "),a("p",[t._v("将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。")]),t._v(" "),a("p",[t._v("grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089")]),t._v(" "),a("p",[t._v("8089 是阿里云的固定 grpc 协议端口,不需要改动。")])]),t._v(" "),a("h2",{attrs:{id:"效果展示"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#效果展示"}},[t._v("#")]),t._v(" 效果展示")]),t._v(" "),a("p",[a("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png",alt:"speed"}})])])}),[],!1,null,null,null);a.default=n.exports}}]);
  • ■ ■ ■ ■ ■
    assets/js/9.f1db5db3.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{318:function(a,e,t){"use strict";t.r(e);var s=t(7),r=Object(s.a)({},(function(){var a=this,e=a._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"客户端安装"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#客户端安装"}},[a._v("#")]),a._v(" 客户端安装")]),a._v(" "),e("h3",{attrs:{id:"docker"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#docker"}},[a._v("#")]),a._v(" Docker")]),a._v(" "),e("p",[a._v("推荐使用 docker 一键部署client")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("--net")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("host dvkunion/seamoon:latest proxy\n")])])]),e("p",[a._v("默认使用"),e("code",[a._v("--net=host")]),a._v("模式,这样比较简单易懂。为了更高的安全性、可控性,你也可以自己选择映射:")]),a._v(" "),e("div",{staticClass:"language-shell extra-class"},[e("pre",{pre:!0,attrs:{class:"language-shell"}},[e("code",[a._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[a._v("docker")]),a._v(" run "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-it")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-d")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("127.0")]),a._v(".0.1:7777:7777 "),e("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-p")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1080")]),a._v(":1080 dvkunion/seamoon:latest proxy\n")])])]),e("p",[a._v("这样可以将管理端口限制只能通过本地 "),e("code",[a._v("127.0.0.1")]),a._v(" 访问,如果你需要限制为其他 IP,可以自行修改。")]),a._v(" "),e("p",[a._v("然后浏览器打开:")]),a._v(" "),e("p",[e("code",[a._v("localhost:7777")])]),a._v(" "),e("p",[a._v("即可开启客户端")]),a._v(" "),e("h3",{attrs:{id:"binary"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#binary"}},[a._v("#")]),a._v(" Binary")]),a._v(" "),e("h4",{attrs:{id:"客户端下载"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#客户端下载"}},[a._v("#")]),a._v(" 客户端下载")]),a._v(" "),e("p",[a._v("在 "),e("a",{attrs:{href:"https://github.com/DVKunion/SeaMoon/releases",target:"_blank",rel:"noopener noreferrer"}},[a._v("Github Release"),e("OutboundLink")],1),a._v(" 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。")]),a._v(" "),e("p",[e("img",{attrs:{src:"https://seamoon.oss-cn-hangzhou.aliyuncs.com/955161ed6d3c48b181397bed1bcaca45.png",alt:"release"}})])])}),[],!1,null,null,null);e.default=r.exports}}]);
  • assets/js/app.770cf828.js assets/js/app.a3941e84.js
    Unable to diff as some line is too long.
  • ■ ■ ■ ■ ■ ■
    guide/advance/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>高级进阶 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/16.463faaa4.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" class="sidebar-link">项目结构</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">高级进阶<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="高级进阶"><a href="#高级进阶" class="header-anchor">#</a> 高级进阶</h1> <p>SeaMoon 提供了多种多样的部署方式。</p> <ul><li><a href="https://seamoon.dvkunion.cn/guide/deploy/aliyun/" target="_blank" rel="noopener noreferrer">阿里云手动部署<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/tencent/" target="_blank" rel="noopener noreferrer">腾讯云手动部署<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/sealos/" target="_blank" rel="noopener noreferrer">🔥 sealos:更便宜更舒服的选择<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/render/" target="_blank" rel="noopener noreferrer">💰 render:<s>免费的总是最好的</s>免费的总是会封号的<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://www.heroku.com/" target="_blank" rel="noopener noreferrer">heroku<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://railway.app/new" target="_blank" rel="noopener noreferrer">railway<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/" target="_blank" rel="noopener noreferrer">serverless-devs快捷部署<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><!----> <!----></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     32 + Theme by
     33 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     34 + | Copyright © 2022-2024
     35 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     36 + 跟随系统
     37 + </li><li class="iconfont icon-rijianmoshi">
     38 + 浅色模式
     39 + </li><li class="iconfont icon-yejianmoshi">
     40 + 深色模式
     41 + </li><li class="iconfont icon-yuedu">
     42 + 阅读模式
     43 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     44 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/16.463faaa4.js" defer></script>
     45 + </body>
     46 +</html>
     47 + 
  • ■ ■ ■ ■ ■ ■
    guide/client/binary/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>binary | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/16.58712f6f.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>服务部署</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>客户端部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/docker/" class="sidebar-link">docker</a></li><li><a href="/guide/client/binary/" aria-current="page" class="active sidebar-link">binary</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/client/binary/#binary" class="sidebar-link">Binary</a></li><li class="sidebar-sub-header level2"><a href="/guide/client/binary/#客户端下载" class="sidebar-link">客户端下载</a></li><li class="sidebar-sub-header level2"><a href="/guide/client/binary/#客户端配置" class="sidebar-link">客户端配置</a></li></ul></li><li><a href="/guide/client/gost/" class="sidebar-link">gost</a></li><li><a href="/guide/client/tor/" class="sidebar-link">Tor</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">binary<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="binary"><a href="#binary" class="header-anchor">#</a> Binary</h2> <h2 id="客户端下载"><a href="#客户端下载" class="header-anchor">#</a> 客户端下载</h2> <p>在 <a href="https://github.com/DVKunion/SeaMoon/releases" target="_blank" rel="noopener noreferrer">Github Release<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/955161ed6d3c48b181397bed1bcaca45.png" alt="release"></p> <h2 id="客户端配置"><a href="#客户端配置" class="header-anchor">#</a> 客户端配置</h2> <blockquote><p>1.1.0 之前的客户端是cli的模式,已经废弃,不再支持,请使用最新版本客户端。</p></blockquote> <p><code>./seamoon proxy</code></p> <p>启动客户端,会占用7777端口。</p> <p>然后所有操作在 localhost:7777 进行操作即可:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png" alt="client"></p> <p>点击配置管理, 添加云端配置, 然后按照你的需求,选在开启本地的http代理/socks5代理</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png" alt="client-config"></p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。</p> <p>grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089</p> <p>8089 是阿里云的固定 grpc 协议端口,不需要改动。</p></div></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/client/docker/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">docker</div></a> <a href="/guide/client/gost/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">gost</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    32  -
    33  - <a href="/guide/client/docker/" class="prev">docker</a></span> <span class="next"><a href="/guide/client/gost/">gost</a>→
    34  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    35  - Theme by
    36  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    37  - | Copyright © 2022-2024
    38  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    39  - 跟随系统
    40  - </li><li class="iconfont icon-rijianmoshi">
    41  - 浅色模式
    42  - </li><li class="iconfont icon-yejianmoshi">
    43  - 深色模式
    44  - </li><li class="iconfont icon-yuedu">
    45  - 阅读模式
    46  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    47  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/16.58712f6f.js" defer></script>
    48  - </body>
    49  -</html>
    50  - 
  • ■ ■ ■ ■ ■ ■
    guide/client/docker/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>docker | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/15.55e48f15.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>服务部署</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>客户端部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/docker/" aria-current="page" class="active sidebar-link">docker</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/client/docker/#docker" class="sidebar-link">Docker</a></li></ul></li><li><a href="/guide/client/binary/" class="sidebar-link">binary</a></li><li><a href="/guide/client/gost/" class="sidebar-link">gost</a></li><li><a href="/guide/client/tor/" class="sidebar-link">Tor</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">docker<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="docker"><a href="#docker" class="header-anchor">#</a> Docker</h2> <p>推荐使用 docker 一键部署client</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon:latest proxy
    32  -</code></pre></div><p>默认使用<code>--net=host</code>模式,这样比较简单易懂。为了更高的安全性、可控性,你也可以自己选择映射:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">127.0</span>.0.1:7777:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon:latest proxy
    33  -</code></pre></div><p>这样可以将管理端口限制只能通过本地 <code>127.0.0.1</code> 访问,如果你需要限制为其他 IP,可以自行修改。</p> <p>然后浏览器打开:</p> <p><code>localhost:7777</code></p> <p>即可开启客户端, 点击配置管理</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png" alt="client"></p> <p>添加云端配置</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png" alt="client-config"></p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。</p> <p>grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089</p> <p>8089 是阿里云的固定 grpc 协议端口,不需要改动。</p></div> <p>开启socks5代理,并保持默认<code>:1080</code>不改变。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/deploy/serverlessDevs/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">Serverless-Devs</div></a> <a href="/guide/client/binary/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">binary</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    34  -
    35  - <a href="/guide/deploy/serverlessDevs/" class="prev">Serverless-Devs</a></span> <span class="next"><a href="/guide/client/binary/">binary</a>→
    36  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    37  - Theme by
    38  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    39  - | Copyright © 2022-2024
    40  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    41  - 跟随系统
    42  - </li><li class="iconfont icon-rijianmoshi">
    43  - 浅色模式
    44  - </li><li class="iconfont icon-yejianmoshi">
    45  - 深色模式
    46  - </li><li class="iconfont icon-yuedu">
    47  - 阅读模式
    48  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    49  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/15.55e48f15.js" defer></script>
    50  - </body>
    51  -</html>
    52  - 
  • ■ ■ ■ ■ ■ ■
    guide/client/gost/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>gost | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/17.bbfc83cb.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>服务部署</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>客户端部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/docker/" class="sidebar-link">docker</a></li><li><a href="/guide/client/binary/" class="sidebar-link">binary</a></li><li><a href="/guide/client/gost/" aria-current="page" class="active sidebar-link">gost</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/client/gost/#gost-优雅的-golang-代理" class="sidebar-link">GOST - 优雅的 golang 代理</a></li></ul></li><li><a href="/guide/client/tor/" class="sidebar-link">Tor</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">gost<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="gost-优雅的-golang-代理"><a href="#gost-优雅的-golang-代理" class="header-anchor">#</a> GOST - 优雅的 golang 代理</h2> <p>Seamoon 对接 <a href="https://github.com/go-gost/gost" target="_blank" rel="noopener noreferrer">Gost<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 十分简单。原因也很简单,2.0 迭代的代码改造中&quot;借鉴&quot;(copy)了很多 gost 的设计和原封不动的代码结构。对协议的理解和代码设计上参考了很多师傅的模式。在此表示感谢无私的开源和分享。</p> <p>GOST 是一款基于 golang 的简单隧道,具体的介绍可以访问其<a href="https://gost.run" target="_blank" rel="noopener noreferrer">官网<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>在技术博客里,我们也分享了 GOST 的一些设计架构代码,我们可以这样理解: Seamoon 服务端就是一个 websocket / grpc 的 gost 转发节点,但是只实现了 http / socks5 的处理模块,由此目前还支持值了这两种协议的转发。</p> <p>gost 的客户端更强大,因为模块拆分的很细致,所以能实现很多好玩的玩法各种组合, 理论来讲, gost 支持的 listen 都可以通过 seamoon 的隧道转发过来。</p> <p>gost 还支持了 metrics 等数据统计、代理认证、限速等等客户端实现的功能,适合长期挂在本地作为一个持久化的服务使用。</p> <p>我们给出一些demo示例,来看一下 seamoon 如何对接 gost。这里免去了 gost 安装相关教程,默认用户已安装了 gost,提供的是具体的启动脚本配置。</p> <h3 id="websocket-隧道"><a href="#websocket-隧道" class="header-anchor">#</a> websocket 隧道</h3> <div class="theme-code-group" data-v-2f5f1757><div class="theme-code-group__nav" data-v-2f5f1757><ul class="theme-code-group__ul" data-v-2f5f1757></ul></div> <div class="theme-code-block theme-code-block__active" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。</span>
    32  -gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> http://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/http
    33  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式</span>
    34  -gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> http://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
    35  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。</span>
    36  -gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> socks5://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/http
    37  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式。</span>
    38  -gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> socks5://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
    39  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个其他协议代理,这里以 socks4 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。</span>
    40  -gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> socks4://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
    41  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个其他协议代理,这里以 shadowsocks 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。</span>
    42  -gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> ss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>cipher<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>pass<span class="token operator" data-v-4f1e9d0c>&gt;</span>@:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
    43  -<span class="token comment" data-v-4f1e9d0c># 如:ss://AEAD_AES_128_GCM:password@:1080</span>
    44  -</code></pre></div></div> <pre class="pre-blank" data-v-2f5f1757>// Make sure to add code blocks to your code group</pre></div> <h3 id="grpc-隧道"><a href="#grpc-隧道" class="header-anchor">#</a> grpc 隧道</h3> <p>grpc 隧道由于 gost 的 proto 略有冲突,因此需要单独适配实现一个 server。计划 2.0 版本彻底完成适配。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/client/binary/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">binary</div></a> <a href="/guide/client/tor/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">Tor</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    45  -
    46  - <a href="/guide/client/binary/" class="prev">binary</a></span> <span class="next"><a href="/guide/client/tor/">Tor</a>→
    47  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    48  - Theme by
    49  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    50  - | Copyright © 2022-2024
    51  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    52  - 跟随系统
    53  - </li><li class="iconfont icon-rijianmoshi">
    54  - 浅色模式
    55  - </li><li class="iconfont icon-yejianmoshi">
    56  - 深色模式
    57  - </li><li class="iconfont icon-yuedu">
    58  - 阅读模式
    59  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    60  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/17.bbfc83cb.js" defer></script>
    61  - </body>
    62  -</html>
    63  - 
  • ■ ■ ■ ■ ■ ■
    guide/client/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>客户端部署 | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/19.c1cf8f06.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" class="sidebar-link">项目结构</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>服务部署</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">客户端部署<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="客户端部署"><a href="#客户端部署" class="header-anchor">#</a> 客户端部署</h2> <p>SeaMoon 客户端同样支持多模式部署</p> <ul><li><a href="https://seamoon.dvkunion.cn/guide/client/docker/" target="_blank" rel="noopener noreferrer">docker<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/binary/" target="_blank" rel="noopener noreferrer">binary<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul> <p>Seamoon 客户端还支持了 Tor 网桥的接入</p> <ul><li><a href="https://seamoon.dvkunion.cn/guide/client/tor/" target="_blank" rel="noopener noreferrer">tor<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul> <p>除此之外,你还可以选择其他客户端,seamoon做了部分的协议适配支持,这样可以选择仅部署服务端,然后使用已有的成品客户端。</p> <p>成品客户端通常会支持更多协议类型,比如 gost,基本上所有可以监听的类型都可以通过 seamoon 隧道协议转发出来。</p> <ul><li><a href="https://seamoon.dvkunion.cn/guide/client/gost/" target="_blank" rel="noopener noreferrer">gost:优雅简便的go代理<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><!----> <!----></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    32  - Theme by
    33  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    34  - | Copyright © 2022-2024
    35  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    36  - 跟随系统
    37  - </li><li class="iconfont icon-rijianmoshi">
    38  - 浅色模式
    39  - </li><li class="iconfont icon-yejianmoshi">
    40  - 深色模式
    41  - </li><li class="iconfont icon-yuedu">
    42  - 阅读模式
    43  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    44  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/19.c1cf8f06.js" defer></script>
    45  - </body>
    46  -</html>
    47  - 
  • ■ ■ ■ ■ ■ ■
    guide/client/tor/index.html
    skipped 2 lines
    3 3   <head>
    4 4   <meta charset="utf-8">
    5 5   <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>Tor | SeaMoon</title>
     6 + <title>tor | SeaMoon</title>
    7 7   <meta name="generator" content="VuePress 1.9.7">
    8 8   <link rel="icon" href="/img/favicon.ico">
    9 9   <script>
    skipped 10 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/18.e979b696.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/17.3ec75fb7.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span></span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>客户端</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/docker/" class="sidebar-link">docker</a></li><li><a href="/guide/client/binary/" class="sidebar-link">binary</a></li><li><a href="/guide/client/gost/" class="sidebar-link">gost</a></li><li><a href="/guide/client/tor/" aria-current="page" class="active sidebar-link">Tor</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/client/tor/#-tor-" class="sidebar-link"> Tor </a></li></ul></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">Tor<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="��-tor-网络开启"><a href="#��-tor-网络开启" class="header-anchor">#</a> �� Tor 网络开启</h2> <div class="custom-block warning"><p class="custom-block-title">注意</p> <p>tor 服务比较吃内存,经测试 内存至少需要配置在 100MB 以上才能发挥稳定的效果。</p></div> <p>为了防止普通流量过 Tor 导致的速率下降,在客户端做了个开关。</p> <p>客户端会根据这个这个开关来选择是否给服务端发送 Tor 代理标识。</p> <p>服务端接收到 Tor 代理标识后,会将流量直接转发给本地服务。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ec26347f298a4f9d81f7068eb3c0e4dc.png" alt="tor"></p> <p>注意,tor 网络目前仅支持: 本地 socks5 代理 + websocket 隧道 的模式。</p> <p>然后本地的 socks5 代理即可访问一些 .onion 结尾的域名了。如:</p> <p><code>https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/09626bede56b4c18b6cd4d41d3e11c00.png" alt="onion"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>在当前版本内,seamoon 实现了最简单的 tor 接入方式 -- 通过 tor cli 自带的 s5 协议做了一层转发,因为 v2ray 也是这样玩的。</p> <p>实际上,这种方案,有很多不足,出去开头的资源占用较高 warning,通过 binary 的集成力度也不是非常合适,但是在这个阶段暂时用该方案来减少代码开发的工作量。</p> <p>因此,此方案仅用于证明 seamoon 的扩展性,距离真正 &quot;便宜&quot; 可能还需要一段的距离。</p></div></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/client/gost/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">gost</div></a> <!----></div> <div class="page-nav"><p class="inner"><span class="prev">
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span></span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>客户端</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/tor/" aria-current="page" class="active sidebar-link">tor</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/client/tor/#-tor-" class="sidebar-link"> Tor </a></li></ul></li><li><a href="/guide/gost/" class="sidebar-link">gost</a></li><li><a href="/guide/v2ray/" class="sidebar-link">v2ray</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">tor<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="��-tor-网络开启"><a href="#��-tor-网络开启" class="header-anchor">#</a> �� Tor 网络开启</h2> <div class="custom-block warning"><p class="custom-block-title">注意</p> <p>tor 服务比较吃内存,经测试 内存至少需要配置在 100MB 以上才能发挥稳定的效果。</p></div> <p>为了防止普通流量过 Tor 导致的速率下降,在客户端做了个开关。</p> <p>客户端会根据这个这个开关来选择是否给服务端发送 Tor 代理标识。</p> <p>服务端接收到 Tor 代理标识后,会将流量直接转发给本地服务。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ec26347f298a4f9d81f7068eb3c0e4dc.png" alt="tor"></p> <p>注意,tor 网络目前仅支持: 本地 socks5 代理 + websocket 隧道 的模式。</p> <p>然后本地的 socks5 代理即可访问一些 .onion 结尾的域名了。如:</p> <p><code>https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/09626bede56b4c18b6cd4d41d3e11c00.png" alt="onion"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>在当前版本内,seamoon 实现了最简单的 tor 接入方式 -- 通过 tor cli 自带的 s5 协议做了一层转发,因为 v2ray 也是这样玩的。</p> <p>实际上,这种方案,有很多不足,出去开头的资源占用较高 warning,通过 binary 的集成力度也不是非常合适,但是在这个阶段暂时用该方案来减少代码开发的工作量。</p> <p>因此,此方案仅用于证明 seamoon 的扩展性,距离真正 &quot;便宜&quot; 可能还需要一段的距离。</p></div></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/faas/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">BaaS/FaaS </div></a> <a href="/guide/gost/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">gost</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    32 32  
    33  - <a href="/guide/client/gost/" class="prev">gost</a></span> <!----></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     33 + <a href="/guide/faas/" class="prev">BaaS/FaaS 手动部署</a></span> <span class="next"><a href="/guide/gost/">gost</a>→
     34 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    34 35   Theme by
    35 36   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    36 37   | Copyright © 2022-2024
    skipped 6 lines
    43 44   </li><li class="iconfont icon-yuedu">
    44 45   阅读模式
    45 46   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    46  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/18.e979b696.js" defer></script>
     47 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/17.3ec75fb7.js" defer></script>
    47 48   </body>
    48 49  </html>
    49 50   
  • ■ ■ ■ ■ ■ ■
    guide/deploy/aliyun/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>阿里云 | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/9.0884394f.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>服务部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/deploy/aliyun/" aria-current="page" class="active sidebar-link">阿里云</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/deploy/aliyun/#三步部署到阿里云" class="sidebar-link">三步部署到阿里云</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/aliyun/#如何部署" class="sidebar-link">如何部署</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/aliyun/#效果展示" class="sidebar-link">效果展示</a></li></ul></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</a></li><li><a href="/guide/deploy/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/render/" class="sidebar-link">Render</a></li><li><a href="/guide/deploy/serverlessDevs/" class="sidebar-link">Serverless-Devs</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">阿里云<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="三步部署到阿里云"><a href="#三步部署到阿里云" class="header-anchor">#</a> 三步部署到阿里云</h2> <p>阿里云是使用上最为规范、标准化场景下的serverless部署方式。</p> <p>如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。</p> <h2 id="如何部署"><a href="#如何部署" class="header-anchor">#</a> 如何部署</h2> <p>如果你了解云函数,可以使用自定义镜像 / 自定义运行时 / 二进制等等方式部署。</p> <p>下文是基于对完全不了解云函数的同学给出的最简单的部署方式。</p> <h3 id="step-1"><a href="#step-1" class="header-anchor">#</a> Step.1</h3> <ul><li>阿里云首先要开通函数计算服务。</li> <li>fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下</li> <li>进入阿里云控制台,点击应用 -&gt; 创建应用</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/66d81e68e1fa4ef9b8aa3775b4957552.png" alt="aliyun-create-app"></p> <h3 id="step-2"><a href="#step-2" class="header-anchor">#</a> Step.2</h3> <p>选择 <code>通过仓库导入应用</code> , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/d00b5116362d47cdb429f91e48ab2d3a.png" alt="aliyun-app-import"></p> <h3 id="step-3"><a href="#step-3" class="header-anchor">#</a> Step.3</h3> <p>点击创建,等待服务部署成功,即可获取到代理地址</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/a43730eaa80a4885a5eaee853ff3a781.png" alt="aliyun-deploy"></p> <blockquote><p>其他注意事项:<br>
    32  -如果您想要修改代理生效的区域,请修改s.yaml内的 vars -&gt; region字段</p> <p>目前阿里云支持的字段有: 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</p></blockquote> <p><a href="https://seamoon.dvkunion.cn/guide/client/" target="_blank" rel="noopener noreferrer">开启客户端并填入配置<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>, 尽情享用。</p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。</p> <p>grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089</p> <p>8089 是阿里云的固定 grpc 协议端口,不需要改动。</p></div> <h2 id="效果展示"><a href="#效果展示" class="header-anchor">#</a> 效果展示</h2> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/start/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">快速开始</div></a> <a href="/guide/deploy/tencent/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">腾讯云</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    33  -
    34  - <a href="/guide/start/" class="prev">快速开始</a></span> <span class="next"><a href="/guide/deploy/tencent/">腾讯云</a>→
    35  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    36  - Theme by
    37  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    38  - | Copyright © 2022-2024
    39  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    40  - 跟随系统
    41  - </li><li class="iconfont icon-rijianmoshi">
    42  - 浅色模式
    43  - </li><li class="iconfont icon-yejianmoshi">
    44  - 深色模式
    45  - </li><li class="iconfont icon-yuedu">
    46  - 阅读模式
    47  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    48  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/9.0884394f.js" defer></script>
    49  - </body>
    50  -</html>
    51  - 
  • ■ ■ ■ ■ ■ ■
    guide/deploy/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>服务端部署 | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/14.dc585389.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" class="sidebar-link">项目结构</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>服务部署</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">服务端部署<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="服务端部署"><a href="#服务端部署" class="header-anchor">#</a> 服务端部署</h2> <p>SeaMoon 提供了多种多样的部署方式。</p> <ul><li><a href="https://seamoon.dvkunion.cn/guide/deploy/aliyun/" target="_blank" rel="noopener noreferrer">阿里云手动部署<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/tencent/" target="_blank" rel="noopener noreferrer">腾讯云手动部署<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/sealos/" target="_blank" rel="noopener noreferrer">🔥 sealos:更便宜更舒服的选择<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/render/" target="_blank" rel="noopener noreferrer">💰 render:<s>免费的总是最好的</s>免费的总是会封号的<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://www.heroku.com/" target="_blank" rel="noopener noreferrer">heroku<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://railway.app/new" target="_blank" rel="noopener noreferrer">railway<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/" target="_blank" rel="noopener noreferrer">serverless-devs快捷部署<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><!----> <!----></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    32  - Theme by
    33  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    34  - | Copyright © 2022-2024
    35  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    36  - 跟随系统
    37  - </li><li class="iconfont icon-rijianmoshi">
    38  - 浅色模式
    39  - </li><li class="iconfont icon-yejianmoshi">
    40  - 深色模式
    41  - </li><li class="iconfont icon-yuedu">
    42  - 阅读模式
    43  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    44  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/14.dc585389.js" defer></script>
    45  - </body>
    46  -</html>
    47  - 
  • ■ ■ ■ ■ ■ ■
    guide/deploy/render/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>Render | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/12.9de2f1b2.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>服务部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/deploy/aliyun/" class="sidebar-link">阿里云</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</a></li><li><a href="/guide/deploy/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/render/" aria-current="page" class="active sidebar-link">Render</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/deploy/render/#部署到render-免费的永远是最好的-去-的免费的-号没了" class="sidebar-link">部署到Render: ~~免费的永远是最好的~~ 去**的免费的,号没了</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/render/#如何部署" class="sidebar-link">如何部署</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/render/#测试效果" class="sidebar-link">测试效果</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/render/#一些小细节问题" class="sidebar-link">一些小细节问题</a></li></ul></li><li><a href="/guide/deploy/serverlessDevs/" class="sidebar-link">Serverless-Devs</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">Render<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="部署到render-免费的永远是最好的-去-的免费的-号没了"><a href="#部署到render-免费的永远是最好的-去-的免费的-号没了" class="header-anchor">#</a> 部署到Render: <s>免费的永远是最好的</s> 去**的免费的,号没了</h2> <div class="custom-block danger"><p class="custom-block-title">警告</p> <p>2024.02.02 更新<br>
    32  -render 不但 ban 了 <code>seamoon</code> 镜像,还把号封了,*** 玩不起就别玩。<br>
    33  -虽然还有各种各样的绕过方式,其账户注册起来也不困难,但是可以看出该运营商的顺准了,云计算这么多家,你不声明禁止直接ban号ban镜像有点东西的<br>
    34  -也可能是我没仔细看声明,如果有找到的师傅麻烦让我看一下在哪。先喷为敬了。<br> <img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/4170f495a85d4cc6a6ff64ddedee9c3e.png" alt="render-ban"></p></div> <p><a href="https://www.render.com/" target="_blank" rel="noopener noreferrer">Render公有云地址<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <blockquote><p>Render是一个新的PaaS( Platform as a service)云端服务,也就是说你的代码部署到Render之后,你不用(也不能)去管Linux/firewall/nginx的设定。把你的Github网址给Render,设定一下用鼠标点点点,等个几分钟,你的程序就上线了,全世界都能看到你的网站或是存取你提供的API。<a href="https://zhuanlan.zhihu.com/p/377558120" target="_blank" rel="noopener noreferrer">(选自知乎)<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></blockquote> <p>我们来看一下官方是如何介绍自己的:</p> <blockquote><p>Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.</p></blockquote> <p>其实这些都不重要,重要的是你只需要知道,<font color="pink"><b><s>render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!</s></b></font>这就够了,足够我们给他树一个👍。 第二天就封号了的臭SB。</p> <h2 id="如何部署"><a href="#如何部署" class="header-anchor">#</a> 如何部署</h2> <p>render 部署与 sealos 部署一样简单,在新版本中,我会逐步减少部署步骤,降低这部分交互。</p> <h3 id="step-1-注册账户"><a href="#step-1-注册账户" class="header-anchor">#</a> Step.1 注册账户</h3> <p>render 账户支持 github / gitlab / google 等一键登陆,建议直接 github 账户登陆即可。</p> <p>实在不行,他也支持邮箱注册,自己注册一个,此处不再废话。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7d00a615cd45480bad1b7ade33b7e543.png" alt="render-register"></p> <h3 id="step-2-部署"><a href="#step-2-部署" class="header-anchor">#</a> Step.2 部署</h3> <p>注册账户登陆后,进入控制台,选择创建一个 web service 应用:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ffcd48fa203b4959bdde631bdf77610e.png" alt="render-web-service"></p> <p>然后选第二个,从存在的镜像中部署服务:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/faa0f096dcfa40998b518b5e4de96534.png" alt="render-web-deploy"></p> <p>点击下一步,要求我们填写部署的镜像名称,我们填写:<code>dvkunion/seamoon</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/3bc5a0437ea94a348f9841864f5c2df3.png" alt="render-image"></p> <p>开始填写详细的应用字段了,我们依次填写:</p> <ul><li>Name: 应用名称,这个最终会对应生成你的服务域名,因此这里我建议越复杂越好,因为 seamoon 当前版本没有做认证,导致如果服务名称过于简单,很容易被其他人连上。</li> <li>Region: 地域,选择服务部署的地区,现在支持四个区域:oregon-俄勒冈州(美国西部)、Frankfurt-法兰克福(欧盟)、ohio-俄亥俄州(美国东部)、singapore-新加坡(东亚)</li> <li>实例类型: 选免费的。</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/160ff4f44e5a4e9d9128269dbc1a3e26.png" alt="render-config"></p> <p>往下滑,看到 Docker Command 填写如下:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/51fa80f6e4c84ae985bdb23ac8acf673.png" alt="render-docker"></p> <p>完成,点击创建即可。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/158478ce77a84130b43f786670a40c65.png" alt="render-url"></p> <h3 id="step-3-本地客户端"><a href="#step-3-本地客户端" class="header-anchor">#</a> Step.3 本地客户端</h3> <p>在本地启动客户端,推荐 docker 一键拉起:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon proxy
    35  -</code></pre></div><p>默认使用<code>--net=host</code>模式, 如需要高级设置,如下:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">7777</span>:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon proxy
    36  -</code></pre></div><p>访问本地控制台 localhost:7777 , 将此地址填入客户端即可。</p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>填写的代理在步骤2已经明确给出,给出的地址是 https:// 开头的,需要改为如: wss://。</p> <p>grpc目前没有测试是否支持,测试支持后后续会更新文档并补充。</p></div> <h2 id="测试效果"><a href="#测试效果" class="header-anchor">#</a> 测试效果</h2> <p>整体机房是 amazon 的,所属地基本正确。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/db670fef7f4f47cd95108a656c28c9a5.png" alt="render-cip"></p> <p>速度的话,也就是正常水平,基本满足日常浏览和视频播放的样子。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/80aee46729ca4ecdbda4c244ac26835b.png" alt="render-speed"></p> <p>免费的来说已经是很不错的了。</p> <h2 id="一些小细节问题"><a href="#一些小细节问题" class="header-anchor">#</a> 一些小细节问题</h2> <p><font color="red"><b>访问不到render/dashboard/github......</b></font></p> <p>我的建议是,先用阿里云等国内方案临时解决访问一下,然后在方案 render 等作为长期持久使用的方案。</p> <p><font color="red"><b>支持 grpc 吗?</b></font></p> <p>没做测试,个人测试使用的是 websocket 隧道,然后也没有发现官方文档中提到 grpc 相关的,有兴趣的各位可以试一下然后反馈给我。</p> <p><font color="red"><b>关于动态IP 问题</b></font></p> <p>免费版本的 render 是不支持动态 scaling (动态伸缩扩容) 的,因此,这个方案部署的 seamoon 将会是一个固定 IP。
    37  -只有当 pod 销毁了,或者是你升级了套餐内容 (每月7刀) 才支持 scaling,才可以获取到动态 IP 的方案。</p> <p>当然,事无绝对,你非要使用 &quot;动态&quot; + &quot;免费&quot; 的方式,也有,通过 api 调用每小时自动删除再创建应用,即可实现这个效果,还可以实现动态的地区变动。。。。</p> <p>不过人家已经免费了,我不是非常建议这样做了。想要动态的 7刀一个月也不是一个过分的价格了,能支持的还是支持一下。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/deploy/sealos/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">Sealos</div></a> <a href="/guide/deploy/serverlessDevs/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">Serverless-Devs</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    38  -
    39  - <a href="/guide/deploy/sealos/" class="prev">Sealos</a></span> <span class="next"><a href="/guide/deploy/serverlessDevs/">Serverless-Devs</a>→
    40  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    41  - Theme by
    42  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    43  - | Copyright © 2022-2024
    44  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    45  - 跟随系统
    46  - </li><li class="iconfont icon-rijianmoshi">
    47  - 浅色模式
    48  - </li><li class="iconfont icon-yejianmoshi">
    49  - 深色模式
    50  - </li><li class="iconfont icon-yuedu">
    51  - 阅读模式
    52  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    53  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/12.9de2f1b2.js" defer></script>
    54  - </body>
    55  -</html>
    56  - 
  • ■ ■ ■ ■ ■ ■
    guide/deploy/sealos/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>Sealos | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/11.ecdf8130.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>服务部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/deploy/aliyun/" class="sidebar-link">阿里云</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</a></li><li><a href="/guide/deploy/sealos/" aria-current="page" class="active sidebar-link">Sealos</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/deploy/sealos/#部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台" class="sidebar-link">部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/sealos/#如何部署" class="sidebar-link">如何部署</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/sealos/#效果展示" class="sidebar-link">效果展示</a></li></ul></li><li><a href="/guide/deploy/render/" class="sidebar-link">Render</a></li><li><a href="/guide/deploy/serverlessDevs/" class="sidebar-link">Serverless-Devs</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">Sealos<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台"><a href="#部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台" class="header-anchor">#</a> 部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台</h2> <p><a href="https://cloud.sealos.io/" target="_blank" rel="noopener noreferrer">Sealos公有云地址<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>先说下我喜欢Sealos的原因:</p> <p><font color="pink"><b>简单的页面,适合新手小白,无需了解过多的云服务相关知识</b></font></p> <p><font style="font-size:small;">操作起来和操作一个os一样,点击、配置、部署,一气呵成。
    32  -对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。 </font></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/b792343632554e7fab560b74d3fb57b7.png" alt="sealos-dashboard"></p> <p><font color="pink"><b>简单易懂的计费方式:花费更低,效果不变</b></font></p> <p><font style="font-size:small;">对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费),
    33  -sealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。</font></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c6d9dae9534812b909e1a5f9cf3df8.png" alt="sealos-app"></p> <p><font color="pink"><b>配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控</b></font></p> <p><font style="font-size:small;">sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP
    34  -当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。</font></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/500897ae5b5f48d9b20f18d3f3eaa7ea.png" alt="sealos-container"></p> <h2 id="如何部署"><a href="#如何部署" class="header-anchor">#</a> 如何部署</h2> <p>sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:</p> <h3 id="step-1-注册账户"><a href="#step-1-注册账户" class="header-anchor">#</a> Step.1 注册账户</h3> <p>注册并登陆<a href="https://cloud.sealos.io/" target="_blank" rel="noopener noreferrer">cloud.sealos.io<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>, 点击<code>App Launchpad</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/4bfbdf9f9ad5440b91ec85831c062b07.png" alt="sealos-applanch"></p> <h3 id="step-2-部署"><a href="#step-2-部署" class="header-anchor">#</a> Step.2 部署</h3> <div class="custom-block warning"><p class="custom-block-title">注意</p> <p>sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。</p> <p>同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。</p></div> <p>点击右上角<code>create application</code>, 如下填写参数:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/f331255e64724bba8d84add292cae6e0.png" alt="sealos-config"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图:
    35  -<img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/68f55dbfb40d4310b9aae6674d335817.png" alt="sealos-config-grpc"></p></div> <p>往下拉,还有高级配置里面的启动命令:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7c92e240241845869b6b796d42ff1e31.png" alt="sealos-config-2"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:
    36  -<code>/app/seamoon server -p 8089 -t grpc</code> , 如下图:
    37  -<img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/608d9fcde8684d5cb19940bb33e90a4a.png" alt="sealos-config-grpc-2"></p></div> <p>你也可以直接选择yaml文件,参考如下:</p> <blockquote><p>注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。
    38  -可以用于参考和对比。没出现的参数代表意义不大,不用管。</p></blockquote> <div class="theme-code-group" data-v-2f5f1757><div class="theme-code-group__nav" data-v-2f5f1757><ul class="theme-code-group__ul" data-v-2f5f1757></ul></div> <div class="theme-code-block theme-code-block__active" data-v-4f1e9d0c><div class="language-yaml extra-class" data-v-4f1e9d0c><pre class="language-yaml" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token key atrule" data-v-4f1e9d0c>apiVersion</span><span class="token punctuation" data-v-4f1e9d0c>:</span> v1
    39  -<span class="token key atrule" data-v-4f1e9d0c>kind</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Service
    40  -<span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    41  - <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
    42  - <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    43  - <span class="token key atrule" data-v-4f1e9d0c>cloud.sealos.io/app-deploy-manager</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
    44  -<span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    45  - <span class="token key atrule" data-v-4f1e9d0c>ports</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    46  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>port</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
    47  - <span class="token key atrule" data-v-4f1e9d0c>targetPort</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
    48  - <span class="token key atrule" data-v-4f1e9d0c>selector</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    49  - <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
    50  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-yaml extra-class" data-v-4f1e9d0c><pre class="language-yaml" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token key atrule" data-v-4f1e9d0c>apiVersion</span><span class="token punctuation" data-v-4f1e9d0c>:</span> apps/v1
    51  -<span class="token key atrule" data-v-4f1e9d0c>kind</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Deployment
    52  -<span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    53  - <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
    54  - <span class="token key atrule" data-v-4f1e9d0c>annotations</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    55  - <span class="token key atrule" data-v-4f1e9d0c>originImageName</span><span class="token punctuation" data-v-4f1e9d0c>:</span> dvkunion/seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server<span class="token punctuation" data-v-4f1e9d0c>:</span>latest
    56  - <span class="token key atrule" data-v-4f1e9d0c>deploy.cloud.sealos.io/minReplicas</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'1'</span>
    57  - <span class="token key atrule" data-v-4f1e9d0c>deploy.cloud.sealos.io/maxReplicas</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'1'</span>
    58  - <span class="token key atrule" data-v-4f1e9d0c>deploy.cloud.sealos.io/resize</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 0Gi
    59  - <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    60  - <span class="token key atrule" data-v-4f1e9d0c>cloud.sealos.io/app-deploy-manager</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
    61  - <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
    62  -<span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    63  - <span class="token key atrule" data-v-4f1e9d0c>replicas</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>1</span>
    64  - <span class="token key atrule" data-v-4f1e9d0c>revisionHistoryLimit</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>1</span>
    65  - <span class="token key atrule" data-v-4f1e9d0c>selector</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    66  - <span class="token key atrule" data-v-4f1e9d0c>matchLabels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    67  - <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
    68  - <span class="token key atrule" data-v-4f1e9d0c>strategy</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    69  - <span class="token key atrule" data-v-4f1e9d0c>type</span><span class="token punctuation" data-v-4f1e9d0c>:</span> RollingUpdate
    70  - <span class="token key atrule" data-v-4f1e9d0c>rollingUpdate</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    71  - <span class="token key atrule" data-v-4f1e9d0c>maxUnavailable</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>0</span>
    72  - <span class="token key atrule" data-v-4f1e9d0c>maxSurge</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>1</span>
    73  - <span class="token key atrule" data-v-4f1e9d0c>template</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    74  - <span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    75  - <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    76  - <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
    77  - <span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    78  - <span class="token key atrule" data-v-4f1e9d0c>containers</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    79  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
    80  - <span class="token key atrule" data-v-4f1e9d0c>image</span><span class="token punctuation" data-v-4f1e9d0c>:</span> dvkunion/seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server<span class="token punctuation" data-v-4f1e9d0c>:</span>latest
    81  - <span class="token key atrule" data-v-4f1e9d0c>env</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    82  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> serverMod
    83  - <span class="token key atrule" data-v-4f1e9d0c>value</span><span class="token punctuation" data-v-4f1e9d0c>:</span> socks5
    84  - <span class="token key atrule" data-v-4f1e9d0c>resources</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    85  - <span class="token key atrule" data-v-4f1e9d0c>requests</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    86  - <span class="token key atrule" data-v-4f1e9d0c>cpu</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 10m
    87  - <span class="token key atrule" data-v-4f1e9d0c>memory</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 6Mi
    88  - <span class="token key atrule" data-v-4f1e9d0c>limits</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    89  - <span class="token key atrule" data-v-4f1e9d0c>cpu</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 100m
    90  - <span class="token key atrule" data-v-4f1e9d0c>memory</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 64Mi
    91  - <span class="token key atrule" data-v-4f1e9d0c>ports</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    92  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>containerPort</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
    93  - <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>''</span>
    94  - <span class="token key atrule" data-v-4f1e9d0c>imagePullPolicy</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Always
    95  - <span class="token key atrule" data-v-4f1e9d0c>volumeMounts</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token punctuation" data-v-4f1e9d0c>[</span><span class="token punctuation" data-v-4f1e9d0c>]</span>
    96  - <span class="token key atrule" data-v-4f1e9d0c>volumes</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token punctuation" data-v-4f1e9d0c>[</span><span class="token punctuation" data-v-4f1e9d0c>]</span>
    97  -</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-yaml extra-class" data-v-4f1e9d0c><pre class="language-yaml" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token key atrule" data-v-4f1e9d0c>apiVersion</span><span class="token punctuation" data-v-4f1e9d0c>:</span> networking.k8s.io/v1
    98  -<span class="token key atrule" data-v-4f1e9d0c>kind</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Ingress
    99  -<span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    100  - <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> network<span class="token punctuation" data-v-4f1e9d0c>-</span>xxxxxxxx
    101  - <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    102  - <span class="token key atrule" data-v-4f1e9d0c>cloud.sealos.io/app-deploy-manager</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
    103  - <span class="token key atrule" data-v-4f1e9d0c>annotations</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    104  - <span class="token key atrule" data-v-4f1e9d0c>kubernetes.io/ingress.class</span><span class="token punctuation" data-v-4f1e9d0c>:</span> nginx
    105  - <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/proxy-body-size</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 32m
    106  - <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/proxy-read-timeout</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'3600'</span>
    107  - <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/proxy-send-timeout</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'3600'</span>
    108  - <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/backend-protocol</span><span class="token punctuation" data-v-4f1e9d0c>:</span> WS
    109  -<span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    110  - <span class="token key atrule" data-v-4f1e9d0c>rules</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    111  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>host</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>&quot;*****&quot;</span> <span class="token comment" data-v-4f1e9d0c># 系统自动生成</span>
    112  - <span class="token key atrule" data-v-4f1e9d0c>http</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    113  - <span class="token key atrule" data-v-4f1e9d0c>paths</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    114  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>pathType</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Prefix
    115  - <span class="token key atrule" data-v-4f1e9d0c>path</span><span class="token punctuation" data-v-4f1e9d0c>:</span> /
    116  - <span class="token key atrule" data-v-4f1e9d0c>backend</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    117  - <span class="token key atrule" data-v-4f1e9d0c>service</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    118  - <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
    119  - <span class="token key atrule" data-v-4f1e9d0c>port</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    120  - <span class="token key atrule" data-v-4f1e9d0c>number</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
    121  - <span class="token key atrule" data-v-4f1e9d0c>tls</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    122  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>hosts</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
    123  - <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token string" data-v-4f1e9d0c>&quot;*****&quot;</span> <span class="token comment" data-v-4f1e9d0c># 系统自动生成</span>
    124  - <span class="token key atrule" data-v-4f1e9d0c>secretName</span><span class="token punctuation" data-v-4f1e9d0c>:</span> wildcard<span class="token punctuation" data-v-4f1e9d0c>-</span>cloud<span class="token punctuation" data-v-4f1e9d0c>-</span>sealos<span class="token punctuation" data-v-4f1e9d0c>-</span>io<span class="token punctuation" data-v-4f1e9d0c>-</span>cert
    125  -</code></pre></div></div> <pre class="pre-blank" data-v-2f5f1757>// Make sure to add code blocks to your code group</pre></div> <h3 id="step-3-本地客户端"><a href="#step-3-本地客户端" class="header-anchor">#</a> Step.3 本地客户端</h3> <p>填写完成后,点击右上角 <code>Deploy</code>, 等待部署完成,状态success后,获取到服务地址。</p> <p>然后在本地启动客户端,推荐 docker 一键拉起:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon proxy
    126  -</code></pre></div><p>默认使用<code>--net=host</code>模式, 如需要高级设置,如下:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">7777</span>:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon proxy
    127  -</code></pre></div><p>访问本地控制台 localhost:7777 , 将此地址填入客户端即可。</p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/3ff1604871c547d2af492c5fd37428f7.png" alt="sealos-config-grpc-addr"></p> <p>wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。</p></div> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/a931e0b42c8748649d5156b2b0884fcb.png" alt="sealos-config"></p> <h2 id="效果展示"><a href="#效果展示" class="header-anchor">#</a> 效果展示</h2> <p>[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff9eb3ec14fa417daca7a661f9b4ecff.png" alt="sealos"></p> <p>整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <p>如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/deploy/tencent/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">腾讯云</div></a> <a href="/guide/deploy/render/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">Render</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    128  -
    129  - <a href="/guide/deploy/tencent/" class="prev">腾讯云</a></span> <span class="next"><a href="/guide/deploy/render/">Render</a>→
    130  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    131  - Theme by
    132  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    133  - | Copyright © 2022-2024
    134  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    135  - 跟随系统
    136  - </li><li class="iconfont icon-rijianmoshi">
    137  - 浅色模式
    138  - </li><li class="iconfont icon-yejianmoshi">
    139  - 深色模式
    140  - </li><li class="iconfont icon-yuedu">
    141  - 阅读模式
    142  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    143  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/11.ecdf8130.js" defer></script>
    144  - </body>
    145  -</html>
    146  - 
  • ■ ■ ■ ■ ■ ■
    guide/deploy/serverlessDevs/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>Serverless-Devs | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/13.34e04054.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>服务部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/deploy/aliyun/" class="sidebar-link">阿里云</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</a></li><li><a href="/guide/deploy/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/render/" class="sidebar-link">Render</a></li><li><a href="/guide/deploy/serverlessDevs/" aria-current="page" class="active sidebar-link">Serverless-Devs</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#serverless-devs" class="sidebar-link">serverless-devs</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#安装-serverless-devs-工具" class="sidebar-link">安装 serverless-devs 工具</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#部署" class="sidebar-link">部署</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#高级选项" class="sidebar-link">高级选项</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#地域" class="sidebar-link">地域</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#花费-vs-更多的ip" class="sidebar-link">花费 vs 更多的IP</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/serverlessDevs/#可能遇到的坑" class="sidebar-link">可能遇到的坑</a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">Serverless-Devs<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="serverless-devs"><a href="#serverless-devs" class="header-anchor">#</a> serverless-devs</h2> <p>你也可以通过<a href="http://www.serverless-devs.com" target="_blank" rel="noopener noreferrer">serverless-devs<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>,快速部署到各个云平台。</p> <h2 id="安装-serverless-devs-工具"><a href="#安装-serverless-devs-工具" class="header-anchor">#</a> 安装 serverless-devs 工具</h2> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">npm</span> <span class="token function">install</span> @serverless-devs/s <span class="token parameter variable">-g</span>
    32  -</code></pre></div><p>国内加速:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ cnpm <span class="token function">install</span> @serverless-devs/s <span class="token parameter variable">-g</span>
    33  -</code></pre></div><p>如果不存在npm包管理器,请先通过node安装npm/cnpm</p> <p>安装后运行</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ s <span class="token parameter variable">-v</span>
    34  -</code></pre></div><p>将可以看到serverless-devs版本,表示安装成功。</p> <div class="language-shell extra-class"><pre class="language-shell"><code>@serverless-devs/s3: <span class="token number">0.1</span>.0, s-home: /Users/DVK/.s, darwin-arm64, node-v20.9.0
    35  -</code></pre></div><p>然后通过如下命令开始配置云厂商认证</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ s config <span class="token function">add</span>
    36  -</code></pre></div><p>按提示即可选择即可,本次我们以 <code>Alibaba Cloud</code> 为例,输入对应的账户<code>AccessKeyID</code>、<code>AccessKeySecret</code></p> <p>最后一步填写<code>alias</code>时,请确保值为<code>default</code>(一般初次安装与认证该字段都默认为default,回车即可)。</p> <p>如果AK/SK无误,那么你将会看到认证成功的提示。</p> <h2 id="部署"><a href="#部署" class="header-anchor">#</a> 部署</h2> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">git</span> clone https://github.com/DVKunion/SeaMoon.git
    37  -</code></pre></div><p>进入到项目目录</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token builtin class-name">cd</span> SeaMoon
    38  -$ s deploy
    39  -</code></pre></div><p>如果你不是第一次部署,那么将会提示你选择冲突的配置:remote/local,一般选择local即可。</p> <p>稍等片刻,你将会得到部署好的两个地址:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>SeaMoon-WST-Node:
    40  - region: cn-hongkong
    41  - service:
    42  - name: SeaMoon-Service
    43  - function:
    44  - name: ws-node
    45  - runtime: custom
    46  - handler: main
    47  - memorySize: <span class="token number">128</span>
    48  - timeout: <span class="token number">300</span>
    49  - cpu: <span class="token number">0.05</span>
    50  - diskSize: <span class="token number">512</span>
    51  - url:
    52  - system_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run
    53  - system_intranet_url: https://ws-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run
    54  - triggers:
    55  - - type: http
    56  - name: httpTrigger
    57  -SeaMoon-GRT-Node:
    58  - region: cn-hongkong
    59  - service:
    60  - name: SeaMoon-Service
    61  - function:
    62  - name: grpc-node
    63  - runtime: custom
    64  - handler: main
    65  - memorySize: <span class="token number">128</span>
    66  - timeout: <span class="token number">300</span>
    67  - cpu: <span class="token number">0.05</span>
    68  - diskSize: <span class="token number">512</span>
    69  - url:
    70  - system_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run
    71  - system_intranet_url: https://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong-vpc.fcapp.run
    72  - triggers:
    73  - - type: http
    74  - name: httpTrigger
    75  -</code></pre></div><p>服务端部署完成。</p> <h2 id="高级选项"><a href="#高级选项" class="header-anchor">#</a> 高级选项</h2> <h2 id="地域"><a href="#地域" class="header-anchor">#</a> 地域</h2> <p>如果你想要修改部署的地域,请修改 <code>s.yaml</code> 中的 <code>region</code> 字段。</p> <p>目前支持的 <code>region</code> :</p> <div class="language- extra-class"><pre class="language-text"><code>cn-hangzhou,
    76  -cn-beijing,
    77  -cn-shanghai,
    78  -cn-qingdao,
    79  -cn-zhangjiakou,
    80  -cn-huhehaote,
    81  -cn-shenzhen,
    82  -cn-chengdu,
    83  -cn-hongkong,
    84  -ap-southeast-1,
    85  -ap-southeast-2,
    86  -ap-southeast-3,
    87  -ap-southeast-5,
    88  -ap-northeast-1,
    89  -eu-central-1,
    90  -eu-west-1,
    91  -us-west-1,
    92  -us-east-1,
    93  -ap-south-1
    94  -</code></pre></div><h2 id="花费-vs-更多的ip"><a href="#花费-vs-更多的ip" class="header-anchor">#</a> 花费 vs 更多的IP</h2> <p>阿里云的 FC 计费模式与实例数、vCPU消耗息息相关。</p> <p>由于我们的流量中转单例,cpu 消耗并不会打满,而仍然会依照 0.33 计费。</p> <p>因此,控制多个请求到一个实例,即可控制消费;对应的能够获取到的IP也会随之减少。</p> <p>10线程、每个线程 100 个用例打满ip查询测试的结果为:</p> <ul><li>实例数目不设限、最高超时时间为600s、每个实例只处理一个请求: 70 IP</li> <li>实例数目不设限、最高超时时间为300s、每个实例处理10请求: 45IP (目前默认配置)</li></ul> <p>如果你需要自行调整,可修改s.yaml中的:</p> <div class="language-yaml extra-class"><pre class="language-yaml"><code><span class="token key atrule">services</span><span class="token punctuation">:</span>
    95  - <span class="token key atrule">SeaMoon-WST-Node</span><span class="token punctuation">:</span>
    96  - <span class="token key atrule">component</span><span class="token punctuation">:</span> fc
    97  - <span class="token key atrule">props</span><span class="token punctuation">:</span>
    98  - <span class="token punctuation">...</span><span class="token punctuation">...</span>
    99  -<span class="token key atrule">instanceConcurrency</span><span class="token punctuation">:</span> <span class="token number">10</span> <span class="token comment">#一个实例最多请求处理数</span>
    100  - <span class="token punctuation">...</span><span class="token punctuation">...</span>
    101  -<span class="token key atrule">timeout</span><span class="token punctuation">:</span> <span class="token number">300</span> <span class="token comment">#超时时间,数值越大,可维持的不中断连接时间就会越长</span>
    102  -</code></pre></div><p>随着修改,改方案可能导致的花费也会随之不同。</p> <h2 id="可能遇到的坑"><a href="#可能遇到的坑" class="header-anchor">#</a> 可能遇到的坑</h2> <ul><li>需要能够访问的到 github, 在 pre-load 脚本中会从 github 上拉取最新版本的 release 用于部署。</li> <li>需要系统有 wget 命令。(windows 用户可以暂时放弃这个方式,不打算支持 windows 通过此类方式部署)</li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/deploy/render/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">Render</div></a> <a href="/guide/client/docker/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">docker</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    103  -
    104  - <a href="/guide/deploy/render/" class="prev">Render</a></span> <span class="next"><a href="/guide/client/docker/">docker</a>→
    105  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    106  - Theme by
    107  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    108  - | Copyright © 2022-2024
    109  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    110  - 跟随系统
    111  - </li><li class="iconfont icon-rijianmoshi">
    112  - 浅色模式
    113  - </li><li class="iconfont icon-yejianmoshi">
    114  - 深色模式
    115  - </li><li class="iconfont icon-yuedu">
    116  - 阅读模式
    117  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    118  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/13.34e04054.js" defer></script>
    119  - </body>
    120  -</html>
    121  - 
  • ■ ■ ■ ■ ■ ■
    guide/deploy/tencent/index.html
    1  -<!DOCTYPE html>
    2  -<html lang="en-US">
    3  - <head>
    4  - <meta charset="utf-8">
    5  - <meta name="viewport" content="width=device-width,initial-scale=1">
    6  - <title>腾讯云 | SeaMoon</title>
    7  - <meta name="generator" content="VuePress 1.9.7">
    8  - <link rel="icon" href="/img/favicon.ico">
    9  - <script>
    10  - var _hmt = _hmt || [];
    11  - (function() {
    12  - var hm = document.createElement("script");
    13  - hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
    14  - var s = document.getElementsByTagName("script")[0];
    15  - s.parentNode.insertBefore(hm, s);
    16  - })();
    17  - </script>
    18  - </script>
    19  - <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
    20  - <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21  - <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22  -
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/10.3f24e4fa.js" as="script"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24  - <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25  - </head>
    26  - <body class="theme-mode-light">
    27  - <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    28  - GitHub
    29  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30  - GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>服务部署</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/deploy/aliyun/" class="sidebar-link">阿里云</a></li><li><a href="/guide/deploy/tencent/" aria-current="page" class="active sidebar-link">腾讯云</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/deploy/tencent/#叹息的腾讯云" class="sidebar-link">叹息的腾讯云</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/tencent/#如何部署" class="sidebar-link">如何部署</a></li><li class="sidebar-sub-header level2"><a href="/guide/deploy/tencent/#效果展示" class="sidebar-link">效果展示</a></li></ul></li><li><a href="/guide/deploy/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/render/" class="sidebar-link">Render</a></li><li><a href="/guide/deploy/serverlessDevs/" class="sidebar-link">Serverless-Devs</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">腾讯云<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="叹息的腾讯云"><a href="#叹息的腾讯云" class="header-anchor">#</a> 叹息的腾讯云</h2> <div class="custom-block danger"><p class="custom-block-title">注意</p> <p>由于腾讯云 grpc 也没调研,加上拉胯不推荐使用,所以此处的文档依旧为 v1.1.3 版本,非最新版本文档。
    32  -如果要使用最新版本,请看上两篇的部署方式。</p></div> <p>先说结论,个人不建议腾讯云部署,原因众多:</p> <ul><li>腾讯云go代码部署仅支持代码上传,这种过时的部署方式完全不符合devops的生态。</li> <li>如此必须依赖自定义镜像部署,腾讯云又不支持公网镜像部署,还需要手动将镜像推送至个人腾讯云仓库(虽然个人版免费)</li> <li>最最最最最重要的一点:腾讯云SFC不免费了,没有了免费调度的礼包,必须得买套餐,不买套餐TMD血贵,只是测了个速花了我4毛钱!</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/e2929ffbf39a4e9f92539ecd79db1f8e.png" alt="tencent-billing"></p> <p>因此使用腾讯云的用户请先考虑下钱包,虽然最低配置的流量包9.9一个月。</p> <h2 id="如何部署"><a href="#如何部署" class="header-anchor">#</a> 如何部署</h2> <p>步骤很多,一步一步操作吧。。。大概对比一下就知道为什么不推荐腾讯云部署了。</p> <h3 id="step-1"><a href="#step-1" class="header-anchor">#</a> Step.1</h3> <p>结论也提到了,腾讯云不支持go代码级别部署,所以我们为了方便,只能通过自定义镜像部署模式,函数类型选择web类型:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/2cedc6b7287f414f927a483049d59a19.png" alt="tencent-app"></p> <p>在填写部署参数之前,需要先手动来上传server镜像到个人仓库(个人镜像仓库10个以内免费)</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/31501cea0bf740c1bf061218581c92f2.png" alt="tencent-images"></p> <p>点击选择镜像,将会跳转至个人镜像仓库:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/8b6bf3ff3c4849cfa0bdc3ab9a1e3d44.png" alt="tencent-registry"></p> <p>创建个人镜像仓库,先要创建命名空间,这个随便起个名字就好。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/46f890741dcf4fefbd1091859caa3a2c.png" alt="tencent-registry-create"></p> <p>然后需要创建镜像仓库,镜像仓库的名称必须为:<code>seamoon-server</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/bf8e425ba0144ae3b357c73b97545905.png" alt="tencent-registry-images"></p> <p>然后点击快捷操作,会出现命令提示:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/24166d0e0d854435ae66153fa88e2252.png" alt="tencent-registry-login"></p> <p>复杂的步骤来了。现在需要找一台i386/amd64架构、且有docker的电脑......如果不懂如何查看电脑架构/不知道如何安装docker,建议还是放弃腾讯云。</p> <p>执行以下命令</p> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token comment"># 拉取dockerhub 服务镜像</span>
    33  -$ <span class="token function">docker</span> pull dvkunion/seamoon-server:latest
    34  - 
    35  -<span class="token comment"># 重新tag镜像</span>
    36  -$ <span class="token function">docker</span> tag dvkunion/seamoon-server:latest <span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/<span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/seamoon-server:latest
    37  - 
    38  -<span class="token comment"># 登陆腾讯云</span>
    39  -$ <span class="token function">docker</span> login <span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span> <span class="token parameter variable">--username</span><span class="token operator">=</span><span class="token operator">&lt;</span>上图提供的用户名<span class="token operator">&gt;</span>
    40  - 
    41  -<span class="token comment"># 推送镜像</span>
    42  -$ <span class="token function">docker</span> push <span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/<span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/seamoon-server:latest
    43  -</code></pre></div><p>还需要注意,登录时是需要填写登录密码的,如果是在不知道这个密码在哪里,建议重置一下;重置密码的位置也隐秘的感人:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/efefb1d95a5a48929186b41b9da1af0d.png" alt="tencent-registry-passwd"></p> <p>至此,第一步已完成。</p> <h3 id="step-2"><a href="#step-2" class="header-anchor">#</a> Step.2</h3> <p>回到函数创建的页面,我们继续来创建函数。</p> <p>现在选择部署镜像的位置已经有了,选择刚推送的seamoon-server镜像,开始填写配置吧:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff6e2d4d1e904798a8f6a5102e861318.png" alt="tencent-app-setting"></p> <p>基础配置中,函数类型必须选择web函数。名称建议填写seamoon比较容易识别,地域按照你自己的需求选择即可。</p> <p>函数代码选完我们上传的镜像,不需要改动。</p> <p>日志要花钱的,钱多就开。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/9e606f6b3a06428dbbaeda4ff51000ef.png" alt="tencent-app-custom"></p> <p>高级配置中主要是环境配置:函数内存给个最低的64就够,初始化时间按照建议给90s,超时时间给600 10分钟足够。</p> <p>重要的是环境变量的配置,如果是socks5代理这个值填写socks5; 如果你想要http代理,这里填写http。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/c846ef2987a845b09f8bfd07aa800d6a.png" alt="tencent-socks5"></p> <p>往下滑,记得开启公网IP,并且不要绑定IP, 如果想要固定 IP 的再勾选绑定IP。来到协议配置,开启websocket,超时时间设置60,其他的都可以默认不动。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/1f4dcff644dd4a0f836d6a62f1633295.png" alt="tencent-ip"></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/f140dcd5a43f41bfb3bef8f7db540dc0.png" alt="tencent-ws"></p> <p>触发器也默认不动即可。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ae6824b540414859ad634f35332f9c79.png" alt="tencent-creator"></p> <p>点击部署,终于,服务部署完成。</p> <h3 id="step-3"><a href="#step-3" class="header-anchor">#</a> Step.3</h3> <p>部署完成后,几秒后自动跳转到函数页面,点击触发管理,可以看到函数地址,将此地址直接复制到客户端配置即可。</p> <h2 id="效果展示"><a href="#效果展示" class="header-anchor">#</a> 效果展示</h2> <p>勉勉强强及格吧,大概10MB下行带宽的样子。</p> <p>而且初次启动的冷启动速度相比其他家腾讯云是有明显感受上的启动时间的;IP池也逐步下滑了(benchtest大概在17-30个左右)。</p> <p>而且从服务群来看,感觉腾讯云已经摆烂了,这玩意就这样了你爱用不用吧......哎。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/deploy/aliyun/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">阿里云</div></a> <a href="/guide/deploy/sealos/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">Sealos</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    44  -
    45  - <a href="/guide/deploy/aliyun/" class="prev">阿里云</a></span> <span class="next"><a href="/guide/deploy/sealos/">Sealos</a>→
    46  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    47  - Theme by
    48  - <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    49  - | Copyright © 2022-2024
    50  - <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
    51  - 跟随系统
    52  - </li><li class="iconfont icon-rijianmoshi">
    53  - 浅色模式
    54  - </li><li class="iconfont icon-yejianmoshi">
    55  - 深色模式
    56  - </li><li class="iconfont icon-yuedu">
    57  - 阅读模式
    58  - </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    59  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/10.3f24e4fa.js" defer></script>
    60  - </body>
    61  -</html>
    62  - 
  • ■ ■ ■ ■ ■ ■
    guide/faas/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>BaaS/FaaS 手动部署 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/15.dc15ace9.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>高级进阶</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/paas/" class="sidebar-link">PaaS 平台部署</a></li><li><a href="/guide/faas/" aria-current="page" class="active sidebar-link">BaaS/FaaS 手动部署</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/faas/#步部署到阿里云" class="sidebar-link">步部署到阿里云</a></li><li class="sidebar-sub-header level2"><a href="/guide/faas/#叹息的腾讯云" class="sidebar-link">叹息的腾讯云</a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">BaaS/FaaS 手动部署<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="步部署到阿里云"><a href="#步部署到阿里云" class="header-anchor">#</a> 步部署到阿里云</h2> <p>阿里云是使用上最为规范、标准化场景下的serverless部署方式。</p> <p>如果你对serverless的运作感兴趣,并希望寻找更多的玩法,阿里云是一个不错的选择,各种选项可以帮助你更好地理解和配置serverless。</p> <h3 id="如何部署"><a href="#如何部署" class="header-anchor">#</a> 如何部署</h3> <p>如果你了解云函数,可以使用自定义镜像 / 自定义运行时 / 二进制等等方式部署。</p> <p>下文是基于对完全不了解云函数的同学给出的最简单的部署方式。</p> <h4 id="step-1"><a href="#step-1" class="header-anchor">#</a> Step.1</h4> <ul><li>阿里云首先要开通函数计算服务。</li> <li>fork 该仓库(https://github.com/DVKunion/SeaMoon.git)到您自己的 github 账户下</li> <li>进入阿里云控制台,点击应用 -&gt; 创建应用</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/66d81e68e1fa4ef9b8aa3775b4957552.png" alt="aliyun-create-app"></p> <h4 id="step-2"><a href="#step-2" class="header-anchor">#</a> Step.2</h4> <p>选择 <code>通过仓库导入应用</code> , 授权Github账户后,选择fork好的仓库,如果您之前没有使用过阿里云,在角色权限处还需要进行一次授权。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/d00b5116362d47cdb429f91e48ab2d3a.png" alt="aliyun-app-import"></p> <h4 id="step-3"><a href="#step-3" class="header-anchor">#</a> Step.3</h4> <p>点击创建,等待服务部署成功</p> <h3 id="效果展示"><a href="#效果展示" class="header-anchor">#</a> 效果展示</h3> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <h2 id="叹息的腾讯云"><a href="#叹息的腾讯云" class="header-anchor">#</a> 叹息的腾讯云</h2> <div class="custom-block danger"><p class="custom-block-title">注意</p> <p>由于腾讯云 grpc 也没调研,加上拉胯不推荐使用,所以此处的文档依旧为 v1.1.3 版本,非最新版本文档。
     32 +如果要使用最新版本,请看上两篇的部署方式。</p></div> <p>先说结论,个人不建议腾讯云部署,原因众多:</p> <ul><li>腾讯云go代码部署仅支持代码上传,这种过时的部署方式完全不符合devops的生态。</li> <li>如此必须依赖自定义镜像部署,腾讯云又不支持公网镜像部署,还需要手动将镜像推送至个人腾讯云仓库(虽然个人版免费)</li> <li>最最最最最重要的一点:腾讯云SFC不免费了,没有了免费调度的礼包,必须得买套餐,不买套餐TMD血贵,只是测了个速花了我4毛钱!</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/e2929ffbf39a4e9f92539ecd79db1f8e.png" alt="tencent-billing"></p> <p>因此使用腾讯云的用户请先考虑下钱包,虽然最低配置的流量包9.9一个月。</p> <h3 id="如何部署-2"><a href="#如何部署-2" class="header-anchor">#</a> 如何部署</h3> <p>步骤很多,一步一步操作吧。。。大概对比一下就知道为什么不推荐腾讯云部署了。</p> <h4 id="step-1-2"><a href="#step-1-2" class="header-anchor">#</a> Step.1</h4> <p>结论也提到了,腾讯云不支持go代码级别部署,所以我们为了方便,只能通过自定义镜像部署模式,函数类型选择web类型:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/2cedc6b7287f414f927a483049d59a19.png" alt="tencent-app"></p> <p>在填写部署参数之前,需要先手动来上传server镜像到个人仓库(个人镜像仓库10个以内免费)</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/31501cea0bf740c1bf061218581c92f2.png" alt="tencent-images"></p> <p>点击选择镜像,将会跳转至个人镜像仓库:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/8b6bf3ff3c4849cfa0bdc3ab9a1e3d44.png" alt="tencent-registry"></p> <p>创建个人镜像仓库,先要创建命名空间,这个随便起个名字就好。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/46f890741dcf4fefbd1091859caa3a2c.png" alt="tencent-registry-create"></p> <p>然后需要创建镜像仓库,镜像仓库的名称必须为:<code>seamoon-server</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/bf8e425ba0144ae3b357c73b97545905.png" alt="tencent-registry-images"></p> <p>然后点击快捷操作,会出现命令提示:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/24166d0e0d854435ae66153fa88e2252.png" alt="tencent-registry-login"></p> <p>复杂的步骤来了。现在需要找一台i386/amd64架构、且有docker的电脑......如果不懂如何查看电脑架构/不知道如何安装docker,建议还是放弃腾讯云。</p> <p>执行以下命令</p> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token comment"># 拉取dockerhub 服务镜像</span>
     33 +$ <span class="token function">docker</span> pull dvkunion/seamoon-server:latest
     34 + 
     35 +<span class="token comment"># 重新tag镜像</span>
     36 +$ <span class="token function">docker</span> tag dvkunion/seamoon-server:latest <span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/<span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/seamoon-server:latest
     37 + 
     38 +<span class="token comment"># 登陆腾讯云</span>
     39 +$ <span class="token function">docker</span> login <span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span> <span class="token parameter variable">--username</span><span class="token operator">=</span><span class="token operator">&lt;</span>上图提供的用户名<span class="token operator">&gt;</span>
     40 + 
     41 +<span class="token comment"># 推送镜像</span>
     42 +$ <span class="token function">docker</span> push <span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/<span class="token operator">&lt;</span>上图命令的地址<span class="token operator">&gt;</span>/seamoon-server:latest
     43 +</code></pre></div><p>还需要注意,登录时是需要填写登录密码的,如果是在不知道这个密码在哪里,建议重置一下;重置密码的位置也隐秘的感人:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/efefb1d95a5a48929186b41b9da1af0d.png" alt="tencent-registry-passwd"></p> <p>至此,第一步已完成。</p> <h4 id="step-2-2"><a href="#step-2-2" class="header-anchor">#</a> Step.2</h4> <p>回到函数创建的页面,我们继续来创建函数。</p> <p>现在选择部署镜像的位置已经有了,选择刚推送的seamoon-server镜像,开始填写配置吧:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff6e2d4d1e904798a8f6a5102e861318.png" alt="tencent-app-setting"></p> <p>基础配置中,函数类型必须选择web函数。名称建议填写seamoon比较容易识别,地域按照你自己的需求选择即可。</p> <p>函数代码选完我们上传的镜像,不需要改动。</p> <p>日志要花钱的,钱多就开。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/9e606f6b3a06428dbbaeda4ff51000ef.png" alt="tencent-app-custom"></p> <p>高级配置中主要是环境配置:函数内存给个最低的64就够,初始化时间按照建议给90s,超时时间给600 10分钟足够。</p> <p>重要的是环境变量的配置,如果是socks5代理这个值填写socks5; 如果你想要http代理,这里填写http。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/c846ef2987a845b09f8bfd07aa800d6a.png" alt="tencent-socks5"></p> <p>往下滑,记得开启公网IP,并且不要绑定IP, 如果想要固定 IP 的再勾选绑定IP。来到协议配置,开启websocket,超时时间设置60,其他的都可以默认不动。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/1f4dcff644dd4a0f836d6a62f1633295.png" alt="tencent-ip"></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/f140dcd5a43f41bfb3bef8f7db540dc0.png" alt="tencent-ws"></p> <p>触发器也默认不动即可。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ae6824b540414859ad634f35332f9c79.png" alt="tencent-creator"></p> <p>点击部署,终于,服务部署完成。</p> <h4 id="step-3-2"><a href="#step-3-2" class="header-anchor">#</a> Step.3</h4> <p>部署完成后,几秒后自动跳转到函数页面,点击触发管理,可以看到函数地址,将此地址直接复制到客户端配置即可。</p> <h3 id="效果展示-2"><a href="#效果展示-2" class="header-anchor">#</a> 效果展示</h3> <p>勉勉强强及格吧,大概10MB下行带宽的样子。</p> <p>而且初次启动的冷启动速度相比其他家腾讯云是有明显感受上的启动时间的;IP池也逐步下滑了(benchtest大概在17-30个左右)。</p> <p>而且从服务群来看,感觉腾讯云已经摆烂了,这玩意就这样了你爱用不用吧......哎。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/paas/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">PaaS 平台部署</div></a> <a href="/guide/client/tor/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">tor</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     44 +
     45 + <a href="/guide/paas/" class="prev">PaaS 平台部署</a></span> <span class="next"><a href="/guide/client/tor/">tor</a>→
     46 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     47 + Theme by
     48 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     49 + | Copyright © 2022-2024
     50 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     51 + 跟随系统
     52 + </li><li class="iconfont icon-rijianmoshi">
     53 + 浅色模式
     54 + </li><li class="iconfont icon-yejianmoshi">
     55 + 深色模式
     56 + </li><li class="iconfont icon-yuedu">
     57 + 阅读模式
     58 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     59 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/15.dc15ace9.js" defer></script>
     60 + </body>
     61 +</html>
     62 + 
  • ■ ■ ■ ■ ■ ■
    guide/func/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>函数实例 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/11.7b24619b.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>开始使用</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/start/" class="sidebar-link">快速开始</a></li><li><a href="/guide/install/" class="sidebar-link">客户端安装</a></li><li><a href="/guide/provider/" class="sidebar-link">云账户管理</a></li><li><a href="/guide/func/" aria-current="page" class="active sidebar-link">函数实例</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/guide/service/" class="sidebar-link">服务</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">函数实例<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="函数实例"><a href="#函数实例" class="header-anchor">#</a> 函数实例</h1> <p>函数实例对应着在云上部署的每一个函数</p> <h3 id="创建函数实例"><a href="#创建函数实例" class="header-anchor">#</a> 创建函数实例</h3> <p>点击 [新增], 会要求选择一个关联的账户,将会使用这个账户进行部署</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/0cd322d2dac14f77b117ff1024c047b9.png" alt="tunnel"></p> <p>点击 [下一步], 进入具体的函数参数配置</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/4f49e3f00b7a4e28a4152b8504354b08.png" alt="config"></p> <ul><li>函数名称:用于在平台区分各个函数</li> <li>函数所在地区:只能选择当前账户允许的区域</li> <li>CPU、内存: 一般默认即可,如果有需求也可以自行调整(不同平台有相关要求,不建议自行调整)</li> <li>最大处理数:指一个实例最多同时可以处理的请求数;如果你希望获取更多的IP,该值越小越好(最低为1);如果你想节约成本,那么可以调整大一些。</li> <li>端口号配置:默认不要改动。</li> <li>函数认证方式: 指函数调用时的认证方法,可以避免一些反制与滥用。默认请选择无认证;如果你需要导入其他客户端使用,请确保此选项为无认证方式,</li> <li>隧道协议类型: websocket/gprc。推荐websockets, grpc 目前测试较少,不太稳定</li> <li>TLS: 默认开启即可;不开启的时候走80端口,数据为明文传输。</li> <li>Tor: 开启 Tor 网桥时,会允许代理访问 onion域名,但是会导致内存占用增高。</li></ul> <h3 id="停用函数实例"><a href="#停用函数实例" class="header-anchor">#</a> 停用函数实例</h3> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/da2a2030a728415cbbe0014b52b01b0d.png" alt="stop"></p> <p>点击停用后,远端的函数实例将会销毁,但平台的配置数据依旧存在;你可以通过再次启用来部署一个新的服务。</p> <h3 id="删除函数实例"><a href="#删除函数实例" class="header-anchor">#</a> 删除函数实例</h3> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/d640f664ef4249e09461999fd6776107.png" alt="delete"></p> <p>点击删除后,远端函数实例将会销毁,同时本地的数据也会随之删除;基于此函数隧道的代理也会一起删除。</p> <h3 id="导入其他客户端"><a href="#导入其他客户端" class="header-anchor">#</a> 导入其他客户端</h3> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/52f88f5bf8904aa293eaffcdd4091203.png" alt="import"></p> <p>目前支持导入 Clash、ShadowRocket 两种客户端,可以选择自动导入,也可以手动复制订阅地址。
     32 +注意,此订阅地址会随着服务重启后失效。当客户端重启后,需要重新获取订阅地址。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/provider/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">云账户管理</div></a> <a href="/guide/service/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">服务</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     33 +
     34 + <a href="/guide/provider/" class="prev">云账户管理</a></span> <span class="next"><a href="/guide/service/">服务</a>→
     35 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     36 + Theme by
     37 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     38 + | Copyright © 2022-2024
     39 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     40 + 跟随系统
     41 + </li><li class="iconfont icon-rijianmoshi">
     42 + 浅色模式
     43 + </li><li class="iconfont icon-yejianmoshi">
     44 + 深色模式
     45 + </li><li class="iconfont icon-yuedu">
     46 + 阅读模式
     47 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     48 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/11.7b24619b.js" defer></script>
     49 + </body>
     50 +</html>
     51 + 
  • ■ ■ ■ ■ ■ ■
    guide/gost/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>gost | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/18.8dc0b3e8.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>其他客户端支持</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/tor/" class="sidebar-link">tor</a></li><li><a href="/guide/gost/" aria-current="page" class="active sidebar-link">gost</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/gost/#gost-优雅的-golang-代理" class="sidebar-link">GOST - 优雅的 golang 代理</a></li></ul></li><li><a href="/guide/v2ray/" class="sidebar-link">v2ray</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">gost<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="gost-优雅的-golang-代理"><a href="#gost-优雅的-golang-代理" class="header-anchor">#</a> GOST - 优雅的 golang 代理</h2> <p>Seamoon 对接 <a href="https://github.com/go-gost/gost" target="_blank" rel="noopener noreferrer">Gost<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 十分简单。原因也很简单,2.0 迭代的代码改造中&quot;借鉴&quot;(copy)了很多 gost 的设计和原封不动的代码结构。对协议的理解和代码设计上参考了很多师傅的模式。在此表示感谢无私的开源和分享。</p> <p>GOST 是一款基于 golang 的简单隧道,具体的介绍可以访问其<a href="https://gost.run" target="_blank" rel="noopener noreferrer">官网<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>在技术博客里,我们也分享了 GOST 的一些设计架构代码,我们可以这样理解: Seamoon 服务端就是一个 websocket / grpc 的 gost 转发节点,但是只实现了 http / socks5 的处理模块,由此目前还支持值了这两种协议的转发。</p> <p>gost 的客户端更强大,因为模块拆分的很细致,所以能实现很多好玩的玩法各种组合, 理论来讲, gost 支持的 listen 都可以通过 seamoon 的隧道转发过来。</p> <p>gost 还支持了 metrics 等数据统计、代理认证、限速等等客户端实现的功能,适合长期挂在本地作为一个持久化的服务使用。</p> <p>我们给出一些demo示例,来看一下 seamoon 如何对接 gost。这里免去了 gost 安装相关教程,默认用户已安装了 gost,提供的是具体的启动脚本配置。</p> <h3 id="websocket-隧道"><a href="#websocket-隧道" class="header-anchor">#</a> websocket 隧道</h3> <div class="theme-code-group" data-v-2f5f1757><div class="theme-code-group__nav" data-v-2f5f1757><ul class="theme-code-group__ul" data-v-2f5f1757></ul></div> <div class="theme-code-block theme-code-block__active" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。</span>
     32 +gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> http://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/http
     33 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式</span>
     34 +gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> http://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
     35 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,转发的流量 以 http 形式(默认不指定的话,流量都将以 http 形式进行传递)。</span>
     36 +gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> socks5://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/http
     37 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个 http 代理,利用 websocket 转发,并指定转发的流量 以 socks5 形式。</span>
     38 +gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> socks5://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
     39 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个其他协议代理,这里以 socks4 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。</span>
     40 +gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> socks4://:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
     41 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-shell extra-class" data-v-4f1e9d0c><pre class="language-shell" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token comment" data-v-4f1e9d0c># 通过 gost 启动一个其他协议代理,这里以 shadowsocks 代理为例,利用 websocket 转发,并指定转发的流量 以 socks5 形式。</span>
     42 +gost <span class="token parameter variable" data-v-4f1e9d0c>-L</span> ss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>cipher<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>pass<span class="token operator" data-v-4f1e9d0c>&gt;</span>@:1080 <span class="token parameter variable" data-v-4f1e9d0c>-F</span> socks5+wss://<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-server<span class="token operator" data-v-4f1e9d0c>&gt;</span>:<span class="token operator" data-v-4f1e9d0c>&lt;</span>seamoon-port<span class="token operator" data-v-4f1e9d0c>&gt;</span>?path<span class="token operator" data-v-4f1e9d0c>=</span>/socks5
     43 +<span class="token comment" data-v-4f1e9d0c># 如:ss://AEAD_AES_128_GCM:password@:1080</span>
     44 +</code></pre></div></div> <pre class="pre-blank" data-v-2f5f1757>// Make sure to add code blocks to your code group</pre></div> <h3 id="grpc-隧道"><a href="#grpc-隧道" class="header-anchor">#</a> grpc 隧道</h3> <p>grpc 隧道由于 gost 的 proto 略有冲突,因此需要单独适配实现一个 server。计划 2.0 版本彻底完成适配。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/client/tor/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">tor</div></a> <a href="/guide/v2ray/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">v2ray</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     45 +
     46 + <a href="/guide/client/tor/" class="prev">tor</a></span> <span class="next"><a href="/guide/v2ray/">v2ray</a>→
     47 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     48 + Theme by
     49 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     50 + | Copyright © 2022-2024
     51 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     52 + 跟随系统
     53 + </li><li class="iconfont icon-rijianmoshi">
     54 + 浅色模式
     55 + </li><li class="iconfont icon-yejianmoshi">
     56 + 深色模式
     57 + </li><li class="iconfont icon-yuedu">
     58 + 阅读模式
     59 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     60 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/18.8dc0b3e8.js" defer></script>
     61 + </body>
     62 +</html>
     63 + 
  • ■ ■ ■ ■ ■ ■
    guide/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>开始使用 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/13.8d81b712.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" class="sidebar-link">项目结构</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">开始使用<!----></h1> <!----> <div class="theme-vdoing-content content__default"></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><!----> <!----></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     32 + Theme by
     33 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     34 + | Copyright © 2022-2024
     35 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     36 + 跟随系统
     37 + </li><li class="iconfont icon-rijianmoshi">
     38 + 浅色模式
     39 + </li><li class="iconfont icon-yejianmoshi">
     40 + 深色模式
     41 + </li><li class="iconfont icon-yuedu">
     42 + 阅读模式
     43 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     44 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/13.8d81b712.js" defer></script>
     45 + </body>
     46 +</html>
     47 + 
  • ■ ■ ■ ■ ■ ■
    guide/install/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>客户端安装 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/9.f1db5db3.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>开始使用</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/start/" class="sidebar-link">快速开始</a></li><li><a href="/guide/install/" aria-current="page" class="active sidebar-link">客户端安装</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/guide/provider/" class="sidebar-link">云账户管理</a></li><li><a href="/guide/func/" class="sidebar-link">函数实例</a></li><li><a href="/guide/service/" class="sidebar-link">服务</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">客户端安装<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="客户端安装"><a href="#客户端安装" class="header-anchor">#</a> 客户端安装</h1> <h3 id="docker"><a href="#docker" class="header-anchor">#</a> Docker</h3> <p>推荐使用 docker 一键部署client</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon:latest proxy
     32 +</code></pre></div><p>默认使用<code>--net=host</code>模式,这样比较简单易懂。为了更高的安全性、可控性,你也可以自己选择映射:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">127.0</span>.0.1:7777:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon:latest proxy
     33 +</code></pre></div><p>这样可以将管理端口限制只能通过本地 <code>127.0.0.1</code> 访问,如果你需要限制为其他 IP,可以自行修改。</p> <p>然后浏览器打开:</p> <p><code>localhost:7777</code></p> <p>即可开启客户端</p> <h3 id="binary"><a href="#binary" class="header-anchor">#</a> Binary</h3> <h4 id="客户端下载"><a href="#客户端下载" class="header-anchor">#</a> 客户端下载</h4> <p>在 <a href="https://github.com/DVKunion/SeaMoon/releases" target="_blank" rel="noopener noreferrer">Github Release<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 界面。在最新版本列表哪,选择您对应系统型号的client 包下载。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/955161ed6d3c48b181397bed1bcaca45.png" alt="release"></p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/start/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">快速开始</div></a> <a href="/guide/provider/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">云账户管理</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     34 +
     35 + <a href="/guide/start/" class="prev">快速开始</a></span> <span class="next"><a href="/guide/provider/">云账户管理</a>→
     36 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     37 + Theme by
     38 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     39 + | Copyright © 2022-2024
     40 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     41 + 跟随系统
     42 + </li><li class="iconfont icon-rijianmoshi">
     43 + 浅色模式
     44 + </li><li class="iconfont icon-yejianmoshi">
     45 + 深色模式
     46 + </li><li class="iconfont icon-yuedu">
     47 + 阅读模式
     48 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     49 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/9.f1db5db3.js" defer></script>
     50 + </body>
     51 +</html>
     52 + 
  • guide/introduce/index.html
    Unable to diff as some line is too long.
  • ■ ■ ■ ■ ■ ■
    guide/paas/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>PaaS 平台部署 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/14.30fa252e.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>高级进阶</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/paas/" aria-current="page" class="active sidebar-link">PaaS 平台部署</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/paas/#部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台" class="sidebar-link">部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台</a></li><li class="sidebar-sub-header level2"><a href="/guide/paas/#部署到render-免费的永远是最好的去-的免费的-号没了" class="sidebar-link">部署到Render: ~~免费的永远是最好的~~去**的免费的,号没了</a></li></ul></li><li><a href="/guide/faas/" class="sidebar-link">BaaS/FaaS 手动部署</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">PaaS 平台部署<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="paas-平台部署"><a href="#paas-平台部署" class="header-anchor">#</a> PaaS 平台部署</h1> <p>SeaMoon 的服务端其实支持部署到多种 PaaS 类型的平台</p> <h2 id="部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台"><a href="#部署到sealos-拥抱更便宜、更舒适、更优美可控的云服务平台" class="header-anchor">#</a> 部署到Sealos: 拥抱更便宜、更舒适、更优美可控的云服务平台</h2> <p><a href="https://cloud.sealos.io/" target="_blank" rel="noopener noreferrer">Sealos公有云地址<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>先说下我喜欢Sealos的原因:</p> <p><font color="pink"><b>简单的页面,适合新手小白,无需了解过多的云服务相关知识</b></font></p> <p><font style="font-size:small;">操作起来和操作一个os一样,点击、配置、部署,一气呵成。 对比各大厂的balabala一堆限制,sealos的门槛更低,更适合小白上手。 </font></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/b792343632554e7fab560b74d3fb57b7.png" alt="sealos-dashboard"></p> <p><font color="pink"><b>简单易懂的计费方式:花费更低,效果不变</b></font></p> <p><font style="font-size:small;">对比各大厂花里胡哨的各项计费指标(尤其是流量也要收费),sealos的计费方式真正的做到按照计算量计费,费用透明,整体使用下来价格更低。</font></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c6d9dae9534812b909e1a5f9cf3df8.png" alt="sealos-app"></p> <p><font color="pink"><b>配置更加灵活:不用了pause、用的时候start、想要多少的IP自行可控</b></font></p> <p><font style="font-size:small;">sealos支持快速弹性扩容,当需求高时,可以调低扩容触发点,获取到更多IP 当不需要使用时,可以快速的pause停止;下次使用时又能快速的恢复。</font></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/500897ae5b5f48d9b20f18d3f3eaa7ea.png" alt="sealos-container"></p> <h3 id="如何部署"><a href="#如何部署" class="header-anchor">#</a> 如何部署</h3> <p>sealos上部署seamoon服务将更加简单,只需要鼠标点击操作:</p> <h4 id="step-1-注册账户"><a href="#step-1-注册账户" class="header-anchor">#</a> Step.1 注册账户</h4> <p>注册并登陆<a href="https://cloud.sealos.io/" target="_blank" rel="noopener noreferrer">cloud.sealos.io<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>, 点击<code>App Launchpad</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/4bfbdf9f9ad5440b91ec85831c062b07.png" alt="sealos-applanch"></p> <h4 id="step-2-部署"><a href="#step-2-部署" class="header-anchor">#</a> Step.2 部署</h4> <div class="custom-block warning"><p class="custom-block-title">注意</p> <p>sealos 并不是部署一个服务 就带着两种类型的隧道。因此,如果你希望使用 websocket 隧道, 需要部署 websocket 类型的服务。</p> <p>同样的,如果你需要 grpc 隧道,选择部署 grpc 服务。</p></div> <p>点击右上角<code>create application</code>, 如下填写参数:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/f331255e64724bba8d84add292cae6e0.png" alt="sealos-config"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>此处,如果你部署的是 grpc 隧道的话,请将端口改为 8089,协议选择 grpc, 如下图:
     32 +<img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/68f55dbfb40d4310b9aae6674d335817.png" alt="sealos-config-grpc"></p></div> <p>往下拉,还有高级配置里面的启动命令:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7c92e240241845869b6b796d42ff1e31.png" alt="sealos-config-2"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>此处,如果你部署的是 grpc 隧道的话,请修改此处的启动命令为:
     33 +<code>/app/seamoon server -p 8089 -t grpc</code> , 如下图:
     34 +<img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/608d9fcde8684d5cb19940bb33e90a4a.png" alt="sealos-config-grpc-2"></p></div> <p>你也可以直接选择yaml文件,参考如下:</p> <blockquote><p>注意,下面的 yaml 仅供参考,我隐去了一些身份相关的字段,没有展示出来,只列出了一些关键的项目。
     35 +可以用于参考和对比。没出现的参数代表意义不大,不用管。</p></blockquote> <div class="theme-code-group" data-v-2f5f1757><div class="theme-code-group__nav" data-v-2f5f1757><ul class="theme-code-group__ul" data-v-2f5f1757></ul></div> <div class="theme-code-block theme-code-block__active" data-v-4f1e9d0c><div class="language-yaml extra-class" data-v-4f1e9d0c><pre class="language-yaml" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token key atrule" data-v-4f1e9d0c>apiVersion</span><span class="token punctuation" data-v-4f1e9d0c>:</span> v1
     36 +<span class="token key atrule" data-v-4f1e9d0c>kind</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Service
     37 +<span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     38 + <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
     39 + <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     40 + <span class="token key atrule" data-v-4f1e9d0c>cloud.sealos.io/app-deploy-manager</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
     41 +<span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     42 + <span class="token key atrule" data-v-4f1e9d0c>ports</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     43 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>port</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
     44 + <span class="token key atrule" data-v-4f1e9d0c>targetPort</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
     45 + <span class="token key atrule" data-v-4f1e9d0c>selector</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     46 + <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
     47 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-yaml extra-class" data-v-4f1e9d0c><pre class="language-yaml" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token key atrule" data-v-4f1e9d0c>apiVersion</span><span class="token punctuation" data-v-4f1e9d0c>:</span> apps/v1
     48 +<span class="token key atrule" data-v-4f1e9d0c>kind</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Deployment
     49 +<span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     50 + <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
     51 + <span class="token key atrule" data-v-4f1e9d0c>annotations</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     52 + <span class="token key atrule" data-v-4f1e9d0c>originImageName</span><span class="token punctuation" data-v-4f1e9d0c>:</span> dvkunion/seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server<span class="token punctuation" data-v-4f1e9d0c>:</span>latest
     53 + <span class="token key atrule" data-v-4f1e9d0c>deploy.cloud.sealos.io/minReplicas</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'1'</span>
     54 + <span class="token key atrule" data-v-4f1e9d0c>deploy.cloud.sealos.io/maxReplicas</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'1'</span>
     55 + <span class="token key atrule" data-v-4f1e9d0c>deploy.cloud.sealos.io/resize</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 0Gi
     56 + <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     57 + <span class="token key atrule" data-v-4f1e9d0c>cloud.sealos.io/app-deploy-manager</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
     58 + <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
     59 +<span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     60 + <span class="token key atrule" data-v-4f1e9d0c>replicas</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>1</span>
     61 + <span class="token key atrule" data-v-4f1e9d0c>revisionHistoryLimit</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>1</span>
     62 + <span class="token key atrule" data-v-4f1e9d0c>selector</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     63 + <span class="token key atrule" data-v-4f1e9d0c>matchLabels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     64 + <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
     65 + <span class="token key atrule" data-v-4f1e9d0c>strategy</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     66 + <span class="token key atrule" data-v-4f1e9d0c>type</span><span class="token punctuation" data-v-4f1e9d0c>:</span> RollingUpdate
     67 + <span class="token key atrule" data-v-4f1e9d0c>rollingUpdate</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     68 + <span class="token key atrule" data-v-4f1e9d0c>maxUnavailable</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>0</span>
     69 + <span class="token key atrule" data-v-4f1e9d0c>maxSurge</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>1</span>
     70 + <span class="token key atrule" data-v-4f1e9d0c>template</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     71 + <span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     72 + <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     73 + <span class="token key atrule" data-v-4f1e9d0c>app</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
     74 + <span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     75 + <span class="token key atrule" data-v-4f1e9d0c>containers</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     76 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server
     77 + <span class="token key atrule" data-v-4f1e9d0c>image</span><span class="token punctuation" data-v-4f1e9d0c>:</span> dvkunion/seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>server<span class="token punctuation" data-v-4f1e9d0c>:</span>latest
     78 + <span class="token key atrule" data-v-4f1e9d0c>env</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     79 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> serverMod
     80 + <span class="token key atrule" data-v-4f1e9d0c>value</span><span class="token punctuation" data-v-4f1e9d0c>:</span> socks5
     81 + <span class="token key atrule" data-v-4f1e9d0c>resources</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     82 + <span class="token key atrule" data-v-4f1e9d0c>requests</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     83 + <span class="token key atrule" data-v-4f1e9d0c>cpu</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 10m
     84 + <span class="token key atrule" data-v-4f1e9d0c>memory</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 6Mi
     85 + <span class="token key atrule" data-v-4f1e9d0c>limits</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     86 + <span class="token key atrule" data-v-4f1e9d0c>cpu</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 100m
     87 + <span class="token key atrule" data-v-4f1e9d0c>memory</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 64Mi
     88 + <span class="token key atrule" data-v-4f1e9d0c>ports</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     89 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>containerPort</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
     90 + <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>''</span>
     91 + <span class="token key atrule" data-v-4f1e9d0c>imagePullPolicy</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Always
     92 + <span class="token key atrule" data-v-4f1e9d0c>volumeMounts</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token punctuation" data-v-4f1e9d0c>[</span><span class="token punctuation" data-v-4f1e9d0c>]</span>
     93 + <span class="token key atrule" data-v-4f1e9d0c>volumes</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token punctuation" data-v-4f1e9d0c>[</span><span class="token punctuation" data-v-4f1e9d0c>]</span>
     94 +</code></pre></div></div> <div class="theme-code-block" data-v-4f1e9d0c><div class="language-yaml extra-class" data-v-4f1e9d0c><pre class="language-yaml" data-v-4f1e9d0c><code data-v-4f1e9d0c><span class="token key atrule" data-v-4f1e9d0c>apiVersion</span><span class="token punctuation" data-v-4f1e9d0c>:</span> networking.k8s.io/v1
     95 +<span class="token key atrule" data-v-4f1e9d0c>kind</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Ingress
     96 +<span class="token key atrule" data-v-4f1e9d0c>metadata</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     97 + <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> network<span class="token punctuation" data-v-4f1e9d0c>-</span>xxxxxxxx
     98 + <span class="token key atrule" data-v-4f1e9d0c>labels</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     99 + <span class="token key atrule" data-v-4f1e9d0c>cloud.sealos.io/app-deploy-manager</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
     100 + <span class="token key atrule" data-v-4f1e9d0c>annotations</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     101 + <span class="token key atrule" data-v-4f1e9d0c>kubernetes.io/ingress.class</span><span class="token punctuation" data-v-4f1e9d0c>:</span> nginx
     102 + <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/proxy-body-size</span><span class="token punctuation" data-v-4f1e9d0c>:</span> 32m
     103 + <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/proxy-read-timeout</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'3600'</span>
     104 + <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/proxy-send-timeout</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>'3600'</span>
     105 + <span class="token key atrule" data-v-4f1e9d0c>nginx.ingress.kubernetes.io/backend-protocol</span><span class="token punctuation" data-v-4f1e9d0c>:</span> WS
     106 +<span class="token key atrule" data-v-4f1e9d0c>spec</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     107 + <span class="token key atrule" data-v-4f1e9d0c>rules</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     108 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>host</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token string" data-v-4f1e9d0c>&quot;*****&quot;</span> <span class="token comment" data-v-4f1e9d0c># 系统自动生成</span>
     109 + <span class="token key atrule" data-v-4f1e9d0c>http</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     110 + <span class="token key atrule" data-v-4f1e9d0c>paths</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     111 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>pathType</span><span class="token punctuation" data-v-4f1e9d0c>:</span> Prefix
     112 + <span class="token key atrule" data-v-4f1e9d0c>path</span><span class="token punctuation" data-v-4f1e9d0c>:</span> /
     113 + <span class="token key atrule" data-v-4f1e9d0c>backend</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     114 + <span class="token key atrule" data-v-4f1e9d0c>service</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     115 + <span class="token key atrule" data-v-4f1e9d0c>name</span><span class="token punctuation" data-v-4f1e9d0c>:</span> seamoon<span class="token punctuation" data-v-4f1e9d0c>-</span>ws
     116 + <span class="token key atrule" data-v-4f1e9d0c>port</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     117 + <span class="token key atrule" data-v-4f1e9d0c>number</span><span class="token punctuation" data-v-4f1e9d0c>:</span> <span class="token number" data-v-4f1e9d0c>9000</span>
     118 + <span class="token key atrule" data-v-4f1e9d0c>tls</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     119 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token key atrule" data-v-4f1e9d0c>hosts</span><span class="token punctuation" data-v-4f1e9d0c>:</span>
     120 + <span class="token punctuation" data-v-4f1e9d0c>-</span> <span class="token string" data-v-4f1e9d0c>&quot;*****&quot;</span> <span class="token comment" data-v-4f1e9d0c># 系统自动生成</span>
     121 + <span class="token key atrule" data-v-4f1e9d0c>secretName</span><span class="token punctuation" data-v-4f1e9d0c>:</span> wildcard<span class="token punctuation" data-v-4f1e9d0c>-</span>cloud<span class="token punctuation" data-v-4f1e9d0c>-</span>sealos<span class="token punctuation" data-v-4f1e9d0c>-</span>io<span class="token punctuation" data-v-4f1e9d0c>-</span>cert
     122 +</code></pre></div></div> <pre class="pre-blank" data-v-2f5f1757>// Make sure to add code blocks to your code group</pre></div> <h4 id="step-3-本地客户端"><a href="#step-3-本地客户端" class="header-anchor">#</a> Step.3 本地客户端</h4> <p>填写完成后,点击右上角 <code>Deploy</code>, 等待部署完成,状态success后,获取到服务地址。</p> <p>然后在本地启动客户端,推荐 docker 一键拉起:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon proxy
     123 +</code></pre></div><p>默认使用<code>--net=host</code>模式, 如需要高级设置,如下:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">7777</span>:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon proxy
     124 +</code></pre></div><p>访问本地控制台 localhost:7777 , 将此地址填入客户端即可。</p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>填写的代理 sealos 已经明确给出,如: wss:// 或是 grcps://, 如下图:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/3ff1604871c547d2af492c5fd37428f7.png" alt="sealos-config-grpc-addr"></p> <p>wss 隧道直接复制即可,注意 grpc 服务还需要指定一下端口号,一般都是 443,最终配置如: grpcs://xxxxxxxx.cloud.sealos.io:443。</p></div> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/a931e0b42c8748649d5156b2b0884fcb.png" alt="sealos-config"></p> <h3 id="效果展示"><a href="#效果展示" class="header-anchor">#</a> 效果展示</h3> <p>[旺柴] 谷歌云的IP访问谷歌简直不能再丝滑</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ff9eb3ec14fa417daca7a661f9b4ecff.png" alt="sealos"></p> <p>整体带宽在10-30左右,可能和我客户端出口带宽也有关系,应该是普通的带宽。(不过价格也在这里了要啥自行车,反正够用)</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <p>如果不需要多IP,实例副本数目固定为1即可;如果需要多IP,副本越多,获取到的IP就越多。(理性使用)</p> <h2 id="部署到render-免费的永远是最好的去-的免费的-号没了"><a href="#部署到render-免费的永远是最好的去-的免费的-号没了" class="header-anchor">#</a> 部署到Render: <s>免费的永远是最好的</s>去**的免费的,号没了</h2> <div class="custom-block danger"><p class="custom-block-title">警告</p> <p>2024.04.02 更新
     125 +由于封号的问题,在 2.0 的初代版本没有集成自动化部署 render 服务。
     126 +但是你仍可以通过手动部署的方式来</p> <p>2024.02.02 更新<br>
     127 +render 不但 ban 了 <code>seamoon</code> 镜像,还把号封了,*** 玩不起就别玩。<br>
     128 +虽然还有各种各样的绕过方式,其账户注册起来也不困难,但是可以看出该运营商的顺准了,云计算这么多家,你不声明禁止直接ban号ban镜像有点东西的<br>
     129 +也可能是我没仔细看声明,如果有找到的师傅麻烦让我看一下在哪。先喷为敬了。<br> <img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/4170f495a85d4cc6a6ff64ddedee9c3e.png" alt="render-ban"></p></div> <p><a href="https://www.render.com/" target="_blank" rel="noopener noreferrer">Render公有云地址<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <blockquote><p>Render是一个新的PaaS( Platform as a service)云端服务,也就是说你的代码部署到Render之后,你不用(也不能)去管Linux/firewall/nginx的设定。把你的Github网址给Render,设定一下用鼠标点点点,等个几分钟,你的程序就上线了,全世界都能看到你的网站或是存取你提供的API。<a href="https://zhuanlan.zhihu.com/p/377558120" target="_blank" rel="noopener noreferrer">(选自知乎)<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></blockquote> <p>我们来看一下官方是如何介绍自己的:</p> <blockquote><p>Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.</p></blockquote> <p>其实这些都不重要,重要的是你只需要知道,<s><font color="pink"><b>render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!</b></font>这就够了,足够我们给他树一个👍。</s> 第二天就封号了的臭SB。</p> <h3 id="如何部署-2"><a href="#如何部署-2" class="header-anchor">#</a> 如何部署</h3> <p>render 部署与 sealos 部署一样简单,在新版本中,我会逐步减少部署步骤,降低这部分交互。</p> <h4 id="step-1-注册账户-2"><a href="#step-1-注册账户-2" class="header-anchor">#</a> Step.1 注册账户</h4> <p>render 账户支持 github / gitlab / google 等一键登陆,建议直接 github 账户登陆即可。</p> <p>实在不行,他也支持邮箱注册,自己注册一个,此处不再废话。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7d00a615cd45480bad1b7ade33b7e543.png" alt="render-register"></p> <h4 id="step-2-部署-2"><a href="#step-2-部署-2" class="header-anchor">#</a> Step.2 部署</h4> <p>注册账户登陆后,进入控制台,选择创建一个 web service 应用:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ffcd48fa203b4959bdde631bdf77610e.png" alt="render-web-service"></p> <p>然后选第二个,从存在的镜像中部署服务:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/faa0f096dcfa40998b518b5e4de96534.png" alt="render-web-deploy"></p> <p>点击下一步,要求我们填写部署的镜像名称,我们填写:<code>dvkunion/seamoon</code></p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/3bc5a0437ea94a348f9841864f5c2df3.png" alt="render-image"></p> <p>开始填写详细的应用字段了,我们依次填写:</p> <ul><li>Name: 应用名称,这个最终会对应生成你的服务域名,因此这里我建议越复杂越好,因为 seamoon 当前版本没有做认证,导致如果服务名称过于简单,很容易被其他人连上。</li> <li>Region: 地域,选择服务部署的地区,现在支持四个区域:oregon-俄勒冈州(美国西部)、Frankfurt-法兰克福(欧盟)、ohio-俄亥俄州(美国东部)、singapore-新加坡(东亚)</li> <li>实例类型: 选免费的。</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/160ff4f44e5a4e9d9128269dbc1a3e26.png" alt="render-config"></p> <p>往下滑,看到 Docker Command 填写如下:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/51fa80f6e4c84ae985bdb23ac8acf673.png" alt="render-docker"></p> <p>完成,点击创建即可。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/158478ce77a84130b43f786670a40c65.png" alt="render-url"></p> <h4 id="step-3-本地客户端-2"><a href="#step-3-本地客户端-2" class="header-anchor">#</a> Step.3 本地客户端</h4> <p>在本地启动客户端,推荐 docker 一键拉起:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon proxy
     130 +</code></pre></div><p>默认使用<code>--net=host</code>模式, 如需要高级设置,如下:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-p</span> <span class="token number">7777</span>:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon proxy
     131 +</code></pre></div><p>访问本地控制台 localhost:7777 , 将此地址填入客户端即可。</p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>填写的代理在步骤2已经明确给出,给出的地址是 https:// 开头的,需要改为如: wss://。</p> <p>grpc目前没有测试是否支持,测试支持后后续会更新文档并补充。</p></div> <h3 id="测试效果"><a href="#测试效果" class="header-anchor">#</a> 测试效果</h3> <p>整体机房是 amazon 的,所属地基本正确。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/db670fef7f4f47cd95108a656c28c9a5.png" alt="render-cip"></p> <p>速度的话,也就是正常水平,基本满足日常浏览和视频播放的样子。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/80aee46729ca4ecdbda4c244ac26835b.png" alt="render-speed"></p> <p>免费的来说已经是很不错的了。</p> <h3 id="一些小细节问题"><a href="#一些小细节问题" class="header-anchor">#</a> 一些小细节问题</h3> <p><font color="red"><b>访问不到render/dashboard/github......</b></font></p> <p>我的建议是,先用阿里云等国内方案临时解决访问一下,然后在方案 render 等作为长期持久使用的方案。</p> <p><font color="red"><b>支持 grpc 吗?</b></font></p> <p>没做测试,个人测试使用的是 websocket 隧道,然后也没有发现官方文档中提到 grpc 相关的,有兴趣的各位可以试一下然后反馈给我。</p> <p><font color="red"><b>关于动态IP 问题</b></font></p> <p>免费版本的 render 是不支持动态 scaling (动态伸缩扩容) 的,因此,这个方案部署的 seamoon 将会是一个固定 IP。
     132 +只有当 pod 销毁了,或者是你升级了套餐内容 (每月7刀) 才支持 scaling,才可以获取到动态 IP 的方案。</p> <p>当然,事无绝对,你非要使用 &quot;动态&quot; + &quot;免费&quot; 的方式,也有,通过 api 调用每小时自动删除再创建应用,即可实现这个效果,还可以实现动态的地区变动。。。。</p> <p>不过人家已经免费了,我不是非常建议这样做了。想要动态的 7刀一个月也不是一个过分的价格了,能支持的还是支持一下。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/service/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">服务</div></a> <a href="/guide/faas/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">BaaS/FaaS 手动部署</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     133 +
     134 + <a href="/guide/service/" class="prev">服务</a></span> <span class="next"><a href="/guide/faas/">BaaS/FaaS 手动部署</a>→
     135 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     136 + Theme by
     137 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     138 + | Copyright © 2022-2024
     139 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     140 + 跟随系统
     141 + </li><li class="iconfont icon-rijianmoshi">
     142 + 浅色模式
     143 + </li><li class="iconfont icon-yejianmoshi">
     144 + 深色模式
     145 + </li><li class="iconfont icon-yuedu">
     146 + 阅读模式
     147 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     148 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/14.30fa252e.js" defer></script>
     149 + </body>
     150 +</html>
     151 + 
  • ■ ■ ■ ■ ■ ■
    guide/provider/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>云账户管理 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/10.5751dac5.js" as="script"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>开始使用</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/start/" class="sidebar-link">快速开始</a></li><li><a href="/guide/install/" class="sidebar-link">客户端安装</a></li><li><a href="/guide/provider/" aria-current="page" class="active sidebar-link">云账户管理</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/guide/func/" class="sidebar-link">函数实例</a></li><li><a href="/guide/service/" class="sidebar-link">服务</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">云账户管理<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="云账户管理"><a href="#云账户管理" class="header-anchor">#</a> 云账户管理</h1> <h3 id="阿里云"><a href="#阿里云" class="header-anchor">#</a> 阿里云</h3> <p>阿里云账户需要三个信息:AccessID/AccessKey/SecretKey。</p> <p>AccountId 可在主页右上角个人信息处获取 accountId</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/75c7aa76665740878c796d82aac17233.png" alt="aliyun-account"></p> <p>AccessKeyId/AccessKeySecret 可在 <a href="https://ram.console.aliyun.com/users" target="_blank" rel="noopener noreferrer">IAM<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 页面添加子用户生成密钥。</p> <div class="custom-block warning"><p class="custom-block-title">注意</p> <p>创建的 AK/SK 请确保拥有账单权限和函数相关权限</p></div> <h3 id="腾讯云"><a href="#腾讯云" class="header-anchor">#</a> 腾讯云</h3> <p>腾讯云账户只需要两个信息: SecretID/SecretKey</p> <p>可在 <a href="https://console.cloud.tencent.com/cam" target="_blank" rel="noopener noreferrer">IAM<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 页面添加子用户生成密钥</p> <h3 id="sealos"><a href="#sealos" class="header-anchor">#</a> Sealos</h3> <p>Sealos 只需要一个 <code>kubeconfig</code> 凭证即可。我们登录 cloud.sealos.io:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/6fd4b2d188794b88aae2ae0c27fc2531.png" alt="sealos"></p> <p>点击复制粘贴过来即可。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/install/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">客户端安装</div></a> <a href="/guide/func/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">函数实例</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     32 +
     33 + <a href="/guide/install/" class="prev">客户端安装</a></span> <span class="next"><a href="/guide/func/">函数实例</a>→
     34 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     35 + Theme by
     36 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     37 + | Copyright © 2022-2024
     38 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     39 + 跟随系统
     40 + </li><li class="iconfont icon-rijianmoshi">
     41 + 浅色模式
     42 + </li><li class="iconfont icon-yejianmoshi">
     43 + 深色模式
     44 + </li><li class="iconfont icon-yuedu">
     45 + 阅读模式
     46 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     47 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/10.5751dac5.js" defer></script>
     48 + </body>
     49 +</html>
     50 + 
  • ■ ■ ■ ■ ■ ■
    guide/service/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>服务 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/12.2832e202.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>开始使用</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/start/" class="sidebar-link">快速开始</a></li><li><a href="/guide/install/" class="sidebar-link">客户端安装</a></li><li><a href="/guide/provider/" class="sidebar-link">云账户管理</a></li><li><a href="/guide/func/" class="sidebar-link">函数实例</a></li><li><a href="/guide/service/" aria-current="page" class="active sidebar-link">服务</a><ul class="sidebar-sub-headers"></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">服务<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="服务"><a href="#服务" class="header-anchor">#</a> 服务</h1> <h3 id="创建服务"><a href="#创建服务" class="header-anchor">#</a> 创建服务</h3> <p>点击 [新增]:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/fe87befcb18c4e059951f8f1ed2dbe91.png" alt="create"></p> <ul><li>代理名称:用于在平台区分不同的代理</li> <li>监听协议: 选择代理的服务类型</li> <li>监听地址: 监听的 IP 信息</li> <li>监听端口: 监听的端口信息</li></ul> <h4 id="从账户直接创建服务"><a href="#从账户直接创建服务" class="header-anchor">#</a> 从账户直接创建服务</h4> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/700cea1e620f40f1beb6596bd48565a0.png" alt="select-1"></p> <p>直接从账户创建,将会从选择的账户创建一个新的函数与服务绑定。具体请参考 <a href="https://seamoon.dvkunion.cn/guide/func/" target="_blank" rel="noopener noreferrer">创建函数实例<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <h4 id="选择已有函数进行关联"><a href="#选择已有函数进行关联" class="header-anchor">#</a> 选择已有函数进行关联</h4> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/120fa192be864d4293ea51344542f336.png" alt="select-2"></p> <p>选择已有函数进行关联时,将会从已有的函数实例进行选择,无需进行其他配置。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/af8eaa396fac4413a2a6d54d715412a5.png" alt="select-4"></p> <h3 id="修改服务"><a href="#修改服务" class="header-anchor">#</a> 修改服务</h3> <p>目前允许修改的内容有:代理类型、监听地址、监听端口三个选项。点击对应服务,即可进行详情修改。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/1cb9366981cf4432898a179f1e380004.png" alt="update"></p> <h3 id="测速"><a href="#测速" class="header-anchor">#</a> 测速</h3> <p>点击测速,将会通过当前服务访问测速网站进行上行与下行的速率测试。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/31c585b8ed8d4cc0994cad33ad554852.png" alt="speed"></p> <h3 id="停止服务"><a href="#停止服务" class="header-anchor">#</a> 停止服务</h3> <p>点击停止服务,代理服务将会停止,但数据不会删除。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/53605b61a97e48218caca2f0eb8b175f.png" alt="stop"></p> <h3 id="删除服务"><a href="#删除服务" class="header-anchor">#</a> 删除服务</h3> <p>点击删除服务,将会删除对应的代理服务数据。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/b4b1fb410f1a4d9798956e0ad80cebc9.png" alt="delete"></p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/func/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">函数实例</div></a> <a href="/guide/paas/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">PaaS 平台部署</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     32 +
     33 + <a href="/guide/func/" class="prev">函数实例</a></span> <span class="next"><a href="/guide/paas/">PaaS 平台部署</a>→
     34 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     35 + Theme by
     36 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     37 + | Copyright © 2022-2024
     38 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     39 + 跟随系统
     40 + </li><li class="iconfont icon-rijianmoshi">
     41 + 浅色模式
     42 + </li><li class="iconfont icon-yejianmoshi">
     43 + 深色模式
     44 + </li><li class="iconfont icon-yuedu">
     45 + 阅读模式
     46 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     47 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/12.2832e202.js" defer></script>
     48 + </body>
     49 +</html>
     50 + 
  • ■ ■ ■ ■ ■
    guide/start/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/8.63228358.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/8.3d70e7d4.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>开始使用</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/start/" aria-current="page" class="active sidebar-link">快速开始</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/start/#🕹-快速开始" class="sidebar-link">🕹 快速开始</a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>服务部署</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端部署</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">快速开始<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="🕹-快速开始"><a href="#🕹-快速开始" class="header-anchor">#</a> 🕹 快速开始</h2> <p>通过该页面,您可以通过推荐的部署方式快速开始使用 SeaMoon。</p> <div class="custom-block tip"><p class="custom-block-title">写在前面</p> <p>本页面按照阿里云标准云函数服务进行部署,如果您希望获取到更多自定义的配置和使用方式,<a href="https://seamoon.dvkunion.cn/guide/deploy" target="_blank" rel="noopener noreferrer">请跳转<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>🔥 如果您的钱包和预算有限,并且代理IP需求并不是特别高,这里推荐使用 <a href="https://seamoon.dvkunion.cn/guide/deploy/sealos" target="_blank" rel="noopener noreferrer">sealos部署服务端<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>🙅 如果只想测试一下 seamoon 感受一下效果,可以使用 <a href="https://seamoon.dvkunion.cn/guide/deploy/render" target="_blank" rel="noopener noreferrer">render部署服务端<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>, 但是注意极容易封号。</p> <p>🔧 如果你不想仅拥有 http/socks5 协议的代理,期望使用更多代理,请移步 <a href="https://seamoon.dvkunion.cn/guide/client/" target="_blank" rel="noopener noreferrer">更多客户端适配<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></div> <h3 id="事前准备"><a href="#事前准备" class="header-anchor">#</a> 事前准备</h3> <ul><li>云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)</li> <li>云厂商账户 AK/SK,并拥有操作FC的全部权限。</li> <li>一台存在docker、Nodejs &gt;= 12 的客户端的机器,同时保证 7777、1080、9999端口未被占用,该机器将作为使用的客户端。</li></ul> <h3 id="step-1-安装serverless-devs工具"><a href="#step-1-安装serverless-devs工具" class="header-anchor">#</a> Step.1 安装serverless-devs工具</h3> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">npm</span> <span class="token function">install</span> @serverless-devs/s <span class="token parameter variable">-g</span>
    32  -</code></pre></div><p>:</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ cnpm <span class="token function">install</span> @serverless-devs/s <span class="token parameter variable">-g</span>
    33  -</code></pre></div><p>如果不存在npm包管理器,请先通过node安装npm/cnpm</p> <p>安装后运行</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ s <span class="token parameter variable">-v</span>
    34  -</code></pre></div><p>将可以看到serverless-devs版本,表示安装成功。</p> <div class="language-shell extra-class"><pre class="language-shell"><code>@serverless-devs/s3: <span class="token number">0.1</span>.0, s-home: /Users/DVK/.s, darwin-arm64, node-v20.9.0
    35  -</code></pre></div><p>然后通过如下命令开始配置云厂商认证</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ s config <span class="token function">add</span>
    36  -</code></pre></div><p>按提示即可选择即可,本次我们以 <code>Alibaba Cloud</code> 为例,输入对应的账户<code>AccessKeyID</code>、<code>AccessKeySecret</code></p> <p>最后一步填写<code>alias</code>时,请确保值为<code>default</code>(一般初次安装与认证该字段都默认为default,回车即可)。</p> <p>如果AK/SK无误,那么你将会看到认证成功的提示。</p> <h3 id="step-2-部署服务端"><a href="#step-2-部署服务端" class="header-anchor">#</a> Step.2 部署服务端</h3> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">git</span> clone https://github.com/DVKunion/SeaMoon.git
    37  -</code></pre></div><p>进入到项目目录</p> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token builtin class-name">cd</span> SeaMoon
    38  -$ s deploy
    39  -</code></pre></div><p>如果你不是第一次部署,那么将会提示你选择冲突的配置:remote/local,一般选择local即可。</p> <p>稍等片刻,你将会得到部署好的两个地址:</p> <div class="language-yaml extra-class"><pre class="language-yaml"><code><span class="token key atrule">SeaMoon-WST-Node</span><span class="token punctuation">:</span>
    40  - <span class="token key atrule">region</span><span class="token punctuation">:</span> cn<span class="token punctuation">-</span>hongkong
    41  - <span class="token key atrule">service</span><span class="token punctuation">:</span>
    42  - <span class="token key atrule">name</span><span class="token punctuation">:</span> SeaMoon<span class="token punctuation">-</span>Service
    43  - <span class="token key atrule">function</span><span class="token punctuation">:</span>
    44  - <span class="token key atrule">name</span><span class="token punctuation">:</span> ws<span class="token punctuation">-</span>node
    45  - <span class="token key atrule">runtime</span><span class="token punctuation">:</span> custom
    46  - <span class="token key atrule">handler</span><span class="token punctuation">:</span> main
    47  - <span class="token key atrule">memorySize</span><span class="token punctuation">:</span> <span class="token number">128</span>
    48  - <span class="token key atrule">timeout</span><span class="token punctuation">:</span> <span class="token number">300</span>
    49  - <span class="token key atrule">cpu</span><span class="token punctuation">:</span> <span class="token number">0.05</span>
    50  - <span class="token key atrule">diskSize</span><span class="token punctuation">:</span> <span class="token number">512</span>
    51  - <span class="token key atrule">url</span><span class="token punctuation">:</span>
    52  - <span class="token key atrule">system_url</span><span class="token punctuation">:</span> https<span class="token punctuation">:</span>//ws<span class="token punctuation">-</span>node<span class="token punctuation">-</span>seamoon<span class="token punctuation">-</span>service<span class="token punctuation">-</span>xxxxxxxx.cn<span class="token punctuation">-</span>hongkong.fcapp.run
    53  - <span class="token key atrule">system_intranet_url</span><span class="token punctuation">:</span> https<span class="token punctuation">:</span>//ws<span class="token punctuation">-</span>node<span class="token punctuation">-</span>seamoon<span class="token punctuation">-</span>service<span class="token punctuation">-</span>xxxxxxxx.cn<span class="token punctuation">-</span>hongkong<span class="token punctuation">-</span>vpc.fcapp.run
    54  - <span class="token key atrule">triggers</span><span class="token punctuation">:</span>
    55  - <span class="token punctuation">-</span> <span class="token key atrule">type</span><span class="token punctuation">:</span> http
    56  - <span class="token key atrule">name</span><span class="token punctuation">:</span> httpTrigger
    57  -<span class="token key atrule">SeaMoon-GRT-Node</span><span class="token punctuation">:</span>
    58  - <span class="token key atrule">region</span><span class="token punctuation">:</span> cn<span class="token punctuation">-</span>hongkong
    59  - <span class="token key atrule">service</span><span class="token punctuation">:</span>
    60  - <span class="token key atrule">name</span><span class="token punctuation">:</span> SeaMoon<span class="token punctuation">-</span>Service
    61  - <span class="token key atrule">function</span><span class="token punctuation">:</span>
    62  - <span class="token key atrule">name</span><span class="token punctuation">:</span> grpc<span class="token punctuation">-</span>node
    63  - <span class="token key atrule">runtime</span><span class="token punctuation">:</span> custom
    64  - <span class="token key atrule">handler</span><span class="token punctuation">:</span> main
    65  - <span class="token key atrule">memorySize</span><span class="token punctuation">:</span> <span class="token number">128</span>
    66  - <span class="token key atrule">timeout</span><span class="token punctuation">:</span> <span class="token number">300</span>
    67  - <span class="token key atrule">cpu</span><span class="token punctuation">:</span> <span class="token number">0.05</span>
    68  - <span class="token key atrule">diskSize</span><span class="token punctuation">:</span> <span class="token number">512</span>
    69  - <span class="token key atrule">url</span><span class="token punctuation">:</span>
    70  - <span class="token key atrule">system_url</span><span class="token punctuation">:</span> https<span class="token punctuation">:</span>//grpc<span class="token punctuation">-</span>node<span class="token punctuation">-</span>seamoon<span class="token punctuation">-</span>service<span class="token punctuation">-</span>xxxxxxxx.cn<span class="token punctuation">-</span>hongkong.fcapp.run
    71  - <span class="token key atrule">system_intranet_url</span><span class="token punctuation">:</span> https<span class="token punctuation">:</span>//grpc<span class="token punctuation">-</span>node<span class="token punctuation">-</span>seamoon<span class="token punctuation">-</span>service<span class="token punctuation">-</span>xxxxxxxx.cn<span class="token punctuation">-</span>hongkong<span class="token punctuation">-</span>vpc.fcapp.run
    72  - <span class="token key atrule">triggers</span><span class="token punctuation">:</span>
    73  - <span class="token punctuation">-</span> <span class="token key atrule">type</span><span class="token punctuation">:</span> http
    74  - <span class="token key atrule">name</span><span class="token punctuation">:</span> httpTrigger
    75  -</code></pre></div><p>这里是用的都是默认配置,如果你需要更多高级可选项,<a href="https://seamoon.dvkunion.cn/guide/deploy" target="_blank" rel="noopener noreferrer">请继续阅读<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>同样,如果你不想使用阿里云,或者想寻求更廉价的计费方式,<a href="https://seamoon.dvkunion.cn/guide/deploy" target="_blank" rel="noopener noreferrer">请继续阅读<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>服务端部署完成</p> <h3 id="step-3-开启客户端使用"><a href="#step-3-开启客户端使用" class="header-anchor">#</a> Step.3 开启客户端使用</h3> <div class="language-shell extra-class"><pre class="language-shell"><code>$ <span class="token function">docker</span> run <span class="token parameter variable">-it</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">--net</span><span class="token operator">=</span>host dvkunion/seamoon:latest proxy
    76  - 
    77  -</code></pre></div><p>默认使用<code>--net=host</code>模式,然后浏览器打开:</p> <p><code>localhost:7777</code></p> <p>即可开启客户端, 点击配置管理</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/0dd37f5600364e59a9457e38eaf77b1f.png" alt="client"></p> <p>添加云端配置</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/66b1b150238e400483adf936649b7ed5.png" alt="client-config"></p> <div class="custom-block tip"><p class="custom-block-title">如何填写地址</p> <p>我们在步骤2的时候,如果你是使用 s 工具实现的部署,那么最终的 yaml 内可以看到 url 字段,url 字段内的 system_url 即为我们需要的地址。
    78  -不要使用带有 vpc 字样的 url, 也就是 system_intranet_url 字段的值,这是内网 vpc 访问的域名。<br>
    79  -除此之外,需要自行将协议头 https:// 替换为对应的隧道协议,如: ws:// 或是 grcp:// 。默认两种协议的隧道是都部署了的。<br>
    80  -grpc 按照阿里云的要求,还需要自行声明端口,由此,一个 grpc 隧道的填写应该是这样: grpc://grpc-node-seamoon-service-xxxxxxxx.cn-hongkong.fcapp.run:8089
    81  -8089 是阿里云的固定 grpc 协议端口,不需要改动。</p></div> <p>开启socks5代理,并保持默认<code>:1080</code>不改变。</p> <p>此时,你已经可以通过云函数启动socks5代理访问了。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/structure/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">项目结构</div></a> <a href="/guide/deploy/aliyun/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">阿里云</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>开始使用</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/start/" aria-current="page" class="active sidebar-link">快速开始</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/guide/install/" class="sidebar-link">客户端安装</a></li><li><a href="/guide/provider/" class="sidebar-link">云账户管理</a></li><li><a href="/guide/func/" class="sidebar-link">函数实例</a></li><li><a href="/guide/service/" class="sidebar-link">服务</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">快速开始<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="快速开始"><a href="#快速开始" class="header-anchor">#</a> 快速开始</h1> <p>通过该页面,您可以快速的通过客户端来创建一个 http 代理服务,作为月海的基本使用演示。</p> <h3 id="事前准备"><a href="#事前准备" class="header-anchor">#</a> 事前准备</h3> <ul><li>云厂商账户(以阿里云为例),并开通对应的serverless服务(阿里云serverless服务名为:函数计算)</li> <li>云厂商账户 AK/SK,并拥有操作函数和账单相关的全部权限。</li></ul> <h3 id="启动服务"><a href="#启动服务" class="header-anchor">#</a> 启动服务</h3> <p><code>$ docker run -it -d --net=host dvkunion/seamoon:latest proxy</code></p> <p>如果一切正常,你将可以在 <code>http://localhost:7777</code> 访问到管理页面:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/fbc14247042b4608a99b18fce6682175.png" alt="login"></p> <div class="custom-block tip"><p class="custom-block-title">提示</p> <p>默认的账户密码为: seamoon/seamoon</p></div> <div class="custom-block warning"><p class="custom-block-title">注意</p> <p>安全起见,我们不建议直接通过 --net=host 将所有的端口直接暴露在网络中,更加推荐的做法请继续阅读: <a href="https://seamoon.dvkunion.cn/guide/install/" target="_blank" rel="noopener noreferrer">客户端安装<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></div> <h3 id="修改默认密码"><a href="#修改默认密码" class="header-anchor">#</a> 修改默认密码</h3> <p>第一步一定要修改掉默认的密码。点击 [系统管理],填写一个新的密码,然后提交:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/b87e34d7b9114fabb1404ce99eef3097.png" alt="password"></p> <h3 id="配置账户"><a href="#配置账户" class="header-anchor">#</a> 配置账户</h3> <p>我们来尝试创建一个账户, 点击 [云账户管理] -&gt; [新增]:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/d580190a2ba74c178e1d5e239f2d82e3.png" alt="add-account"></p> <p>填写对应的字段:</p> <ul><li>账户名称: 用于在客户端区分不同的账户,与具体云账户用户名无关</li> <li>账户类型: 选择账户对应的云平台类型</li> <li>最大部署限制: 该账户最多允许部署的函数数量,0表示不作限制。</li> <li>账户描述: 用于备注该账户的一些其他信息</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/d5e68b2e29754a68b1640c33c3b13bb0.png" alt="aliyun"></p> <p>点击下一步,继续填写表单:</p> <ul><li>账户允许部署区域: 表示当前账户允许部署的函数区域,可以多选</li> <li>AccessID/AccessKey/SecretKey: 阿里云账户信息, AccountId 可在主页右上角个人信息处获取 accountId, AccessKeyId/AccessKeySecret 可在 <a href="https://ram.console.aliyun.com/users" target="_blank" rel="noopener noreferrer">IAM<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 页面添加子用户生成密钥</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/75c7aa76665740878c796d82aac17233.png" alt="aliyun-account"></p> <p>点击提交,账户会开始自动同步余额信息、函数信息等等。等待账户显示为正常状态时,即表示该步骤正确完成。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/93e870aab1ba4519be7b1ddf6552155f.png" alt="success"></p> <p>如果出现错误,鼠标放置在状态处,即可显示错误详细信息。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/19d4ea3949934efe86666478d5daab0c.png" alt="error"></p> <h3 id="创建服务"><a href="#创建服务" class="header-anchor">#</a> 创建服务</h3> <p>可以开始创建服务了, 点击 [服务] -&gt; [新增]:</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/12b854194e504602aeff41c8c58d9399.png" alt="add-service"></p> <p>对应的参数比较多,我们首先填写第一张表单:</p> <ul><li>代理名称: 用于在客户端展示的代理名</li> <li>监听协议: 选择 http</li> <li>监听地址: 不需要改动</li> <li>监听端口: 不需要改动(默认1080)</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ab82aa10192049c28157856acc8e8be8.png" alt="proxy"></p> <p>点击下一步,选择 [选择账户并自动创建新实例]</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/ebe49e967ee94feabde0855691e79c08.png" alt="new-instance"></p> <p>点击下一步,选择刚才创建好的账户</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/6cfd9c34857047a5805140d4c51aef7c.png" alt="select-account"></p> <p>点击下一步,开始填写函数参数</p> <ul><li>函数名称: 函数的名称,只允许英文</li> <li>函数所在区域: 只能选择账户允许的区域内部署</li></ul> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/367928eaf3ed4d3b9745a1a6976e05a0.png" alt="func"></p> <p>其他选项均不需要改动,点击提交。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/14ea9dfdf588445398aa8cca7be187a9.png" alt="create"></p> <h3 id="开始使用"><a href="#开始使用" class="header-anchor">#</a> 开始使用</h3> <p>现在我们可以测试一下了。在终端输入:</p> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token builtin class-name">export</span> <span class="token assign-left variable">https_proxy</span><span class="token operator">=</span>http://127.0.0.1:1080 <span class="token assign-left variable">http_proxy</span><span class="token operator">=</span>http://127.0.0.1:1080 <span class="token assign-left variable">all_proxy</span><span class="token operator">=</span>http://127.0.0.1:1080
     32 +</code></pre></div><p> IP:</p> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token function">curl</span> cip.cc
     33 +</code></pre></div><p>如果显示为阿里云 IP,表明代理已经生效。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/a88026e1cdab45f987c5cc66b6f81034.png" alt="ip"></p> <p>同时服务页面会显示当前对应的延迟、连接数以及流量统计汇总。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/d819adccb751498fa2c3c82bae465024.png" alt="total"></p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/structure/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">项目结构</div></a> <a href="/guide/install/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">客户端安装</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    82 34  
    83  - <a href="/guide/structure/" class="prev">项目结构</a></span> <span class="next"><a href="/guide/deploy/aliyun/"></a>→
    84  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     35 + <a href="/guide/structure/" class="prev">项目结构</a></span> <span class="next"><a href="/guide/install/"></a>→
     36 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    85 37   Theme by
    86 38   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    87 39   | Copyright © 2022-2024
    skipped 6 lines
    94 46   </li><li class="iconfont icon-yuedu">
    95 47   阅读模式
    96 48   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    97  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/8.63228358.js" defer></script>
     49 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/8.3d70e7d4.js" defer></script>
    98 50   </body>
    99 51  </html>
    100 52   
  • ■ ■ ■ ■ ■ ■
    guide/structure/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/7.7a09b383.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/7.cd5b83f2.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" aria-current="page" class="active sidebar-link">项目结构</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/structure/#" class="sidebar-link"></a></li><li class="sidebar-sub-header level2"><a href="/guide/structure/#客户端" class="sidebar-link">客户端</a></li><li class="sidebar-sub-header level2"><a href="/guide/structure/#" class="sidebar-link"></a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span></span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">项目结构<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="项目结构"><a href="#项目结构" class="header-anchor">#</a> 项目结构</h2> <p>月海主要分为两部分:</p> <ul><li>部署在云端的服务端</li> <li>客户端</li></ul> <h2 id="客户端"><a href="#客户端" class="header-anchor">#</a> 客户端</h2> <p>7客户端</p> <p>服务。</p> <p>除了使用 seamoon 自身的客户端代理功能之外,还可以使用其他支持隧道模式的 客户端工具,如 gost, 可以实现在本地落地更多协议的代理</p> <h2 id=""><a href="#" class="header-anchor">#</a> </h2> <p>, 。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/introduce/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">简介</div></a> <a href="/guide/start/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">快速开始</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" aria-current="page" class="active sidebar-link">项目结构</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/guide/structure/#" class="sidebar-link"></a></li><li class="sidebar-sub-header level2"><a href="/guide/structure/#客户端" class="sidebar-link">客户端</a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span></span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>客户端</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">项目结构<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="项目结构"><a href="#项目结构" class="header-anchor">#</a> 项目结构</h1> <p>月海主要分为两部分:</p> <ul><li>部署在云端的服务端</li> <li>客户端</li></ul> <h2 id=""><a href="#" class="header-anchor">#</a> </h2> <p>, </p> <h2 id="客户端"><a href="#客户端" class="header-anchor">#</a> 客户端</h2> <p>便使了一 B/S </p> <ul><li>: 客户端</li> <li>: </li> <li>: Serverless </li> <li>: 使服务。</li></ul> <p>除了使用 seamoon 自身的客户端代理功能之外,还可以使用其他支持隧道模式的 客户端工具,如 clash/v2ray/gost, 可以实现在本地落地更多协议的代理。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/introduce/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">简介</div></a> <a href="/guide/start/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">快速开始</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    32 32  
    33 33   <a href="/guide/introduce/" class="prev">简介</a></span> <span class="next"><a href="/guide/start/">快速开始</a>→
    34  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     34 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    35 35   Theme by
    36 36   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    37 37   | Copyright © 2022-2024
    skipped 6 lines
    44 44   </li><li class="iconfont icon-yuedu">
    45 45   阅读模式
    46 46   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    47  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/7.7a09b383.js" defer></script>
     47 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/7.cd5b83f2.js" defer></script>
    48 48   </body>
    49 49  </html>
    50 50   
  • ■ ■ ■ ■ ■ ■
    guide/support/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>其他客户端支持 | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/20.60a5b631.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>概述</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/introduce/" class="sidebar-link">简介</a></li><li><a href="/guide/structure/" class="sidebar-link">项目结构</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>其他客户端支持</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">其他客户端支持<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h2 id="其他客户端支持"><a href="#其他客户端支持" class="header-anchor">#</a> 其他客户端支持</h2> <p>SeaMoon 继承了云原生的开放思想,不局限于一种/一个平台,尽可能的适配各种客户端的模式,使用已有的成品客户端。</p> <p>成品客户端通常会支持更多协议类型,比如 gost,基本上所有可以监听的类型都可以通过 seamoon 隧道协议转发出来。</p> <ul><li><p><a href="https://seamoon.dvkunion.cn/guide/client/gost/" target="_blank" rel="noopener noreferrer">gost:优雅简便的go代理<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></li> <li><p><a href="https://seamoon.dvkunion.cn/guide/client/docker/" target="_blank" rel="noopener noreferrer">docker<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></li> <li><p><a href="https://seamoon.dvkunion.cn/guide/deploy/binary/" target="_blank" rel="noopener noreferrer">binary<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></li></ul> <p>Seamoon 客户端还支持了 Tor 网桥的接入</p> <ul><li><a href="https://seamoon.dvkunion.cn/guide/client/tor/" target="_blank" rel="noopener noreferrer">tor<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/client/v2ray/" target="_blank" rel="noopener noreferrer">v2ray: 时代战神<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><a href="https://seamoon.dvkunion.cn/guide/client/clash/" target="_blank" rel="noopener noreferrer">clash: 快速的即成,抛开多个客户端<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><!----> <!----></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     32 + Theme by
     33 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     34 + | Copyright © 2022-2024
     35 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     36 + 跟随系统
     37 + </li><li class="iconfont icon-rijianmoshi">
     38 + 浅色模式
     39 + </li><li class="iconfont icon-yejianmoshi">
     40 + 深色模式
     41 + </li><li class="iconfont icon-yuedu">
     42 + 阅读模式
     43 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     44 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/20.60a5b631.js" defer></script>
     45 + </body>
     46 +</html>
     47 + 
  • ■ ■ ■ ■ ■ ■
    guide/v2ray/index.html
     1 +<!DOCTYPE html>
     2 +<html lang="en-US">
     3 + <head>
     4 + <meta charset="utf-8">
     5 + <meta name="viewport" content="width=device-width,initial-scale=1">
     6 + <title>v2ray | SeaMoon</title>
     7 + <meta name="generator" content="VuePress 1.9.7">
     8 + <link rel="icon" href="/img/favicon.ico">
     9 + <script>
     10 + var _hmt = _hmt || [];
     11 + (function() {
     12 + var hm = document.createElement("script");
     13 + hm.src = "https://hm.baidu.com/hm.js?7dac4248d29ddaacd4b3c0b71d9b2015";
     14 + var s = document.getElementsByTagName("script")[0];
     15 + s.parentNode.insertBefore(hm, s);
     16 + })();
     17 + </script>
     18 + </script>
     19 + <meta name="description" content="月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集,期望利用云原生的优势,实现更简单、更便宜的网络功能。">
     20 + <meta name="keywords" content="serverless,proxy,pentest,seamoon">
     21 + <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
     22 +
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/19.3dd46379.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
     24 + <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
     25 + </head>
     26 + <body class="theme-mode-light">
     27 + <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">SeaMoon</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     28 + GitHub
     29 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
     30 + GitHub
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>概述</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开始使用</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>高级进阶</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>其他客户端支持</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/client/tor/" class="sidebar-link">tor</a></li><li><a href="/guide/gost/" class="sidebar-link">gost</a></li><li><a href="/guide/v2ray/" aria-current="page" class="active sidebar-link">v2ray</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">v2ray<!----></h1> <!----> <div class="theme-vdoing-content content__default"><p>seamoon 完美兼容 v2ray 系列客户端。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/guide/gost/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">gost</div></a> <!----></div> <div class="page-nav"><p class="inner"><span class="prev">
     32 +
     33 + <a href="/guide/gost/" class="prev">gost</a></span> <!----></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     34 + Theme by
     35 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     36 + | Copyright © 2022-2024
     37 + <span>DVKunion | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
     38 + 跟随系统
     39 + </li><li class="iconfont icon-rijianmoshi">
     40 + 浅色模式
     41 + </li><li class="iconfont icon-yejianmoshi">
     42 + 深色模式
     43 + </li><li class="iconfont icon-yuedu">
     44 + 阅读模式
     45 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     46 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/19.3dd46379.js" defer></script>
     47 + </body>
     48 +</html>
     49 + 
  • ■ ■ ■ ■ ■ ■
    index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/5.03fc806a.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/5.03fc806a.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 5 lines
    32 32   SeaMoon - 月海
    33 33   </h1> <p class="description" data-v-7d2bb426>
    34 34   🌕 月出于云却隐于海
    35  - </p> <p class="action" data-v-7d2bb426><a href="/guide/introduce/" class="nav-link action-button" data-v-7d2bb426>快速上手 →</a></p></header> <div class="features" data-v-7d2bb426><div class="feature" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 隐匿</h2> <p data-v-7d2bb426>基于 FaaS/BaaS 实现动态IP代理,支持Tor网络,云上无痕。</p></a></div><div class="feature" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>��️ 集成</h2> <p data-v-7d2bb426>适配大量云服务商与知名客户端,拒绝服务绑架。</p></a></div><div class="feature" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 便携</h2> <p data-v-7d2bb426> Serverless Devs 部署。</p></a></div></div></div> <div class="slide-banner" style="display:none;" data-v-7d2bb426><div class="banner-wrapper" data-v-7d2bb426><div class="slide-banner-scroll" data-v-7d2bb426><div class="slide-banner-wrapper" data-v-7d2bb426><div class="slide-item" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 隐匿</h2> <p data-v-7d2bb426>基于 FaaS/BaaS 实现动态IP代理,支持Tor网络,云上无痕。</p></a></div><div class="slide-item" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>��️ 集成</h2> <p data-v-7d2bb426>适配大量云服务商与知名客户端,拒绝服务绑架。</p></a></div><div class="slide-item" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 便携</h2> <p data-v-7d2bb426> Serverless Devs 部署。</p></a></div></div></div> <div class="docs-wrapper" data-v-7d2bb426><span class="doc active" data-v-7d2bb426></span><span class="doc" data-v-7d2bb426></span><span class="doc" data-v-7d2bb426></span></div></div></div></div> <div class="main-wrapper" data-v-7d2bb426><div class="main-left"><!----> <div class="theme-vdoing-content custom card-box content__default" data-v-7d2bb426></div></div> <div class="main-right"><!----> <!----> <!----> <!----></div></div></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     35 + </p> <p class="action" data-v-7d2bb426><a href="/guide/introduce/" class="nav-link action-button" data-v-7d2bb426>快速上手 →</a></p></header> <div class="features" data-v-7d2bb426><div class="feature" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 隐匿</h2> <p data-v-7d2bb426>基于 FaaS/BaaS 实现动态IP代理,支持Tor网络,云上无痕。</p></a></div><div class="feature" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>��️ 集成</h2> <p data-v-7d2bb426>适配大量云服务商与知名客户端,拒绝服务绑架。</p></a></div><div class="feature" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 便携</h2> <p data-v-7d2bb426> SDK部署。</p></a></div></div></div> <div class="slide-banner" style="display:none;" data-v-7d2bb426><div class="banner-wrapper" data-v-7d2bb426><div class="slide-banner-scroll" data-v-7d2bb426><div class="slide-banner-wrapper" data-v-7d2bb426><div class="slide-item" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 隐匿</h2> <p data-v-7d2bb426>基于 FaaS/BaaS 实现动态IP代理,支持Tor网络,云上无痕。</p></a></div><div class="slide-item" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>��️ 集成</h2> <p data-v-7d2bb426>适配大量云服务商与知名客户端,拒绝服务绑架。</p></a></div><div class="slide-item" data-v-7d2bb426><a href="javascript:;" data-v-7d2bb426><!----> <h2 data-v-7d2bb426>�� 便携</h2> <p data-v-7d2bb426> SDK部署。</p></a></div></div></div> <div class="docs-wrapper" data-v-7d2bb426><span class="doc active" data-v-7d2bb426></span><span class="doc" data-v-7d2bb426></span><span class="doc" data-v-7d2bb426></span></div></div></div></div> <div class="main-wrapper" data-v-7d2bb426><div class="main-left"><!----> <div class="theme-vdoing-content custom card-box content__default" data-v-7d2bb426></div></div> <div class="main-right"><!----> <!----> <!----> <!----></div></div></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    36 36   Theme by
    37 37   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    38 38   | Copyright © 2022-2024
    skipped 6 lines
    45 45   </li><li class="iconfont icon-yuedu">
    46 46   阅读模式
    47 47   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    48  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/5.03fc806a.js" defer></script>
     48 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/5.03fc806a.js" defer></script>
    49 49   </body>
    50 50  </html>
    51 51   
  • ■ ■ ■ ■ ■ ■
    tech/feature/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/21.ba4d4a27.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/22.41173315.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link router-link-active">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>写在前面</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/position/" class="sidebar-link">月海的定位</a></li><li><a href="/tech/feature/" aria-current="page" class="active sidebar-link">月海的特性</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-2-0-beta-2" class="sidebar-link">SeaMoon 1.2.0-beta.2</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-2-0-beta-1" class="sidebar-link">SeaMoon 1.2.0-beta.1</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-3" class="sidebar-link">SeaMoon 1.1.3</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-2" class="sidebar-link">SeaMoon 1.1.2</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-1" class="sidebar-link">SeaMoon 1.1.1</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#_1-1-0-2022-09-27" class="sidebar-link">1.1.0 (2022-09-27)</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#_1-0-0-2022-09-09" class="sidebar-link">1.0.0 (2022-09-09)</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-0" class="sidebar-link">SeaMoon 1.1.0</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-0-0" class="sidebar-link">SeaMoon 1.0.0</a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>网络</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">月海的特性<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="feature"><a href="#feature" class="header-anchor">#</a> FEATURE</h1> <h2 id="seamoon-1-2-0-beta-2"><a href="#seamoon-1-2-0-beta-2" class="header-anchor">#</a> SeaMoon 1.2.0-beta.2</h2> <h3 id="❤️-what-s-new"><a href="#❤️-what-s-new" class="header-anchor">#</a> ❤️ What's New</h3> <ul><li>�� docs: 订正手册 (#49)</li> <li>�� docs: 手册增加了 <a href="https://github.com/go-gost/gost" target="_blank" rel="noopener noreferrer">gost<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 作为本地客户端的使用方式 (#57)</li> <li>�� fix(client): 修复 ISSUE 提到的连接缓慢问题 (#48)(#23)(#44)</li></ul> <h3 id="what-s-changed"><a href="#what-s-changed" class="header-anchor">#</a> What's Changed</h3> <ul><li>fix: use release binary instead of self compiling by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/24</li> <li>fix: client error &amp;&amp; websocket compress error by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/48</li> <li>docs: update manual &amp;&amp; update yarn &amp;&amp; fix a little bug by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/49</li> <li>fix: roll back vdoing by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/50</li></ul> <p><strong>Full Changelog</strong>: https://github.com/DVKunion/SeaMoon/compare/1.2.0-beta.1...1.2.0-beta.2</p> <h2 id="seamoon-1-2-0-beta-1"><a href="#seamoon-1-2-0-beta-1" class="header-anchor">#</a> SeaMoon 1.2.0-beta.1</h2> <blockquote><p>1.2.0 是一个临时版本,由于想要加入一些新的功能与适配,整体代码改动量较大。因此先拆分了部分功能代码。
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>写在前面</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/position/" class="sidebar-link">月海的定位</a></li><li><a href="/tech/feature/" aria-current="page" class="active sidebar-link">月海的特性</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-2-0-beta-2" class="sidebar-link">SeaMoon 1.2.0-beta.2</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-2-0-beta-1" class="sidebar-link">SeaMoon 1.2.0-beta.1</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-3" class="sidebar-link">SeaMoon 1.1.3</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-2" class="sidebar-link">SeaMoon 1.1.2</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-1" class="sidebar-link">SeaMoon 1.1.1</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#_1-1-0-2022-09-27" class="sidebar-link">1.1.0 (2022-09-27)</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#_1-0-0-2022-09-09" class="sidebar-link">1.0.0 (2022-09-09)</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-1-0" class="sidebar-link">SeaMoon 1.1.0</a></li><li class="sidebar-sub-header level2"><a href="/tech/feature/#seamoon-1-0-0" class="sidebar-link">SeaMoon 1.0.0</a></li></ul></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>网络</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">月海的特性<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="feature"><a href="#feature" class="header-anchor">#</a> FEATURE</h1> <h2 id="seamoon-1-2-0-beta-2"><a href="#seamoon-1-2-0-beta-2" class="header-anchor">#</a> SeaMoon 1.2.0-beta.2</h2> <h3 id="❤️-what-s-new"><a href="#❤️-what-s-new" class="header-anchor">#</a> ❤️ What's New</h3> <ul><li>�� docs: 订正手册 (#49)</li> <li>�� docs: 手册增加了 <a href="https://github.com/go-gost/gost" target="_blank" rel="noopener noreferrer">gost<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> 作为本地客户端的使用方式 (#57)</li> <li>�� fix(client): 修复 ISSUE 提到的连接缓慢问题 (#48)(#23)(#44)</li></ul> <h3 id="what-s-changed"><a href="#what-s-changed" class="header-anchor">#</a> What's Changed</h3> <ul><li>fix: use release binary instead of self compiling by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/24</li> <li>fix: client error &amp;&amp; websocket compress error by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/48</li> <li>docs: update manual &amp;&amp; update yarn &amp;&amp; fix a little bug by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/49</li> <li>fix: roll back vdoing by @DVKunion in https://github.com/DVKunion/SeaMoon/pull/50</li></ul> <p><strong>Full Changelog</strong>: https://github.com/DVKunion/SeaMoon/compare/1.2.0-beta.1...1.2.0-beta.2</p> <h2 id="seamoon-1-2-0-beta-1"><a href="#seamoon-1-2-0-beta-1" class="header-anchor">#</a> SeaMoon 1.2.0-beta.1</h2> <blockquote><p>1.2.0 是一个临时版本,由于想要加入一些新的功能与适配,整体代码改动量较大。因此先拆分了部分功能代码。
    32 32  整体的稳定性上会有所欠缺,更多的是下一个版本的新功能尝试</p></blockquote> <h3 id="❤️-what-s-new-2"><a href="#❤️-what-s-new-2" class="header-anchor">#</a> ❤️ What's New</h3> <ul><li>📝 docs: 修正了首页的一些图床丢失 (#18)</li> <li>✨ feat(server): 新增隧道协议:grpc (#19)</li> <li>⚡️ zap(server): 将协议解码转移在服务端处理,轻量化客户端 (#17)</li> <li>🎨 refartor(server): 重构服务端模式,参考 gost 代理项目优化网络传输 (#15)</li> <li>🎨 refartor(client): 减轻客户端传递功能,做更多兼容性适配,配合server重构 (#20)</li> <li>🔧 fix(ci): 修正一些重构导致的ci错误(#16)(#21)(#22)</li></ul> <p><strong>Full Changelog</strong>: https://github.com/DVKunion/SeaMoon/compare/1.1.3...1.2.0-beta.1</p> <ul><li>75db770 feat: support grpc tunnel (#19)</li> <li>122435f fix: Dockerfile (#22)</li> <li>ae49ee0 fix: page ci dir changes (#16)</li> <li>be04fa1 fix: tag ci error (#21)</li> <li>f40e8f0 refactor: client (#20)</li> <li>22bc49c refactor: server code &amp;&amp; upgrade go mod (#15)</li> <li>ef2bf71 zap: change socks handle from client to server. (#17)</li></ul> <h2 id="seamoon-1-1-3"><a href="#seamoon-1-1-3" class="header-anchor">#</a> SeaMoon 1.1.3</h2> <h3 id="❤️-what-s-new-3"><a href="#❤️-what-s-new-3" class="header-anchor">#</a> ❤️ What's New</h3> <ul><li>📝 docs: 增加手册页面sitemap站点地图(#7)(#8)</li> <li>✨ feat(server): 修改了阿里云默认的部署资源类型(vcpu 0.1/mem 128),来降低普通用户使用的价格消费 (#10)</li> <li>✨ feat(server): 增加了sealos部署方案,用更加便宜的价格使用seamoon (#11)</li> <li>✨ feat(server): 增加了docker server, 现在可以通过docker来启动服务端 (#12)</li> <li>🔧 fix(config): 用更友好的方式来使用config,不再单一的通过域名特征来判断服务端地址类型。(#13)</li></ul> <p><strong>Full Changelog</strong>: https://github.com/DVKunion/SeaMoon/compare/1.1.2...1.1.3</p> <ul><li>41c5ce8 feat(docker): add docker server (#12)</li> <li>1414293 feat: low cpu &amp;&amp; mem cost (#10)</li> <li>99c98fd fix(client): use more friendly config (#13)</li></ul> <h2 id="seamoon-1-1-2"><a href="#seamoon-1-1-2" class="header-anchor">#</a> SeaMoon 1.1.2</h2> <h3 id="❤️-what-s-new-4"><a href="#❤️-what-s-new-4" class="header-anchor">#</a> ❤️ What's New</h3> <ul><li>🔧 fix(websocket): 修正了protocol error detect 时仍挂起gorouting导致卡死的问题 (#6)</li> <li>✨ feat(dockerfile): 增加了docker client, 现在可以通过docker来启动客户端 (#6)</li></ul> <p><strong>Full Changelog</strong>: https://github.com/DVKunion/SeaMoon/compare/1.1.1...1.1.2</p> <h2 id="seamoon-1-1-1"><a href="#seamoon-1-1-1" class="header-anchor">#</a> SeaMoon 1.1.1</h2> <h3 id="❤️-what-s-new-5"><a href="#❤️-what-s-new-5" class="header-anchor">#</a> ❤️ What's New</h3> <ul><li>🔧 fix(websocket): 修正了 websocket 在超出 32768 slice导致的 panic。 (#4)</li> <li>🔧 fix(websocket): 修整了 websocket 在 close 时写入 message 导致的 panic。 (#4)</li> <li>🔧 fix(websocket): 忽略了大量 websocket 链接导致的 1006 abnormal close 报错。 (#4)</li> <li>🔧 fix(s.yaml): 修整了 serverless-devs 工具编排文件,目前可以通过 serverless-devs 工具<code>s deploy</code>一件部署至阿里云。 (#4)</li> <li>🔧 fix(ci): 修整了 go-releaser ci 配置 (#3)</li> <li>🔧 fix(docs): 更新了 README.md 较为过时的使用手册。</li></ul> <h3 id="🌈-small-talk"><a href="#🌈-small-talk" class="header-anchor">#</a> 🌈 Small Talk</h3> <blockquote><p>Hi,各位,SeaMoon成功挤入2023Kcon兵器谱,使得整个项目获得了一批关注;在此感谢大家对SeaMoon项目的浓厚兴趣与支持,谢谢各位🙏<br>
    33 33  由于工作原因,以及个人的一些想法枯竭,项目于去年创建,直到现在目前也仅支持了阿里云一个demo QAQ,因此整体给人并不是一个较为完善的使用效果。1.1.1 版本后,我会尽量保证一些活跃性质的更新,以及一些比较有意思的想法demo迭代。<br>
    34 34  也欢迎对serverless感兴趣的安全小伙伴留言来交个朋友~</p></blockquote> <p><strong>Full Changelog</strong>: https://github.com/DVKunion/SeaMoon/compare/1.1.0...1.1.1</p> <ul><li>bc209a9 doc: update README.md</li> <li>a2e7360 fix: go-releaser ci config (#3)</li> <li>8f51e63 fix: readme.md</li> <li>fe658ff fix: some websocket error optimization (#4)</li> <li>c316527 hotfix: some docs and code format</li></ul> <h2 id="_1-1-0-2022-09-27"><a href="#_1-1-0-2022-09-27" class="header-anchor">#</a> 1.1.0 (2022-09-27)</h2> <h3 id="bug-fixes"><a href="#bug-fixes" class="header-anchor">#</a> Bug Fixes</h3> <ul><li>optimize connection (<a href="https://github.com/DVKunion/SeaMoon/commit/70dfc5ad4d25fd5b529097183c873d87ec37f126" target="_blank" rel="noopener noreferrer">70dfc5a<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>)</li> <li>optimize connection (<a href="https://github.com/DVKunion/SeaMoon/commit/2b416c0b106ad0a6a21aa3da838cf311061e9ef8" target="_blank" rel="noopener noreferrer">2b416c0<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>)</li></ul> <h2 id="_1-0-0-2022-09-09"><a href="#_1-0-0-2022-09-09" class="header-anchor">#</a> 1.0.0 (2022-09-09)</h2> <h3 id="features"><a href="#features" class="header-anchor">#</a> Features</h3> <ul><li><strong>ci:</strong> add build
    skipped 2 lines
    37 37  version (<a href="https://github.com/DVKunion/SeaMoon/commit/3b41846f75fe6d9510a9d040d76f97b35ce8c494" target="_blank" rel="noopener noreferrer">3b41846<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>)</li></ul> <h2 id="seamoon-1-1-0"><a href="#seamoon-1-1-0" class="header-anchor">#</a> SeaMoon 1.1.0</h2> <ul><li>修复了HTTP连接的一些bug,并使用更活跃的客户端代理库 <code>martian</code> 代替 <code>goproxy</code></li> <li>重构了客户端结构,提供了一个简易的B/S架构的控制管理端</li> <li>修复了SOCKS链接不断开导致的函数计费超时问题。</li> <li>增加了Controller管理</li></ul> <h2 id="seamoon-1-0-0"><a href="#seamoon-1-0-0" class="header-anchor">#</a> SeaMoon 1.0.0</h2> <ul><li>重新实现了 https://github.com/shimmeris/SCFProxy 大佬原有的网络功能: HTTP代理、SOCKs5代理</li> <li>优化了 SCFProxy 的部分机制:比如socks5的连接模式、socks5 15分钟超时的问题等。</li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/tech/position/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">月海的定位</div></a> <a href="/tech/net/http/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">HTTP</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    38 38  
    39 39   <a href="/tech/position/" class="prev">月海的定位</a></span> <span class="next"><a href="/tech/net/http/">HTTP</a>→
    40  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     40 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    41 41   Theme by
    42 42   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    43 43   | Copyright © 2022-2024
    skipped 6 lines
    50 50   </li><li class="iconfont icon-yuedu">
    51 51   阅读模式
    52 52   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    53  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/21.ba4d4a27.js" defer></script>
     53 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/22.41173315.js" defer></script>
    54 54   </body>
    55 55  </html>
    56 56   
  • tech/index.html
    Unable to diff as some line is too long.
  • ■ ■ ■ ■ ■ ■
    tech/net/http/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/23.b4554616.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/24.164f03d7.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link router-link-active">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>写在前面</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>网络</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/net/http/" aria-current="page" class="active sidebar-link">HTTP</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/net/http/#效果" class="sidebar-link">效果</a></li><li class="sidebar-sub-header level2"><a href="/tech/net/http/#原理" class="sidebar-link">原理</a></li></ul></li><li><a href="/tech/net/socks5/" class="sidebar-link">SOCKS5</a></li><li><a href="/tech/net/tor/" class="sidebar-link">TOR</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">HTTP<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="http"><a href="#http" class="header-anchor">#</a> HTTP</h1> <p>[TODO] HTTPnethttp</p> <p>HTTP代理 涉及了三个问题。</p> <ol><li>HOST 路由问题</li> <li>HTTPS 请求认证问题</li> <li>链式代理</li> <li>底层转发http.client.do()问题</li></ol> <p>依次在原理部分解释月海是如何处理上述问题的</p> <h2 id="效果"><a href="#效果" class="header-anchor">#</a> 效果</h2> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <h2 id="原理"><a href="#原理" class="header-anchor">#</a> 原理</h2> <h3 id="host-路由问题"><a href="#host-路由问题" class="header-anchor">#</a> HOST 路由问题</h3> <p>最早接触云函数就是大佬们的文章:通过云函数进行动态IP池的代理。开启了大家探索云函数的历程。</p> <p>其基本原理在于: 通过本地代理拦截 http请求进行解析,将分析出来的参数提供给云函数执行。</p> <p>而云函数端仅提供一个类似request的方法,把获取到的参数重组HTTP请求,请求过后将数据返回而已。</p> <p>在设计月海时,我对这种模式实在是难以苟同,太不优雅了,先不提各种编码可能导致的问题,光是要在本地开一个client端,就已经很难受了。</p> <p>(月海最初的目标是实现本地端不需要任何工具,拿到一台机器,连接到云函数就能进行渗透工作)</p> <p>但是经过一番折腾,发现截止至目前,云函数的支持力度仅能够存在这一种利用的方式。</p> <p>问题就出在了HTTP的代理模式。</p> <p>我们正常使用HTTP代理(浏览器插件、burp、bash终端的<code>export HTTP_PROXY</code>)等,实际上是将HTTP数据包原封不动的发给了我们配置的代理服务器。</p> <p>实际上,等效于这种请求:
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>写在前面</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>网络</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/net/http/" aria-current="page" class="active sidebar-link">HTTP</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/net/http/#效果" class="sidebar-link">效果</a></li><li class="sidebar-sub-header level2"><a href="/tech/net/http/#原理" class="sidebar-link">原理</a></li></ul></li><li><a href="/tech/net/socks5/" class="sidebar-link">SOCKS5</a></li><li><a href="/tech/net/tor/" class="sidebar-link">TOR</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">HTTP<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="http"><a href="#http" class="header-anchor">#</a> HTTP</h1> <p>HTTP代理 涉及了三个问题。</p> <ol><li>HOST 路由问题</li> <li>HTTPS 请求认证问题</li> <li>链式代理</li> <li>底层转发http.client.do()问题</li></ol> <p>依次在原理部分解释月海是如何处理上述问题的</p> <h2 id="效果"><a href="#效果" class="header-anchor">#</a> 效果</h2> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <h2 id="原理"><a href="#原理" class="header-anchor">#</a> 原理</h2> <h3 id="host-路由问题"><a href="#host-路由问题" class="header-anchor">#</a> HOST 路由问题</h3> <p>最早接触云函数就是大佬们的文章:通过云函数进行动态IP池的代理。开启了大家探索云函数的历程。</p> <p>其基本原理在于: 通过本地代理拦截 http请求进行解析,将分析出来的参数提供给云函数执行。</p> <p>而云函数端仅提供一个类似request的方法,把获取到的参数重组HTTP请求,请求过后将数据返回而已。</p> <p>在设计月海时,我对这种模式实在是难以苟同,太不优雅了,先不提各种编码可能导致的问题,光是要在本地开一个client端,就已经很难受了。</p> <p>(月海最初的目标是实现本地端不需要任何工具,拿到一台机器,连接到云函数就能进行渗透工作)</p> <p>但是经过一番折腾,发现截止至目前,云函数的支持力度仅能够存在这一种利用的方式。</p> <p>问题就出在了HTTP的代理模式。</p> <p>我们正常使用HTTP代理(浏览器插件、burp、bash终端的<code>export HTTP_PROXY</code>)等,实际上是将HTTP数据包原封不动的发给了我们配置的代理服务器。</p> <p>实际上,等效于这种请求:
    32 32  <code>curl -H &quot;HOST: Dest-HOST&quot; example.proxy.com</code></p> <p>但是在云函数的实现都是通过API网关来寻找对应的FC,来确定触发器到底是由哪个函数执行。</p> <p>而这就用到了这个HOST头字段,导致无法直接在云函数开启一个HTTP代理,用插件配置上使用。</p> <p>&quot;不要在已有的模式上造轮子&quot;, 因此,基于FC的特性,针对HTTP模式,就不再做更多思考与尝试了。</p> <p>这里仍可以做的,就是优化HTTP请求的优雅程度,比如,通信方式,字段规范,以及编码问题的处理。</p> <h3 id="https-请求认证问题"><a href="#https-请求认证问题" class="header-anchor">#</a> HTTPS 请求认证问题</h3> <p>其实基于上面的架构。HTTPS 的问题已经很好解决了。</p> <p>因为我们的 云函数HTTP代理,并不是一个实际意义上的代理,而是一个模拟代理。 云函数模拟的请求是可以发送https的。</p> <p>那么问题就变成了,如何信任我们的client端,参照大多proxy和burp的模式,可以通过信任根路径的证书来解决这个问题。</p> <p>可以参考这篇文章</p> <p><a href="https://www.lyyyuna.com/2018/03/16/http-proxy-https/" target="_blank" rel="noopener noreferrer">实现基于 HTTPS 代理的中间人攻击<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>HTTPS 迎刃而解。</p> <h3 id="链式代理"><a href="#链式代理" class="header-anchor">#</a> 链式代理</h3> <p>待开发</p> <h3 id="底层逻辑问题"><a href="#底层逻辑问题" class="header-anchor">#</a> 底层逻辑问题</h3> <p>月海测试beta版本,使用的方式是通过net.http 直接发送从header获取的完整路径请求。</p> <p>这和现有的一些工具逻辑完全一致。 但是在测试时,很容易出现:<code>http redirect request</code> 、 js/css加载失败或直接失效的场景,这相比socks5的舒适度差了一大截。</p> <p>因此,基于完美主义,后续将会重构一版底层net转发的逻辑。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/tech/feature/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">月海的特性</div></a> <a href="/tech/net/socks5/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">SOCKS5</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    33 33  
    34 34   <a href="/tech/feature/" class="prev">月海的特性</a></span> <span class="next"><a href="/tech/net/socks5/">SOCKS5</a>→
    35  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     35 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    36 36   Theme by
    37 37   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    38 38   | Copyright © 2022-2024
    skipped 6 lines
    45 45   </li><li class="iconfont icon-yuedu">
    46 46   阅读模式
    47 47   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    48  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/23.b4554616.js" defer></script>
     48 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/24.164f03d7.js" defer></script>
    49 49   </body>
    50 50  </html>
    51 51   
  • ■ ■ ■ ■ ■ ■
    tech/net/socks5/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/24.bdbfbd83.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/25.8809a7a0.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link router-link-active">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>写在前面</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>网络</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/net/http/" class="sidebar-link">HTTP</a></li><li><a href="/tech/net/socks5/" aria-current="page" class="active sidebar-link">SOCKS5</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/net/socks5/#socks5-效果" class="sidebar-link">SOCKS5 效果</a></li><li class="sidebar-sub-header level2"><a href="/tech/net/socks5/#socks5-原理" class="sidebar-link">SOCKS5 原理</a></li></ul></li><li><a href="/tech/net/tor/" class="sidebar-link">TOR</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">SOCKS5<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="socks5"><a href="#socks5" class="header-anchor">#</a> SOCKS5</h1> <h2 id="socks5-效果"><a href="#socks5-效果" class="header-anchor">#</a> SOCKS5 效果</h2> <p>相比http代理更稳定,速度更快。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <h2 id="socks5-原理"><a href="#socks5-原理" class="header-anchor">#</a> SOCKS5 原理</h2> <h3 id="socks5-2"><a href="#socks5-2" class="header-anchor">#</a> SOCKS5</h3> <p>基础理论: <a href="https://xz.aliyun.com/t/9502" target="_blank" rel="noopener noreferrer">浅谈云函数的利用面<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>在云函数(FC)的限制下,大佬提出了一种通过vps建立起socks5隧道的模式,从模式上来看,更像是一种反向连接。</p> <p>但是这种模式,需要一台VPS。对于穷逼的脚本小子的我,实在是不够优雅。</p> <p>FC的不成熟的确限制了大部分的玩法,比如触发器种类,比如协议,比如端口限制等等。</p> <p>在这种大环境下,我们无力去变更云函数的生态(其实也有可能云函数并没有为我们这种使用方式进行设计),只能自寻出路。</p> <p>想要优雅的正向连接,只能在HTTP上做文章。</p> <p>突然联想到早些年,做安全服务时拿到了WebShell后如何进行内网渗透?这就想起了一个利器工具,也是我们今天的主角:</p> <p><a href="https://github.com/sensepost/reGeorg" target="_blank" rel="noopener noreferrer">reGeorg<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>这个工具提供了各种语言的脚本,能够通过HTTP隧道的方式,结合本地客户端,建立socks连接代理。</p> <p>他的原理其实是依赖于,socks属于一种建立在TCP层的接口,是对TCP/IP协议的封装,而在应用层的HTTP协议也是同样属于对TCP/IP协议的封装。</p> <p>通俗来说,socks就是爸爸,而HTTP只是他众多的接口调用实现方而已,相互之间的转化是存在某种方式的。</p> <p>举个例子,如python中的urllib库,底层就是使用sockets实现的HTTP。</p> <p>因此,我们云函数socks代理的模型就可以画出来了:</p> <p>用户 -&gt; socks -&gt; client -&gt; 转化为HTTP -&gt; FC云函数 -&gt; 解析HTTP -&gt; 发送socks</p> <p>用户 &lt;- 转化为socks &lt;- client &lt;- 转化为HTTP &lt;- FC云函数 &lt;- socks数据</p> <p>我们的client开启一个socks的监听,然后将监听到的数据转化为http请求发给fc处理, fc根据http提供的数据发起socks连接,获取数据。之后fc函数再将数据通过http
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>写在前面</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>网络</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/net/http/" class="sidebar-link">HTTP</a></li><li><a href="/tech/net/socks5/" aria-current="page" class="active sidebar-link">SOCKS5</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/net/socks5/#socks5-效果" class="sidebar-link">SOCKS5 效果</a></li><li class="sidebar-sub-header level2"><a href="/tech/net/socks5/#socks5-原理" class="sidebar-link">SOCKS5 原理</a></li></ul></li><li><a href="/tech/net/tor/" class="sidebar-link">TOR</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">SOCKS5<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="socks5"><a href="#socks5" class="header-anchor">#</a> SOCKS5</h1> <h2 id="socks5-效果"><a href="#socks5-效果" class="header-anchor">#</a> SOCKS5 效果</h2> <p>相比http代理更稳定,速度更快。</p> <p><img src="https://seamoon.oss-cn-hangzhou.aliyuncs.com/7bfff588795a4e41b488694ad4eb5153.png" alt="speed"></p> <h2 id="socks5-原理"><a href="#socks5-原理" class="header-anchor">#</a> SOCKS5 原理</h2> <h3 id="socks5-2"><a href="#socks5-2" class="header-anchor">#</a> SOCKS5</h3> <p>基础理论: <a href="https://xz.aliyun.com/t/9502" target="_blank" rel="noopener noreferrer">浅谈云函数的利用面<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>在云函数(FC)的限制下,大佬提出了一种通过vps建立起socks5隧道的模式,从模式上来看,更像是一种反向连接。</p> <p>但是这种模式,需要一台VPS。对于穷逼的脚本小子的我,实在是不够优雅。</p> <p>FC的不成熟的确限制了大部分的玩法,比如触发器种类,比如协议,比如端口限制等等。</p> <p>在这种大环境下,我们无力去变更云函数的生态(其实也有可能云函数并没有为我们这种使用方式进行设计),只能自寻出路。</p> <p>想要优雅的正向连接,只能在HTTP上做文章。</p> <p>突然联想到早些年,做安全服务时拿到了WebShell后如何进行内网渗透?这就想起了一个利器工具,也是我们今天的主角:</p> <p><a href="https://github.com/sensepost/reGeorg" target="_blank" rel="noopener noreferrer">reGeorg<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>这个工具提供了各种语言的脚本,能够通过HTTP隧道的方式,结合本地客户端,建立socks连接代理。</p> <p>他的原理其实是依赖于,socks属于一种建立在TCP层的接口,是对TCP/IP协议的封装,而在应用层的HTTP协议也是同样属于对TCP/IP协议的封装。</p> <p>通俗来说,socks就是爸爸,而HTTP只是他众多的接口调用实现方而已,相互之间的转化是存在某种方式的。</p> <p>举个例子,如python中的urllib库,底层就是使用sockets实现的HTTP。</p> <p>因此,我们云函数socks代理的模型就可以画出来了:</p> <p>用户 -&gt; socks -&gt; client -&gt; 转化为HTTP -&gt; FC云函数 -&gt; 解析HTTP -&gt; 发送socks</p> <p>用户 &lt;- 转化为socks &lt;- client &lt;- 转化为HTTP &lt;- FC云函数 &lt;- socks数据</p> <p>我们的client开启一个socks的监听,然后将监听到的数据转化为http请求发给fc处理, fc根据http提供的数据发起socks连接,获取数据。之后fc函数再将数据通过http
    32 32  返回byte字节码,client端接收到响应,再根据协议降级为socks。</p> <p>理论存在,实践开始。 根据原理分析,我们要做的事情就比较明显了:</p> <ul><li>在云函数部署好一个接受HTTP响应,并转化为socks连接的服务</li> <li>在本地启动client端,监听一个socks端口,将该端口的数据按照协议转化为HTTP请求发送给云函数</li></ul> <p>参考<a href="https://github.com/sensepost/reGeorg" target="_blank" rel="noopener noreferrer">reGeorg<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>
    33 33  和他的的重构版<a href="https://github.com/L-codes/Neo-reGeorg" target="_blank" rel="noopener noreferrer">Neo-reGeorg<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>, 复制了一个GO版本的客户端和服务端。</p> <p>也就是说,你也可以选择连接 reGeorg 的shell作为http代理,启动一个本地的socks连接。</p> <p>以PHP为例,reGeorg将状态、IO全部存储在了session内。</p> <p>我们的云函数是没有状态的,所以不能够通过这种断开连接的方式再重新找到状态进行读取,要重新寻找出路。</p> <p>经过一周的改写,我发现虽然思路可行,但是reGeorg的项目实在太老了,而重构版Neo-reGeorg又因为各种加密等原因离谱的乱,导致最终socks建立起的连接无法再次read的相应的socks。</p> <p>终于在苦找下,发现了大佬做了这样的事情:将客户端socks5升级至http/https/websocket等应用层协议,同时还提供了UDP的解决方案!</p> <p><a href="https://github.com/luyuhuang/subsocks" target="_blank" rel="noopener noreferrer">subsocks<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p> <p>但是测试发现,http触发器存在最大连接超时时间,虽然阿里云已经把这个数值调整到了24小时,依旧存在隐患,不够完美。</p> <p>于是,替换者websockets触发器完美出现,解决了所有的问题。</p> <p>因为本身websockets就是一种类sockets的http连接,现在我们只要通过 <code>io.copy</code> 将双端的输入输出绑定,即可构成通信信道。</p> <p>最后就是处理好断开连接问题,来防止异常断开导致的panic,和节约云函数计费成本。</p> <p>最终达成上图效果。</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/tech/net/http/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">HTTP</div></a> <a href="/tech/net/tor/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">TOR</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
    34 34  
    35 35   <a href="/tech/net/http/" class="prev">HTTP</a></span> <span class="next"><a href="/tech/net/tor/">TOR</a>→
    36  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     36 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    37 37   Theme by
    38 38   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    39 39   | Copyright © 2022-2024
    skipped 6 lines
    46 46   </li><li class="iconfont icon-yuedu">
    47 47   阅读模式
    48 48   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    49  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/24.bdbfbd83.js" defer></script>
     49 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/25.8809a7a0.js" defer></script>
    50 50   </body>
    51 51  </html>
    52 52   
  • ■ ■ ■ ■ ■ ■
    tech/net/tor/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/25.8a3a1c79.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/20.e7ca72c7.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/26.367a5cb5.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/21.58bb51b4.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link router-link-active">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>写在前面</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>网络</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/net/http/" class="sidebar-link">HTTP</a></li><li><a href="/tech/net/socks5/" class="sidebar-link">SOCKS5</a></li><li><a href="/tech/net/tor/" aria-current="page" class="active sidebar-link">TOR</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">TOR<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="tor"><a href="#tor" class="header-anchor">#</a> TOR</h1></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/tech/net/socks5/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">SOCKS5</div></a> <!----></div> <div class="page-nav"><p class="inner"><span class="prev">
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>写在前面</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>网络</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/net/http/" class="sidebar-link">HTTP</a></li><li><a href="/tech/net/socks5/" class="sidebar-link">SOCKS5</a></li><li><a href="/tech/net/tor/" aria-current="page" class="active sidebar-link">TOR</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">TOR<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="tor"><a href="#tor" class="header-anchor">#</a> TOR</h1></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/tech/net/socks5/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">SOCKS5</div></a> <!----></div> <div class="page-nav"><p class="inner"><span class="prev">
    32 32  
    33  - <a href="/tech/net/socks5/" class="prev">SOCKS5</a></span> <!----></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     33 + <a href="/tech/net/socks5/" class="prev">SOCKS5</a></span> <!----></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    34 34   Theme by
    35 35   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    36 36   | Copyright © 2022-2024
    skipped 6 lines
    43 43   </li><li class="iconfont icon-yuedu">
    44 44   阅读模式
    45 45   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    46  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/25.8a3a1c79.js" defer></script>
     46 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/26.367a5cb5.js" defer></script>
    47 47   </body>
    48 48  </html>
    49 49   
  • ■ ■ ■ ■ ■ ■
    tech/position/index.html
    skipped 19 lines
    20 20   <meta name="keywords" content="serverless,proxy,pentest,seamoon">
    21 21   <meta name="baidu-site-verification" content="codeva-vXPumeNBPL">
    22 22  
    23  - <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.770cf828.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/20.e7ca72c7.js" as="script"><link rel="prefetch" href="/assets/js/10.3f24e4fa.js"><link rel="prefetch" href="/assets/js/11.ecdf8130.js"><link rel="prefetch" href="/assets/js/12.9de2f1b2.js"><link rel="prefetch" href="/assets/js/13.34e04054.js"><link rel="prefetch" href="/assets/js/14.dc585389.js"><link rel="prefetch" href="/assets/js/15.55e48f15.js"><link rel="prefetch" href="/assets/js/16.58712f6f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.e979b696.js"><link rel="prefetch" href="/assets/js/19.c1cf8f06.js"><link rel="prefetch" href="/assets/js/21.ba4d4a27.js"><link rel="prefetch" href="/assets/js/22.caeff592.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.bdbfbd83.js"><link rel="prefetch" href="/assets/js/25.8a3a1c79.js"><link rel="prefetch" href="/assets/js/3.6b49b69d.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.13b83247.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.63228358.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.a3941e84.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/21.58bb51b4.js" as="script"><link rel="prefetch" href="/assets/js/10.5751dac5.js"><link rel="prefetch" href="/assets/js/11.7b24619b.js"><link rel="prefetch" href="/assets/js/12.2832e202.js"><link rel="prefetch" href="/assets/js/13.8d81b712.js"><link rel="prefetch" href="/assets/js/14.30fa252e.js"><link rel="prefetch" href="/assets/js/15.dc15ace9.js"><link rel="prefetch" href="/assets/js/16.463faaa4.js"><link rel="prefetch" href="/assets/js/17.3ec75fb7.js"><link rel="prefetch" href="/assets/js/18.8dc0b3e8.js"><link rel="prefetch" href="/assets/js/19.3dd46379.js"><link rel="prefetch" href="/assets/js/20.60a5b631.js"><link rel="prefetch" href="/assets/js/22.41173315.js"><link rel="prefetch" href="/assets/js/23.6e2ee1ad.js"><link rel="prefetch" href="/assets/js/24.164f03d7.js"><link rel="prefetch" href="/assets/js/25.8809a7a0.js"><link rel="prefetch" href="/assets/js/26.367a5cb5.js"><link rel="prefetch" href="/assets/js/3.b81fe814.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.d0512cc6.js"><link rel="prefetch" href="/assets/js/7.cd5b83f2.js"><link rel="prefetch" href="/assets/js/8.3d70e7d4.js"><link rel="prefetch" href="/assets/js/9.f1db5db3.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 1 lines
    28 28   GitHub
    29 29   <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/guide/introduce/" class="nav-link">使用手册</a></div><div class="nav-item"><a href="/tech/" class="nav-link router-link-active">技术博客</a></div> <a href="https://github.com/Dvkunion/SeaMoon" target="_blank" rel="noopener noreferrer" class="repo-link">
    30 30   GitHub
    31  - <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>写在前面</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/position/" aria-current="page" class="active sidebar-link">月海的定位</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/position/#前言-为什么要写月海这个工具-why-sea-moon" class="sidebar-link">前言: 为什么要写月海这个工具? (Why Sea Moon)</a></li></ul></li><li><a href="/tech/feature/" class="sidebar-link">月海的特性</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>网络</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">月海的定位<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="position"><a href="#position" class="header-anchor">#</a> Position</h1> <h2 id="前言-为什么要写月海这个工具-why-sea-moon"><a href="#前言-为什么要写月海这个工具-why-sea-moon" class="header-anchor">#</a> 前言: 为什么要写月海这个工具? (Why Sea Moon)</h2> <ul><li>随着云原生不断地推广,希望渗透测试也能够与时俱进,开启一个新的纪元。不论从测试的手段还是挖掘方向,都应该朝着时代发展的方向跟进。</li> <li>现有项目模式较为松散,部署还是需要花费一些经历来理解和操作。而类似阿里云已经上升到serverless应用的层级,相应的部署方式和玩法更新颖。</li> <li>如果将这些项目比作是概念性工具,那么月海致力于打造的是一个较为成熟化的,能够快速简易应用的工具集产品。</li> <li>月海希望能够抛砖引玉,提出一个简易的框架和模式,将现有的大部分可迁移至云端操作的攻击手段集成进来,最终达到随手拿来的一台崭新电脑,5分钟即可进入攻击状态(理想)。</li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><!----> <a href="/tech/feature/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">月海的特性</div></a></div> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/tech/feature/">月海的特性</a>→
    32  - </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="http://www.serverless-devs.com" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
     31 + <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>写在前面</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/tech/position/" aria-current="page" class="active sidebar-link">月海的定位</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/tech/position/#" class="sidebar-link"></a></li><li class="sidebar-sub-header level2"><a href="/tech/position/#前言-为什么要写月海这个工具-why-sea-moon" class="sidebar-link">前言: 为什么要写月海这个工具? (Why Sea Moon)</a></li></ul></li><li><a href="/tech/feature/" class="sidebar-link">月海的特性</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>网络</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">月海的定位<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="position"><a href="#position" class="header-anchor">#</a> Position</h1> <h2 id=""><a href="#" class="header-anchor">#</a> </h2> <p></p> <h2 id="前言-为什么要写月海这个工具-why-sea-moon"><a href="#前言-为什么要写月海这个工具-why-sea-moon" class="header-anchor">#</a> 前言: 为什么要写月海这个工具? (Why Sea Moon)</h2> <ul><li>随着云原生不断地推广,希望渗透测试也能够与时俱进,开启一个新的纪元。不论从测试的手段还是挖掘方向,都应该朝着时代发展的方向跟进。</li> <li>现有项目模式较为松散,部署还是需要花费一些经历来理解和操作。而类似阿里云已经上升到serverless应用的层级,相应的部署方式和玩法更新颖。</li> <li>如果将这些项目比作是概念性工具,那么月海致力于打造的是一个较为成熟化的,能够快速简易应用的工具集产品。</li> <li>月海希望能够抛砖引玉,提出一个简易的框架和模式,将现有的大部分可迁移至云端操作的攻击手段集成进来,最终达到随手拿来的一台崭新电脑,5分钟即可进入攻击状态(理想)。</li></ul></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><!----> <a href="/tech/feature/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">月海的特性</div></a></div> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/tech/feature/">月海的特性</a>→
     32 + </span></p></div></div></div> <!----></main></div> <div class="footer"><div class="icons"><a href="mailto:[email protected]" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/DVKunion/SeaMoon" title="放一只猫" target="_blank" class="iconfont icon-mao"></a><a href="https://github.com/Dvkunion" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="" title="weixin" target="_blank" class="iconfont icon-weixin"></a></div>
    33 33   Theme by
    34 34   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    35 35   | Copyright © 2022-2024
    skipped 6 lines
    42 42   </li><li class="iconfont icon-yuedu">
    43 43   阅读模式
    44 44   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    45  - <script src="/assets/js/app.770cf828.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/20.e7ca72c7.js" defer></script>
     45 + <script src="/assets/js/app.a3941e84.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/21.58bb51b4.js" defer></script>
    46 46   </body>
    47 47  </html>
    48 48   
Please wait...
Page is in error, reload to recover