Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a simple socks5 proxy server and client which work over dmsg.
The motivation for this application is for it's eventual integration with the skywire-visor
If the server partof the application was run as part of the visor, it would enable ssh access over the proxy which should prove a major convenience.
Currently, remote visors can be accessed via ssh over skysocks ; however this requires that routes work.
Experience has shown us that routes cannot be expected to work without fail indefinitely ; thus in the instance that routes do not work, such a proxy application which would permit remote visors to be reached via ssh would prove invaluable if not critical for connecting to remote visors.
This does replicate some functionality provided by the dmsgpty ; however, if the socks5 server which works exclusively over dmsg which is included in this PR is run by default with the visor, no additional configuration is necessary in order to access the remote visor. Simply provide the user@localhost to ssh.
Currently it is necessary to set whitelisted keys for dmsgpty access.
Another advantage of using a proxy such as this for ssh access is that, compared to the dmsgpty, any user can be accessed via ssh. With dmsgpty it's only possible to connect, initially, to the account of the user which is running the dmsgpty-host
For reference, here is the current documentation with regards to ssh over the skywire socks5 proxy
https://github.com/skycoin/skywire/wiki/SSH-over-SOCKS5-Proxy
Testing
generate a keypair with
skywire-cli config gen-keys
Run the dmsg-socks5 proxy server
Run the dmsg-socks5 proxy client
test the connection as detailed in the ssh over socks5 proxy guide or using curl