Shoko, previously known as JMM (Japanese Media Manager) is an anime cataloging program designed to automate the entire process of cataloging your anime collection regardless of of the size and number of files in your collection. Where other anime cataloging programs rely on perfectly named files or force you to manually link a file to the correct episode, Shoko does this all automatically with minimal user intervention.
Shoko doesn't rely on the your files having a specific filename structure. Instead, files are hashed and sent to AniDB for comparison and matching.
anime-offline-database.json jq examples
```
⇒ cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .title'
"Sword Art Online: Alicization - War of Underworld"
"Sword Art Online: Alicization - War of Underworld"
"Sword Art Online: Alicization - War of Underworld"
"Sword Art Online: Alicization - War of Underworld (2020)"
"Sword Art Online: Alicization - War of Underworld 2"
"Sword Art Online: Alicization - War of Underworld Reflection"
⇒ cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .synonyms'
[
"SAO 3 2nd Season",
"SAO Alicization 2",
"SAO Alicization 2nd Season",
"Sword Art Online 3 2nd Season",
"Sword Art Online III 2nd Season",
"Sword Art Online: Alicization 2",
"Sword Art Online: Alicization 2nd Season",
"そーどあーとおんらいんありしぜーしょんうぉーおぶあんだーわーるど",
"ソードアート・オンライン アリシゼーション 2",
"ソードアート・オンライン アリシゼーション War of Underworld"
]
..snip..
⇒ cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .sources[] | select(contains("anidb"))'
"https://anidb.net/anime/14796"
"https://anidb.net/anime/15146"
```
Unsorted
Anime
AniDB
cksfv -c "file"
Shoko Anime (aka: Japanese Media Manager (JMM))
docker run -p 127.0.0.1:8111:8111 --name shokoserver --detach cazzar/shokoserver:v3.9.5
default
, p:<blank>
)Manami
anime-offline-database.json jq examples
``` ⇒ cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .title' "Sword Art Online: Alicization - War of Underworld" "Sword Art Online: Alicization - War of Underworld" "Sword Art Online: Alicization - War of Underworld" "Sword Art Online: Alicization - War of Underworld (2020)" "Sword Art Online: Alicization - War of Underworld 2" "Sword Art Online: Alicization - War of Underworld Reflection" ⇒ cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .synonyms' [ "SAO 3 2nd Season", "SAO Alicization 2", "SAO Alicization 2nd Season", "Sword Art Online 3 2nd Season", "Sword Art Online III 2nd Season", "Sword Art Online: Alicization 2", "Sword Art Online: Alicization 2nd Season", "そーどあーとおんらいんありしぜーしょんうぉーおぶあんだーわーるど", "ソードアート・オンライン アリシゼーション 2", "ソードアート・オンライン アリシゼーション War of Underworld" ] ..snip.. ⇒ cat anime-offline-database.json | jq '.data[] | select(.title | contains("Sword Art Online: Alicization - War of Underworld")) | .sources[] | select(contains("anidb"))' "https://anidb.net/anime/14796" "https://anidb.net/anime/15146" ```