Commit Graph

154 Commits

Author SHA1 Message Date
KirinRaikage f0c7a740ba
Remove Japscan due to cat and mouse game (#17892)
* Remove Japscan due to cat and mouse game

* [skip ci] Add to REMOVED_SOURCED.md
2023-09-10 18:05:12 -03:00
Smiley32 2e05db2316
AralosBD: Added support for latest, better search and new icon (#17630)
* AralosBD: Added support for latest, better support for search and popular, new icons

* AralosBD: used the right icon generator to follow the partern used by other extensions icons

* AralosBD: updated icon to use squared version
2023-08-24 15:25:56 -03:00
arkon 2a7801e876
Move package namespace declarations out of manifests (#17581) 2023-08-18 08:58:52 -04:00
Kyrela 3060d919f2
FMTeam: complete rewrite (#17183) (#17387)
* FMTeam: complete rewrite (#17183)

* FMTeam: chapter open in webview fix

* FMTeam: versionId bump

* FMTeam: refactor code

* FMTeam: date safety

* FMTeam: unused fields in DTO removal

* FMTeam: avoid fetchMangaDetails call

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>

* FMTeam: page map refactor

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* FMTeam: pages useless manual `chapter_number` set removal

---------

Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-08-06 13:32:45 -03:00
Kyrela c3c09bfe86
AralosBD: false supportsLatest (#17389) 2023-08-06 13:09:02 -03:00
KirinRaikage 6f64c12a6d
Change URL for Furyosquad (#17382)
Change URL from Furyosquad to Furyosciety
2023-08-05 10:31:01 -03:00
beerpsi 37a4b20ef2
JapScan: Use lib-synchrony to deobfuscate code (#17329) 2023-07-31 14:37:56 -03:00
zormy111 a3543bf2b2
update of the japscan extension - the complete reverse of the JS (#17181)
* Update Japscan.kt

I completely changed the way to find the keys allowing the decryption of the base64 which contains the information of the images to be recovered. Before there was a recovery by regex, but this was not reliable because the location of these strings changes places and the order is important because it allows to reconstitute the two decryption keys. To succeed in recovering them correctly and in the right order, I debugged the javascript, which allowed me to understand how obfuscation works.

 I understood that the base64 encryption file, the zjs, was not the same file when we had a mobile useragent and a PC useragent, it is however the same key, just that they are placed at different other place
at the end of the file we have the JS which assembles the keys directly as parameters of a function:

a0_0x39cacb('0x13d') + a0_0x39cacb('0x130') + a0_0x39cacb('0x118') + '6N', a0_0x39cacb('0x145') + a0_0x39cacb('0x116') + a0_0x39cacb('0x10f') + 'oe'


we have another function here:

return a0_0x46c1 = function(_0x46c1ab, _0x5a3fac) {
        _0x46c1ab = _0x46c1ab - 0x105;
        let _0x5c76b5 = _0xd80153[_0x46c1ab];
        return _0x5c76b5;
    }


which call string array which contains the key chunks

0 : "laretiLesrap"
1 : "gnp.600/sgmi/"
2 : "atad"
3 : "daol"
4 : "8ceABpX"
..


_0x46c1ab = _0x46c1ab - 0x105;


this operation allows to know the shift in the table, for example
By subtracting 0x105 from '0x13d', we get:

317 - 261 = 56

at location 56, so at index 55 of the array we have: "ohcVEMDTYO7FpBA20zRg"

so here: a0_0x39cacb('0x13d') + a0_0x39cacb('0x130') + a0_0x39cacb('0x118') + '6N'
we replace a0_0x39cacb('0x13d')

by this chain

"ohcVEMDTYO7FpBA20zRg" + a0_0x39cacb('0x130') + a0_0x39cacb('0x118') + '6N'

and that gives us the beginning of the key
and then reverse it
and that gives us the right key

* Update build.gradle

Update build version

* Update Japscan.kt - Completely reverse JavaScript

My modification was missing part of the javascript code to reverse, this modification brings greater stability.
In the JS is decrypts the data, there is a table of character string, this table is the most important element of the decryption because it is used in almost all the functions.

What the algorithm does in a nutshell:

- he shuffles the board until he arrives at a precise position, he pushes all the elements backwards until he finds the right combination. The correct combination is determined by the sum of the digits in the character strings with a more or less complex calculation.

- It calls the table in a "hidden" way with a function that takes a hexadecimal as a parameter (which corresponds to the index in the table)

- once all the keys have been retrieved from the character string table, it assembles them, then reverses them to give the complete key


How I proceeded:

- For the correct position in the table I perform almost the same calculation as the JS but I simplify, this to a tiny margin of error. In the calculation in the JS it parses the INTs in the chain and makes calculations with it, to simplify my task I only check if ALL the elements used contain INTs, I did several debug tests and they are obliged to contain them when the position is good. So starting from this principle I would almost certainly fall on the right position.

- Once my array is correctly sorted, I can with a simple calculation managed to recover the requested element with the hexadecimal

- I reverse the keys and I test the two positions of the keys to decipher the base64

* Update Japscan.kt

Added the possibility to have the parseInt in negative

* Update Japscan.kt

Modification needed to take into account the wider possibility of script changes

* Update Japscan.kt - Add comments

Ajout des commentaires
2023-07-21 18:57:53 -04:00
RGFRv2 28f5a08ac7
Bentomanga fix chapters (#17057)
* Exclude url with style='display:none' who breaks everything

* Update gradle version
2023-07-09 10:13:18 -04:00
Rajh a70b186815
Update Japscan (#16908)
* Update Japscan.kt

Japscan splitted tables, fast fix for it
Closes #16898

* Remove Log.d messages

---------

Co-authored-by: Rajh <Rajh>
2023-07-01 10:07:17 -04:00
RGFRv2 4f1bbcdee9
Add an UserAgent on headersBuilder() to bypass Cloudflare error (#16761)
* Add an UserAgent on headersBuilder() to bypass Cloudflare error

* Add choice to set a custom UA

* Update header for imageRequest function

* Fix headers setup + remove function on setupPreferenceScreen
2023-06-20 12:10:53 -04:00
Adam B d88776ce6e
Fixed Bentomanga (#16512)
* Creation/modification of the japanread source which became
bentomanga

I left the name and the image because it's the same source
with a new interface and name (people know japanread)

* rename and udpate lib of the japanread source which became
bentomanga
+
update of build.gradle

* add old id of japanread

* Update src/fr/japanread/build.gradle

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* Update src/fr/japanread/build.gradle

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* Update src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/bentomanga.kt

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* Update src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/bentomanga.kt

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* renaming file to BentoManga

* Attempt to avoid triggering cloudflare

Can make the source slower.

* Attempt to avoid triggering cloudflare

Can make the source slower.

---------

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-06-06 05:23:01 -04:00
KirinRaikage 260633c923
MangaKawaii: Fix CDN URL (#16504)
MangaKawaii: Fix MangaKawaii CDN URL
2023-05-19 12:40:37 -04:00
Sapphire 4dec208489
Adding a new source (FMTEAM) (#16342)
Co-authored-by: Saïd Boudjenane <said.boudjenane@protonmail.ch>
2023-05-19 06:16:16 -04:00
RGFRv2 2f67ec0d6b
Bentomanga fix "No results found" (#16279)
* Update selectors paths

* Update extVersionCode

* Change title & thumbnail paths
2023-05-10 09:42:22 -04:00
stevenyomi dbfd751f3d
Remove dead sources (#15995)
* JaiminisBox.net: Closes #15526

* Scantrad.net: Closes #15567

* Hatachi Manga -> hachiraw.com, related to #15618

* Zbulu sources, related to #15842 (BeeManga, Bulu, Koo)

* Manga Hanta: Closes #15893

* Yetişkin Rüya Manga: Closes #15894 (YetiskinRuyaManga)

* Glory Scans: Closes #15895

* Manga Vadisi: Closes #15896

* Manga Sepeti: Closes #15897

* Mabushimajo: Closes #15898

* Manga Hane: Closes #15904

* LovableSubs: Closes #15905
2023-04-07 22:17:13 -04:00
Rajh 80ae017310
Update Japscan.kt (#15979)
Fix Referer
Closes #15749
2023-04-07 10:22:11 -04:00
Mylloon 8cf3472578
Update Japscan domain name (#15397)
Update domain name
2023-02-18 17:45:44 -03:00
Adam B d72a9eedf4
fix japanread source (#15361)
* Creation/modification of the japanread source which became
bentomanga

I left the name and the image because it's the same source
with a new interface and name (people know japanread)

* rename and udpate lib of the japanread source which became
bentomanga
+
update of build.gradle

* add old id of japanread

* Update src/fr/japanread/build.gradle

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* Update src/fr/japanread/build.gradle

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* Update src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/bentomanga.kt

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* Update src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/bentomanga.kt

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>

* renaming file to BentoManga

---------

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-02-18 12:31:21 -03:00
arkon e1f59a845e
Update jsoup (#15321) 2023-02-11 22:22:32 -05:00
arkon 7964dc4613
Upgrade OkHttp (#15320) 2023-02-11 17:30:31 -05:00
arkon baaee5cf21
Update linter (#15317) 2023-02-11 14:21:03 -05:00
nzoba 36a6bcdd0c
Japscan: Fix date (#15171) 2023-01-29 15:39:29 -03:00
beerpsi 2cd0dcd55f
[JapScan] Fix selectors, make ZJS more resistant (#15025)
* [JapScan] Fix selectors, make ZJS more resistant

Co-authored-by: Vetle Ledaal <13540478+vetleledaal@users.noreply.github.com>

* bump version

Co-authored-by: Vetle Ledaal <13540478+vetleledaal@users.noreply.github.com>
2023-01-19 11:26:28 -03:00
beerpsi b87aa79091
[Japscan] Rate limit (#15008)
* [Japscan] Rate limit

* idk

* handle cloudflare shenanigans leading to not finding zjs strings

* translate exceptions

* add number of lookup strings found
2023-01-18 17:16:24 -05:00
beerpsi 339f6c9f68
JapScan: yeet WebView (#14881)
* JapScan: Yeet WebView

* chore: remove unused regex
2023-01-10 20:33:26 -03:00
BRAMILLE Sébastien e12605507a
Fix japscan pagecount loading (fallback added) (#14122) 2022-11-04 07:00:33 -04:00
BRAMILLE Sébastien 2d56d12797
Fix japscan (dynamic page loading) (#14109)
* Fix japscan

* Update extVersionCode
2022-11-03 06:20:38 -04:00
Vetle Ledaal 898c9457ae
Remove broken extensions (#13451)
* Remove extensions with no A record

* Remove extensions with expired domain

* Remove extensions where DNS returns SERVFAIL
2022-09-12 22:31:30 -04:00
Mubashir Haroon 69feb45af3
update scan-manga popular request url (#13223) 2022-08-27 16:37:47 -03:00
BRAMILLE Sébastien 9884a8a060
Fix japscan download (#12827) 2022-07-31 17:58:51 -04:00
king07-0 996513d0e3
Japscan fix resources URL (#12714)
* Update build.gradle

update graddle version

* Update Japscan.kt

update ressources URL prefix
2022-07-24 19:00:15 -04:00
Arnaud Hennig 07976dcc02
Fix japscan urls (#12609) 2022-07-17 10:20:39 -04:00
Smiley32 dc03f5cd89
AralosBD: added new extension to add support for aralosbd.fr (#12581)
* AralosBD: added new extension to add support for aralosbd.fr

* AralosBD: fixed pull request

- Fixed icon format
- Removed useless configuration file
- Removed useless headers
2022-07-16 11:12:39 -04:00
Vetle Ledaal 7f9d69f458
Japanread: fix image fetch requests (#12516) 2022-07-10 18:09:24 -04:00
CriosChan 4b6faa8952
Added support for Anime Sama (#12382)
* - First functional version of extension

* - Real icons using as280093 tool

* - New icons with real tools
- Addition and modification of lessandrojean's advice to make it work well
- Manga icons in full HD

Co-authored-by: CriosChan <nc!Mtep&2ovv#7VJoPbUU6ifFu>
2022-07-01 20:06:24 -03:00
nzoba f038d263e5
Mangakawaii: Fix pagination displayed as manga (#12246) 2022-06-19 15:38:53 -04:00
arkon 341d067afc
Refactor to use app-provided rate limiting interceptors (#12087) 2022-06-05 16:33:49 -04:00
arkon 86d04b11b7
[skip ci] Address some compiler deprecation warnings (#12086) 2022-06-05 16:07:57 -04:00
nzoba 028344b84a
Change Mangakawaii urls (#11938) 2022-05-23 20:10:21 -04:00
nzoba 8f06e8b651
Few fixes chapters MangaKawaii (#11785)
* Few fixes chapters MangaKawaii

* Removes log import
2022-05-09 19:48:59 -03:00
Jimmy Abner 616fafacbf
issue #10109 (#10410)
Switch japanread to cloudflare http client
2022-01-09 12:19:54 -05:00
Smiley32 f0caa39e68
Mangakawaii: fixed search, chapter list and page list (#10405) 2022-01-09 12:19:49 -05:00
arkon 542c28875d Minor project updates
- Update kotlinter
- Opt in to serialization API to avoid IDE warnings
- Replace some deprecated OkHttp function usages
- Remove some unnecessary Android version checks/targets
2022-01-02 18:47:56 -05:00
jopejoe1 4ed8ceabe1
Updated icons to be more consistent (#10181)
* Update ZMangaGenerator.kt

* Updates Icons

* Update more Icons

* Update even more icons

* Update more icons again

* Update ReaderFrontGenerator.kt

* Update MonochromeGenerator.kt

* Update MadaraGenerator.kt

* Update FoolSlideGenerator.kt

* Update build.gradle
2021-12-21 07:48:54 -05:00
arkon 6a75de9261
Remove usage of @Nsfw annotation in favor of extension-level flagging (#9368) 2021-10-04 16:44:32 -04:00
arkon bc7d8c8672
Default libVersion to 1.2 (#9014) 2021-09-09 08:58:17 -04:00
Arraiment 6470dd5245
Migrating 3 sources to kotlinx.serialization (#8463)
* HentaiHand: Migration to kotlinx.serialization

* SimplyHentai: Migration to kotlinx.serialization

* Kangaryu: Migration to kotlinx.serialization
2021-08-08 11:38:14 -04:00
Aurélien Dussauge f07c10737f
Fix ScranTradUnion duplicate pages (#7694) (#7760) 2021-06-20 08:35:54 -04:00
Alessandro Jean 3f91c5f75e
Replace JsonParser with kotlinx.serialization in some extensions (#7620)
* Replace JsonParser with kotlinx.serialization.

* Remove wildcard import.

* Remove more usages of JsonParser.
2021-06-14 06:20:05 -04:00