matrix-3ds-client/README.md

88 lines
2.3 KiB
Markdown
Raw Normal View History

2023-12-10 15:39:01 +01:00
# Matrix For 3ds
## Roadmap
- [ ] E2EE messaging
- [x] Generating Keys
- [x] 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
```shell
sudo pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0
```
#### Download and install the keyring
```shell
wget https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.xz
sudo pacman -U devkitpro-keyring.pkg.tar.xz
```
#### Add the repo
```shell
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
```shell
sudo pacman -Sy
```
#### Dependencies ! (may add more later...)
```shell
pacman -S 3ds-curl 3ds-jansson 3ds-dev
# Note !! This adds to profile.d, make sure to restart your current terminal
```
### Cloning
```shell
git clone --recurse-submodules https://gitea.ahur.ac/timoreo/matrix-3ds-client.git && cd matrix-3ds-client
```
### Building
```shell
cmake -Bbuild .
cd build
cmake -j$(nproc) --target matrix-3ds-client_3dsx --build .
```
Then grab the created .3dsx file and enjoy ! (.cia files later)