Simple chat client that uses github.com/tydar/stomper as a backing server.

STOMP Chat

Chat client to operate through a STOMP pub/sub server. Designed to demonstrate my project stomper.

Todo to finish:

  1. Allow runtime configuration of hostname and port
  2. Allow runtime configuration of username

Might do for fun:

  1. Support multiple channels
  2. Support DMs
    • Have a pub/sub channel per DM that is created with a dynamic UUID to avoid snooping ?

Not really planning to write a dedicated chat server, so options are limited feature-wise.

Borrows frames.go from stomper. Also looked at termoose/irccloud to help me grok writing a chat client & using tview while running multiple goroutines.

To run

  1. Pull the stomper image from GHCR and clone this repo:
$ docker pull ghcr.io/tydar/stomper:main
$ git clone --depth=1 https://github.com/tydar/stomper.git
  1. Build your chat client:
$ go build -o stomp-chat .
  1. Run a stomper server with the appropriate environment variables for testing.
docker run -p 32801:32801 \
-e STOMPER_HOSTNAME=0.0.0.0 \
-e STOMPER_TOPICS=/channel/main \
-e STOMPER_TCPDEADLINE=0 \
ghcr.io/tydar/stomper:main
  1. Run stomp-chat:
$ ./stomp-chat -uname=a_chat_user

A full listing of command line flags is available by running this command:

$ ./stomp-chat -h
-host string
	hostname of stomp server (default "localhost")
-log string
	filename for logging; destructively created each run (default "chat.log")
-port int
	port number for stomp server (default 32801)
-uname string
	username (default "default_guy_123")
Similar Resources

Matterbridge link for Minecraft Server chat.

Matterbridge link for Minecraft Server chat. Simple bridge between Minecraft, Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Matrix and Steam.

Mar 28, 2022

An application that uses gRPC Client Streaming framework to computes average.

compute-average An API that uses Client Streaming gRPC framework to capture all integer numbers on Requests that the client sent and returns just the

Dec 26, 2021

A discord server guard which uses emojis and bot detection (WIP)

server-guard A discord server guard which uses emojis and bot detection (WIP) Config options SusLevel: how many checks the account has to fail before

Dec 4, 2022

A server that proxies requests and uses fhttp & my fork of CycleTLS to modify your clienthello and prevent your requests from being fingerprinted.

TLS-Fingerprint-API A server that proxies requests and uses my fork of CycleTLS & fhttp (fork of net/http) to prevent your requests from being fingerp

Jan 7, 2023

Uses the Finger user information protocol to open a TCP connection that makes a request to a Finger server

Finger Client This client uses the Finger user information protocol to open a TCP connection that makes a request to a Finger server. Build and Run Ru

Oct 7, 2021

Simple endpoint to create chat for specific application.

About Chat System Simple endpoint to create chat for specific application. Note This endpoints depend on chat-system repoistory, so you ought to run c

Nov 20, 2021

A simple Chat software from within the Shell

directChat A simple Chat software from within the Shell Usage Build The client a

Dec 24, 2021

gChat - Simple Go + gRPC chat application

gChat - Simple Go + gRPC chat application

gChat Simple Go + gRPC chat application. My main goal was creating a simple chat application by using gRPC bidirectional stream. Therefore, some featu

Jan 21, 2022

Github-contribution-graph - A tool for dynamically generated contribution graphs that show your GitHub contributions for the last 7 days

GitHub-Contribution-Graph An awesome tool for dynamically generated contribution

Dec 13, 2022
Related tags
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
TCP based Client/Server chat CLI in Go
 TCP based Client/Server chat CLI in Go

TCP based Client/Server chat CLI in Go Written in Go, this is a simple implementation of a TCP server that can detect new clients connecting and disco

Jul 27, 2022
Client - Server TCP Chat For String Messages And Random Files

GoChat Client - Server TCP Chat For String Messages And Random Files GoChat is a chat for string messages and random files using Golorem by Derek A. R

Sep 29, 2021
Server and client implementation of the grpc go libraries to perform unary, client streaming, server streaming and full duplex RPCs from gRPC go introduction

Description This is an implementation of a gRPC client and server that provides route guidance from gRPC Basics: Go tutorial. It demonstrates how to u

Nov 24, 2021
Instant, disposable, single-binary web based live chat server. Go + VueJS.
Instant, disposable, single-binary web based live chat server. Go + VueJS.

Niltalk Niltalk is a web based disposable chat server. It allows users to create password protected disposable, ephemeral chatrooms and invite peers t

Jan 4, 2023
Cross-platform, multi-server chat app built using Fyne
Cross-platform, multi-server chat app built using Fyne

Fibro Really early days proof of concept for a cross-platform multi-server chat. Feel free to play, but don't expect it to do much! Features Multiple

Sep 10, 2022
A gRPC and WS voice chat server written in Go.

VoGRPC Voice over gRPC A small WS and gRPC server, designed to support voice messaging. Progress so far: WS + Socket.io support Roadmap Database desig

Nov 4, 2021
A TCP socket based chat server implemented using Go

Go Chat Server A better TCP socket chat server implemented using Go Connecting nc localhost 5000 Docker Build the container image docker build -t grub

Oct 16, 2021
This app brings the Matterbridge binary to your server to connect Nextcloud Talk with other chat services

This app brings the Matterbridge binary to your server to connect Nextcloud Talk with other chat services

Sep 12, 2022