Get Real-Time YOURLS Notifications in Discord (YOURLS Discord Notify Plugin)

Get Real-Time YOURLS Notifications in Discord (YOURLS Discord Notify Plugin)

If you run your own URL shortener using YOURLS (Your Own URL Shortener), logging in constantly to check activity gets old fast. New links, clicks, failed logins, or suspicious behavior can easily go unnoticed.

That’s where YOURLS Discord Notify comes in.

This plugin sends real-time YOURLS activity alerts directly to your Discord server, giving you instant visibility into what’s happening with your links — without opening the admin panel.


What YOURLS Discord Notify Does

Once installed, the plugin connects your YOURLS instance to Discord using a webhook and delivers clean, readable notifications for key events.

Core Features

  • 🔗 New Short URL Notifications

  • 👆 Link Click Alerts (with optional cooldown to prevent spam)

  • ✏️ Link Edit & Delete Alerts

  • 🔐 Successful Login Notifications

  • 🚨 Failed Login Alerts (great for security monitoring)

  • 🌍 IP Geolocation Data

    • City, region, country

    • Country flag emoji

    • ISP information

  • 📊 Daily & Weekly Summary Reports

  • ⚙️ Per-Event Enable/Disable Controls

Everything is configurable, so you only get the alerts you actually care about.


Why Use Discord for YOURLS Alerts?

Discord is already where many developers and teams live day-to-day. Instead of email alerts or manually checking logs, you get:

  • Instant visibility

  • Centralized monitoring

  • Easy sharing with teammates

  • Clear audit trail of activity

It turns Discord into a real-time monitoring dashboard for your URL shortener.


Installation (Quick Start)

1. Download the Plugin

Upload the plugin into your YOURLS plugins directory:

cd /path/to/yourls/user/plugins
git clone https://github.com/Bradleycit/yourls-discord-notify.git discord-notify

2. Create a Discord Webhook

In your Discord server:

  1. Go to Server Settings → Integrations → Webhooks

  2. Create a new webhook

  3. Choose the channel for notifications

  4. Copy the webhook URL

3. Activate the Plugin

  • Log in to YOURLS Admin

  • Go to Plugins

  • Activate YOURLS Discord Notify

4. Configure Settings

  • Paste in your Discord webhook URL

  • Enable or disable specific events

  • Adjust click cooldown and display options

  • Save settings

You’re done — notifications will start immediately.


Example Discord Notifications

New Short URL Created

🎉 New URL Created
Short URL: yoursite.com/docker
Destination: https://example.com
Created by: admin

Failed Login Attempt

⚠️ Failed Login Attempt
Username: admin
IP: 203.0.113.42
Location: Nashville, Tennessee 🇺🇸
ISP: Example ISP

Daily Summary Report

📊 Daily Summary (yoursite.com)
Total URLs: 245
New URLs Today: 12
Total Clicks: 1,834
Top Link: /blog 421 clicks

Advanced Features Worth Noting

Click Rate Limiting

High-traffic links won’t spam your Discord channel. You can define a cooldown window so only meaningful click events are reported.

Geolocation Caching

IP lookups are cached for 24 hours to reduce API usage and improve performance.

Branded Domain Display

Notifications can show your custom YOURLS domain instead of generic system names.


Requirements

Before installing, make sure your server meets these requirements:

  • YOURLS v1.7+

  • PHP 7.0 or newer

  • PHP cURL extension enabled

  • Outbound HTTPS access (for Discord webhooks)


Who This Plugin Is For

  • Developers running private or public YOURLS installs

  • Self-hosters who want real-time monitoring

  • Teams managing marketing or affiliate links

  • Anyone who wants better security visibility

If you care about what your links are doing as it happens, this plugin fits perfectly.


Get the Plugin

You can download or contribute to the project here:

👉 https://github.com/Bradleycit/yourls-discord-notify

YOURLS QR Code Generator Plugin: Branded QR Codes With Logo Upload, Preview, and Download

YOURLS QR Code Generator Plugin: Branded QR Codes With Logo Upload, Preview, and Download

If you run YOURLS (Your Own URL Shortener), you already know the value of clean short links. The next step is making those links instantly usable in the real world—stickers, flyers, business cards, packaging—by generating QR codes that look good and are easy to download.

This plugin adds logo-branded QR codes directly into the YOURLS admin experience, including file upload for your logo, inline previews, a click-to-enlarge popup, a full QR page with size slider, and a one-click download.


What this plugin does

