mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Self-Hostedevaluationupdated 25 Aug 2026

deploy-vercel review

deploy-vercel is a Chinese-language template for running a WebSocket proxy and subscription endpoint on Vercel; it has no English documentation. It emits VLESS, Trojan, and Shadowsocks-style connection records, can report host data to a Nezha dashboard, and places a generic HTML page at the root.

+129stars / 7d
Verdict

Our install pulled 66 packages into 81 MB, while the five-file project supplied no build or test target, so deploy-vercel asks you to trust security-sensitive network code without a verification suite. Do not deploy it unchanged: replace the public credential, audit the subscription route, and understand that Nezha configuration grants remote shell and file access. Most operators should choose sing-box or Xray-core on infrastructure they control.

We ran it

Lab card: what happened when we ran deploy-vercelScreenshot of deploy-vercel (github.com/vvxw/deploy-vercel)
Install✓ · 13s66 packages · 81 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo5 files~1,003 lines of source · 0.1 MB · 0 CI workflows

Answers from our run

Does deploy-vercel build from source?

Dependencies installed in 13 seconds (66 packages), and the project has no separate build step. We cloned commit 9b7052b into a clean Debian container with 3 CPUs and no project-specific setup.

Does deploy-vercel have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does deploy-vercel have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use deploy-vercel?

Anyone looking for English setup or security documentation: the README is Chinese and does not provide an English guide.

What are the alternatives to deploy-vercel?

sing-box, Xray-core, V2Ray core. Our install pulled 66 packages into 81 MB, while the five-file project supplied no build or test target, so deploy-vercel asks you to trust security-sensitive network code without a verification suite.

Setup2/5Short Vercel recipe, but risky defaults and extra proxy routing
Docs2/5Chinese deployment notes omit security and verification guidance
Community2/5Recent push and issue replies, with only a tiny public queue
Maturity1/5No license, CI, tests, build target, or release history

Who it’s for

Experienced proxy operators who can audit about 1,003 lines of JavaScript before deployment.
Chinese-reading developers who understand Vercel routing, WebSockets, DNS, and proxy client formats.
Users who will replace every default identifier and keep Nezha remote access disabled unless they control the server.
Experimenters prepared to verify platform terms, local rules, and regional availability themselves.

Who it’s NOT for

Anyone looking for English setup or security documentation: the README is Chinese and does not provide an English guide.
Users who might deploy the defaults unchanged: index.js contains a public default UUID, and the WebSocket path derives from its first 8 characters.
Teams requiring an open-source license: GitHub reports no license and the five-file repository contains no license file.
Operators who treat Nezha as simple monitoring: when configured, this code accepts remote terminal tasks plus file listing, download, and upload operations.
Buyers who need tested platform support: the repository has no build target, test target, CI workflow, Dockerfile, or release history.
People expecting every listed Vercel region to work: issue 6 reports three documented region codes as unusable in testing.

Setup reality

Our sandbox ran npm install in 13 seconds, adding 66 packages and using 81 MB on disk. There was no build script or test script, so both steps were skipped. npm audit reported 0 known vulnerabilities, but no runtime behavior was verified.

Deployment needs a private Vercel project, a fresh UUID, domain and path settings, and a proxy client. Optional Nezha support adds a server address and secret; enabling it also enables remote terminal and file-manager task handlers.

The repository is only 5 files and 0.1 MB, yet the installed dependencies expand to 81 MB. Its README also expects domain fronting or another reverse proxy when the assigned Vercel domain is unreachable, which adds another provider and failure point.

Five files create a network proxy, subscription feed, and cover page

deploy-vercel is much more than its one-line repository description. index.js starts an HTTP and WebSocket server, authenticates several proxy handshakes with one UUID, and opens outbound TCP connections to requested hosts. A subscription route returns base64-encoded VLESS, Trojan, and Shadowsocks-style connection records. The root serves a generic environmental organization page, which the README tells users to replace with another generated HTML page.

The project is documented in Chinese, with no English guide. Its instructions cover creating a private repository from the template, editing settings, importing the project into Vercel, assigning a domain, and optionally putting a Cloudflare Worker or snippet in front of it. The README also says the Vercel-assigned domain may be blocked and unusable for direct connections. That is a warning about the operating model, not a minor setup footnote.

