Commit Graph

5858 Commits

Author SHA1 Message Date
Vetle Ledaal de60e5347e
Remove 1st Kiss Manga.love and 1st Kiss Manhua (#17221)
* Remove 1st Kiss Manga.love

Site redirects to 1stkissmanga.me, which exists in Tachiyomi as "1st Kiss".

* Remove 1st Kiss Manhua
2023-07-22 17:00:11 -03:00
Vetle Ledaal 55009e4415
Manga Hentai: fix path (#17220) 2023-07-22 17:00:02 -03:00
Vetle Ledaal 41fe45de25
MangaGreat: Solve JS challenge (#17217)
* MangaGreat: Solve JS challenge

* wording
2023-07-22 16:59:55 -03:00
MuhamedZ1 bad7674de5
Fix date format for Harimanga and DuniaKomik.id (#17166)
* Changes made to constructor calls of Harimanga.kt and DuniaKomikId.kt

* Removed unused import in Harimanga.kt

* Revert "Changes made to constructor calls of Harimanga.kt and DuniaKomikId.kt"

This reverts commit dc18ae3bc0c4246c9112d699e38b86352e9d521c.

* Changes made to constructor calls after revert

* Changes made to constructor calls after revert

* Added missing imports to DuniaKomikId.kt
2023-07-22 16:59:45 -03:00
Vetle Ledaal 630c947027
Bato.to: remove broken mirrors, add new mirrors (#17211)
* Bato.to: remove broken mirrors

* Bato.to: add more mirrors

* create MIRROR_PREF_ENTRY_VALUES from MIRROR_PREF_ENTRIES
2023-07-22 09:47:35 -04:00
Eshlender da0e1213a3
[RU]GroupLe country code 18+ detect (#17219)
* [RU]GroupLe country code 18+ detect

* autoclean
2023-07-22 09:47:00 -04:00
Vetle Ledaal 682050e13e
RH2PlusManga: fix page selector (#17218) 2023-07-22 09:46:45 -04:00
Vetle Ledaal a352c282f8
Mangakyo: update domain (#17214) 2023-07-22 09:46:33 -04:00
Vetle Ledaal 459fb936bb
MangaSwat: update domain (#17213)
Also fixes chapter name and date parsing
2023-07-22 09:46:25 -04:00
Vetle Ledaal 56ef9952b1
IsekaiScan.to (unoriginal): update domain (#17212)
* IsekaiScan.to (unoriginal): update domain

* fix isNsfw, and domain in generator
2023-07-22 09:46:13 -04: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
loocool2 5b1d56d15a
Remove Dead Sources from Removed Sources List (#17201)
* mangagecesi shut down

* Removed MangaNoon and Yaoi Fan Clube from list

MangaNoon now redirects to ManjaNoon, used to redirect
Yaoi Fan Clube's domain is parked

* Fix removed digit

* Removed ahstudios from regex
2023-07-21 17:44:10 -04:00
felixfon 1d364c868f
Fix Manhuaren unable to get token (#17202) 2023-07-21 17:43:47 -04:00
MuhamedZ1 6283ae313a
Added support for Black Clover Manga Online (#16823) (#17171)
* Added support for Black Clover Manga Online

* Done suggested changes

* Removed pkgname and classname

* Changed package name of ReadBlackCloverMangaOnline
2023-07-21 17:43:17 -04:00
Vetle Ledaal 6173acb9bb
TeenManhua: fix manga selector (#17205) 2023-07-21 17:42:01 -04:00
Vetle Ledaal da1cfdc5ee
WeLoveMangaOne: fix chapter and page logic (#17196) 2023-07-21 17:41:40 -04:00
Vetle Ledaal a2beada8ea
EarlyManga: update domain (#17207) 2023-07-21 17:41:25 -04:00
iD-666 d5afad1fdb
ComicK: Add new sort: "Newest" (#17188)
* ComicK: Add new sort: "Newest"

* ComicK: Update extVersionCode
2023-07-20 22:13:35 -04:00
Vetle Ledaal 5d4154f58d
Uzay Manga: fix broken thumbnails / images (#17198) 2023-07-20 22:07:58 -04:00
Vetle Ledaal f93a39807d
MG Komik: update pagination (#17194) 2023-07-20 22:07:39 -04:00
Vetle Ledaal 8bccec7f9d
Ansh Scans: fix HTTP error 404 (#17193)
Ansh Scans: fix 404 error
2023-07-20 22:07:30 -04:00
Vetle Ledaal 4803df9e32
Niceoppai: fix duplicate manga (#17192)
Update popularManga parser
2023-07-20 22:07:20 -04:00
AwkwardPeak7 8fd8a31db3
ReadAllComics: fix selector (#17190) 2023-07-20 22:06:50 -04:00
are-are-are a5f7456df4
Update domain Hentaivn and fix not show images (#17187)
* Update build.gradle

* Change base Url and fix not show images
2023-07-20 22:06:27 -04:00
stevenyomi 93cc190c6c
Roumanwu: update mirror URL (#17185) 2023-07-20 22:06:04 -04:00
stevenyomi d6b88c5ee1
Jinman Tiantang: don't update mirrors on Cloudflare errors (#17184) 2023-07-20 22:05:54 -04:00
Rolando Lecca 832ace3eff
Manhwas.net: Not show empty images (#17172)
Filter invalid imgs
2023-07-20 22:05:18 -04:00
AntsyLich a973b0aa59
Add Day Comics to REMOVED_SOURCES.md (#17162)
* Add Day Comics to REMOVED_SOURCES.md

* oops
2023-07-17 09:04:28 -04:00
AwkwardPeak7 5ce08316b0
NH: option to enable/disable random UA (#17156)
* NH: add option to disable random UA

* bump
2023-07-17 07:25:46 -04:00
Rolando Lecca 226c64ceb8
Remove dead extensions (#17148)
Remove dead sources
2023-07-16 22:45:31 -04:00
altaccosc ce701c82e3
Fix CSS selectors for Author's Notes in Webtoons (#17151)
* Fix CSS selectors for Author's Notes in Webtoons

* Bump Webtoons code version
2023-07-16 22:45:20 -04:00
arkon 1674bf1d6e
Target Android 14 (#17144) 2023-07-16 16:21:07 -04:00
arkon 08c99ded38 Repo: use package name for icon filenames to avoid unnecessary file changes 2023-07-16 15:27:28 -04:00
Rolando Lecca 75943902f4
LegionScan: Move from Madara to MangaThemesia (#17141)
Move to MangaThemesia
2023-07-16 15:14:10 -03:00
Glandu 16cb4d46dc
Update asurascans url to new one (#17140)
* Update asurascans url to new one

* Update extension version for asurascans
2023-07-16 15:13:56 -03:00
felixfon bbe45afa60
Fix manhuaren no value for response (#17061) (#17134) 2023-07-16 12:55:40 -03:00
AwkwardPeak7 be155c280f
Random UA: fix NullPointerException (#17131)
Random UA: remove dependency on uninitialized properties
2023-07-16 10:25:49 -04:00
Enriath 5cdb939669
latisbooks: fix page parsing, fix cover art (#17135)
* latisbooks: fix page parsing

Likely from a preprocessor change on the site's end, the element
containing the images had changed.

* latisbooks: fix cover art

The cover art being used for the comic is pulled from the "latest page"
preview on the archive page, which is a square image that tends to not
represent the comic very well. Additionally, recently it has failed to
load properly for whatever reason. As a remedy, I chose page 198 to be 
the proper cover. I chose it as it is an interstitial cover page
featuring the main character, with no text or elements that tie it to a
specific arc.

* latisbooks: version bump
2023-07-16 10:25:18 -04:00
AwkwardPeak7 50b5d33614
Random User-Agent Refactor (#17059)
* lib-randomua

* NHentai: Random mobile ua

* Madara random UA overhaul

* MangaThemesia random UA overhaul

* MangaHub random UA overhaul

* build errors and warnings

* remove preference from Constellar

* change to singleton object

* network.client

* fix copy paste and chapter deep link

* exit early

* use data class and enum options

* missing import

* suggested changes

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* re-add empty check to filters

* convert to interceptor

* update comment

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

* update error message

* initialize client by lazy

* dont check on excluded Filters

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* newlines

* move preference helper function into lib

* move preference helper function into lib x2

* move check to lib too

* move defaultRandomUserAgentType to constructor

* rename the interceptor

* organize the interceptor and preference stuff in different files

* hide custom ua setting when random ua is enabled

* English

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* catch specific exception

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* setVisible()

fresh stuff

* setVisible()

fresh stuff

* change summary

* workaround

* Update error message

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

* Update comment

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

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-07-15 19:52:35 -03:00
Alessandro Jean 71f69252ad
Add a new source to MangaThemesia (#17123)
Add a new source to MangaThemesia.
2023-07-15 19:29:37 -03:00
Alessandro Jean 02e0fce955
Add two new sources to Madara (#17122)
Add two new sources to Madara.
2023-07-15 19:29:27 -03:00
KirinRaikage 0997aa4107
Cleanup dead French MMRCMS sources and update Lelscan URL (#17060)
* Cleanup dead French MMRCMS sources and update Lelscan URL

* Revert "Cleanup dead French MMRCMS sources and update Lelscan URL"

This reverts commit ed91f2564e56fc23239fbe2808ad259feeb9c426.

* Removing sources and updating SourceData manually instead of using JsonGen to update
2023-07-15 17:44:15 -03:00
KirinRaikage b7259b905a
Fix Sushiscan error 404 (#17112) 2023-07-15 17:44:01 -03:00
anewadventure 1b0d3c9e10
Changed domain for hentaivn (#17088) 2023-07-13 16:03:27 -03:00
Eshlender 1e2bce3809
Remanga alt search (#17099)
* [RU]Remanga alt search

* [RU]Remanga alt search

* exHeaders

* pages
2023-07-13 13:52:44 -03:00
Rolando Lecca 37476be2fe
Manhwas.net: bypass sucuri (#17093)
* Bypass Sucuri

* Use jsoup to find script

* Use CookieManager

* Use CookieManager
2023-07-13 13:52:34 -03:00
Alexander Chernov 3b91d66b9b
fix: uri must not be null on mmscans, switched to ajax loading, fix 4… (#17076)
* fix: uri must not be null on mmscans, switched to ajax loading, fix 404 on the last page

* Update multisrc/overrides/madara/mmscans/src/MMScans.kt

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

* mmscans: renamed some func

---------

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-07-11 20:21:55 -03:00
Rolando Lecca 20823f4b55
Update Manhwas.net (#17068)
* Update ManhwasNet

* Check if sucuri exists

* Remove log
2023-07-10 15:03:38 -04:00
arkon 20ffd8c649
Bump extensions-lib for Preference#setVisible (#17066) 2023-07-10 10:51:55 -04:00
Sofie 626723cd40
fix(id/doujindesu): fix chapter does not load (#17027)
* fix chapter does not load

* Update build.gradle

* fix thumbnail

* fix all request

* change request
2023-07-09 13:55:04 -03:00