Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Transmission

Transmission

Scheduled Pinned Locked Moved Solved App Wishlist
12 Posts 4 Posters 2.5k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mehdiM Offline
    mehdiM Offline
    mehdi
    App Dev
    wrote on last edited by
    #2

    I have started work on Transmission.

    Initial version available here : https://git.cloudron.io/mehdi/transmission-app

    Currently working:

    • Transmission web interface
    • custom auth wall
    • accepts basic auth => compatible with transmission apps & browser extensions
    • Cloudron healthcheck

    Still work to do:

    • it's based on River app, and I'm removing everything superfluous, so there's still some bloat to cleanup
    • tests
    • maybe build transmission from source instead of installing the Ubuntu package, so we can have a more up-to-date version
    girishG 1 Reply Last reply
    3
    • mehdiM mehdi

      I have started work on Transmission.

      Initial version available here : https://git.cloudron.io/mehdi/transmission-app

      Currently working:

      • Transmission web interface
      • custom auth wall
      • accepts basic auth => compatible with transmission apps & browser extensions
      • Cloudron healthcheck

      Still work to do:

      • it's based on River app, and I'm removing everything superfluous, so there's still some bloat to cleanup
      • tests
      • maybe build transmission from source instead of installing the Ubuntu package, so we can have a more up-to-date version
      girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #3

      @mehdi That's awesome! On the platform side, I am working on getting an auth proxy working (using nginx's https://gock.net/blog/2020/nginx-subrequest-authentication-server/) . I am just making a proof of concept initially but if it works well we will put it in Cloudron 6. I will make a new post when it's ready/available.

      mehdiM 1 Reply Last reply
      3
      • girishG girish

        @mehdi That's awesome! On the platform side, I am working on getting an auth proxy working (using nginx's https://gock.net/blog/2020/nginx-subrequest-authentication-server/) . I am just making a proof of concept initially but if it works well we will put it in Cloudron 6. I will make a new post when it's ready/available.

        mehdiM Offline
        mehdiM Offline
        mehdi
        App Dev
        wrote on last edited by
        #4

        @girish In this case, the auth proxy will probably have to be custom, since it has to support both a GUI login, and Basic auth for transmission apps & browser extensions... This case really makes me think it should be on the image side, not the platform...

        Also, if you want a real-life example of using the subrequest authentication, my transmission app uses it ^^

        girishG fbartelsF 2 Replies Last reply
        2
        • mehdiM mehdi

          @girish In this case, the auth proxy will probably have to be custom, since it has to support both a GUI login, and Basic auth for transmission apps & browser extensions... This case really makes me think it should be on the image side, not the platform...

          Also, if you want a real-life example of using the subrequest authentication, my transmission app uses it ^^

          girishG Offline
          girishG Offline
          girish
          Staff
          wrote on last edited by
          #5

          @mehdi Ah, I see. Let me take a close look into the transmission app. You are probably right that it does not apply to it. Currently, the proxy auth tries to target apps that don't have an idea of authentication like promotheus. Without the proxy, one has to run apache/supervisor etc just for auth. We also have a bunch of internal apps which want ldap auth, we just keep copy/pasting the same thing. We even made a module out of it - https://git.cloudron.io/cloudron/cloudron-serve but it's easy to integrate only if it's a node app.

          mehdiM 1 Reply Last reply
          1
          • mehdiM mehdi

            @girish In this case, the auth proxy will probably have to be custom, since it has to support both a GUI login, and Basic auth for transmission apps & browser extensions... This case really makes me think it should be on the image side, not the platform...

            Also, if you want a real-life example of using the subrequest authentication, my transmission app uses it ^^

            fbartelsF Offline
            fbartelsF Offline
            fbartels
            App Dev
            wrote on last edited by
            #6

            @mehdi it's a really long time ago, but I once solved this the following way (I think it was with lighttpd back then). To satisfy the single know user to transmission I added a reverse proxy in front of it and let it set the basic auth header itself. I could then add another layer of authentification on top of it.

            Example with nginx: https://serverfault.com/a/345244

            mehdiM 1 Reply Last reply
            0
            • fbartelsF fbartels

              @mehdi it's a really long time ago, but I once solved this the following way (I think it was with lighttpd back then). To satisfy the single know user to transmission I added a reverse proxy in front of it and let it set the basic auth header itself. I could then add another layer of authentification on top of it.

              Example with nginx: https://serverfault.com/a/345244

              mehdiM Offline
              mehdiM Offline
              mehdi
              App Dev
              wrote on last edited by
              #7

              @fbartels Oh it already works 🙂 The only question is how to do it as cleanly as possible 🙂

              1 Reply Last reply
              0
              • girishG girish

                @mehdi Ah, I see. Let me take a close look into the transmission app. You are probably right that it does not apply to it. Currently, the proxy auth tries to target apps that don't have an idea of authentication like promotheus. Without the proxy, one has to run apache/supervisor etc just for auth. We also have a bunch of internal apps which want ldap auth, we just keep copy/pasting the same thing. We even made a module out of it - https://git.cloudron.io/cloudron/cloudron-serve but it's easy to integrate only if it's a node app.

                mehdiM Offline
                mehdiM Offline
                mehdi
                App Dev
                wrote on last edited by
                #8

                @girish Yeah, it's a bit "bloated" because there's Nginx+Supervisor+node running, but honestly I believe it's negligible in terms of performance. The only resource-hungry one is node, and it's only called when an auth happens, so I think we can just leave it as is. No ? I'd love your opinion once you've had the chance to review and test Transmission 🙂

                girishG 1 Reply Last reply
                0
                • mehdiM mehdi

                  @girish Yeah, it's a bit "bloated" because there's Nginx+Supervisor+node running, but honestly I believe it's negligible in terms of performance. The only resource-hungry one is node, and it's only called when an auth happens, so I think we can just leave it as is. No ? I'd love your opinion once you've had the chance to review and test Transmission 🙂

                  girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by girish
                  #9

                  @mehdi Personally, I am not worried about the bloat and like you say it's not resource hungry either. The reason to do it in box code is only because we have already copy/pasted this into 4 of our internal apps now 😄 The cloudron-serve module is basically doing all this for our internal apps ldap auth minus the nginx proxy integration. Now, in addition, we have 2 prometheus apps, 1 cloud torrent app and possibly your transmission app (all of them now do the same thing with different tech stacks - node, apache, nginx..). And maybe more apps that spin off from river?

                  I want to essentially remove cloudron-serve altogether. I have managed to make it work now for our internal apps as well as prometheus. I will look into the basic auth today and see if I can make transmission extensions work. https://git.cloudron.io/cloudron/box/-/blob/master/src/proxyauth.js

                  Edit: I made a separate post now to discuss this https://forum.cloudron.io/topic/3682/proxyauth-addon

                  mehdiM 1 Reply Last reply
                  3
                  • girishG girish

                    @mehdi Personally, I am not worried about the bloat and like you say it's not resource hungry either. The reason to do it in box code is only because we have already copy/pasted this into 4 of our internal apps now 😄 The cloudron-serve module is basically doing all this for our internal apps ldap auth minus the nginx proxy integration. Now, in addition, we have 2 prometheus apps, 1 cloud torrent app and possibly your transmission app (all of them now do the same thing with different tech stacks - node, apache, nginx..). And maybe more apps that spin off from river?

                    I want to essentially remove cloudron-serve altogether. I have managed to make it work now for our internal apps as well as prometheus. I will look into the basic auth today and see if I can make transmission extensions work. https://git.cloudron.io/cloudron/box/-/blob/master/src/proxyauth.js

                    Edit: I made a separate post now to discuss this https://forum.cloudron.io/topic/3682/proxyauth-addon

                    mehdiM Offline
                    mehdiM Offline
                    mehdi
                    App Dev
                    wrote on last edited by mehdi
                    #10

                    @girish @nebulon My Transmission app is done, tests and all 🙂 https://git.cloudron.io/mehdi/transmission-app

                    In my opinion, it's ready to push to store. It may need a bit more doc, but other than that it's good to go 🙂

                    BTW, the proxyAuth addon rocks ! 😄

                    girishG 2 Replies Last reply
                    5
                    • mehdiM mehdi

                      @girish @nebulon My Transmission app is done, tests and all 🙂 https://git.cloudron.io/mehdi/transmission-app

                      In my opinion, it's ready to push to store. It may need a bit more doc, but other than that it's good to go 🙂

                      BTW, the proxyAuth addon rocks ! 😄

                      girishG Offline
                      girishG Offline
                      girish
                      Staff
                      wrote on last edited by
                      #11

                      @mehdi awesome, will get it out next week. Thanks!

                      1 Reply Last reply
                      1
                      • mehdiM mehdi

                        @girish @nebulon My Transmission app is done, tests and all 🙂 https://git.cloudron.io/mehdi/transmission-app

                        In my opinion, it's ready to push to store. It may need a bit more doc, but other than that it's good to go 🙂

                        BTW, the proxyAuth addon rocks ! 😄

                        girishG Offline
                        girishG Offline
                        girish
                        Staff
                        wrote on last edited by
                        #12

                        @mehdi uploaded as unstable. thanks! I also moved the repo to https://git.cloudron.io/cloudron/transmission-app , you should be admin for that repo.

                        1 Reply Last reply
                        1
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Bookmarks
                        • Search