{"meta":{"name":"FindSoftware","page":"https://findsoftware.frbit.cloud/shynet/","markdown":"https://findsoftware.frbit.cloud/shynet.md","license":"https://creativecommons.org/licenses/by/4.0/","attribution":"FindSoftware, CC BY 4.0","note":"Attributes are recorded, never scored. An absent field means unknown, never zero and never bad."},"record":{"id":"shynet","name":"Shynet","urls":{"repository":"https://github.com/milesmcc/shynet","docs":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md"},"category":["analytics"],"description":"Self-hosted web analytics for websites that works without cookies, through a tracking script or a tracking pixel.","maintainer":"Miles McCain","maintainerType":"individual","firstRelease":2020,"language":"python","basedOn":["django"],"contentStore":null,"databases":["postgres","sqlite"],"adminUi":true,"headlessApi":["rest"],"templating":null,"i18n":null,"runsAs":["always-on"],"renderingModes":null,"installMethod":"docker-image","licenseModel":"open-source","license":"Apache-2.0","currentMajor":"0","latestReleaseDate":"2026-03-15T00:00:00.000Z","githubStargazers":3157,"contributors":38,"packagistDownloads":null,"npmWeeklyDownloads":null,"checkedAt":"2026-11-03T00:00:00.000Z","addedAt":"2026-11-03T00:00:00.000Z","sources":[{"field":"urls","url":"https://api.github.com/repos/milesmcc/shynet","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"urls","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"maintainer","url":"https://github.com/milesmcc/shynet/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"maintainerType","url":"https://github.com/milesmcc/shynet/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"language","url":"https://api.github.com/repos/milesmcc/shynet","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"basedOn","url":"https://github.com/milesmcc/shynet/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"category","url":"https://github.com/milesmcc/shynet/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"installMethod","url":"https://github.com/milesmcc/shynet/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"runsAs","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"databases","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"adminUi","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"headlessApi","url":"https://github.com/milesmcc/shynet/blob/master/GUIDE.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"license","url":"https://api.github.com/repos/milesmcc/shynet","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"licenseModel","url":"https://github.com/milesmcc/shynet/blob/master/README.md","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"firstRelease","url":"https://api.github.com/repos/milesmcc/shynet/commits/v0.1.0","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"currentMajor","url":"https://api.github.com/repos/milesmcc/shynet/releases","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"latestReleaseDate","url":"https://api.github.com/repos/milesmcc/shynet/releases","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"githubStargazers","url":"https://api.github.com/repos/milesmcc/shynet","checkedAt":"2026-11-03T00:00:00.000Z"},{"field":"contributors","url":"https://api.github.com/repos/milesmcc/shynet/contributors","checkedAt":"2026-11-03T00:00:00.000Z"}],"status":"active","ai":"authored"},"prose":"Shynet is web analytics software written in Python on Django. A site is added as a service in the dashboard, which produces a tracking script to place on the pages; visitors without JavaScript are counted through a 1x1 tracking pixel. The README describes the tool as working without cookies and as keeping visitor data on the operator's own server. Each instance runs as a long-lived web server, and the documented deployments are a Docker image, Docker Compose, Heroku and Render. Data is stored in PostgreSQL or SQLite. The dashboard supports several users: administrators can share services with other users, and the dashboard data can be read through an API that takes a user token.\n\n## Worth knowing\n\nThe [usage guide](https://github.com/milesmcc/shynet/blob/master/GUIDE.md) says Heroku's free Postgres add-on is unlikely to support an instance that records more than a few hundred requests per day. Every tracked page needs the script tag that points at the instance."}