快轉到主要內容

iOS安裝第三方APP,Linux版AltStore + AltServer使用教學

智慧型手機 iOS越獄與玩機 AltStore Linux iOS
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

本文為Linux版AltStore安裝教學,Windows和macOS版的教學請看 這裡

AltStore是一款開源第三方應用程式商店,允許您在iPhone/iPad安裝未經Apple審核的第三方APP,免越獄。

本文Ivon將介紹純文字指令的AltServer用法,方便查看錯誤訊息。如果想無腦一點的,請採用文末列出的圖形版本。

1. AltStore簡介
#

AltStore由Riley Testut等人開發,支援iOS 12以上的iPhone/iPad/iPod touch裝置。

AltStore原理是利用自己的Apple ID開通開發者帳號,給APP簽名從而在iOS裝置安裝任意IPA。一部裝置最多安裝3個APP,7天後需要重簽(resign)。

AltStore本體是個 iOS APP,要安裝AltStore的話需要在電腦跑AltServer,負責安裝AltStore與重簽APP之用。

目前官方版的AltServer僅提供Windows和macOS版本,Linux版的AltServer為NyaMisty開發,跟官方版有點不太一樣。最大的不同在於Linux版AltStore是「on-device」的,且Linux版實作了類似Windows Sideloadly的功能,可以從電腦直接安裝IPA到iOS裝置。

Linux版的AltStore同時可以用來重簽以Windows版AltServer安裝的AltStore,不過從其他電腦安裝的AltStore APP可能會在列表遺失,導致得整個重裝APP。這就是「on-device」的壞處。

2. 安裝AltServer和安裝AltStore
#

首先安裝以下套件:

# Ubuntu / Debian
sudo apt-get install usbmuxd libimobiledevice6 libimobiledevice-utils wget curl libavahi-compat-libdnssd-dev

# Arch Linux / Manjaro
sudo pacman -S usbmuxd libimobiledevice avahi bind

套件說明:

  • usbmuxd:用於處理Apple裝置的USB通訊。
  • libimobiledevice:用於處理Apple裝置的USB通訊。
  • avahi:零配置網路解決方案。
  • netmuxd:用於處理Apple裝置的無線通訊。

因為以上套件已擔負了與iOS裝置通訊的功能,所以我們不需要用到iTunes。


  1. 啟動Avahi和usbmuxd服務,重開機
sudo systemctl enable --now avahi-daemon
sudo systemctl enable --now usbmuxd
  1. 建立AltServer工作目錄:
mkdir altserver
cd altserver
  1. Github下載x86_64版本的AltServer:
curl -L https://github.com/NyaMisty/AltServer-Linux/releases/download/v0.0.5/AltServer-x86_64 > AltServer
chmod +x AltServer
  1. 從AltStore官網下載AltStore的IPA,目前是1.7版。要下載新版請自行參照 Release Notes改網址。
curl -L https://cdn.altstore.io/file/altstore/apps/altstore/1_7.ipa > AltStore.ipa
  1. Github下載netmuxd執行檔:
curl -L https://github.com/jkcoxson/netmuxd/releases/download/v0.1.4/x86_64-linux-netmuxd > netmuxd
chmod +x netmuxd
  1. 將iOS裝置插上電腦,進行配對,在iOS裝置上點選「信任此電腦」。
idevicepair pair
  1. 取得iOS裝置的UUID:
idevice_id -l
  1. 安裝AltStore到iOS裝置。在iOS裝置取得二步驟登入密碼,在電腦上輸入。
./AltServer --udid "iOS裝置的UUID" --appleID "你的Apple ID" --password "Apple ID密碼" AltStore.ipa
  1. 終端機跑完顯示Finished就是安裝成功。

  2. 如果出現錯誤可試著參考下文「自架Anisette伺服器」再重試。有時候Apple會出於安全性而鎖定帳號,依照指示重設密碼即可。

  3. iOS 16以上版本,開啟iOS裝置的系統設定 → 隱私權 → 啟用「開發者模式」,重開機。

  4. 在iOS裝置上開啟設定 → 一般 → VPN與裝置管理,點選「信任AltStore」的開發者。

  5. 之後開啟AltStore APP,點右下角Settings登入Apple ID。

3. AltStore如何安裝IPA
#

  1. 以去廣告的Youtube「uYou+」為例,首先要到 Github下載該APP的IPA檔案,放到AltServer的工作目錄。

  2. iOS裝置連上電腦,配對完成後,執行AltServer安裝IPA:

./AltServer --udid "iOS裝置的UUID" --appleID "你的Apple ID" --password "Apple ID密碼" uYouPlus.ipa
  1. 或者你可以讓iOS裝置連著電腦,並在電腦執行./AltServer,接著在iOS裝置上的AltStore → 按左上角+號選取IPA檔案安裝APP。

4. 自架Anisette伺服器安裝AltStore
#

自架Anisette伺服器能解決大多數的連線錯誤,如果AltServer出現filesystem error: directory iterator cannot open directoryIncorrect Content-Type: must be textual to extract_string, JSON to extract_json錯誤用這個跑就可以解決。

Anisette server同樣是由NyaMisty開發的軟體,按照開發者說法這是類似Windows系統Sideloadly的程式,用於產生Anisette data(Apple軟體產生的隨機資料),繼而登入Apple Developer伺服器。

Anisette伺服器亦可以搭配netmuxd,無線重簽AltStore APP。

  1. Docker跑Anisette伺服器:
docker run -d --rm -p 6969:6969 -it nyamisty/alt_anisette_server
  1. 接著指定本機Anisette伺服器,執行AltServer嘗試安裝AltStore:
ALTSERVER_ANISETTE_SERVER="http://127.0.0.1:6969" ./AltServer --udid "iOS裝置的UUID" --appleID "你的Apple ID" --password "Apple ID密碼" AltStore.ipa

5. AltStore如何重簽APP
#

用AltStore安裝的APP(含AltStore本身)7天後就無法使用,要定期用電腦重簽。

如果AltStore本身開不起來,直接重裝。APP只要不刪除,資料都會保留。

5.1. 有線重簽
#

  1. iOS裝置連到電腦,配對完成後,執行AltServer:
./AltServer
  1. 在iOS裝置上開啟AltStore,點選My Apps → Refresh All開始重簽。

5.2. 無線重簽
#

使用Anisette server配合netmuxd重簽。

  1. 停掉usbmuxd服務
sudo systemctl stop usbmuxd
  1. 啟動netmuxd
./netmuxd
  1. 接著再跑AltServer
./AltServer

(您可能還需要跑一個Anisette server迴避連線問題)

讓電腦與iOS裝置處在同一個Wifi下,開啟AltStore的My Apps,即可無線重簽。


這裡還有一個用樹苺派建立自動重簽伺服器的範例,請參考這篇文章: Setup Altserver Linux on Raspberry Pi with Wifi Refresh - Github gist

作者的方案是在樹莓派跑AltServer,再讓iOS裝置連上PC的iTunes,同步一次之後,樹莓派的Avahi就可以抓到iOS裝置的連線,讓netmuxd配對,從而完成重簽。

延伸閱讀
#

相關文章

iSH Shell: 在iOS上執行Linux終端機指令的APP
智慧型手機 iOS越獄與玩機 iSH Shell iOS Linux Alpine Linux
iOS 12.5.7 checkra1n越獄安裝Sileo,拿iPod touch 6開刀
智慧型手機 iOS越獄與玩機 checkra1n checkm8 iOS iPod touch iOS Tweak
電腦與手機無線互傳檔案:KDE Connect使用教學
智慧型手機 手機APP分享 File Sharing KDE Connect Linux Windows iOS Android

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。