Bridge to the Internet Logo

Setup Instructions

Installation

Bridge is distributed as a disk image for a Raspberry Pi, version 3B+/4B. Its software is provided as open-source with detailed installation instructions for Windows, Mac OS, and Linux build machines. It requires minimal hardware to operate, using the onboard wifi to create a wireless access point. To provide internet sharing, the network needs an ethernet cable and internet modem or router.

Build System

Material Requirements

You can use a wide range of materials, but to get you started here is my budget oriented list.

MaterialOrder Link
Raspberry Pi 3B+/4BOfficial Link
8GB+ Micro SD card (C10)Amazon
Micro SD Card ReaderAmazon
Bridge ImageDownload
Balena Etcher Balena Etcher
SSH ClientPuTTY
Internet Modem/ RouterAmazon

Windows Build

  1. Download and install Balena Etcher
  2. Download Bridge image
  3. Insert Micro SD card into build machine
  4. Open Balena Etcher and select bridge.img.gz as your image and your SD card as target drive
  5. Confirm your target drive and Flash Screenshot of Balena Etcher
  6. When flash is complete eject SD card and insert into Raspberry Pi
  7. Connect Raspberry Pi to internet modem with Ethernet cable and power on the Raspberry Pi
  8. The first boot will take extra time to expand the SD card and initialize software, wait at least 10 minutes
  9. When it is completed a wireless network should be visible named Bridge WiFi (If it does not appear please power cycle the Raspberry Pi)
  10. Connect to Bridge WiFi with the password community
  11. Use PuTTY to SSH into the Raspberry Pi
    Host: oper@10.0.0.1
    Port: 22
    Password: bridge
  12. Change WiFi SSID and Password by running sudo bash configurewifi.sh in the Raspberry Pi shell
  13. You should now be broadcasting your own WiFi network with Pi Hole DNS sinkhole, Squid Cache, and Node Express Web Server
  14. The local web server can be accessed in the browser at either http://bridge or http://10.0.0.1
  15. The Pi-Hole Dashboard can be accessed in the browser at ttp://pi.hole:8080/adminh
  16. Follow post-installation instructions to configure your clients to make use of Squid HTTP proxy.

Mac OS

  1. Download and install Balena Etcher
  2. Download Bridge image
  3. Insert Micro SD card into build machine
  4. Open Balena Etcher and select bridge.img.gz as your image and your SD card as target drive
  5. Confirm your target drive and Flash Screenshot of Balena Etcher
  6. When flash is complete eject SD card and insert into Raspberry Pi
  7. Connect Raspberry Pi to internet modem with Ethernet cable and power on the Raspberry Pi
  8. The first boot will take extra time to expand the SD card and initialize software, wait at least 10 minutes
  9. When it is completed a wireless network should be visible named Bridge WiFi (If it does not appear please power cycle the Raspberry Pi)
  10. Connect to Bridge WiFi with the password community
  11. Use your preferred SSH client to login the Raspberry Pi
    Host: oper@10.0.0.1
    Port: 22
    Password: bridge
  12. Change WiFi SSID and Password by running sudo bash configurewifi.sh in the Raspberry Pi shell
  13. You should now be broadcasting your own WiFi network with Pi Hole DNS sinkhole, Squid Cache, and Node Express Web Server
  14. The local web server can be accessed in the browser at either http://bridge or http://10.0.0.1
  15. The Pi-Hole Dashboard can be accessed in the browser at http://pi.hole:8080/admin
  16. Follow post-installation instructions to configure your clients to make use of Squid HTTP proxy.

Linux

  1. Download and install Balena Etcher
  2. Download Bridge image
  3. Insert Micro SD card into build machine
  4. Open Balena Etcher and select bridge.img.gz as your image and your SD card as target drive
  5. Confirm your target drive and Flash Screenshot of Balena Etcher
  6. When flash is complete eject SD card and insert into Raspberry Pi
  7. Connect Raspberry Pi to internet modem with Ethernet cable and power on the Raspberry Pi
  8. The first boot will take extra time to expand the SD card and initialize software, wait at least 10 minutes
  9. When it is completed a wireless network should be visible named Bridge WiFi (If it does not appear please power cycle the Raspberry Pi)
  10. Connect to Bridge WiFi with the password community
  11. Use your preferred SSH client and login into the Raspberry Pi
    Host: oper@10.0.0.1
    Port: 22
    Password: bridge
  12. Change WiFi SSID and Password by running sudo bash configurewifi.sh in the Raspberry Pi shell
  13. You should now be broadcasting your own WiFi network with Pi Hole DNS sinkhole, Squid Cache, and Node Express Web Server
  14. The local web server can be accessed in the browser at either http://bridge or http://10.0.0.1
  15. The Pi-Hole Dashboard can be accessed in the browser at http://pi.hole:8080/admin
  16. Follow post-installation instructions to configure your clients to make use of Squid HTTP proxy.

Post Installation

To make use of Squid HTTP Web Cache you must configure your client devices to use the router as the HTTP Proxy. This enables Squid Cache to act as a proxy server allowing all connected to use the network cache server which will allow faster web requests for connected clients. It is optimal to configure the proxy in your system settings so that all applications running your device. The specific instructions will vary between operating systems, but you can use Chrome Browser to navigate to your system proxy settings.

Computer/ Chrome Proxy Setup

  1. Open Chrome and open Preferences panel
  2. Navigate to Advanced > Systems page
  3. Manually configure proxy with the router IP address as your proxy server
  4. HTTP Proxy: 10.0.0.1
  5. Port: 3128
  6. You can test the proxy configuration by running in a terminal window curl -x 10.0.0.1:3128 example.com and if it returns the web page your proxy works!
  7. You should be now be sending requests to the Squid Proxy Server! This will speed up your internet as devices on the network will cache http here.

Firefox Client

You can manually set the router as the proxy server on Firefox Browser. You will do this in the browser's preferences page.

  1. Open Firefox Browser and go to Preferences panel
  2. Navigate to Network Settings and select settings
  3. Select Manual Proxy Configuration and set:
  4. HTTP Proxy: 10.0.0.1
  5. Port: 3128
  6. You can test if it is operating properly by visiting a bogus URL (ldfkjalgkjalj.com). If you receive an error from Squid it means your device is sending requests through the proxy server. Alternatively you can run a packet capture to see HTTP requests are going through port 3128.
  7. You should be now be sending requests to the Squid Proxy Server! This will speed up your internet as devices on the network will cache http here.

Mobile Device

Iphone

  1. Navigate WiFi Settings
  2. WiFi Settings
  3. Select to Bridge WiFi options Bridge Wifi Options IOS
  4. Select Configure Proxy
  5. Enable Manual Proxy
  6. Server: 10.0.0.1
  7. Port: 3128
  8. You should be now be sending requests to the Squid Proxy Server! This will speed up your internet as devices on the network will cache http here.