Initial commit
This commit is contained in:
commit
47272c85df
5 changed files with 57 additions and 0 deletions
Binary file not shown.
12
Example-Files/Room-Files/members
Normal file
12
Example-Files/Room-Files/members
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"Members": [
|
||||||
|
{
|
||||||
|
"name": "Ceres",
|
||||||
|
"publickey": "D978BAE1E224087E63F832E32099C4AA2EBCC09C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "June",
|
||||||
|
"publickey": "F42631D864548FB64831F179C7E098C0E371DC54"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
Example-Files/Room-Files/messages
Normal file
16
Example-Files/Room-Files/messages
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"messages": [
|
||||||
|
{
|
||||||
|
"time": 1763566329,
|
||||||
|
"public-key": "D978BAE1E224087E63F832E32099C4AA2EBCC09C",
|
||||||
|
"type": "text",
|
||||||
|
"content": "-----BEGIN PGP MESSAGE-----\n\nhF4DXZKRuM07tJsSAQdAFfnA3T5isKLGy/bCmZXkZD6WYiFlk0/6+PMpIILeNX8w\nF7Cw5e8CCKXxPDmsZTfdLRbLj9IGbeRw3kLvf7BurQWb7t9DwxWd6xp6FhPev63X\n0kABbP4fb2LrhkOZSs3oQIafJf1HRFcOAduQZOPOzOZYOrSsCs+VEsN5DEurgsDw\nx9MpOlJbzM0cai97iMKHz7Ou\n=mmVI\n-----END PGP MESSAGE-----"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 1763567415,
|
||||||
|
"public-key": "F42631D864548FB64831F179C7E098C0E371DC54",
|
||||||
|
"type": "media",
|
||||||
|
"content": "shasum.pgp"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
20
Example-Files/users
Normal file
20
Example-Files/users
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"users": [
|
||||||
|
{
|
||||||
|
"publickey": "D978BAE1E224087E63F832E32099C4AA2EBCC09C",
|
||||||
|
"name": "Ceres",
|
||||||
|
"rooms": [
|
||||||
|
"example_room_1",
|
||||||
|
"example_room_2",
|
||||||
|
"a_really_cool_room"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"publickey": "F42631D864548FB64831F179C7E098C0E371DC54",
|
||||||
|
"name": "June",
|
||||||
|
"rooms": [
|
||||||
|
"a_really_cool_room"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
9
README.md
Normal file
9
README.md
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# MEOW Protocol Spec
|
||||||
|
## Files
|
||||||
|
### Server Files
|
||||||
|
The files on the server determine the members of the homeserver, and contain a copy of all the rooms which have at least one member of that homserver. In the root directory, there is a `users` file which contains a list of users registered to the homeserver, their default name and public key, and a list of room they're in.
|
||||||
|
|
||||||
|
Each room is then a subdirectory of the root folder, containing a `members` file, a `messages` file and a `media` folder. The members file contains a list of all members of the room, with their names for that room and their public key. The messages file contains a list of all sent messages, with each message being represented by an object containing the time the message was sent, the publickey of the sender, the type of message and the content. When the message type is `text`, the content is the pgp message block, with each new line being replaced with a `\n`. When the message type is media, the content is the name of the relevant file from the media folder. The media folder contains all files send in the room, with the file names being the sha256sum of the *encrypted* file, and the extension preserved.
|
||||||
|
|
||||||
|
### Client Files
|
||||||
|
The client device should be sent copies of each room folder the user is in, and these should be kept up to date with the server.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue