The sleekest looking WEBUI for qBittorrent made with Vuejs!
Go to file
Rémi Marseault 5b9b2e0626
Some checks are pending
Build project and release / Run Release Please action (push) Waiting to run
Build project and release / Build VueTorrent (vuetorrent-build, ./vuetorrent, build) (push) Waiting to run
Build project and release / Build VueTorrent (vuetorrent-demo, ./vuetorrent-demo, build-demo) (push) Waiting to run
Build project and release / Push to nightly branch (push) Blocked by required conditions
Build project and release / Push to demo repo (push) Blocked by required conditions
Build project and release / Upload release to GitHub (push) Blocked by required conditions
Build project and release / Push to latest branch (push) Blocked by required conditions
Build project and release / Push docker mod to GHCR (push) Blocked by required conditions
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
chore(content): Swap order of invert priority calls to prevent file checking (#1792)
2024-07-18 11:31:49 -05:00
.github chore(deps): bump JamesIves/github-pages-deploy-action (#1782) 2024-07-09 09:20:55 +02:00
.vscode chore: Update VSCode plugin recommendations (#1567) 2024-03-12 03:57:47 +01:00
public feat(PWA): Add *.torrent file handler (#1754) 2024-07-09 09:23:06 +02:00
src chore(content): Swap order of invert priority calls to prevent file checking (#1792) 2024-07-18 11:31:49 -05:00
tests perf(TorrentDetail): Use colors for ratio and chips (#1662) 2024-04-25 13:26:39 +02:00
.env.development chore: MockProvider use predefined hashes (#1446) 2024-01-07 12:29:56 +01:00
.eslintignore chore: Update exclusions for linters (#1554) 2024-02-28 13:32:00 +01:00
.eslintrc.cjs feat!: Vue3 Rewrite (#757) 2023-10-20 15:15:28 +02:00
.gitignore feat(pages): Deploy mocked demo version (#1690) 2024-05-18 10:26:02 +02:00
.prettierignore chore: Update exclusions for linters (#1554) 2024-02-28 13:32:00 +01:00
.prettierrc.json feat!: Vue3 Rewrite (#757) 2023-10-20 15:15:28 +02:00
.release-please-manifest.json chore(master): release 2.10.2 (#1760) 2024-06-28 13:05:10 +02:00
CHANGELOG.md chore: update translations (#1770) 2024-06-30 08:51:33 +02:00
docker-compose.yml chore: update translations (#1681) 2024-05-12 08:19:10 +02:00
Dockerfile feat(docker): Build official LSIO mod docker image (#1756) 2024-06-28 11:08:40 +02:00
index.html perf(sw): Use relative addresses for better compatibility with reverse proxies (#1511) 2024-02-12 20:26:06 +01:00
LICENSE chore: LICENSE (#1445) 2024-01-06 21:29:55 +01:00
package-lock.json chore(deps): bump the all group with 8 updates (#1789) 2024-07-16 05:40:12 +02:00
package.json chore(deps): bump the all group with 8 updates (#1789) 2024-07-16 05:40:12 +02:00
README.md feat(PWA): Add *.torrent file handler (#1754) 2024-07-09 09:23:06 +02:00
release-please-config.json chore(ci): Clean reduce and update (#1399) 2023-12-27 09:09:51 +01:00
tsconfig.json feat: Add optional backend handling (#1547) 2024-04-15 12:25:00 +02:00
tsconfig.node.json feat!: Vue3 Rewrite (#757) 2023-10-20 15:15:28 +02:00
vite.config.ts chore: update translations (#1725) 2024-06-10 23:42:21 +02:00
VueTorrent-logo.png Feat: New Logo 2021-04-15 17:25:39 +02:00
write-version.cjs chore: Add version.txt in build (#1395) 2023-12-07 19:50:37 +01:00

VueTorrent

The sleekest looking WebUI for qBittorrent made with Vue.js!

Discord

VueTorrent

Vue Vuetify qBittorrent

stars Forks Issues Closed Closed PR Version Test Status Downloads Contributor Covenant

Screenshots

  • Desktop

Screenshot Desktop (Light Mode)

  • Desktop Dark Mode

Screenshot Desktop (Dark Mode)

  • Mobile Light Mode

Screenshot Mobile Dashboard (Light Mode) Screenshot Mobile Navbar (Light Mode)

  • Mobile Dark Mode

Screenshot Mobile Dashboard (Dark Mode) Screenshot Mobile Navbar (Dark Mode)

Demo

A live demo with mocked data is available here: https://vuetorrent.github.io/demo

[!NOTE] This version isn't connected to a qBittorrent instance.

Don't try to download torrents or change preferences, it won't work 😉

Installation

Checkout the wiki!

Development

  • Clone the repo
  • npm install
  • npm start
  • npm run lint (to format the code)
  • docker-compose up -d (starts a qbittorrent docker, optional)
  • Open the WebUI on localhost with the default credentials
    • See #1720 for more details
  • Make sure "CSRF protection" and "Host header verification" is disabled in the qBittorrent preferences
  • Edit env.development to tweak your dev environment (e.g. mocked data)

Features

  • Torrents
    • add / remove / pause / resume / rename torrents
    • selectively download files
    • view info / trackers / peers / content / tags & categories
    • search for new torrents straight from the WebUI!
  • Keyboard shortcuts!
    • Mac keymap is supported (use Cmd instead of Ctrl)
    • Press Escape to dismiss any dialogs or to return to Dashboard view
    • Dashboard
      • Select all torrents with Ctrl-A
      • Focus search input with Ctrl-F
        • Press again to enable native browser search
      • When no dialogs are opened, press Escape to unfocus search input
        • Press again to unselect all torrents
      • Delete selected torrents with Delete (Fn-Backspace on Mac)
      • Ctrl-click on a torrent card to enable multi-select mode
      • Hold Shift and click on a torrent card to select all torrents between the last selected torrent and the clicked torrent
  • System
    • see session stats (down / upload speed, session uploaded / downloaded, free space)
    • beautiful transfer graphs
    • change the most common settings
  • Extra features the default WebUI doesn't have
    • mobile friendly! (can be installed as a PWA)
    • Configureable Dashboard: choose which torrent properties are shown for both busy and completed torrents
  • Optimized for the latest version of qBittorrent
  • Additional backend for improved experience, see the repo for more info
    • This is a work in progress, and is not required to use VueTorrent
    • Stores server-side settings
  • Supports qBittorrent Enhanced Edition preferences

Important Information

VueTorrent is a WebUI (think of it as a "visual skin") that uses qBittorrent's API, enabling compatibility with automation solutions like the Servarr stack.

Everything that is compatible with the classic qBittorrent WebUI will work regardless of the WebUI you chose to use, whether its VueTorrent or another one.

Contributing

We gladly accept contributions!

Any help is appreciated, whether it's reporting bugs, suggesting enhancements, contributing code or localizing the app.

See the Contributing Guidelines for more information.

Support

  • Discord
  • Wiki
  • FAQ

If any of the above didn't help, feel free to open an issue!

See the Contributing Guidelines for more information.

Funding

All donations are appreciated but purely optional.

Checkout the sponsor section of the repository.

Contributors