Commit Graph

3804 Commits

Author SHA1 Message Date
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
felixfon f1a52a29be
Fix manhuaren no value for response (#17033) (#17035) 2023-07-09 10:13:34 -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
felixfon deb7903b1d
Fix manhuaren no value for response (#17008) (#17013) 2023-07-05 18:28:59 -04:00
Fadilah Riczky aaa067a4f9
Fix BacaKomik no pages found (#16977)
* Update BacaKomik.kt

change target document.select for fix page not found

* update extVersionCode to 5

* update bacakomik from document.select to document.getElementsByTag with cdnUrl
2023-07-03 20:56:31 -03:00
felixfon adf419c23a
Fix manhuaren no value for response (#16909) (#16976) 2023-07-03 16:13:12 -03:00
Alessandro Jean dd0a128de0
Revert `lib-i18n` addition (#16990)
* Revert "Add a new `lib-i18n` to make message translation easier (#16942)"

This reverts commit 4e17c228ca.

* Bump the versions.
2023-07-02 18:42:03 -03:00
AwkwardPeak7 6ff3045c6f
VIZ Manga (#16971)
* Viz Manga

* update readme
2023-07-02 17:39:17 -03:00
Alessandro Jean 4e17c228ca
Add a new `lib-i18n` to make message translation easier (#16942)
* 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.
2023-07-02 17:38:41 -03:00
THE_ORONCO c4b08d04e3
Fix: page ordering & broken chapter loading (#16959)
* fix: Chapter preview broke loading of all other chapters

* fix: Page ordering

* updated version

* applied PR suggestions
2023-07-02 17:38:30 -03: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
Theray Tharow abe6448516
Add Author's Notes To QuestionableContent (#16924)
* Add Author's Notes To QuestionableContent

Signed-off-by: Theray Tharow <TharowT@Tharow.net>

* Update src/en/questionablecontent/src/eu/kanade/tachiyomi/extension/en/questionablecontent/QuestionableContent.kt

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

---------

Signed-off-by: Theray Tharow <TharowT@Tharow.net>
Co-authored-by: Theray Tharow <tharowt@tharow.net>
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
2023-07-01 10:05:47 -04:00
GandalfTheGoat 061d9f4fd2
mangademon extension (#16925)
* mangademon extension

Signed-off-by: goatman <lukasshelley@hotmail.co.uk>

* changes needed

Signed-off-by: goatman <lukasshelley@hotmail.co.uk>

---------

Signed-off-by: goatman <lukasshelley@hotmail.co.uk>
2023-07-01 10:04:47 -04:00
AwkwardPeak7 fcba0e4efe
comick: improve performance (#16947)
* comick: improve performance

for real this time

* simplify logic

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

* remove redundancy

---------

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2023-07-01 10:03:51 -04:00
AwkwardPeak7 9de0f461b9
AllAnime: update url (#16948) 2023-07-01 10:02:50 -04:00
stevenyomi 672894acfe
NoyAcg: update URL (#16928) 2023-06-30 10:28:51 -04:00
Ahmad Ghoni Arrozaq 439578e5c8
Fix KomikindoID no pages found (#16941) 2023-06-30 10:28:20 -04:00
stevenyomi 12a0dfbfb3
Move ManhuaDB multisrc to individual source (#16923) 2023-06-29 13:31:58 -03:00
stevenyomi 13f9ab74aa
Split Mangabz multisrc and update Vomic (#16922) 2023-06-29 13:31:50 -03:00
AwkwardPeak7 6a106c8648
fix RCO (#16900)
* lib-synchrony

ported from aniyomiorg/aniyomi-extensions

Co-authored-by: jmir1 <43830312+jmir1@users.noreply.github.com>

* RCO: deobfuscate and extract beau function from rguard script

* fix genre filter

* bump

---------

Co-authored-by: jmir1 <43830312+jmir1@users.noreply.github.com>
2023-06-29 12:14:43 -03:00