Commit Graph

3823 Commits

Author SHA1 Message Date
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
beerpsi 28850cf51a
Refactor HentaiVN (#17391)
* Refactor HentaiVN

* better cookie handling
2023-08-05 10:31:17 -03:00
KirinRaikage 6f64c12a6d
Change URL for Furyosquad (#17382)
Change URL from Furyosquad to Furyosciety
2023-08-05 10:31:01 -03:00
AwkwardPeak7 92b8f4906f
AllAnime: fix filters not resetting and refactor data models (#17378)
* AllAnime: fix filters not resetting and refactor data models

* some changes

* correct domain in AndroidManifest for deep links
2023-08-05 10:30:54 -03:00
Alessandro Jean 7b48737ba8
Fix original language filter in MangaDex (#17369)
* Fix original language filter in MangaDex.

* Add new languages.
2023-08-05 10:30:45 -03:00
AwkwardPeak7 11eb5915ca
Comick: refactor code (#17364)
- fix filters not resetting
- add origination to genres
2023-08-03 14:35:06 -03:00
Alessandro Jean 12d8c314d0
Update SS to their new domain (#17354)
Update SS to their new domain.
2023-08-02 15:23:53 -03:00
beerpsi c367e3b126
Add a new `lib-i18n` to make message translation easier (#17336)
* Add support to better internationalization with a new lib.

* Add info about `lib-i18n` in the contributing guide.

* Use lib-i18n in M+ as well.

* Change properties files to UTF-8.

* use the assets/ folder instead of the res/ folder

files under assets/ are addressible by name

* mangadex: add string invalid_manga_id

* M+: Add translations for Vietnamese

* m+: Add Vietnamese to list of available languages

* mangadex: remove duplicate declarations

---------

Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-08-02 14:52:00 -03:00
Solitai7e 31ae3fc43a
Pixiv: support partial tag matches (#17330) 2023-07-31 14:38:05 -03:00
beerpsi 37a4b20ef2
JapScan: Use lib-synchrony to deobfuscate code (#17329) 2023-07-31 14:37:56 -03:00
AwkwardPeak7 d3e6595dc3
Temple Scan: fix chapter list and add latest (#17323)
* Temple Scan: fix chapter list and add latest

* bump

* small change
2023-07-31 11:01:32 -03:00
stevenyomi bbcae007e8
vomic: update override URL (#17309) 2023-07-29 13:52:43 -03:00
AwkwardPeak7 723dd523fe
Temple Scan: migrate to individual extension (#17294) 2023-07-28 22:33:07 -04:00
are-are-are 276e464021
Hentaivn Fix bug "error 404 views chapter" (#17284)
* Update build.gradle

* Fix 404 HVN
2023-07-28 22:31:47 -04:00
Solitai7e 2a47132cf9
Pixiv: fix chapter dates (#17289) 2023-07-28 22:31:34 -04:00
AwkwardPeak7 ffd04a5671
Simply Cosplay (#17291) 2023-07-28 22:31:24 -04:00
rhjdvsgsgks 15d527bac9
fix baozi img url when page need a confirm (#17297)
* baozi: use data-src as img url

* bump
2023-07-28 22:29:17 -04:00
iD-666 93e5bcf56b
Fix HTTP error 400 Status Filter (#17283)
* Change value from empty string "" to "0"

* Update build.gradle
2023-07-27 16:32:58 -03:00
Solitai7e ef403d0381
Pixiv: fix users filter (#17281)
Pixiv: Fix users filter
2023-07-27 16:32:45 -03:00
Solitai7e e8dce7f5e7
Pixiv: LruCache fix (#17279)
* Pixiv: LruCache fix

* requested changes
2023-07-27 13:53:56 -03:00
iD-666 ab0d6aceab
Add a Status search filter and remove 1 deleted sort in Comick (#17269)
* Add a Status filter and remove 1 deleted sort

* Add Status filter

* Update build.gradle
2023-07-27 09:34:10 -03:00
Solitai7e 2df5bdfa68
Pixiv: new filters, group-by-series support (#17256)
* Pixiv: new filters, group-by-series support

* requested changes

* whoops

* requested changes #2
2023-07-27 09:33:41 -03:00
Alessandro Jean a59ef3a817
Refactor the MangaDex code a bit (#17267)
* Refactor the MangaDex code a bit.

* Bump the extension version.
2023-07-26 16:18:12 -03:00
AwkwardPeak7 17f6640380
LynxScans move to MangaThemesia (#17262) 2023-07-26 12:30:01 -03:00
Alessandro Jean 369e48f362
Add migrate warning on chapter parsing in GM as well (#17249)
Add migrate warning on chapter parsing in GM as well.
2023-07-24 18:19:43 -03:00
stevenyomi 4ec625f582
vomic: override base URL preference (#17245) 2023-07-24 17:51:52 -03:00
Vetle Ledaal e34a5b4c70
MangaPoisk: update domain (#17237) 2023-07-24 17:51:33 -03:00
Alessandro Jean 3a36568ed9
Add Vietnamese language to MangaPlus (#17233)
Add Vietnamese language to MangaPlus.
2023-07-23 12:47:31 -03:00
Alessandro Jean dcf73cedee
Update GM URL and selectors (#17227)
Update GM URL and selectors.
2023-07-22 18:16:58 -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
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
felixfon 1d364c868f
Fix Manhuaren unable to get token (#17202) 2023-07-21 17:43:47 -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 4803df9e32
Niceoppai: fix duplicate manga (#17192)
Update popularManga parser
2023-07-20 22:07:20 -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
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
felixfon bbe45afa60
Fix manhuaren no value for response (#17061) (#17134) 2023-07-16 12:55:40 -03: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
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
Rolando Lecca 20823f4b55
Update Manhwas.net (#17068)
* Update ManhwasNet

* Check if sucuri exists

* Remove log
2023-07-10 15:03:38 -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
ObserverOfTime 4847904078
TheDuckWebcomics: fix image URL (#17034) 2023-07-09 10:13:46 -04:00