2019年3月21日 星期四

[追加更新] MahoMangaDownloaderVer7.4更新 [含Ver7.2, Ver7.3]

這次更新只有改一行code:









會有這次更新主要是因為有使用者反應他更新完下載器以後還是一樣搜尋功能不work, 由於我沒辦法reproduce那問題, 這兩三天就跟他在留言區來回討論, 最後我沒招了, 就請問他能不能提供他的cookie給我, 讓我測試看看到底是什麼問題。

最後發現問題是E站的搜尋頁面是有四種搜尋模式可供選擇的(Minimal, Compact, Extended, Thumbnail四種, 不確定是以前就有還是這次更新加上去的), 然後這禮拜改版新增的sk key是會記錄使用者的搜尋設定, 改版後的預設設定都是Compact, 這才導致了只有有修改過搜尋設定的使用者才會有下載器不能搜尋的問題。






解決辦法就是改下regular expression讓他四種搜尋模式通吃就好了, 像server多新cookie這種情況真的只能自己去猜, 幸好這次有找到, 以後搜尋模式也有Thumbnail超好用, 只能說是因禍得福啦XD

P.S. 後來實測目前發現cookie sk key只會紀錄使用者的搜尋設定, 屏蔽特定資源的情況沒有了, 可能只是剛改版還在測試的關係吧~。

Ver7.4 更新內容:


<-----我是Ver7.3分隔線----->
首先第一句話就是:















"對不起我改壞了~~~!!!"


才發佈更新沒多久, 就有使用者寄信反應說下載器parse到的漫畫頁數有錯, 最多只能下載20頁, 結果我初步自己測試也沒測出來, 後來請他提供有問題的url後, 測試後才發現我有一行parse頁數的regular expression改壞了(正確的說是改搜尋頁面的regular expression時, 連資源頁面的也不小心一起改到了), 然後我之前手動測試的頁數也都沒超過(我的情況是沒超過40頁不會測出來, 取決於網站設定), 所以就沒測出這個問題...。

更白癡的是, 我有寫unit test, 可是我只放了三個test case, 而且這三個都是2X頁的漫畫, 會放這三個純粹是因為我喜歡這三本漫畫.....。

又體會到一次"測試"真的不能敷衍, 不然真的最後苦到的還是自己啊阿阿!!!

這邊再次謝謝立刻幫忙找出bug的使用者, 然後unit test的test case我會再補強QQ

Ver7.3 更新內容:
  • 修復頁數錯誤問題

檔案位址:
https://drive.google.com/file/d/1eFjukth50FIj38bZno2xvHPWyYZX-A3_/view?usp=sharing

32位元版本:
https://drive.google.com/file/d/1aXaDD6PcuXjf5a3prIwFDnDHk42JqtTT/view?usp=sharing




<-----我是Ver7.2分隔線----->
上次更新好像是某聖人的生日?  很久沒更新是好事, 代表網站都沒改版我都不用改任何code XD

這次更新主要是E紳士前兩天改版, 第一個是搜尋頁面換UI了, 所以導致下載器的搜尋功能parser直接不能work, 第二個則是EX裏站的cookie加了新的sk key做認證, 如果沒有sk key會導致一堆東西搜尋不到也不能下載。這兩個問題在這版都修好了, 不過有一點很重要:

"舊的Cookie已經失靈了!!  麻煩大家有用裏站的記得選單->設置->Cookie的部分重新設置, 不然會一堆東西都搜尋不到也無法下載!!"

另外輸入帳密自動產生cookie的功能我先停掉了(不少人反應這功能有時會失敗, 偏偏環境我沒辦法reproduce, 被server擋login我也沒辦法啊...), 所以現在Cookie一律只能用手動輸入設置的方式。

************************************
手動設置Cookie教學:
1. 有使用Chrome瀏覽器的話, 下載EditThisCookie外掛套件
https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=zh-TW

2. 上E紳士網站, 登入帳號後看EditThisCookie的Cookie內容
3. 將E紳士的Cookie export, 然後上EX紳士網站import進去, 貼上後把所有網域e-hentai改成exhentai。
4. 刷新頁面後, 看EX紳士上面的cookie, 對應欄位依序填到設置->Ehentai->手動設置Cookie的欄位

P.S. 如果你本身就已經能登入裏站, 那2,3可以跳過, 直接看裏站的cookie就好。

之後按確認就設置好cookie檔案了, 之後就可以下載EX的資源。
************************************

