Skip to content

Files

Latest commit

a4a8e26 · Feb 20, 2025

History

History
196 lines (144 loc) · 6 KB

README.md

File metadata and controls

196 lines (144 loc) · 6 KB

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