Ride-The-Lightning / RTL

Ride The Lightning - A full function web browser app for LND, C-Lightning and Eclair
MIT License
749 stars 160 forks source link

Make baseHref configurable #308

Closed Kixunil closed 4 years ago

Kixunil commented 4 years ago

Is your feature request related to a problem? Please describe. In order to make RTL easily integrate into nginx (or apache) without conflicts, I'm planning to write an integration system which will make sure everything works and will help with renaming web apps if needed. However, that requires the ability to set custom baseHref (BTCPayServer calls it rootPath which I consider a bit nicer name). I already did part of the job and /rtl appears as changeable, but changing it would break it.

Describe the solution you'd like A new configuration option baseHref or (preferably) rootPath in the config file that would be used instead of the const.

Describe alternatives you've considered An alternative is to force the users to have only one instance of RTL and always call it /rtl/. Prevent other apps from using that name for whatever reason. This could be seen as a strange inconsistency as all other apps can change root path. Users that don't like /rtl name would find it annoying.

Additional context You can see my integration system being built here: https://github.com/Kixunil/cryptoanarchy-deb-repo-builder/ I noticed you are interested in something similar. I'm interested in joining forces, should I open a new issue?

saubyk commented 4 years ago

We have not come across any instance of conflicts for the basehref so far. Besides, this introduces technical complications at build time, which we want to avoid.

Thanks for your interest in the application though. What specific integrations are you working on? We are always open for collaboration. :-)

Kixunil commented 4 years ago

I'm trying to make setting up full functioning full node with nginx, certbot/tor, RTL, btcpay and other applications as easy as writing sudo apt install ridetheln-lnd-system-mainnet btcpayserver-system-mainnet selfhost-clearnet-certbot (or clicking it in GUI!) The system is extensible, there's possibility of adding any number of apps as long as they don't conflict in basehref.

One huge limitation of fixed /rtl path is that it will not allow me to implement multiple users, which I'd like at some point later. Sucks to hear about the build time complications, it looked to me like the variable only had to be made dynamic. It will make the RTL package uglier than the rest, but not a terrible problem until I start working on multi user, which won't be very soon, but maybe within the end of the year. I'll ping you at that time to see if anything can be done about it.

saubyk commented 4 years ago

Making RTL multi-user is something we want to support as well. In addition to other changes to support that, we would also need to create a formal database, which so far we have avoided.

Kixunil commented 4 years ago

Ah, good to hear that, I planned to do it by spawning more instances, this migt improve security, but probably not much as a theoretical vulnerability in one would likely affect all of them.