forked from asn-d6/flute
-
Notifications
You must be signed in to change notification settings - Fork 0
piratas-ar/viola
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DISCLAIMER: THIS IS THE FIRST DRAFT OF THE VIOLA SPEC. VIOLA, AS A SOFTWARE AND AS A PROTOCOL, ARE NOT USER READY YET. VIOLA IS CURRENTLY IN TESTING AND DEVELOPMENT PHASE. PLEASE DON'T EVEN THINK OF USING IT FOR SENSITIVE STUFF! [*] Introduction: Greetings. This is Viola, A multiparty chat protocol implemented on Weechat. Please see viola_spec.txt for the protocol spec. [*] Installation: - Installing dependencies: First of all you need to have a weechat installation. It should have Python and SSL support. In Debian you can do # apt-get install weechat weechat-plugins You also need to have PyNaCl installed on your system. On Debian testing you can install by running: # apt-get install python-nacl Alernatively, you can use the pip package manager or build from source. For instructions on how to install pynacl without root, see the "Miscellaneous" section of the HACKING file. - Installing viola: To install viola, simply run `make install` from the root viola directory. Alternatively, if you are planning to do viola development, you can try `make dev-install` which will symlink the files instead of copying them, so you don't have to run `make install` everytime you do a change. [*] Usage: - Connecting to an IRC server using weechat: The instructions below require you to have Tor installed. You can also do it without Tor, but I'll let you figure out how to do it. Tor can be installed in Debian by doing: # apt-get install tor Now launch weechat. We need to set it up so that it connects to the viola server with SSL over Tor. Then we load up viola, and connect to the server. --------------------------------------------------------------------------------------- /server add bacon irc.baconsvin.org/6697 /set irc.server.bacon.ssl on /proxy add tor socks5 127.0.0.1 9050 /set irc.server.bacon.proxy "tor" /set irc.server.bacon.ssl_verify off <-- WTF. Baconsvin SSL cert expired... Please only set this for testing. /python load weechat_viola.py /connect bacon /j #viola_test --------------------------------------------------------------------------------------- If things went fine, you should connect to the server and viola should print an initialization message to the central weechat buffer. - Using Viola: -- Finding friends Viola assumes you can securely pass your Viola public key information to your friends in some manner (e.g. using OTR, or in real life). You can use the "/viola trust-key" command to import keys to your friend list. Another way to find friends is to connect to a Viola IRC server, and introduce yourself to them. For example, if you want to introduce yourself to the user with nickname alice, do: /viola introduction alice After alice accepts your introduction, she can also introduce herself to you. Do this for all your friends so that you have a complete friend list. Your friend list is saved on disk (see .weechat/viola/viola_account.friends) -- Starting viola rooms After you have a good friend list, go to an empty channel and do: /viola start-room This should initialize a new viola room and make you the captain. Then ask your friends to join your channel. -- Joining viola rooms When your friends join your channel, they also need to join your viola room. To do so, they just need to type: /viola join-room As long as the joining user's public key is in your friend list, the user will be added automatically to the room by you. Otherwise, you need to ask your friend to introduce themselves to you. -- Sending messages After users have joined your room, you can just send encrypted messages to each other as you normally would. Viola adds indicators when a received message is encrypted or unencrypted.
About
Secure multiparty messaging (kindof)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 99.6%
- Makefile 0.4%