URL Slicer is an easy-to-use, lightweight web tool for shortening URLs in a modern and customizable way. Slice through the clutter of long URLs and serve your audience with clean, manageable links!
You can try out URL Slicer at the website. It's totally free and has absolutely no limits!
- 🔗 Custom short links
- 📊 Detailed analytics
- 🔒 Advanced security options
- 📱 Mobile-friendly design
- 🌍 Geo-targeting
- 🔐 Password protection
- 🖼️ QR code generation
- Backend: Node.js with Express.js
- Database: MongoDB with Mongoose
- Authentication: Passport.js
- Frontend: EJS templating engine
- Styling: Custom CSS
- Icons: Feather Icons
- Email: Nodemailer (with Outlook SMTP)
- Geolocation: geoip-lite
- QR Code: qrcode
url-slicer/
│
├── views/ # EJS templates
├── public/ # Static assets
│ └── styles.css # Main stylesheet
├── server.js # Main application file
├── package.json # Project dependencies
└── .env # Environment variables (not in repo)
-
Clone the repository:
git clone https://github.com/LyubomirT/url-slicer.git
-
Install dependencies:
npm install
-
Set up your environment variables in a
.env
file:[email protected] password=your_outlook_password PORT=3000 SESSION_SECRET=your_session_secret MongoURI=your_mongodb_connection_string
-
Start the server:
npm start
-
Visit
http://localhost:3000
in your browser.
- Password hashing with bcrypt
- Session management
- CSRF protection
- Rate limiting for password attempts
- Secure password reset mechanism
URL Slicer provides detailed analytics for your shortened URLs, including:
- Total clicks
- Geographical distribution of clicks
- Device and browser statistics
- Click-through rates over time
/shorten
: Create a new short URL/:code
: Redirect to the original URL/stats/:code
: Get statistics for a specific URL/api/analytics
: Get overall analytics data
Contributions, issues, and feature requests are welcome! Feel free to check issues page.
This project is GPL-3.0 licensed.
Lyubomir Ternavskiy
- GitHub: @LyubomirT
- Buy Me a Coffee: Support URL Slicer
- Discord: @lyubomirt
- Email: [email protected]
- Server: The Orange Squad
Made with ❤️ by Lyubomir Ternavskiy