Run `ssh devzat.hackclub.com` to try it out! The repo is here: https://github.com/quackduck/devzat (golang).
It has markdown and emoji support, DMs, channels, and it can show images too. You can send code, and it gets syntax highlighted (you can change the theme). You can ping people like so: @user and it sends them a \a, which should play an audible sound if the terminal allows it. There's inbuilt games and rainbow names and a lot of other small things I don't remember right now.<p>You might find the auth system interesting: it's based on a hash of ssh pubkey (bans use that and a hash of IP, so it isn't so easy to get around a ban)<p>Also an interesting issue: bots that go around trying to brute force ssh into random IPs with common usernames. My current solution is banning if rapid successive joins are detected.
Love the fact that there are currently more people on the server than likes on this post :D<p>You might wanna take a look at <a href="https://github.com/charmbracelet/bubbletea" rel="nofollow">https://github.com/charmbracelet/bubbletea</a> ad specifically <a href="https://github.com/charmbracelet/soft-serve" rel="nofollow">https://github.com/charmbracelet/soft-serve</a> for v2.<p>IRC style commands that are only sent to the sender would also be nice as current version is a bit spammy with help and user commands.
I just get "Permission denied (publickey)". The README says to just run ssh-keygen, but I already have an RSA key. Does this server only support ed25519 or something?
Really like this, great work! For those who aren't aware, there are more of these: ssh-chat[0][1] and sshtalk[2].<p>[0]: <a href="https://news.ycombinator.com/item?id=8828543" rel="nofollow">https://news.ycombinator.com/item?id=8828543</a><p>[1]: <a href="https://news.ycombinator.com/item?id=8743374" rel="nofollow">https://news.ycombinator.com/item?id=8743374</a><p>[2]: <a href="https://news.ycombinator.com/item?id=15829206" rel="nofollow">https://news.ycombinator.com/item?id=15829206</a>
After living through Google Chat going down while handling a server incident at work, I created an internal, encrypted chat system in order to have an alternative in case our regular communications channel is down.<p>However the actual chat part of it is very barebones with a simplistic JSON-based protocol and a simplistic IRC-like interface - quite unlike devzat.<p>I wonder how hard it would be to untangle the authentication and transport bits from devzat and plug in our own proprietary auth/transport.
Did you know you are exposing your identity for each "permission denied" error? SSH repeatedly tries all of your public keys to authenticate. Someone was able to harvest that and figure multiple github profiles of the client in past.
I really dig this, but if I issue a command like cd, the output should only be showed to the person who issued the command.<p>but this is really fun! nice job!
i knew the name looked familiar... there's already a hackthebox out for it: <a href="https://www.youtube.com/watch?v=QEgtbzS1Pyc" rel="nofollow">https://www.youtube.com/watch?v=QEgtbzS1Pyc</a>
I like it. A few observations:<p>* Hangman doesn't give you credit for all instances of a letter when you guess it<p>* Starting a new game of hangman (maybe also TTT?) interrupts/erases the previous one, if there's one in progress<p>* Images can be anything and aren't filtered - troll users could present some nasty stuff<p>* User settings don't persist (e.g., nickname)
Okay auto-moderation seems to be working surprisingly well! Related commit: <a href="https://github.com/quackduck/devzat/commit/866c33a7d24b43f269fa5c1049d335e802b5bfe2" rel="nofollow">https://github.com/quackduck/devzat/commit/866c33a7d24b43f26...</a>
TIP: If you want to be truly anonymous, don’t use the same identity file that you use to ID yourself with Github since the latter publishes your pubkey in <a href="https://github.com/<username>.keys" rel="nofollow">https://github.com/<username>.keys</a>
Back in the mid 90's, I used to hang out on what was called vrave, a telnet based chat hosted at hyperreal.org (Apache's' Brian Behlendorf's rave archive/culture site).<p>This is definitely making me nostalgic for it.
Isn't the only thing this has in common with Discord.. text chat?<p>That's the LEAST interesting part about Discord, and it's basically just table stakes for a chat service.
Is this working now? I logged on and can't do anything and nothing seems to be happening, i just get a snippet of text starting "38m earlier"
Im not a command liner but was curious to check this out. I tried running ssh-keygen and the "Enter file in which to save the key (C:\Users\.../.ssh/id_rsa):" prompt appears and I lose ALL keyboard input to the command line. No CTRL C, no text, no enter. Cant do anything. Anyone aware of what the problem is?<p>Windows 10 PowerShell
One thing that could help with the bots is leveraging some of the community generate blocklists for the ssh bots such as blocklist.de though there are other providers. It may not stop all of them, but will cut down a lot on the noise. These are generally useful for any ssh instance exposed to the internet.
Lots of fun, but the issue with the images (is this the problem?) needs to be fixed. And the command issue where everyone sees the output - I wonder how hard that would be to address. Neat app!
Very cool project! I think having more channels would help cut down on the fast pace of chat, as well as the suggestions from others about making broadcasting commands to everyone opt-in.
I've just spent an hour on here when I should really be sleeping. Reminded me a lot of public IRC channels back in the day, surprised how fun it was to hang out with everyone. :)
I typed "hello" and hit Enter, and the whole thing froze. Had to close my shell because I couldn't get out of the chat session any other way. Not great.
> Also an interesting issue: bots that go around trying to brute force ssh into random IPs with common usernames. My current solution is banning if rapid successive joins are detected.<p>I should've read this before trying to connect 100 usernames in parallel.