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

Overview

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!

Issues
  • 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
    
    bug 
    opened by thepixelmonk 23
  • 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.

    opened by itamadev 13
  • 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.

    size/L 
    opened by Arkaeriit 12
  • 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.

    opened by CodeLongAndProsper90 11
  • 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.

    opened by asrp 11
  • 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.

    enhancement 
    opened by UBFI 9
  • [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

    opened by polyrain 9
  • 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.

    opened by TommyPujol06 8
  • 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

    opened by TommyPujol06 8
  • 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!

    opened by adewinter 7
  • 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.

    opened by TheGreyDiamond 7
  • 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?

    opened by ReneFroger 5
  • 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/

    enhancement 
    opened by seasoned-code 1
  • [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.

    opened by polyrain 1
  • feature request: make a simple protocol / API to allow servers to self report, for indexing

    feature request: make a simple protocol / API to allow servers to self report, for indexing

    goal: allow for easy browsing of all devzat active installs, similar to 3rd party server lists for discord (see "disboard.org" and others).

    the MUD gaming community has something called "global mud protocol" that allows you to ping servers for current status and general server info, if the server admin has implemented it.

    basically this would allow devzat to feel like a single, scaled service even as it potentially scales to lots of disparate hosts.

    enhancement 
    opened by elendee 12
  • Feature Request: Reply Feature

    Feature Request: Reply Feature

    While using devzat today we came up with the idea, that it would be nice to be able to reply to a comment of someone else!

    It might be achievable through a small (like maybe 3 or 4 characters long) hash value shown in front of every message. Typing

    ping 1234 response
    

    or something could work out nicely

    enhancement 
    opened by effakcuL 7
Owner
Ishan Goel
Part of @hackclub. Commits way too rarely. Likes math, badminton and code.
Ishan Goel
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'

Andrey Petrov 4.9k Aug 9, 2022
🤘 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

Mohamed El Bahja 1.1k Aug 9, 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

Wim 10 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

null 0 Nov 5, 2021
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

rong fengliang 2 Mar 5, 2022
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

Piyush Jajoo 1 Dec 11, 2021
Tcp chat go - Create tcp chat in golang

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

amirbahador 0 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. Features:

Hao-Ming, Hsu 8 Aug 6, 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

Hprose 136 Jun 19, 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 (mattermost not required!)

Wim 5.1k Aug 9, 2022
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

Shingirai Chanakira 0 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

Məhəmməd 3 Jun 9, 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

Glaukio 1 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. 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.

Jaime Pillora 7.6k Aug 8, 2022
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

Yahoo 856 Aug 8, 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

John Doak 7 Jan 9, 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

George Johnson 0 Jan 11, 2022
Clidle - Wordle over SSH with golang

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

Ajeet D'Souza 402 Aug 9, 2022
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

SHA2048 9 Jun 5, 2022