Show HN: SSHTron – Play Tron/lightcycle over SSH
sshtron.zachlatta.com
sshtron.zachlatta.com
I'm sorry about all the issues with the freezing and disconnects – the response has been really overwhelming and the game certainly isn't optimized for less than ideal network situations. If you're continually getting kicked, it's probably just because the server is having trouble getting a solid connection to you. If it helps, the server is in SF right now (though I'm able to get a solid connection that's playable from NY).
I don't think your audience is 99% silicon valley, or even 99% United States of American. Having multiple servers might be more advisable than moving it somewhere ;)
Will add.
Packet integrity error (4144 bytes remaining) at ../channels.c:2421
Disconnecting: Packet integrity error.
There is another problem with Gnome Terminal. The page is flushed on each frame. I see the previous drawings if I scroll but I can't play.BTW I like that!
A suggestion for next week-end: same stuff with pixels in VNC ;-)
Be careful when SSHing into hosts you do not know with an unpatched version of OpenSSH:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0777
edit: @Ao7bei3s comment below gives more information on how to protect yourself.
Explanation:
Use a recent ssh version (if you've updated in February you're safe), or put in your .ssh/config file:
# CVE-2016-0777
UseRoaming no
Additionally, while you are at it, you can take care of some privacy problems. These are really not a big deal though.Don't hand your SSH public key to the server:
# Makes SSH not try other keys than ~/.ssh/id_{dsa/ecdsa/rsa}.
IdentitiesOnly yes
# And move ~/.ssh/id_{dsa/ecdsa/rsa}{,.pub} somewhere else,
# including it on a per host basis:
Host *.example.com example.com
IdentityFile ~/.ssh/my_id_rsa
Or you could just disable pubkey authentication for this one connection with ssh -o "PreferredAuthentications=password,keyboard-interactive".Including root@ prevents leaking your local username.
If in doubt, man ssh + man ssh_config (they contain other useful things like "CanonicalizeHostname yes / CanonicalDomains ycombinator.com" / example: ssh root@news).
(I don't know what's wrong with the internet that we need "how to SSH" posts now, though. But here it is.)
Good idea :-)
The most standards compliant terminal emulator is actually the original 'xterm' [1] program included as part of X. The xterm FAQ [2] and ncurses FAQ [3] have lots of useful information. Though getting your code running in xterm itself will help portability, it won't be the end of your debugging due to the fact that other terminal emulators have bugs and of course, they often do things differently. The story about the color blue [4] in the xterm FAQ should give you an idea of the kinds of problems you'll face.
[1] http://invisible-island.net/xterm/xterm.html
[2] http://invisible-island.net/xterm/xterm.faq.html
[3] http://invisible-island.net/ncurses/ncurses.faq.html
[4] http://invisible-island.net/xterm/xterm.faq.html#dont_like_b...
Edit: Nevermind - I see it. https://github.com/zachlatta/sshtron I can't believe you made this in 20 hours, amazing!