Skip to content

TrynaThinkOf1/phi

Repository files navigation

Visual Studio Code Read the Docs macOS Linux

CMake C++ SQLite

version passing testing secure

logo

PHI

Secure messaging app that lives in your terminal.
Named after Pheidippides (Φειδιππίδης) who ran 25 miles from Marathon to Athens in order to deliver a message.

📊 FEATURES

👤 USER EXPERIENCE
  • SQLite3 database to hold user data - SQLiteC++
    • Password protected
  • Advanced and intuitive Terminal User Interface - FTXUI
🔒 SECURITY

Important

As soon as core functionality and security measures listed below are user-ready, quantum-safe security will be implemented by replacing RSA with CRYSTALS-Kyber (ML-KEM). Everything else will stay largely the same.

Important

Database API is primed for password protection, the only roadblock is SQLiteC++ and CMake

  • GZip (L3) compression for messages - zlib
  • ChaCha20-Poly1305 encryption for messages - libsodium
  • RSA (4096) encryption for CC20 session keys - Crypto++
    • Provides performant and secure hybrid encryption, inspiration from PGP
  • BLAKE2b signature to ensure no tampering - Crypto++
    • Also uses MAC (with shared secret) signature to ensure sender integrity - libsodium
      • Diffie-Hellmann key exchange technique for shared secrets - libsodium

⤵️ INSTALLATION

LINUX (Debian/Ubuntu)

Build yourself:

sudo apt install zlib1g-dev  # install zlib

git clone https://www.github.com/TrynaThinkOf1/phi.git
cd phi/

python3 sysutils.py  # select option 2

sudo mv phi /usr/bin/phi
sudo mv phid /usr/bin/phid

sudo systemctl enable phid

phi  # then proceed with setup

sudo systemctl start phid
MACOS

Build yourself:

git clone https://www.github.com/TrynaThinkOf1/phi.git
cd phi/

python3 sysutils.py  # select option 2

sudo mv phi /usr/local/bin/phi

echo 'PATH="/usr/local/bin:$PATH"' >> ~/.zshrc

# something about daemon setup
WINDOWS

Unfortunately, Phi is not available for windows yet. Coming soon.

About

E2E Messaging App for the Terminal Written in C++

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages