‹ Reports
The Dispatch

OSS Report: XTLS/Xray-core


Xray-core Development Faces Memory Management Challenges Amidst Active Feature Enhancements

Xray-core, a network tool enhancing the XTLS protocol for proxy management, is experiencing active development with a focus on improving networking capabilities and API functionalities. However, recent reports of memory leaks and connection stability issues, particularly with new features like SplitHTTP, pose significant challenges.

Recent Activity

Recent issues and pull requests (PRs) highlight ongoing efforts to address memory management and connectivity problems. Notable issues include #3714 regarding memory leaks on Windows 11 and #3560 related to HTTP/3 multiplexing bugs. These issues indicate a need for improved resource management and compatibility testing.

The development team has been actively committing changes, focusing on feature enhancements and bug fixes. Key activities include:

  1. RPRX - Updated README with donation information.
  2. yuhan6665 - Updated Go version and fixed Shadowsocks configurations.
  3. dependabot[bot] - Bumped dependencies for improved functionality.
  4. mmmray - Addressed data leaks in mux.cool connections.
  5. Fangliding - Supported HTTP inbound by default.

This activity reflects a collaborative environment with a focus on maintaining code health and introducing new features.

Of Note

Overall, while Xray-core continues to evolve with new features, addressing memory and stability issues will be crucial for sustaining its growth and user satisfaction.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 4 5 8 3 1
30 Days 26 24 111 20 1
90 Days 98 94 575 76 1
1 Year 217 200 1199 180 1
All Time 2122 2100 - - -

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 1 11/14/0 14 98 2686
yuhan6665 3 5/4/0 12 35 1985
nobody 1 2/2/0 2 8 487
风扇滑翔翼 2 6/3/4 5 8 312
lelemka0 1 1/1/0 1 5 282
RPRX 1 0/0/0 7 8 89
dependabot[bot] 1 11/10/1 10 2 77
mayampi01 1 0/1/0 1 2 68
HunterQ 1 4/2/2 2 3 63
curlwget 1 1/1/0 1 5 10
Lumière Élevé 1 1/1/0 1 1 4
チセ 1 2/1/1 1 1 3
definitio 1 1/1/0 1 1 2
None (xiaorouji) 0 1/0/0 0 0 0
Andrevich (1andrevich) 0 1/0/1 0 0 0
Hossin Asaadi (hossinasaadi) 0 1/0/0 0 0 0
冬花ice (flowerinsnowdh) 0 1/0/1 0 0 0
ahmadreza (radioactiveAHM) 0 2/0/2 0 0 0
None (dragonbreath2000) 0 1/0/0 0 0 0
None (ll11l1lIllIl1lll) 0 1/0/0 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 22 open issues, with recent activity indicating ongoing discussions and troubleshooting efforts among users. Notably, several issues highlight concerns regarding memory leaks, connectivity problems, and protocol compatibility, particularly with the new SplitHTTP feature and its interactions with various transport protocols. A recurring theme is the difficulty in maintaining stable connections under specific configurations, especially when using the Reality protocol.

Several issues exhibit significant user engagement, with participants sharing detailed logs and configuration files to diagnose problems. There is also a clear interest in enhancing features such as routing capabilities and improving compatibility with existing web services.

Issue Details

Most Recently Created Issues

  1. Issue #3721: VLESS-XTLS-uTLS-REALITY the Edge browser will display a 403 error message

    • Priority: Normal
    • Status: Closed
    • Created: 4 days ago
    • Last Updated: 4 days ago
  2. Issue #3714: Memory leaks on the Xray-client on Windows 11 using Xray 1.8.17

    • Priority: High
    • Status: Closed
    • Created: 5 days ago
    • Last Updated: 3 days ago
  3. Issue #3699: panic with this error

    • Priority: High
    • Status: Closed
    • Created: 7 days ago
    • Last Updated: 4 days ago
  4. Issue #3683: vless入站+wireguard出站不通

    • Priority: Normal
    • Status: Closed
    • Created: 12 days ago
    • Last Updated: 11 days ago
  5. Issue #3669: ERROR - X-UI: Failure in running xray-core: exit status 0xffffffff

    • Priority: High
    • Status: Closed
    • Created: 8 days ago
    • Last Updated: 8 days ago

Notable Issues

  • Issue #3221: Memory leak

    • Created by Erfan Khadem, this issue discusses a persistent memory leak that has been observed since version 1.8.9, where memory usage grows significantly over time without release.
  • Issue #3560: SplitHTTP h3 h2 multiplex controller

    • This issue details a complex bug related to multiplexing in HTTP/3 connections, indicating a potential regression or incompatibility introduced in recent updates.
  • Issue #3403: [Feature Request] https h2 proxy

    • A request for enhanced support for HTTPS nodes through Xray, highlighting user needs for improved proxy capabilities.

Important Observations

  • There is a noticeable trend of users reporting issues related to memory management and connection stability, particularly with new features like SplitHTTP.
  • The community actively engages in troubleshooting by sharing detailed logs and configurations, which may indicate a collaborative effort to resolve common problems.
  • Requests for feature enhancements suggest that users are looking for more flexibility in routing and connection management, reflecting the evolving needs of the user base as they adapt to changing network conditions and censorship challenges.

Conclusion

The current state of open issues in the XTLS/Xray-core project reflects both active community engagement and ongoing challenges related to memory management and connectivity under specific configurations. The focus on enhancing routing capabilities and addressing performance issues indicates a responsive development environment that seeks to meet user needs effectively.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the XTLS/Xray-core repository reveals a total of 14 open PRs, with a significant focus on enhancing functionality related to DNS, UDP protocols, and various API improvements. The recent activity indicates ongoing development efforts aimed at improving performance and user experience.

Summary of Pull Requests

Open Pull Requests

  • PR #3728: Support DNS queryStrategy config for UDP NameServer

    • Created: 1 day ago
    • Description: Introduces support for configuring DNS query strategies specifically for UDP NameServers. This enhancement is crucial for improving DNS resolution in environments where UDP is preferred.
  • PR #3711: UDP noise

    • Created: 6 days ago
    • Description: Proposes a method to bypass restrictions on UDP-based protocols by sending random noise packets before the actual protocol handshake. This draft PR seeks feedback from maintainers before further development.
  • PR #3644: API: Add new Get Inbound User

    • Created: 21 days ago
    • Description: Implements a new API endpoint to retrieve inbound user information, addressing previous concerns about code structure and documentation.
  • PR #3637: API: Add user online stats

    • Created: 22 days ago
    • Description: Adds functionality to track online user statistics based on IP connections, enhancing monitoring capabilities within the application.
  • PR #3613: SplitHTTP client: Add multiplex controller for H3 & H2

    • Created: 28 days ago
    • Description: Introduces a multiplexing controller for HTTP/3 and HTTP/2 connections, aiming to improve connection management and resource utilization.

Closed Pull Requests

  • PR #3730: Update go 1.23

    • Closed: Merged recently; updates the Go version used in the project.
  • PR #3729: Bump github.com/vishvananda/netlink from 1.2.1 to 1.3.0

    • Closed: Merged; updates a dependency for improved functionality and bug fixes.
  • PR #3719: Bump github.com/vishvananda/netlink from 1.2.1-beta to 1.2.1

    • Closed: Merged; addresses backward compatibility issues with netlink.
  • PR #3718: Fix data leak between mux.cool connections

    • Closed: Merged; resolves a critical issue that caused data leakage across multiple connections in the mux.cool implementation.

Analysis of Pull Requests

The current set of open pull requests reflects several key themes and areas of focus within the XTLS/Xray-core project:

Enhancements in Networking Protocols

A notable trend among the recent PRs is the emphasis on improving networking capabilities, particularly concerning DNS and UDP protocols. For instance, PR #3728 introduces a configuration strategy for DNS over UDP, which is essential in environments where traditional TCP-based DNS queries may be blocked or throttled. Similarly, PR #3711 proposes a method to obfuscate UDP traffic by introducing noise packets, showcasing an innovative approach to circumventing network restrictions imposed by ISPs.

API Improvements

