Repository navigation
Runlight 0.1.0
This is Runlight's first release.
Added
@runlight/sdkis privacy friendly web analytics that runs inside an app you already have. It counts visitors without cookies and without storing anyone's IP address, keeps the numbers in your own SQLite, Postgres, MySQL, MariaDB, Turso, or Cloudflare D1 database, and serves its dashboard at/runlighton your own domain. It runs on Node 22 or later, Bun, Deno, and Cloudflare Workers.runlight.shis the same code as a server of its own, with one dashboard for any number of sites and sign-in for the people you invite. It starts withnpx runlight.sh, and the Docker image isghcr.io/runlightsh/runlight.runlight/runlightis the PHP version of the library, for Laravel, Symfony, or plain PHP on PHP 8.2 or later. It uses the same tables as the TypeScript library, so either one can read the other's database.- Runlight counts goals and the revenue they bring, funnels, and the paths visits take through a site. It makes short links on your own domains and counts their clicks.
- Runlight emails weekly or monthly reports and shares a read-only dashboard by link.
- An assistant in the dashboard, and an MCP server for AI apps, answer questions about your numbers.
runlighton PyPI is the Python version, for Django, Flask, FastAPI, or any WSGI or ASGI app on Python 3.11 or later, with a standalone server of its own. It answers exactly as the TypeScript library does and shares its tables.- The
runlightgem is the Ruby version, a Rails engine with an install generator for Rails 7.2, 8.0, and 8.1, or a Rack app or middleware anywhere else, on Ruby 3.2 or later. It also answers exactly as the TypeScript library does and shares its tables. - The
runlight.sh/gomodule is the Go version, for net/http, chi, Echo, or any router that takes anhttp.Handleron Go 1.25 or later, with a standalone server and arunlightcommand of its own. It answers exactly as the TypeScript library does and shares its tables. runlighton Hex is the Elixir version, for Phoenix or any Plug app on Elixir 1.18 or later and Erlang/OTP 27 or later, with its tables in your own Ecto repo. It answers exactly as the TypeScript library does and reads and writes the same tables.sh.runlight:runlighton Maven Central is the Java version, for the JDK's own HTTP server, Tomcat, Jetty, or any Jakarta Servlet 6 container, or Spring Boot 3.5 or 4, on Java 21 or later, with a standalone server of its own. It answers exactly as the TypeScript library does and shares its tables.Runlighton NuGet is the .NET version, for ASP.NET Core or any other .NET app on .NET 10 or later, with a standalone server that installs as therunlighttool. It answers exactly as the TypeScript library does and shares its tables.- The
runlightcrate is the Rust version, for axum, hyper, or any tokio server that takes a tower service, on Rust 1.88 or later, with its tables in your own database throughrunlight-sqlx, which needs Rust 1.94 or later. It answers exactly as the TypeScript library does and shares its tables. - Plugins for WordPress, Drupal, and Craft CMS add the script to a site and report the AI agents that read its pages to a Runlight you run elsewhere. With a dashboard key, each one shows the site's read-only dashboard inside the CMS's admin pages.