除了修復E紳士網站改版的問題之外,  也針對N紳士擋下載器的手法做了處理, N紳士擋下載器的行為如下:
1. 一開始少量瀏覽跟下載就會跳出擋下載器的頁面, 按下確認按鈕後才會解封鎖
2. 只要1有進行手動確認, 之後可以長時間瀏覽&下載。
3. 之後如果頻繁刷頁面1小時up, 會跳出reCAPTCHA(我不是姬器人)驗證, 通過驗證才會解鎖

目前下載器繞過N紳士的方法如下:
如果遇到1的封鎖, 下載器會用cookie的csrftoken以及csrfmiddlewaretoken驗證碼打給server去解鎖。
如果遇到2的封鎖, 很遺憾我無能為力, 如果你設置有設自動renew IP, 下載器會幫你自動new新IP在繼續下載, 如果是固定IP的話, 只能請你上N紳士網頁手動玩reCAPTCHA解鎖了。

嘛...感覺3個月左右更新是個不錯的間隔, 只要不要遇到以前那種更新完沒一個禮拜就又改版的狀況就逮就補啦。


Ver7.2 更新內容:
  • 修復E紳士改版後搜尋功能不work的問題
  • EX紳士的Cookie設置新增sk key的值(舊cookie已經沒用了, 麻煩記得重新產生新cookie)
  • 新增N紳士封鎖下載器的對應機制


下載器Demo圖:





介紹:
https://project.zmcx16.moe/?page=mahomangadownloader


檔案位址:
https://drive.google.com/file/d/1z4rYZoQvVzfClck-I70fKQrj-BNqJHy6/view?usp=sharing

32位元版本:
https://drive.google.com/file/d/1SBeHAdUuanjhzUf4SRdJGspk2ZOaLxyq/view?usp=sharing

解壓密碼:zmcx16



免責聲明:
******************
MahoMangaDownloader僅作為學術研究使用,禁止利用本程式行非法用途。

