Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for App-Exclusive Mangas/Chapters #36

Open
G-Utopia opened this issue Jul 26, 2022 · 62 comments
Open

Add support for App-Exclusive Mangas/Chapters #36

G-Utopia opened this issue Jul 26, 2022 · 62 comments
Assignees
Labels
enhancement New feature or request

Comments

@G-Utopia
Copy link

Like the title suggest there are free chapters and mangas which are App exclusive. Maybe you cant implement them.

@G-Utopia G-Utopia added the enhancement New feature or request label Jul 26, 2022
@darodi
Copy link
Contributor

darodi commented Jul 26, 2022

Do you have an example?

@G-Utopia
Copy link
Author

The entire Chainsaw man manga is available via App.

@hurlenko
Copy link
Owner

From what I see, they are now using a different api endpoint for manga details (title_detailV2 vs title_detail used by mloader) along with some secret, we can try and utilise it.

@meshstyles
Copy link

It would be interesting if the other endpoint also lists the delisted chapters that are even hidden from the website and the app (like most of the re-editions e.g., Naruto). Some of these in between chapters seem to remain on the server and are downloadable atm. I might consider doing an 'API dump' if these are not visible.

@hurlenko
Copy link
Owner

I've made an update to use the mobile app's API. Seems to be working fine for me (and faster). If anyone wants to try it out, please install from the develop branch:

pip install git+https://github.com/hurlenko/mloader.git@develop

I'd like to hear some feedback before releasing a new version.

@meshstyles
Copy link

meshstyles commented Jul 30, 2022

with naruto [title: 100018 ] you don't get the recent chapters in the app but then currently for me it only downloads up to including the 7th chapter while there are 9 in the app available and at least up to chapter 10 [chapter: 1000406 ] is on the server.

Edit: also yeah it's a lot faster for some reason

Edit Edit: the formating on spy x family [100056] for chapter 58 part 1 [1011977] and chapter 58 part 2 [1012693] does seem to not work as intended. i tried something to fix this with #38 but feel free to disregard it entirely i'm not really someone who does stuff with python

@hurlenko
Copy link
Owner

@meshstyles Thanks a lot for the feedback, will take a look at it in the next couple days, don't have much time now

@darodi
Copy link
Contributor

darodi commented Aug 6, 2022

there seems to be a problem with this version.
The last chapter is not always correct:

with those arguments in develop branch

-l -f raw -t 100023

I'm getting

06.08.2022 20:46:39 |   INFO   |   loader.py    145  | 1/1) Manga: Rurouni Kenshin
06.08.2022 20:46:39 |   INFO   |   loader.py    146  |     Author: Nobuhiro Watsuki
06.08.2022 20:46:39 |   INFO   |   loader.py    157  |     1/1) Chapter #005: Act 5: The Fight Merchant

in master branch:

-l -r --chapter-subdir -t 100023

I'm getting

06.08.2022 20:49:00 |   INFO   |  __main__.py   206  | Started export
06.08.2022 20:49:06 |   INFO   |   loader.py    138  | 1/1) Manga: Rurouni Kenshin
06.08.2022 20:49:06 |   INFO   |   loader.py    139  |     Author: Nobuhiro Watsuki
06.08.2022 20:49:07 |   INFO   |   loader.py    150  |     1/1) Chapter #190: Act 190: Battle on Three Fronts: Round 1, Part 2
#190
06.08.2022 20:49:13 |   INFO   |  __main__.py   224  | SUCCESS

@G-Utopia
Copy link
Author

G-Utopia commented Aug 6, 2022

In my case I could download all 101 chainsaw man chapters at once with no struggle.

@meshstyles
Copy link

i kinda explined this poorly in my comment but it seems like the mobile app api does not have the latest chapters for some manga. but the website api does have them. This explains how there are diffrent last chapters using the dev and master branch. for example chainsaw man on the other hand has all chapters in the app but only the earliest and latest chapers on the website.
So for optimal results youd need to consider both apus in some cases but i think it is not visible through the api if there are diffrences in available chapters between both apis.
The only option i see here is to either request data from both api or just use a user input flag to check if the website api or the app api should be used

