-
Notifications
You must be signed in to change notification settings - Fork 4
asn-d6/flute
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DISCLAIMER: THIS IS THE FIRST DRAFT OF THE FLUTE SPEC. FLUTE IS CURRENTLY IN TESTING AND DEVELOPMENT PHASE. PLEASE DON'T EVEN THINK OF USING IT FOR SENSITIVE STUFF! [*] Introduction: Greetings! This is Flute, a secure multiparty messaging protocol implemented on Python and Weechat. If you want to read how the protocol works, please see flute_spec.txt. [This project used to be called Viola. It has since been renamed to Flute.] [*] 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 flute: To install flute, simply run `make install` from the root flute directory. Alternatively, if you are planning to do flute 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 flute server with SSL over Tor. Then we load up flute, 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_flute.py /connect bacon /j #flute_test --------------------------------------------------------------------------------------- If things went fine, you should connect to the server and flute should print an initialization message to the central weechat buffer. - Using Flute: -- Finding friends Flute assumes you have passed your Flute public key information to your friends in some secure out-of-band manner (e.g. using OTR, or in real life). You can use the "/flute dump-fingerprint" command to learn your public key, and your friends can use the "/flute trust-key" command to import your key to their friend list. Another way to find friends is to connect to a Flute IRC server, and introduce yourself to them. For example, if you want to introduce yourself to the user with nickname alice, do: /flute 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/flute/flute_account.friends) -- Starting flute rooms After you have a good friend list, go to an empty channel and do: /flute start-room This should initialize a new flute room and make you the captain. Then ask your friends to join your channel. -- Joining flute rooms When your friends join your channel, they also need to join your flute room. To do so, they just need to type: /flute 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. Flute 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