# ascii-chat: Video Chat in Your Terminal with Audio, Encryption, and Media Support

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/zfogg-ascii-chat
Generated for open source discovery and AI-assisted research.

ascii-chat is a unique client-server application that enables video chat directly within your terminal, supporting color, audio, and encryption. It allows multiple clients to connect, offers media streaming from files or URLs, and features a robust discovery service for easy connection. Built in C, it's a powerful and versatile tool for terminal enthusiasts.

GitHub: https://github.com/zfogg/ascii-chat
OSRepos URL: https://osrepos.com/repo/zfogg-ascii-chat

## Summary

ascii-chat is a unique client-server application that enables video chat directly within your terminal, supporting color, audio, and encryption. It allows multiple clients to connect, offers media streaming from files or URLs, and features a robust discovery service for easy connection. Built in C, it's a powerful and versatile tool for terminal enthusiasts.

## Topics

- ascii-chat
- terminal
- video-chat
- cli
- c-language
- encryption
- networking
- open-source

## Repository Information

Last analyzed by OSRepos: Thu Jun 04 2026 01:35:51 GMT+0100 (Western European Summer Time)
Detail views: 6
GitHub clicks: 16

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction

`ascii-chat` is an innovative open-source project that brings video chat directly to your terminal. Conceived during a hackathon in 2013, it has evolved into a feature-rich client-server application operating over TCP/IP. It supports color, audio, encryption, and compression, allowing multiple clients to connect simultaneously and view each other in a grid layout, similar to modern video conferencing tools.

Beyond basic video chat, `ascii-chat` supports UTF-8 characters, enabling a richer visual experience than just ASCII. A standout feature is its media support, allowing users to stream video from local files or URLs, including complex streaming sites like YouTube and Twitch via `yt-dlp`. This means you can watch videos with friends in ASCII art, all within your terminal, complete with live audio discussion.

Designed to work everywhere terminals do, from SSH sessions to initial Unix login shells, `ascii-chat` offers a unique, desktop-environment-free video conferencing experience.

## Installation

Getting `ascii-chat` up and running is straightforward, with options for package managers or building from source.

**macOS (Homebrew):**

bash
# Add the tap
brew tap zfogg/ascii-chat

# Install runtime binary
brew install ascii-chat

# Install development libraries (headers, static/shared libs, docs)
brew install libasciichat


**Arch Linux (AUR):**

bash
# Stable releases
paru -S ascii-chat           # Runtime binary
paru -S libasciichat         # Development libraries (headers, libs, docs)

# Latest git versions (recommended for development)
paru -S ascii-chat-git       # Runtime binary from git
paru -S libasciichat-git     # Development libraries from git


**Build From Source (All Platforms):**

For a complete build guide, refer to the [Build System Documentation](https://zfogg.github.io/ascii-chat/group__build.html "Build System Documentation" target="_blank"). A quick start involves:

bash
# 1. Clone the repository
git clone https://github.com/zfogg/ascii-chat.git
cd ascii-chat

# 2. Get submodules
git submodule update --init --recursive

# 3. Install dependencies (Linux or macOS)
./scripts/install-deps.sh

# 4. Build and install
sudo make install


## Examples

`ascii-chat` uses a unified binary with four modes: `server`, `client`, `mirror`, and `discovery-service`.

**Get help:**

bash
ascii-chat --help                      # Top-level help
ascii-chat server --help               # Server-specific help
ascii-chat client --help               # Client-specific help


**Basic Usage:**

bash
# Take an ASCII art selfie with your webcam
ascii-chat mirror -S -D 0

# Start a server
ascii-chat server

# Connect a client (in another terminal)
ascii-chat client

# Use local network discovery (mDNS)
ascii-chat server --mdns
ascii-chat client --mdns


## Why Use ascii-chat?

`ascii-chat` stands out for several compelling reasons:

*   **Unique Terminal Experience:** It offers a truly novel way to engage in video and audio communication, transforming media into ASCII art directly within your command line interface. This makes it accessible in environments where traditional GUI applications are unavailable or undesirable.
*   **Robust Networking and Discovery:** Its custom `ascii-chat` Internet Protocol (ACIP) is optimized for low-latency, encrypted, multi-client terminal conferencing. The `ascii-chat` Discovery Service (ACDS) simplifies connections by allowing users to join sessions with memorable three-word strings (e.g., `purple-mountain-lake`), bypassing complex NAT and firewall configurations. ACDS also supports mDNS for easy local network discovery.
*   **Privacy and Security:** All media flows directly between peers using ACIP encryption, ensuring ACDS never sees your data. It uses strong cryptography (X25519, XSalsa20-Poly1305, Ed25519) for end-to-end security.
*   **Extensibility and Performance:** Built on `libasciichat`, a reusable C library, it offers cross-platform abstractions, hardware-accelerated image processing (SIMD), and efficient memory management. This makes it a powerful foundation for other ACIP-based applications.
*   **Media Versatility:** The ability to stream from files and URLs, including popular streaming services, opens up possibilities for shared viewing experiences with friends, all rendered in ASCII.

## Links

*   **Homepage:** [https://ascii-chat.com](https://ascii-chat.com "ascii-chat Homepage" target="_blank")
*   **API Reference & Man Pages:** [https://ascii-chat.com/man3](https://ascii-chat.com/man3 "API Reference & Man Pages" target="_blank")
*   **GitHub Repository:** [https://github.com/zfogg/ascii-chat](https://github.com/zfogg/ascii-chat "GitHub Repository" target="_blank")