Skip to content
Open
Changes from all commits
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
128 changes: 88 additions & 40 deletions docs/sandbox/apps/qbittorrentvpn.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,56 +49,104 @@ saltbox_automation:

## Configuration

???+warning "Outdated guide"
Configuration for this role is set through the Saltbox inventory.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inventory directions are already under Role Defaults and don't need to be repeated.


The configuration instructions no longer apply, but are kept for reference pending an update by a user of this role.
See: https://docs.saltbox.dev/saltbox/inventory/

=== "PIA VPN"
Edit the inventory:

In `/opt/sandbox/settings.yml`, adjust the following:
```shell
sb edit inventory
```

### PIA VPN

Add or update the following variables:

```yaml
qbittorrentvpn_role_vpn_prov: "pia"
qbittorrentvpn_role_vpn_client: "wireguard"
qbittorrentvpn_role_vpn_user: "your_vpn_username"
qbittorrentvpn_role_vpn_pass: "your_vpn_password"
```

Then deploy the role.

The WireGuard configuration is generated in:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this info really Saltbox-specific? We're phasing out guides that repeat upstream documentation.


```shell
/opt/qbittorrentvpn/wireguard/wg0.conf
```

For PIA WireGuard users, the generated `wg0.conf` file persists across normal Saltbox redeploys and updates unless the appdata directory or the `wg0.conf` file is removed.

To check or change the selected endpoint, inspect or edit the `Endpoint =` line in `wg0.conf`, then restart the container.

Example:

```ini
Endpoint = france.pvt.site:1337
```

PIA changes its available endpoints and port-forwarding support over time. To see the current list of available PIA WireGuard endpoints, check the container logs after startup:

```shell
docker logs qbittorrentvpn | grep ".pvt.site"
```

Choose a listed endpoint that supports port forwarding, then set it in `wg0.conf`.

### Proton VPN WireGuard

Step 01 - Log in to [Proton VPN Account](https://account.protonvpn.com/account)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, I wonder what this stuff has to do with Saltbox. Think of what happens if those steps no longer work because something changed upstream—we'll find ourselves with an outdated guide (which is worse than no guide at all) and I don't expect you'll be around to fix it. The level of verbosity you've added makes pages harder to maintain.


Step 02 - Under the "OpenVPN / IKEv2 username" section, copy the OpenVPN / IKEv2 username. This username is also used for WireGuard.

```
qbittorrentvpn:
vpn_pass: your_vpn_password
vpn_prov: pia
vpn_user: your_vpn_username
vpn_client: wireguard
```
Step 03 - Go to [Proton VPN Downloads](https://account.protonvpn.com/downloads)

As described in the github readme linked above, then run the role.
Step 04 - Scroll down to "WireGuard configuration" and select your desired configuration options.

=== "Proton VPN (Wireguard)"
Step 05 - Under "3. Select VPN options", enable "NAT-PMP (Port Forwarding)", then download the configuration file and rename it to `wg0.conf`.

Step 01 - Please login in to [ProtonVPN-Account](https://account.protonvpn.com/account)
Step 02 - Under "OpenVPN / IKEv2 username" section —> Copy this OpenVPN / IKEv2 username [Yeah, somehow this username is required for Wireguard]
Step 03 - Go to [ProtonVPN-Downloads](https://account.protonvpn.com/downloads)
Step 04 - Scroll down to "WireGuard configuration" - Please fill/select your desired settings for the configuration.
Step 05 - Under "3. Select VPN options" —> Turn on "NAT-PMP (Port Forwarding)" —> Now download the config file and rename it to `wg0.conf`
Edit the Saltbox inventory:

Now, In `/opt/sandbox/settings.yml`, adjust the following:
```shell
sb edit inventory
```

```
qbittorrentvpn:
vpn_pass: "protonvpn-account-password"
vpn_prov: "protonvpn"
vpn_user: "<OpenVPN / IKEv2 username>+pmp" #which we've copied from Step 02
vpn_client: "wireguard"
```
Example for reference
```
qbittorrentvpn:
vpn_pass: "xdfasdicmb"
vpn_prov: "protonvpn"
vpn_user: "zuqWGtyy7SMGQM8C+pmp"
vpn_client: "wireguard"
```
As described in the github readme linked above, then run the role.
Add or update the following variables:

While the above command runs, go to this directory `/opt/qbittorrentvpn/wireguard` (Use FTP file manager like WinSCP)
if you don't see this directory wait for few seconds, while the previous command creates this.
```yaml
qbittorrentvpn_role_vpn_prov: "protonvpn"
qbittorrentvpn_role_vpn_client: "wireguard"
qbittorrentvpn_role_vpn_user: "<OpenVPN / IKEv2 username>+pmp"
qbittorrentvpn_role_vpn_pass: "protonvpn-account-password"
```

Now copy & paste your `wg0.conf' file (Refer Step 05) in this directory & Wait for the command line to complete.
If everything went well, you should see `Playbook /opt/sandbox/sandbox.yml executed successfully.`
Example:

```yaml
qbittorrentvpn_role_vpn_prov: "protonvpn"
qbittorrentvpn_role_vpn_client: "wireguard"
qbittorrentvpn_role_vpn_user: "zuqWGtyy7SMGQM8C+pmp"
qbittorrentvpn_role_vpn_pass: "xdfasdicmb"
```

Deploy the role.

While the role is running, copy your downloaded `wg0.conf` file to:

```shell
/opt/qbittorrentvpn/wireguard/wg0.conf
```

If the directory does not exist yet, wait a few seconds for the role to create it.

If everything completes successfully, you should see:

```text
Playbook /opt/sandbox/sandbox.yml executed successfully.
```

## Deployment

Expand All @@ -108,7 +156,7 @@ sb install sandbox-qbittorrentvpn

## Usage

Visit <https://qbittorrentvpn.iYOUR_DOMAIN_NAMEi>.
Visit <https://qbittorrentvpn.YOUR_DOMAIN_NAME>.

<!-- BEGIN SALTBOX MANAGED VARIABLES SECTION -->
<!-- This section is managed by sb-docs - DO NOT EDIT MANUALLY -->
Expand Down