lightninglabs / lightning-terminal

Lightning Terminal: Your Home for Lightning Liquidity
MIT License
487 stars 82 forks source link

ability to set the default Lightning Node Connect aperature mailbox proxy server presented by the web GUI #586

Open AndySchroder opened 1 year ago

AndySchroder commented 1 year ago

Is your feature request related to a problem? Please describe. Need to manually assign the proxy server when creating an account in the browser, and this is reset every time you clear your cookies.

Describe the solution you'd like A configuration option for litd to set the default mailbox proxy server.

levmi commented 1 year ago

This feels like something we can easily add in via the settings in the locally hosted UX. Will check with a couple team members who are currently OOO and circle back next week. But, this feels like a good feature and fairly straightforward lift. Thanks for the feedback! :)

AndySchroder commented 1 year ago

Yes, was thinking a command line flag and/or a litd.conf entry.

Also note https://github.com/lightninglabs/lightning-terminal/issues/588 . I'd make sure these are both fixed at the same time because it seems like you might have the proxy server hard coded in two separate places.

AndySchroder commented 1 year ago

Another related useful option would be to bundle the aperture proxy server with litd like you do with some of your other services (you call it integrated mode for the other services). If that new option is enabled, then you'd have the mailbox proxy running on localhost and a good guess for the public hostname to use for the mailbox proxy server would be the one of the values of tlsextradomain, tlsextraip, letsencryptdomain, externalip, externalhosts in the lnd configuration section.

AndySchroder commented 1 year ago

Some more clarity on why one might often want to run the aperture proxy server locally:

Even if someone has a dedicated public static IP address, LNC is still useful because the PAKE + hostname/IP address are fairly easy to just type in, so you can just skip the entire QR code scanning process. This might be useful for a machine to machine interface where you want to setup a direct connection to LND, but you don't have a camera on the hardware (and it's not cost effective to integrate a camera into the product and integrate some QR code scanning software if it will only be used once), but you may have a USB port to plug in a keyboard temporarily and you can simply type in the pairing phrase and hostname/IP and you are all setup and you don't need to worry about a long macaroon or SSL certificate. Note, I filed https://github.com/lightninglabs/lightning-terminal/issues/580 because it's much simpler than fixing this issue and https://github.com/lightninglabs/lightning-node-connect/issues/71 and https://github.com/lightninglabs/lightning-node-connect/issues/70 (but we could have a simpler user experience if the more complex issues are resolved).