Skip to content

About

✨ 现代化代理订阅管理平台 | 智能分类 · 专业测速 · 链式中转 · 流量监控 · TG管理 · JS扩展 | Go+React 全新UI 🌍 Modern Proxy Subscription Manager | Smart Tags · Speed Test · Relays · Monitor · TG Bot · JS Scripts

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

840 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Powerful proxy subscription management and conversion ✨

Go Version React Version MUI Version Vite Version

Latest Release Release Date

GHCR Image Container Build

GitHub Stars GitHub Forks GitHub Issues License

Issues Releases

English | 简体中文

Important

This repository, linux-jin/sublinkPro, is a feature-enhanced community fork of the upstream project ZeroDeng01/sublinkPro. It regularly incorporates upstream fixes while giving first-class priority to native Loon profiles, the SOCKS5 gateway, WebDAV automation, OpenVPN round-trip support, large-node management, and multi-architecture container delivery.


🚀 Why This Fork

The additions maintained by this fork are treated as first-class product features, not secondary patches:

  1. Native Loon profile generation — select a .lcf template to generate a complete Loon profile locally, preserving policy groups, rules, plugins, scripts, and MITM sections. If no Loon template is selected, the existing Sub-Store conversion remains available as a compatibility fallback.
  2. Proxy gateway and routing profiles — expose managed nodes through a health-aware SOCKS5/HTTP/Mixed proxy gateway with independent profile-bound accounts, multiple listeners, P2C/round-robin selection, retries, cooldown, sticky sessions, and live load visibility.
  3. WebDAV backup automation — upload backup ZIP files manually or on a five-field cron schedule, browse remote backups, and restore them from the web UI.
  4. OpenVPN YAML round-trip — import, edit, and export Mihomo/Clash type: openvpn entries while retaining supported certificates, keys, and transport fields.
  5. Large-node and container operations — server-side pagination/search/filtering, reduced rendering overhead, improved grouped selection, and multi-architecture GHCR images.

Tip

Start with ghcr.io/linux-jin/sublink-pro:latest for stable deployments or ghcr.io/linux-jin/sublink-pro:dev to test the newest fork features.


📖 Project Overview

This repository is maintained by linux-jin as an enhanced fork of ZeroDeng01/sublinkPro. The upstream project is itself a deeply refactored continuation of sublinkX and sublinkE. Thanks to the upstream maintainer and all original contributors.

The fork follows this maintenance model:

  • 🔄 Track upstream: periodically merge upstream fixes, protocol improvements, dependency updates, and general features
  • 🧩 Maintain fork extensions: native Loon profile generation, the SOCKS5 gateway, WebDAV backup automation, OpenVPN YAML round-trip support, large-node-list optimizations, and GHCR multi-architecture images
  • 🐛 Fork-specific feedback: report issues related to these extensions in the linux-jin/sublinkPro issue tracker
  • 🎨 Frontend framework: Based on Berry Free React Material UI Admin Template
  • ⚡ Backend stack: Go + Gin + Gorm
  • 🔐 Default account: admin / 123456, change it immediately after installation
  • 💻 Demo: https://demo.sublinkpro.dpdns.org/, username: admin, password: 123456

Warning

⚠️ This project is not database compatible with the original projects. Don't mix their databases.

⚠️ Don't use this project, or any derivative of it, for activities that violate the laws and regulations of your location or the location of the users you serve. This project is for personal development, learning, and exchange only.


✨ Highlights

Additions maintained by this fork

