V2Fly Website & Documentation

repository·master·Indexed 20 days ago

https://github.com/v2fly/v2fly-github-io

Central hub for Project V and V2Ray documentation. Includes guides on communication network configuration, multi-protocol support (Socks, HTTP, Shadowsocks, Trojan, Vmess, VLESS), and detailed API and configuration references for DNS settings, gRPC remote control, and the BrowserForwarder module.

Tokens
112.8K
Snippets
359
Records
529
Agent score
68%

What's inside v2fly-github-io

  1. Overview of the mKCP Protocol

    master

    mKCP is a streaming transport protocol modified from the KCP protocol. It is designed to transfer any data stream in order using UDP as the base protocol.

    Key characteristics:

    • No Handshake: mKCP does not use a handshake procedure. Connections are determined by the unique identifier of the data stream found in received packets.
    • Packetization: Data streams are split into small packets, each containing one or more segments.
    • Segment Types: Communication consists of three segment types: Data, ACK (Acknowledge), and Ping.
    • Versioning: mKCP has no version number; compatibility between different implementations is not guaranteed.
  2. Overview of the VMess Protocol

    master

    VMess is an original encrypted communication protocol developed by V2Ray. It is a stateless protocol based on TCP, meaning client and server do not require a handshake to transmit data; each transmission is independent of previous or subsequent ones.

    VMess supports two authentication modes for the protocol header:

    • AEAD Authentication: Uses AEAD encryption to ensure the integrity of the protocol header. This is the recommended method.
    • MD5 Authentication: A legacy method using MD5 + AES-128-CFB. It cannot guarantee the integrity of the header itself. This method is deprecated.

    Currently, VMess can automatically negotiate between AEAD and MD5 based on the protocol header.

  3. Core Features of Project V

    master

    Project V is a versatile communication network tool with the following capabilities:

    • Multiple Inbound/Outbound Entries: A single V2Ray process can concurrently support multiple inbound and outbound protocols, each working independently.
    • Customizable Routing: Inbound traffic can be routed to different outbound protocols based on configuration, allowing for traffic splitting by region or domain to optimize network performance.
    • Multi-Protocol Support: Supports multiple protocols simultaneously, including Socks, HTTP, Shadowsocks, Trojan, Vmess, and VLESS. Each protocol can use different transport carriers such as TCP, mKCP, QUIC, gRPC, and WebSocket.
    • Obfuscation and Security: Nodes can masquerade as normal websites (HTTPS) to blend traffic with standard web traffic, providing packet obfuscation and replay protection.
    • Load Balancing: Inbound traffic is automatically distributed to the most suitable outbound based on probing strategies and weighted algorithms.
    • Multi-Platform Support: Native support for Windows, macOS, and Linux, with third-party support available for mobile platforms.
  4. Configure the V2Ray DNS Server

    master

    V2Ray includes a built-in DNS server used for two purposes: matching routing rules based on resolved IPs and resolving target addresses for connections.

    Important Considerations:

    • Protocol Support: V2Ray only supports basic IP queries (A and AAAA records). For a full DNS experience, consider using a dedicated server like CoreDNS alongside V2Ray.
    • Freedom Outbound Compatibility: For outbounds using the freedom protocol, the domainStrategy defaults to AsIs. This means DNS settings will not be applied to these outbounds unless you explicitly set domainStrategy to UseIP in your outbound configuration.
  5. Configure V2Ray built-in services

    master

    V2Ray includes several built-in services that supplement its core functionality. These services can be configured using the jsonv4 configuration format (available in V2Ray version 5.17.0 and later).

    Available service modules include:

    • Browser Forwarding Module: Handles browser-specific traffic forwarding.
    • Policy Local Strategy: Manages local routing and access policies.
    • Stats: Provides statistical information about the service.
    • Background Observatory: Monitors background connections.
    • Burst Observatory: Monitors concurrent/burst connections.
    • Tun: Provides TUN device support for network tunneling.
    • Subscription Manager: Manages user subscriptions.
  6. Explore V2Ray built-in services

    master
    V2Ray includes several built-in services designed to supplement its core functionality. These services allow for advanced features such as browser forwarding, local policy enforcement, statistics tracking, connection observability, TUN interface support, and subscription management. Each service is configured via the V2Ray configuration file.
  7. Supported Proxy Protocols

    master

    V2Fly supports a wide range of proxy protocols for data encoding and traffic handling. These protocols can be categorized into transport/encryption protocols (like VMess, VLESS, Trojan, and Shadowsocks) and specialized routing/handling protocols (like DNS, Blockhole, and Freedom).

    Supported protocols include:
    * VMess
    * VLESS
    * VLite
    * Trojan
    * Shadowsocks
    * Socks
    * HTTP
    * Freedom
    * Dokodemo
    * Blockhole
    * DNS
    * Loopback
  8. What is the Google Docs Viewer transport protocol?

    master

    The gdocsviewer transport protocol (available in v5.51.0+) is a streaming protocol that carries requests through the Google Docs Viewer. The client encodes requests as a series of HTTP requests, and the Google Docs Viewer acts as a proxy to execute them.

    It is similar to the meek transport but uses Google Docs Viewer instead of a CDN for forwarding.

    Warning: This is an experimental feature primarily generated by LLM and is not yet fully tested. Configuration formats and protocol details may change in future versions. It is generally slower than other methods and should only be used when other transport methods are unavailable.

  9. What is VLite and when to use it

    master

    VLite is a protocol designed for packet acceleration, protection, stabilization, and forwarding. It is specifically optimized for UDP-based traffic, with a primary focus on Peer-to-Peer (P2P) applications.

    Important Limitations:

    • It does not support TCP traffic proxying.
    • To ensure only intended traffic uses VLite, it is recommended to use a router rule to direct only specific UDP packet address traffic to the VLite outbound.
    "router": {
        "domainStrategy": "AsIs",
        "rule": [
          {
            "tag": "vlite",
            "domain": [
              {
                "type":"RootDomain",
                "value": "packet-addr.v2fly.arpa"
              }
            ]
          }
        ]
      }