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


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Solved Transmission

    App Wishlist
    4
    12
    810
    Loading More Posts
    • 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.
    • nebulon
      nebulon Staff last edited by girish

      Transmission has a web mode, it'd be nice if it was usable within cloudron.

      BONUS POINTS: connected with other apps (such as ownCloud)

      1 Reply Last reply Reply Quote 7
      • mehdi
        mehdi App Dev last edited by

        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
        girish 1 Reply Last reply Reply Quote 3
        • girish
          girish Staff @mehdi last edited by

          @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.

          mehdi 1 Reply Last reply Reply Quote 3
          • mehdi
            mehdi App Dev @girish last edited by

            @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 ^^

            girish fbartels 2 Replies Last reply Reply Quote 2
            • girish
              girish Staff @mehdi last edited by

              @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.

              mehdi 1 Reply Last reply Reply Quote 1
              • fbartels
                fbartels App Dev @mehdi last edited by

                @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

                mehdi 1 Reply Last reply Reply Quote 0
                • mehdi
                  mehdi App Dev @fbartels last edited by

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

                  1 Reply Last reply Reply Quote 0
                  • mehdi
                    mehdi App Dev @girish last edited by

                    @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 🙂

                    girish 1 Reply Last reply Reply Quote 0
                    • girish
                      girish Staff @mehdi last edited by 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

                      mehdi 1 Reply Last reply Reply Quote 3
                      • mehdi
                        mehdi App Dev @girish last edited by 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 ! 😄

                        girish 2 Replies Last reply Reply Quote 5
                        • girish
                          girish Staff @mehdi last edited by

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

                          1 Reply Last reply Reply Quote 1
                          • girish
                            girish Staff @mehdi last edited by

                            @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 Reply Quote 1
                            • First post
                              Last post
                            Powered by NodeBB