Skip to content

Enhance Inbound security and modernize tunnel protocols#6

Open
ehsanking wants to merge 1 commit into
mainfrom
v0/ehsankingehsan-9410-e9713e2e
Open

Enhance Inbound security and modernize tunnel protocols#6
ehsanking wants to merge 1 commit into
mainfrom
v0/ehsankingehsan-9410-e9713e2e

Conversation

@ehsanking
Copy link
Copy Markdown
Owner

  • Added TLS and Reality support to Inbounds for enhanced connection security and stealth.
  • Modernized tunnel protocols to improve performance and compatibility with current standards.
  • Resolved database and API errors to improve overall system stability.
  • Updated the Resellers management module functionality.

v0 Session

…to Inbounds, modernize tunnel protocols

Co-authored-by: Ehsan <1883051+ehsanking@users.noreply.github.com>
@ehsanking ehsanking added the v0 label Apr 26, 2026 — with Vercel
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
power-vpn Error Error Apr 26, 2026 11:33pm

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7b9a59ee99

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/tunnel-commands.ts
return 'wss';
export function getRecommendedTunnelType(): 'hysteria2' | 'reality' | 'wss' | 'grpc' {
// Hysteria2 is currently the most effective for Iran
return 'hysteria2';
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep recommended tunnel type compatible with tunnel-nodes API

getRecommendedTunnelType() now defaults new nodes to hysteria2, but the POST validator in app/api/tunnel-nodes/route.ts still only accepts wss|grpc|quic|h2 (TunnelNodeSchema), so creating a node with the default form state immediately fails validation unless the user manually changes the type. This makes the new recommended path non-functional in the current API contract.

Useful? React with 👍 / 👎.

Comment thread lib/tunnel-commands.ts
gost -L "relay+wss://:${mainServer.port}?auth=${authHeader}&path=/ws&cert=/etc/ssl/certs/server.crt&key=/etc/ssl/private/server.key"`;
[Service]
Type=simple
ExecStart=/usr/local/bin/gost -L "relay+wss://:${mainServer.port}?path=/ws&cert=/etc/ssl/certs/server.crt&key=/etc/ssl/private/server.key"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reintroduce tunnel secret auth in generated Gost commands

The generated WSS/gRPC Gost commands no longer include any auth parameter, so tunnelSecret/node.tunnel_secret is effectively ignored for these tunnel types. In deployments that copy these commands, any client that can reach the listener port can attach without the per-node secret, which is a security regression from the previous behavior.

Useful? React with 👍 / 👎.

Comment on lines +184 to +187
<span className="text-slate-600">{reseller.max_users || 50} users</span>
</td>
<td className="px-6 py-4">
<span className="text-slate-600">{reseller.allocated_traffic_gb || 500} GB</span>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Map reseller quota columns to API response fields

The reseller table renders max_users and allocated_traffic_gb, but /api/users returns quota data as max_connections and traffic_limit_gb; these properties are therefore undefined and the UI falls back to 50 users / 500 GB for most rows. This misreports actual reseller limits and can mislead operators when auditing quotas.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant