‹ Reports
The Dispatch

OSS Report: XTLS/Xray-core


XTLS/Xray-core Faces Challenges with SplitHTTP Functionality Amid Active Development

XTLS/Xray-core, a toolset enhancing internet privacy and security, is grappling with complex issues in its SplitHTTP feature, while actively advancing protocol support and API capabilities.

Recent Activity

Recent issues highlight significant challenges with the SplitHTTP functionality, particularly its compatibility with HTTP/3 and proxy configurations like Nginx (#3856). Memory leaks and performance concerns have also been reported, especially in conjunction with Shadowsocks (#3837). Feature requests such as a redesigned browser dialer (#3840) indicate ongoing development efforts.

Development Team and Recent Contributions

Of Note

  1. SplitHTTP Issues: Persistent problems with SplitHTTP, especially when using proxies like Nginx, are critical.

  2. Protocol Enhancements: Active work on modern protocols like HTTP/3 and QUIC reflects a forward-looking approach.

  3. API Expansion: New endpoints for user statistics and inbound information suggest increased integration capabilities.

  4. Legacy Code Removal: Ongoing efforts to streamline the codebase by removing outdated components.

  5. Dependency Management: Regular updates ensure the project remains secure and up-to-date with the latest libraries.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 10 7 21 8 1
30 Days 32 33 130 23 1
90 Days 98 97 488 71 1
1 Year 211 199 1141 167 1
All Time 2155 2142 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
mmmray 2 9/7/1 12 34 3571
Kobe Arthur Scofield 1 8/7/1 7 142 3253
风扇滑翔翼 9 11/9/1 33 35 2112
yuhan6665 2 1/1/0 2 5 888
ll11l1lIllIl1lll 1 0/1/0 1 9 539
dragonbreath2000 1 1/1/0 1 4 249
Lumière Élevé 1 2/2/0 2 2 224
dependabot[bot] 1 8/7/2 7 2 222
Torikki 1 0/1/0 1 4 56
Dmitry Anderson 1 1/1/0 1 4 50
RPRX 1 1/1/0 5 2 20
vnxme 1 1/1/0 1 1 19
Kuzmin Vladimir 1 1/1/0 1 2 10
bob 1 1/1/0 1 1 5
None (xcode75) 0 1/0/1 0 0 0
Ran Mao (MrRanMao) 0 1/0/1 0 0 0
Lucky Luke (LuckyLuke-a) 0 0/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The XTLS/Xray-core project currently has 13 open issues, with recent activity indicating a mix of bug reports, feature requests, and configuration inquiries. Notably, there are several issues related to the SplitHTTP functionality, particularly concerning its interaction with various protocols and CDN configurations.

A recurring theme is the complexity and potential bugs associated with the SplitHTTP feature, especially regarding its compatibility with HTTP/3 and how it handles requests through proxies like Nginx. Additionally, there are concerns about memory leaks and performance issues when using specific configurations or protocols.

Issue Details

  1. #3856: splithttp使用nginx代理时GET请求会出现超时

    • Priority: High
    • Status: Open
    • Created: 0 days ago
    • Description: Issues with timeouts during GET requests when using Nginx as a proxy.
  2. #3840: [Feature suggestion & draft] Redesigned browser dialer

    • Priority: Medium
    • Status: Open
    • Created: 7 days ago
    • Description: A proposal for redesigning the browser dialer to improve throughput and resource consumption.
  3. #3837: SIGSEGV with Shadowsocks AEAD-2022

    • Priority: High
    • Status: Open
    • Created: 8 days ago
    • Description: A crash issue related to Shadowsocks configuration that needs further investigation.
  4. #3806: Bug Report: Inbound Addition Failure in Xray API

    • Priority: Low
    • Status: Open
    • Created: 16 days ago
    • Description: Issues with adding inbounds via API leading to errors.
  5. #3668: 捐款 / Donation & NFTs

    • Priority: Low
    • Status: Open
    • Created: 50 days ago
    • Description: Discussion around integrating NFTs for donations.

Summary of Key Issues

  • There is a significant focus on the SplitHTTP functionality, particularly regarding its performance and compatibility with different protocols (e.g., HTTP/3).
  • Memory leaks and crashes have been reported in conjunction with specific configurations, notably involving Shadowsocks and WireGuard.
  • Feature suggestions are being actively discussed, indicating ongoing development and community engagement.

This analysis highlights the need for careful attention to the SplitHTTP feature's implementation and its interactions with other components in the XTLS/Xray-core ecosystem.

Report On: Fetch pull requests



Overview

The analysis of the XTLS/Xray-core project's pull requests (PRs) reveals a dynamic and active development environment focused on enhancing internet privacy and security. The project has seen significant contributions in terms of feature additions, optimizations, and maintenance updates, reflecting its commitment to continuous improvement and adaptation to user needs and technological advancements.

Summary of Pull Requests

Open Pull Requests

  • PR #3816: REALITY: Unblock SplitHTTP transport

    • Status: Open
    • Significance: Addresses a specific transport issue within the REALITY protocol, allowing for more flexible testing and usage scenarios.
  • PR #3813: ECH: client support TLS Encrypted Client Hello

    • Status: Open
    • Significance: Introduces support for Encrypted Client Hello (ECH), enhancing privacy by encrypting client hello messages in TLS connections.
  • PR #3260: Add VLESS seed configurations

    • Status: Open
    • Significance: Adds new configuration options for VLESS, potentially improving its flexibility and usability in various scenarios.
  • PR #3644: API: Add new Get Inbound User

    • Status: Open
    • Significance: Expands the API capabilities by adding a new endpoint to retrieve inbound user information, which could enhance integration with external systems.
  • PR #3637: API: Add user online stats

    • Status: Open
    • Significance: Introduces new API functionality to track online user statistics, providing valuable insights for network management.
  • PR #3550: Replace quic-go with uQuic

    • Status: Open
    • Significance: Proposes a significant change in the underlying QUIC implementation, potentially impacting performance and compatibility.

Closed Pull Requests

  • PR #3855: Config: Add capability to parse int in string format

    • Status: Closed (Merged)
    • Significance: Enhances configuration parsing flexibility by allowing integer values to be specified as strings.
  • PR #3852: Transport: Add RAW as an alias of TCP

    • Status: Closed (Merged)
    • Significance: Simplifies configuration by allowing 'RAW' as an alias for TCP, improving readability and usability.
  • PR #3845: Bump google.golang.org/grpc from 1.66.2 to 1.67.0

    • Status: Closed (Merged)
    • Significance: Updates gRPC dependency to the latest version, ensuring access to recent bug fixes and improvements.
  • PR #3838: Remove legacy code

    • Status: Closed (Merged)
    • Significance: Cleans up outdated code related to transport configurations, streamlining the codebase.
  • PR #3835: Xmux: Value of 0 is treated the same as no value

    • Status: Closed (Merged)
    • Significance: Addresses configuration handling for Xmux, ensuring that a value of '0' is interpreted correctly.

Analysis of Pull Requests

The XTLS/Xray-core project demonstrates a robust development process characterized by active community engagement and a clear focus on enhancing functionality and performance. The open PRs indicate ongoing efforts to expand the project's capabilities, particularly in areas like transport protocols and API enhancements. The closed PRs reflect a commitment to maintaining a clean and efficient codebase through regular updates and optimizations.

Themes and Commonalities

  1. Enhancements to Protocols: Several open PRs focus on improving existing protocols or adding support for new features within them. For instance, PR #3813 introduces support for TLS Encrypted Client Hello, which is crucial for enhancing privacy in TLS connections.

  2. API Expansions: The addition of new API endpoints (e.g., PR #3644) suggests an effort to make the system more extensible and easier to integrate with other tools or services. This is important for users who need to manage their setups programmatically or integrate with third-party systems.

  3. Configuration Flexibility: Changes like those proposed in PR #3260 highlight an ongoing effort to make configurations more flexible and user-friendly. This is crucial for adapting the tool to various environments and use cases without requiring extensive modifications or deep technical knowledge from users.

  4. Dependency Management: Regular updates of dependencies (e.g., PR #3845) indicate good maintenance practices, ensuring that the project benefits from the latest improvements and security fixes in its underlying libraries.

Notable Anomalies

  • The proposal to replace quic-go with uQuic (PR #3550) suggests an exploration of alternative implementations that might offer better performance or compatibility with specific use cases. This could be a significant change depending on the outcome of this PR.

  • The integration of features like RAW as an alias for TCP (PR #3852) reflects a focus on improving usability by simplifying configuration options without losing functionality.

Overall, the XTLS/Xray-core project is actively evolving, with contributions that not only enhance its core functionalities but also improve its usability and maintainability. The community's involvement in proposing and discussing these changes is indicative of a healthy open-source project ecosystem.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  • 风扇滑翔翼 (Fangliding)

    • Recent Activity:
    • 33 commits across 35 files, focusing on various enhancements and bug fixes.
    • Notable contributions include adding support for ECH (Encrypted Client Hello), improvements to DNS caching behavior, and multiple updates to the QUIC sniffer.
    • Collaborated with other team members on several branches, including h3, BlockType, and QUIC-Sniffer.
  • KobeArthurScofield

    • Recent Activity:
    • 7 commits with significant changes (3253 lines) across 142 files.
    • Focused on removing legacy code and enhancing error logging features.
    • Actively involved in multiple pull requests, indicating a strong engagement with ongoing project maintenance.
  • mmmray

    • Recent Activity:
    • 12 commits resulting in 3571 changes across 34 files.
    • Contributions include transport configuration improvements and removal of unnecessary components.
    • Engaged in multiple branches, showcasing a focus on refining the transport layer.
  • RPRX

    • Recent Activity:
    • 5 commits with minor changes across 2 files.
    • Primarily involved in version updates and minor enhancements.
  • yuhan6665

    • Recent Activity:
    • 2 commits with substantial changes (888 lines) across 5 files.
    • Focused on implementing HTTP/3 transport capabilities.
  • dependabot[bot]

    • Recent Activity:
    • 7 commits focused on dependency updates, ensuring the project remains current with library versions.
  • PoneyClairDeLune

    • Recent Activity:
    • Contributed with 2 commits, primarily focused on minor improvements.

Patterns and Themes

  1. Active Collaboration: The team exhibits strong collaboration, particularly evident in branch activities where multiple developers contribute to the same features or fixes. For example, Fangliding's work on ECH involved updates across various files and collaboration with other developers.

  2. Focus on Legacy Code Removal: A recurring theme is the removal of legacy code and features, as seen in KobeArthurScofield's contributions. This indicates an ongoing effort to streamline the codebase and improve maintainability.

  3. Enhancements in Networking Protocols: Recent commits show a concentrated effort to enhance support for modern networking protocols like HTTP/3 and QUIC, reflecting a commitment to keeping the toolset relevant in evolving internet standards.

  4. Dependency Management: The presence of dependabot highlights an organized approach to managing dependencies, ensuring that the project leverages up-to-date libraries for security and performance.

  5. Diversity of Contributions: Contributions span various aspects of the project—from core functionality enhancements to documentation updates—demonstrating a well-rounded development effort.

Conclusions

The XTLS/Xray-core development team is actively engaged in enhancing the project's capabilities while maintaining a clean and efficient codebase. The focus on modern protocols, collaboration among team members, and proactive dependency management positions the project well for future growth and adaptability in the networking landscape.