$:
vscode:
- docker:
image: docker.cnb.cool/acidbunny/eo-pages-on-cnb/edgeone-cli
services:
- vscode
- docker
stages:
- name: edgeone version
script: edgeone -v
Edgeone CLI 采用 Oauth 登录,且会检测浏览器IP与命令行IP是否一致,因此需要在你的本地执行以下操作。
在本地建立一个SOCKS5代理,让你能安全地通过远程服务器上网。它特别适合让浏览器等支持SOCKS代理的应用程序使用。
简单来说,流程是这样的:
远程服务器(拥有外网访问能力)<---SSH加密隧道--->你的电脑(本地SOCKS5代理,监听1080端口)<---浏览器等客户端软件
操作步骤:
建立SSH隧道:在你的本地终端(Linux/macOS)或PowerShell(Windows)中执行以下命令:
ssh -C -N -D 1080 用户名@远程服务器地址
-D 1080: 在本地1080端口上创建一个SOCKS代理(可按需更换端口号)。-C: 对传输数据进行压缩,可以提高响应速度。-N: 告诉SSH客户端,我们只做端口转发,不登录远程Shell。-D 1080 进行调试,以便直观地看到SSH的调试信息。保持隧道稳定:网络不稳定时,SSH连接可能会断开。建议使用 autossh 工具来自动重连。你可以这样使用它:
autossh -M 2000 -N -f -D 1080 用户名@远程服务器地址
autossh 会自动监测连接状态并在断开后尝试重连。配置应用程序:
# Linux / macOS 终端
google-chrome --proxy-server="socks5://127.0.0.1:1080"
# Windows 命令行或快捷方式目标
chrome.exe --proxy-server="socks5://127.0.0.1:1080"
参数说明:
--proxy-server="socks5://127.0.0.1:1080":强制 Chrome 使用本地 1080 端口的 SOCKS5 代理。--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost" 等规则,但通常直接用上述参数即可将所有浏览流量转发。注意:
使用启动参数时,请先关闭所有已打开的 Chrome 窗口(包括后台进程),否则新窗口会复用原有会话,参数可能不生效。
看到警告别着急,-R 用错了地方是根本原因。你真正需要的是 SSH 本地端口转发,只需把命令里的 -R 换成 -L 即可。
在你的本地电脑上执行这条命令:
ssh -L 1024:127.0.0.1:1024 cnb-***@cnb.space
-L 1024:127.0.0.1:1024:这是本地端口转发的核心指令。它的作用是,把你本地电脑的 1024 端口(用户浏览器访问的)和远程服务器的 127.0.0.1:1024 端口(EdgeOne CLI 回调服务)绑定在一起,两地通信都通过 SSH 加密隧道传输。执行后,确保终端光标闪烁或停留在等待状态(像>或$符号),这表示隧道保持畅通,不要关闭它。
在 远程服务器 上执行登录:
edgeone login
执行后,EdgeOne CLI 会在远程服务器上启动一个 OAuth 服务,并监听在 127.0.0.1:1024。
在 本地浏览器 中完成授权:
直接在本地电脑的浏览器中访问 http://localhost:1024。
访问请求经过 SSH 隧道转发到服务器,授权完成后你就可以关掉终端的 ssh -L... 命令窗口了。
前往 个人设置-云原生开发 设置漫游目录
~/.edgeone/