The devs are over here at devzat, chat over SSH!

Devzat

Where are the devs at? Devzat!

Devzat is chat over SSH

Try it out:

ssh sshchat.hackclub.com

Add this to ~/.ssh/config:

Host chat
    HostName sshchat.hackclub.com

Now you can 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!

Owner
Ishan Goel
Part of @hackclub. Commits way too rarely. Likes math, badminton and code.
Ishan Goel
Comments
  • Server doesn't accept RSA SHA-2 keys.

    Server doesn't accept RSA SHA-2 keys.

    I'm getting a permission denied error even though I have a public key generated. Any ideas?

    λ ssh [email protected]
    [email protected]: Permission denied (publickey).
    
    λ ls ~/.ssh
    id_rsa  id_rsa.pub  known_hosts  known_hosts.old
    
  • Adding Self-Hosted Support & Documentation

    Adding Self-Hosted Support & Documentation

    I think it will be easier for people to self-host this project on perm or as an enterprise solution for communication if there will be some proper documentation and releases for the project.

    Would be cool to take this issue if possible.

  • Added Rustrict into the server

    Added Rustrict into the server

    As this PR includes the Rust code into the repository you might not want to use it before I make more testing about making a binary-only lib. You can still play with it as it is fully functional.

  • Add autoloading of preferences

    Add autoloading of preferences

    Add autoloading of preferences, as mentioned in #87. Files are stored in $XDG_DATA_DIR/devzat or $HOME/.local/share/devzat if XDG_DATA_DIR is unset. Users are identified by id. To opt-in, issue autoload on. To opt out, issue autoload off. Users can manually issue load or save as well.

  • Add timestamps

    Add timestamps

    Nice project! :+1:

    I'd be nice to have timestamps in the chat for messages and events, maybe optional ones that can be toggled.

    Someone in the chat suggested I make an issue for this, but no rush or anything.

  • Keep connection alive

    Keep connection alive

    After a while if a users has been connected without saying anything their connection to the server will be closed. Connection to closed by remote host.

  • [feat] Add github action to verify build compiles

    [feat] Add github action to verify build compiles

    Small PR to add a action that makes sure a PR must build. We can enforce this as a requirement for main by changing a repo setting. https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests

  • Generate the user ID based on their public key instead of IP

    Generate the user ID based on their public key instead of IP

    Since IP's can change, it's better if we get the ID from the public key. This has a few benefits, such as:

    • People in the same network/household will be able to connect to the chat even if one person is banned.
    • Admin takeover is much harder since instead of needing to be in the same network, you will need their public/private key pair.
    • A person can connect from anywhere and as long as they have their key they can prove their legitimacy. (i.e. a random person called "ishan" on the chat won't be able to act the real ishan since your ID will be static and thus the fake ishan will be detected).

    In the case that a user logged in without using their key pair, we will still get their ID from the IP, but we still gain all the benefits of pubkey authentication.

  • Make tic-tac-toe interface cleaner

    Make tic-tac-toe interface cleaner

    Automate the printing of the board and add numbers to the cell number, so it's easier for the user.

    Image of new board: https://i.ibb.co/xGF5pnS/pic-selected-210519-2033-34.png

    I also added this message, so the user knows what to do.

    devbot: To make your move type /tic

  • Unban request

    Unban request

    Hi there,

    I tried to join for the first time tonight and was kicked then kb'd immediately. I'm guessing it has something to do with your current spam issues and me joining at a really bad time. This is the message I see when I try to connect:

    devbot: You are banned. If you feel this was a mistake, please reach out at github.com/quackduck/devzat/issues or email
            [email protected]. Please include the following information: [ID
            42ae49dc6cdbb80b81ba2144385996e1b10cbb33896a062efbb68f9fe6cb1578]
    

    Thanks for taking a look!

  • Add a way for users to 'protect' their name / nick

    Add a way for users to 'protect' their name / nick

    It would be cool if you would be able to protect your username with a password or something so the other side can be sure that you are actually you. Just an idea.

  • Fix line counting algo

    Fix line counting algo

    Demo of the issue: https://asciinema.org/a/1dhK4SCMVSAnm8l6FFBdvxtcZ

    Function with the problem: https://github.com/quackduck/devzat/blob/da1ceb123f677382b47171702d0fcacc7c0d055a/main.go#L749

  • Better input system

    Better input system

    The input in Devzat is quite poor. The fact that it is not possible to comfortably edit multi-lines messages is a bit sad. We should probably refactor that system. Maybe there are some external library to handle that kind of tasks.

  • It freaks out on me when I use kitty terminal

    It freaks out on me when I use kitty terminal

    I don't have any screenshots but when I try to log into the server using Kitty terminal it craps out a bunch of junk on the screen I don't have any screenshots right now. I'm at work but I will give you more details later

  • Support for stdin?

    Support for stdin?

    Many thanks for creating this awesome tool, it's really appreciated. However, I would like to integrate the hosted devzat into my terminal dashboard. But I couldn't get it working.

    When I'm trying to connect with ssh to my host with port number supplied, everything is fine.

    When I use a terminal dashboard like WTF Util or Termui or Sampler and using the same arguments as I did for SSH, I get an 255 error (in case of WTF terminal) or an error from sampler that it was not a stdin terminal.

    So I'm out of ideas and was curious if devzat coulld support stdin output, or be integrated in another way in a terminal dashboard?

  • Support a Matrix Bridge

    Support a Matrix Bridge

    Looks like there is support for different chat systems, such as Slack. Matrix server is a privacy focused decentralized chat and VOIP... I would request creating a bridge for Matrix. It too, has a Slack bridge and may be something to leverage with this system.

    https://matrix.org/

  • [fix] Style changes with commands

    [fix] Style changes with commands

    This PR seeks to make the naming of commands in the source code consistent in both case and format. I think it can go one step further and rename the methods to cmdXYZ but not sure if that's wanted.

Chat over SSH.

ssh-chat Custom SSH server written in Go. Instead of a shell, you get a chat prompt. Demo Join the party: $ ssh ssh.chat Please abide by our project'

Jan 7, 2023
🤘 The native golang ssh client to execute your commands over ssh connection. 🚀🚀
🤘 The native golang ssh client to execute your commands over ssh connection. 🚀🚀

Golang SSH Client. Fast and easy golang ssh client module. Goph is a lightweight Go SSH client focusing on simplicity! Installation ❘ Features ❘ Usage

Dec 24, 2022
Extended ssh-agent which supports git commit signing over ssh

ssh-agentx ssh-agentx Rationale Requirements Configuration ssh-agentx Configuration ssh-gpg-signer Linux Windows Signing commits after configuration T

Jun 29, 2022
Golang `net/rpc` over SSH using installed SSH program

Golang net/rpc over SSH using installed SSH program This package implements a helper functions to launch an RPC client and server. It uses the install

Nov 16, 2022
one simple git ssh server (just for learning git over ssh )

wriet one simple git ssh server use golang write one simple git ssh server how to running starting service docker-compose up -d add authorized_keys i

Mar 5, 2022
go-chat is a gRPC based chat CLI written in golang for command line lovers
go-chat is a gRPC based chat CLI written in golang for command line lovers

go-chat go-chat is a gRPC based chat CLI written in golang for command line lovers. This CLI allows you to chat with your friends without leaving the

Oct 14, 2022
Tcp chat go - Create tcp chat in golang

TCP chat in GO libs Go net package and goroutines and channels tcp tcp or transm

Feb 5, 2022
Go-random-chat - Fast and scalable real-time random chat written in go
Go-random-chat - Fast and scalable real-time random chat written in go

Go Random Chat Fast and scalable real-time random chat written in go. Features:

Dec 21, 2022
Hprose 1.0 for Golang (Deprecated). Hprose 2.0 for Golang is here:

Hprose for Golang Introduction Installation Usage Http Server Http Client Synchronous Invoking Synchronous Exception Handling Asynchronous Invoking As

Dec 15, 2022
Bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API
Bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API

bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)

