
Research
/Security News
Fake imToken Chrome Extension Steals Seed Phrases via Phishing Redirects
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.
django-link-shortener
Advanced tools
django-link-shortener is a Django app for creating time-limited and usage-capped short URLs.
Install with pip install django-link-shortener
Add shortener to your INSTALLED_APPS setting:
INSTALLED_APPS = [
...
'shortener',
]
Include shortener.urls in your project urls.py:
path('s/', include('shortener.urls')),
Run python manage.py migrate to create the shortener models.
Use shortener.create(user, link) to generate a shortcode.
from shortener import shortener
user = User.objects.first()
shortener.create(user, "https://example.com")
To expand the shortcode use shortener.expand(shorlink_id),
or visit http://127.0.0.1:8000/s/<shortcode>/.
To enable the test endpoint, add the following to settings:
SHORTENER_ENABLE_TEST_PATH = True
Start the development server and visit
http://127.0.0.1:8000/s/test/<my-url-here> to create a test shortcode.
Visit http://127.0.0.1:8000/s/<shortcode>/ to be redirected
Place in settings.py. Each setting can be overridden on a per-user basis using the UrlProfile section in the Django admin.
SHORTENER_ENABLED
Default: True
Controls whether users without a shortener profile can create shortlinks.
SHORTENER_MAX_URLS
Default: -1
Controls the default maximum limit of generated urls per account. -1 sets infinite.
SHORTENER_MAX_CONCURRENT
Default: -1
Controls the default maximum limit of concurrent (active) generated urls per account. -1 sets infinite.
SHORTENER_LIFESPAN
Default: -1
Sets the default lifespan of links in seconds. -1 sets infinite.
SHORTENER_MAX_USES
Default: -1
Sets the default amount of times a link can be followed. -1 sets infinite.
SHORTENER_LENGTH
Default: 5
Note: Omitted from UrlProfile.
Sets how many digits should be used for links. Tries up to three times to generate a unique shortcode where Each failure will result in length temporarily being increased by 1.
SHORTENER_ENABLE_TEST_PATH
Default: False
If true, creates shortlinks on authenticated requests to s/test/<url>/
and returns a shortcode.
goo.gl type usage (default). Unlimited concurrent links for an unlimited length of time
SHORTENER_ENABLED = True
SHORTENER_MAX_URLS = -1
SHORTENER_MAX_CONCURRENT = -1
SHORTENER_LIFESPAN = -1
SHORTENER_MAX_USES = -1
Internal temporary link usage. 100 active links with a lifespan of 1 hour. 1 usage per link.
SHORTENER_ENABLED = True
SHORTENER_MAX_URLS = -1
SHORTENER_MAX_CONCURRENT = 100
SHORTENER_LIFESPAN = 600
SHORTENER_MAX_USES = 1
For versions > v0.5 see Release Notes
v0.5
v0.4
FAQs
A simple Django Url Shortener.
We found that django-link-shortener demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.

Security News
Latio’s 2026 report recognizes Socket as a Supply Chain Innovator and highlights our work in 0-day malware detection, SCA, and auto-patching.

Company News
Join Socket for live demos, rooftop happy hours, and one-on-one meetings during BSidesSF and RSA 2026 in San Francisco.