Openfire (Jabber) server plugin development
Server:
1. Only latin letters and numbers in login + ignoring case of letters in login
2. Connection security using TLS
3. The ability to connect to the server through the onion domain (users will come from localhost)
4. The server connects to other jabber servers via Tor. Access to the clearnet is through the gateway leading to Tor
5. Provide recommendations for configuring DNS, including spoofing protection (DNSSEC)
6. The complete absence of logs, any settings should maximize user anonymity
7. Encryption of the contact list
8. Consider anti-DDoS, anti-spam, anti-flood protection. Implement "give comments"
9. The server should have the highest ratings for both c2s and s2s according to the [login to view URL] checker ([login to view URL])
Client:
Examine jabber clients in order to find a client that supports the following functionality:
1. Support for PGP, OTR (online sessions), OMEMO (conferences) - each of these points is important
2. Encryption of contact list, message history, automatic deletion of history
3. The ability to connect via SOCKS5 proxy (Tor) with a direct indication of the server (in the form of [login to view URL])
4. To transmit the minimum necessary information about yourself
5. Sending files through an out-of-band proxy, evaluate the ability to scan files for viruses and implement such a proxy
By conferences (rooms):
1. Mandatory OMEMO support in conferences
2. The ability to turn off the display of a chat message about who has left, is not available, entered, left, etc. on / off selection of each item.
3. Ability to remove a participant from the conf
4. Possibility to enable read only mode
5. The ability to issue a warning by pressing the button in the participant’s menu and the inscription appears in the chat, as well as the postscript next to the nickname when he writes in the chat.
6. Ability to set the name of the conference (text field)
7. Ability to set conference description (text field)
8. Make the room permanent (cheсkbox)
9. Make the room visible to everyone (cheсkbox)
10. Make the list of participants visible to everyone (cheсkbox)
11. Make the room password protected (cheсkbox), and text field to enter a password
12. Ability to set the maximum number of participants
13. Make real members Jabber ID visible to moderator, participant, visitor (drop-down menu)
14. Roles for which Presence is Broadcasted: moderator, participant, visitor (drop-down menu)
15. Room for registered members only (cheсkbox)
16. Make room moderated (cheсkbox)
17. Make users default members (cheсkbox)
18. Allow private messages (cheсkbox) and a drop-down menu for anyone - everyone, registered, moderators, etc.
19. Allow users to send invitations (cheсkbox)
20. Allow users to change the alias (cheсkbox)
21. Make room secure captcha (cheсkbox). Ability to add Jabber id to exclude captcha.
22. Destroy the room (button)
[login to view URL]