Setting up the ARM4FS development environment

From
Jump to navigation Jump to search


The ARM4FS proof of concept programs are written in Python and kept in a SVN repository. You can check them out with

svn checkout svn://brn-svn.sar.informatik.hu-berlin.de/arm4sns/arm4fs

which will get you an arm4fs directory with two subdirectories: sns-al (the Anonymization Layer Server and Client) and sns-rs (the Reputation System). To run the programs at least Python 2.3 and some additional libraries are required:

sns-rs
You need numarray (package python-numarray under Debian, numarray under Gentoo)
sns-al
You need pyopenssl (Debian: python-pyopenssl, Gentoo: pyopenssl), a recent SVN version of M2Crypto, SQLObject (Debian: python-sqlobject, Gentoo: sqlobject), sqlite (Debian: python-sqlite, Gentoo: pysqlite but it suffices to have the sqlite USE flag set when emerging sqlobject)

In short:

Debian
apt-get install python-numarray python-pyopenssl python-sqlobject python-sqlite
Gentoo
echo "dev-python/sqlobject sqlite" >> /etc/portage/package.use
emerge -avt numarray pyopenssl sqlobject

Then: Check out M2Crypto from their SVN and install it.

Bootstrapping

Run the Reputation System:

  1. cd sns-rs
  2. ./reputation-provider.py 4444

Hint: If you don't have the Reputation System in a runnable state, but want to try the Anonymization Layer anyway, use

while (echo "0" | nc -l -p 4444); do echo "."; done

as a fake Reputation System for now.

Set up the database tables and create the first user. In another window:

  1. cd sns-al
  2. python init.py
  3. init.py prompts you to run the server. In another window do: cd sns-al; python Server.py; then press enter in the window that has init.py

Starting

Alway first start the reputation system, then the anonymization layer server. Then you can run python Client.py (the anonymization layer client) at will.