home network monitor
Overview
Epipylon is software for monitoring the Internet connections made by computers, phones and tablets on your home network.

It can help you check on the web sites your kids are visiting. It can help you discover when apps on your phone are connecting to sites on the Internet.

Epipylon runs on a device called a Raspberry Pi. You don't need to know anything about Raspberry Pis, or Linux, or network administration to use Epipylon. It's designed to be simple to set up and use by normal people, without requiring any arcane technical knowledge.

Download Epipylon
epipylon-20170728120141.img.bz2

Technical Details
If you're an experienced network administrator, you might be wondering what Epipylon is doing, exactly. Here's the deal:

Epipylon acts as a Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS) server for your home network. All DNS requests are logged to the Raspberry Pi's Micro SD card. These logs can be searched through Epipylon's web interface.

Currently, Epipylon only support IP version 4 networks.

If you don't know what that means, don't worry about it. Epipylon is designed to be used by normal people, too.

Hardware
Epipylon runs on a device called a Raspberry Pi. A Raspberry Pi is an inexpensive, tiny computer — about the size of a credit card.
Here is what you will need to get Epipylon running:
You might also need:
Setting Up
1
Download Epipylon and Etcher

Download the Epipylon software image from above.

In addition to Epipylon, you should also download and install Etcher. Etcher is an application for Windows, Mac or Linux which makes it easy to burn Epipylon to your Micro SD card.

2
Burn the image

You will need to insert the small Micro SD card into either the larger SD card adapter included with the Micro SD card or into the USB adapter. Then insert the adapter into your laptop or computer.

Launch Etcher. From within Etcher, select the Epipylon software image you downloaded in step one. Select your Micro SD card as the drive to burn. Complete the burn process.

3
Insert the Micro SD card

Remove the Micro SD card from your adapter and insert it into the Micro SD slot on your Raspberry Pi. The Micro SD slot is on the bottom side of your Rasperry Pi.

4
Connect the cables

If you have a case for your Raspberry Pi, you can insert your Pi into the case now.

Connect the Ethernet cable by inserting one end into an Ethernet port on your modem or router. Insert the other end into the Ethernet port on your Raspberry Pi.

Attach the Micro-USB power supply to the Micro-USB port on your Raspberry Pi, and plug the power supply into a wall outlet. This should only be done after the Micro SD card has been inserted and the Ethernet cable has been connected.

5
Check the Epipylon status

After connecting the power supply, give your Epipylon device thirty seconds to boot up.

Then, navigate your web browser to your Epipylon device. On Windows, enter http://epipylon./ as the URL. On a Mac or Linux enter http://epipylon.local/ as the URL.

6
Disable DHCP on your router

It is likely that the status page of your Epipylon device has informed you that there is a DHCP server active on your network. If this is the case, you will need to disable it.

Click on the link to the DHCP device provided by the Epipylon status page. It is likely that your router or modem is the device doing DHCP. Find the setting for DHCP in your modem or router configuration and disable it. If you are asked for a username and password, there may be a sticker on your router or modem with a username and password. Otherwise, try the username "admin" and password "password".

If you are unable to log in to your modem or router, or are unable to disable DHCP, contact your Internet Service Provider for additional assistance.

7
View the connection log

Return your web browser to your Epipylon device. (http://epipylon./ for Windows or http://epipylon.local/ for Mac or Linux.) Verify that the status page no longer complains about an interfering DHCP server.

Click on the "Connections" tab at the top of the page.

Connections made from your network will be displayed here, along with the time the connection was made and the name of the device making the connection.

After the next time your laptop, phone or tablet leaves and rejoins your network, that device's connections will be recorded. This process of rejoining the network happens automatically every time a phone leaves the range of your Wi-Fi and then returns again, or when your laptop enter sleep mode and wakes again, so you usually will not need to go through any special steps to make that happen. However, be aware — a device currently turned on and in-use will not have its connections recorded until it leaves and rejoins your network.

Contact Information
Epipylon is written by Matt Kimball. If you would like to get in touch with me, you can reach me at matt.kimball@gmail.com.
Development
Epipylon is open source software released under the GNU General Public License version 2.0. If you are a developer and would like to contribute to Epipylon's development, your help is appreciated!

In order to do development, you'll need to install the development image on your Raspberry Pi: epipylon-devel-20170728124455.img.bz2

Epipylon's source code is divided into several components:

See the README files in the github repositories for more details.

Acknowledgements
Epipylon is built using open source software. Raspbian is the foundation upon which it is built. Dnsmasq is used to serve DHCP and DNS requests. Requests are logged to a SQLite database. nginx and uWSGI are used to provide the web interface. Python is used for custom software components.