2021/06/06

[Miscellaneous] 把SSH Server當作VPN Server來使用,切換Netflix的地區

如果想透過Netflix追劇,可是在北美地區,想看的影集卻沒有中文字幕,該怎麼辦?有幾個可能的方式:

  1. 透過VPN,讓IP轉到臺灣,優點是簡單,可是缺點是可能會花錢。不想花錢的話,也可以使用SetupVPN,可是擔心自己的流量被監控的話,這個方法可能會有疑慮
  2. 自己架VPN Server,優點是保有隱私,可是缺點是設定過程麻煩,像是用OpenVPN之類的
  3. [此篇] 透過SSH Tunnel,把所有的網路連線流量都透過SSH的Server做連線,優點是保有隱私且設定簡單,只要在遠端機器上安裝OpenSSH(可參考這篇)即可
設定要求:
  1. 一台遠端電腦in臺灣,且有SSH Server (with Public IP address)
  2. MacOS

連線圖:
Local Machine <-> Local Proxy <-SSH-> SSH Server

首先,用Terminal輸入

$ ssh -f -N -M -S /tmp/sshtunnel -D 1080 USER@server.domain.com -p22

其中,USER和server.domain.com是SSH Server的帳號及IP位址,1080則是MacOS用來做localhost的proxy的port。

接著,打開System Preferences --> Network,選擇網路介面後,選Advanced:


然後,把SOCKS Proxy的選項打勾,且Server的位置可以是localhost或者127.0.0.1,Port必須是與剛剛的1080一樣:
最後OK -> Apply,就完成了。

測試一下可以發現Netflix已經是在臺灣地區

然後字幕選擇上,有繁體中文的選項:

當然這樣做也不是沒有缺點,網路的頻寬明顯下降了,用SpeedTest測試:

關掉的方式很簡單,只要把剛剛SOCKS Proxy的選項反勾,然後在Terminal輸入:
$ ssh -S /tmp/sshtunnel -O exit server.domain.com -p22


這樣就完成了,也可以看到本來的網路頻寬。


此篇主要在驗證且分享,在不透過VPN的方式之下,是可以透過更簡單的SSH連線,來達到把所有網路流量,透過遠端的機器做連線,如有違反Netflix的權益請告知。

參考 
Browsing the Internet Through an SSH Tunnel on MacOS
GCP Securely connecting to VM instances

沒有留言:

張貼留言