Feature Description Details
🌙 Native Loon full-profile output Store and select .lcf templates, inject locally generated nodes, expand Loon Remote Filters, preserve rules/plugins/scripts/MITM, and fall back to Sub-Store only when no native template is configured 📖
🧦 Proxy gateway and routing profiles Health-aware SOCKS5/HTTP/Mixed proxy gateway with independent accounts, multiple listeners, P2C and round-robin routing, sticky sessions, routing profiles, node filters, retries, cooldown, connection governance, and live load monitoring 📖
💾 WebDAV backup and scheduling Encrypt WebDAV credentials, upload backups manually or by cron, browse remote ZIP files, restore from the page, and handle collection redirects used by services such as TeraCLOUD 📖
🔐 OpenVPN YAML round-trip Import and export Mihomo/Clash type: openvpn proxy entries while preserving certificates, keys, transport options, and other supported fields 📖
🧪 Detection center Separate plans and automatic jobs, scheduled/airport-update checks, smart-group candidate scopes and optional airport pre-updates; use existing node/task pages for results and history 📖
🚀 Large node-list optimization Compact server projections, reduced rendering overhead, server-side pagination, search and filtering, plus improved grouped node selection for large installations —
📦 Multi-architecture GHCR images Automated amd64, arm64, arm/v7, and 386 images; use latest for stable releases and dev for development builds 📖

Upstream and shared capabilities

Feature Description Details
🌍 Smart groups Dynamic country-based healthy-node views across original groups, with manual/Cron candidate checks, airport-refresh linkage and optional subscription selection 📖
🏷️ Smart tag system Automatic rule based tagging, no code filtering, IP quality conditions 📖
⚡ Professional speed test system Two stage tests, smart latency measurement, IP quality and unlock checks 📖
🔗 Chain proxy Native Dialer-Proxy support, visual configuration, IP quality based node selection 📖
🤖 AI template editing Generate operation based previews from natural language, review read-only diffs, accept into the editor, then save normally 📖
✈️ Airport management Multi format import, scheduled updates, traffic monitoring, one click full refresh 📖
🗂️ Group ordering Drag airport priority within a group to control node order in subscription output 📖
📋 Subscription sharing Multiple links, expiration policies, access statistics 📖
🌐 Host management Domain mappings, DNS configuration, CDN preferred IPs 📖
☁️ Cloudflare Tunnel Expose the admin UI without a public IP, with cloudflared managed from the page 📖
🤖 Telegram Bot Remote speed tests, subscription management, system monitoring 📖
📜 Script system Node filtering, content post processing, chained scripts 📖
🔔 Webhooks Supports PushDeer, Bark, DingTalk, ServerChan, and other notification platforms 📖
🔐 Security features Token authorization, API Key, IP allow and block lists, access logs 📖
🦾 AI agent skill Drive the whole system in natural language via the REST API — add nodes, build and share subscriptions, manage airports and templates. Portable SKILL.md format, works with any compatible AI agent 📖

🆕 Release Status

Latest stable release: v1.16.0

  • Proxy gateway: choose SOCKS5, HTTP or Mixed for each listener. HTTP supports ordinary proxy requests and HTTPS CONNECT; Mixed accepts both protocols on one port. Existing listeners stay SOCKS5 until explicitly changed.
  • Detection center: keep Plans and Automatic Jobs aligned with the upstream PR. Results, run details and single-node checks remain available on the existing node/task pages.
  • Smart groups: clearer Included / Excluded membership labels and simpler forms, while preserving candidate scopes, scheduled checks and airport-update linkage.
  • Reliability fixes: preserve post-update processing after successful subscription completion, validate paused schedule scopes, and let the server validate supported five-field Cron expressions.

See the proxy-gateway guide, detection-center guide and smart-group guide for configuration, compatibility and membership rules.

See CHANGELOG.md for the complete version history, or browse GitHub Releases.


🚀 Quick Start

Docker Compose, recommended

Important

Runtime data is stored in these directories by default. Keep them during upgrades and migrations:

  • ./db: database, configuration files, GeoIP, and other local data
  • ./template: template files
  • ./logs: runtime logs

Create docker-compose.yml:

services:
  sublinkpro:
    image: ghcr.io/linux-jin/sublink-pro
    container_name: sublinkpro
    ports:
      - "8000:8000"
    volumes:
      - "./db:/app/db"
      - "./template:/app/template"
      - "./logs:/app/logs"
    restart: unless-stopped

Start the service:

docker-compose up -d

Open http://localhost:8000 and sign in with admin / 123456.

SQLite is used by default. To switch to MySQL or PostgreSQL, set the database connection through SUBLINK_DSN, dsn: in the config file, or the --dsn command line flag. See ⚙️ Configuration for examples.

Note

Even when SUBLINK_WEB_BASE_PATH is configured to hide the admin UI entry, API paths (/api/*) and subscription or share paths (/c/*) stay at the root path. This is a project specific frontend and backend integration rule.

Tip

For more install methods, including Docker, one line scripts, updates, and upgrades, see the 📦 Installation Guide.

Tip

The Docker image includes cloudflared. After signing in, open User Center -> Cloudflare Tunnel, enter the token, and start it. When auto connect is enabled, the Tunnel connects when the service starts.

Migrate from SQLite to MySQL / PostgreSQL

If your earlier instance used SQLite and you now want to migrate to MySQL or PostgreSQL, use this flow:

  1. Sign in to the old SQLite instance, open System Backup from the avatar menu in the upper right, and export backup.zip.
  2. Configure the DSN for MySQL or PostgreSQL in the new instance, and make sure the target database is a fresh empty database.
  3. Start the new instance and open Settings -> Data Migration.
  4. Upload the backup.zip exported from the old instance.
  5. Choose whether to migrate AccessKey and subscription access logs, then start the migration.
  6. After migration completes, manually restart the project instance, then sign in again and check the data.

Important

Using backup.zip is recommended. Uploading a .db file directly migrates database records only and won't restore the template directory.

Note

If you migrate AccessKey, make sure both old and new instances use the same API encryption key; otherwise old API Keys may no longer work.

Tip

If migration finishes with “N warnings”, open the corresponding “Database Migration” task in Task Center to view details.


📖 Documentation

🔧 Installation and Configuration

Document Description
📦 Installation Docker, one line scripts, updates, Watchtower automatic updates
⚙️ Configuration Environment variables, command line flags, CAPTCHA configuration
📝 Changelog Complete version history and release notes

✨ Feature Guides

Document Description
🌙 Native Loon output Complete .lcf profile generation with local node injection and Sub-Store compatibility fallback
🧦 Proxy gateway SOCKS5/HTTP/Mixed proxy gateway with independent accounts, multiple listeners, profiles, P2C/round-robin routing, retries, cooldown, sticky sessions, limits, and monitoring
💾 System backup and WebDAV Manual/scheduled backups, remote listing, and restore
🔐 OpenVPN round-trip Mihomo/Clash OpenVPN YAML import, editing, and export
🏷️ Smart tag system Automatic rule based tagging, no code filtering, IP quality rules
⚡ Speed test system Test design, IP quality checks, unlock checks, parameter tuning
🌍 Unlock checks Streaming and AI availability checks, Provider architecture, extensions
🔗 Chain proxy Dialer-Proxy, condition based node selection, configuration flow
🤖 AI template editing Operation based previews, read-only diff review, accept into editor, normal save
✈️ Airport management Subscription import, scheduled updates, traffic monitoring
📋 Subscription sharing Multiple links, expiration policies, access statistics
🌐 Host management Domain mappings, DNS configuration, speed test persistence
☁️ Cloudflare Tunnel Create a Tunnel, get a token, configure public access
🤖 Telegram Bot Command list and setup guide
📜 Script support Node filtering, content post processing, function reference
🔐 Multi factor authentication, MFA TOTP setup, recovery codes, emergency reset flow

👨‍💻 Developers

Document Description
🛠️ Development Guide Project structure, local development, scheduled task development
🔌 Protocol Extension Guide Add a protocol, register capabilities, field metadata, ProtocolDemo example

📡 Multi Protocol Support

Hysteria2 links support both hy2:// and hysteria2://. For userpass authentication, hy2://user:pass@example.invalid:443 and hy2://user%3Apass@example.invalid:443 both preserve the complete user:pass credential. Percent-encode reserved characters in credentials; URI components are decoded once, including when links are re-exported.

Client Supported protocols
v2ray base64 common format, without Clash/mihomo specific protocols such as Mieru, Snell, and OpenVPN
clash / mihomo ss, ssr, trojan, vmess, vless, hy, hy2, tuic, AnyTLS, Socks5, HTTP, HTTPS, Mieru, Snell, OpenVPN
surge ss, trojan, vmess, hy2, tuic, AnyTLS, Snell
loon (native template) ss, ssr, trojan, vmess, vless, hy2, AnyTLS, Socks5, HTTP, HTTPS, WireGuard; unsupported protocols are skipped instead of downgraded

Note

Loon has two output paths. When a subscription selects a Loon .lcf template, SublinkPro generates the complete profile locally and does not call Sub-Store. Without a Loon template, the existing Sub-Store node-conversion path remains available for backward compatibility. The repository ships a sanitized public template/loon.lcf; personal certificates and credentials must be managed privately.

Note

Mieru currently supports Clash/mihomo YAML import and export only. Official Mieru has mieru:// and mierus:// share links, but does not define a general URL schema suitable for field by field editing. For raw editing and Clash/mihomo import write back, SublinkPro uses an internal editable form: mieru://username:password@server:port?...#name, with port ranges written as portRange=2090-2099. v2ray and Surge don't support Mieru in SublinkPro. Subscription output skips that protocol instead of converting it to a downgraded form.

Note

Snell supports Clash/mihomo and Surge output only. Snell has no official share link schema, so SublinkPro uses an internal editable form for raw editing and Clash/mihomo/Surge import write back: snell://server:port?psk=xxx&version=3&obfs=http&obfs-host=xxx#name. v2ray does not support Snell in SublinkPro; subscription output skips it instead of converting it to a downgraded form.

Note

OpenVPN supports importing and exporting Mihomo/Clash proxies: YAML entries. SublinkPro stores them in an internal round-trip form, openvpn://server:port?...#name; this is not an official OpenVPN share-link standard and does not add direct .ovpn file import. Certificate and private-key material is URL-encoded, not encrypted, in the stored node link, so protect database access and do not share the internal link.


🖼️ Preview

Show or hide screenshots
Preview 1 Preview 2
Preview 3 Preview 4
Preview 5 Preview 6
Preview 7 Preview 8
Preview 9 Preview 10
Preview 11 Preview 12

📊 Project Stats

Star History Chart


🤝 Contributing and Support

If this project helps you, you are welcome to:

  • ⭐ Star the project
  • 🐛 Open an Issue for bugs or suggestions
  • 🔧 Submit a Pull Request
  • 📖 Improve the docs and tutorials

🌟 Recommended services

If you need to buy a server, you can support the maintainer through the links below. Purchases through these links may provide commission rewards to the maintainer. Check official pages for exact pricing, promotion eligibility, network performance, and renewal rules.

  • BandwagonHost: premium routes, multiple data centers, and CN2 GIA options. Good for high quality route servers, or as a stable landing server with other nodes. Highlights: many VPS locations, CN2 GIA optimized routes, quality route machines.
  • Vultr: many regions, hourly billing, IP and region changes, starting at $2.5 per month. Good for websites, AI service hosting, route servers, and landing servers. Highlights: many regions, hourly billing, low price, stable service, IPv6 only machines.
  • Aliyun: 99 RMB per year server offer with the same price for new purchase and renewal. Good for domestic deployment and testing, including newapi and SublinkPro. Registration through the link may provide discounts, including AI related discounts. Highlights: suitable for China based deployment and development testing, 99 RMB per year new purchase and renewal, discount coupons.

🙏 Acknowledgements

Thanks to these open source projects and maintainers:


Fork maintained by linux-jin · Based on ZeroDeng01/sublinkPro

About

✨ 现代化代理订阅管理平台 | 智能分类 · 专业测速 · 链式中转 · 流量监控 · TG管理 · JS扩展 | Go+React 全新UI 🌍 Modern Proxy Subscription Manager | Smart Tags · Speed Test · Relays · Monitor · TG Bot · JS Scripts

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages