- High performance with Rust + Actix-web
- Multiple storage backends: SQLite, MySQL, PostgreSQL
- Dynamic link management without restart
- Custom and random short codes
- Expiration support with flexible time formats
- Password-protected links
- Admin API with Bearer token authentication
- Web admin panel
- TUI mode for terminal users
- Docker and Unix socket support
Docker:
docker run -d -p 8080:8080 -v $(pwd)/data:/data e1saps/shortlinkerLocal:
git clone https://github.com/AptS-1547/shortlinker && cd shortlinker
cargo run./shortlinker # Start server
./shortlinker tui # TUI mode (requires 'tui' feature)
./shortlinker add github https://github.com # Custom code
./shortlinker add https://example.com # Random code
./shortlinker add secret https://example.com --password mypass # Password protected
./shortlinker add temp https://example.com --expire 7d # Expires in 7 days
./shortlinker list # List all links
./shortlinker remove github # Remove link
./shortlinker export links.csv # Export to CSV
./shortlinker import links.csv # Import from CSV# Set token
export ADMIN_TOKEN=your_secret_token
# List all links
curl -H "Authorization: Bearer $ADMIN_TOKEN" http://localhost:8080/admin/v1/links
# Create link
curl -X POST -H "Authorization: Bearer $ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"code":"github","target":"https://github.com","expires_at":"7d"}' \
http://localhost:8080/admin/v1/links
# Delete link
curl -X DELETE -H "Authorization: Bearer $ADMIN_TOKEN" \
http://localhost:8080/admin/v1/links/githubSee Admin API docs for batch operations, runtime config, and more.
Generate a config file:
./shortlinker config generateThis creates config.example.toml with server, database, cache, logging, analytics, and ipc settings.
See Configuration docs for all options.
- Getting Started
- Configuration
- Storage Backends
- Admin API
- Health API
- Docker Deployment
- systemd Service
- CLI Commands
- Web Admin Panel - GUI for link management
- Custom Frontend Template - Build your own frontend
- Cloudflare Worker - Serverless version
Place your custom frontend in ./frontend-panel directory. Shortlinker will automatically detect and serve it instead of the built-in panel. See Admin Panel docs for parameter injection details.
MIT License © AptS:1547
/> フ
| _ _| AptS:1547
/` ミ_xノ — shortlinker assistant bot —
/ |
/ ヽ ノ Rust / SQLite / Bloom / CLI
│ | | |
/ ̄| | | |
( ̄ヽ__ヽ_)__)
\二)
「ready to 307 !」
