react-transmission
Introduction
React Transmission is an ongoing reimplementation of Transmission web interface.
You can find the original web interface source code here
The official Transmission repository
Goals
- Bump technology used: More modern frameworks and technologies for a better modularization, performance and correctness.
- Accelerate development: With the new set of technologies and components available in this project, new features are easier to implement.
- Javascript best practices: Better source modularization, more documentation, source linting and many other improvements.
- More reliable & accurate behaviour: Guarantee always that the interface reacts as expected and doesn't face UI race conditions.
- Tested: A set of tests to guarantee the everything works as expected.
- Internationalization: to be able to translate the interface easialy to other languages.
Roadmap
- First stage: achieve 100% feature parity with the original web interface.
- Second stage: present this project to the main Transmission development team to be evaluated
- Third stage: merge this project to the Transmission repository
- Fourth stage: improve the user interface with new features, more tests, add new languages, etc.
Technology
Requirements
- Node 4.5
- Yarn 0.19
Installation
If you want to test this project without dealing with all the Node.js stuff, you can download the lastest release from here:
https://github.com/fcsonline/react-transmission/releases
Decompress it with:
unzip react-transmission-X.X.X.zip
Then, set this environment variable in your .bashrc
export TRANSMISSION_WEB_HOME=<path to react-transmission>
And start your Transmission instance. If everything gone well, your
react-transmission
instance should be like the previous one but you can
differenciate because the background is a bit light yellow.
Happy testing!
Developement environment
To be able to build this project, execute:
git clone https://github.com/fcsonline/react-transmission
cd react-transmission
yarn install
yarn start
Open Transmission daemon and then enable the web interface from the Settings window.
Check this new interface out going to: http://localhost:3000
License
MIT