decred / dcrwallet

A secure Decred wallet daemon written in Go (golang).
https://decred.org
ISC License
216 stars 155 forks source link

Consider serving RPC over a unix domain socket #960

Open jrick opened 6 years ago

jrick commented 6 years ago

This would limit clients connections to only those coming from the same computer as the wallet and only to clients that have permissions to the socket file. RPC authentication would not be required for clients served over the socket.

HTTPS/TLS would still be need to be kept in order to serve remote clients.

The Go gRPC implementation already supports serving and dialing over a unix domain socket. I am unsure about the other gRPC implementations. If added to the JSON-RPC server, dcrctl should also be updated to support this.

This only applies to unix-like OSes. Windows does not have unix domain sockets but has named pipes, which are similar but not exactly the same and need their own consideration.

jrick commented 6 years ago

This will be possible in the next Windows 10 update in Spring 2018: https://blogs.msdn.microsoft.com/commandline/2017/12/19/af_unix-comes-to-windows/