{"id":17275859,"url":"https://github.com/btzr-io/villain","last_synced_at":"2025-04-04T13:06:09.718Z","repository":{"id":22912818,"uuid":"97657876","full_name":"btzr-io/Villain","owner":"btzr-io","description":"A free and open source web-based comic book reader.","archived":false,"fork":false,"pushed_at":"2022-12-10T17:20:41.000Z","size":20452,"stargazers_count":258,"open_issues_count":26,"forks_count":103,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-29T23:44:51.409Z","etag":null,"topics":["archive","comic","comic-books","comics-reader","libarchive","react","reader","viewer"],"latest_commit_sha":null,"homepage":"https://villain.js.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/btzr-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":"villain","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://github.com/btzr-io/Villain/blob/master/SUPPORT.md#donations"}},"created_at":"2017-07-19T01:09:12.000Z","updated_at":"2024-10-12T06:04:06.000Z","dependencies_parsed_at":"2023-01-14T01:00:13.596Z","dependency_job_id":null,"html_url":"https://github.com/btzr-io/Villain","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btzr-io%2FVillain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btzr-io%2FVillain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btzr-io%2FVillain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/btzr-io%2FVillain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/btzr-io","download_url":"https://codeload.github.com/btzr-io/Villain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182389,"owners_count":20897381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive","comic","comic-books","comics-reader","libarchive","react","reader","viewer"],"created_at":"2024-10-15T08:57:24.457Z","updated_at":"2025-04-04T13:06:09.668Z","avatar_url":"https://github.com/btzr-io.png","language":"JavaScript","funding_links":["https://opencollective.com/villain","https://github.com/btzr-io/Villain/blob/master/SUPPORT.md#donations"],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=center\u003e\n \u003cimg width=\"40%\" alt=\"Villain logo\" src=\"https://raw.githubusercontent.com/btzr-io/Villain/master/artworks/logo.svg?sanitize=true\" /\u003e\n\u003c/h2\u003e\n\n\u003ch4 align=\"center\"\u003e\nThe open source web-based comic book reader that you need, but don't deserve.\n\u003c/h4\u003e\n\n\u003ch3 align=center\u003e\n \u003ca href=\"https://www.npmjs.com/package/villain-react\" title=\"dependencies status\"\u003e\n  \u003cimg alt=\"npm\" src=\"https://img.shields.io/npm/v/villain-react\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://opencollective.com/villain\"\u003e\n  \u003cimg alt=\"Open Collective sponsors\" src=\"https://img.shields.io/opencollective/sponsors/villain\"\u003e\n \u003c/a\u003e\n\u003ca href=\"https://github.com/btzr-io/Villain/graphs/contributors\"\u003e\n  \u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/btzr-io/Villain.svg\" alt=\"contributors\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/btzr-io/Villain/blob/master/LICENSE\"\u003e\n  \u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/btzr-io/Villain\"\u003e\n \u003c/a\u003e\n  \u003ca href=\"https://github.com/lerna/lerna\"\u003e\n \u003cimg alt=\"Lerna\" src=\"https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg\"\u003e\n \u003c/a\u003e\n\u003c/h3\u003e\n\u003cbr/\u003e\n\u003ch3 align=\"center\"\u003e\n \u003cimg alt=\"Screen preview\" src=\"https://raw.githubusercontent.com/btzr-io/Villain/master/artworks/Screenshot_2019-11-27%20Villain%20Demo.png\"\u003e\n\u003c/h3\u003e\n\n## What?\n\nA simple open source web-based reader for:\n\n- Manga\n- Comic books\n- Graphic novels\n- Illustrated books\n\nWorks on the client side and is easy to integrate on any modern website or react application.\n\n## How?\n\nIt relays on cutting-edge web apis and frameworks like react, webworkers and webAssembly:\n\n- Dont expect it to work on a hot potato\n- Usage with modern browsers is recommended\n\n## Features\n\n- Dark / light theme\n- Manga mode ( Read right to left or default left to right )\n- Full screen mode ( Browser fullscreen API integration )\n- Easy page navigation : prev / next page buttons, slider component as well and a text input for accessibility\n- Keyboard shortcuts ( I need to document this )\n- Localization of strings ( Multi language support for the UI )\n- Layout mode : Single page / Book ( two pages )\n\nA killer feature is missing ? Open a [feature request](https://github.com/btzr-io/Villain/issues/new?assignees=\u0026labels=\u0026template=feature_request.md\u0026title=)\n\n## Formats\n\nSupported archives formats by [`libarchive.js`](https://github.com/nika-begiashvili/libarchivejs)\n\n- `ZIP`\n- `7-Zip`\n- `RAR v4`\n- `RAR v5`\n- `TAR`\n\n## Development\n\nThis repository is now a `mono-repo` and is maintained with [lerna](https://github.com/lerna/lerna)\n\n### Setup\n\nBefore you jump in the code please follow the initial setup guide for development:\n\n1. Clone or fork this repository.\n2. Run `yarn` command to install the project dependencies.\n3. Run `yarn bootstrap` to install all dependencies from internal packages and link any cross-dependencies.\n\nThats it! Now you are ready to start fixing bugs and implementing new features. :tada:\n\n### Packages\n\nAvailable packages living inside this repository:\n\n| Name                                                                                   | version      | Description         |\n| -------------------------------------------------------------------------------------- | ------------ | ------------------- |\n| [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/villain-web)     | 0.0.1 (beta) | web app + embed api |\n| [villain-react](https://github.com/btzr-io/Villain/tree/master/packages/villain-react) | 1.0.7        | react component     |\n\n### Commands\n\nAvailable package scripts for development:\n\n| Name          | Description                                                                                                                                             |\n| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| deploy        | Deploy [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/villain-web) to github pages                                               |\n| bootstrap     | Bootstrap the packages in the current mono repo                                                                                                         |\n| start:web     | Start development webpack-dev-server (includes hot-reloading) of [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/villain-web)     |\n| build:web     | Build production version of [villain-web](https://github.com/btzr-io/Villain/tree/master/packages/villain-web)                                          |\n| start:react   | Start development webpack-dev-server (includes hot-reloading) of [villain-react](https://github.com/btzr-io/Villain/tree/master/packages/villain-react) |\n| build:react   | Build production version of [villain-react](https://github.com/btzr-io/Villain/tree/master/packages/villain-react)                                      |\n| docs:copy     | Prepare documents for docsify-cli                                                                                                                       |\n| docsify:serve | Serve docsify generated document on localhost:3000                                                                                                      |\n\n```sh\nyarn command-name\n```\n\n## Known issues\n\n- Accessibility issues [#23](https://github.com/btzr-io/Villain/issues/23)\n- Some `.rar` and `.cbr` fail to load [#1](https://github.com/btzr-io/Villain/issues/1)\n- Encrypted archived are not yet supported [#26](https://github.com/btzr-io/Villain/issues/26)\n\n## Credits\n\n- :hammer_and_wrench: Created and maintained by [@btzr-io](https://github.com/btzr-io) with the help of some awesome [contributors](https://github.com/btzr-io/Villain/graphs/contributors).\n\n- :art: Logo and artworks designed by [@btzr-io](https://github.com/btzr-io), see [license](https://github.com/btzr-io/Villain/blob/master/artworks/ARTWORKS_LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtzr-io%2Fvillain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbtzr-io%2Fvillain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtzr-io%2Fvillain/lists"}