tsurl is a URL shortener built using Rust. Given any url, it will return a short link that redirects to the original URL.
Clone this repository, and run cargo run
to start the server.
The default admin account is admin:password
. This can be changed in the auth.txt
file, using htpasswd
to generate a password hash.
In order of most necessary to "nice-to-have" features:
- HTTP server with ability to send
302
redirects, using rocket - Interact with database for persistence of shortened URLs over restarts
- 404, and landing pages.
- Links that expire (time limit)
- Links that expire (number of hits)
- Only authenticated users can create new links, using an exposed API
- Web-Based interface to create and manage list of links
- CLI tool that can be used to quickly create short links
- Export QR code links
- Server keeps track of how many hits each link gets for analytics
- Low-latency database query and caching if necessary
- API requests and integration with web and CLI interfaces
- Minimize performance hits during simulated high traffic
- Amit Prasad (amitp4)
- Ananya Sehgal (asehgal4)