-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] Different user permissions #72
Comments
Another ideas would be a --read-only share and the server on my host printing (and asking) if a command should be run |
This comment was marked as duplicate.
This comment was marked as duplicate.
Another related feature is: the host can confirm it before the command output shared to everyone. The scenario is if the host check logs via |
If this type of read-only broadcast is something fairly straightforward to implement (vs the more complex user permissions) I would be happy to help contribute. |
Okay makes sense! The tricky thing is that in sshx, only web clients may exist -- so read-only mode would require an additional secret / different URLs for the reader and writer. It would probably require an API change as well as a frontend change. We could enable this when --read-only flag is passed in perhaps, or --read-only-mode or --enable-readers idk what the right flag name is right now I'll take contributions for it! |
I see, a little more involved then. Could you provide any pointers on grokking where those changes might need to happen? |
sshx/crates/sshx-core/proto/sshx.proto Lines 7 to 16 in 36beaf6
This is the gRPC service definition used by the client. OpenRequest should take a new sshx/crates/sshx-server/src/session.rs Lines 28 to 36 in 36beaf6
On the web client, the WebSocket connection needs a way to authenticate with the write-access password. It's possible you just add that to sshx/crates/sshx-server/src/web/protocol.rs Lines 70 to 77 in 36beaf6
Then the handler here can enable write-only mode based on whether that's set on the terminal and on checking the write-mode password via constant time comparison here sshx/crates/sshx-server/src/web/socket.rs Lines 98 to 104 in 36beaf6
And on the frontend, in read-only mode we can perhaps show a little read-only indicator badge here, while also disabling edits on the XTerm terminals. Additionally the CLI should print out URLs for both the read-only and writable modes. |
I'd like to contribute to implementing the read-only mode feature. I'll take a look at the codebase and come back with any questions if I need guidance. |
@ekzhang Do we need something like this? For a writable link, we append the writer secret just after the encryption key and separate it with a comma. I think we can pass the password in a better and more secure way, let me know if you have any suggestions. read-mode.mov |
Similar to online conferencing software like Zoom, Google Meet or MS Teams, sshx should distinguish user permission levels. This would greatly increase its usefulness in teaching settings (particularly with larger audiences of 10+ people), or in video conferences with attendees of mixed seniority levels.
Here is how I imagine this could work:
The text was updated successfully, but these errors were encountered: