Skip to content

Tool to download Phrack issues and merge individual articles to single issue

License

Notifications You must be signed in to change notification settings

hasanen/phrack-issue-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phrack-issue-manager

A command-line tool for managing and downloading Phrack magazine issues.

Installation & usage

cargo install phrack-issue-manager

phrack-issue-manager --help

How to Contribute

Contributions are welcome! To contribute:

  1. Fork the repository and create your branch from main.
  2. Make your changes and add tests if applicable.
  3. Ensure the project builds and passes all checks.
  4. Use Conventional Commits for your commit messages.
  5. Open a pull request describing your changes.

Please read the Commit Message Guidelines section for details on writing commit messages.

Development Environment Setup

  1. Install Rust
    • If you don't have Rust, install it from rustup.rs:
      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Clone the repository
    git clone https://github.com/hasanen/phrack-issue-manager.git
    cd phrack-issue-manager
  3. Build the project
    cargo build --release
  4. Run the tool
    cargo run -- --help

How to Use the Tool

List All Configurations

To list all available configuration keys:

cargo run -- config

Get a Single Config Value

To get the value of a specific configuration key:

cargo run -- config <config_key>

Example:

cargo run -- config download-path

Set a New Config Value

To set a configuration value:

cargo run -- config <config_key> <value>

Example:

cargo run -- config download-path ./downloads/

Download Issues

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

Commands TBD

cargo run -- sync-with-calibre # ability to sync generated txt, pdf and epub files with calibre library, with proper metadata (eg. using series-field)

Commit Message Guidelines

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.

TODO:

  • Implement commands in "Commands TBD"

About

Tool to download Phrack issues and merge individual articles to single issue

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages