{"id":13760686,"url":"https://github.com/gen2brain/cbconvert","last_synced_at":"2025-04-12T22:37:28.097Z","repository":{"id":52680555,"uuid":"45221704","full_name":"gen2brain/cbconvert","owner":"gen2brain","description":"CBconvert is a Comic Book converter","archived":false,"fork":false,"pushed_at":"2024-11-08T15:01:40.000Z","size":5440,"stargazers_count":249,"open_issues_count":18,"forks_count":13,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-04T02:42:58.181Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gen2brain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-30T01:32:39.000Z","updated_at":"2025-04-04T02:33:42.000Z","dependencies_parsed_at":"2023-11-16T07:34:27.460Z","dependency_job_id":"247ea91e-e775-4edc-8ca7-5a0b287afaf9","html_url":"https://github.com/gen2brain/cbconvert","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen2brain%2Fcbconvert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen2brain%2Fcbconvert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen2brain%2Fcbconvert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen2brain%2Fcbconvert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gen2brain","download_url":"https://codeload.github.com/gen2brain/cbconvert/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248643008,"owners_count":21138353,"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":[],"created_at":"2024-08-03T13:01:16.847Z","updated_at":"2025-04-12T22:37:28.076Z","avatar_url":"https://github.com/gen2brain.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"## CBconvert\n\n### Introduction\n\nCBconvert is a [Comic Book](http://en.wikipedia.org/wiki/Comic_Book_Archive_file) converter.\n\nIt can convert comics to different formats to fit your various devices.\n\n\u003cimg src=\"cmd/cbconvert-gui/screenshots/linux-01.jpg\" width=\"700\" alt=\"screenshot\" /\u003e\n\nSee more [screenshots](https://github.com/gen2brain/cbconvert/blob/master/cmd/cbconvert-gui/screenshots/).\n\n### Features\n\n* reads CBR (RAR), CBZ (ZIP), CB7 (7Z), CBT (TAR), PDF, XPS, EPUB, MOBI, DOCX, PPTX and plain directory\n* saves processed files in ZIP archive format or TAR\n* images can be converted to JPEG, PNG, TIFF, WEBP, AVIF, JXL, or 4-Bit BMP (16 colors) image format\n* rotate, adjust brightness/contrast or grayscale images\n* resize filters (NearestNeighbor, Box, Linear, MitchellNetravali, CatmullRom, Gaussian, Lanczos)\n* export covers from comics\n* create thumbnails from covers by [FreeDesktop](http://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html) specification\n\n### Download\n\nDownload the latest binaries from the [releases](https://github.com/gen2brain/cbconvert/releases).\n\nLinux Flatpak is available at [Flathub](https://flathub.org/apps/io.github.gen2brain.cbconvert).\n\n### Compile\n\nYou must have `CGO_ENABLED=1`. Note that `Go` will disable cgo when cross-compiling.\n\nInstall to `GOBIN` (you can point `GOBIN` to e.g. `/usr/local/bin` or `~/.local/bin`):\n\n`go install github.com/gen2brain/cbconvert/cmd/cbconvert@latest`\n\nFor GUI app, check [IUP](https://github.com/gen2brain/iup-go) requirements, and then install:\n\n`go install github.com/gen2brain/cbconvert/cmd/cbconvert-gui@latest`\n\n### Build tags\n\n* `extlib` - use external `libmupdf` and `libunarr` libraries\n* `pkgconfig` - enable pkg-config (used with `extlib`)\n\n### Using cbconvert in file managers to generate FreeDesktop thumbnails\n\nCopy/install `cbconvert` cli binary to your `PATH`, create file `~/.local/share/thumbnailers/cbconvert.thumbnailer`\nand paste contents from [thumbnailer](https://github.com/gen2brain/cbconvert/tree/master/cmd/cbconvert-gui/dist/linux/io.github.gen2brain.cbconvert.thumbnailer).\n\nThis is what it looks like in the `PCManFM` file manager:\n\n\u003cimg src=\"cmd/cbconvert-gui/screenshots/thumbnails.jpg\" width=\"700\" alt=\"thumbnails\" /\u003e\n\n\n### Using command line app\n\n```\nUsage: cbconvert \u003ccommand\u003e [\u003cflags\u003e] [file1 dir1 ... fileOrDirN]\n\n\nCommands:\n\n  convert\n    \tConvert archive or document\n\n    --width\n    \tImage width (default \"0\")\n    --height\n    \tImage height (default \"0\")\n    --fit\n    \tBest fit for required width and height (default \"false\")\n    --format\n    \tImage format, valid values are jpeg, png, tiff, bmp, webp, avif, jxl (default \"jpeg\")\n    --archive\n    \tArchive format, valid values are zip, tar (default \"zip\")\n    --quality\n    \tImage quality (default \"75\")\n    --filter\n    \t0=NearestNeighbor, 1=Box, 2=Linear, 3=MitchellNetravali, 4=CatmullRom, 6=Gaussian, 7=Lanczos (default \"2\")\n    --no-cover\n    \tDo not convert the cover image (default \"false\")\n    --no-rgb\n    \tDo not convert images that have RGB colorspace (default \"false\")\n    --no-nonimage\n    \tRemove non-image files from the archive (default \"false\")\n    --no-convert\n    \tDo not transform or convert images (default \"false\")\n    --grayscale\n    \tConvert images to grayscale (monochromatic) (default \"false\")\n    --rotate\n    \tRotate images, valid values are 0, 90, 180, 270 (default \"0\")\n    --brightness\n    \tAdjust the brightness of the images, must be in the range (-100, 100) (default \"0\")\n    --contrast\n    \tAdjust the contrast of the images, must be in the range (-100, 100) (default \"0\")\n    --suffix\n    \tAdd suffix to file basename (default \"\")\n    --outdir\n    \tOutput directory (default \".\")\n    --size\n    \tProcess only files larger than size (in MB) (default \"0\")\n    --recursive\n    \tProcess subdirectories recursively (default \"false\")\n    --quiet\n    \tHide console output (default \"false\")\n\n  cover\n    \tExtract cover\n\n    --width\n    \tImage width (default \"0\")\n    --height\n    \tImage height (default \"0\")\n    --fit\n    \tBest fit for required width and height (default \"false\")\n    --format\n    \tImage format, valid values are jpeg, png, tiff, bmp, webp, avif (default \"jpeg\")\n    --quality\n    \tImage quality (default \"75\")\n    --filter\n    \t0=NearestNeighbor, 1=Box, 2=Linear, 3=MitchellNetravali, 4=CatmullRom, 6=Gaussian, 7=Lanczos (default \"2\")\n    --outdir\n    \tOutput directory (default \".\")\n    --size\n    \tProcess only files larger than size (in MB) (default \"0\")\n    --recursive\n    \tProcess subdirectories recursively (default \"false\")\n    --quiet\n    \tHide console output (default \"false\")\n\n  thumbnail\n    \tExtract cover thumbnail (freedesktop spec.)\n\n    --width\n    \tImage width (default \"0\")\n    --height\n    \tImage height (default \"0\")\n    --fit\n    \tBest fit for required width and height (default \"false\")\n    --filter\n    \t0=NearestNeighbor, 1=Box, 2=Linear, 3=MitchellNetravali, 4=CatmullRom, 6=Gaussian, 7=Lanczos (default \"2\")\n    --outdir\n    \tOutput directory (default \".\")\n    --outfile\n    \tOutput file (default \"\")\n    --size\n    \tProcess only files larger than size (in MB) (default \"0\")\n    --recursive\n    \tProcess subdirectories recursively (default \"false\")\n    --quiet\n    \tHide console output (default \"false\")\n\n  meta\n    \tCBZ metadata\n\n    --cover\n    \tPrint cover name (default \"false\")\n    --comment\n    \tPrint zip comment (default \"false\")\n    --comment-body\n    \tSet zip comment (default \"\")\n    --file-add\n    \tAdd file to archive (default \"\")\n    --file-remove\n    \tRemove file from archive (glob pattern, i.e. *.xml) (default \"\")\n\n  version\n    \tPrint version\n```\n\n### Examples\n\n* Rescale images to 1200px for all supported files found in a directory with a size larger than 60MB:\n\n`cbconvert --recursive --width 1200 --size 60 /media/comics/Thorgal/`\n\n* Convert all images in pdf to 4bit BMP images and save the result in ~/comics directory:\n\n`cbconvert --format bmp --outdir ~/comics /media/comics/Garfield/Garfield_01.pdf`\n\n[BMP](http://en.wikipedia.org/wiki/BMP_file_format) format is a very good choice for black\u0026white pages. Archive size can be smaller 2-3x and the file will be readable by comic readers.\n\n* Extract covers to ~/covers dir for all supported files found in the directory, Lanczos algorithm is used for resizing:\n\n`cbconvert cover --outdir ~/covers --filter=7 /media/comics/GrooTheWanderer/`\n\n* Convert all images to AVIF format:\n\n`cbconvert --format avif --quality 50 --width 1280 --outdir ~/comics /media/comics/Misc/`\n\n### Quality settings\n\nThis table maps quality settings for JPEG to the respective AVIF and WEBP quality settings:\n\n|              |    |    |    |    |\n|--------------|----|----|----|----|\n| JPEG quality | 50 | 60 | 70 | 80 |\n| AVIF quality | 48 | 51 | 56 | 64 |\n| WEBP quality | 55 | 64 | 72 | 82 |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgen2brain%2Fcbconvert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgen2brain%2Fcbconvert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgen2brain%2Fcbconvert/lists"}