| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #!/bin/bash
- # 本地网络代理端口(如果有的话)
- LOCAL_PROXY_PORT=7890
- REMOTE_FORWARD_PORT=7280
- REMOTE_HOST="10.192.72.11"
- REMOTE_USER="ubuntu"
- echo "Setting up GitHub Copilot connectivity for remote development..."
- # 1. 检查本地代理是否可用
- if curl -s --proxy http://localhost:$LOCAL_PROXY_PORT --connect-timeout 5 http://www.google.com > /dev/null; then
- echo "✓ Local proxy detected on port $LOCAL_PROXY_PORT"
- PROXY_TARGET="localhost:$LOCAL_PROXY_PORT"
- else
- echo "ℹ No local proxy detected, using direct connection"
- PROXY_TARGET="0.0.0.0:80"
- fi
- # 2. 建立 SSH 连接with端口转发, 启动 SSH 连接with双向端口转发
- echo "🔗 Establishing SSH connection with port forwarding..."
- echo " Local :8082 -> Remote :8101 (vLLM service)"
- echo " Remote:$REMOTE_FORWARD_PORT -> Local :$LOCAL_PROXY_PORT (GitHub Copilot)"
- ssh -o "ExitOnForwardFailure=yes" \
- -o "ServerAliveInterval=60" \
- -o "ServerAliveCountMax=3" \
- -L 8111:localhost:8101 \
- -R $REMOTE_FORWARD_PORT:$PROXY_TARGET \
- $REMOTE_USER@$REMOTE_HOST \
- "
- # 在远程服务器上执行的命令
- echo 'Configuring remote environment...'
-
- # 设置代理环境变量
- export http_proxy=http://localhost:$REMOTE_FORWARD_PORT
- export https_proxy=http://localhost:$REMOTE_FORWARD_PORT
- export HTTP_PROXY=http://localhost:$REMOTE_FORWARD_PORT
- export HTTPS_PROXY=http://localhost:$REMOTE_FORWARD_PORT
-
- # 更新 VSCode 服务器配置
- # mkdir -p ~/.vscode-server/data/Machine
- # cat > ~/.vscode-server/data/Machine/settings.json << EOF
- # {
- # \"http.proxy\": \"http://localhost:$REMOTE_FORWARD_PORT\",
- # \"http.proxySupport\": \"on\",
- # \"http.proxyAuthorization\": null,
- # \"github.copilot.enable\": {
- # \"*\": true,
- # \"yaml\": true,
- # \"plaintext\": true,
- # \"markdown\": true
- # },
- # \"github.copilot.advanced\": {
- # \"debug.overrideEngine\": \"codex\",
- # \"debug.useNodeFetcher\": true
- # }
- # }
- # EOF
-
- # 测试网络连接
- echo 'Testing internet connectivity...'
- if curl -s --proxy http://localhost:$REMOTE_FORWARD_PORT --connect-timeout 10 https://api.github.com > /dev/null; then
- echo '✓ GitHub API accessible'
- else
- echo '✗ GitHub API not accessible'
- fi
-
- echo 'Setup complete! You can now use GitHub Copilot in VSCode.'
- echo 'Keep this SSH session alive for Copilot to work.'
-
- # 保持会话活跃
- exec bash
- "
|