Unifispot is now Spotipo

It’s been more than an year since I have started working on Poppet as a side project in my spare time.Since its first public release in March 31st 2016 it has been downloaded 5000+ times and have 500+ currently active installations at any point of time. It has been an year of learning and experimenting, I learned a lot about Flask and software development in general. Talked to a number of great individual  and made few paying customers as well.

When I started this project, it was intended only for UBNT APs, hence chosen the name Unifispot. Over the time so many people showed interest in getting a similar hotspot portal for Mikrotik,OpenWRT and OpenMesh. However the initial project design was just enough extendable, it was never intended to support anything apart from Unifi controller.

So I went back to square one,rebuild the whole thing from scratch with the vision of supporting all kinds of features and devices in future. Also thought its a good time to change the name to a more generic one and Spotipo is born.

Spotipo is 2.0 version of poppet, built from ground up. Have a look at the new look.

Major Changes

  • Added support for Windows
  • New dashboard theme
  • Removed export to mailchimp
  • Added support for configuring each login methods independently ( fields to collect,session control etc)
  • Better multi device voucher support

Compiled binaries can be downloaded from download

Documentation (work in progress) is available

Please note that Spotipo is not backward compatible with poppet.You won’t be able export old data from poppet.



Poppet-1.2.0 Released

Today we are releasing poppet-1.2.0 which packs tons of new features and bug fixes.


[h2_heading]Whats new in 1.2.0[/h2_heading]

  • Custom voucher designer
  • Multi use vouchers
  • QR based vouchers for Scan2Login
  • Enhanced voucher with data/speed limit
  • Made Unifi controller ports to be configurable
  • Made CNA avoidance configurable

[h2_heading]Issues fixed[/h2_heading]

  • Make Session_timeout value to be optional


[h4_heading]Please note upgrading will remove any code changes you might have done. Do create a backup of files/database before upgrading.[/h4_heading]

Upgrading can be done by downloading and installing new deb file.

Poppet-1.1.0 Released

Today we are releasing poppet-1.1.0 which packs tons of new features and bug fixes.

You can download the latest version here.

[h2_heading]Whats New in 1.1.0[/h2_heading]

  • Support for Facebook checkins
  • Updated dashboard with social analytics
  • Added option to control session duration
  • Guest data download in CSV
  • Integration with mailchimp
  • Option to redirect guests to custom URLs
  • Customize landing page fields
  • Available as Ubuntu 14.04 binaries

Easy install Poppet, the open source unifi hotspot on Ubuntu 14.04


[ This post is no longer valid, please see the updated documentation in www.spotipo.com/help ]



There were many comments from users trying to install using our previous post and running into issues, so we decided to make a script will that will help.

    1. Get access to an Ubuntu 14.04 x64 machine, we recommend 2Gb RAM/2CPU droplets from Digital Ocean.
    2. Install Unifi controller on this server. Its important to install both poppet and Unifi controller on the same server. Follow this guide if you need help.
    3. Login to your server and download our installation script.
wget https://raw.githubusercontent.com/unifispot/poppet/master/scripts/install.sh
    1. Execute the script and watch it install, if there is no MySQL server already available script will install and configure one for you.
chmod +x install.sh
sudo su
    1. Once the script is finished execution, you should be able to navigate your browser to http:// and login with following credentials
username:[email protected]
  1. Next Steps: Follow our getting started post here.

Getting Started With Poppet : How to configure Hotspot site for Unifi Controller


[ This post is no longer valid, please see the updated documentation in www.spotipo.com/help ]