Once installed, you get QR codes for every short link right inside the YOURLS admin UI:

  • Upload a logo file (PNG/JPG/GIF) right in the admin settings (no external image URLs required)

  • Inline mini preview (small QR next to each short URL in the admin list)

  • Click-to-enlarge popup (tap the QR and get a bigger version + download)

  • Dedicated QR page with a size slider (100–500px) and logo toggle

  • Downloads always include the logo (even if the on-screen preview hides it)

It’s designed to be simple: generate a QR fast, download it, and put it on something people can scan.


Requirements

From the repo:

  • YOURLS 1.8+

  • PHP 7.4+

  • Write permissions on YOURLS plugin/logo folders


Installation

High level, the plugin is a standard YOURLS plugin install: place it under user/plugins/ and activate it in the admin panel.

The README’s install section shows the intended flow (download the plugin, move it into the YOURLS plugins directory, then activate in YOURLS Admin → Plugins).


How to use it

1) Upload your logo

In YOURLS admin:

  • Go to Admin → Plugins → QR Code Settings

  • Upload a square PNG for best results (JPG/GIF also supported)

  • Click Upload Logo

2) Generate QR codes from the link list (fastest workflow)

In the main admin URL list:

  • You’ll see a tiny QR icon/preview

  • Click it for a full-size popup

  • Download the QR instantly

3) Use the dedicated QR page (more control)

From the action links:

  • Click “QR”

  • Adjust the size slider (100–500px)

  • Toggle the logo on/off

  • Click Download QR Code

There’s also a clear note in the plugin UX that helps avoid confusion:

The logo appears in the downloaded file, not necessarily in the live preview.


API support (bonus)

The plugin also exposes a simple API-style action endpoint:

GET /yourls-api.php?action=qrcode&shorturl=abc123

And returns a JSON response with a qrcode_url that points to the QR page for that keyword.


Where the logo is stored

The repo documents this folder layout:

user/plugins/qrcode-generator/
├── plugin.php
└── yourls-qr-logo/ auto-created: stores uploaded logo
└── logo.png
``` :contentReference[oaicite:17]{index=17}

So after you upload your logo once, the plugin can reuse it for all QR downloads. :contentReference[oaicite:18]{index=18}

---

## Changelog highlights

The README lists a few versions worth calling out:

- **1.6.0**: switched to **file upload** (no more URL-based logo loading)
- **1.6.1 / 1.6.2**: restored popup behavior and clarified that the logo is in the download :contentReference[oaicite:19]{index=19}

---

## Wrap-up

If you’re already using YOURLS, this plugin gives you a clean, “built-in” way to create **good-looking QR codes** for every short link—especially useful when you want to put links into the real world with a bit of branding.

Setting Up an ADS-B Receiver on a Raspberry Pi: A Secure and Efficient Home Project

Setting Up an ADS-B Receiver on a Raspberry Pi: A Secure and Efficient Home Project

Hey everyone! If you’re into aviation, tracking flights, or just tinkering with tech, I’ve got an exciting project to share. I recently set up a Raspberry Pi as an ADS-B receiver using the ADS-B.im software, and it’s been feeding data to sites like FlightAware and Flightradar24. Not only is this a fun way to contribute to global flight tracking, but I also went the extra mile to make it secure with VLANs and proper networking. In this post, I’ll break down what ADS-B is, why I isolated it on a dedicated VLAN, the hardware setup with switches and PoE, and the security benefits. Let’s dive in!

What is ADS-B?

ADS-B stands for Automatic Dependent Surveillance-Broadcast. It’s a modern surveillance technology used in aviation where aircraft equipped with ADS-B transponders automatically broadcast their position, altitude, speed, and other data via satellite navigation (like GPS). This information is transmitted every second or so on the 1090 MHz or 978 MHz frequencies.

Unlike traditional radar, which relies on ground-based stations pinging aircraft, ADS-B is “dependent” on the aircraft itself to provide the data. Ground receivers—like the one I built with a Raspberry Pi—can pick up these signals using a simple antenna and SDR (Software Defined Radio) dongle. The data gets decoded and can be shared with flight tracking networks, helping enthusiasts, airports, and even airlines monitor air traffic in real-time.

It’s a game-changer for safety and efficiency in aviation, and hobbyists like me can contribute by running feeders. My setup uses ADS-B.im, a user-friendly software suite that’s optimized for Raspberry Pi and handles everything from signal decoding to uploading feeds to multiple services.

[Placeholder for Photo: Close-up of the Raspberry Pi with SDR dongle and antenna attached]

Recommended SDR Dongles and Antennas

To get started with an ADS-B receiver, you’ll need at least one RTL-SDR dongle and a good 1090 MHz antenna (most aircraft use 1090 MHz internationally; 978 MHz is mainly for UAT in the US). Here are three solid options available on Amazon that work great with ADS-B.im or similar software:

1.  RTL-SDR Blog V4 Dongle – A highly recommended general-purpose SDR with excellent performance, TCXO for stability, and SMA connector. Great for ADS-B and beyond.
Link to Amazon

2.  Nooelec NESDR Smart v5 – Premium RTL-SDR with aluminum enclosure, low-noise design, and TCXO. Compact and reliable for ADS-B feeding.
Link to Amazon

3.  AirNav RadarBox FlightStick – Optimized specifically for ADS-B with built-in amplifier and filter for better range and signal quality.
Link to Amazon

For antennas, pair them with a dedicated 1090 MHz model for best results:

  A popular outdoor fiberglass antenna tuned for ADS-B: FlightAware-style 1090 MHz Antenna

[Placeholder for Photo: Examples of SDR dongles and antennas]

Why VLANs and Isolated Networking? The Security Angle

When dealing with IoT devices like a Raspberry Pi running specialized software, security is paramount. ADS-B receivers connect to the internet to upload data to services like FlightAware, Flightradar24, ADS-B Exchange, and others. This means they’re exposed to potential remote access or vulnerabilities—think outdated software, weak passwords, or even exploits in the feeding protocols.

To mitigate this, I set up a dedicated VLAN (Virtual Local Area Network) in my pfSense router/firewall. VLANs allow you to segment your network logically, even on the same physical hardware. In simple terms, a VLAN is like creating separate “lanes” on your network highway, where traffic in one lane doesn’t mix with another unless you explicitly allow it.

Here’s why this matters for security:

  Isolation from Main LAN: My home network has computers, smart devices, and family stuff. By putting the ADS-B Pi on its own VLAN, I prevent any potential compromise on the Pi from spreading to my main network. For example, if there’s a vulnerability in the ADS-B software or a feeder service gets hacked, it can’t access my personal files or other devices.

  Controlled Internet Access: The VLAN is configured in pfSense to allow outbound traffic (for feeding data) but block inbound connections except what’s necessary. This reduces the attack surface—no random ports open to the world.

  Traffic Management: ADS-B data can be chatty, and separating it keeps my main LAN snappy. Plus, it makes monitoring easier; I can apply specific firewall rules just for this VLAN.

pfSense is fantastic for this because it’s open-source and powerful—setting up a VLAN is as easy as assigning a tag (like VLAN 10) to an interface and creating rules.

The Hardware Setup: Switches, PoE, and Rack Mounting

To get the VLAN from my pfSense router to the Raspberry Pi, I used a couple of managed switches for reliable forwarding.

  Main Switch: I have a 24-port managed switch (something like a Ubiquiti or similar—check your model for VLAN support) connected to pfSense. This switch handles the initial VLAN tagging and forwards the isolated traffic.

  Secondary Switch: From there, it connects to an ES-205GP (I assume you meant ES-205GP or similar; it’s a compact Gigabit PoE switch). This little guy is perfect for edge setups—it supports VLAN passthrough and provides Power over Ethernet (PoE).

The ES-205GP powers the Raspberry Pi via a PoE HAT (Hardware Attached on Top). PoE is awesome because it sends both data and power over a single Ethernet cable—no separate power adapter needed. This keeps things tidy and reliable, especially in a rack.

Everything is housed in a 1U rack mount enclosure. The Pi with its PoE HAT and the ES-205GP fit snugly, making it a compact, professional-looking setup. I ran a Cat6 cable from the 24-port switch to the ES-205GP, ensuring the VLAN is trunked (allowed to pass through) on the ports.

Once powered up, the ADS-B.im software on the Pi decodes incoming signals from the antenna and pushes data to the feeders. It’s been rock-solid, contributing to multiple networks without a hitch.

[Placeholder for Photo: The 1U rack mount with Raspberry Pi, ES-205GP switch, and cabling]

[Placeholder for Photo: Diagram of the network flow – pfSense > 24-port switch > ES-205GP > Raspberry Pi]

Wrapping It Up

This ADS-B setup has been a rewarding project—it’s low-cost, contributes to the aviation community, and teaches a ton about networking and security. If you’re thinking of building one, start with ADS-B.im for the software, grab a Raspberry Pi 4 or 5, one of the SDRs above, and a tuned antenna. And don’t skip the VLANs; in today’s connected world, segmenting your network is a smart move.

Have you set up an ADS-B receiver? Share your tips in the comments! If you have questions about my config, hit me up.

Thanks for reading!

BradleyCIT

 

P.S. Pictures coming soon.