Several PRs are dedicated to enhancing the API functionality of Xray-core. The introduction of new endpoints (e.g., PR #3644) and tracking capabilities (e.g., PR #3637) demonstrates a commitment to providing developers with robust tools for managing user sessions and monitoring network activity. These enhancements not only improve usability but also align with modern practices in software development by ensuring that APIs are both comprehensive and easy to use.

Community Engagement and Feedback

The draft nature of PR #3711 indicates an active engagement with the community, as contributors seek feedback before finalizing their implementations. This collaborative approach fosters an environment where ideas can be refined through discussion, ultimately leading to more robust solutions.

Anomalies and Concerns

Despite the positive trends, there are some anomalies worth noting. For example, PR #3711 has been marked as a draft due to its experimental nature, which raises questions about its stability and potential impact on existing functionalities if merged prematurely. Additionally, there is a recurring theme of discussions around the implications of merging multiple experimental features simultaneously, as highlighted in discussions regarding fragmentation methods (e.g., PR #3677). This could lead to increased scrutiny from ISPs and potentially result in quicker blocking of these features.

Lack of Recent Merge Activity

While there has been significant activity in terms of open pull requests, there appears to be a lack of recent merge activity on older PRs. This could indicate bottlenecks in the review process or prioritization challenges among maintainers. Addressing this issue may require streamlining review processes or increasing contributor engagement to ensure timely integration of valuable contributions.

In summary, the XTLS/Xray-core repository is experiencing active development focused on enhancing networking capabilities and improving API functionalities while navigating challenges related to community engagement and feature integration. The balance between innovation and stability will be crucial as the project continues to evolve.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Activities

  1. RPRX

    • Recent Activity:
    • Added "Project VLESS to Telegram" in the README.
    • Made various updates to the README, including renaming NFTs to Donation & NFTs.
    • Collaborations: None specified.
  2. yuhan6665

    • Recent Activity:
    • Updated Go version to 1.23.
    • Added inbound user count command and several fixes related to Shadowsocks configurations.
    • Collaborations: Worked on multiple branches, including api and go123.
  3. dependabot[bot]

    • Recent Activity:
    • Bumped several dependencies, including github.com/vishvananda/netlink and github.com/cloudflare/circl.
    • Collaborations: None specified.
  4. mmmray

    • Recent Activity:
    • Fixed data leaks in mux.cool connections and addressed connection leaks in SplitHTTP.
    • Contributed to several major features and bug fixes across various files.
    • Collaborations: Frequently collaborated with RPRX and yuhan6665 on multiple PRs.
  5. Fangliding (风扇滑翔翼)

    • Recent Activity:
    • Supported HTTP inbound by default and made changes related to Socks4a server functionality.
    • Collaborations: Co-authored several commits with RPRX.
  6. curlwget

    • Recent Activity:
    • Fixed typos in comments across various files.
    • Collaborations: None specified.
  7. chise0713 (チセ)

    • Recent Activity:
    • Fixed issues related to Wireguard client logging.
    • Collaborations: None specified.
  8. jadeydi (HunterQ)

    • Recent Activity:
    • Combined filename and format into a new struct.
    • Collaborations: Co-authored with RPRX on some changes.
  9. PoneyClairDeLune (Lumière Élevé)

    • Recent Activity:
    • Made minor adjustments in the codebase.
    • Collaborations: None specified.
  10. vrnobody (nobody)

    • Recent Activity:
    • Improved JSON marshaling methods in the codebase.
    • Collaborations: None specified.
  11. definitio

    • Recent Activity:
    • Fixed permissions of geosite and geodat in Dockerfile.
    • Collaborations: None specified.
  12. mayampi01

    • Recent Activity:
    • Added multi-arch builds in Docker configuration.
    • Collaborations: None specified.
  13. lelemka0

    • Recent Activity:
    • Enabled auto-reload for cacert & added buildChain functionality.
    • Collaborations: None specified.

Patterns, Themes, and Conclusions

  • The team exhibits a strong focus on enhancing existing features, particularly around network protocols like Shadowsocks and HTTP/3 support through SplitHTTP, indicating ongoing improvements in performance and reliability.
  • There is significant collaboration among team members, especially between mmmray, yuhan6665, and RPRX, suggesting a cohesive development environment where complex tasks are tackled collectively.
  • Frequent dependency updates by dependabot indicate a proactive approach to maintaining code health and compatibility with external libraries.
  • The recent addition of features such as inbound user counts reflects an emphasis on improving user management capabilities within the application.
  • Overall, the activity shows a balanced mix of feature development, bug fixing, and maintenance work, which is essential for sustaining an active open-source project like Xray-core.