Skip to content

alessblaze/pairline

Repository files navigation

Pairline

Pairline Banner

Anonymous text and video chat app with moderation tooling. Built for massive scale with true concurrency.

Stack

Repo layout

.
├── frontend/
├── backend/
│   ├── elixir/omegle_phoenix/
│   └── golang/
├── docker-compose.yml
├── SETUP.md
└── Vulnerabilities.md(Internal only.)

Getting started

See SETUP.md for local setup, environment variables, and run commands.

Service overview

Phoenix handles websocket sessions, matchmaking, and session IP tracking. The Go service handles report submission, admin APIs, ban persistence, and TURN credential generation. The frontend talks to both services: websocket traffic goes to Phoenix and HTTP moderation/admin traffic goes to Go.

Notes

  • The default local ports are 5173 for the frontend, 8080 for Phoenix, and 8082 for the Go service.
  • docker compose up -d redis postgres starts the local data services.
  • SHARED_SECRET must match across the backend services.

Why Pairline Scales

Noah's Ark deployment philosophy

... Any Problem? Scale it up to half of the planet IDC. But be ethical. Pairline leverages Elixir's battle-tested concurrency model and Go's lightweight goroutines to handle massive concurrent connections. Two of every connection, all day, every day.

Additional docs

Known Bugs

  • Using Turn sometimes skips first entry while starting video streams.
  • Could have additional bugs and issues as it is beta. Use at your own risk. Audit code by yourself.
  • IPv6 banning isn't tested.

Keywords: omegle clone github, random video chat app, omegle alternative, open source video chat, webrtc video chat, omegle like, omegle clone, random video chat, omegle alternative, open source omegle, video chat app, random chat application, webrtc video chat, react video chat, omegle like app github, video chat github, omegle clone github, random video chat open source