url-shortener
url-shortener copied to clipboard
spoo.me is a free and easy-to-use URL shortener that lets you create short links for any website. You can choose your own alias, set a password, and limit the number of clicks.
spoo.me
Shorten Your Url not Your Possibilities 🚀
🔥 Features 📌 Endpoints 🛠️ API Docs 🚀 Getting Started 🤝 Contributing
⚡ Introduction
spoo.me is a free, open-source service for shortening URLs. It offers URL statistics, a free API, and customization options. You can create custom slugs, add password protection, and manage link lifespans.
🔥 Features
Custom Slugs- Create custom slugs for your URLs 🎯Emoji Slugs- Use emojis as slugs for your URLs 😃Password Protection- Protect your URLs with a password 🔒Link Max Clicks- Set a maximum number of clicks for your URLs 📈URL Statistics- View detailed statistics for your URLs 📊BOT Tracking- Track bot clicks on your URLs 🤖API- A free and open-sourced API for URL shortening and statistics 🛠️Export Click Data- Export click data as a CSV, JSON, XLSX, or XML file 📤Open Source- spoo.me is open-sourced and free to use 📖Absolutely Free- No hidden costs, no premium plans, no limitations 💸No Registration- No need to register an account to use spoo.me 📝Self Hosting- You can host spoo.me on your own server 🏠
📌 Endpoints
The basic structure for accessing a shortened URL is: https://spoo.me/<short_code>
Example - https://spoo.me/ga
🔐 Accessing Password-Protected URLs
For password-protected URLs, use the same basic structure. This redirects to a password entry page.
Example - https://spoo.me/exa
Password - Example@12
[!TIP] Bypass the password entry page by appending the password to the URL parameters -
https://spoo.me/<short_code>?password=<password>
📈 Checking URL Statistics
To view the statistics for a URL, use the following structure: https://spoo.me/stats/<short_code>
Example - https://spoo.me/stats/ga
[!NOTE] You won't be able to view statistics for a password-protected page unless you provide its password.
🛠️ API Docs
Spoo.me offers a free, open-source API for URL shortening and statistics. Check it out below:
| spoo.me API |
|---|
🚀 Getting Started
Method 1 - Docker (Recommended)
📋 Prerequisites
- Docker 🐳
📂 Clone the repository (Docker Method)
git clone https://github.com/spoo-me/url-shortener.git
Rename .env.example to .env
mv .env.example .env
➕ Adding environment variables to .env file
MONGODB_URI=<your_MONGODB_URI>
CONTACT_WEBHOOK=<valid_webhook_URI>
URL_REPORT_WEBHOOK=<valid_webhook_URI>
[!NOTE] With this method, you can either use a cloud service like MongoDB Atlas to store the data remotely or you can use a local MongoDB instance. If you want to use a local MongoDB instance, your MongoDB URI would be
mongodb://localhost:27017/.
🚀 Starting the server
docker-compose up
Method 2 - Manual
📋 Prerequisites
- MongoDB 🌿
- MongoDB is only required if you want to store the data locally. You can also use a cloud service like MongoDB Atlas to store the data remotely.
- Python 🐍
- PIP 📦
- Virtualenv (Optional) 🌐
📂 Clone the repository
git clone https://github.com/spoo-me/url-shortener.git
Creating a virtual environment (Optional)
python3 -m venv venv
Activate the virtual environment (Optional)
source venv/bin/activate
📦 Install dependencies
pip install -r requirements.txt
Rename .env.example to .env
mv .env.example .env
➕ Adding environment variables to .env file
MONGODB_URI=<your_MONGODB_URI>
CONTACT_WEBHOOK=<valid_webhook_URI>
URL_REPORT_WEBHOOK=<valid_webhook_URI>
[!NOTE] If you installed MongoDB locally, your MongoDB URI would be
mongodb://localhost:27017/or if you are using MongoDB Atlas, you can find your MongoDB URI in the Connect tab of your cluster.
🚀 Starting the server
python main.py
🌐 Access the server
Open your browser and go to http://localhost:8000 to access the spoo.me URL shortener.
🤝 Contributing
Contributions are always welcome! 🎉 Here's how you can contribute:
- Bugs are logged using the github issue system. To report a bug, simply open a new issue.
- Follow the contribution guidelines to get started.
- Make a pull request for any feature or bug fix.
[!IMPORTANT] For any type of support or queries, feel free to reach out to us at ✉️ [email protected]
👀 Visual Previews
Main Page
Result Page
Stats Page
API Page
Repo Activity
© spoo.me . 2024
All Rights Reserved



