Simple URL shortener compatible with ShareX.
Demo: https://pixli.enesgenc.dev
- Shorten URLs with optional expiration
- User authentication via GitHub
- ShareX integration
- Create a GitHub OAuth app.
- Copy
.env.exampleto.envand fill in the values (explained below). - Run:
docker compose up
DATABASE_URL– MongoDB connection string (You can use the one on .env.example with the default docker-compose.yml)DATABASE_NAME– Database name (default:pixli)PIXLI_BASE_URL- Base URL of your Pixli instance (e.g.https://pixli.enesgenc.dev)PIXLI_MAX_DURATION- Maximum duration of shortened URLs in minutes if you want to limit it (set to0for unlimited)PIXLI_ADMINS- Comma-separated GitHub user IDs for admin access, admins are exempt from the duration limit (e.g.11111111,22222222)GITHUB_CLIENT_ID– GitHub OAuth app client IDGITHUB_CLIENT_SECRET– GitHub OAuth app client secretJWT_SECRET– Secret for JWT tokens, generated usingcmd/jwtsecretgen(go run ./cmd/jwtsecretgen)
To get your GitHub user ID, open your browser console after logging in, scroll down and open the script tag. You should see your user ID there.
MIT
