An independent, self-hosted URL shortener written in plain PHP.
Live: 0x79.one
A single-purpose URL shortener: paste a link, get a short one back. No accounts, no login.
| Area | Included |
|---|---|
| URL shortener | Anonymous creation, branded QR codes, optional emoji output |
| Platform | Anonymous API and admin dashboard |
Links created on the homepage can optionally set a password, expiry, click limit and custom alias (the "more options" section). The API accepts the same fields as password, expires_at, max_clicks and custom_code, and the admin dashboard can edit any of these on an existing link.
- PHP 8 or newer
- Supabase or PostgreSQL
There is no framework or build step. The frontend is server-rendered HTML with Tailwind loaded from its CDN.
Clone the repository:
git clone https://github.com/HyperGaming99/0x79.git
cd 0x79Copy the example configuration:
cp .env.sample .envAt minimum, configure an admin key and the database backend:
ADMIN_API_KEY=change-me
DB_DRIVER=supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-keyStart the development server:
php -S localhost:8000 index.phpOpen localhost:8000. There is no framework, package installation or frontend build step.
The shortener can be switched off entirely (the homepage and /api return 404):
TOOL_SHORTENER_ENABLED=trueFor PostgreSQL, set DB_DRIVER=postgres and configure POSTGRES_DSN or the individual POSTGRES_* values. Run schema.sql to create the tables.
Create the .env file described above, then run:
docker compose up --buildThe app will be available at localhost:8080. Set APP_PORT to use a different host port:
APP_PORT=9000 docker compose up --buildPrebuilt images are published to GitHub Container Registry on every push to main:
docker pull ghcr.io/hypergaming99/0x79:latestNo account or key required.
| Endpoint | Purpose |
|---|---|
POST /api |
Create a short link. JSON or form body: long_url (required), domain, password, expires_at, max_clicks, custom_code |
GET /api?code=… |
Look up a short link |
| Route | Page |
|---|---|
/ |
The shortener |
/admin |
Administration dashboard (password login, no accounts) |
The chart is generated inside this repository and updated daily by GitHub Actions. No public access token is embedded in the README.
Do not commit .env. Short-link targets are checked against private and blocked hosts.
0x79 is licensed under the BSD 3-Clause License. You may use, modify and redistribute the software, including commercially, as long as the copyright notice and license text remain included.
The attribution requirement is fulfilled by retaining the copyright notice and complete license text in source distributions or accompanying documentation. A visible project credit can use:
0x79 by HyperGaming99 — https://github.com/HyperGaming99/0x79