kasmtech / workspaces-issues

19 stars 4 forks source link

[Feature Request] - Setting for allowing anonymous session sharing #484

Open T3CCH opened 11 months ago

T3CCH commented 11 months ago

I have searched around for the ability to do this however I am coming up short.

Is your feature request related to a problem? Please describe. What I would like to be able to do is be able to have the ability to set the share as anonymous from the sharing menu.

*Describe the solution you'd like

Use cases for this option

I have been testing apps and games out extensively with GPU. For my personal case, I have steam working in kasm with jackbox games and it would be fun to session share a game of quiplash. Then I could start the session and share the link so they could all play in real time since you connect to the game from your mobile device. I could definitely see this being huge for outside potential clients or others that you wouldn't necessarily make them sign into your service else it would just be an annoyance to them. IE my team builds a new video compression app that works in a web browser that isnt publicly accessible. I could start the chrome browser in kasm, get an anonymous share link to send to them before the meeting started. If the mic passthrough was working as well that would be cool too so that ll the anonymous users could talk to each other like a new client meeting.

Additional context I am essentially playing around and evaluating this tool. I love it so far. I am a senior systems administrator and citrix vdi engineer at heart so I am digging the work that has been done on this product.

Thank you for your time and the hard work.

j-travis commented 11 months ago

Thank you for the feedback. I'd like to see this feature as well

j-travis commented 11 months ago

You can get part of the way there using the developer API.

You can call the join_kasm endpoint. If you don't pass a user_id it will generate an anonymous user and return a special URL that can then be used by the other person and will not require them to login.

https://kasmweb.com/docs/latest/developers/developer_api.html#join-kasm

Here is a quick and dirty script that shows an example of how it could work. It assumes you have jq installed on your host.

#!/usr/bin/env bash
set -e
if [ $# -eq 0 ]; then
    echo "Usage: $0 <share_id>"
    exit 1
fi

#IP or FQDN 
KASM_SERVER=192.168.1.2
API_KEY=<CHANGEME>
API_KEY_SECRET=<CHANGEME>
SHARE_ID=$1

result=$(curl -s -k -X POST \
  -H "Content-Type: application/json" \
  -d '{"api_key":"'"${API_KEY}"'","api_key_secret":"'"${API_KEY_SECRET}"'", "share_id": "'"${SHARE_ID}"'"}' \
   https://${KASM_SERVER}/api/public/join_kasm | jq -r '.kasm_url')

echo Anonymous share link:
echo https://${KASM_SERVER}${result}

One you put your session in sharing mode , the share_id is after the /join image

So, you'd call the script like this:

bash get_anonymous_share_link.sh 99b88ecf
Anonymous share link:
https://192.168.56.106/#/connect/join/99b88ecf/8770ba41ff9b4eaa996d255c63d7828f/86287100-03e3-4364-ad6f-7eeb129d1a33

Use anonymous users with care. They will be part of the ALL Users group by default, so you'll want to set up the permissions on your deployment such that the All Users group basically has limited access. You probably also want to use group settings like dashboard_redirect

harb88 commented 10 months ago

I am also trying to do the exact same thing. Being able to play Jackbox with my family in multiple locations would be amazing and Kasm is 100% the best way to do this at the moment. Being able to have anonymous sharing would make this a lot easier if I can just share a single link that can be more easily entered into a Smart TV browser.

While I don't mind using the API for the moment having an easier way to do this would be better. I feel like sharing with anonymous users would be the more obvious use case since most times if you were going to share a session with a client to show them something or to demo software or something you don't want to have your client have to go through the process of creating an account, etc just for a throwaway demo session.

sveken commented 4 months ago

Just set up Kasm thinking this would be a feature it would have. Ill look into alternatives in the meantime but would love if this became properly supported.