Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New readme #56

Merged
merged 2 commits into from
Jul 6, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 39 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,57 @@
<img align="left" width="100" height="100" src="https://github.com/micielski/rustmission/assets/73398428/91bb8875-2ce9-41d0-9e91-5705c521a825">

**Rustmission**

Performant TUI client for Transmission daemon capable of managing hundreds of torrents.
It boasts a rich feature set that surpasses many other clients, offering a seamless torrenting experience :3


#
<div align="center">
<h1><strong>Rustmission</strong></h1>
<p>
<strong>TUI for the Transmission daemon</strong>
</p>
<img src="https://raw.githubusercontent.com/intuis/rustmission/main/imgs/preview.png" />
<img src="https://github.com/micielski/rustmission/assets/73398428/68422239-aa35-45e6-a521-d8e259f7702e" />
<p>
<small>⚠️ I DO NOT PIRATE MOVIES. THE TORRENTS YOU SEE IN THIS IMAGE ARE SAMPLE DATA FABRICATED BY ARTIFICIAL INTELLIGENCE. I DO NOT CONDONE PIRACY, AND I WOULD NEVER, EVER DO SUCH THING</small>
<small>⚠️ Torrents you see are just samples fabricated by AI. Piracy is not something we tolerate here at Intuis.</small>
</p>
</div>

## Features

- **Built-in Search**: Seamlessly search for magnets directly. This is a killer feature of Rustmission.
- **Async Rust**: Utilizes Rust's async/await syntax for efficient, non-blocking IO operations.
- **Basic Operations**: Allows to add, pause, remove, fuzzy filter your torrents.
- **Basic operations**: Allows to add, pause, remove, fuzzy filter your torrents.
- **Built-in magnet search**: Search for magnets without leaving your terminal.
- **Asynchronous**: UI is always responsive.
- **RSS**: Fetch torrents automatically with a cronjob using `--fetch-rss`

## Installation

<a href="https://repology.org/project/rustmission/versions">
<img src="https://repology.org/badge/vertical-allrepos/rustmission.svg" alt="Packaging status" align="right">
</a>

To install Rustmission, ensure you have Rust and Cargo installed on your system, and then run:

```bash
cargo install rustmission
```

or with Nix:
or with Nix ( :heart: [@0x61nas](https://github.com/0x61nas) ):

```bash
nix run .
nix-shell -p rustmission
```

or with Brew:
or with Brew ( :heart: [@aidanaden](https://github.com/aidanaden) ):
```bash
brew install intuis/tap/rustmission
```

## Usage

Launch Rustmission in your terminal to initialize the configuration and make adjustments as needed. Subsequently, run Rustmission again. For a list of keybindings, press '?'.
Launch Rustmission in your terminal to initialize the config and make adjustments as needed. Subsequently, run Rustmission again. For a list of keybindings, press `?` or `F1`.

## Configuration

Rustmission stores its configuration in a TOML file located at ~/.config/rustmission/config.toml by default. You can modify this file to
set the daemon's IP address.
Rustmission stores its configuration in a TOML file located at `~/.config/rustmission/config.toml` by default. You can modify this file to
set the daemon's address.

```toml
[general]
Expand All @@ -53,24 +63,34 @@ auto_hide = false
# It can also be a hex, e.g. "#3cb371"
accent_color = "LightMagenta"

# If enabled, shows various keybindings throughout the program at the cost of a
# little bit cluttered interface.
# If enabled, shows various keybindings throughout the program at the cost of
# a little bit cluttered interface.
beginner_mode = true

# If enabled, hides header row of torrents tab
headers_hide = false

[connection]
url = "http://CHANGE_ME:9091/transmission/rpc" # REQUIRED!

# If you need username and password to authenticate:
# username = "CHANGE_ME"
# password = "CHANGE_ME"

# Refresh timings (in seconds)
torrents_refresh = 5
stats_refresh = 10
free_space_refresh = 10
```

There's also a self-documenting keymap config located at `~/.config/rustmission/keymap.toml` with sane defaults.

## Alternatives
- [Transgression](https://github.com/PanAeon/transg-tui)
- [tremc](https://github.com/tremc/tremc)
- [trt](https://github.com/murtaza-u/transmission-remote-tui)
- [stig](https://github.com/rndusr/stig)

## Contributing

Contributions are welcome! If you'd like to contribute to Rustmission, please fork the repository, make your changes, and submit a pull request!
If you'd like to contribute make sure you fork [this repo](https://github.com/intuis/rustmission) and submit a PR!
If you want to implement something major, create an issue first so it can be discussed.
Loading