Giter Site home page Giter Site logo

secretmapper / combustion Goto Github PK

View Code? Open in Web Editor NEW
458.0 8.0 36.0 6.23 MB

Combustion is a sleek, modern web interface for Transmission

Home Page: http://secretmapper.github.io/combustion/

License: Other

JavaScript 88.42% HTML 1.68% CSS 9.26% Shell 0.34% Dockerfile 0.31%
combustion transmission react

combustion's Introduction

Combustion

Introduction

Combustion is a sleek, modern web interface for Transmission

Installation

Latest Releases are available at: https://github.com/Secretmapper/combustion/archive/release.zip

Install by changing Default Web Theme

Simply move the files from the release archives (unzipped) to Transmission's web theme folder:

Linux: ~/.local/share/transmission/web/ (Kodi: /usr/share/transmission/web/)

OSX: /Applications/Transmission.app/Contents/Resources/web/

Install through Docker

sudo docker build -t combustion .
sudo docker run -d --restart=always -p 80:80 --link some-transmission container combustion

Install by pointing transmission to a custom directory

Transmission can allow you to point to a different web theme using the environment variable TRANSMISSION_WEB_HOME.

Move the files from the released archives (unzipped) to a folder (i.e. ~/.combustion/combustion-release). Then point the environment variable to that location (export TRANSMISSION_WEB_HOME="$HOME/.combustion/combustion-release")

Example script when using the transmission daemon:

Prepare the paths
mkdir ~/.combustion && cd ~/.combustion

Download and unzip the new theme into path ~/.combustion:
rm -f release.zip && wget https://github.com/Secretmapper/combustion/archive/release.zip && unzip release.zip;

Edit environment with "vi ~/.profile" and add/replace as below:
export TRANSMISSION_WEB_HOME="$HOME/.combustion/combustion-release"

Edit crontab with "crontab -e" and replace as below:
@reboot export TRANSMISSION_WEB_HOME="$HOME/.combustion/combustion-release" && /usr/local/bin/transmission-daemon

Stop then restart the daemon:
export TRANSMISSION_WEB_HOME="$HOME/.combustion/combustion-release" && transmission-stop && transmission-daemon;

Technology

Roadmap

  • Remote setup (Addable server)
  • Installable Desktop app (Combustion-Remote)
  • Update Notice/OTA Updates
  • Service Worker Support
  • Standalone server?
  • Native Mobile apps?

Special Thanks

This project is built from the excellent transmission web interface reimplementation react-transmission

License

MIT

combustion's People

Contributors

edulan avatar fcsonline avatar iomonad avatar lolsteve avatar peroxy avatar secretmapper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

combustion's Issues

Install via docker, not working

Greetings,

I've just put a plain vanilla ubuntu 18.04 server up in Digital Ocean. Unfortunately, none of your instructions are working.

Here's what I did:


sudo apt update && sudo apt upgrade -y

sudo apt install docker.io docker-compose -y

git clone https://github.com/Secretmapper/combustion.git

cd combustion/

sudo docker build -t combustion .

#This successfull gets me a build

#Successfully built 8dabfe418292
#Successfully tagged combustion:latest

#But as you can see, when I run your next command, it doesn't work

~/code/combustion$ sudo docker run -d --restart=always -p 80:80 --link some-transmission container combustion
Unable to find image 'container:latest' locally
docker: Error response from daemon: pull access denied for container, repository does not exist or may require 'docker login'.
See 'docker run --help'.

~/code/combustion$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES


It would be great if the docker build was tested, and the instructions were updated. This doesn't work.

Thank you advance.

JD

"Set location" of a torrent doesn't appear to do anything

I tried combustion with the assumption that it would expose the actual context menu items on mobile/touch devices.

I found an edit button next to the location (file path) of a torrent in its inspector, but after editing the path and tapping the arrow to go back (I was expecting an "apply" button) there doesn't seem to be any change. No files were moved.

How is this feature supposed to work?

Configure Combustion with NGINX reverse proxy

I've set up reverse proxy against Transmission. When I visit my domain I get the window that asks for my credentials. After entering this I just get a blanc page. However the HTML title loads. What am I doing wrong? The WebUI loads fine when entering the local IP but not via the domain name. I've disabled "rpc-whitelist-enabled".

I have this in my nginx config:
location / {
proxy_pass http://127.0.0.1:9091;
include nginxconfig.io/proxy.conf;
}

Fix firefox styles

Some styles (progressbar in particular) only use webkit specific prefixes

Followed Mac Setup - 404 on Web GUI

I just ran through the setup on my M1 Mac and am having trouble.

When I try to load the GUI, I get: 404: Not Found
Couldn't find Transmission's web interface files!

Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located.

Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir() by hand.

I've double checked that the TRANSMISSION_WEB_HOME is set properly in my profile, but it's still not loading.

I'm on a nightly build of Transmission (to get native M1 support), if that matters at all.

Icon issue

Lower left corner icon acts weird in safari on iPad. Not sure what that triangle icon should do anyway but if I press on it, it changes a bit, as if there was some grafix not fitting into that triangle shape, but nothing further happens. Pressing on it again makes the artifacts on the icon disappear again.

Settings not showing up in UI

When going to the UI, it seems none of the settings that are defined in the settings.json are visible. Everything is empty for me in the ui, while there is configuration done in the file (which is also working, as my downloads are going to the correct folder, download limit is okay, ...).

I just re downloaded the latest release to check but same result.

Kind regards
Joren C

Torrent Destination Folder not pre-filled with downlad-dir path

Transmission has a number of CLI configuration parameters (see here), one of which is download-dir. This sets the 'default' download directory.

Using the default or kettu web UIs this box is prefilled to the value of download-dir. See screenshot:
Capture2
(Download directory is pre-filled)
Whereas in combustion UI this does not happen:
Capture3
(Download directory is empty, displaying NaN TB free)

I think combustion should autofill this box based on the download-dir parameter.

Observing the source code, it appears this is the intended behaviour this.torrentUpload.setDownloadDir(this.props.session_store.settings['download-dir']); in index.js, however for some reason this does not happen.

[Feature request] Dark theme

Love the web UI but it's in dire need of a dark makeover. Is there any easy way to do this without having to manually edit the colors?

Bad docker documentation + docker version not working as expected

Hi, I found an error in the readme.
this can't work : sudo docker run -d --restart=always -p 80:80 --link some-transmission container combustion
this does : sudo docker run -d --restart=always -p 80:80 --link some-transmission combustion

In the Dockerfile I could find no trace of any link to transmission. The container starts on the webui but does not connect to transmission rpc. It tries to connect to the same adress.

my transmission docker is at : mymachine:9091
I've setup combustion to machine:9093 and when I enter the website I can see the new interface and in console log failure to reach mymachine:9093/transmission/rpc

Anybody had success with the docker version ?

Browser Bookmarlet

is there an existing API to accept magnet links? Like a URL parameter to pass while opening the link?

rpcEndpoint is hardcoded to /transmission/rpc rather than referencing the transmission config file

@action rehydrate({ statusFilter = -1, sortCriteria = 'name', sortDirection = '', compact = false, skipUpdate = false, rpcEndpoint = '/transmission/rpc' } = {}) {

I have been testing out using a non-standard rpc-url setting in the transmission config yaml file and found that using this theme it would constantly re-prompt for authentication.
Looking through the logs I found that the POST back from the server was not respecting the rpc-url settings in the config file.
Looking through the repo it looks like there is a hardcoded reference to /transmission/rpc as per the link.
I like the theme but it would be good to get this sorted.

Thanks

Suggestion: Tweaks for Desktop

While the UI is great for mobile, I feel it could use a little tweaking on desktop. Specifically:

  1. Change the left-side drawer to be a permanent drawer that stays out the whole time (possibly with an option to collapse it still)

  2. Change the rows to be 2 columns to list more torrents on one page. In addition to this, have them displayed as material-ui cards (standard cards, with spacing and shadow between the cards, to help separate the visual clutter).

[FEATURE REQUEST] Give possibility to set torrent location after it is added

Add UI to allow to change destination folder for a torrent after it is added.

Create shortcuts for predefined locations, so drop down list will allow me to select one or enter full path for destination folder.

In addition, add possibility to do reg-based rules, so matching certain strings in the torrent to place it automatically in predefined location.

Make the change destination folder to act on multiple torrents.

Nice UI....I will stick to it, as the old one it is not possible to rightclick on iPads.

[SUGGESTION] Add support for PWA

I think it would be great to add the possibility of using this as a progresive web app
In my case, I access the transmission remote UI from my ipad and my phone, so adding the possibility of "Add to homescreen" or "install this app" would be awesome (specially for the first case)

Here are some resources that I found:
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Installable_PWAs
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Add_to_home_screen
https://dev.to/zvakh/a2hs-how-to-add-the-pwa-to-home-screen-27c4

I don't know how difficult this would be, but I think this could ease a lot the use of transmission remotely, and it would make Combustion look as a native torrent client!
I would contribute with this, but I'm no web developer

[Feature Request] Extra Right Click Options

In the standard transmission-daemon WebGui you have extra right click options. Primarily two them that I use the most called "Move to Top" and "Trash Data and Remove from List" as per the below screenshot:

image

Now, this combustion UI is great and a welcome improvement to the original UI but does have limited right-click options. It actually only has one, "Resume now":

image

Whilst the "Resume Now" does start that specific download right now. I still prefer to use the queue.

I would really like to see the full list of options.

Cheers

Doesn't pull settings.

Interface is useless for settings, everything is blank. If you spend the time setting everything up, nothing is saved to the settings file.

Clearer install instructions

I'm trying to set Combustion up on my Raspberry Pi 3 box, but I'm getting no-where. If someone can walk me through the steps I'd be happy to test and write out some friendly instructions ๐Ÿ‘

Sorry to sound like such a dweeb!

Can't add a torrent

Hi, I can not add a new torrent. I open the dialog, attach a .torrent file (or insert a magnet link) and click Ok. But nothing happens. New torrent isn't appearing in torrents list.

With Default UI everything fine.

p.s. I've also tried original react UI implementation. And there was the same problem

[UX] Add text labels to icons

I can't tell what any of the buttons do, aside from guessing.

Some of the icons in the top bar have text on hover, which is at least something, but this doesn't apply to all icons. I am especially confused at what the buttons in the bottom bar do-- what is that triangle, for example? There is no indication of what it could mean, as it is too vague...

Aside from adding hover text, it would also be nice to have a UI option for showing text buttons instead of icon buttons, or icon + text.

Document build process

The only way to use this thing is to unpack release tarballs, how to get one of those from just the source tree is completely undocumented. This makes the software fairly obsolete, since the only one who can create a new usable version is @Secretmapper, and this hasn't happened in over two years.

Release up to date?

Hello, Just let you know I'm not really into code, I just can use SSH, guess things, and try to learn before asking, but after installing the theme in a manual way, I had the problem of the progress bar not displaying in percentage, or event the title saying "Combustion - Transmission ...".

Seeing the percentage issue as been solved, I was wondering how can I use the files available in this github to have an up-to-date version?

PS: Don't know if really an issue or me that can't use github, but daaaamn, this theme is great!!

Also don't know if it's because of my version or it's in a todo thing, but when making rightclick on a torrent I just have the "resume now" option, not the other ones, (remove, etc.).

Anyway, BIG thank you!!!!

Kind regards

BlockList ?

Hey, just installed your skin with a docker setup.
Previously I had a blacklist that was working fine. It's still specified in the settings.conf, but for some reason it's not showing in the UI settings.

Capture

Trying to enter the URL looks weird (2 texts overlapping) and the blocked site count is always "?"

Install by pointing transmission to a custom directory, not working

Greetings again,

I tried your other set of instructions. This is ubuntu 18.04 again.

sudo apt install transmission-daemon

vagrant@vagrant:~$ sudo service transmission-daemon status
โ— transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-01-24 20:02:12 UTC; 1min 21s ago
Main PID: 639 (transmission-da)
Status: "Idle."
Tasks: 4 (limit: 4686)
CGroup: /system.slice/transmission-daemon.service
โ””โ”€639 /usr/bin/transmission-daemon -f --log-error

Jan 24 20:02:11 vagrant systemd[1]: Starting Transmission BitTorrent Daemon...
Jan 24 20:02:12 vagrant systemd[1]: Started Transmission BitTorrent Daemon.
vagrant@vagrant:~$ export TRANSMISSION_WEB_HOME="$HOME/.combustion/combustion-release" && transmission-stop && transmission-daemon;
-bash: transmission-stop: command not found


The daemon is running but your commands don't work.

Would it be update the instructions and test?

Thank you in advance.

JD

Different Web UI used for LAN and WAN access?

I installed the UI by adding the following to /etc/systemd/system/transmission.service.d/override.conf:

[Service]
Environment="TRANSMISSION_WEB_HOME=/home/username/downloads/transmission-web-ui/combustion/combustion-release"

This worked well when I connected locally, i.e. rpi.local:9091/transmission/web, but I'm being served the old UI whenever I try to access it over WAN in the form example.com:12345/transmission/web which is NATed to the same local address and port.

Did I miss a step in my installation?

Web UI not showing active downloads

Saw someone else left a comment on your reddit post about combustion web ui not displaying active torrents. Iโ€™m having the same issue as well. No way of only displaying or sorting active torrents as that parameter always shows zero value. Other than this discrepancy, this is by far the best web ui Iโ€™ve come across!

Can't install

Hi,

Can you write the setup guide in more details? I tried your first two methods, but failed either of them. For example, where does one find the /.local folder? And I tried the docker method, and it gives me such error message "unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile: no such file or directory". Your guide is really confusing. Did you only intend for savvy linux users? Thanks.

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.