The Netgear DG834 is an ADSL modem and router running embedded Linux. While it has many useful features, a few are missing. Luckily Netgear provides a firmware building kit that allows you to add in any features you need.
The kits for each router are available here.
I have a DG834G version 1 so I used this one.
To build applications from source you can use the toolchain for Linksys WRT54G which is available here:
You should unpack the toolchain in /opt and then add the bin directories to your path. Now unpack the firmware kit and follow the instructions in the README.
So what can you do with it?
The main startup script of the router is located in target/usr/etc/rcS. You can add tweaks here, for example to modify ip_conntrack settings. Another possibility is to add iptables rules. To transparently redirect http requests to a squid proxy, you could use the rules found at:
If you make a mistake in your modifications, you may render the router unbootable. Don’t worry! There is a recovery utility which you can use to restore to a known working firmware:
Depending on what happened, the router may not go into recovery mode (where the Power and Check light blink alternately.) It may boot up but not let you log in. If this happens, hold down the reset button on the back while plugging in the power until the LEDs start to blink. Then follow the instructions on the recovery guide.