A Modern Deluge Interface
  • TypeScript 53.3%
  • Go 27%
  • HTML 13.5%
  • SCSS 4.3%
  • JavaScript 1.6%
  • Other 0.3%
Find a file
2022-01-03 10:41:54 +00:00
.github/workflows Overwrite release assets on failure (#24) 2021-12-27 17:06:31 +00:00
_docs add screenshots 2020-11-07 14:30:47 +00:00
cmd/storm Option to enable API authentication through basic API key (#14) 2021-12-26 18:41:21 +00:00
docker-compose Multi-stage artifact based GitHub builder (#18) 2021-12-27 16:21:51 +00:00
frontend Allow up to 2 decimal places in torrent progress (#29) 2022-01-03 10:41:54 +00:00
.dockerignore Multi-stage artifact based GitHub builder (#18) 2021-12-27 16:21:51 +00:00
.gitignore View and manage labels (#13) 2021-12-26 18:17:42 +00:00
api.go Option to enable API authentication through basic API key (#14) 2021-12-26 18:41:21 +00:00
Dockerfile Multi-stage artifact based GitHub builder (#18) 2021-12-27 16:21:51 +00:00
error.go Option to enable API authentication through basic API key (#14) 2021-12-26 18:41:21 +00:00
go.mod Multi-stage artifact based GitHub builder (#18) 2021-12-27 16:21:51 +00:00
go.sum Multi-stage artifact based GitHub builder (#18) 2021-12-27 16:21:51 +00:00
http.go app logging 2021-07-07 13:00:59 +01:00
LICENSE Create LICENSE 2020-11-07 14:47:44 +00:00
logo.svgz Initial public commit 2020-11-07 13:50:32 +00:00
methods.go View and manage labels (#13) 2021-12-26 18:17:42 +00:00
methods_labels.go View and manage labels (#13) 2021-12-26 18:17:42 +00:00
methods_plugins.go View and manage labels (#13) 2021-12-26 18:17:42 +00:00
pool.go Rename package deluge_api to storm 2020-11-07 13:53:15 +00:00
README.md GitHub Release Action (#16) 2021-12-27 15:45:48 +00:00
request.go View and manage labels (#13) 2021-12-26 18:17:42 +00:00
response.go Option to enable API authentication through basic API key (#14) 2021-12-26 18:41:21 +00:00
static.go go:embed packing (#11) 2021-12-19 21:28:14 +00:00

You probably have a whole media stack for managing your legitimate media files remotely.

Sometimes though, downloads can get stuck or you want to add something manually to your Torrent client. Deluge's WebUI whilst powerful is pretty much useless on mobile devices.

Introducing Storm

A slick remote interface for Deluge that fully supports mobile devices (including as a home-screen app)

 

Usage

docker run --name storm \
  --network deluge \
  -p 8221:8221 \
  -e DELUGE_RPC_HOSTNAME=deluge \
  -e DELUGE_RPC_USERNAME=username \
  -e DELUGE_RPC_PASSWORD=password \
  ghcr.io/relvacode/storm

The recommended way to run Storm is with a Docker image.

You'll need a Deluge container running with a valid auth configuration. Storm needs a way to contact the Deluge RPC daemon so it's best that you create a Docker network and attach the Storm container to that network.

Once that's setup you'll need to configure Deluge to allow remote RPC connections:

Open up core.conf in your Deluge configuration folder and set

"allow_remote": true

Then you can use the following environment variables to configure Storm

Environment Description
DELUGE_RPC_HOSTNAME The Deluge RPC hostname
DELUGE_RPC_USERNAME The username from Deluge auth
DELUGE_RPC_PASSWORD The password from Deluge auth
DELUGE_RPC_VERSION v1 or v2 depending on your Deluge version
STORM_API_KEY Enable authentication for the Storm API
STORM_BASE_PATH Set the base URL path. Defaults to /
Security

By default, Storm does not authenticate requests made to the API. When serving Storm over the public internet you should ensure access to your Deluge daemon is properly secured.

Storm comes with a simple built-in authentication mechanism which can be enabled with the environment variable STORM_API_KEY or the command-line option --api-key.

Set this to a reasonably secure password. Any requests made to Storm must now provide the API key in the request.

You should also seriously consider the use of HTTPS over the internet, with services like LetsEncrypt it's relatively easy to get a valid SSL certificate for free.