Shadow is a PHP based analytics system.
- Lightweight
- 'Basic' and 'Active' fingerprinting
- Respects 'Do Not Track'
- Captcha for login
- Basic two-factor support
- Multiple "landscapes" ie. different websites or apps
- Multiple account support
- CSV databases!
- Many functions are not implemented.
- There are no permissions.
- Security is likely lacking.
- The code is an absolute mess.
- This was originally a page hit counter from a blog system.
- Most of this code is from 2015/2016.
- There was an unfinished recode started in 2016.
- It might be rebased onto SBNR someday.
- Please don't re-use the account login code. Something something "don't roll your own crypto"... :)
- Question your sanity
- Consider using an actually well-implemented analytics system unlike this one
dnf install httpd mod_ssl mod_session php php-gd php-mbstring
- git clone this into
/var/www/shadow.domain.tld
- Put some .ttf fonts into
/var/www/shadow.domain.tld/captcha_fonts
mkdir -p /var/www/secrets/shadow/landscape
cp /var/www/shadow.domain.tld/accounts.shd.example /var/www/secrets/shadow/accounts.shd
chown apache:apache /var/www/secrets/ -R
- SELinux only:
chcon -R -t httpd_sys_rw_content_t /var/www/secrets/
- Optional: Install and configure mod_maxminddb for Apache/httpd to have GeoIP information
- Create a VirtualHost for the domain.
- Set
<FilesMatch "shadow.php"> Header always Set Access-Control-Allow-Origin "*" </FilesMatch>
- Navigate to
https://shadow.domain.tld
in your browser and login! - Default account is
admin:adminpassword
.
See the LICENSE
file or About
page