/QBitUI

Minimalist web interface for qBitTorrent. Implemented using Vite, React, Typescript and Mantine.

Primary LanguageTypeScriptMIT LicenseMIT

QBitUI

CircleCI

Minimalist web interface for qBitTorrent. Implemented using React, Typescript and Mantine.

Features

  • Torrent management: Add, Pause, Resume, Force download, Recheck, Delete, Set category, Set tags
  • Torrent filtering on: Name, State, Category, Tags
  • Torrent pagination
  • Properties, content and trackers overview for torrents
  • Selection management
  • Management of the majority of qBittorrent's preferences
  • Add new categories, edit and delete existing ones
  • Add new tags and delete existing ones
  • Transfer info overview for the active session
  • Light / Dark theme
  • Support for multiple languages: English and Romanian so far
  • Responsive mobile interface

Screenshots

Main page

Main page selection Add torrent modal Web UI Settings
Preferences modal Categories modal Create category modal
Tags modal Create tag modal Server state modal
Torrent properties modal Torrent contents modal Torrent trackers modal

Next steps

  • Add support for managing trackers and individual files for torrents
  • Add support for many more languages

Developing

  • Clone the repo
  • yarn install to install the dependencies
  • Set the env var VITE_API_URL to qBitTorrent's URL
  • yarn start to start the development server
  • yarn fix to apply linting and formatting rules

Building

Just run yarn build and the built files will be generated in the build directory.

Deploying

Running yarn deploy will build the app and copy the resulted files in the specified location (e.g. the configured qBitTorrent webui path). The path is taken from the DEPLOY_PATH environment variable

Contributions

Suggestions and improvements are most welcome If you'd like to contribute, open an Issue or a Pull Request 😊

Credits