If you haven’t done already, read this post for installation instructions. First step after installing poppet is to configure Unifi Controller credentials. Default login credentials are Username:[email protected] and password:password.

  1. After logging in go to settings tab,  enter the user name and password used for logging into Controller. We recommend running Hotspot and Controller on same systemUbnt_settings
  2. Poppet supports two different Logins, Admins and Clients. Admins will have full access to the system while clients can only view the sites assigned to them. Start by creating a client in Clients Tab.Unifispt ; Open Source Hotspot portal supporting Facebook/Email login for Unifi controller
  3.  Next create  a site for this client.Unifispt ; Open Source Hotspot portal supporting Facebook/Email login for Unifi controller
  4.  Follow the Step-by-Step Wizard to configure your site.Unifispt ; Open Source Hotspot portal supporting Facebook/Email login for Unifi controllerUnifispt ; Open Source Hotspot portal supporting Facebook/Email login for Unifi controllerUnifispt ; Open Source Hotspot portal supporting Facebook/Email login for Unifi controllerUnifispt ; Open Source Hotspot portal supporting Facebook/Email login for Unifi controller
  5. . Once you are done with creating a site, you should be able to see all the APs and Guests connected in the Dashboard. Proceed further Edit Landing Page and configuring Unifi Controller.




How To: Use Let’s Encrypt SSL certificates On UniFi Controller Ubuntu

Lets Encrypt SSL for Unifi controller

Let’s Encrypt is a joint project from EFF, Mozilla and others that allows anyone to create a free HTTPS certificate in minutes, this being a critical piece of infrastructure, necessary for making connections between a web-server and a browser secure and private.

Using lets encrypt, one can secure their website/webapp, in our case Unifi Controller against MitM attacks. The best thing about letsencrypt is its free for life!.

Lets get started, I am going to use Ubuntu 14.04 as the base version here, but it should be pretty much same in all Linux versions.

Install Lets encrypt

sudo apt-get update
sudo apt-get -y install git bc
sudo git clone https://github.com/letsencrypt/letsencrypt /usr/src/letsencrypt

Go to /root and do the following:

mkdir /root/bin
wget http://unifispot.com/lec/DSTROOTCAX3.txt http://unifispot.com/lec/gen-unifi-cert.sh
mv gen-unifi-cert.sh /root/bin/
chmod 750 /root/bin/gen-unifi-cert.sh

Open gen-unifi-cert.sh and edit domain name and email

vim /root/bin/gen-unifi-cert.sh

lets encrypt unifi controller

Check and make sure that no service is running in port 80.

service stop apache2
service stop nginx

Backup your configuration files just to be safe

lets encrypt unifi controller

Execute the script


Thats it, you are all set to go!

Please note this script is originally written by briellie and available here https://www.reddit.com/r/Ubiquiti/comments/43v23u/using_letsencrypt_with_the_unifi_controller/

How To: Installing Unifi 4.7.5 On Ubuntu 14.04 LTS in Digital Ocean


One of the easiest and cost effective hosting provider for Unifi Controller is Digital Ocean. Basic VPS hosting from them starts at 5$ per month for 512Mb with 20Gb storage!.  If you don’t have an account already, you can use my referral link to get a 10$ discount.

Here is the step by step procedure to install the latest (4.7.5 at the time of writing) Unifi Controller

  1. First create a droplet by choosing Ubuntu 14.04 64 Bit as operating system and assign a name and domain name.
  2. You will need an SSH client to connect to the server and configure it. If not already using, download putty here.
  3. I would recommend using SSH key based login for added security. Follow the steps in here.
  4. Edit /etc/apt/sources.list and add the below lines
## Debian/Ubuntu
# stable => unifi4
# deb http://www.ubnt.com/downloads/unifi/debian unifi4 ubiquiti
deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti

5. Add GPG keys to avoid packages not being verified

# for Ubiquiti
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50

6.Update package lists and install unifi

# retrieve the latest package information
sudo apt-get update

# install/upgrade unifi-controller
sudo apt-get install unifi

7. Add firewall rules to increase security

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -i lo -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8880 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8843 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27117 -j ACCEPT
sudo iptables -A INPUT -j DROP

8. Install iptables persistent to save iptable rules

sudo apt-get install iptables-persistent

That’s it! Controller should be available in https://<your ip>:8443