The web, with (your) Style

 

delorean_dmc-12_side
DeLorean DMC-12 (Credits: Photo by Kevin Abato, www.grenexmedia.com, edited by me.

While the web (besides time machines) is styled much nicer than ever, this does not always mean, it’s your style, nor that user experience is much better for you.

Two powerful tools, UserStyles and Greasemonkey (Tampermonkey for Chrome), come to help. They both inject additional functionality (CSS and/or JavaScript) into existing websites, allowing to transform or extend their use.

In my spare time, I have created some (hopefully) handy scripts and styles:

A slimmed down StackExchange

stackwatchersTo get rid of the distracting side bar on some of the StackExchange sites, I have created the StackWatchers user style. This also improves the reading experience on narrow windows.

Better UX with NxFilter

nxfilter_with_colorTo have a better visual distinction for blocked requests by the DNS filtering tool NxFilter, I have created NxFilterColorizer, a user script that colorizes the table row depending on the block indicator text. It also applies a CSS class that allows further styling with a user style.

Global wait indicator

Having a wait indicator is often useful. The waitin.user.js script gives you a global wait indicator for any website at once. (This is in ALPHA state, use with caution).

Running NxFilter on a headless Raspberry Pi

NxFilter is the best free solution for a self-hosted DNS server/filter I have found so far. Today I got my Raspberry Pi, so how about running NxFilter on a headless Raspberry Pi in a family’s home network?

Prerequisites

The current version of Raspbian, the default Debian-based Operating System for the Raspberry Pi already comes with all required packages (Java, unzip, wget)

  1. Install Raspbian on the Raspberry Pi. You can do this also headless, without an attached Keyboard and Screen, for example by following the official guide on how to install an Operating System on an SD card,  or this more generic guide for a fully automated, configured installation.
  2. Connect to your Raspberry via SSH, using the default (or configured) Username/Password.
  3. Optional: Update Raspbian to the latest version.
  4. Recommended: Change the default password.

Installing NxFilter

Note: This guide roughly follows the  the unix installation instructions from the NxFilter manual:

  1. Download the latest version of NxFilter with wget
    wget http://www.nxfilter.org/download/nxfilter-3.5.1.zip
  2. Unzip to the installation folder (requires root-access)
    sudo unzip nxfilter-3.5.1.zip -d /nxfilter
  3. Change to the installation folder
    cd /nxfilter/bin
  4. Make the necessary scripts executable
    sudo chmod +x *.sh

Manual Startup

  1. Run
    sudo ./startup.sh

Automatic Startup at each Raspberry boot

  1. Add the line /nxfilter/bin/startup.sh -d near the end of the file /etc/rc.local
    cd /etc
    sudo nano rc.local
    
  2. After doing so, the end of the file should look something like
    # NxFilter Autostart
    /nxfilter/bin/startup.sh -d
    exit 0
    
  3. Reboot
    sudo reboot

Configuration of NxFilter

  1. Using another machine with a browser, navigate to http://youripaddress/admin Default Username and Password is admin/admin.
  2. Change default password via “Config/Admin”
  3. See the manual for all configuration options.