用vpn可解決,不過用了vpn上網會被誤判了其他地區,有時又會帶來麻煩, 以下這做法適合有vps/server又不用為了這些服務而租用VPN服務的人
一開始想到,既然 macOS
那就用Pac配置 發現 claude.ai 成功上到,但 OpenAI
的又因為有其他原因上不了
本文只適合以下人士
- 有vps/server (香港以外)
- masOS 流程Windows請自行找對應軟件
SERVER端設定
步驟 1:安裝 Dante SOCKS5 伺服器軟體
apt install -y dante-server
步驟 2:備份原始設定檔
cp /etc/danted.conf /etc/danted.conf.backup
步驟 3 : 檢查 eth
執行以下指令,它會自動找出您伺服器預設用來上網的網路介面卡名稱(例如 eth0
或 ens3
)。
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