Home
Softono

Url Slicer

Open source EJS
24
Stars
7
Forks
3
Issues
1
Watchers
11 months
Last Commit

 About Url Slicer

Easy-to-use lightweight web tool for shortening URLs in a modern and customizable way.

Platforms

Web Self-hosted

Languages

EJS

Need Help Installing Url Slicer?

We provide expert installation service for this software. Our team will install, configure, and secure Url Slicer on your server. plans start at just $30.

Url Slicer

View on GitHub

THIS IS SHUT DOWN

As this was simply a project I was working on for studies, it is now shut down so that it doesn't drain my Heroku credits anymore. There are also tons of security issues and I don't have the time or energy to maintain this anymore. Maybe I'll revisit the concept in the future, but definitely not anytime soon.

URL Slicer πŸ”ͺ

License: GPL v3 Node.js Version Express Version MongoDB Version Contributions Welcome

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!

Demo

🌐 Try URL Slicer out!

You can try out URL Slicer at the website. It's totally free and has absolutely no limits!

πŸš€ Features

  • πŸ”— Custom short links
  • πŸ“Š Detailed analytics
  • πŸ”’ Advanced security options
  • πŸ“± Mobile-friendly design
  • 🌍 Geo-targeting
  • πŸ” Password protection
  • πŸ–ΌοΈ QR code generation

πŸ› οΈ Technologies Used

  • 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

πŸ—οΈ Project Structure

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)

πŸš€ Getting Started

  1. Clone the repository:

    git clone https://github.com/LyubomirT/url-slicer.git
    
  2. Install dependencies:

    npm install
    
  3. 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
    
  4. Start the server:

    npm start
    
  5. Visit http://localhost:3000 in your browser.

πŸ” Security Features

  • Password hashing with bcrypt
  • Session management
  • CSRF protection
  • Rate limiting for password attempts
  • Secure password reset mechanism

πŸ“Š Analytics

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

🌐 API Endpoints

  • /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

🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues page.

πŸ“œ License

This project is GPL-3.0 licensed.

πŸ‘€ Author

Lyubomir Ternavskiy


Made with ❀️ by Lyubomir Ternavskiy