52 則留言:

  1. 請問Cookie的部分重新設置是什麼意思?
    我沒這麼做過 完全聽不懂

    回覆刪除
    回覆
    1. 關於手動設置Cookie的方法如下:
      1. 有使用Chrome瀏覽器的話, 下載EditThisCookie外掛套件
      https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=zh-TW

      2. 上E紳士網站, 登入帳號後看EditThisCookie的Cookie內容
      3. 將ipb_member_id跟ipb_pass_hash以及sk填到設置->Ehentai->手動設置Cookie的欄位

      之後按確認就設置好cookie檔案了, 之後就可以下載EX的資源。

      刪除
    2. 謝謝回應
      7.3的修正也很快,寫程式是苦勞事,謝謝

      刪除
    3. 不客氣~有問題歡迎隨時提出~~

      刪除
  2. 似乎出現了之前也出現過只能抓到20頁的問題

    回覆刪除
    回覆
    1. 您好, 我自己測試目前都是正常的說, 可以麻煩你提供有問題的url or log嗎? 我在看看是甚麼原因。

      另外想請問一下cookie你有重換嗎? 新的網站會多驗cookie的sk key, 舊cookie會有一堆東西搜尋不到也沒辦法下載。

      刪除
    2. 原本是用6.2版到昨天為止能正常使用
      今天發現無法下載後改用7.2
      安裝7.2版後用火狐的COOKIE MANERGER找到各COOKIE各參數的數值在7.2版內手動輸入各參數的值,不過缺ipb_session_id這項
      找東西正常也能下載不過只能到20頁
      另外COOKIE重換的意思是指清除COOKIE後再重登嗎

      刪除
    3. 試過清除COOKIE重登
      COOKIE的值和Expiry date有更新
      將新更新的值輸入手動設置中重新設定
      仍只能抓到20頁

      刪除
    4. 補充 sk一直是有輸入的
      然後又試了一下
      另外 同一篇作品在e-跟ex現象不同
      如g/1385030/92101b1494/
      原本有406頁
      使用e-的連結會抓到40頁
      用ex連結就會抓到20頁
      又如g/1385056/7ca46e046c/
      原有27頁
      使用e-的連結可以正常抓到27頁
      用ex連結只能抓到20頁

      刪除
    5. https://exhentai.org/g/1384957/5a3a1a95e8/
      我剛抓這網址只有抓到前20頁

      刪除
    6. 您好, 不好意思真的是我改壞了, 我有修好了更新上去, 再麻煩更新Ver7.3再測試看看, 非常感謝回報> <

      刪除
    7. 另外20頁 40頁那個是網站本身的設定, 可以在帳戶調整的樣子, 下載器會根據網頁顯示的內容去判斷到底有幾頁, 然後自行跳轉拿到每一頁的資源位置, 這次的bug就是不小心多改到, 然後他又沒跳錯誤, 我下載都是載同人誌所以就都沒有發現QQ

      刪除
    8. 使用7.3版確認問題已排除,感謝。

      另外未來的版本,在這裡許願一個可以把ALL MISSION COMPLETE的提醒視窗關掉的功能,不然還要特地點掉XD

      刪除
    9. 這個要關掉很簡單, 可是下載完了應該沒關係吧XDD 我再想想看要不要拿掉XDD

      刪除
  3. 手動設置cookie請問有教學嗎?以前都是帳密登入就好。

    回覆刪除
    回覆
    1. 關於手動設置Cookie的方法如下:
      1. 有使用Chrome瀏覽器的話, 下載EditThisCookie外掛套件
      https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=zh-TW

      2. 上E紳士網站, 登入帳號後看EditThisCookie的Cookie內容
      3. 將ipb_member_id跟ipb_pass_hash以及sk填到設置->Ehentai->手動設置Cookie的欄位

      之後按確認就設置好cookie檔案了, 之後就可以下載EX的資源。

      刪除
    2. 補充,editthiscookie的1.5.0版本導出資料中沒有sk值的選項,這要怎麼查詢呢?

      刪除
    3. 補充,sk值的導出只能進去單一漫畫的頁面內,但導出的sk值即使輸入也無法ex,現階段我的7.2版32位元,手動cookie資料後,可搜尋表站資源,但裡站ex目前還是無法搜尋

      刪除
    4. 您好, 我自己之前測試的話, sk key只會影響特定種類的資源, 能不能載ex的東西還是要看ipb_member_id以及ipb_pass_hash。

      另外我對照了一下, 發現表站跟裏站的cookie中, 會拿到不同的sessionID, 如果你是輸入表站的SessionID, 可能server就把下載器當成是表站的request也說不定。

      我有修改了下手動設置cookie的步驟, 麻煩你在測試看看:
      1. 有使用Chrome瀏覽器的話, 下載EditThisCookie外掛套件

      https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=zh-TW



      2. 上E紳士網站, 登入帳號後看EditThisCookie的Cookie內容

      3. 將E紳士的Cookie export, 然後上EX紳士網站import進去, 貼上後把所有網域e-hentai改成exhentai。

      4. 刷新頁面後, 看EX紳士上面的cookie, 對應欄位依序填到設置->Ehentai->手動設置Cookie的欄位

      P.S. 如果你本身就已經能登入裏站, 那2,3可以跳過, 直接看裏站的cookie就好。

      刪除
    5. 您好,我這邊是可跳過2.3步驟,直接在ex紳士的頁面用EditThisCookie解析的情況,但輸出後鍵值填入的對應欄位製造新cookie後,還是一樣只能下載表站的資源,裡站仍舊無法搜尋。

      刪除
    6. 另外,我的裡站似乎抓不到SessionID這個變數,只有表站有顯示該變數

      刪除
    7. 您好, 沒有SessionID很怪, 這代表網站沒有記錄你的登入資訊。
      可以麻煩你確認EX網頁右上角有沒有一個logout的選項(代表有登入)。

      另外還有一種情況, 如果你有掛VPN的話, 有些國家的IP是EX直接封鎖不給上網的。

      我有額外測試不輸入session key生成cookie, 是一樣能正常下載裏站資源的, 所以我也不知道什麼原因...沒辦法reproduce...。

      如果你願意的話, 看你要不要寄你的cookie內容給我, 我在測試看看到底是甚麼問題, 不然基本上我也沒招了...。

      刪除
    8. 我的FireFox有裝ExhentaiPassport,Chrome就一起能直接上Ex了,但是把這邊的cookie填進去完全不能用
      後來用Edge手動跑一次進Exhentai的流程,只填ipb_member_id、ipb_pass_hash跟igneous這三個,Downloader就能搜尋了

      刪除
    9. 您好,我這邊無論是e還是ex都沒有登出的選項,我用"e-hentai登出"的關鍵字去google,某些老外也提到只能換電腦或刪除cookie才能登出。

      我這邊表站上列右側的選項是hentaiVerse的遊戲選項,而裡站最右側是my tag,以往我碰上要重登入的情況,也是直接從表站上點選My Home後跳出的輸入帳密頁面做登入。登入成功後,裡站也能直接轉過去了,另外,我用Chrome和edge的EditThisCookie都分別嘗試過了,都是裡站沒有顯示SessionID選項。

      目前嘗試過換電腦換作業系統或ip的方式都一樣,所以問題應該在我的e帳號上面。我這個e帳號我自知唯一和一般使用者不一樣的地方,就是我分享過作品,我不確定是否我的e帳號就有什麼等級上差異之類的?

      目前我重新申請了一個新的e帳號,打算等7天後再試試看是不是真的問題在這裡。

      刪除
    10. 請問要分析cookie的資料我要如何給你呢?EditThisCookie導出的文字碼就好嗎?

      刪除
    11. 以前使用自動cookie是完全沒問題,希望之後有辦法再開啟吧

      刪除
    12. 您好, 如果要分析資料, 只要把EditThisCookie的文字碼寄給我就可以: [email protected]

      另外自動cookie的做法就只是模擬e-hentai登入功能, 然後再把拿到的cookie的domain換成ex, 這次會停掉是因為sk key不是從登入拿到的, 而是登入後再轉進入首頁網站才會給, 要做後面第二段不是問題, 可是這跟你最後用EditThisCookie的意思是一樣的, 下載器都只是模擬瀏覽器的行為, 怕以後E站又會像這次一樣改cookie認證機制, 我才想說都用手動的方式最不會有問題, 不如說手動比自動的問題少得多了, 然後又有不少人反應自動會有問題手動沒問題, 最後才索性停掉, 哪知這次手動也出問題了QQ。

      刪除
    13. To Elisiz:
      因為E站改了cookie認證機制, 如果你只有ipb_member_id、ipb_pass_hash跟igneous沒有sk key的話, 你瀏覽器應該有一堆東西找不到, ExhentaiPassport的工作機制我不太確定, 如果他是把瀏覽器所有cookie都倒出來就沒有問題, 沒有的話應該也是一樣。

      刪除
    14. To 神夜:
      我hentaiVerse LV58, 我不確定跟等級有沒有關係, 不過這次改版我一開始也是完全搜尋不到, 後來登出在登入重新匯入cookie到ex就好了。 請問你有做過登出在登入嗎? 我覺得可以登出在登入一次在試試看。 登出的話只要用EditThisCookie把cookie清掉就能做重登入了, 登入完在把cookie導入到ex看看看有沒有問題。

      另外想確認一下, "登入成功後,裡站也能直接轉過去了"-->這句話是甚麼意思? 是只你登入完後, 把表站的cookie copy後改domain name在導入裏站, 還是指你登入完裏站就能直接看了?

      我自己都是用前者的方式, 後者我這樣做會直接遇到熊貓, 不確定這跟會員等級是不是有關係(我沒分享過作品), 我覺得可以試著重登看看用前者的方法看可不可行。

      刪除
    15. 您好,匯出的cookie已寄送,另外,我基本上都是先從e-hentai的my home登入,登入完成後我可以直接用網址的我的最愛轉ex,或直接手動改e-hentai的網址都可以,都是直接進入exhentai的首頁,若是碰上熊貓,我會用ccleaner或EditThisCookie刪除表裡站的cookie資訊後再重複表站先登入的步驟。一般常用的熊貓相關chrome插件或vpn我這邊是不需要

      刪除
    16. 囧,經大大的測試我才知道,原來我的e帳號是高級會員!?

      刪除
    17. 不好意思, 其實是我搞錯了, 我剛剛發現搜尋功能有個選項:
      https://i.imgur.com/o5tpmER.png

      我不知道是以前就有還是這次改版後, server才記錄使用者這個設定, 總之就是你的cookie會拿到thumbnail, 這次改版預設拿到的是compact, 才造成下載器只拿得到compact, 拿不到thumbnail。

      我會再改一個四種搜尋都能拿到的方法, 我竟然完全沒注意到這功能, 多虧這次事件才發現, 非常感謝~~~

      刪除
    18. 另外剛剛測試了下, sk key跟搜尋屏蔽沒有關係了(之前有應該是剛改版做測試), 現在sk key的功能就是記錄使用者頁面預覽模式的設定, 沒有sk key就是固定compact, 有sk key會記錄你設定的預覽模式。

      刪除
    19. 真的,我將ex的瀏覽預設轉成compact後,下載搜尋就能在ex抓到了

      刪除
    20. 恩阿, 沒這次事件我完全沒注意到有這功能, 這樣以後逛網站更方便了, 謝謝啦XDD

      刪除
    21. 作者已經移除這則留言。

      刪除
    22. 大大您好,ex這幾天在上次的搜尋處又多了設了一組minimal+的搜尋設置,導致7.4版的ex搜尋會跑出「並未將物件參考設定為物件的執行個體」bug,目前7.4版又恢復成了ex只能在網頁設定成Compact模式下能搜尋來源的情況,

      這部分可以等大大準備好發布7.5版時再一並更新。

      刪除
    23. 感謝告知, 今天看到有修好發布更新了:
      https://blog.zmcx16.moe/2019/04/mahomangadownloaderver75.html

      E站UI上次大改完感覺還不穩定, 希望早點穩定下來了~。

      刪除
  4. 多謝大大的更新,請問一下DM5的網站因為有些漫畫是前面免費後面開始需付費才能看的,這樣是否就無法進行下載了呢?

    回覆刪除
    回覆
    1. 您好, 是的, 下載器只能模擬瀏覽器能做到的事, 如果可以載付費內容就是駭客了XDD

      刪除
  5. 您好,不好意思問個很過時的問題,我一直是用4.8版E站改版才過來看看更新,我現在雖然不能搜尋但一樣能正常下載,如果不用搜尋,那cookie是不是就不用重新設定了呢?
    另外我想問下載原尺寸圖檔,流量消耗會變大嗎?

    回覆刪除
    回覆
    1. 您好, 因為這次網站改版多導入了sk key的cookie認證, 你cookie不改的話不只搜尋, 連一堆本子也都下載不到(e.g. 蘿莉本)。

      流量本身就會受圖片大小影響, 所以開啟下載原尺寸圖檔的話會比平常下載更容易被ban, 我個人只有喜歡的作品才會額外開來用。

      刪除
  6. 跑得很順暢,謝謝站主辛勤的更新!!最近正在研究如何把筆電連上4G網路,一直被N站ban滿焦躁的XDD再次感謝大大把複雜程式用最容易上手的方法製作出來!

    回覆刪除
    回覆
    1. 不客氣~~謝謝每次的支持與回饋~~
      N站現在應該不容易被ban了, 真的被ban就算沒有浮動ip也可以手動上去reCAPTCHA解鎖, 當初要重現reCAPTCHA出來我讓程式refresh快一小時才出現WWW

      刪除
  7. 回覆
    1. 您好, 我剛測試了下新增跟下載是OK的, 你的狀況感覺像是被ban ip了, 請問你有用瀏覽器打開nhentai網站看顯示什麼嗎? 應該會有個reCAPTCHA按紐要你驗證不是機器人。

      刪除
    2. 抱歉,我自己亂試了兩個方法,意外成功了!
      想說來自刪讓版主省省心,沒想到已經答覆了!

      本來我也以為是BAN IP,可是用網頁瀏覽又很正常。
      1.用磁碟清理把所有系統檔清乾淨
      2.使用"ediithiscookie"把nhentai的清光光,然後出現CAPTCHA按鈕重新驗證。

      不曉得是哪個方法,總之幸運搞定了!

      感謝版主不吝回覆

      請問要把原問題留底解答嗎?
      需要的話,我再貼回來。

      感謝。

      刪除
    3. 不用啦, 問題有解決就好XD

      問題的話我猜是nhentai本身的鎖IP機制可能還有搭配一些cookie的邏輯, 你瀏覽器上的是舊cookie, 所以即使IP被封可能cookie剛好有漏洞讓server認定是正常的。 而下載器因為已經IP被封而且要玩reCAPTCHA才能解鎖了, 所以才沒有用。

      如果還有在遇到問題, 歡迎隨時提出~~

      刪除
  8. 你好,受你的下載器照顧也有半年了,而且還有持續更新,不但讓人安心也更加喜歡。

    不過不知道可不可以提一些操作使用上的需求?
    需求一:https://i.imgur.com/70oIX7X.png
    需求二:https://i.imgur.com/CVCAQJT.png

    如果能實現真的是幫了很大的忙,謝謝。

    回覆刪除
    回覆
    1. hello 您好,
      你的建議都蠻實用的, 我有空會加入這兩樣功能(預計放入下一版更新), 感謝建議~~

      刪除
    2. 非常感謝~~~~~

      刪除