Giter VIP home page Giter VIP logo

transmission-client's Introduction

Transmission Client

This is a modern and fresh transmission client written in typescript, golang and socket.io as communication layer.

Motivation

Just a context

I have a raspberry with balenaOS installed in it. I started playing with it, installing some services like Plex and Samba to transfer files from my computer to the hard drive connected to the rpi.

I started downloading torrents from internet in my computer and then i would upload those files to my rpi using samba. Determined to don't deal again with this painful "flow", i installed transmission in my rpi and download directly to my external hard drive. It works perfectly but its interface it's a bit ugly.

Based on this brief summary, the motivation of this project are:

  1. Just for fun
  2. Improve my golang skills
  3. Offer a modern and fresh transmission client alternative to the community

If you are enjoying the experience with transmission like me, join to this project and let's improve it together.

Architecture

Configuration

The following table describes the available configurations, with its respective environment variable.

Name Description Env variable Default
username Transmission username T_USERNAME ""
password Transmission password T_PASSWORD ""
server_url Transmission server URL T_SERVER_URL ""
theme Used by the app to define the look and feel of the application (light, dark) T_THEME "light"

Installation

Using Docker

docker run -d \
    -e T_USERNAME=transmission \
    -e T_PASSWORD=secret \
    -e T_SERVER_URL=http://localhost:9091/transmission/rpc \
    -e T_THEME=dark \
    -p 8000:8000 mfuentesg/transmission-client

Development

This repository consists in two parts, server side and ui.

  • Client side is built in typescript based on create-react-app command. (ui folder)
  • Server side is built in golang

Pending tasks

  • Enable app to be used as desktop app
  • Improve documentation

transmission-client's People

Contributors

dependabot[bot] avatar mfuentesg avatar

Watchers

 avatar  avatar

transmission-client's Issues

Handle socket.io events properly

  • error. Fired upon a connection error
  • disconnect. Fired upon a disconnection.
  • reconnect. Fired upon a successful reconnection.
  • reconnect_attempt. Fired upon an attempt to reconnect.
  • reconnecting. Fired upon an attempt to reconnect.
  • reconnect_error. Fired upon a reconnection attempt error.
  • reconnect_failed. Fired when couldn’t reconnect within reconnection

Add pipeline for ui part

Github actions are been developed for server side app.

We need to enable same flow for ui as well.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.