KotatsuApp / kotatsu-parsers

Manga parsers library for Kotlin/JVM and Android
https://kotatsu.app/dev/parsers-library/
GNU General Public License v3.0
131 stars 37 forks source link

Vcomic source request #1070

Open Karuto2k7 opened 2 weeks ago

Karuto2k7 commented 2 weeks ago

Source name

Vycomic

Source link

https://vivicomi.com/

Language

Vietnamese

Other details

Nsfw = yes Klowledge (I Summary from any extension like vbook and keiyoushi)

function CryptoJSAesDecrypt(passphrase, encrypted_json_string) { var obj_json = JSON.parse(encrypted_json_string); var encrypted = obj_json.ciphertext; var salt = CryptoJS.enc.Hex.parse(obj_json.salt); var iv = CryptoJS.enc.Hex.parse(obj_json.iv); var key = CryptoJS.PBKDF2(passphrase, salt, { hasher: CryptoJS.algo.SHA512, keySize: 64 / 8, iterations: 999 }); var decrypted = CryptoJS.AES.decrypt(encrypted, key, { iv: iv }); return decrypted.toString(CryptoJS.enc.Utf8); }```

Acknowledgements

dragonx943 commented 1 week ago

Source name

Vycomic

Source link

https://vivicomi.com/

Language

Vietnamese

Other details

Nsfw = yes Klowledge (I Summary from any extension like vbook and keiyoushi)

  • The extension using a3manga on keiyoushi
  • needing regex to get chapter page](Screenshot_20240918_003641_Chrome`) The code on vbook to parse this extension (it's on vbook discord NOT on github extension
l
oad('config.js');
function execute(url) {
    url = url.replace(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n?]+)/img, BASE_URL);
    var doc = fetch(url).text()
    var regex = /htmlContent\s*=\s*(".*?");/g;
    var htmlContent = JSON.parse(regex.exec(doc)[1]);
    var chapterHTML=CryptoJSAesDecrypt('EhwuFp'+'SJkhMV'+'uUPzrw',htmlContent)
    chapterHTML = chapterHTML.replace(/EhwuFp/g, '.');
    chapterHTML = chapterHTML.replace(/SJkhMV/g, ':');
    chapterHTML = chapterHTML.replace(/uUPzrw/g, '/');
    var images = Html.parse(chapterHTML).select("img")

    var listImage = []
    images.forEach(image=>{
        listImage.push(image.attr("data-ehwufp"))
    })
    return Response.success(listImage)
}

function CryptoJSAesDecrypt(passphrase, encrypted_json_string) {
        var obj_json = JSON.parse(encrypted_json_string);
        var encrypted = obj_json.ciphertext;
        var salt = CryptoJS.enc.Hex.parse(obj_json.salt);
        var iv = CryptoJS.enc.Hex.parse(obj_json.iv);
        var key = CryptoJS.PBKDF2(passphrase, salt, {
            hasher: CryptoJS.algo.SHA512,
            keySize: 64 / 8,
            iterations: 999
        });
        var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
            iv: iv
        });
        return decrypted.toString(CryptoJS.enc.Utf8);
}```
 - should create folder for a3manga to make easier source like tiemsachnho or tusavhxinhxinh)

### Acknowledgements

- [X] I have searched the existing issues and this is a new ticket, **NOT** a duplicate or related to another open issue.
- [X] I have checked that the source does not already exist on the app.
- [X] I have checked that the source does not already exist by searching the [GitHub repository](https://github.com/KotatsuApp/kotatsu-parsers) and verified it does not appear in the code base.

có tâm vô cùng share luôn cả code crawl data của source (không như web nào đó tên C****) edit: not going to do it because i have never read on that web before :p