Maemo PirateBox

(wikify and categorize)
Line 2: Line 2:
In case you don't know what is piratebox go to [http://wiki.daviddarts.com/PirateBox David Darts page] or [http://www.thepiratebox.net/ here]. Also, there are script called [https://github.com/cr/mkPirateBox mkPirateBox] for hardware router devices.
In case you don't know what is piratebox go to [http://wiki.daviddarts.com/PirateBox David Darts page] or [http://www.thepiratebox.net/ here]. Also, there are script called [https://github.com/cr/mkPirateBox mkPirateBox] for hardware router devices.
-
I also found David's [http://forum.daviddarts.com/read.php?2,57 implementation] for n900, however it requires custom kernel. This solution is much simpler and works with maemo default kernels.
+
I also found [http://talk.maemo.org/member.php?u=51085 Plissken]'s [http://forum.daviddarts.com/read.php?2,57 implementation] for n900, however it requires custom kernel. This solution is much simpler and works with maemo default kernels.
==Install web server==
==Install web server==

Revision as of 21:12, 24 February 2011

This manual explains how to turn your N810 or N900 Maemo device into a PirateBox.

In case you don't know what is piratebox go to David Darts page or here. Also, there are script called mkPirateBox for hardware router devices. I also found Plissken's implementation for n900, however it requires custom kernel. This solution is much simpler and works with maemo default kernels.

Install web server

Basically what we need is a web server and wireless-tools:

apt-get install lighttpd wireless-tools

I also edited the server's config file:

vi /etc/lighttpd.conf

and changed document root directory to /media/mmc1/www

server.document-root = "/media/mmc1/www/"

put your website data there and start http server if it's not started:

/etc/init.d/lighttpd restart

Start access point

So, dnsmasq is available in Maemo out of the box. It is a DNs and DHCP server. As root, start the following script:

#!/bin/bash
set -x
IFACE=wlan0
ESSID=welcome_to_norayrs_mobile_server #set this yourself
MYTEMPHOSTNAME=maemo
ADDR=23.23.23.23
NETMASK=255.255.255.0
ADDR_MIN=23.23.23.0
ADDR_MAX=23.23.23.255
INT=1
 
ifconfig $IFACE down
sleep $INT 
ifconfig $IFACE up 
sleep $INT
iwconfig $IFACE mode ad-hoc
sleep $INT
iwconfig $IFACE essid $ESSID
sleep $INT
ifconfig $IFACE $ADDR netmask $NETMASK up
sleep $INT
 
/usr/sbin/dnsmasq -i $IFACE -a $ADDR -I lo -z -d \
                  -x /var/run/dnsmasq.$IFACE.pid \
                  --dhcp-range=$ADDR_MIN,$ADDR_MAX,12h \
		  --address=/#/$ADDR \
		  --no-resolv
Here
--address=/#/$ADDR
option is used in order to forward all the requests (i. e. to google or facebook) to the local web server.

This is it, now anybody can connect to your access point, type any address in the browser's address bar, and see your personal PirateBox on your N900 or N810 running under maemo