{"id":26662707,"url":"https://github.com/hurlenko/orly","last_synced_at":"2025-04-11T18:23:11.946Z","repository":{"id":45798839,"uuid":"387597674","full_name":"hurlenko/orly","owner":"hurlenko","description":"Download O'Reilly books as EPUB.","archived":false,"fork":false,"pushed_at":"2024-07-10T10:17:09.000Z","size":185,"stargazers_count":79,"open_issues_count":3,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-11T18:23:03.895Z","etag":null,"topics":["epub","oreilly","oreilly-books","oreilly-books-downloader"],"latest_commit_sha":null,"homepage":"","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/hurlenko.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":"2021-07-19T21:24:37.000Z","updated_at":"2025-03-16T09:57:11.000Z","dependencies_parsed_at":"2024-07-08T22:38:58.772Z","dependency_job_id":null,"html_url":"https://github.com/hurlenko/orly","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.36363636363636365","last_synced_commit":"b6c05c403ec7fd1e780a9a8073d96c31b569924b"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurlenko%2Forly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurlenko%2Forly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurlenko%2Forly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hurlenko%2Forly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hurlenko","download_url":"https://codeload.github.com/hurlenko/orly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248456383,"owners_count":21106607,"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":["epub","oreilly","oreilly-books","oreilly-books-downloader"],"created_at":"2025-03-25T14:17:55.440Z","updated_at":"2025-04-11T18:23:11.917Z","avatar_url":"https://github.com/hurlenko.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- omit in toc --\u003e\r\n# orly\r\n\r\nDownload O'Reilly books as EPUB.\r\n\r\n![GitHub release](https://img.shields.io/github/v/release/hurlenko/orly)\r\n![Downloads](https://img.shields.io/github/downloads/hurlenko/orly/latest/total)\r\n![Crates.io](https://img.shields.io/crates/d/orly)\r\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\r\n\r\n\u003c!-- omit in toc --\u003e\r\n## Table of Contents\r\n\r\n- [Installation](#installation)\r\n  - [Github releases (recommended)](#github-releases-recommended)\r\n  - [Cargo](#cargo)\r\n- [Usage](#usage)\r\n- [Command line interface](#command-line-interface)\r\n\r\n## Installation\r\n\r\n### Github releases (recommended)\r\n\r\n**[Archives of precompiled binaries for orly are available for Windows,\r\nmacOS and Linux.](https://github.com/hurlenko/orly/releases)** Linux and\r\nWindows binaries are static executables.\r\n\r\n### Cargo\r\n\r\nIf you're a **Rust programmer**, orly can be installed with `cargo`.\r\n\r\n    \u003e Note that the minimum supported version of Rust for `orly` is **1.54.0**.\r\n\r\nYou need to install the development headers of `libxml2` first. The process depends on the OS being used:\r\n\r\n- Windows\r\n\r\n    First install [vcpkg](https://github.com/microsoft/vcpkg). After that install `libxml2`:\r\n\r\n    ```bash\r\n    vcpkg install libxml2:x64-windows-static\r\n    ```\r\n\r\n    Export compiler options to force static linking:\r\n    ```bash\r\n    $env:RUSTFLAGS=\"-Ctarget-feature=+crt-static\"\r\n    ```\r\n\r\n- Linux\r\n\r\n    On linux systems you'd `pkg-config`. For Debian-based distributions:\r\n\r\n    ```bash\r\n    apt-get install libxml2-dev pkg-config\r\n    ```\r\n\r\n- macOS\r\n  \r\n    Use `brew` to install `libxml2` and `pkg-config`:\r\n\r\n    ```bash\r\n    brew install libxml2 pkg-config\r\n    ```\r\n\r\nFinally install `orly`:\r\n\r\n```bash\r\ncargo install orly\r\n```\r\n\r\nAfter installation, the `orly` command will be available. Check the [command line](#command-line-interface) section for supported commands.\r\n\r\n## Usage\r\n\r\n- You will need an O'Reily account with a non-expired subscription.\r\n\r\n- Find the book you want to download and copy its id (the digits at the end of the url).\r\n\r\n- Use your credentials or a cookie string to download the book:\r\n\r\n    ```bash\r\n    orly 1234567890 --creds \"email@example.com\" \"password\"\r\n    # or\r\n    orly 1234567890 --cookie 'BrowserCookie=....'\r\n    ```\r\n\r\n## Command line interface\r\n\r\nCurrently `orly` supports these commands\r\n\r\n```bash\r\nUSAGE:\r\n    orly [OPTIONS] \u003cBOOK_IDS\u003e...\r\n\r\nARGS:\r\n    \u003cBOOK_IDS\u003e...    Book ID to download. Digits from the URL\r\n\r\nOPTIONS:\r\n    -c, --creds \u003cEMAIL\u003e \u003cPASSWORD\u003e    Sign in credentials\r\n        --cookie \u003cCOOKIE_STRING\u003e      Cookie string\r\n    -h, --help                        Print help information\r\n    -k, --kindle                      Apply CSS tweaks for kindle devices\r\n    -o, --output \u003cOUTPUT DIR\u003e         Directory to save the final epub to [default: .]\r\n    -t, --threads \u003cTHREADS\u003e           Maximum number of concurrent http requests [default: 20]\r\n    -v, --verbose                     Level of verbosity\r\n    -V, --version                     Print version information\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhurlenko%2Forly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhurlenko%2Forly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhurlenko%2Forly/lists"}