stream torrent files from hosted web servers remotely!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Note:
-
This project started as a personal project to learn about react and docker. This was my first time working with react so the code might not be the best, I have certainly learned a lot from this project and maintaining or updating it is just too much work for me, so I have decided to open source it.
-
I have been using qBittorrent for a long time now, but I always felt that it was missing something, I wanted to be able to stream the content from my server remotely, so I decided to build this application.
-
I am not updating this project anymore, but I have plans to develop a new version of this project in the future, I will be using Next.js for the frontend, FastAPI for the backend with TailwindCSS for styling and MongoDB for the database.
-
Currently this project sends a get request at fixed intervals to get the updates, that's not the best way to do it, I will be using web sockets to get real time updates.
-
I have already started to build the core of the application as a separate module, you can check it out here (It's able to utilize the full potential of libtorrent and is blazing fast).
-
libtorrentx
also supports pause and resume of downloads, so you can pause the download and resume it later, and there will be a caching mechanism so that you don't have to download the entire file again if it's already downloaded by other users. -
The libtorrent module in this repository is now updated to use more connection threads, so that the download speed is increased (Make sure to use full magnet uri which also includes the trackers).
There are lot of times when you want to access the specific content of a torrent file but don't want to waste bandwidth on downloading the entire file, this can be solved by downloading the file on a remote server and then browsing through the files.
- With remote file browsing / download support
- Optimized for both web and mobile views, responsive layout
- Built using React and Flask ⚡
A mobile first UI design so that you can enjoy the content seamlessly, Inspired by trending designs on Dribble.
List of commonly used resources that I find helpful are listed in the acknowledgements.
The application is containarized so that you don't need to go through the hassle of installing dependencies, tech stack used to built this application is listed below.
This project is focused to run on server environment hence docker containers are used to deploy the application.
- Clone the repo
git clone https://github.com/imneonizer/autolycus.git
- Create
.env
file inside the project root folder, add the following to it (referexample.env
)POSTGRES_DB=autolycus # Postgresql database name POSTGRES_USER=admin # Postgresql username POSTGRES_PASSWORD=admin # Postgresql password API_URL=http://localhost:5000/api # Endpoint at which the api will be serving
- Run the containers
sudo docker-compose up
-
When you run the application for the very first time It will ask you to login, you can signup for a new account and login with the credentials.
-
Once logged in you can paste any valid torrent magnet link into the
Add Magnet
input field and it will start downloading the torrent file.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v3.0. See LICENSE for more information.
Nitin Rai - @imneonizer - mneonizer@gmail.com
Project Link: https://github.com/imneonizer/autolycus