[免VPN] 解決香港用 Claude code/OpenAI 等問題

用vpn可解決,不過用了vpn上網會被誤判了其他地區,有時又會帶來麻煩, 以下這做法適合有vps/server又不用為了這些服務而租用VPN服務的人

一開始想到,既然 macOS 那就用Pac配置 發現 claude.ai 成功上到,但 OpenAI 的又因為有其他原因上不了

本文只適合以下人士

  1. 有vps/server (香港以外)
  2. masOS 流程Windows請自行找對應軟件

SERVER端設定

步驟 1:安裝 Dante SOCKS5 伺服器軟體

apt install -y dante-server

步驟 2:備份原始設定檔

cp /etc/danted.conf /etc/danted.conf.backup

步驟 3 : 檢查 eth

執行以下指令,它會自動找出您伺服器預設用來上網的網路介面卡名稱(例如 eth0ens3)。

ip route | grep default | awk '{print $5}' | head -n1

執行後,您會看到一個類似 eth0 的輸出,請記下這個名稱。

步驟 4 : 編輯設定檔

rm -rf /etc/danted.conf // 因為上面已備份了
vi /etc/danted.conf

步驟 5 : 編輯設定檔

YOUR_INTERFACE 手動換成您在步驟 3 中記下的網路介面名稱。

YOUR_IP更換為你用的IP

# 修改後的 Dante SOCKS5 代理配置
# (Modified Dante SOCKS5 Proxy Configuration)

logoutput: syslog

# 運行用戶 (Run as user)
user.privileged: root
user.unprivileged: nobody

# 監聽接口和端口 (Listen on interface and port)
internal: 0.0.0.0 port=1080

# 建議註解掉 external 這一行,讓作業系統的路由表自動決定出口網卡
# 這通常更穩定,特別是當網卡名稱可能變動時
# (It is recommended to comment out the '''external''' line to let the OS routing table decide the exit interface. This is often more stable.)
external: YOUR_INTERFACE

# 為了讓 macOS/Windows 的 PAC 檔案能正常工作,我們必須註解掉密碼驗證
# (To allow PAC files on macOS/Windows to work, we must comment out password authentication)
# socksmethod: username

# 客戶端規則 (Client rules)
# 這是最重要的安全設定!
# 將 YOUR_IP_HERE 替換成您在香港上網的公網 IP 位址
# (This is the most important security setting! Replace YOUR_IP_HERE with your public IP address from Hong Kong)
client pass {
    from: YOUR_IP/32 to: 0.0.0.0/0
    log: connect disconnect error
}

# SOCKS 規則 (SOCKS rules)
# 允許已通過驗證的客戶端訪問任何目標地址
# (Allow authenticated clients to access any destination)
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    protocol: tcp udp
    log: connect disconnect error
}

如果你有好幾個ip想用,那麼這樣設定吧

# 1. 允許來自家裡 IP 的連線
client pass {
    from: 8.8.8.8/32 to: 0.0.0.0/0
    log: connect disconnect error
}

# 2. 允許來自公司 IP 的連線
client pass {
    from: 1.1.1.1/32 to: 0.0.0.0/0
    log: connect disconnect error
}

步驟 6:啟動服務並設定開機自啟

設定開機時自動啟動 Dante 服務

systemctl enable danted

立刻啟動 Dante 服務

systemctl start danted

執行以下指令來確認服務是否成功啟動。

systemctl status danted

如果您看到 active (running) 的字眼,代表服務已經成功啟動。如果沒有,請檢查前面的步驟是否有誤,特別是設定檔 /etc/danted.conf的內容。您可以按 q 退出狀態查看。

步驟 7:設定防火牆

為了讓外部裝置可以連線到您的代理伺服器,需要開放 1080 這個端口。

視乎你不同平台的打開方法

可參考一下: 如果您的系統有 ufw (較常見):

ufw allow 1080/tcp
ufw reload  # 重新載入規則使其生效

如果您的系統有 firewall-cmd:

firewall-cmd --permanent --add-port=1080/tcp
firewall-cmd --reload   # 重新載入規則使其生效

MacOS設定

本次選擇了:https://github.com/clash-verge-rev/clash-verge-rev

其實其他知名的比如 ClashX 也可以,不過需要用TUN 模式才能在 Command Line用到代理網絡,那麼就想考慮用ClashX Pro,不過不知為何試了很多次ClashX Pro都有閃退,其他的又不支持TUN所以選擇了Clash Verge

給你們參考 Config.yaml 將YOUR_SERVER_IP 改為你的server ip就可以

#---------------------------------------------------#
## 配置文件需要放置在 $HOME/.config/clash/*.yaml
#---------------------------------------------------#

mixed-port: 7890
external-controller: 127.0.0.1:9090
allow-lan: false
mode: rule
log-level: warning

proxies:
  - name: "My VPS"
    type: socks5
    server: YOUR_SERVER_IP
    port: 1080
    udp: true

proxy-groups:
  - name: "AI_PROXY"
    type: select
    proxies:
      - "My VPS"
      - DIRECT

rules:
  # --- 更完整的 AI 服務規則 ---
  # OpenAI
  - DOMAIN-SUFFIX,openai.com,AI_PROXY
  - DOMAIN-SUFFIX,oaiusercontent.com,AI_PROXY
  - DOMAIN-SUFFIX,oaistatic.com,AI_PROXY
  - DOMAIN-SUFFIX,chatgpt.com,AI_PROXY
  # Anthropic (Claude)
  - DOMAIN-SUFFIX,claude.ai,AI_PROXY
  - DOMAIN-SUFFIX,anthropic.com,AI_PROXY # 這一條是為 claude code 工具準備的
  # Google AI
  - DOMAIN-SUFFIX,gemini.google.com,AI_PROXY
  - DOMAIN-SUFFIX,aistudio.google.com,AI_PROXY
  # 其他可能洩漏 IP 的支援網域
  - DOMAIN-SUFFIX,sentry.io,AI_PROXY
  - DOMAIN-SUFFIX,intercom.io,AI_PROXY

  # --- 您原有的規則 ---
  - DOMAIN-SUFFIX,google.com,DIRECT
  - DOMAIN-KEYWORD,google,DIRECT
  - DOMAIN,google.com,DIRECT
  - DOMAIN-SUFFIX,ad.com,REJECT
  - GEOIP,CN,DIRECT
  - MATCH,DIRECT

界面我猜會有可能更新,我就不分享了,流程就是匯入,把上面的內容保存為類似config.yaml 或你喜歡的名字,然後在軟件中找訂閱->新增->匯入本地文件 就ok了,不過前題要先更換好你SERVER IP

最後提提你,在模式中要選定規則模式

直線模式 : 我不知這模式意義是什麼就是直接,不就像關了一樣?

規則模式:按規則判斷有什麼是直接有什麼是用代理

全局模式:所有流量都是用代理的

千萬不要選到第3個全局,因為這樣的話你看Youtube或者下載大型文件都會經過你的vps/server,流量或負債也會大增,這就不知我們原意了,或者起碼不是我本人的原意了,你們也可按自己需要選擇

因為我一開始只是想不用VPN的情況下使用 claude code