Projects STRLCPY SeaMoon Commits 0079125c
🤬
  • deploy: dce8f9de5f5fdcdc1ef96134a863f44c6e6cdece

  • Loading...
  • DVKunion committed 4 months ago
    0079125c
    1 parent ffda6942
  • ■ ■ ■ ■ ■ ■
    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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/4.cd3de622.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/2.1d6ed513.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.js"><link rel="prefetch" href="/assets/js/5.03fc806a.js"><link rel="prefetch" href="/assets/js/6.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/4.cd3de622.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/2.1d6ed513.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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.2f32befe.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></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.7e1c872c.js" defer></script><script src="/assets/js/4.cd3de622.js" defer></script>
    29 29   </body>
    30 30  </html>
    31 31   
  • ■ ■ ■ ■ ■
    assets/js/12.8448db3c.js
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{326: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: 免费的永远是最好的")]),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",[a._v("render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!")])]),a._v("这就够了,足够我们给他树一个👍。")],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/12.8269042d.js assets/js/13.a324c75e.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{322: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}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{322: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.58c46386.js assets/js/14.b2258008.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{323: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("ul",[n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/aliyun/",target:"_blank",rel:"noopener noreferrer"}},[e._v("阿里云手动部署"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/sealos/",target:"_blank",rel:"noopener noreferrer"}},[e._v("�� sealos:更便宜更舒服的选择"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/tencent/",target:"_blank",rel:"noopener noreferrer"}},[e._v("腾讯云手动部署"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("serverless-devs快捷部署"),n("OutboundLink")],1)])])])}),[],!1,null,null,null);n.default=o.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{323: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("ul",[n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/aliyun/",target:"_blank",rel:"noopener noreferrer"}},[e._v("阿里云手动部署"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/sealos/",target:"_blank",rel:"noopener noreferrer"}},[e._v("�� sealos:更便宜更舒服的选择"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/tencent/",target:"_blank",rel:"noopener noreferrer"}},[e._v("腾讯云手动部署"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/render/",target:"_blank",rel:"noopener noreferrer"}},[e._v(" render:"),n("OutboundLink")],1)]),e._v(" "),n("li",[n("a",{attrs:{href:"https://seamoon.dvkunion.cn/guide/deploy/serverlessDevs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("serverless-devs快捷部署"),n("OutboundLink")],1)])])])}),[],!1,null,null,null);n.default=o.exports}}]);
  • ■ ■ ■ ■
    assets/js/14.8b11eab1.js assets/js/15.372de5f3.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{324: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}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{324: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.627060e0.js assets/js/16.1706351f.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{325: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}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{325: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/16.010d23f9.js assets/js/17.bbfc83cb.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{326: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([[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}}]);
  • ■ ■ ■ ■
    assets/js/17.d1507e61.js assets/js/18.7c1b416c.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{328:function(t,o,s){"use strict";s.r(o);var a=s(7),n=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("p",[t._v("::: tips\n在当前版本内,seamoon 实现了最简单的 tor 接入方式 -- 通过 tor cli 自带的 s5 协议做了一层转发,因为 v2ray 也是这样玩的。")]),t._v(" "),o("p",[t._v("实际上,这种方案,有很多不足,出去开头的资源占用较高 warning,通过 binary 的集成力度也不是非常合适,但是在这个阶段暂时用该方案来减少代码开发的工作量。")]),t._v(" "),o("p",[t._v('因此,此方案仅用于证明 seamoon 的扩展性,距离真正 "便宜" 可能还需要一段的距离。\n:::')])])}),[],!1,null,null,null);o.default=n.exports}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{328:function(t,o,s){"use strict";s.r(o);var a=s(7),n=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("p",[t._v("::: tips\n在当前版本内,seamoon 实现了最简单的 tor 接入方式 -- 通过 tor cli 自带的 s5 协议做了一层转发,因为 v2ray 也是这样玩的。")]),t._v(" "),o("p",[t._v("实际上,这种方案,有很多不足,出去开头的资源占用较高 warning,通过 binary 的集成力度也不是非常合适,但是在这个阶段暂时用该方案来减少代码开发的工作量。")]),t._v(" "),o("p",[t._v('因此,此方案仅用于证明 seamoon 的扩展性,距离真正 "便宜" 可能还需要一段的距离。\n:::')])])}),[],!1,null,null,null);o.default=n.exports}}]);
  • ■ ■ ■ ■
    assets/js/18.e4c9a38b.js assets/js/19.ae15628e.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{327: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}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{331: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/19.cd91782a.js assets/js/20.a985f65f.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{334: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}}]);
     1 +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{329: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/20.bf4a69e1.js assets/js/21.4e0aead8.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{329: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([[21],{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/21.13853a71.js assets/js/22.a735c3ef.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{330: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([[22],{330: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/22.66321b29.js assets/js/23.b4554616.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{332: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}}]);
     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/23.106bc93e.js assets/js/24.33393cf0.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{331: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([[24],{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/24.cc88ae1a.js assets/js/25.3f647187.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{333: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([[25],{334: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.0d551a99.js assets/js/3.6b49b69d.js
    1  -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{276:function(t,e,n){},312:function(t,e,n){"use strict";n(276)},335: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)},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}}]);
  • ■ ■ ■ ■
    assets/js/6.da1484d8.js assets/js/6.5e397e73.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("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"}},[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"}},[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"}},[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("华为云")]),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("✅")]),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("��调研中")]),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("��调研中")]),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}}]);
     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("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"}},[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"}},[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"}},[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"}},[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("✅")]),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("✅")]),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("��调研中")]),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("��调研中")]),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/8.9e2d09c9.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/8.fdb1c873.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("🔧 如果你不想仅拥有 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/app.2f32befe.js assets/js/app.7e1c872c.js
    Unable to diff as some line is too long.
  • ■ ■ ■ ■ ■ ■
    guide/client/binary/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/15.627060e0.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/16.1706351f.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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/" 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,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==">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">
     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 32  
    33 33   <a href="/guide/client/docker/" class="prev">docker</a></span> <span class="next"><a href="/guide/client/gost/">gost</a>→
    34 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>
    skipped 9 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/15.627060e0.js" defer></script>
     47 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/16.1706351f.js" defer></script>
    48 48   </body>
    49 49  </html>
    50 50   
  • ■ ■ ■ ■ ■ ■
    guide/client/docker/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/14.8b11eab1.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/15.372de5f3.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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/" 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,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">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
     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 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 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 34  
    skipped 11 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/14.8b11eab1.js" defer></script>
     49 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/15.372de5f3.js" defer></script>
    50 50   </body>
    51 51  </html>
    52 52   
  • ■ ■ ■ ■ ■ ■
    guide/client/gost/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/16.010d23f9.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 30 lines
    57 57   </li><li class="iconfont icon-yuedu">
    58 58   阅读模式
    59 59   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    60  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/16.010d23f9.js" defer></script>
     60 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/17.bbfc83cb.js" defer></script>
    61 61   </body>
    62 62  </html>
    63 63   
  • ■ ■ ■ ■ ■ ■
    guide/client/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/18.e4c9a38b.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/19.ae15628e.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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/" 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> <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>
     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 32   Theme by
    33 33   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    34 34   | Copyright © 2022-2024
    skipped 6 lines
    41 41   </li><li class="iconfont icon-yuedu">
    42 42   阅读模式
    43 43   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    44  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/18.e4c9a38b.js" defer></script>
     44 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/19.ae15628e.js" defer></script>
    45 45   </body>
    46 46  </html>
    47 47   
  • ■ ■ ■ ■ ■ ■
    guide/client/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/17.d1507e61.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/18.7c1b416c.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 18 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/17.d1507e61.js" defer></script>
     48 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/18.7c1b416c.js" defer></script>
    49 49   </body>
    50 50  </html>
    51 51   
  • ■ ■ ■ ■ ■ ■
    guide/deploy/aliyun/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.2f32befe.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.js">
     23 + <link rel="preload" href="/assets/css/0.styles.a86b1238.css" as="style"><link rel="preload" href="/assets/js/app.7e1c872c.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.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 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/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</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>
     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/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</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 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/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">
    33 33  
    34 34   <a href="/guide/start/" class="prev">快速开始</a></span> <span class="next"><a href="/guide/deploy/sealos/">Sealos</a>→
    skipped 10 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/9.0884394f.js" defer></script>
     48 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/9.0884394f.js" defer></script>
    49 49   </body>
    50 50  </html>
    51 51   
  • ■ ■ ■ ■ ■ ■
    guide/deploy/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/13.58c46386.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/14.b2258008.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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/" 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> <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/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/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/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>
     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/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/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/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/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></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 32   Theme by
    33 33   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    34 34   | Copyright © 2022-2024
    skipped 6 lines
    41 41   </li><li class="iconfont icon-yuedu">
    42 42   阅读模式
    43 43   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    44  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/13.58c46386.js" defer></script>
     44 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/14.b2258008.js" defer></script>
    45 45   </body>
    46 46  </html>
    47 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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/12.8448db3c.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.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/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</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: 免费的永远是最好的</h2> <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>render提供的free套餐完全支持我们部署 seamoon,不需要花费一分钱!</b></font>这就够了,足够我们给他树一个👍。</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
     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">7777</span>:7777 <span class="token parameter variable">-p</span> <span class="token number">1080</span>:1080 dvkunion/seamoon proxy
     33 +</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。
     34 +只有当 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/tencent/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">腾讯云</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">
     35 +
     36 + <a href="/guide/deploy/tencent/" class="prev">腾讯云</a></span> <span class="next"><a href="/guide/deploy/serverlessDevs/">Serverless-Devs</a>→
     37 + </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>
     38 + Theme by
     39 + <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
     40 + | Copyright © 2022-2024
     41 + <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">
     42 + 跟随系统
     43 + </li><li class="iconfont icon-rijianmoshi">
     44 + 浅色模式
     45 + </li><li class="iconfont icon-yejianmoshi">
     46 + 深色模式
     47 + </li><li class="iconfont icon-yuedu">
     48 + 阅读模式
     49 + </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
     50 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/12.8448db3c.js" defer></script>
     51 + </body>
     52 +</html>
     53 + 
  • ■ ■ ■ ■ ■ ■
    guide/deploy/sealos/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/10.70dc4e3c.js" as="script"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/10.70dc4e3c.js" as="script"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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 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/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/tencent/" class="sidebar-link">腾讯云</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==">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一样,点击、配置、部署,一气呵成。
     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/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/tencent/" class="sidebar-link">腾讯云</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,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 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 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 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, 如下图:
    skipped 105 lines
    140 140   </li><li class="iconfont icon-yuedu">
    141 141   阅读模式
    142 142   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    143  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/10.70dc4e3c.js" defer></script>
     143 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/10.70dc4e3c.js" defer></script>
    144 144   </body>
    145 145  </html>
    146 146   
  • ■ ■ ■ ■ ■ ■
    guide/deploy/serverlessDevs/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/12.8269042d.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/13.a324c75e.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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 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/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</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>
     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/sealos/" class="sidebar-link">Sealos</a></li><li><a href="/guide/deploy/tencent/" class="sidebar-link">腾讯云</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,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">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 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 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 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
    skipped 64 lines
    99 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 100   <span class="token punctuation">...</span><span class="token punctuation">...</span>
    101 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/tencent/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip"></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">
     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 103  
    104  - <a href="/guide/deploy/tencent/" class="prev"></a></span> <span class="next"><a href="/guide/client/docker/">docker</a>→
     104 + <a href="/guide/deploy/render/" class="prev">Render</a></span> <span class="next"><a href="/guide/client/docker/">docker</a>→
    105 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 106   Theme by
    107 107   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    skipped 7 lines
    115 115   </li><li class="iconfont icon-yuedu">
    116 116   阅读模式
    117 117   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    118  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/12.8269042d.js" defer></script>
     118 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/13.a324c75e.js" defer></script>
    119 119   </body>
    120 120  </html>
    121 121   
  • ■ ■ ■ ■ ■ ■
    guide/deploy/tencent/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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/11.c586e00f.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/11.c586e00f.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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 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/sealos/" class="sidebar-link">Sealos</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/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> <div class="custom-block danger"><p class="custom-block-title">注意</p> <p>由于腾讯云 grpc 也没调研,加上拉胯不推荐使用,所以此处的文档依旧为 v1.1.3 版本,非最新版本文档。
     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/sealos/" class="sidebar-link">Sealos</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/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">腾讯云<!----></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 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 33  $ <span class="token function">docker</span> pull dvkunion/seamoon-server:latest
    34 34   
    skipped 5 lines
    40 40   
    41 41  <span class="token comment"># 推送镜像</span>
    42 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/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">
     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/sealos/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">Sealos</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">
    44 44  
    45  - <a href="/guide/deploy/sealos/" class="prev">Sealos</a></span> <span class="next"><a href="/guide/deploy/serverlessDevs/">Serverless-Devs</a>→
     45 + <a href="/guide/deploy/sealos/" class="prev">Sealos</a></span> <span class="next"><a href="/guide/deploy/render/">Render</a>→
    46 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 47   Theme by
    48 48   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    skipped 7 lines
    56 56   </li><li class="iconfont icon-yuedu">
    57 57   阅读模式
    58 58   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    59  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/11.c586e00f.js" defer></script>
     59 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/11.c586e00f.js" defer></script>
    60 60   </body>
    61 61  </html>
    62 62   
  • guide/introduce/index.html
    Unable to diff as some line is too long.
  • ■ ■ ■ ■ ■ ■
    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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/8.fdb1c873.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/8.9e2d09c9.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/9.0884394f.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,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> <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>�� 如果你不想仅拥有 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>
     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,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> <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 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 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 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
    skipped 59 lines
    94 94   </li><li class="iconfont icon-yuedu">
    95 95   阅读模式
    96 96   </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    97  - <script src="/assets/js/app.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/8.fdb1c873.js" defer></script>
     97 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/8.9e2d09c9.js" defer></script>
    98 98   </body>
    99 99  </html>
    100 100   
  • ■ ■ ■ ■ ■ ■
    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.2f32befe.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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,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>月海主要分为两部分:</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><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">
    32 32  
    33 33   <a href="/guide/introduce/" class="prev">简介</a></span> <span class="next"><a href="/guide/start/">快速开始</a>→
    34 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>
    skipped 9 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.2f32befe.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.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/7.7a09b383.js" defer></script>
    48 48   </body>
    49 49  </html>
    50 50   
  • ■ ■ ■ ■ ■ ■
    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.2f32befe.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.js"><link rel="prefetch" href="/assets/js/4.cd3de622.js"><link rel="prefetch" href="/assets/js/6.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 18 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.2f32befe.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.7e1c872c.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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/20.bf4a69e1.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/21.4e0aead8.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.js">
    24 24   <link rel="stylesheet" href="/assets/css/0.styles.a86b1238.css">
    25 25   </head>
    26 26   <body class="theme-mode-light">
    skipped 23 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/20.bf4a69e1.js" defer></script>
     53 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/21.4e0aead8.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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/22.66321b29.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.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.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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,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>[TODO] 重构HTTP逻辑,通过net进行转发而不是上层的http</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,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==">HTTP<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="http"><a href="#http" class="header-anchor">#</a> HTTP</h1> <p>[TODO] 重构HTTP逻辑,通过net进行转发而不是上层的http</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>实际上,等效于这种请求:
    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>→
    skipped 10 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/22.66321b29.js" defer></script>
     48 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/23.b4554616.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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/23.106bc93e.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/24.33393cf0.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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,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">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  
    skipped 11 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/23.106bc93e.js" defer></script>
     49 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/24.33393cf0.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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/24.cc88ae1a.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/19.cd91782a.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/25.3f647187.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/20.a985f65f.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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,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==">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 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>
    34 34   Theme by
    skipped 8 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/24.cc88ae1a.js" defer></script>
     46 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/25.3f647187.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.2f32befe.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/19.cd91782a.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8269042d.js"><link rel="prefetch" href="/assets/js/13.58c46386.js"><link rel="prefetch" href="/assets/js/14.8b11eab1.js"><link rel="prefetch" href="/assets/js/15.627060e0.js"><link rel="prefetch" href="/assets/js/16.010d23f9.js"><link rel="prefetch" href="/assets/js/17.d1507e61.js"><link rel="prefetch" href="/assets/js/18.e4c9a38b.js"><link rel="prefetch" href="/assets/js/20.bf4a69e1.js"><link rel="prefetch" href="/assets/js/21.13853a71.js"><link rel="prefetch" href="/assets/js/22.66321b29.js"><link rel="prefetch" href="/assets/js/23.106bc93e.js"><link rel="prefetch" href="/assets/js/24.cc88ae1a.js"><link rel="prefetch" href="/assets/js/3.0d551a99.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.da1484d8.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.fdb1c873.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.7e1c872c.js" as="script"><link rel="preload" href="/assets/js/2.1d6ed513.js" as="script"><link rel="preload" href="/assets/js/20.a985f65f.js" as="script"><link rel="prefetch" href="/assets/js/10.70dc4e3c.js"><link rel="prefetch" href="/assets/js/11.c586e00f.js"><link rel="prefetch" href="/assets/js/12.8448db3c.js"><link rel="prefetch" href="/assets/js/13.a324c75e.js"><link rel="prefetch" href="/assets/js/14.b2258008.js"><link rel="prefetch" href="/assets/js/15.372de5f3.js"><link rel="prefetch" href="/assets/js/16.1706351f.js"><link rel="prefetch" href="/assets/js/17.bbfc83cb.js"><link rel="prefetch" href="/assets/js/18.7c1b416c.js"><link rel="prefetch" href="/assets/js/19.ae15628e.js"><link rel="prefetch" href="/assets/js/21.4e0aead8.js"><link rel="prefetch" href="/assets/js/22.a735c3ef.js"><link rel="prefetch" href="/assets/js/23.b4554616.js"><link rel="prefetch" href="/assets/js/24.33393cf0.js"><link rel="prefetch" href="/assets/js/25.3f647187.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.5e397e73.js"><link rel="prefetch" href="/assets/js/7.7a09b383.js"><link rel="prefetch" href="/assets/js/8.9e2d09c9.js"><link rel="prefetch" href="/assets/js/9.0884394f.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,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="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>→
     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,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="前言-为什么要写月海这个工具-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 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>
    33 33   Theme by
    34 34   <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a>
    skipped 7 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.2f32befe.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/19.cd91782a.js" defer></script>
     45 + <script src="/assets/js/app.7e1c872c.js" defer></script><script src="/assets/js/2.1d6ed513.js" defer></script><script src="/assets/js/20.a985f65f.js" defer></script>
    46 46   </body>
    47 47  </html>
    48 48   
Please wait...
Page is in error, reload to recover