https://github.com/mackenly/link-shortener
Cloudflare Worker Based Link Shortener
https://github.com/mackenly/link-shortener
hacktoberfest link-shortener
Last synced: 6 months ago
JSON representation
Cloudflare Worker Based Link Shortener
- Host: GitHub
- URL: https://github.com/mackenly/link-shortener
- Owner: mackenly
- License: gpl-3.0
- Created: 2023-08-16T20:36:46.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T04:53:42.000Z (over 1 year ago)
- Last Synced: 2024-05-01T15:43:04.504Z (over 1 year ago)
- Topics: hacktoberfest, link-shortener
- Language: TypeScript
- Homepage: https://linkshortener.dev/
- Size: 1.22 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Link Shortener

Cloudflare Worker Based Link Shortener | [✨ Demo](https://demo.linkshortener.dev/dashboard) | [📖 Documentation](https://linkshortener.dev)

## Features
- Self-hosted on Cloudflare Workers
- Easy to deploy
- Extremely low cost
- Customizable
- No database required (uses KV)
- Create links via dashboard or API
- Secured using Cloudflare Access Zero Trust
- Built-in QR code generation
- Click counter for analytics
- Automatic link expiration (3 hours to 10 years)
## Getting Started
See the documentation for the [getting started](https://linkshortener.dev/getting-started) guide.### API Documentation
See [API Route Docs](https://linkshortener.dev/api-routes) for more information.### Security
This tool is secured using Cloudflare Zero Trust's Access control tool. This allows you to easily integrate with your existing identity provider (IdP) to secure access to the dashboard and API. See the [zero trust setup](https://linkshortener.dev/zero-trust-setup) guide for more information.## Development
- Clone the repo, change into the directory, install dependencies with `npm install`, change into the `link-shortener` directory, and run `npm run start` to start the development server.
- To run tests, run `npm run test`.
- To deploy using Wrangler, run `npm run deploy`.
- If adding new features, first create an issue to discuss the feature before submitting a PR. Please include tests for new features.### TODO:
- [x] Provide hosted demo (limited to 60-second links) > [demo.linkshortener.dev](https://demo.linkshortener.dev)
- [ ] Explore adding, integrating, or building an analytics solution
- [ ] Explore link landing pages confirming the URL users are visiting
- [x] Document the [deployment process](https://github.com/mackenly/link-shortener/issues/7) and how to secure the app using [Zero Trust](https://github.com/mackenly/link-shortener/issues/6)## License
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.