A TCP-based communication tool
Project description
forbi is a TCP-based communication tool with PKCS#1 OAEP RSA encryption. It consists of a server and a client. The server keeps track of online users and forwards messages from clients to other clients. It is easy to configure what the forbi client should do when it receives a message. Its default action is to show it in a small window.
forbi is designed to be both a secure message sender and a “pre-chat” message mechanism. If you want one of your friends to join an IRC channel, for example, you simply send him a message:
$ forbi-send 'Mr. Spock' 'Come to #thechannel now!'
(Note that this will only work if both you and your friend have forbi clients running.)
Because your friend has his forbi client configured in a way that works best for him (perhaps he has configured his client to run a program that makes a lot of noise when he receives a message, or maybe something else), he is sure to notice your message.
License
forbi is free software under the terms of the GNU Affero General Public License version 3 (or any later version). This is version 0.1.0 of the program.
The libraries used by forbi are AGPL-compatible.
Installing
Way #1
Just run this (requires that you have python-setuptools installed):
# easy_install forbi
Way #2
Get the newest version of forbi at http://metanohi.org/projects/forbi/ or at http://pypi.python.org/pypi/forbi
Extract the downloaded file and run this in a terminal:
# python setup.py install
Dependencies
Python 2.6 is required. Python 3.x cannot be used because at least one of the required modules requires Python 2.x.
- m2crypto
Web address: http://chandlerproject.org/bin/view/Projects/MeTooCrypto
License: Modified BSD license
Installing: $ sudo apt-get install python-m2crypto (or something similar)
- dbus
Web address: http://www.freedesktop.org/wiki/Software/DBusBindings
License: Expat license
Installing: $ sudo apt-get install python-dbus (or something similar)
- gobject
Web address: http://www.freedesktop.org/wiki/Software/DBusBindings
License: LGPL 2.1+
Installing: $ sudo apt-get install python-gobject (or something similar)
- tk
Web address:
License: Python Software Foundation License
Installing: $ sudo apt-get install python-tk (or something similar)
Optional extras
If present, forbi will also use these Python modules:
- termcolor
Web address: http://pypi.python.org/pypi/termcolor/
License: GPLv3+
Installing: $ sudo easy_install termcolor
Note that termcolor is included with forbi, so you don’t really have to install it.
- setproctitle
Web address: http://pypi.python.org/pypi/setproctitle/
License: New BSD License
Installing: $ sudo easy_install setproctitle
Using
To see a list of forbi’s command-line options, run forbi --help.
As a client
The forbi client can only be used together with a forbi server. If you don’t know of anyone with a forbi server, you can run the server on the same computer as your client. In this case, the host address you must give the forbi client is localhost.
The client will run just fine with no command-line arguments. To start it, just run forbi. When it is up and running, you can send commands to it with forbi-send. To see what commands exist and what arguments they require, run forbi-send --help.
See the examples/ directory for simple message receival scripts.
As a server
It is equally easy to run forbi as a server. The simplest way is to run forbi -s. Be aware that while data transportation in forbi is secure, protection against overflooding is non-existent. Anyone can register as a user on a forbi server, and there are no limits (except for those imposed by the underlying system) on how many clients can be connected to the server at the same time.
In general
forbi works by sending commands back and forth between server and clients. These commands are not at all frozen and could very well change in any eventual new releases. There are no detailed descriptions of how the responses to commands should be, but it works for now.
forbi supports adjusting settings using a config file. To see an example of such a config file, take a look at forbi.conf in the examples/ directory of this distribution.
The homepage for forbi is at http://metanohi.org/projects/forbi/
Developing
forbi is written in Python and uses Git for branches. To get the latest branch, get it from gitorious.org like this:
$ git clone git://gitorious.org/forbi/forbi.git
Bugs can be reported at ns@metanohi.org (address of sole developer)
This document
Copyright (C) 2010 Niels Serup
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.