E-hentai View:NextJS撰寫的手機E-hentai瀏覽APP

E-hentai View是用NextJS撰寫的網頁PWA程式,任何手機平台皆可運作的E-hentai Viewer…只要有瀏覽器就行了,這樣即使是Linux手機也能看E-hentai…

網頁效能還是比不上原生APP,不過這是個很有趣的專案,可以嘗試看看。

1. E-hentai View界面預覽

E-hentai View是寫的很簡單的手機前端,操作邏輯跟Ehviewer相似,不過無法下載同人誌。

同人誌預覽也是常見的介面佈局,點標籤可以搜尋類似作品。

閱讀介面支援橫向、直向閱讀。

收藏頁面可以存取自己E-hentai帳號的收藏。

2. 安裝E-hentai View的方法

因為作者有提供Docker image,所以可以部署到自己的伺服器再用手機存取,但下面只講在本機部署的方法。另外如果你的裝置支援docker,那麼可以直接跳2.3.參考Linux手機的作法。

2.1. Android

大部分Android手機都不支援Docker,因此我是用Node JS直接跑開發環境。

  1. 安裝Termux,再安裝NodeJS:
1
2
pkg update
pkg install nodejs-lts git
  1. 複製E-hentai View的儲存庫
1
2
git clone https://github.com/IronKinoko/e-hentai-view.git
cd e-hentai-view
  1. 啟動NodeJS應用程式
1
2
3
4
5
npm install
npm audit fix --force
npm run dev:server
#左邊滑進來開另一個終端機
npm run dev:app
  1. 因為手機Chrome沒有開發人員工具,請改用Kiwi Browser。先開啟E-hentai官網登入,接著再到Exhentai登入帳號。

  2. 在Exhentai的頁面按右上角選項,開啟開發人員工具,開啟「Console」,貼上以下JavaScript腳本,Enter。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
;(function fixChromeExhentaiCookie() {
  if (location.href.indexOf('exhentai.org') === -1) {
    return alert('Please run in Exhentai.org')
  }

  const cookies = document.cookie.split(';').map((cookie) => cookie.trim())

  cookies.forEach((cookie) => {
    document.cookie =
      cookie +
      '; domain=.exhentai.org; path=/; max-age=31536000; secure;SameSite=None;'
  })

  console.info(
    '%c===Success===\nNow press F12 to close this console and go to next step.',
    'background:#f5f5f5;color:green'
  )
})()
  1. 接著會回傳Success

  2. 輸入以下指令按Enter,將會輸出Exhentai的cookie,請將輸出的三行數值複製下來。

1
console.log(document.cookie);
  1. 在網址列輸入http://localhost:3000,開啟E-hentai View。在登入頁面按一下cookie,貼上剛剛取得的三個cookie數值,登入。

  2. 這樣E-hentai View的頁面便啟動完成。使用完畢請記得在通知欄Termux按Exit。

2.2. iOS

iOS理由跟Android相似,都是用終端機跑NodeJS程式。

  1. 安裝iSH,再安裝nodejs
1
apk add nodejs git
  1. 複製儲存庫。
1
2
git clone git clone https://github.com/IronKinoko/e-hentai-view.git
cd e-hentai-view
  1. 啟動NodeJS應用程式
1
2
3
4
5
6
npm install
npm audit fix --force
npm run dev:server
npm run dev:app
# 讓APP在背景執行
cat /dev/location > /dev/null &
  1. Safari先開啟E-hentai官網登入,接著再到Exhentai登入帳號。

  2. 新增書籤,數值輸入javascript:alert(document.cookie),加到桌面,然後點一下就會顯示Exhentai cookie的數值。

  3. 在網址列輸入http://localhost:3000,開啟E-hentai View。在登入頁面按一下cookie,貼上剛剛取得的三個cookie數值,登入。

  4. 這樣iOS的頁面就設定好了。不用的時候直接把iSH App滑掉。

2.3. Linux手機

「真Linux」手機大部分都支援docker,因此這裡就直接使用作者提供的映像檔。

  1. 以postmarketOS為例,先安裝docker:
1
2
3
sudo apk add chromium font-noto cjk git docker
sudo rc-service docker start
sudo rc-update ad docker
  1. 部署作者提供的映像檔。注意此映像檔每次開機後都會自行啟動。
1
docker run -d -p 80:8080 --restart always ironkinoko/e-hentai-view
  1. 開啟Chromium,先開啟E-hentai官網登入,接著再到Exhentai登入帳號。

  2. 按右上角開啟開發人員工具,在Console輸入以下指令:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
;(function fixChromeExhentaiCookie() {
  if (location.href.indexOf('exhentai.org') === -1) {
    return alert('Please run in Exhentai.org')
  }

  const cookies = document.cookie.split(';').map((cookie) => cookie.trim())

  cookies.forEach((cookie) => {
    document.cookie =
      cookie +
      '; domain=.exhentai.org; path=/; max-age=31536000; secure;SameSite=None;'
  })

  console.info(
    '%c===Success===\nNow press F12 to close this console and go to next step.',
    'background:#f5f5f5;color:green'
  )
})()
  1. 接著輸入以下指令取得三行cookie。
1
console.log(document.cookie);
  1. 網址列輸入http://localhost:80,開啟E-hentai View。在登入頁面按一下cookie,貼上剛剛取得的三個cookie數值,登入。

  2. 如此便設定完成。

如果本網站文章對您有幫助,歡迎贊助我。