前言 Link to heading
相信大家都知道在中美貿易戰背景下,美國的AI/LLM相關服務不對中國及香港用戶開放。
現時香港人若想訂閱外國AI服務,就要先解決以下問題:
- 支付方式
- 外國電話號碼
- 地域IP封鎖
就我理解,以上問題的對應主流解決辦法是:
- 在淘寶或其他網店付費代充值
- 使用 sms-activate或類似服務接收手機驗證碼
- 使用付費VPN繞過地域封鎖
(1)及(2)雖簡單直接,但我個人不喜歡使用這種第三方服務,畢竟控制權並非完全在自己手中。於是我花了點時間研究其他解決方案,前前後後搞了一個月,總算完成了。
本文將記錄我整個申請過程。不過請注意,即使你完全按著以下步驟做,我也不能保證你能順利申請成功。
此外,我還會講講如何用OpenWrt路由器讓你家中往ChatGPT等網站的流量自動走VPN。
支付方法 Link to heading
想繞過地域限制,當然要有一個外地的支付方式。我選擇在英國匯豐銀行開戶口,原因如下:
- 申請英國匯豐戶口沒有資產要求
- 無需外國地址證明
- 申請過程免費
除英國匯豐外,我聽說Wise和Revolut都是香港人可申請的支付方式,但我沒深入研究過,按下不表。
申請流程 Link to heading
以下假設你已有香港匯豐銀行戶口,並已開通網上銀行服務。
如果沒有,雖然好像還是可以直接申請英國匯豐銀行戶口,但流程應該不一樣,本文亦不作說明。
先往此網站,並回答問題:
您是否持有滙豐戶口?
:是您現時所在地是?
:香港特別行政區您想在哪裡開立海外戶口?
:英國您是否將於7日內前往目的地?
:否
再按繼續,然後應出現登入申請開戶
按鈕,按下即可前往申請頁面。
在申請頁面登入,然後按指示填寫個人資料,然後提交申請。
提交申請一日後,我就收到來自英國匯豐的電郵,內含我的英國戶口編號及銀行地址。不久後亦有匯豐銀行職員致電,用粵語向我解釋英國戶口的使用方式、條款等,亦要設定手機銀行登入密碼、安保問題等資料。(全程不需講英文!)
再等約兩星期,我就收到來自英國匯豐的信件,內有一張VISA扣帳卡。用這張扣帳卡就可以訂閱美國的AI/LLM服務了。
以下是一條申請英國匯豐戶口的教學影片,可作參考:
轉帳去英國匯豐戶口方法 Link to heading
我選擇用Interactive Broker(下稱IB)轉帳去英國匯豐戶口。
IB的外匯匯率接近市價,此外還可以每月免費出金一次。
如要從IB轉出英鎊至英國匯豐,要先做簽名認證。IB提供四種方法,其中最簡單的是攜帶香港身份證親身上IB辦公室辦理。我去了他們觀塘的辦公室,只花了約十分鐘就辦理完成。辦理後兩天我就可以出金至英國匯豐戶口了。
不過要注意的是IB本質是證劵商,如只用來做大額外幣兌換而不買賣股票的話,有可能會被IB封禁(網上討論區不難找到案例)。我自己本來就有用IB買賣股票,而且兌換英鎊的金額只佔我戶口總值的一小部分,所以才沒問題。
如果你沒有IB戶口的話,可以選擇直接用香港匯豐戶口網上轉帳:匯豐會在轉帳前自動將你的港幣兌換成英鎊。(當然匯率會比IB差一點)
外國手機號碼 Link to heading
我選擇英國Giffgaff電話卡。Giffgaff提供全球免費寄送SIM卡服務,而且養卡號簡單(就我理解每半年發一次短訊即可)。
你可以到Giffgaff 官網免費申請一張SIM卡。我申請過兩次,第一次申請後三星期都沒收到SIM卡,第二次申請後約兩星期才收到。
另外一個做法是去二手買賣平台(如Carousell):有不少人願意免費寄送Giffgaff SIM卡(因為有回贈),你只需支付郵費即可於幾日內獲取SIM卡。我個人建議用這方法,因為比官方寄送快非常多。
獲得SIM卡後,你需要在Giffgaff官網激活它,然後不選擇任何月費計劃,選擇Pay as you go,然後增值(我用香港的VISA信用卡)。這樣你就可以用這個號碼接收手機驗證碼了。
訂閱AI/LLM服務 Link to heading
最後就是前往OpenAI/Claude網頁訂閱AI服務了。我用以上支付方法及電話號碼成功討閱OpenAI和Anthropic的Pro計劃,同時也能增值它們的API。
付費時的注意事項:
- 你要全程啟動VPN
- 要輸入正確的地址和郵政編碼(提示:去相應國家的地產中介網頁 找找看)
我測試過可以用非英國的VPN和地址。用英國地址的話要另外交VAT(即增值稅),建議用美國地址。
以下附上我訂閱證明:
OpenWrt Link to heading
我自己有用OpenWrt軟路由:OpenWrt支持Policy-based Routing(下稱PBR),即根據條件決定流量走向(例如特定域名走VPN)。
透過PBR,我可以令我家中全部往ChatGPT的流量都走VPN,無需在手機/電腦特意安裝VPN程式,十分方便。
以下我將講講設定方法。
前置條件 Link to heading
你要有一部OpenWrt路由器
先查找你家中路由器的型號,可能OpenWrt已經支持你的路由器,如支持就不需額外再買路由器。
(請於這個表格中搜索)
如要買新路由器,我推薦去淘寶買GL-iNET GL-MT6000(約700人民幣),它是現時OpenWrt社群最推薦的路由器型號之一:有四核CPU和1GB RAM,有2.5Gbps網口及Wifi 6,而且安裝OpenWrt步驟很簡單,非常適合新手。
你亦可以選擇買一部軟路由小電腦(例如淘寶上的N100小主機)安裝OpenWrt,再將現有的路由器設置為AP模式(或稱無線存取點模式)。軟路由機的性能通常較強,非常適合想深入研究OpenWrt的玩家。
你要訂閱一個支持Wireguard的VPN
就我所知,Mullvad VPN、AirVPN、ProtonVPN、Surfshark及NordVPN都支持Wireguard。
用Wireguard是因為它非常快(比OpenVPN快三倍有多!),而且PBR支持使用Wireguard。
你的電腦要有SSH客戶端
如使用Windows 10或11,可以用Windows內置SSH客戶端(安裝方法),然後在Powershell內使用;
又或可以用PuTTY,請自行研究使用方法。
下載Wireguard設定檔 Link to heading
前往AirVPN網站,註冊一個帳戶,然後付款訂閱。
訂閱後,前往Devices頁面按Add a new Device
,然後替它改名(例如叫OpenWrt
):
Choose your OS
:RouterChoose protocols
:WireguardChoose your device/connection
:你上一步創造的Device名Choose servers
:個人建議下方找By countries
分類,然後選一個較近香港的國家(如日本/台灣/新加坡),以下用日本做例子- 最後於頁面最下方按
Generate
以下載Wireguard設定檔
安裝OpenWrt Link to heading
先安裝OpenWrt:不同型號路由器的安裝方法可能不同,請自己研究。
(可以在OpenWrt維基及論壇找安裝方法,例如GL-iNET GL-MT6000的頁面就有詳細步驟)
安裝後,找一部電腦用網線連接路由器,前往192.168.1.1進入OpenWrt介面:
個人建議你先往Network -> Wireless
設定Wifi(官方教學)。
部分路由器(如GL-MT6000)支持Hardware flow offloading,啟動後可減少CPU負荷:前往Network -> Firewall
按Software flow offloading
,然後按Hardware flow offloading
以啟動之。
安裝相關插件 Link to heading
於電腦執行SSH進入OpenWrt:
ssh root@192.168.1.1
然後執行以下指令:
# 安裝PBR及Wireguard
opkg update
opkg install luci-app-pbr luci-proto-wireguard resolveip ip-full
# 可選:安裝繁中翻譯,安裝後於System -> System -> Language and Style更改語言
opkg install luci-i18n-base-zh-tw
# 將dnsmasq替換為dnsmasq-full
# https://docs.openwrt.melmac.net/pbr/#Howtoinstalldnsmasq-full
opkg install libnettle8 libnetfilter-conntrack3
cd /tmp/ && opkg download dnsmasq-full
opkg remove dnsmasq
opkg install dnsmasq-full --cache /tmp/
rm -f /tmp/dnsmasq-full*.ipk
# 重啟OpenWrt
reboot
設定Wireguard Link to heading
重啟後,再次前往192.168.1.1,進入Network -> Interfaces
:
- 於頁面左下方按
Add new interface...
Name
填任意值(如pbr_airvpn
),Protocol
選Wireguard VPN
,再按Create interface
- 於設定頁面最下方按
Load configuration...
,然後將先前下載的Wireguard設定檔內容複制貼上,再按Import settings
- 如你用AirVPN,將
Advanced Settings
中的MTU
值改成Wireguard設定檔內的MTU
值(我的是1320) - 按
Save
,然後按Save & Apply
然後進入Network -> Firewall
:
- 左下角按
Add
Name
填任意值(如pbr
),Input
及Forward
設為reject
,Output
設為accept
Covered networks
加入你剛創造的Wireguard介面- 勾選
Masquerading
Allow forward from source zones:
加入lan
- 按
Save
,然後按Save & Apply
設定PBR Link to heading
進入Services -> Policy Routing
:
Use resolver set support for domains
設定為Dnsmasq nft set
- 於
Policies
左下方按Add
Name
填任意值(如AI
),然後Remote addresses / domains
填以下:
anthropic.com claude.ai claudeusercontent.com servd-anthropic-website.b-cdn.net ai.com chatgpt.com chat.com oaistatic.com oaiusercontent.com openai.com openai.com.cdn.cloudflare.net openaiapi-site.azureedge.net openaicom-api-bdcpf8c6d2e9atf6.z01.azurefd.net openaicomproductionae4b.blob.core.windows.net production-openaicom-storage.azureedge.net sora.com
Interface
選擇你的Wireguard介面- 按
Save
,然後按Save & Apply
- 在頁面上方
Service Control
按Enable
以設定為開機啟動,再按Start
以啟動PBR
使用Dnsmasq nft set
時(需要dnsmasq-full
才能使用),PBR能夠將所有前往指定域名及其所有子域名的流量都走VPN。
例如在Remote addresses / domains
加入openai.com
時,所有前往openai.com
及其所有子域名(如api.openai.com
及platform.openai.com
)的流量都會走VPN。
就我理解,pfSense/OPNsense這兩個防火牆系統不能做到覆蓋所有子域名,必須盡可能將所有子域名紀錄下來,非常麻煩;OpenWrt的PBR就方便得多了。
另外,上方的域名清單是從v2ray的Github抓來的:v2fly: domain-list-community。如將來OpenAI/Anthropic有了新的域名,你只需將它手動加入PBR的域名清單,然後重啟PBR服務即可。
測試 Link to heading
開啟瀏覽器並前往chatgpt.com,如看到ChatGPT界面,則大功告成!
如果還是看到封鎖頁面,請先清除電腦的DNS緩存(這是PBR已知問題)。
Windows用家可開啟Powershell並執行以下指令:
ipconfig /flushdns
請自行查找其他OS的清除電腦DNS緩存方法(通常重啟就可以了)。
清除DNS緩存後就可正常使用ChatGPT了。