| Crates.io | phrack-issue-manager |
| lib.rs | phrack-issue-manager |
| version | 0.1.1 |
| created_at | 2025-11-13 18:31:04.894689+00 |
| updated_at | 2025-11-13 18:40:31.696523+00 |
| description | A command-line tool for managing and downloading Phrack magazine issues |
| homepage | https://github.com/hasanen/phrack-issue-manager |
| repository | https://github.com/hasanen/phrack-issue-manager |
| max_upload_size | |
| id | 1931687 |
| size | 1,315,807 |
A command-line tool for managing and downloading Phrack magazine issues.
cargo install phrack-issue-manager
phrack-issue-manager --help
Contributions are welcome! To contribute:
main.Please read the Commit Message Guidelines section for details on writing commit messages.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/hasanen/phrack-issue-manager.git
cd phrack-issue-manager
cargo build --release
cargo run -- --help
To list all available configuration keys:
cargo run -- config
To get the value of a specific configuration key:
cargo run -- config <config_key>
Example:
cargo run -- config download-path
To set a configuration value:
cargo run -- config <config_key> <value>
Example:
cargo run -- config download-path ./downloads/
Download a single issue:
cargo run -- download-issue --issue 1
Download a single issue and refresh (remove old downloaded issue first):
cargo run -- download-issue --issue 1 --refresh
Download all non-downloaded issues:
cargo run -- download-issue --all-issues
Purge existing downloads and re-download all issues:
cargo run -- download-issue --all-issues --refresh
Export single or all issues as one txt file. Other supported formats are pdf or epub.
cargo run -- export-issue --issue 1 --format txt --output-path ./path # generates single .txt of all articles
cargo run -- export-issue --all-issues --format txt --output-path ./path # generates single .txt of all articles per publication/issue
cargo run -- sync-with-calibre # ability to sync generated txt, pdf and epub files with calibre library, with proper metadata (eg. using series-field)
This project uses the Conventional Commits specification for commit messages. Please use this format when making commits. Example types include feat, fix, docs, chore, and more. This helps automate changelogs and maintain a clear project history.
Example:
feat: add config subcommand
fix(config): handle missing config file error
docs: update README with usage instructions
refactor: simplify download logic
test: add tests for config parser
chore: update dependencies
For more details, see the Conventional Commits documentation.