NOTE: THIS IS NOT OFFICIAL UBIQUITI SOFTWARE AND THEREFORE NOT SUPPORTED OR ENDORSED BY Ubiquiti Networks®
Please show your thanks by donating to the project using Square Cash or PayPal
We greatly appreciate any and all donations - Thank you! Funds go to maintaining development servers and networks.
- Copyright © 2022 Helm Rock Consulting
pixelserv is a simple webserver that returns a single transparent pixel or content loaded from a file
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
- Prevents HTTP 404 page not found messages if used in conjunction with dnsmasq IP redirects (edgeos-dnsmasq-blacklist provides dnsmasq redirection and blacklisting functionality)
- edgeos-pixelserv has been tested on the EdgeRouter ERLite-3, ERPoe-5, ER-X:
- EdgeOS versions v1.7.0-v2.0.9
- Note: the debian package will not successfully install on a UniFi Gateway, since there is also a default HTTP port 80 listener configured all interfaces
- See changelog for details
-
edgeos-pixelserv installs itself as a service into /etc/init.d/pixelserv
-
The installation will modify the router's configuration settings to move "service gui http-port 80" to "service gui http-port 8180" to prevent conflict with pixelserv on port 80
-
Using apt-get - works for all routers
-
Using dpkg - best for disk space constrained routers
- Add the blacklist debian package repository using the router's CLI shell
configure
set system package repository blacklist components main
set system package repository blacklist description 'Britannic blacklist debian stretch repository'
set system package repository blacklist distribution stretch
set system package repository blacklist url 'https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public/'
commit;save;exit
- Add the GPG signing key
sudo curl -L https://raw.githubusercontent.com/britannic/debian-repo/master/blacklist/public.key | sudo apt-key add -
- Update the system repositorities and install edgeos-pixelserv
sudo apt-get update && sudo apt-get install edgeos-pixelserv
curl -L -O https://raw.githubusercontent.com/britannic/pixelserv/master/edgeos-pixelserv_1.0.8_mips.deb
sudo dpkg -i edgeos-pixelserv_1.0.8_mips.deb
curl -L -O https://raw.githubusercontent.com/britannic/pixelserv/master/edgeos-pixelserv_1.0.8_mipsel.deb
sudo dpkg -i edgeos-pixelserv_1.0.8_mipsel.deb
- Removal will modify the router's configuration settings to move "service gui http-port 8180" back to the default "service gui http-port 80"
sudo apt-get remove edgeos-pixelserv
- Standalone binary
/config/scripts/pixelserv -h
Usage: pixelserv [options]
-f <file>
load pixel or other content from <file> source
-h Display help
-ip string
IP address for pixelserv.amd64 to bind to (default "127.0.0.1")
-path string
Set HTTP root path (default "/")
-port string
Port number for pixelserv.amd64 to listen on (default "80")
-version
Show version
- pixelserv.sysv service (EdgeOS < v1.10.x)
service pixelserv {start|stop|status|restart|force-reload|reload}
- pixelserv service (EdgeOS > v2.0.1)
systemctl start pixelserv
```# pixelserv
--