Candybox

Turn your Raspberry Pi into router

View project onGitHub

What is Candybox

Candybox turns your Raspberry Pi into router. Just connect RPi to your network, install latest Candybox release on SD card — and you are online.

The best feature of Candybox router — it is already fully configured, including all components you may need from your router (dhcp, dns, ddns, pptp, l2tp kernel modules, etc.), and all of them are ready for you to use.

In addition, Candybox supports Netflix and Pandora. As you know, you can't use those web services outside the US. But we eliminated this problem in Candybox: no matter where you are, you can use Netflix and/or Pandora whenever you feel like it.

Another good thing about Candybox is its web control panel. We know how annoying it is to make small changes in router setup through command line. For these situations we created a simple web configurator, which allows you to configure many features that you might need while using your router.

Want to add port forwarding to internal host? — No problem. Needed to setup DDNS hostname? — Just put your credential at DDNS section.

Simple, right?

What it looks like

What you need to run it

  • Raspberry Pi (model B)
  • WiFi router (of course you can use any of Raspbian compatible USB WiFi-dongle, but you will need to configure it manually — currently we don’t support them in default settings)
  • USB-Ethernet adapter (we use one from Apple)
  • SD card (minimum 2GB and class 10 recommended)
  • Beeline (ex. Corbina) ISP Ethernet connection
  • Latest Candybox release build for RPi

How to use it

  • Download latest Candybox release
  • To use an image file, you need to unzip it and write it on a suitable SD card, using the UNIX tool dd. Windows users should use Win32DiskImager. Do not try to drag and drop or copy the image without using dd or Win32DiskImager — it won’t work
  • Plug in your WAN cable to the RPi Ethernet port and LAN cable to the USB-Ethernet adapter, that is connected to one of the USB ports
  • Plug in into power source and wait while it’s booting up
  • Restart network on your computer to obtain new IP address from RPi
  • Point your browser to '192.168.0.1:8080', create a password for accessing Candybox configurator, enter your credentials for Beeline (ex. Corbina) ISP and click "Save and connect"

Technical overview

Supported ISPs

  • Beeline (ex. Corbina) over L2TP (for now)

Web interface features

  • Setup internet connection, turn it on or off
  • Use Netflix and Pandora at any devices at your home
  • Use DDNS for accessing your home computer with dynamic IP
  • Manage port forwarding for any services of your home network (eg. torrents or web/ftp server) without manually entering iptables rules
  • Observe system status and status of its main services

What’s in the box

  • raspbian 'wheezy' with 3.10 kernel and l2tp_* kernel modules
  • xl2tpd with kernel modules support for decrease CPU loading
  • dnsmasq as DHCP/DNS server with logging of DHCP leases
  • set of scripts for monitoring and repairing connection
  • fail2ban for intrusion prevention
  • ddclient for DynDNS support
  • web configurator

Authors

Candybox was invented and created by:

  • Alexander Bykov (@alardus)
  • Grigory Bakunov (@bobuk)
  • Danil Ivanov (@imfo)
  • Alexey Markin
  • Anatoly Lebedev
  • Tatiana Bykova

Contributors

If you want to help make Candybox better, feel free to do so.
Join project on GitHub and make a pull request.