Skip to content

Termino is a decentralized, secure, and peer-to-peer communication application built with Rust and TUI-rs, leveraging WebRTC, libp2p, and IPFS to offer encrypted messaging, file sharing, and audio/video calls directly from the command line.

Notifications You must be signed in to change notification settings

keirsalterego/termino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Termino

Rust Version License Project Status WebRTC IPFS libp2p

Termino offers a decentralized, secure, and efficient way to communicate directly from your command line. Built by developers, for developers who appreciate the beauty of pure code.

This project integrates multiple advanced technologies including WebRTC for real-time communication, IPFS for decentralized storage, and libp2p for peer-to-peer networking. Termino is designed for developers who value privacy, security, and the elegance of terminal-based applications.

With Termino, you can:

  • Send encrypted messages directly between peers
  • Share files through decentralized storage
  • Conduct secure audio/video calls
  • Manage blockchain-based authentication
  • Enjoy end-to-end encryption for all communications

Whether you're a blockchain enthusiast, a privacy advocate, or just love working in the terminal, Termino brings modern communication technologies to your fingertips in a way that's both powerful and developer-friendly.

Tech Stack

  • Language: Rust (because we like our code fast and safe)
  • UI Framework: TUI-rs with Crossterm backend (terminal is the new black)
  • Networking: libp2p (the backbone of Web3)
  • Storage: IPFS (decentralized AF)
  • Async Runtime: Tokio (async/await done right)

Features to be Implemented

  • Terminal UI with TUI-rs
  • Message display and input system
  • Command history tracking
  • Custom keybindings
  • Message signing and verification
  • Blockchain proof of existence
  • End-to-end encryption
  • Timestamp verification
  • P2P messaging system
  • WebRTC data channels
  • NAT traversal support
  • Connection state management
  • IPFS file storage
  • Message synchronization
  • Offline message queue
  • State management
  • Blockchain authentication
  • Message encryption
  • Anonymous routing
  • Session handling
  • WebRTC audio streaming (Opus codec)
  • WebRTC video streaming (VP8/H.264)
  • Audio device management
  • Video device capture
  • Media stream encryption
  • Bandwidth optimization
  • Echo cancellation
  • Noise suppression
  • Video resolution scaling
  • Audio quality control

Prerequisites

  • Rust (latest stable version)
  • Cargo
  • A terminal (duh!)
  • A love for blockchain technology

Installation

  1. Clone this bad boy:
git clone https://github.com/manishyoudumb/termino.git
cd termino
  1. Build it (like a boss):
cargo build --release
  1. Run it:
cargo run

Development

This project will be actively maintained. Pull requests are welcome, but please:

  • Write clean code (we're not savages)
  • Add tests (because debugging in production is like performing surgery in a mosh pit tho we're not doctors!)
  • Document your changes (for the love of all that is holy)

License

MIT License - Do whatever you want with it, just don't be a jerk about it

About

Termino is a decentralized, secure, and peer-to-peer communication application built with Rust and TUI-rs, leveraging WebRTC, libp2p, and IPFS to offer encrypted messaging, file sharing, and audio/video calls directly from the command line.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages