ja7ad / ja7ad/hydra

feat: Add named proxy profiles + picker dropdown in new-download dialog (Related to #165 )

Open
#185 0 comments 0 reactions 0 assignees View on GitHub
feature Need To Feedback
Dominant language
Rust
Stars
586
Forks
43
Avg merge
5h 26m
Merged PRs (30d)
131

Description

### Preflight checklist

- [x] I searched [existing issues](https://github.com/ja7ad/hydra/issues?q=is%3Aissue) and this has not been proposed already.
- [x] I checked the [README](https://github.com/ja7ad/hydra/blob/main/README.md) and this is not already supported.

### Component

Desktop GUI (Hydra Download Manager)

### Problem

0.4.4 added a per-download proxy override, but it's a single free-text field.
This solves the "override per download" need but not the actual pain point:
having to retype a full proxy address every time you add a download.

Concretely, for anyone running a local SOCKS/HTTP proxy (e.g. a v2ray client
exposing a local port for filtered/restricted networks), there's no way to:
- Save a proxy as a named profile (e.g. "Local v2ray SOCKS") for reuse
- Pick from a dropdown instead of typing an address each time
- Have "recently used" or "favorite" proxies persist across dialog sessions

### Proposed solution

- **Proxy profile manager**: a small settings section to add/edit/delete
proxy profiles, each with a name, address, and type (SOCKS5 / HTTP).
- **New-download dialog**: replace the current free-text field with a
dropdown offering "System default", "No proxy", and the list of saved
profiles, plus an "Add new..." option that opens a small inline form.
- Keep the raw text field available as a fallback/advanced option for
genuine one-off proxies, but make profiles the primary, low-friction path.

### Alternatives considered

_No response_

### Platforms this should cover

- [x] Linux
- [x] macOS
- [x] Windows
- [ ] Android / iOS (via `libhydra`)

### Additional context

_No response_

### Compatibility

- [ ] This changes existing behavior (flags, defaults, output format, or the C ABI).

### Contribution

- [ ] I'm willing to open a pull request implementing this.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the existing per-download proxy override in the desktop GUI and locating the settings and new-download dialog entry points. Then determine how proxy settings persist across sessions and how the dialog represents the current override. Done means reusable named SOCKS5/HTTP profiles, profile management, dropdown choices, an add-new flow, and the raw fallback are supported on the listed desktop platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.