Releases: VEX-SL/linkgrid
LinkGrid v2.0.0 - Second Stable Release
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
/linksroute 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
/adminand/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:
- Settings Bin – Theme, name, bio, password
- Links Bin – All your links
- 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
/settingspage - 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 dashboardStep 2: Update Code
# Pull latest version
git pull origin main
# Or clone fresh
git clone https://github.com/VEX-SL/linkgrid.git
cd linkgridStep 3: Install Dependencies
npm installStep 4: Start Server
npm startStep 5: Test New Features
- Visit
http://localhost:3125 - Navigate to
/linksfor link management - Check
/adminfor analytics - Test
/settingsconfiguration
Breaking Changes
- The
adminPanelsetting is no longer supported - Use the dedicated
/linkspage 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 startVisit http://localhost:3125 and start customizing!
For Existing Users
# Update to v2.0.0
git pull origin main
# Restart server
npm startNavigate to /links to try the new links manager!
🌐 Deployment
Cloud Platforms (Railway / Render / Heroku)
- Push repository to GitHub
- Connect to your platform
- Set environment variables (if using JSONbin)
- Set start command:
node index.js - 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 startupRecommended 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
/linkspage - Contributors who improved documentation
- Community members who reported bugs and suggested features
⚠️ Important Notes
-
Change Default Password
Default isadmin– change immediately from/settings! -
Use HTTPS in Production
Always enable HTTPS to protect passwords an...
LinkGrid v1.0.0 - First Stable 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 startInitial Setup
- Open your browser at:
http://localhost:3125 - Set your admin password in:
public/data/settings.json - 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:
- 📚 [Complete Guide](https://github.com/VEX-SL/linkgrid/wiki)
- 🐛 [Report an Issue](https://github.com/VEX-SL/linkgrid/issues)
- 💬 [Discussions](https://github.com/VEX-SL/linkgrid/discussions)
🙌 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!