Jan 4, 2023
A small chatbot for ssh-chat

ssh-chat-bot A small chatbot for ssh-chat. Installation go get -u github.com/sechanakira/ssh-chat-bot You can also clone the repo and then run make in

Nov 25, 2021
Gsshrun - Running commands via ssh on the server/hosting (if ssh support) specified in the connection file

Gsshrun - Running commands via ssh on the server/hosting (if ssh support) specified in the connection file

Sep 8, 2022
Command-Line chat app in Go-Lang over TCP

gochat Simple chat communication app over TCP, wrriten in Golang. How does it work? Each client starts a TCP server, in a port that is defined by the

Jan 9, 2022
Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH.
Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH.

Chisel is a fast TCP/UDP tunnel, transported over HTTP, secured via SSH. Single executable including both client and server. Written in Go (golang). Chisel is mainly useful for passing through firewalls, though it can also be used to provide a secure endpoint into your network.

Jan 1, 2023
Go Library to Execute Commands Over SSH at Scale
Go Library to Execute Commands Over SSH at Scale

vSSH Go library to handle tens of thousands SSH connections and execute the command(s) with higher-level API for building network device / server auto

Dec 9, 2022
Serve traffic (HTTP/gRPC) over SSH using Domain Sockets

Serve On SSH Introduction There is often a need to offer services for administrative purposes on servers or even for microservices that are running on

Nov 10, 2022
SSHWaiterUtil - Wait for file to appear over an SSH connection

SSHWaiterUtil Simple util to wait for a remote file to appear, over SSH using pr

Jan 11, 2022
Clidle - Wordle over SSH with golang
Clidle - Wordle over SSH with golang

clidle Wordle, now over SSH. Try it: ssh clidle.ddns.net -p 3000 Or, run it loca

Dec 28, 2022
A pokedex over SSH project.
A pokedex over SSH project.

Charmeleon A pokedex over SSH project. Installation Clone the repository to get the server and pokemon data: git clone https://github.com/sha65536/cha

Dec 17, 2022