UPDATE : March 2017 – I’ve released a newer version that works on Windows/Mac/Linux too! Check it out here.

 

I built GateSentry back in 2014 as a single appliance based solution to filter my home’s internet traffic; block advertisements and obscene content and also have a nice User Interface which anyone could manage. For the overall community’s benefit I also decided to share my efforts as a nice easy to install image. I had no idea it would get so popular. Since then, I have received countless emails from people around the world thanking me for GateSentry.

In the past 2 years the Raspberry Pi boards have improved both in their performance and features, to make sure GateSentry is able to take advantage of these improvements I spent the last 3 months updating GS, ironing out bugs, adding a few features and overall just making sure it runs on the awesome new Pi2 and Pi3 boards. So, here it is,  months of hard work culminated into a 3 Gigabyte image.

What is GateSentry?

GateSentry is a free and Opensource Raspberry Pi based web filtering/Parental Controls Solution. It features:

  • SSL Filtering
  • File Download restriction based upon MIME types
  • Phrase based content restriction
  • Individual Site blocking
  • Ad Blocking
  • Switch Internet access off
  • Its Free!
What’s new in v1.0?
  • Updated Squid
  • Support for all Raspberry Pi boards upto Raspberry Pi 3
  • Built in Wifi Access point for the Pi3
  • Sets up proxy automatically on clients, works out of the Box on the Pi3 and Pi2 (if your Wifi Device is supported)
  • Support for disabling internet access.
  • Support for OTA updates
  • Raspbian GNU/Linux 8 (jessie) , kernel verison: Linux raspberrypi 4.1.19+ #853 Wed Mar 9 18:04:48 GMT 2016 armv6l GNU/Linux
Screenshots

Main screen

main

Change built-in Wifi name and password

wifipass

Disable Internet access for Wifi Clients

internetswitch

After the intstall

SSH into the PI using the default raspbian login credentials.

username: pi

password: raspberry

and run the following.

  • sudo apt-get install raspi-config
  • sudo raspi-config
    • Expand file system
  • Change `pi` user’s password
  • [Optional] Disable logging for Squid
Getting Started

Connecting to the Pi.

If you have a Pi-3 or a Pi-2 (with a Wifi adapter) GateSentry would automatically try to start a Wifi Access Point with the following details:

SSID: GateSentry-AP

Password: letmein8977

 

Logging in into the administration area

If you’re using GateSentry’s AP . The administration area is accessible at http://172.24.1.1:897/ . If you’re not using GateSentry’s AP. Simply obtain your Raspberry Pi’s IP from your Router and connect to port 897 on it.

Login credentials:

user: [email protected]

password: letmein

 

Filtering Traffic:

If you’re using GateSentry’s built in Wifi access point, then simply connecting to the access point would give you filtered internet access.

If you’re connecting to GateSentry without using the wifi access point then simply set your browser’s http/s proxy to http://RaspberryPiIp:8080/

 

Download the Certificate for https traffic:

Download it here

 

Download Gatesentry

This is not a final release, I just wanted the community out there to try it out and let me know of any other bugs or issues they run into.  Try at your own risk and please be sure to report bugs here so they may be removed in further updates.

Download now

Download now

  • Vincent Debierre

    Hi,
    Great project.
    Just a quick question, I wanted to modify the squid conf file (to add tmpfs cache). This did not work out too well, everything being blocked thereafter. Then I reverted to the previous configuration file and restarted but GateSentry keeps blocking all traffic. Does it make sense to you ?
    Thank-you !
    .vince
    [edit : I can’t find the log file or a way to have more info on the “blocked” html file]
    [edit2 : even the website in the “allowed list” are blocked]

    • abdullah

      First, lets change your squid.conf file to the default configuration:
      https://gist.github.com/fifthsegment/79fb356bf4cbf90253104388d504ee43

      Logs: /var/log/squid3/access.log
      Block file 1 : /etc/gatesentry/templates/default.html
      Block file 2: /etc/dansguardian/languages/ukenglish/template.html

      Let’s head over to GitHub issues for the rest of the discussion. It’s nice to have a single issues page for the rest of the community’s benefit: https://github.com/fifthsegment/GateSentry/issues

      Abdullah

      • Vincent Debierre

        Thanks ! will do.

    • Akhi Mahmood

      Hi Vincent.

      I was having this issue. Check (using the web interface) that under “Content Filtering” your “Blocked HTTPS Content” file doesn’t have any line breaks after the last entry. This was blocking everything for me. Now works perfectly.

  • phil

    wonderfull job !
    since several months i was looking for a squid solution on my NAS Synology .. never worked as expected !
    with your solution, in some minutes (time to format sd card) and all work !!

    may i ask if you plan to add a scheduler to allow or not kids access to internet ?

    thanks a lot, regards

    • Abdullah

      Hi Phil, I plan to phase this image based version of GateSentry out and shift to a single cross platform binary that simply works anywhere or any device. I’ve just released it yesterday, that also does includes a built in scheduler. You could test it out on your Windows/Mac/Linux system before installing it on the Pi and report back. I’m open to feedback and suggestions over it 🙂 Here’s the link to it : http://gatesentryfilter.abdullahirfan.com/

      • phil

        Hi,

        well, what i like with your solution is that there is just an SDcard to flash and that’s run on my RPI3 !.. soo EASY !

        that is not so fast with your new version, will try to test, but i need to understand how install it before !

        some futur great features are : “Ad blocking” and “Graphic Image detection” .. but it’s for future !

        best regards, thanks !

      • phil

        well i download the Linux ARM file, which give me the “gatesentry-linux-arm” file.

        Please, how to write it on the SDcard now ?

        thanks, regards

        • Abdullah

          Phil, you don’t have to write that file to the SD Card. It’s just an executable file that you can run on the Raspberry Pi (any linux image). Simply SSH into your Raspberry Pi, download the gatesentry-linux-arm file onto it and follow the Linux part of this tutorial (its very simple actually).

          • phil

            well i’m not a linux user !
            that mean that i need to install an OS (which one you recommend ?)
            then run the executable following the “guide” ?

            thanks, regards

          • Abdullah

            In that case, I’d recommend you to first try GateSentry on your Windows/Mac computer before the Raspberry Pi. The new version works everywhere! Just download GateSentry’s binary file for your computer and follow the guide (it also has a Windows version at the end of the page). In case you have already done that and want to install directly on the Pi, you can use the Raspbian image (Jessie lite) , then burn it on to your sd card and make a file called ssh on the boot partition of the sdcard, place it onto your sd card and start the pi. Then SSH into the pi and download the GateSentry binary onto it and follow the linux section’s instructions from the guide.

  • Sam Sung

    How to change to other wifi ssid?

    • Abdullah

      SSH into the Pi, open the file :/etc/hostapd/hostapd.conf, modify the line ssid= with your new AP name.