{"id":20216593,"url":"https://github.com/mateoradman/bazarr-bulk","last_synced_at":"2025-04-10T15:12:58.598Z","repository":{"id":214403392,"uuid":"736439586","full_name":"mateoradman/bazarr-bulk","owner":"mateoradman","description":"Bazarr Bulk Actions CLI","archived":false,"fork":false,"pushed_at":"2024-05-28T19:51:21.000Z","size":74,"stargazers_count":24,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-05-29T10:40:31.535Z","etag":null,"topics":["bazarr","bazarr-bulk","bulk","cli","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/bazarr-bulk","language":"Rust","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/mateoradman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-27T23:09:29.000Z","updated_at":"2024-06-07T13:28:05.687Z","dependencies_parsed_at":"2024-01-25T21:27:35.544Z","dependency_job_id":"fa099c60-7b18-4a24-9ced-ff11d1a386d3","html_url":"https://github.com/mateoradman/bazarr-bulk","commit_stats":null,"previous_names":["mateoradman/bazarr-bulk"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateoradman%2Fbazarr-bulk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateoradman%2Fbazarr-bulk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateoradman%2Fbazarr-bulk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateoradman%2Fbazarr-bulk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mateoradman","download_url":"https://codeload.github.com/mateoradman/bazarr-bulk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248243206,"owners_count":21071054,"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":["bazarr","bazarr-bulk","bulk","cli","rust"],"created_at":"2024-11-14T06:28:55.577Z","updated_at":"2025-04-10T15:12:58.572Z","avatar_url":"https://github.com/mateoradman.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BAZARR BULK CLI\n\nA CLI tool for performing actions in bulk on Bazarr movies and TV shows.  \nList of supported actions:\n\n- sync\n- ocr-fixes\n- common-fixes\n- remove-hearing-impaired\n- remove-style-tags\n- reverse-rtl\n\n## Installation\n\n### Install with cargo\n\n[bazarr-bulk](https://crates.io/crates/bazarr-bulk) is published on crates.io.  \nIn order to install a Rust crate from crates.io, it is required to have [Rust and cargo installed](https://doc.rust-lang.org/cargo/getting-started/installation.html) on your system.\n\n```sh\ncargo install bazarr-bulk\n```\n\n### Manual installation from an archive\n\n[Latest release](https://github.com/mateoradman/bazarr-bulk/releases/latest) page provides an option to manually install the bb binary from an archive. The archive is available for Linux, MacOS, and Windows.  \nDownload, extract and move the binary to the desired directory, and set execution permissions.\n\n#### Linux\n\n1. Download the Linux tar.gz archive from the latest [release](https://github.com/mateoradman/bazarr-bulk/releases/latest)\n2. Extract the archive\n\n```sh\ntar xf bazarr-bulk_*_x86_64-unknown-linux-musl.tar.gz\n```\n\n3. Move the binary\n\n```sh\nsudo mv bb /usr/local/bin\n```\n\n4. Set execution permissions\n\n```sh\nsudo chmod +x /usr/local/bin/bb\n```\n\n5. Run bb\n\n```sh\nbb --help\n```\n\n#### MacOS\n\n1. Download the MacOS (apple-darwin) ZIP archive from the latest [release](https://github.com/mateoradman/bazarr-bulk/releases/latest)\n2. Extract the archive\n\n```sh\nunzip bazarr-bulk_*_x86_64-apple-darwin.zip\n```\n\n3. Move the binary\n\n```sh\nsudo mv bb /usr/local/bin\n```\n\n4. Set execution permissions\n\n```sh\nsudo chmod +x /usr/local/bin/bb\n```\n\n5. Run bb\n\n```sh\nbb --help\n```\n\n#### Windows\n\n1. Download the Windows ZIP archive from the latest [release](https://github.com/mateoradman/bazarr-bulk/releases/latest)\n2. Extract the archive\n3. Run bb.exe\n\n## Configuration File\n\nThe [configuration file](./examples/config.json) contains various fields to set up and communicate with Bazarr. Below is a breakdown of each field and its purpose:\n\n- **`host`**:  \n  Defines Bazarr's IP address.\n\n  - Default: `\"0.0.0.0\"`\n\n- **`port`** (optional):  \n  Defines Bazarr's port. Can be omitted if Bazarr is accessible through ports 80 (HTTP) or 443 (HTTPS).\n\n  - Default: `\"6767\"` (You can change this to any available port on your server).\n\n- **`protocol`**:  \n  Specifies the protocol to be used by the service (HTTP or HTTPS). **Note: Bazarr must be available using the specified protocol.**\n\n  - Default: `\"http\"`.\n\n- **`apiKey`**:  \n  The [API key](https://wiki.bazarr.media/Additional-Configuration/Webhooks/#where-can-i-find-the-bazarr-api-key) used to authenticate Bazarr requests.\n\n  - Replace `\u003cYOUR_API_KEY\u003e` with the actual Bazarr API key.\n\n- **`baseUrl`** (optional):  \n  The [base URL](https://wiki.bazarr.media/Additional-Configuration/Settings/#url-base) or path at which the service will be accessible.\n\n  - Default: `\"\"` (You can modify this based on your application's routing needs).\n\n  Example:\n  - `http://MY-IP:MY-PORT/` baseUrl should be an empty string or omitted.\n  - `http://MY-IP:MY-PORT/bazarr/` - baseUrl should be `\"bazarr\"`.\n\n## Usage\n\n1. Create a JSON config file based on the template [file](./examples/config.json).\n2. Run `bb --config your-config.json` [movies|tv-shows] [ACTION]\n\n### CLI Manual\n\n```bash\nbb --help\n# Performs bulk operations on subtitles of movies and TV shows using Bazarr's API\n\nUsage: bb --config \u003cFILE\u003e \u003cCOMMAND\u003e\n\nCommands:\n  movies    Perform operations on movies\n  tv-shows  Perform operations on TV shows\n  help      Print this message or the help of the given subcommand(s)\n\nOptions:\n  -c, --config \u003cFILE\u003e  Path to the JSON configuration file\n  -h, --help           Print help\n```\n\n### Movies\n\n```bash\nbb movies --help\n# Perform operations on movies\n\nUsage: bb --config \u003cFILE\u003e movies [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  sync                     Sync all\n  ocr-fixes                Perform OCR fixes\n  common-fixes             Perform common fixes\n  remove-hearing-impaired  Remove hearing impaired tags from subtitles\n  remove-style-tags        Remove style tags from subtitles\n  fix-uppercase            Fix uppercase subtitles\n  reverse-rtl              Reverse RTL directioned subtitles\n  help                     Print this message or the help of the given subcommand(s)\n\nOptions:\n      --ids \u003cIDS\u003e        Filter records by Sonarr/Radarr ID (comma-separated)\n      --offset \u003cOFFSET\u003e  Skip N records (ignored if ids are specified) [default: skip none] [default: 0]\n      --limit \u003cLIMIT\u003e    Limit to N records (ignored if ids are specified) [default: unlimited]\n  -h, --help             Print help\n```\n\n### TV Shows\n\n```bash\nbb tv-shows --help\n# Perform operations on TV shows\n\nUsage: bb --config \u003cFILE\u003e tv-shows [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  sync                     Sync all\n  ocr-fixes                Perform OCR fixes\n  common-fixes             Perform common fixes\n  remove-hearing-impaired  Remove hearing impaired tags from subtitles\n  remove-style-tags        Remove style tags from subtitles\n  fix-uppercase            Fix uppercase subtitles\n  reverse-rtl              Reverse RTL directioned subtitles\n  help                     Print this message or the help of the given subcommand(s)\n\nOptions:\n      --ids \u003cIDS\u003e        Filter records by Sonarr/Radarr ID (comma-separated)\n      --offset \u003cOFFSET\u003e  Skip N records (ignored if ids are specified) [default: skip none] [default: 0]\n      --limit \u003cLIMIT\u003e    Limit to N records (ignored if ids are specified) [default: unlimited]\n  -h, --help             Print help\n```\n\n#### Sync Options\n\n```bash\nbb movies/tv-shows sync --help\n# Customize TV show/movie subtitle sync options\n\nUsage: bb movies sync [OPTIONS]\n\nOptions:\n  -r \u003cREFERENCE\u003e       Reference for sync from video file track number (a:0), subtitle (s:0), or some subtitles file path\n  -m \u003cMAX OFFSET\u003e      Seconds of offset allowed when syncing [default: null]\n  -n                   No fix framerate [default: false]\n  -g                   Use Golden-Section search [default: false]\n  -h, --help           Print help\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateoradman%2Fbazarr-bulk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateoradman%2Fbazarr-bulk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateoradman%2Fbazarr-bulk/lists"}