※ 本文轉寄自 ptt.cc, 文章原始頁面
看板AC_In
標題

[程式] 管理並瀏覽本子的程式

時間
最新2021-03-21 22:45:00
留言48則留言,24人參與討論
推噓32 ( 32016 )
markdown 好讀 https://tinyurl.com/y96wlfkt 這是一個本本管理軟體,其想法類似 [Hentai Ark](https://www.ptt.cc/bbs/AC_In/M.1569436760.A.261.html) 會利用從EX上獲取的metadata來**自動**將本機上的本本做整理 並提供類似exhentai界面的方式來使用 與Hentai Ark不同的地方在於,我的程式更加注重瀏覽,可以在看本時利用快捷鍵快速切 換上下本 瀏覽方式類似[HoneyView](https://tw.bandisoft.com/honeyview/),並增加了隨機排序 的方式,防止在本本資料庫中都是看到那幾本 ## 目錄 - [畫面介紹](#畫面介紹]) - [下載&安裝](#下載&安裝) * [win執行檔](#win執行檔) * [原始碼編譯安裝](#原始碼編譯安裝) - [使用方法](#使用方法) * [匹配畫面](#匹配畫面) * [主畫面](#主畫面) * [本子畫面](#本子畫面) * [瀏覽畫面](#瀏覽畫面) - [特性與設定](#特性與設定) * [快取](#快取) * [本子隨機、順序切換](#本子隨機、順序切換) * [本機資料庫與路徑](#本機資料庫與路徑) * [壓縮檔](#壓縮檔) * [JSON設定](#JSON設定) - [未來計畫(包含我想做但還沒做,和我想做但沒能力做的)](#未來計畫(包含我想 做但還沒做,和我想做但沒能力做的)) - [免責聲明](#免責聲明) - [Thanks](#Thanks) - [許可證](#許可證) ## 畫面介紹 主畫面 有在matadata內且被匹配到的本本會顯示相應的分類,但未在matadata內或沒被匹配到的 本本會顯示null ![1](https://imgur.com/i14fykI.png)
[程式] 管理並瀏覽本子的程式
本子畫面 在本子畫面有中文翻譯的tag(移到上面會顯示原文),並有中文解釋 ![2](https://imgur.com/0VNB9pu.png)
[程式] 管理並瀏覽本子的程式
如果按壓tag,便會顯示中文解釋和搜尋 中文翻譯及解釋來自[這裡](https://github.com/EhTagTranslation/EhSyringe),只做 簡單的簡轉繁 按下搜尋便會搜尋你按下的tag ![3](https://imgur.com/exBZDst.png)
[程式] 管理並瀏覽本子的程式
可以藉由搜尋來限制本子範圍,例如我這裡使用「shizuka rin」作為關鍵字(島喜凜? ) 這樣瀏覽切換上下本時也會都會是有「shizuka rin」的tags的本本 ![4](https://imgur.com/FHGApvl.png)
[程式] 管理並瀏覽本子的程式
例如本來在看這本 ![5](https://imgur.com/NX7og2d.png)
[程式] 管理並瀏覽本子的程式
按下「切換下一本」時,便會顯示下一本,不須回到主畫面 ![6](https://imgur.com/IJDYfGp.png)
[程式] 管理並瀏覽本子的程式
## 下載&安裝 ### win執行檔 從[這裡](https://mega.nz/folder/CCwm3DYS#LshpqDeULnf12kqzIJdP8g)下載,其中 `ex_view.7z`是主程式,`setting.7z`是設定和資料庫 首先先將兩個壓縮檔分別解壓縮,會得到`ex_view`和`setting`兩個資料夾,再把 `setting`資料夾放到`ex_view`資料夾中 最後按下`ex_view.exe`就能開始程式了 ### 原始碼編譯安裝 首先先安裝[node.js](https://nodejs.org/) 從[這裡](https://mega.nz/folder/CCwm3DYS#LshpqDeULnf12kqzIJdP8g)下載,解壓縮 `source.7z`後,進入目錄,輸入 ```bash npm install ``` 等待依賴模組安裝完成,之後再輸入 ```bash npm run dist ``` 產生可執行檔案 經測試可以在ubuntu上正常運作 ## 使用方法 程式分為: - 匹配畫面 - 主畫面 - 本子畫面 - 瀏覽畫面 - 設定 ### 匹配畫面 當第一次打開程式時,會進入匹配畫面,選擇存放本本的資料夾,它會自動搜尋底下所有 的本本 ![a](https://imgur.com/PN0pQBF.png)
[程式] 管理並瀏覽本子的程式
本本分為兩種,資料夾及zip檔案 資料夾本本格式 ``` + 資料夾(本子名) + 圖片1 + 圖片2 + ......... ``` zip格式則是只要zip裡有圖片(忽略資料夾),就算是本本 ``` + zip(本子名) + 圖片1 + 圖片2 + ......... ``` 匹配速度有點慢,每一個本本要花約一秒來完成,請耐心等候 ### 主畫面 主畫面為 ![1](https://imgur.com/i14fykI.png)
[程式] 管理並瀏覽本子的程式
其中有匹配到的本本,在圖片的下方會顯示對應的分類、日期(ex上傳日期)、圖片頁數 (ex圖片頁數),未匹配到的本本則會全部顯示null 而按下圖片則會進入本子畫面 搜尋支援`AND`、`OR`和`-`(排除)語法而使用`.null`關鍵字可以搜尋到沒有匹配到的 本本,也支援ex的標籤語法(ex:`character:"makaino ririmu$"`) 上方分類欄則與ex一致,按下為排除對應分類,全部按下則與全部不按相同 鍵盤功能: - `esc`: 關閉程式 - `enter`: 全螢幕 - `<-`: 上一頁 - `->`: 下一頁 ### 本子畫面 本子畫面為 ![2](https://imgur.com/0VNB9pu.png)
[程式] 管理並瀏覽本子的程式
如果未匹配到則會是 ![阿喵喵很可愛對八?](https://imgur.com/O8SHpgb.png)
[程式] 管理並瀏覽本子的程式
標題第一欄是本機本子名,第二欄是ex上的原文名稱,第三欄則是ex上的羅馬字名稱 中間是tag,按下則會顯示藍色,並在側邊顯示tag的解釋(如果有的話),按下下方的` 搜尋`,則會跳回主畫面並搜尋所有選擇(藍色)的tag 需要注意的是,解釋只會顯示最後按下的tag,如果有想要看解釋的藍色tag,那要先把取 消藍色,再按一次就能看解釋了(按兩次就對了) 鍵盤功能: - `esc`: 關閉程式 - `enter`: 全螢幕 - `backspace`: 退回主畫面 - `<-`: 上一頁 - `->`: 下一頁 - `ctrl + <-`、`[`: 上一本 - `ctrl + ->`、`]`: 下一本 - `0`: 排序(可以在隨機排序與照本子名排序中切換) ### 瀏覽畫面 瀏覽畫面為 ![哭哭阿喵喵](https://imgur.com/5GUBETs.png)
[程式] 管理並瀏覽本子的程式
使用滾輪可以切換上下頁,當在第一頁時,左上角會短暫顯示「第一頁」 沒有放大、縮小,因為我不會寫 鍵盤功能: - `esc`: 關閉程式 - `enter`: 全螢幕 - `backspace`: 退回本子畫面 - `<-`、`pageup`: 上一頁 - `->`、`pagedown`: 下一頁 - `ctrl + <-`、`[`: 上一本 - `ctrl + ->`、`]`: 下一本 - `0`: 排序(可以在隨機排序與照本子名排序中切換) ## 特性與設定 ### 快取 由於使用技術的限制,圖片的載入速度稍慢,所以設計了快取機制,同時載入多張圖片, 以降低快速切換圖片造成的延遲(但解析度太大的圖片還是愛莫能助) 預設是50張圖片,也就是在看一張圖片的時候,會同時載入前面25張圖與後面25張圖 可以根據需求在設定中調整 ### 本子隨機、順序切換 類似音樂的隨機播放功能,在看本子的時候,防止固定順序造成審美疲勞 在「本子畫面」或「瀏覽畫面」中按下「數字鍵0」便會切換成隨機或是按照名稱排序 如果是在「瀏覽畫面」中切換成隨機,左上角會短暫出現「Random」提示 ### 本機資料庫與路徑 ``` setting/ ├── chinese.json ├── ex.db ├── local │ ├── dir.json │ └── local.db └── setting.json ``` - `chinese.json`: ex中文翻譯 - `ex.db`: ex metadata - `local`: 存放使用者資料 - `dir.json`: 存放需要update的路徑 - `local.db`: 存放匹配過得本子資料 - `setting.json`: 存放使用者設定 ### 壓縮檔 目前支援zip格式的本本,但效能一言難盡,一部份是我程式能力太差,另一部份是JSzip 本身效能的問題 如果有推薦的壓縮檔讀取套件可以和我說,雖然因為我不用壓縮檔來存本本,所以可能不 會更新 ### 本機資料庫更新 由於更新本機資料庫會讓開啟速度大幅變慢(實測7000本約3分鐘),所以預設是關閉本 機資料庫更新 如果電腦上的本本有增加或減少,請去設定裡面把`update`設為`true` ### JSON設定 這個軟體的所有設定都使用JSON設定 JSON是一種輕量級的資料交換語言,該語言以**易於讓人閱讀**的文字為基礎 其中`"//"`開頭的文字是註解,用來解釋對應的功能,要修改設定可以參考註解去做修改 ```json { "//": "這是用來設定的JSON檔案", "//": "然後因為技術力不足加上JSON的格式蠻嚴格的,容易寫錯,如果修改設 定後 程式當掉,可以從壓縮檔中恢復setting.json", "//": "鍵盤設定", "//": "鍵盤定義可以從這個網站上得知https://keycode.info/", "keyboard": { "//": "上一頁,預設值是方向鍵←,與pageup(除了veiw頁面外無法使用)", "prev": [37, 33], "//": "下一頁,預設值是方向鍵→,與pagedown(除了veiw頁面外無法使用) ", "next": [39, 34], "//": "全螢幕, 預設值是Enter", "full_screen": [13], "//": "回到book,預設值是Backspace", "back": [8], "//": "跳到第一頁,預設值是home(除了veiw頁面外無法使用)", "home": [36], "//": "跳到最尾頁,預設值是end(除了veiw頁面外無法使用)", "end": [35], "//": "跳到上一本,預設值是ctrl + 方向鍵←和[", "prev_book": [["ctrlKey", 37], 219], "//": "跳到下一本,預設值是ctrl + 方向鍵→和]", "next_book": [["ctrlKey", 39], 221], "//": "排序切換開關,可以切換順序排序和隨機排序", "sort": [96], "//": "關閉程式", "exit": [27] }, "//": "是 = true、否 = false", "//": "是否每次開啟時都更新資料庫(建議不要,速度很慢,當目標資料夾有新增 或刪除本本的時候再開)", "update": false, "//": "是否開啟「開發人員工具」", "debug": false, "//": "頁面放大倍率,預設是110%(測試中)", "zoom": 1.10, "//": "首頁最多顯示圖片數量", "home_max" : 50, "//": "本子頁最多顯示圖片數量", "page_max" : 20, "//": "快取圖片數量", "cache" : 50 } ``` ## 未來計畫(包含我想做但還沒做,和我想做但沒能力做的) - 增加tag的「我的最愛」 - 在主畫面上顯示縮圖,而不是原圖,增加效率 - 右鍵功能需要有複製、貼上、開啟檔案位置 - zip本本效能最佳化 - rar支援 - 由ex上抓到的爬蟲資料不完整,需要更新,根據新資料的不同,部份程式需要改寫 - 在網路上取得的ex matedata部份有誤,需要重新製作,tags格式部份不完整 ## 免責聲明 我的程式能力並不出色,此程式只在我的電腦測試過,並不可靠,從無法開啟到世界末日 都有可能 如有疑慮請不要使用,本人對此程式造成的結果不負任何責任。 ## Thanks 這個程式使用`nodejs`+`eletron`開發、`electron-builder`完成分發 照抄`exhentai.org`的HTML與CSS 中文翻譯是使用[EhTagTranslation](https://github.com/EhTagTranslation/Database) 的成果做繁簡轉換而成 使用了以下套件 - [dialogs](https://github.com/jameskyburz/dialogs) - [fast-levenshtein](https://github.com/hiddentao/fast-levenshtein) - [jszip-sync](https://github.com/ericvergnaud/jszip) - [sqlite3](https://github.com/mapbox/node-sqlite3) 感謝[Sachia Lanlus](https://forums.e-hentai.org/index.php?showuser=2351915) 提供了[metadata](https://mega.nz/#F!oh1U0SIA!WBUcf3PaOvrfIF238fnbTg) ## License 「萬神殿授權條款」 <wei115@ptt.cc>寫了這個程式,任何人都可以用此程式做任何事。 如果哪天看到我發[請神]文,並且你認為這個程式有價值,可以幫我神神看。 不過要是我們在路上相遇了,而且你認出我來,請溫柔的裝作不認識我。 wei115 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.220.251 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AC_In/M.1609540752.A.385.html

48 則留言

wei115, 1F
很累,去睡了

lanjack, 2F
先推再研究

emptie, 3F
授權條款笑了
最用心寫的地方

liu2007, 4F
感動QQ 沒想到紳士方舟死後,還有人記得.....

liu2007, 5F
[程式] 管理並瀏覽本子的程式

liu2007, 6F
這邊有幾個對於tag的metadata我想到可能會遇到的問題

liu2007, 7F
阿沒事,可能你爬到的資料有本子title以外的資訊,所以

liu2007, 8F
不是問題,當我沒說@@

danielqwop, 9F
全身趴地的感謝

emulators, 10F
推,我最近也在開發類似的東西,網頁版的,自用

justatree, 11F

lunawalker, 12F
人類因變態而偉大!

musclegood, 13F
先推用心寫程式,編譯碼那邊有點不太懂

musclegood, 14F
先跳過編譯碼。總之還是開起來了,介面很棒,想請教如

musclegood, 15F
果想重新設定搜索資料夾,像剛開始用程式那樣,怎麼辦
編譯那邊是不用windows的使用者,可以自己編譯安裝,沒有需求的使用我打包好的win執行 檔就可以了 然後如果要重新搜索資料夾,把setting資料夾中的local資料夾清空就可以了(不要把local 資料夾刪掉)

Gold740716, 16F
請問要怎麼確定我們在路上相遇了呢?

Gold740716, 17F
wei115@ptt.cc 會通嗎?我記得是寄 wei115.bbs@ptt.cc
不知道,我只是隨便寫寫XD

liu2007, 18F
剛剛玩了一下,目前這個程式似乎只搜尋目錄的第一層,如

liu2007, 19F
果像我先以作者為資料夾名稱作分類,最底層才以該本在熊

liu2007, 20F
貓上的全名作為資料夾名稱的就被忽略了

liu2007, 21F
https://imgur.com/F0f7u5w 這是我該目錄下分類長的樣子
[程式] 管理並瀏覽本子的程式

liu2007, 22F
但只有八個以熊貓title格式命名的資料夾有被讀到並上tag
對,只有一層(因為我的本本都沒在分類的),如果這樣只能一個個加進來

ejon, 23F
推推
※ 編輯: wei115 (220.134.21.157 臺灣), 01/02/2021 17:22:54

steven96414, 24F
同是彩虹推給你推(

liu2007, 25F
請問你是用什麼語言寫的?用什麼打包成win程式的@@?
我有寫在readme裡面,用js寫的 使用`nodejs`+`electron`開發、`electron-builder`完成 分發
※ 編輯: wei115 (220.134.21.157 臺灣), 01/02/2021 17:49:04

knight714, 26F
我新加了本本所以重新讀取資料夾 然後跑超久都進不去

knight714, 27F
是正常的嗎 畫面一直停在請稍待

wei115, 28F
我實際測試,7000本就算沒有增加和減少 也要跑3分鐘以上

wei115, 29F
可能本本真的太多了?

knight714, 30F
我才3000 跑了1小時都還沒好XD

knight714, 31F
我直接重裝看看好了 一開始也沒跑這麼久

wei115, 32F
我再測看看 因為跑很久,所以只測過幾十本的XD
確定是BUG,我解決之後再上傳 邊看るる直播邊解BUG

ice76824, 33F
2000多本跑得還蠻快的...
※ 編輯: wei115 (111.252.220.251 臺灣), 01/02/2021 21:22:00

knight714, 34F
我還有一個問題是用滾輪翻頁不知道為啥頁面會亂跳

iGao, 35F
先推再說

ice76824, 36F
滾輪翻頁好像是上下顛倒的
幹= = 真的欸,因為都用鍵盤,所以都沒發現 感謝回報,等等一起修

ice76824, 37F
原來顛倒不是作者習慣喔
我習慣用鍵盤看 滾輪是朋友提醒我要加的 這兩個bug修好了(大概),重新安裝就可以了 https://mega.nz/folder/CCwm3DYS#LshpqDeULnf12kqzIJdP8g
※ 編輯: wei115 (111.252.220.251 臺灣), 01/02/2021 22:09:36

knight714, 38F
感謝原PO 效率真高!

Roentgenium, 39F

dogluckyno1, 40F
先推再下

HeiSiaN, 41F
好猛 推推

a2364983, 42F
好像很強

aiglas0209, 43F
酷!新年新希望!射射平安

whhw, 44F

nyaruko, 45F
匹配過一次後要怎麼重新匹配?

ice76824, 46F
把setting資料夾的local清空

wk415937, 47F
※ 編輯: wei115 (111.242.243.37 臺灣), 02/10/2021 01:40:40

sachialanlus, 48F
解壓縮後 有一瞬間以為是rpgmaker mv

wei115 作者的近期文章

Re: [新聞] 徐巧芯慘了!爆料秘密援烏 外交部赴北檢
洩密這真的不行 可以質疑為什麼要標密件,為什麼不公開 可是他都標密件了 就不該洩漏 這是程序問題欸= = Sent from my realme GT 5G ○ PiTT // PHJCI
[閒聊] 有沒有研究所為題材的作品?
如題 小弟學士啦 沒讀過研究所 有點好奇研究所生活 之前都在B站上看迂磨二公子的實驗室情境短片 但好像背景在研究所的作品比較少 能想到的就是《理科生墜入情網,故嘗試證明》之類的 有沒有背景在研究所的作品 可以讓小弟雲一下碩士 有西恰? Se
Re: [閒聊] 統一肉燥麵為什麼外國人覺得還好?
台灣泡麵本來就普普 每次吃那個麵體都覺得軟趴趴的 咬下去就直接碎了 一點都不Q彈 相比之下 韓國和印尼泡麵 就QQ的 咬下去會彈 真的不知道在吹什麼= = 另外中國人也喜歡吹自己的泡麵 但考量他們那邊市場9成都台灣品牌(統一、康師傅) 恩.
[閒聊] 台中有可以睡覺的網咖嗎?
如題 過年去阿嬤家的時候 發現附近有一家Qtime 就跑去辦會員,當旅館 洗澡後睡了一晚 純睡覺的感想是覺得背包旅館那種一個床位的應該比較好睡 網咖全部都皮的,舒適度普普 而且隔間很薄 雖然沒人製造噪音,但還是有聲音 但網咖比較方便 有漫畫
Re: [新聞] 台北大地震「恐滅國」?倒4000棟房 專家
再不都更 再一坪換一坪嘛 台灣可不是一房傳三代 房子沒有使用期限 都更大師 歐亞板塊、菲律賓板塊 可不會管你換房後居住面積變小 住的好好的為什麼要換 結構不行就是結構不行 直接就是一次幾千棟大都更 到時候沒有什麼一坪換一坪 幫出清潔費都該偷
[問卦] 地震幫都更會有一坪換一坪嗎?
如題 政府沒有一坪換一坪 導致大家不肯都更 如果換世界都更大師 菲律賓板塊 來一波快速都更 會有一坪換一坪嗎? 有卦? Sent from my realme GT 5G ○ PiTT // PHJCI
更多 wei115 作者的文章...