A Matrix client, for 3ds, with E2EE messaging in progress
Find a file
2023-12-10 15:40:52 +01:00
matrix-3ds-sdk@4463d9b96b Update sdk 2023-12-09 23:35:52 +01:00
olm@cb3fe622ae Initial commit 2023-12-09 14:55:50 +01:00
quirc@71c1eebcb7 Initial commit 2023-12-09 14:55:50 +01:00
src Reformat 2023-12-09 23:40:19 +01:00
.clang-format Initial commit 2023-12-09 14:55:50 +01:00
.gitignore Initial commit 2023-12-09 14:55:50 +01:00
.gitmodules Initial commit 2023-12-09 14:55:50 +01:00
CMakeLists.txt Fix : various memory errors + reformat to be better C++ code 2023-12-09 23:35:38 +01:00
LICENSE Added License 2023-12-10 15:40:52 +01:00
README.md Added readme 2023-12-10 15:39:01 +01:00

Matrix For 3ds

Roadmap

  • E2EE messaging
    • Generating Keys
    • Uploading Keys
    • Device Verification
      • QR Code Scan/Display
      • Emoji Display
      • Key Cross-Signing
    • Secure backup
      • Loading
      • Saving (optional)
    • Download device list
    • Olm messages (claimed key, D=>O keysharing)
    • MegOlm Session
    • Basic messaging
    • D<=>D Keysharing
    • Attachment encryption
    • User verification
    • Membership changes
    • Origin Verification
  • Basic UI
    • Room Selection
    • Sending / Receiving basic messages
    • Decoding custom html messages
    • Sending custom html messages (via markdown)
    • Rich Replies (Send/Receive)
    • MXC Attachments (Receive/maybe send)
    • Reaction emotes (Send/Receive)
    • Redact events (& show redacted events)
    • Opening DMs
    • Joining Rooms
    • Creating new rooms too complex
    • Presence checks (typing indicator)
    • Read receipts (Send / Receive)
    • Spaces
    • Threading

How to compile

Note !! This assumes a base Arch Linux install !

Installing Devkitpro dependencies

Add the signing keys

sudo pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0

Download and install the keyring

wget https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.xz
sudo pacman -U devkitpro-keyring.pkg.tar.xz

Add the repo

echo -e '[dkp-libs]
Server = https://pkg.devkitpro.org/packages' | sudo tee -a /etc/pacman.conf

echo -e '[dkp-linux]
Server = https://pkg.devkitpro.org/packages/linux/$arch/' | sudo tee -a /etc/pacman.conf

Refresh databases

sudo pacman -Sy

Dependencies ! (may add more later...)

pacman -S 3ds-curl 3ds-jansson 3ds-dev
# Note !! This adds to profile.d, make sure to restart your current terminal

Cloning

git clone --recurse-submodules https://gitea.ahur.ac/timoreo/matrix-3ds-client.git && cd matrix-3ds-client

Building

cmake -Bbuild .
cd build
cmake -j$(nproc) --target matrix-3ds-client_3dsx --build .

Then grab the created .3dsx file and enjoy ! (.cia files later)