@janowakps
Copy link

janowakps commented Sep 4, 2022

so there is a problem with develop branch

root@nextcloudpi:~# mloader -t 100034

            _                 _
  _ __ ___ | | ___   __ _  __| | ___ _ __
 | '_ ` _ \| |/ _ \ / _` |/ _` |/ _ \ '__|
 | | | | | | | (_) | (_| | (_| |  __/ |
 |_| |_| |_|_|\___/ \__,_|\__,_|\___|_|

04.09.2022 13:29:32 |   INFO   |  __main__.py   202  | Started export
04.09.2022 13:29:33 |   INFO   |   loader.py    145  | 1/1) Manga:
04.09.2022 13:29:33 |   INFO   |   loader.py    146  |     Author:
04.09.2022 13:29:33 |   INFO   |  __main__.py   219  | SUCCESS

After updating AUTH_PARAMS obtained from my android phone, everything works, so unfortunately the "secret" value has a certain expiration time

@IsaBNekomata
Copy link

How can I fix this?
image

I'm new to this command-line thing and want to read chainsaw man without having to deal with the "only avaible to read one time" bs of manga-plus

@meshstyles
Copy link

so there is a problem with develop branch

root@nextcloudpi:~# mloader -t 100034

            _                 _
  _ __ ___ | | ___   __ _  __| | ___ _ __
 | '_ ` _ \| |/ _ \ / _` |/ _` |/ _ \ '__|
 | | | | | | | (_) | (_| | (_| |  __/ |
 |_| |_| |_|_|\___/ \__,_|\__,_|\___|_|

04.09.2022 13:29:32 |   INFO   |  __main__.py   202  | Started export
04.09.2022 13:29:33 |   INFO   |   loader.py    145  | 1/1) Manga:
04.09.2022 13:29:33 |   INFO   |   loader.py    146  |     Author:
04.09.2022 13:29:33 |   INFO   |  __main__.py   219  | SUCCESS

After updating AUTH_PARAMS obtained from my android phone, everything works, so unfortunately the "secret" value has a certain expiration time

I'm actually shocked but all you need to do is change the app version. seems like the secret is valid for some time but yeah it looks like some continous updates buming the version number are required for mobile.

@bysilvaart
Copy link

How can I download that Free chapters from the App? I need to change the secret value?

@G-Utopia
Copy link
Author

It would be nice if @janowakps or @hurlenko write how to get the secret key in the app and set it in mloader.

@meshstyles
Copy link

How can I download that Free chapters from the App? I need to change the secret value?

you need the development branch the feature is yet to be made public

It would be nice if @janowakps or @hurlenko write how to get the secret key in the app and set it in mloader.

idk if that would m+ would like that tbh

@BenjaminOchocki
Copy link

So for everybody coming to this thread and thinking about how to get the secret key:

  • you need to run the app (apk-file) in an emulator or in my case on mac with android sdk.
  • copy the app data from /data/data/{M+ APP directory}/shared_prefs/config.xml
  • in the config.xml you will find the secret
  • copy the secret into the loader.py from mloader

@hurlenko your develop branch is working like a charm. The download order is sometimes a bit weird but works completely fine

@KingSlowDown
Copy link

Same problem as @IsaBNekomata and @meshstyles, changing the secret code didn't change anything.

@hydreg
Copy link

hydreg commented Oct 10, 2023

@IsaBNekomata and @meshstyles you just need to update version number (check the app store to get it) in loader.py. You need the version from development branch to even have the option though.

@hurlenko As you probably know Shueisha locked some series behind a paywall of subscription. These series only have 3 first chapters available and after downloading them, the script throws an error. Assassination Clasroom (100001) is an example. Would be great if the error could throw some human readable message. I'm also curious - if I were to pay for subscription, would it be recognized by the script and let me download the completed series? Does secret key carry that information?

@hurlenko
Copy link
Owner

@hydreg didn't know about paywall. The script has no authorization so it knows nothing about you paying for subscription. I've opened two issues (#50 and #51) but I can't give the estimates on when I might get to them.

@hydreg
Copy link

hydreg commented Oct 10, 2023

@hurlenko Take your time, if it ever works out we'll be able to get complete archives anyways.

@meshstyles
Copy link

@IsaBNekomata and @meshstyles you just need to update version number (check the app store to get it) in loader.py. You need the version from development branch to even have the option though.

I think i did a rather poor job at explining what i ment with the app version number. to make it easier for anyone not in the know mloader with app api support was probaly bulilt looking at the ios app. so when the ios app has an update you need to change the app version in loader.py AUTH_PARAMS to a current version of ios app.
Tbh this seems like it'd be a chore to keep up with so i think it might be best to have a cli param that could so people don't need to install from source if it takes a while for an update through pip.

@hydreg didn't know about paywall. The script has no authorization so it knows nothing about you paying for subscription. I've opened two issues (#50 and #51) but I can't give the estimates on when I might get to them.

I think they've introduced that at the start of the month so it's still kinda new. But the highest tier allows you access to basically everything they had.

@hurlenko Take your time, if it ever works out we'll be able to get complete archives anyways.
I'll be honest some manga have poor quality so... yeah idk if this is the approach I'd recomend other then to have fun or learn how automate or datamine.

@saxx0n
Copy link

saxx0n commented Nov 11, 2023

One issue I discovered why attempting to use the devel branch was that it did not detect the .5 chapters. Example would be for Hokkaido Gals Are Super Adorable! (100116) which it found chapters 100 and 101, but not 100.5

@rokibhasansagar
Copy link

I can from Desktop Browser that they are using https://jumpg-webapi.tokyo-cdn.com/api/title_detailV3?title_id=xxxx for the api. Rest addresses are still the same.

@rokibhasansagar
Copy link

Another note: Even if the manga page from website shows more than 6 chapters free to read on desktop without subscription, mloader can only get the oldest 3 + latest 3 chapters 😢
Any way to fix that?

@rokibhasansagar
Copy link

Hmm, I updated the AUTH_PARAMS values from my Phone's App and it's currently downloading All chapters. 😄

@rokibhasansagar
Copy link

rokibhasansagar commented Jan 31, 2024

@10SecondsToWaste, change the app_ver to 97,
That way, everything works.

P.S: Just use actual secret key in production 😅

@10SecondsToWaste
Copy link
Contributor

@rokibhasansagar Thanks a bunch! It's finally downloading.

Now, are there anything I can do to help this feature become a part of the @master branch?

@hauveli
Copy link

hauveli commented Apr 17, 2024

Attempting the same. Have my own secret key (paid for deluxe).

Modifying code from here to have

        self._api_url = "https://jumpg-webapi.tokyo-cdn.com"

Tried above, failed. (Only free chapters found)

Tried modifying most recent master, failed. (Only free chapters found)

Attempted permutations of these AUTH_PARAMS:

    "app_ver": "97",
    "os": "android",
    "os_ver": "13",
    "os_ver": "7.1.2",
    "User-Agent": "JumpPlus/1 CFNetwork/1333.0.4 Darwin/21.5.0",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0",
    "secret": "mysecretkey",

I have not installed mloader via pip, and am running it as follows:

python -m mloader.__main__ https://mangaplus.shueisha.co.jp/titles/<id>/ -o .

Does the method from the other posts still work?
I will try to get the HTTP headers again and update my post if they work.

@rokibhasansagar
Copy link

@hauveli, change the app_ver to 124 at least. MangaPlus's Internal (API) App Version changed a month ago. Now, it can even be 131 if 124 does not work any more.
And using the Mobile API Endpoint instead of Web API Endpoint is also preferred.
Last but not least, add this change in your code too: #36 (comment)

@ThoughtzThruKeyz
Copy link

Hi, so after reading through this thread several times, I'm still confused as to where to find this "key"? Like in the apk what is it called? What file/folder is it located in?? Additionally, can this same thing be found via iOS? Because I know the default setting for mloader is based on the iOS version of the app, so how can I scrape my "key" from there without having to change the entire api to only take in the android version? Thanks.

@10SecondsToWaste
Copy link
Contributor

@rokibhasansagar How do you know the correct value for app_ver? I wanted to download a new manga again today, and got the exact same problem. Both Play Store and App Store versions are specified as "1.9.*". I guess this is an internal detail?

@rokibhasansagar
Copy link

@10SecondsToWaste @ThoughtzThruKeyz
As I have no idea about iOS, I can share my method for Android only.

  1. To get the app_ver, you need to install "Lucky Patcher" via official "LuckyPatcherInstaller". Details on the first pin post in "r/luckypatcher" subreddit. After installation, Tap the MangaPlus app and from the options list, select "App Info". You'll see Build after the "Version" string.

  2. To get the secret key, you need a network capture app, I recommend "Reqable" or it's previous name "HttpCanary" (from APKPure), or other apps. Root might be needed and works fine until Android v7.1.2 (not tested on latest Android).

@meshstyles
Copy link

meshstyles commented Aug 23, 2024

@rokibhasansagar How do you know the correct value for app_ver? I wanted to download a new manga again today, and got the exact same problem. Both Play Store and App Store versions are specified as "1.9.*". I guess this is an internal detail?

It used to be the app version for iPhones from the Apple app store. The app versions for iOS apps are below the description on the app store website in the change log.

Fyi for
On android every app has the app version number on the Play Store page. It's derived from the APK or it at least used to be that way. Its located in the info about the app where all the other info is ( e. g. compatible android versions).

So for the versions number you don't even need the app just a web browser.

@rokibhasansagar
Copy link

@meshstyles
The app_ver is Not the simple version of the app anymore. If you'd read all the comments and the APIv3 AUTH_PARAMS, you'd know.
It needs a build number of the APK (for Android).
The App's public version string (also know as Release version) is indeed 1.9.19 (and someone might be getting 1.9.20 too), but the Internal app_ver string in APIv3 Calls don't use that anymore. Currently, for my Android 14, the build id is 165. That's to be put as app_ver inside AUTH_PARAMS.

I also explained it in #36 (comment) and #36 (comment) several months ago.

@gauchoux
Copy link

gauchoux commented Sep 7, 2024

@rokibhasansagar thanks a lot for the help to get the version and the secret key.
I am still struggling on the part for the secret key tho, I have installed the reqable app, but I am not sure what to look for from there. I launch it and analyse the requests that are made from the MangaPlus app but can't find any secret key, where should I look ?
Thanks again for your help ! :)

@rokibhasansagar
Copy link

@gauchoux
As I recently had a new smartphone with Android 14, I can't get a working Network Capturing app to fully work in my device for Android's updated Security changes. I could with Reqable app, but it needs a rooted device to do so now, and I can't root my phone while being under Warranty period.
Reqable's previous brand name, "HttpCanary" (old version) did work fully on my old Android 7.1.2 rooted device, but that's dead now :( and the VPN generated by Reqable can't connect to MangaPlus's server on my new device. So, I too can't get a new secret key anymore 😢
Fun fact: Reqable fully works on Facebook Lite app though 😆

I have to find other Network Capturing apps which can work on unrooted latest Android system 💭

@Lowitle
Copy link

Lowitle commented Nov 5, 2024

Hi!

I've been trying to get the secret key too and I would ask for some help here.
I tried with Reqable but I feeled like @gauchoux, I didn't know what I was looking for.
I also tried installing MangaPlus apk to my using WSATools, but I'm finding the path that @BenjaminOchocki was saying.
/data/data/{M+ APP directory}/shared_prefs/config.xml
I'll go to rest now but I would apreciate some help for tomorrow.

PD: Thanks a lot for the project.

@Lowitle
Copy link

Lowitle commented Nov 6, 2024

#36 (comment)

2nd day, 2nd round. This way worked! I've been able to download an issue only aviable in app.

lowitle@JMBR:~$ mloader https://mangaplus.shueisha.co.jp/titles/200007

            _                 _
  _ __ ___ | | ___   __ _  __| | ___ _ __
 | '_ ` _ \| |/ _ \ / _` |/ _` |/ _ \ '__|
 | | | | | | | (_) | (_| | (_| |  __/ |
 |_| |_| |_|_|\___/ \__,_|\__,_|\___|_|

06.11.2024 22:51:06 |   INFO   |  __main__.py   202  | Started export
06.11.2024 22:51:07 |   INFO   |   loader.py    145  | 1/1) Manga: One Piece re-edition
06.11.2024 22:51:07 |   INFO   |   loader.py    146  |     Author: Eiichiro Oda
06.11.2024 22:51:07 |   INFO   |   loader.py    157  |     1/10) Chapter #001: Capítulo 1:ROMANCE DAWN –EL AMANECER DE LA AVENTURA–
#001  [####################################]  51/51
06.11.2024 22:51:28 |   INFO   |   loader.py    157  |     2/10) Chapter #002: Capítulo 2:ESE HOMBRE, LUFFY “SOMBRERO DE PAJA”
#002  [####################################]  23/23
06.11.2024 22:51:35 |   INFO   |   loader.py    157  |     3/10) Chapter #003: Capítulo 3:LA APARICIÓN DE ZORO “EL CAZAPIRATAS”
#003  [####################################]  21/21
06.11.2024 22:51:43 |   INFO   |   loader.py    157  |     4/10) Chapter #007: Capítulo 7:AMIGOS
#007  [####################################]  20/20
06.11.2024 22:51:50 |   INFO   |   loader.py    157  |     5/10) Chapter #008: Capítulo 8:LA APARICIÓN DE NAMI
#008  [####################################]  19/19
06.11.2024 22:51:56 |   INFO   |   loader.py    157  |     6/10) Chapter #009: Capítulo 9:LA HECHICERA DIABÓLICA
#009  [####################################]  21/21
06.11.2024 22:52:02 |   INFO   |   loader.py    157  |     7/10) Chapter #010: Capítulo 10:LO QUE SUCEDIÓ EN LA TABERNA
#010  [####################################]  23/23
06.11.2024 22:52:09 |   INFO   |   loader.py    157  |     8/10) Chapter #011: Capítulo 11:A LA FUGA
#011  [####################################]  19/19
06.11.2024 22:52:15 |   INFO   |   loader.py    157  |     9/10) Chapter #012: Capítulo 12:EL PERRO
#012  [####################################]  21/21
06.11.2024 22:52:22 |   INFO   |   loader.py    157  |     10/10) Chapter #013: Capítulo 13:UN TESORO
#013  [####################################]  19/19
06.11.2024 22:52:22 |   INFO   |  __main__.py   219  | SUCCESS

I used the "Title" option and mloader downloaded "aviable chapters" but these are not the aviable chapters that you can see through the web. Using web browser the chapters that I can download are: 001, 002, 003, 290, 291, 292, 293, 294, 295 and 296.

Note that oficially at website I have a total of 10 chapters aviable, mloader downloads 10 chapters, but starting with chapter 7 (after the 1st 3 episodes). I'm sure this is not a coincidence.


EDIT:
Silly of me, for sure is not a coincidence, 10 chapters are the ones aviable using the app with the device I used to get the secred, app_ver, etc.

I think that I'll try to subscribe one month, let's see what can this marvelous app do!

@ThoughtzThruKeyz
Copy link

Woah! I've been trying to figure this out for months! Do you mind assisting me in finding the secret key? @Lowitle

@Lowitle
Copy link

Lowitle commented Nov 7, 2024

I used Reqable on an old android phone where I could install Magisk.

With Magisk installed I had root privileges and could install the "Reqable Certificate Installer".

With that Certificate installed the info I got from the Reqable monitoring was complete, when I navigate through diferent mangas I could see diferent traffic monitored in the app, Some of this traffic in the URL has all the info we need: "app_ver" and "secret".
The full URL is something like this:
https://jumpg-api.tokyo-cdn.com/api/comment?chapter_id=1000306&os=android&os_ver=33&app_ver=182&secret=d54a7d4a703512345610bf9e3a386e11

I hope I helped. I trully would've liked to use some standard method like an android emulator, maybe tomorrow I'll try something with Android Studio.

Let me know your progress about this, I'll try to help.

@ThoughtzThruKeyz
Copy link

Hey thanks for that! Unfortuantely, I can't even get past the simplest step of installing magisk lol. I suspect it's some type of restriction on my device

I used Reqable on an old android phone where I could install Magisk.

With Magisk installed I had root privileges and could install the "Reqable Certificate Installer".

With that Certificate installed the info I got from the Reqable monitoring was complete, when I navigate through diferent mangas I could see diferent traffic monitored in the app, Some of this traffic in the URL has all the info we need: "app_ver" and "secret". The full URL is something like this: https://jumpg-api.tokyo-cdn.com/api/comment?chapter_id=1000306&os=android&os_ver=33&app_ver=182&secret=d54a7d4a703512345610bf9e3a386e11

I hope I helped. I trully would've liked to use some standard method like an android emulator, maybe tomorrow I'll try something with Android Studio.

Let me know your progress about this, I'll try to help.

@Lowitle
Copy link

Lowitle commented Nov 7, 2024

Hello @ThoughtzThruKeyz,

If you don't have a rootable phone, you can do what I've just done.

  1. Follow this guide to have WSA (Windows Subsystem for Android) on your PC with Magisk and Google Apps (After following this guide you'll have Google Play and Magysk runing on your PC)
    https://github.com/LSPosed/MagiskOnWSALocal

  2. Install Manga Plus

  3. Install Reqable

  4. Install Certificate, select the Magisk option, save zip file.

  5. Go to Magisk app and flash zip file (I had to restart the Magisk app because I couldn't see the zip certificate).

  6. Then start monitoring with Reqable.

  7. Navigate through Manga Plus app.

  8. Now with that Certificate installed we get info from the Reqable app when we navigate through the app. We can see diferent traffic monitored. Some of this traffic in the URL has all the info we need: "app_ver" and "secret". The full URL is something like this: https://jumpg-api.tokyo-cdn.com/api/comment?chapter_id=1000306&os=android&os_ver=33&app_ver=182&secret=d54a7d4a703512345610bf9e3a386e11

@ThoughtzThruKeyz
Copy link

Hello @ThoughtzThruKeyz,

If you don't have a rootable phone, you can do what I've just done.

1. Follow this guide to have WSA (Windows Subsystem for Android) on your PC with Magisk and Google Apps (After following this guide you'll have Google Play and Magysk runing on your PC)
   https://github.com/LSPosed/MagiskOnWSALocal

2. Install Manga Plus

3. Install Reqable

4. Install Certificate, select the Magisk option, save zip file.

5. Go to Magisk app and flash zip file (I had to restart the Magisk app because I couldn't see the zip certificate).

6. Then start monitoring with Reqable.

7. Navigate through Manga Plus app.

8. Now with that Certificate installed we get info from the Reqable app when we navigate through the app. We can see diferent traffic monitored. Some of this traffic in the URL has all the info we need: "app_ver" and "secret". The full URL is something like this: https://jumpg-api.tokyo-cdn.com/api/comment?chapter_id=1000306&os=android&os_ver=33&app_ver=182&secret=d54a7d4a703512345610bf9e3a386e11

Is this strictly for Linux PC's?

@l0westbob
Copy link

Hello @ThoughtzThruKeyz,
If you don't have a rootable phone, you can do what I've just done.

1. Follow this guide to have WSA (Windows Subsystem for Android) on your PC with Magisk and Google Apps (After following this guide you'll have Google Play and Magysk runing on your PC)
   https://github.com/LSPosed/MagiskOnWSALocal

2. Install Manga Plus

3. Install Reqable

4. Install Certificate, select the Magisk option, save zip file.

5. Go to Magisk app and flash zip file (I had to restart the Magisk app because I couldn't see the zip certificate).

6. Then start monitoring with Reqable.

7. Navigate through Manga Plus app.

8. Now with that Certificate installed we get info from the Reqable app when we navigate through the app. We can see diferent traffic monitored. Some of this traffic in the URL has all the info we need: "app_ver" and "secret". The full URL is something like this: https://jumpg-api.tokyo-cdn.com/api/comment?chapter_id=1000306&os=android&os_ver=33&app_ver=182&secret=d54a7d4a703512345610bf9e3a386e11

Is this strictly for Linux PC's?

You can install Android Studio (https://developer.android.com/studio) which can be installed on Windows, Mac and Linux and is able to simulate any android app. You also have root access to the filesystem. You can just extract the infos for app_version and app_secret out of the xml file ( /data/data/{M+ APP directory}/shared_prefs/config.xml).

@ThoughtzThruKeyz
Copy link

Hello @ThoughtzThruKeyz,
If you don't have a rootable phone, you can do what I've just done.

1. Follow this guide to have WSA (Windows Subsystem for Android) on your PC with Magisk and Google Apps (After following this guide you'll have Google Play and Magysk runing on your PC)
   https://github.com/LSPosed/MagiskOnWSALocal

2. Install Manga Plus

3. Install Reqable

4. Install Certificate, select the Magisk option, save zip file.

5. Go to Magisk app and flash zip file (I had to restart the Magisk app because I couldn't see the zip certificate).

6. Then start monitoring with Reqable.

7. Navigate through Manga Plus app.

8. Now with that Certificate installed we get info from the Reqable app when we navigate through the app. We can see diferent traffic monitored. Some of this traffic in the URL has all the info we need: "app_ver" and "secret". The full URL is something like this: https://jumpg-api.tokyo-cdn.com/api/comment?chapter_id=1000306&os=android&os_ver=33&app_ver=182&secret=d54a7d4a703512345610bf9e3a386e11

Is this strictly for Linux PC's?

You can install Android Studio (https://developer.android.com/studio) which can be installed on Windows, Mac and Linux and is able to simulate any android app. You also have root access to the filesystem. You can just extract the infos for app_version and app_secret out of the xml file ( /data/data/{M+ APP directory}/shared_prefs/config.xml).

Okay, so I just downloaded and installed this on my mac. Do I just need to download the Mangaplus .apk?

@l0westbob
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

@ThoughtzThruKeyz
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

So after downloading android studio I just fork the repo?

@l0westbob
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

So after downloading android studio I just fork the repo?

No, you dont need android studio anymore. I've updated the develop branch myself in a fork i have made. The only thing you need to do right now is to install mloader from my branch. Please check the changes made in the PR before you install (never just install something because someone said so, without checking if there might be scetchy code).

Uninstall your current mloader then proceed with this (installing mloader again but from the fork and branch i have made):

pip install git+https://github.com/l0westbob/mloader.git@dev-updated

Then just run mloader with a link to a chapter like this:

mloader https://mangaplus.shueisha.co.jp/titles/100037

This should work like in this screenshot:

Screenshot 2024-11-10 at 14 01 48

@ThoughtzThruKeyz
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

So after downloading android studio I just fork the repo?

No, you dont need android studio anymore. I've updated the develop branch myself in a fork i have made. The only thing you need to do right now is to install mloader from my branch. Please check the changes made in the PR before you install (never just install something because someone said so, without checking if there might be scetchy code).

Uninstall your current mloader then proceed with this (installing mloader again but from the fork and branch i have made):

pip install git+https://github.com/l0westbob/mloader.git@dev-updated

Then just run mloader with a link to a chapter like this:

mloader https://mangaplus.shueisha.co.jp/titles/100037

This should work like in this screenshot:

Screenshot 2024-11-10 at 14 01 48

This downloads all available chapters for said series? Even the locked ones?

@l0westbob
Copy link

Well, if you read through all comments in this thread you'd know, that the develop branch is used to download via the mobile API which is used by the app. The app has currently a feature that allows any user to read current ongoing titles for free once. The develop branch makes use of this to download these.

There are some titles that are completed or have a different reason why they are behind a paywall (manga plus max subscription) like Jujutsu Kaisen, where you still dont have access with the read-for-free mobile app feature.

In the screenshot above chainsaw man was used and downloaded completely till the last chapter.

@Fourpokechat
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

So after downloading android studio I just fork the repo?

No, you dont need android studio anymore. I've updated the develop branch myself in a fork i have made. The only thing you need to do right now is to install mloader from my branch. Please check the changes made in the PR before you install (never just install something because someone said so, without checking if there might be scetchy code).

Uninstall your current mloader then proceed with this (installing mloader again but from the fork and branch i have made):

pip install git+https://github.com/l0westbob/mloader.git@dev-updated

Then just run mloader with a link to a chapter like this:

mloader https://mangaplus.shueisha.co.jp/titles/100037

This should work like in this screenshot:

Screenshot 2024-11-10 at 14 01 48

Does this still work? I'm trying to download all the Girl Meets Rock chapters now that it's back.

@erictbar
Copy link

Does this still work? I'm trying to download all the Girl Meets Rock chapters now that it's back.

I'm not sure about that method, but what I did, using WSA with Magisk + Google Play, a MANGA Plus MAX Standard plan, and the descriptions shown above:

Extract secret in /data/data/<MANGAPlus folder>/shared_prefs/config.xml using ADB, requires a rooted Android device or emulator.

Install Lucky Patcher to find app version (it's the 3 digit build, not the standard version number). Make sure to install the Lucky Patcher from official sources, /r/luckypatcher has info. My version as of yesterday is 183

Clone the develop branch: git clone https://github.com/hurlenko/mloader.git --branch="develop"

Edit the loader.py with the secret and app_ver found above.

This is where I'm not sure which part of what I did exactly worked, as I am not well versed in Python, but I installed the Python script within the folder, and ran
python -m mloader.__main__ https://mangaplus.shueisha.co.jp/titles/<id>/

@l0westbob
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

So after downloading android studio I just fork the repo?

No, you dont need android studio anymore. I've updated the develop branch myself in a fork i have made. The only thing you need to do right now is to install mloader from my branch. Please check the changes made in the PR before you install (never just install something because someone said so, without checking if there might be scetchy code).
Uninstall your current mloader then proceed with this (installing mloader again but from the fork and branch i have made):
pip install git+https://github.com/l0westbob/mloader.git@dev-updated
Then just run mloader with a link to a chapter like this:
mloader https://mangaplus.shueisha.co.jp/titles/100037
This should work like in this screenshot:
Screenshot 2024-11-10 at 14 01 48

Does this still work? I'm trying to download all the Girl Meets Rock chapters now that it's back.

Yes this does still work, i just tested it. If you need your own secret key to be used, you need to follow one of the 2 mentioned ways in this thread to get it. Once you have it you can replace it.

@Kaiserdragon2
Copy link

I just forked the repo and updated the develop branch so it downloads all chapters. Check the pull requests.

So after downloading android studio I just fork the repo?

No, you dont need android studio anymore. I've updated the develop branch myself in a fork i have made. The only thing you need to do right now is to install mloader from my branch. Please check the changes made in the PR before you install (never just install something because someone said so, without checking if there might be scetchy code).
Uninstall your current mloader then proceed with this (installing mloader again but from the fork and branch i have made):
pip install git+https://github.com/l0westbob/mloader.git@dev-updated
Then just run mloader with a link to a chapter like this:
mloader https://mangaplus.shueisha.co.jp/titles/100037
This should work like in this screenshot:
Screenshot 2024-11-10 at 14 01 48

Does this still work? I'm trying to download all the Girl Meets Rock chapters now that it's back.

Yes this does still work, i just tested it. If you need your own secret key to be used, you need to follow one of the 2 mentioned ways in this thread to get it. Once you have it you can replace it.

I tried your fork but always run into this error

\AppData\Local\Programs\Python\Python313\Lib\site-packages\mloader\response_pb2.py", line 1809, in <module>
    "DESCRIPTOR": _CHAPTERLISTGROUP,
                  ^^^^^^^^^^^^^^^^^
NameError: name '_CHAPTERLISTGROUP' is not defined. Did you mean: '_CHAPTERGROUP'?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests