Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Stop Online Productivity Avoidance

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 eternalduino
Octocat-spinner-32 README.md
Octocat-spinner-32 box4sheet1.svg
Octocat-spinner-32 box4sheet2.svg
Octocat-spinner-32 box4sheet3.svg
Octocat-spinner-32 eternal.py
README.md

SOPA Box

Stop Online Productivity Avoidance

The SOPA box disables distracting websites. Pressing the red button toggles these sites on and off, while turning the key switch and pressing the red button disables these sites for 1 hour with no option to return to normal. Resetting the router will bring the internet back, but my cheap crappy router takes 15 minutes to restart, so that's incentive enough to not restart it.

File Description

  • box*.svg

    Files for laser cutting your own box. Files are for 5.2mm plywood.

  • eternalduino_ino.ino

    Arduino source files. These are embarrassingly badly written.

  • eternal.py

    Python script for shutting off the internet. Uses pySerial. List of sites is in here.

Materials

Arduino Details

  • Piezo on pin D10
  • 7 Segment on pin D9
  • Button on pin D5
  • Key on pin D4

I have used the Software Serial library to interface with the seven segment display. Unfortunately, this requires modifying the SoftSerial source code to accommodate interrupts on digital pins 0-5 (for the buttons). In /Arduino-1.0/Libraries/SoftwareSerial/SoftwareSerial.cpp, simply comment out lines 315-320. This disables software serial on pins D0-D7.

Router Details

My router is a Soekris Net4801 running Voyage Linux. Also installed are Python, DHCP3-Server and the Squid3 Proxy. This guide can get you up and running with these programs.

Something went wrong with that request. Please try again.