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 url-slicer.obl.ong. 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:login=your_outlook_email@example.com 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: ternavski103@gmail.com
- Server: The Orange Squad
Made with ❤️ by Lyubomir Ternavskiy