Where are the devs at? Devzat!
Devzat is a custom SSH server that takes you to a chat instead of a shell prompt. Because there's SSH apps on all platforms (even on phones) you can connect to Devzat on any device!
Try it out:
ssh devzat.hackclub.com
If it's your first time logging in, you can choose your display name with the SSH username. For example, if you want to be called "wenjie", you can run:
ssh wenjie@devzat.hackclub.com
If you want to change your display name after the first login, you should use the nick
command.
If you're under a firewall, you can still join on port 443:
ssh devzat.hackclub.com -p 443
If you add this to ~/.ssh/config
:
Host chat
HostName devzat.hackclub.com
You'll be able to join with just:
ssh chat
We also have a Slack bridge! If you're on the Hack Club Slack, check out the #ssh-chat-bridge
channel!
Feel free to make a new issue if something doesn't work.
See the status site of the main Devzat server to check if it might be down.
Quick start:
git clone https://github.com/quackduck/devzat && cd devzat
go install # or build, if you want to keep things pwd
ssh-keygen -qN '' -f devzat-sshkey # new ssh host key for the server
devzat # run! the default config is used & written automatically
These commands download, build, setup and run a Devzat server listening on port 2221, the default port (change by setting $PORT
).
Check out the Admin's Manual for complete self-host documentation!
Devzat uses public keys to identify users. If you are denied access: foo@devzat.hackclub.com: Permission denied (publickey)
try logging in on port 443, which does not require a key, using ssh devzat.hackclub.com -p 443
.
This error may happen because you do not have an SSH key pair. Generate one with the command ssh-keygen
if this is the case. (you can usually check if you have a key pair by making sure a file of this form: ~/.ssh/id_*
exists)
Welcome to Devzat! Devzat is chat over SSH: github.com/quackduck/devzat
Because there's SSH apps on all platforms, even on mobile, you can join from anywhere.
Run `cmds` to see a list of commands.
Interesting features:
• Rooms! Run cd to see all rooms and use cd #foo to join a new room.
• Markdown support! Tables, headers, italics and everything. Just use \n in place of newlines.
• Code syntax highlighting. Use Markdown fences to send code. Run eg-code to see an example.
• Direct messages! Send a quick DM using =user <msg> or stay in DMs by running cd @user.
• Timezone support, use tz Continent/City to set your timezone.
• Built in Tic Tac Toe and Hangman! Run tic or hang <word> to start new games.
• Emoji replacements! :rocket: => 🚀 (like on Slack and Discord)
For replacing newlines, I often use bulkseotools.com/add-remove-line-breaks.php.
Made by Ishan Goel with feature ideas from friends.
Thanks to Caleb Denio for lending his server!
Commands
=<user> <msg> DM <user> with <msg>
users List users
color <color> Change your name's color
exit Leave the chat
help Show help
man <cmd> Get help for a specific command
emojis See a list of emojis
bell on|off|all ANSI bell on pings (on), never (off) or for every message (all)
clear Clear the screen
hang <char|word> Play hangman
tic <cell num> Play tic tac toe!
devmonk Test your typing speed
cd #room|user Join #room, DM user or run cd to see a list
tz <zone> [24h] Set your IANA timezone (like tz Asia/Dubai) and optionally set 24h
nick <name> Change your username
pronouns @user|pronouns Set your pronouns or get another user's
theme <theme>|list Change the syntax highlighting theme
rest Uncommon commands list
cmds Show this message
The rest
people See info about nice people who joined
id <user> Get a unique ID for a user (hashed key)
admins Print the ID (hashed key) for all admins
eg-code [big] Example syntax-highlighted code
lsbans List banned IDs
ban <user> Ban <user> (admin)
unban <IP|ID> [dur] Unban a person and optionally, for a duration (admin)
kick <user> Kick <user> (admin)
art Show some panda art
pwd Show your current room
shrug ¯\_(ツ)_/¯
tip: kick
can help kick out an old session when rejoining if needed
When self-hosting an instance, Devzat can integrate with Slack and/or Discord to bridge messages, and Twitter to post new-user announcements. See the Admin's Manual for more info.
Devzat has a plugin API you can use to integrate your own services: documentation. Feel free to add a plugin to the main instance. Just ask for a token on the server.
People who you might know who have joined:
Zach Latta - Founder of Hack Club: "omg amazing! this is so awesome"
Ant Wilson - Co founder, Supabase: "brilliant!"
Bereket @heybereket: "this is pretty cool"
Ayush @ayshptk: "Can I double star the repo somehow 🥺"
Sanketh @SankethYS: "Heck! How does this work. So cool."
Tony Dinh @tdinh_me: "supeer cool, oh, open source as well? yeah"
Srushti @srushtiuniverse: "Yess it's awesome. I tried it."
Surjith @surjithctly: "Whoa, who made this?"
Arav @HeyArav: "Okay, this is actually super awesome."
Harsh @harshb__: "im gonna come here everyday to chill when i get bored of studying lol, this is so cool"
Krish @krishnerkar_: "SHIT! THIS IS SO DOPE"
Amrit @astro_shenava: "Super cool man"
Mudrank @mudrankgupta: "🔥🚀🚀"
From Hack Club:
Caleb Denio, Safin Singh, Eleeza
Jubril, Sarthak Mohanty
Sam Poder, Rishi Kothari
Amogh Chaubey, Ella, Hugo Hu
Matthew Stanciu, Tanishq Soni
Huge thanks to the amazing Caleb Denio for lending me the original Devzat server 💖