# quackduck/devzat

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/quackduck-devzat).**

4,050 stars · 151 forks · Go · MIT

## Links

- GitHub: https://github.com/quackduck/devzat
- awesome-repositories: https://awesome-repositories.com/repository/quackduck-devzat.md

## Topics

`chat` `devchat` `developer-chat` `devzat` `slack` `social` `ssh` `ssh-chat` `unicorns`

## Description

Devzat is an SSH chat server that provides a real-time communication environment where users connect via a secure shell to participate in chat rooms and terminal-based collaboration. It utilizes the SSH protocol for session management and provides a shared environment for interactive communication through a command-line interface.

The project is distinguished by its cross-platform chat bridging, which synchronizes messages between the central server and external platforms such as Slack. It also features an extensible plugin system based on gRPC, allowing for the development of custom bots and the interception of message streams through a middleware pipeline.

The server includes a variety of communication and administrative tools, including group and direct messaging, user room organization, and allowlist-based access control. Content is managed via an ANSI markdown renderer for rich text display in the terminal, while integrated mini-games and user profile persistence provide additional engagement and customization.

Administrative capabilities cover user banning, access level configuration, and activity logging using a circular buffer.

## Tags

### Networking & Communication

- [SSH Session Management](https://awesome-repositories.com/f/networking-communication/ssh-session-management.md) — Utilizes the SSH protocol to manage persistent interactive sessions for real-time terminal communication.
- [Multi-User Chat Room Managers](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/communication-platforms/messaging-middleware/chat-moderation-tools/multi-user-chat-room-managers.md) — Groups connected users into distinct rooms to facilitate segmented collaboration. ([source](https://github.com/quackduck/devzat/blob/main/main.go))
- [Cross-Platform Chat Bridges](https://awesome-repositories.com/f/networking-communication/cross-platform-chat-bridges.md) — Synchronizes messages and identities between the internal server and external platforms like Slack.
- [Direct Messaging](https://awesome-repositories.com/f/networking-communication/direct-messaging.md) — Provides private one-on-one communication channels between individual users. ([source](https://github.com/quackduck/devzat/blob/main/README.md))
- [Group Messaging Systems](https://awesome-repositories.com/f/networking-communication/group-messaging-systems.md) — Implements frameworks for managing multi-user chat environments and message distribution within rooms. ([source](https://github.com/quackduck/devzat/blob/main/plugin/README.md))
- [Chat Bots](https://awesome-repositories.com/f/networking-communication/chat-bots.md) — Provides a framework for developing automated conversational agents using a gRPC API.
- [Chat Platform Integrations](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/communication-platforms/messaging-middleware/chat-platform-integrations.md) — Provides interfaces that link the server to third-party chat services for message synchronization. ([source](https://github.com/quackduck/devzat/blob/main/Admin's%20Manual.md))
- [Chat Synchronization](https://awesome-repositories.com/f/networking-communication/media-synchronization/chat-synchronization.md) — Synchronizes chat messages between the internal SSH server and external communication platforms to maintain conversation consistency. ([source](https://github.com/quackduck/devzat#readme))
- [Slack Integrations](https://awesome-repositories.com/f/networking-communication/slack-integrations.md) — Implements a real-time message bridge between the server and specific Slack channels with user identity mapping. ([source](https://github.com/quackduck/devzat/blob/main/slack.go))

### Security & Cryptography

- [SSH Chat Servers](https://awesome-repositories.com/f/security-cryptography/secure-ssh-access/ssh-dashboard-servers/ssh-chat-servers.md) — Provides a real-time communication environment where users connect via secure shell to participate in chat.
- [Administrative Access Control](https://awesome-repositories.com/f/security-cryptography/administrative-access-control.md) — Restricts server administration to authorized users identified by unique security keys. ([source](https://github.com/quackduck/devzat/blob/main/mainserver.yml))
- [Allowlist-Based Access Controls](https://awesome-repositories.com/f/security-cryptography/allowlist-based-access-controls.md) — Restricts server access and administrative privileges by matching users against a predefined allowlist.
- [SSH Environment Access Controls](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/access-control-models/attribute-based-access-controls/ssh-environment-access-controls.md) — Manages user permissions and server access using allowlists, ban lists, and security keys.
- [SSH Access Control Lists](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/policy-enforcement-engines/access-control-list-management/ssh-access-control-lists.md) — Restricts server entry and administrative privileges using allowlists and ban lists.
- [External Access Control Configurations](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/policy-enforcement-engines/external-access-control-configurations.md) — Defines administrative privileges and user access rules within a configuration file. ([source](https://github.com/quackduck/devzat/blob/main/config.go))
- [Plugin Access Tokens](https://awesome-repositories.com/f/security-cryptography/plugin-access-tokens.md) — Manages security tokens to authorize specific plugins to connect via gRPC. ([source](https://github.com/quackduck/devzat/blob/main/rpc.go))

### Content Management & Publishing

- [Terminal Markdown Renderers](https://awesome-repositories.com/f/content-management-publishing/terminal-markdown-renderers.md) — Converts markdown syntax into ANSI escape sequences for rich text display in the terminal.

### Software Engineering & Architecture

- [gRPC Plugin Implementations](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/grpc-plugin-implementations.md) — Exposes a gRPC interface allowing external binaries to intercept messages and extend server logic.
- [Middleware Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/middleware-pipelines.md) — Processes outgoing text through a sequential pipeline of filters for censoring and formatting.
- [Stream Event Interception](https://awesome-repositories.com/f/software-engineering-architecture/stream-event-interception.md) — Executes logic on event streams to edit or filter messages before they reach users. ([source](https://github.com/quackduck/devzat/blob/main/plugin/README.md))

### Development Tools & Productivity

- [Collaborative Terminal Sessions](https://awesome-repositories.com/f/development-tools-productivity/collaborative-terminal-sessions.md) — Establishes a shared terminal environment for developers to interact and collaborate via SSH.
