快轉到主要內容

透過Surf瀏覽器讓老iPhone正常打開網頁,Puffin Browser替代品

· 民國115年丙午年
·
切換正體/简体 ·
分類 智慧型手機 iOS玩機與越獄
標籤 IOS Google Chrome
目錄

Safari無法打開網頁?你的瀏覽器太舊網頁顯示不支援?

相信這是很多使用老iPhone用戶會遇到的問題。尤其iOS 17以前,所有瀏覽器核心強制使用WebKit,且跟著iOS版本跑。如果被放生,就無法更新瀏覽器核心了。現在最新版的Chrome和Firefox都要iOS 16以上版本才能安裝了呢,那麼舊版裝置怎麼辦呢。慢慢的,網站會嫌你太舊不支援。

又,iOS跟Android不一樣,瀏覽器無法獨立系統更新,所以iOS不更新,上網能力也就GG了。iPhone無法像Android機一樣刷機強制升級系統,使用最新版瀏覽器。

於是,就有了Surf。這是開發者seg6為了解決他iPad Mini 1的Safari太舊,無法打開大多數網站的問題,製作了Surf這個開源App。最舊支援到iOS 6。

原理是,在越獄的iOS裝置安裝假瀏覽器App,然後在另外一臺電腦跑真正的瀏覽器,再用App串流遠端瀏覽器網頁的內容,瀏覽記錄保存在本機,還可以播放影片呢。

例如,我測試在iPhone 4S用Safari開啟Google搜尋,是根本不給載入。

換成Surf之後,影片都能播了!由於運算都交由遠端電腦承載,手機只負責串流,因此看任何網頁都不會有太大負載。

如果我們將Surf部署到VPS,或者用Tailscale遠端存取,就能自己實現一個雲端瀏覽器了。

1. Surf以外的方案比較
#

首先是,類似Surf的「雲端瀏覽器」其實已經有人做了。注意不是遠端桌面,這裡App要做的,僅是串流瀏覽器的內容。

看到Surf的架構,我想了一下…這不就是Puffin Browser的做法嗎!原來Puffin Browser佈局這麼久就是爲了這個目的,更好的覆蓋老裝置的支援度啊。Puffin Browser本質上是在伺服器遠端載入網頁然後回傳,因此幾乎可以無視客戶端的瀏覽器條件。他們連Flash都在雲端串流,所以幾乎不受客戶端影響。

不過Puffin爲了防止濫用,現在變成付費軟體了呢。

Puffin公司幾年前還因爲突然收費,員工在Play商店怒嗆網友導致評價一落千丈。

類似Puffin Browser的還有Opera Mini,但是有廣告啊。

而且,Puffin Browser需要iOS 8,而這個Surf最低支援到iOS 6。

雲端瀏覽器的Docker方案,我看到有Web Rendering Proxy,它在任何古老電腦瀏覽器都能用。可是唯獨沒有針對手機優化,而且它是傳送靜態圖片而非串流,嗯,性能很糟糕。

另外一個方案,是針對舊版iOS移植原生的瀏覽器,例如Reynard Browser。可是我們能期望有人能把Reynard Browser給backport到iOS 9以下嗎?Firefox要在32位元arm-v7的裝置運作,很難耶。

這樣看來,Surf是不錯的折衷解決方案。雖然Surf畫面是串流的,導致有點模糊但是還算堪用啦。如果舊iPhone螢幕太小,就看作者要不要加入自訂User Agent功能吧。

2. 安裝Surf伺服端
#

Surf伺服端支援Linux、Windows、macOS。目前還沒有Docker版但可以用指令啟動。

  1. 確認電腦有安裝瀏覽器,Surf偏好以Google Chrome開啟,會以headless執行

  2. Github下載Surf伺服端,例如Linux就下載AppImage版本

  3. 點兩下啟動,按一下工作列的圖示,開啟網頁界面

  4. 你可能要事先開放防火牆:

sudo ufw allow 18080

sudo ufw reload

3. 安裝Surf iOS客戶端
#

  1. 需要越獄才能安裝。最低需要iOS 6.0以上版本。

  2. 開啟Cyida,新增作者的套件庫:https://seg6.space/surf/

  3. 搜尋Surf (作者:seg6),安裝。

  4. 讓iPhone和電腦位於同一個Wifi網路。傳輸過程會經過TLS加密。

  5. 在Surf伺服端,點選Pair,開始配對

  6. 開啟Surf客戶端,應該會顯示區域網路的Surf伺服端,點選,輸入配對碼,連線。

參考資料
#

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。