- C 99.5%
- Zig 0.3%
- HTML 0.1%
| lib | ||
| src | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| Containerfile | ||
| gen_digits.py | ||
| LICENSE.txt | ||
| readme.md | ||
_ _
_ __ (_)_ _(_) ___
| '_ \| \ \/ / |/ _ \
| | | | |> <| | __/_
|_| |_|_/_/\_\_|\___(_)
nixie is a simple yet effective,self-hostable view counter for your cool websites, it was engineered to be ridiculously lightweight, highly concurrent, and privacy focused.
how to build:
- get zig 0.15.2, or better, anyzig.
- clone the repository
- run
zig build -Doptimize=ReleaseFast
should be done and dusted!
how to host:
- get a build
- start it somewhere nice (it will create a .sqlite file in the cwd)
- use a proxy, like caddy
- baboom! profit.
Important
nixie MUST run under a reverse proxy, and even though i love easily self hostable things, this was necessary as it is a security risk to leave out a custom http implementation out in the open with no previous sanitization, specially if it's not encrypted.
parameters
nixie has a list of parameters you can add to a nixie badge, they are the following
https://nixie.com/
?fg=FF88EE // Foreground color. (6 character Hex codes)
?bg=000033 // Background color. (6 character Hex codes)
?pixel=1 // Enables pixel mode.
// If pixel-mode is not enabled:
?size=32 // Font size. (8-36)
?font="" // Font family.
privacy
nixie does not collect your IP nor intentionally stores any sensitive data, its fingerprinting algorithm is done solely on hashes, which means that we could not feasibly reverse every single hash unless we had a ton of processing power or something.
it also respects Global Privacy Control, successor to the DoNotTrack header, which will simply tell nixie to not count your computer, ever.
roadmap
- implement basic svg rendering
- implement cool index page and UI
- implement GCP header support
- implement basic bmp rendering
- implement UI and graphs for view counts
- implement website search and global view counts
- implement trusted websites and trending links?