-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Is your feature request related to a problem? Please describe.
The localproxy supports multiple services, however, the aws.greengrass.SecureTunneling component only appears to be compatible with simple (SSH) connections.
Describe the solution you'd like
I'd like to be able to specify more complex localproxy configurations via the aws.greengrass.SecureTunneling component, preferrably through the component configuration.
Describe alternatives you've considered
We're currently trying to set up a combination of SSH & VNC connections over Secure Tunneling. Since the aws.greengrass.SecureTunneling component only appears to support SSH, we are having to manually pull and build the localproxy code, subscribe to the tunnel token MQTT topic, and start the localproxy with the token and desired destination ports, all deployed via a custom greengrass component, which presumably does most of what the AWS component already does, just to pass in a single parameter that is already supported by the localproxy code. This is a lot of overhead.
Additional context
https://docs.aws.amazon.com/greengrass/v2/developerguide/secure-tunneling-component.html#secure-tunneling-component-configuration
Admittedly, I'm not sure if this is the right repository to raise the issue. The localproxy code already supports this feature, but it appears the greengrass component does not (and simply launches the localproxy with SSH only in mind). I can't find any reference to the component's source code.
Impact
This would allow anyone wishing to establish non-SSH connections via Secure Tunneling to do so with minimal custom code and using the reccomended. Backwards compatibility would be preserved, so existing users of the component would not be affected
Implementation ideas (optional)
- Modify the aws.greengrass.SecureTunelling component to accept destination port mappings in configuration
- This could be through an additional parameter e.g.
{"ports": "SSH=22,VNC=5900"} - This should default to
{"ports": "SSH=22"}for backwards compatibility
- This could be through an additional parameter e.g.
- Modify the component source code to simply pass this port mapping via the
-dparameter to the localproxy when launching it
Are you willing to work on this feature?
- Yes, I'm willing to submit a PR for this feature
- No, I'm just suggesting an idea
Checklist
- I have searched the existing issues to make sure this is not a duplicate
- I have provided all the necessary information for this feature request
- I understand that this is just a request and may not be implemented since Local Proxy is just a reference implementation for AWS IOT Secure Tunneling