Self-hosted peer-to-peer messaging
Communicate without relying on any centralized internet platforms/services.
Self-hosted server
Self-hosting allows ownership, autonomy, and privacy in a digital world that generally disregards such things.
Peer-to-peer communication
Messages are sent directly to the intended receiver, not to an intermediary platform on the internet.
Single binary executable
Statically linked binary using an embedded database. Contains the frontend web app and backend server.
Chat rooms
Direct messages with one person, and group chats with multiple people.
File transfer
Send & receive files of any size via chat rooms.
wiretile-alpha12-x64.tar.gz
Linux, x86_64
wiretile-alpha12-arm64.tar.gz
Linux, ARM64
Notice: WireTile is still in relatively early stages of development. Some features are missing and APIs may change.
Most internet messaging solutions use centralized servers and/or middlemen to deliver messages on behalf of users. We'll refer to this as "intermediaries". It lowers the barrier to entry for users by moving some responsibility onto whoever is running the intermediaries (usually a corporation). However this is a tradeoff. Users gain convenience but lose control, as their ability to communicate relies on passing through the intermediaries.
Alice          Corp Inc.            Bob
WireTile makes a different tradeoff. It delivers messages directly without intermediaries, which puts users in control of their communication. This is accomplished by moving some responsibility back onto individual users and having each run their own self-hosted server. Therefore setup may require more time and effort depending on your familiarity with computers.
Alice                Bob
Use cases
WireTile is suitable for:
  • Messaging individuals and small groups. Peers exchange contact codes to begin messaging each other, which is analogous to exchanging phone numbers.
  • Transferring files. Peer-to-peer communication allows efficiently transferring files of arbitrary size. Whereas centralized platforms must often impose low limits such as 10 MB.
WireTile is not:
  • A community hub. Large communities benefit from centralized management and a hierarchy of power, which is a poor fit for peer-to-peer. Consider Matrix for this use case.
  • Social media. In many ways it is the complete opposite.
Operating Systems
WireTile consists of two major parts: a web app and a server (both are in the binary).
The web app requires a modern web browser, and is tested on Firefox and Chromium-based. Multiple modern web browsers are available on all major operating systems. The server requires Linux x64/arm64.
How do i login/signup or create an account?
There are no login/signup buttons, instead each user runs their own self-hosted server and uses a web browser to access the web app. Each server belongs to one user, so you could think of that as the "account".
Encryption
All communication over the network is encrypted and verified using various cryptographic standards.
Server peer-to-peer communication utilizes: ED25519 to verify authenticity of peers, AES256-GCM to encrypt data payloads, HMAC-SHA256 to verify integrity & authenticity of payloads, and ML-KEM1024 to establish shared secrets between peers.
Web app communication to/from the server is encrypted via HTTPS-TLS1.3.
DNS & domain names
WireTile is designed to operate without the Domain Name System (DNS). Owning a domain name is not required.