The default UUID is public and must be treated as compromised

index.js falls back to UUID d1cf4b9c-3e57-085d-b34a-797fcf601381. The default WebSocket path is the first 8 characters of that same UUID, while the default subscription path is vercel. Anyone reading the public repository can know all three values. A private fork does not make a published default secret.

A competent operator would replace the UUID and paths before the first deploy, then prevent the subscription endpoint from disclosing credentials to untrusted visitors. The implementation returns the subscription when the configured path matches; it does not add a second authentication check for that HTTP route. The README proposes JavaScript obfuscation through an external website, but obscuring code does not repair a public credential or substitute for access control.

Nezha configuration grants terminal and file operations

The optional Nezha block reports system details such as CPU, memory, disk, process, and network data through gRPC. More importantly, its task stream handles interactive terminal sessions. It starts the configured shell through node-pty when available, then falls back to other pseudo-terminal methods. The same agent can list directories, download files, and upload files to paths supplied by the remote task.

Those capabilities may be intentional for a trusted administration dashboard, but they change the risk category. NEZHA_SERVER and NEZHA_KEY are remote-control credentials, not harmless observability settings. The code uses TLS only when the configured server port belongs to a fixed set of 6 ports; other ports use insecure gRPC credentials. Leave Nezha unset unless you own and secure the dashboard, understand its task protocol, and accept remote shell authority over the process environment.

What happened when we ran it

Our sandbox cloned commit 9b7052b into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, no secrets, and Node 22. The repository contained 5 files, about 1,003 lines of source, and occupied 0.1 MB. It had no CI workflow, Dockerfile, or tests directory.

npm install succeeded in 13 seconds. It added 66 packages and occupied 81 MB on disk, a large expansion from the 0.1 MB checkout. npm audit reported 0 known vulnerabilities across all four severities. That result only checks known advisories in the installed dependency tree; it does not assess the proxy protocol, authentication design, outbound connections, or remote task handlers.

There was no build script or target, so our lab skipped the build. There was also no test script or target, so no tests ran. We did not start the proxy or connect it to Vercel, Cloudflare, a proxy client, or Nezha. The repository therefore gives us a successful dependency installation and no measured evidence about routing, long-lived WebSockets, subscriptions, or remote administration.

Region documentation already has a current dispute

The README lists Vercel region codes across Asia, Europe, Africa, the Americas, and Australia. Issue 6, opened August 21 and updated August 25, says the Dubai, Johannesburg, and Miami codes in that table were unusable in the reporter's tests. The issue is narrow, but it shows why copied platform tables need verification against the current provider rather than trust based on a recent README date.

Project activity is recent. The last push was August 18, 2026, and the issue queue had 5 issues and pull requests combined, with activity through August 25. GitHub returned no latest release. Recent pushes mean the project is not stale, but they do not offset the absence of CI, tests, versioned releases, or a license file for security-sensitive code.

A dedicated proxy core is the safer default

The Vercel template is attractive only when that deployment shape is itself the requirement. Even then, the operator must secure credentials, confirm that use complies with every provider involved, test each region, and own a reverse-proxy layer the README already assumes may be necessary. The generic cover page and suggested obfuscation add concealment without improving protocol security.

sing-box, Xray-core, and V2Ray core demand more explicit infrastructure, but each makes the proxy engine the product rather than hiding it inside a five-file serverless template. They are easier to reason about, configure openly, and isolate on a host you control. deploy-vercel is an audit-first experiment, not a deployment recipe we would hand to a newcomer.

Alternatives

ProjectWhat it isPick it when
sing-box gh↗A general proxy platform with a dedicated core, structured configuration, and broad protocol support.pick this instead when you can run a server or client directly and want a maintained proxy core rather than a Vercel template.
Xray-core gh↗A mature proxy core supporting VLESS and related transport and routing features.pick this instead when you need explicit server configuration and a larger operator community.
V2Ray coreA proxy platform for network routing and restriction-bypass configurations.pick this instead when a documented standalone core is more important than serverless deployment.

What people are saying

  1. [velocity-scout] vvxw/deploy-vercel

Sources

  1. deploy-vercel README
  2. deploy-vercel server source
  3. Vercel region code report
  4. Measured deploy-vercel commit
  5. deploy-vercel package manifest

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →