Skip to content

Releases: VEX-SL/linkgrid

LinkGrid v2.0.0 - Second Stable Release

11 Mar 14:34
f189101

Choose a tag to compare

LinkGrid v2.0.0 – Major Update 🚀

Version: 2.0.0
Release Date: March 11, 2026
Status: Stable ✓
Release Type: Major Update


📋 Overview

We're excited to announce LinkGrid v2.0.0, a major release that introduces a completely redesigned link management system with a dedicated administrative interface. This update focuses on separation of concerns, enhanced security, and improved user experience.

What's New in v2.0.0

  • 🖱️ Dedicated Links Manager Page – New /links route for protected link management
  • 🚫 Removed Admin Panel from Public View – Cleaner, safer public interface
  • 🎨 Unified Admin UI – Consistent dark theme across all admin pages
  • 🔒 Enhanced Security – Better session management and authentication
  • Performance Improvements – Faster load times and optimized rendering

✨ New Features

🖱️ Dedicated Links Manager (/links)

The biggest addition in v2.0.0 is the standalone links management page.

Why This Matters:

Previously, link management was done through an admin panel on the main public page. This created several issues:

  • ❌ Cluttered public interface
  • ❌ Potential security risks
  • ❌ Confusing user experience
  • ❌ Risk of accidental edits by visitors

v2.0.0 solves this with a dedicated /links page:

Features:

  • Full CRUD Operations – Create, read, update, delete links
  • Drag & Drop Reordering – Visual interface with instant save
  • Automatic Favicons – Type "auto" and icons are fetched automatically
  • Admin-Style UI – Dark theme matching /admin and /settings
  • Password Protected – Shared authentication across all admin pages
  • Completely Separate – Zero risk of visitor interference

How to Access:

http://your-site.com/links

Login required (same password as /admin and /settings)


🚫 Removed Admin Panel from Public View

What Changed:

The adminPanel option has been completely removed from the main page.

Before (v1.0.0):

  • Admin panel could be enabled on the public page
  • Links could be managed while visitors browsed
  • Admin controls visible to everyone

After (v2.0.0):

  • All link management moved to /links
  • Clean public interface
  • No admin controls on main page

Benefits:

  • Cleaner Public Interface – No admin controls visible to visitors
  • Better Security – Reduced attack surface
  • Improved Performance – Less JavaScript loaded on public page
  • Better UX – Clear separation between public and admin areas

🎨 Unified Admin Interface

All administrative pages now share a consistent design language:

Page Purpose Authentication
/admin Analytics Dashboard ✅ Required
/settings Configuration ✅ Required
/links Link Management ✅ Required

Design Consistency:

  • 🌑 Same dark theme
  • 🎨 Matching color scheme
  • 📱 Consistent responsive layout
  • ⌨️ Unified keyboard navigation

🎨 All 5 Built-in Themes

LinkGrid comes with 5 beautiful themes that work perfectly:

Theme Style Best For
🎨 Elegant Sleek and classic Professional profiles
Minimal Simple and clean Minimalist aesthetic
🌐 Cyber Futuristic and technical Tech enthusiasts
💎 Glass Transparent glassmorphism Modern design
💻 Terminal Command-line style Developers

All themes are:

  • ✅ Fully responsive
  • ✅ Customizable via /settings
  • ✅ Switch instantly without restart
  • ✅ No coding required

📊 Built-in Analytics

The /admin dashboard provides comprehensive analytics:

What You Can Track:

  • Total Clicks – Across all links
  • 📈 Per-Link Statistics – Individual link performance with last click time
  • 🌍 Geographic Data – Top countries where visitors come from
  • 📱 Device Breakdown – Desktop, Mobile, Tablet usage
  • Hourly Activity – Visual chart of when users click

Privacy-First Analytics:

  • 🔒 No Third-Party Scripts – All analytics stored locally or in JSONbin
  • 🔒 Your Data Only – No external tracking services
  • 🔒 IP-Based Geolocation – Using ip-api.com + geoip-lite
  • 🔒 GDPR Aware – You control all data

☁️ Cloud Storage with JSONbin.io

For platforms with ephemeral storage (Replit, Glitch, etc.), LinkGrid supports JSONbin.io for persistent data.

Easy Setup with Prep Page

We've created a dedicated preparation page at:
👉 https://links--vex-sl.replit.app/prepare

This page provides:

  • Ready-to-Copy JSON – For all three bins
  • Step-by-Step Instructions – Complete setup guide
  • Copy Buttons – No manual typing needed
  • Environment Variables – All required variables explained

Required Bins:

  1. Settings Bin – Theme, name, bio, password
  2. Links Bin – All your links
  3. Statistics Bin – Analytics data

Environment Variables:

NODE_ENV=production
SESSION_SECRET=your-random-64-char-string
JSONBIN_KEY=your-jsonbin-api-key
SETTINGS_BIN_ID=your-settings-bin-id
LINKS_BIN_ID=your-links-bin-id
STATS_BIN_ID=your-stats-bin-id

🔒 Security Features

Password Management

  • Default Password: admin (⚠️ Change immediately!)
  • Hashing: bcrypt with 10 salt rounds
  • Change Password: Via /settings page
  • No Plain Text: All passwords securely hashed

Session Security

  • 7-Day Sessions – Persistent login
  • HTTP-Only Cookies – XSS protection
  • HTTPS in Production – Automatic secure cookies
  • CSRF Protection – SameSite strict policy

Protected Routes

All admin pages require authentication:

  • /admin – Analytics dashboard
  • /settings – Configuration
  • /links – Link management
  • /prepare – JSONbin helper

🔄 Migration Guide

From v1.0.0 to v2.0.0

Step 1: Backup Your Data

# Local storage
cp -r public/data public/data.backup

# Cloud storage (JSONbin)
# Export bins from JSONbin dashboard

Step 2: Update Code

# Pull latest version
git pull origin main

# Or clone fresh
git clone https://github.com/VEX-SL/linkgrid.git
cd linkgrid

Step 3: Install Dependencies

npm install

Step 4: Start Server

npm start

Step 5: Test New Features

  1. Visit http://localhost:3125
  2. Navigate to /links for link management
  3. Check /admin for analytics
  4. Test /settings configuration

Breaking Changes

⚠️ adminPanel Removed

  • The adminPanel setting is no longer supported
  • Use the dedicated /links page instead
  • All existing links are preserved

No Data Migration Needed

  • JSON structure unchanged
  • Backward compatible with v1.0.0 data
  • All links, settings, and analytics preserved

📁 Project Structure

linkgrid/
├── index.js                # Express server (backend)
├── package.json            # Dependencies
├── public/
│   ├── index.html          # Main public page
│   ├── admin.html          # Analytics dashboard
│   ├── settings.html       # Settings page
│   ├── admin-links.html    # ✨ NEW: Links manager
│   ├── prepare.html        # JSONbin setup helper
│   ├── style.css           # All themes & styles
│   ├── script.js           # Frontend logic
│   ├── profile.jpg         # Profile photo
│   ├── favicon.png         # Site favicon
│   └── data/               # Local storage
│       ├── settings.json
│       ├── links.json
│       └── statistics.json
└── screenshots/            # Documentation images

🚀 Quick Start

For New Users

# Clone repository
git clone https://github.com/VEX-SL/linkgrid.git

# Install dependencies
cd linkgrid
npm install

# Start server
npm start

Visit http://localhost:3125 and start customizing!

For Existing Users

# Update to v2.0.0
git pull origin main

# Restart server
npm start

Navigate to /links to try the new links manager!


🌐 Deployment

Cloud Platforms (Railway / Render / Heroku)

  1. Push repository to GitHub
  2. Connect to your platform
  3. Set environment variables (if using JSONbin)
  4. Set start command: node index.js
  5. Done! 🎉

VPS / Self-Hosted (Recommended)

# Install PM2
npm install -g pm2

# Start with PM2
pm2 start index.js --name linkgrid

# Save configuration
pm2 save

# Auto-start on boot
pm2 startup

Recommended Production Setup:

  • ✅ NGINX reverse proxy
  • ✅ HTTPS (Let's Encrypt)
  • ✅ Firewall configuration
  • ✅ Regular backups

🛣️ Roadmap

🚧 Planned for Future Releases

  • Theme Builder – Custom CSS editor
  • Import / Export – CSV/JSON bulk operations
  • Docker Support – Pre-built containers
  • Multi-user System – Multiple admin accounts
  • Role-based Access – Different permission levels
  • Database Mode – MongoDB / PostgreSQL support
  • API Key System – Programmatic access
  • Webhook Support – Link click notifications
  • Custom Domain Manager – Built-in domain management
  • Plugin System – Extensible architecture

🙏 Acknowledgments

Thank you to everyone who contributed to this major release:

  • All users who provided feedback on v1.0.0
  • Beta testers who tested the /links page
  • Contributors who improved documentation
  • Community members who reported bugs and suggested features

⚠️ Important Notes

  1. Change Default Password
    Default is admin – change immediately from /settings!

  2. Use HTTPS in Production
    Always enable HTTPS to protect passwords an...

Read more

LinkGrid v1.0.0 - First Stable Release

27 Feb 22:20
5436061

Choose a tag to compare

Pre-release

LinkGrid v1.0.0 – First Release 🚀

Version: 1.0.0
Release Date: 31/2/2026
Status: Stable ✓


📋 Overview

We are thrilled to announce the first stable release of LinkGrid, a modern self-hosted link-in-bio platform designed to deliver:

  • Maximum Speed
  • 🔒 Complete Privacy
  • 🎮 Full Control

No complex frameworks, no third-party tracking – just pure JavaScript and CSS.


✨ Key Features

🏗️ Core Platform

Lightweight & Independent

  • Fully Self-Hosted – Runs on Vanilla JavaScript, Express, and JSON files
  • Lightweight – No heavy dependencies or complex databases

Themes & Design

5 Beautiful Built-in Themes:

Theme Description
🎨 Elegant Sleek and classic
⚪ Minimal Simple and clean
🌐 Cyber Futuristic and technical
💎 Glass Transparent glass effect
💻 Terminal Terminal-style interface

Instant Switching from the settings page without restarting!

Smart Search

  • 🔍 Live Search – Instant filtering of links by name or URL
  • 📊 Live Result Counter – Know the number of results instantly

Automatic Icons

{
  "icon": "auto"
}

Set "auto" and the site's favicon will be fetched automatically via DuckDuckGo's service!

Drag & Drop Reordering

  • 🖱️ Visual Interface – Easily reorder links
  • 💾 Instant Save – Changes are saved automatically when admin panel is active

👨‍💼 Admin & Analytics

Admin Dashboard (/admin)

Password-protected and provides:

📈 Comprehensive Statistics:

  • Total clicks
  • Last 24h clicks
  • Unique links count

📊 Hourly Activity Chart:

  • Powered by Chart.js
  • Accurate activity tracking

🌍 Geographic & Technical Analytics:

  • Top countries
  • Device types
  • Know where your visitors come from

📋 Detailed Links Table:

  • Sort by: name, clicks, last click
  • Accurate data for each link

🔄 One-Click Reset:

  • Clear all analytics
  • Confirmation modal for protection

Settings Page (/settings)

Password-protected and provides:

🎨 Customization:

  • Change theme
  • Upload profile photo
  • Edit name, bio, and footer

⚙️ Functional Settings:

  • Toggle admin panel
  • Enable/disable analytics page
  • Show/hide search bar
  • Enable security mode

🔐 Security:

  • Update admin password
  • bcrypt encryption

🔒 Security & Performance

Authentication & Sessions

  • 🍪 Secure Sessions – Persistent login for 7 days
  • 🔐 HTTP-Only Cookies – Protection from XSS attacks

Password Encryption

// All new passwords are hashed using bcrypt
bcrypt.hash(password, 10)
  • Backward-compatible with plain text
  • Enterprise-level security

Production Session Store

  • Uses session-file-store
  • Prevents memory leaks
  • Long-term stability

Accurate IP Detection

// Extract real IP from headers
X-Forwarded-For  ip-api.com  geoip-lite
  • Accurate geolocation
  • Multi-level fallback system

File-Based Storage

  • 📁 All data in public/data/
  • ✅ Easy to backup
  • 📝 Version-control ready
  • 🚀 Easy to migrate

🚀 Deployment & Operations

Ready for Railway

# Volume support for persistent data
# No database required!

Environment-Aware

if (NODE_ENV === 'production') {
  // Secure cookies automatically
  // Session file store
}

Custom Favicon

{
  "faviconUrl": "/path/to/favicon.ico"
}

Served via /docs/favicon

Static Mode Fallback

  • Deploy as a static site without admin/analytics
  • Compatible with:
    • GitHub Pages
    • Netlify
    • Vercel
    • Cloudflare Pages

🛠️ Improvements

Compared to Initial Design:

Feature Improvement
Conflict Prevention Enabling search automatically disables admin panel and vice versa
Toast Notifications Clean feedback for all actions (add, delete, save)
Error Handling Automatic creation of missing JSON files with default values
Responsive Design Works seamlessly on mobile, tablet, and desktop

📦 What's Next

Roadmap v1.1.0+

  • 🎨 Theme Builder – Custom CSS editor
  • 📥 Import/Export – CSV/JSON support
  • 🐳 Docker Support – Ready-to-use containers
  • 📊 Advanced Analytics Filters – Filter by date, source, etc.

🚀 Quick Start

Local Installation

# Clone the repository
git clone https://github.com/VEX-SL/linkgrid.git

# Navigate to the folder
cd linkgrid

# Install dependencies
npm install

# Start the server
npm start

Initial Setup

  1. Open your browser at: http://localhost:3125
  2. Set your admin password in:
    public/data/settings.json
    
  3. Start adding your links!

Deploy on Railway

Follow the [official guide](https://github.com/VEX-SL/linkgrid#deployment) for production deployment.


📖 Documentation

For more information:


🙌 Acknowledgments

Thank you for trying LinkGrid!

We welcome your feedback and contributions:

  • Star on GitHub if you like the project
  • 🐛 Report bugs to help us improve
  • 💡 Suggest new features
  • 🔧 Contribute code via Pull Requests

📄 License

MIT License - Fully open source

Made with ❤️ by the LinkGrid Team

[GitHub](https://github.com/VEX-SL/linkgrid) • [X (Twitter)](https://x.com/VEX_SL_


🚀 LinkGrid v1.0.0 – Your links, your way!