explaingit

nicolastinger/only-talk-rs

Analysis updated 2026-05-18

21RustAudience · developerComplexity · 4/5Setup · hard

TLDR

A Rust backend server for instant messaging apps, handling accounts, real-time delivery over QUIC, P2P connections, and file sharing for developers building their own chat infrastructure.

Mindmap

mindmap
  root((only-talk-rs))
    What it does
      HTTPS account API
      QUIC message delivery
      P2P hole punching
    Tech stack
      Rust
      PostgreSQL
      Redis
    Use cases
      Self hosted chat backend
      Real time messaging
      File sharing server
    Audience
      Backend developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a self-hosted backend server for a custom instant messaging app.

USE CASE 2

Deliver real-time messages with low latency using the QUIC protocol.

USE CASE 3

Establish direct P2P connections between clients behind routers, with server relay fallback.

USE CASE 4

Store and serve uploaded files through local storage or an S3-compatible object store.

What is it built with?

RustPostgreSQLRedisQUIC

How does it compare?

nicolastinger/only-talk-rsavelino/roam-tuidanilaa1/auditkit
Stars212121
LanguageRustRustRust
Setup difficultyhardeasymoderate
Complexity4/53/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Rust, PostgreSQL, Redis, and TLS certificates configured before the server will run.

In plain English

OnlyTalk RS is a backend server for an instant messaging application, written in Rust. It is not a finished chat app with a user interface, it is the server component that a client app would connect to. The project is intended for developers who want to run their own messaging infrastructure. The server handles two kinds of traffic at once. A standard HTTPS API handles account registration, login, friend management, group management, file uploads, and message history queries. A separate QUIC connection handles real-time message delivery. QUIC is a newer network protocol that reduces the delay between sending and receiving a message compared to older approaches. The server runs both services in a single process by default, though they can be split into separate processes for larger deployments. For direct device-to-device connections, the server supports a technique called P2P hole punching, which allows two clients to establish a direct link even when both are behind home routers or firewalls. If that direct connection cannot be established, the server automatically falls back to relaying messages through itself. File sharing supports local storage or any S3-compatible object store such as MinIO, Amazon S3, or Aliyun OSS. Images are automatically converted to WebP format on upload. Large files can be sent in chunks. Files are accessed through pre-signed URLs rather than public links. User passwords are hashed with Argon2. API traffic uses TLS 1.3. Sensitive data in transit is encrypted with RSA public keys. User sessions are managed with JWT tokens stored in Redis. Setup requires Rust, PostgreSQL, Redis, and TLS certificates. Configuration is split between a TOML file for server settings and an environment file for database and storage credentials. The README includes steps for database initialization, certificate placement, and running in development or release mode.

Copy-paste prompts

Prompt 1
Help me set up only-talk-rs with PostgreSQL, Redis, and TLS certificates for local development.
Prompt 2
Explain how only-talk-rs uses P2P hole punching and when it falls back to relaying through the server.
Prompt 3
Show me how to configure only-talk-rs to use an S3-compatible store like MinIO for file uploads.
Prompt 4
Walk me through the TOML and environment file configuration needed to run only-talk-rs in release mode.

Frequently asked questions

What is only-talk-rs?

A Rust backend server for instant messaging apps, handling accounts, real-time delivery over QUIC, P2P connections, and file sharing for developers building their own chat infrastructure.

What language is only-talk-rs written in?

Mainly Rust. The stack also includes Rust, PostgreSQL, Redis.

How hard is only-talk-rs to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is only-talk-rs for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.