Custom Portal for pfSense

Free for all policy, but need to observe/monitor users and usage.

Besides username/password or voucher everybody can connect their systems by themselves. RADIUS MAC Auth is used and a custom page aka hack to register name, email, and MAC address is provided.

Installation:
1. Set up pfSense
2. Clone git repo to /home on the pfSense box
3. Upload captiveportal-... files through Captive Portal File Manager

Cronjobs:
55 23 * * Sun /home/pfSensePortal/weekly_maintenance.sh
0 3 * * * /usr/local/sbin/squid -k rotate
0 4 * * * /home/pfSensePortal/download_backup.sh
@reboot /home/pfSensePortal/delete_squid_cache.sh
@reboot /home/pfSensePortal/send_gmail_after_startup.sh

Facebook DNS based blocking
1. Add Firewall Alias with URL Table pointing to http://172.16.1.2:8000/captiveportal-facebook_subnets.txt
2. Create schedule to include working hours
3. Add Floating Firewall Rules with Destination Alias name of Firewall Alias name of 1.
4. Optional: Update list of Facebook subnets once in a while with
     for ip in `whois -h whois.radb.net '!gAS32934' | grep /`; do echo $ip; done