Skip to content

This is a seedr.cc like web application to download torrent to a server and allow user to redownload them over http protocol.

License

Notifications You must be signed in to change notification settings

plutack/seedrlike

Repository files navigation

SEEDRLIKE

license last-commit repo-top-language repo-language-count


Table of Contents


Overview

Seedrlike is inspired by Seedr. This allows the user to add magnet links to which in turn makes them available for download over https.


Features

  • Initiate downloads using magnet links
  • Websocket for real time updates (tracking download progress and time to complete)

Project Structure

└── seedrlike/
    ├── Dockerfile
    ├── cmd
    │   └── main.go
    ├── generate.go
    ├── go.mod
    ├── go.sum
    ├── internal
    │   ├── api
    │   ├── core
    │   └── database
    ├── seedrlike
    ├── sqlc.yaml
    ├── tailwind.config.js
    └── views
        ├── assets
        ├── components
        └── layouts

Getting Started

Prerequisites

Before getting started with seedrlike, ensure your runtime environment meets the following requirements:

  • Programming Language: Go
  • Package Manager: Go modules
  • Container Runtime: Docker

Installation

Install seedrlike using one of the following methods:

Build from source:

  1. Clone the seedrlike repository:
❯ git clone https://github.com/plutack/seedrlike
  1. Navigate to the project directory:
cd seedrlike
  1. Install the project dependencies:

install goose to initialize the database after setting the enviroment variables in envrc.example. This can be set depending on the user. For local development, direnv is recommended. To install, see goose documentation

Using go modules  

❯ go build

Using docker  

❯ docker build -t {image_name} .

Usage

Before running the seedrlike binary run goose up to initialize the tables in the specified database Run seedrlike using the following command: Using go modules  

❯ go run ./cmd/main.go

Using docker  

❯ docker run -it -p 3000:3000 {image_name}

Live-app

seedrike preview 1 seedrike preview 2


Project Roadmap

  • Task 1: Fix bug: websocket complete event is not sent sometimes
  • Task 2: Bug: Fix file display size.
  • Task 3: Feat:Add test files.
  • Task 4: Feat: Keep track of file status during upload stage and send websocket events based on them.

Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/plutack/seedrlike
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

License

This project is protected under the GLWTS Public License License.


Acknowledgments


About

This is a seedr.cc like web application to download torrent to a server and allow user to redownload them over http protocol.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published