Skip to main content

Censorship-resistant VLESS+Reality proxy server management

Project description

Meridian

Meridian

CI License: MIT GitHub stars

Deploy a censorship-resistant proxy server in one command.
Invisible to DPI, active probing, and TLS fingerprinting.

Connection page with QR codes

Install

curl -sSf https://meridian.msu.rocks/install.sh | bash

Or install directly from PyPI:

uv tool install meridian-vpn    # recommended
pipx install meridian-vpn       # alternative

Quick start

meridian setup                       # interactive wizard
meridian setup 1.2.3.4               # deploy to server
meridian setup 1.2.3.4 --domain d.io # with CDN fallback

After setup, your server is a fully functional proxy. Share access:

meridian client add alice            # generate keys for a friend
meridian client list                 # see all clients
meridian client remove alice         # revoke access

Each client gets an HTML page with QR codes and one-tap deep links. In domain mode, the page is also hosted on the server with live usage stats.

How it works

Meridian deploys VLESS+Reality — a protocol that makes your server indistinguishable from a legitimate website:

Censorship method How Meridian beats it
Deep Packet Inspection Traffic is byte-for-byte identical to normal HTTPS. No proxy signatures.
Active probing Censors connecting to your server get a real TLS certificate from microsoft.com. Only clients with your private key reach the proxy.
TLS fingerprinting uTLS impersonates Chrome's exact Client Hello, matching billions of real devices.
IP blocking Domain mode routes through Cloudflare CDN as a fallback — no direct IP exposure.

What you need

  • A VPS (Debian/Ubuntu) with root SSH key access — $3–5/month from any provider
  • Recommended: Finland, Netherlands, Sweden, Germany (low latency, not flagged)
  • Optional: a domain pointed to the server (for CDN fallback via Cloudflare)

Commands

Command Description
meridian setup [IP] Deploy proxy server (interactive wizard if no IP)
meridian setup IP --xhttp Deploy with XHTTP transport (enhanced stealth)
meridian client add NAME Add a named client key
meridian client list List all clients
meridian client remove NAME Remove a client key
meridian server list List managed servers
meridian check [IP] Pre-flight validation (ports, SNI, ASN, DNS)
meridian scan [IP] Find optimal SNI targets on server's network
meridian ping [IP] Test proxy reachability from this device
meridian diagnostics [IP] Collect info for bug reports
meridian uninstall [IP] Remove proxy from server
meridian self-update Update CLI

Architecture

Meridian architecture

Standalone mode — Xray on port 443. No domain needed.

Domain mode — HAProxy routes by SNI: Reality traffic goes to Xray, everything else to Caddy (auto-TLS). Adds VLESS+WSS through Cloudflare CDN as a fallback.

Client apps

After setup, connect with any of these apps:

Platform App
iOS v2RayTun
Android v2rayNG
Windows v2rayN
All platforms Hiddify

Docs

Full documentation, interactive command builder, and setup guides:

meridian.msu.rocks · Connection page demo

Feedback

Not connecting? Run meridian ping to check if the server is reachable, or use the web-based ping tool.

Something else not working? Get instant AI-powered help:

meridian diagnostics --ai        # copies an AI-ready prompt to clipboard

Paste the prompt into ChatGPT, Claude, or any AI assistant for personalized troubleshooting.

Or open an issue with meridian diagnostics output.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meridian_vpn-3.0.1.tar.gz (189.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meridian_vpn-3.0.1-py3-none-any.whl (104.6 kB view details)

Uploaded Python 3

File details

Details for the file meridian_vpn-3.0.1.tar.gz.

File metadata

  • Download URL: meridian_vpn-3.0.1.tar.gz
  • Upload date:
  • Size: 189.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for meridian_vpn-3.0.1.tar.gz
Algorithm Hash digest
SHA256 e543a18a758ae2c111070f882468b85cf33bba8a9938ca1698c9537747694a70
MD5 0d6ff1c19ce3c5dc86b110ccf942632f
BLAKE2b-256 342fa76cf721a4b58e1cfebe609fa91a36bec30e97069275c33d2f203c82b03e

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_vpn-3.0.1.tar.gz:

Publisher: release.yml on uburuntu/meridian

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meridian_vpn-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: meridian_vpn-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 104.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for meridian_vpn-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f16b98abc119d578db54f743ffab53ce8dd6032e09df83d6cd0a6e1f9a65941f
MD5 c9f6e954b8697907cd611fcb8857ee23
BLAKE2b-256 08ccaee3be3425e64f7bd29c0fe1296566619300dd8a2215882c6b73cb5c57d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for meridian_vpn-3.0.1-py3-none-any.whl:

Publisher: release.yml on uburuntu/meridian

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page