unknown

module
v0.0.0-...-64ed5c8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2020 License: GPL-3.0

README

Unknown

a 'trust no one' instant messaging

version 0.1 alpha

anonymous | end to end encrypted | metadata-resistant | decentralized | multi platform

How it works: Unknown uses v3 tor hidden services and REST APIs to exchange messages between two devices, it supports single and group conversations and offline mode.

Everything is asynchronous, there's no persistent connection between devices.

There are no external entities, no cloud or server, everything is just exchanged peer to peer. All your converations are inside your instance of Unknown (and the other party, of course!). You own your data.

This also means, on the other side, that both parties need to be online for the communication to happen. There's some support for offline mode, you can find details here .

Currently one client is available (Terminal01, under cmd/). A web client is work in progress. Maybe an Android one too.

How to install:

If you wanna user docker, follow instructions here .

Otherwise, you can simply fetch the code and compile it yourself (you need a Go compiler installed):

git clone git@github.com:rehacktive/unknown.git
cd unknown
go build cmd/unknown.go

This will create the binary unknown. Create a folder for it, copy the binary and then execute it with:

UNKNOWN_USER=yourusername UNKNOWN_PASS=yourpassword ./unknown

If all goes correctly, the last line of the log will show something like:

your private address is: xxxxxxxxxxxxxxxxxxxxxx.onion:3691

Open this URL on TorBrowser (it will ask you previous username/password) and follow the instructions.

How to use Terminal01: TODO

Security:

All the networking is routed through the TOR network, and since there are no 'external' entities involved (cloud, server,...) no data go outside the TOR network. This means that: everything is End-to-End encrypted by the TOR protocol. Additional encryption/verification is done by Unknown too.

Some considerations:

  • if you share your Unknown identity (URL and public key) securely (meaning that the attacker doesn't intercept the shared information in that moment) then you can consider Unknown anonymous;
  • maybe you don't want it to be anonymous, you just want your communication to be private and secure. So you can share your public URL on Twitter (or anywhere you want) and anyone can send a request to you and start to communicate through Unknown: this is absolutely fine. Infact you can find author public URL below.

Please note again: this is just a very early alpha release. use at your own risk.

any help on code review, security audit or any suggestion/contribution are welcome. you can contact me on Unknown sending a request to this URL.

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL