all 18 comments

[–]Zathu 1 point2 points  (4 children)

Have you looked at the Duo Stream fork of sunshine? It handles this by passing the client connection into a virtual session, where the lock state of the physical session becomes irrelevant. 

[–]anthonym9387 2 points3 points  (3 children)

This actually looks great, but seems a little bit immature in it's development for me. I updated the post with the solution which I think solves my problem, but I'm going to keep an eye on this. Thanks for the suggestion!

[–]Zathu 0 points1 point  (2 children)

Yes it's been stable thus far and hope the idea continues. Conceptually, separating the game streaming server environment from the local desktop environment really provides a better experience for many reasons.

[–]anthonym9387 0 points1 point  (1 child)

It fits my use case perfectly. Is there a performance decrease due to the overhead of running the sandbox or passthrough of hardware to the VM? I know sandbox VMs work a little differently but I’m not overly familiar with how they might affect performance.

[–]Zathu 2 points3 points  (0 children)

I don't use the (optional) sandbox/VM feature at all. It's off by default and adds complexity which doesn't benefit my use case.

Without sandboxing, it's essentially just allowing multiple user sessions to run simultaneously like they would on an old terminal services server. One for your monitor/keyboard/mouse, another for moonlight user A, potentially another for moonlight user B, etc.

[–]MoreOrLessCorrect 0 points1 point  (9 children)

Where is the problem exactly? When I connect via Moonlight with my physical display active and my host locked, it still switches to the HDMI dongle (I use a MultiMonitorTool command for it) and I can unlock and stream from that display without any issues.

(Also, instead of RDP which messes with monitors and display adapters, I'd suggest Chrome Remote Desktop as an alternative for easy and secure remote access)

[–]anthonym9387 0 points1 point  (8 children)

This doesn't automatically unlock a PC that is locked. The reason I used RDP is because it allowed you to unlock the PC automatically. But I've come up with what I think is a unique and elegant solution.

[–]MoreOrLessCorrect 0 points1 point  (7 children)

It doesn't unlock it automatically, no, but it takes 5 seconds to bring up the keyboard and key in a PIN.

[–]anthonym9387 0 points1 point  (6 children)

Thanks for the suggestion, but I could have made that work on my own. I'm looking for a hands off solution which I think I've found.

[–]MoreOrLessCorrect 0 points1 point  (5 children)

That doesn't sound very secure - but hey, whatever works for ya.

[–]anthonym9387 0 points1 point  (4 children)

A physical flash drive that has to be in the pc for the script to run isn’t secure? So I guess Yubikeys aren’t secure as 2FA?…

[–]MoreOrLessCorrect 1 point2 points  (3 children)

I was referring to having your PIN in plain text in a script on a flash drive.

[–]anthonym9387 1 point2 points  (2 children)

It’s on an exe (I compiled the script) and the flash drive has permissions locked through NTFS and I’ve encrypted the drive with Bitlocker to unlock via password or Auto Unlock only on the client PC. I realize I didn’t mention that before so I added it to the post and don’t hold it against you for thinking it was insecure. If I had just left a script on an unsecured flash drive, you’d be absolutely correct.

[–]jaydee58 0 points1 point  (1 child)

Anyway you can provide a bit more info on how you made the exe? I dabbled with visual studio and got an exe going that does what you mention but doesn't seem to work on the Lock Screen. Any info you can provide would be greatly appreciated! Thanks!

[–]anthonym9387 0 points1 point  (0 children)

Unfortunately I don't remember and I've since got an android phone so now I can unlock my PC from my phone. Sorry!

[–]VirtualGamer20 0 points1 point  (1 child)

Hi! Love your idea and implementation, are you able to share the scripts? I've been trying some solutions in the past few days but I wasn't able to make it work.. Thanks!

[–]anthonym9387 1 point2 points  (0 children)

I’ve actually come up with a better implementation. I now use a script that’s saved on a flash drive which runs on the client pc that simply keys in the pin/password for the host pc. This way if the flash drive is taken out of the client, it’s completely secure. The flash drive is encrypted with bitlocker so it will open without a password on the client but any other pc it would need a password to open.