‹ Reports
The Dispatch

OSS Report: ValdikSS/GoodbyeDPI


GoodbyeDPI Faces Challenges with Compatibility and User Experience Amidst Active Development

GoodbyeDPI, a tool designed to bypass ISP-imposed internet censorship on Windows, is experiencing increased user-reported issues, particularly with popular services like YouTube and Discord, indicating potential compatibility challenges.

Recent Activity

The project has seen a surge in issue reports, with 99 open issues highlighting user difficulties with specific websites and applications. Notable issues include #600, where GoodbyeDPI ceased functioning in Chrome post-update, and #536, where VPNs stopped working after the first program run. These issues suggest conflicts between GoodbyeDPI and other software, such as VPNs and browser extensions. The development team, led by ValdikSS, is actively addressing these concerns through bug fixes and feature enhancements. Recent commits focus on documentation updates and improvements in src/goodbyedpi.c, with contributions from team members like EgorWeders and glvoff.

Development Team and Recent Activity

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 14 21 73 13 1
30 Days 189 169 950 151 1
90 Days 219 183 1083 175 1
1 Year 243 200 1193 194 1
All Time 545 446 - - -

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
ValdikSS 1 0/0/0 15 7 308
EgorWeders 1 7/3/2 4 2 71
Alexander Golovachev 1 1/1/0 1 1 30
Alexander Ilinykh 1 1/1/0 1 1 4
Viktor45 1 1/1/0 1 1 1
pidjan (pidjan) 0 1/0/1 0 0 0
None (Fantom313) 0 1/0/1 0 0 0
Petr (pasabanov) 0 1/0/0 0 0 0
Ivan Kuzmin (Yoniqueeml) 0 1/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 GoodbyeDPI project has seen a notable increase in activity, with 99 open issues currently reported. Recent discussions highlight ongoing challenges with specific websites and applications, particularly YouTube and Discord, which appear to be affected by the program's operation. A recurring theme is the impact of GoodbyeDPI on various browsers and applications, with users reporting issues such as slow loading times, connection resets, and outright failures to access certain services. The community is actively seeking solutions and workarounds for these problems, indicating a high level of engagement and concern regarding the software's performance.

Several issues have surfaced that indicate potential conflicts between GoodbyeDPI and other software, particularly VPNs and browser extensions. Users are also reporting difficulties with specific ISPs like Rostelecom, suggesting that some of the problems may be related to how these providers implement their own DPI measures. There are calls for enhancements such as whitelisting capabilities, improved error handling, and better integration with existing network configurations.

Issue Details

Here are some of the most recently created and updated issues:

  1. Issue #600: Goodbye DPI перестала работать в google chrome

    • Priority: High
    • Status: Open
    • Created: 0 days ago
    • Update: N/A
    • Details: User reports that Goodbye DPI stopped functioning in Chrome after an update, while it works fine in Opera.
  2. Issue #599: Error

    • Priority: Medium
    • Status: Open
    • Created: 1 day ago
    • Update: N/A
    • Details: User encountered an error without further details provided.
  3. Issue #589: Не работает Parsec

    • Priority: Medium
    • Status: Open
    • Created: 6 days ago
    • Update: 1 day ago
    • Details: User reports that Parsec loses connection when using Goodbye DPI.
  4. Issue #588: Возможность указать домен для fake http/https пакета

    • Priority: Enhancement
    • Status: Open
    • Created: 6 days ago
    • Update: 2 days ago
    • Details: Suggestion to allow specifying domains for fake packets.
  5. Issue #575: Для каждого черного списка сделать свой режим обхода (набор опций)

    • Priority: Enhancement
    • Status: Open
    • Created: 13 days ago
    • Update: 2 days ago
    • Details: Proposal to allow custom bypass options for different blacklists.
  6. Issue #574: Implement proper TCP RST filter

    • Priority: Enhancement
    • Status: Open
    • Created: 14 days ago
    • Update: N/A
    • Details: Request for a more refined TCP RST filtering mechanism.
  7. Issue #569: [DHCP] Не работает впн вместе с GoodbyeDPI

    • Priority: Medium
    • Status: Open
    • Created: 16 days ago
    • Update: N/A
    • Details: User reports that VPNs stop working when Goodbye DPI is active.
  8. Issue #556: Nvidia broadcast

    • Priority: Medium
    • Status: Open
    • Created: 18 days ago
    • Update: N/A
    • Details: User reports strange sounds in Discord when using Nvidia Broadcast alongside Goodbye DPI.
  9. Issue #536: Перестали работать любые VPN после первого запуска программы

    • Priority: High
    • Status: Open
    • Created: 22 days ago
    • Update: N/A
    • Details: User reports all VPNs stopped working after first running Goodbye DPI.
  10. Issue #521: GoodbyeDPI support for Turkey

    • Priority: Medium
    • Status: Open
    • Created: 23 days ago
    • Update: 6 days ago
    • Details: Request for support tailored for Turkish users due to increasing censorship.

Important Observations

  • Many users report issues specifically related to YouTube functionality, indicating a potential area of concern for the software's effectiveness against certain types of content filtering.
  • There is a noticeable demand for features such as whitelisting and enhanced DNS handling to improve compatibility with various applications.
  • The interaction between GoodbyeDPI and other software (like VPNs) continues to be a significant topic, suggesting that users are looking for ways to integrate multiple tools effectively.
  • The community appears engaged and proactive in seeking solutions, with many users sharing their configurations and troubleshooting steps in the comments of various issues.
  • The presence of numerous enhancement requests indicates a desire for continuous improvement and adaptation of the tool to meet user needs more effectively.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the GoodbyeDPI project reveals a mix of recent contributions focused on enhancing functionality, improving documentation, and addressing specific technical issues. The repository currently has seven open PRs and a total of 37 closed PRs, indicating ongoing development and community involvement.

Summary of Pull Requests

Open Pull Requests

  • PR #581: Added malloc return check

    • State: Open
    • Created: 11 days ago
    • Significance: Introduces checks for malloc return values to prevent potential crashes due to memory allocation failures. This is a critical enhancement for robustness.
  • PR #580: Added clang-format check action

    • State: Open
    • Created: 11 days ago
    • Significance: Implements a CI action to enforce code formatting, which helps maintain code quality and consistency across contributions.
  • PR #127: For GUI For GoodbyeDPI

    • State: Open
    • Created: 2021 days ago
    • Significance: Aims to improve GUI functionality by ensuring stdout functions are flushed. However, it has faced criticism regarding its implementation approach.
  • PR #490: readme: minor changes + russian version

    • State: Open
    • Created: 27 days ago
    • Significance: Enhances the README with stylistic changes and adds a Russian version, broadening accessibility for non-English speakers.
  • PR #322: TLS/SNI parsing

    • State: Open
    • Created: 311 days ago
    • Significance: Proposes updates to TLS/SNI parsing logic. However, it has faced skepticism regarding its necessity and performance implications.
  • PR #305: Add whitelist option

    • State: Open
    • Created: 482 days ago
    • Significance: Introduces a whitelist feature to bypass modifications for specified hosts, enhancing user control over traffic management.
  • PR #82: Added initial cmake build support

    • State: Open
    • Created: 2293 days ago
    • Significance: Adds CMake support for building the project, which is essential for cross-platform compatibility but has been met with mixed reactions regarding its implementation.

Closed Pull Requests

  • PR #579: Added malloc return check

    • State: Closed (not merged)
    • Notably debated due to differing opinions on handling memory allocation failures; ultimately not accepted.
  • PR #551: add youtubeUnblock link

    • Merged; updates README with additional resources, showing active documentation improvement.
  • Several other PRs focused on minor fixes, documentation updates, and feature enhancements have been merged or closed without acceptance due to various reasons including lack of clarity or relevance.

Analysis of Pull Requests

The current landscape of open pull requests in the GoodbyeDPI repository reflects an active effort by contributors to enhance both functionality and usability. The recent PRs primarily focus on improving code quality through better error handling (e.g., PR #581), enforcing coding standards (e.g., PR #580), and adding features that increase user control (e.g., PR #305).

However, there are notable discrepancies in how contributions are received. For instance, PR #127 has been open for an extended period without resolution, highlighting potential barriers in communication or alignment on implementation strategies. The comments indicate a lack of consensus on the proposed changes, which could hinder progress if not addressed collaboratively. Similarly, PR #322 faced skepticism regarding its necessity despite being technically sound, suggesting that contributors may need to better articulate the benefits of their changes to gain acceptance.

Furthermore, the presence of older PRs like PR #82 indicates that while there is enthusiasm for adding CMake support—a feature that many modern projects require—there's also resistance from maintainers who may prioritize stability and simplicity over new features. This tension between innovation and maintaining a stable codebase is common in open-source projects and can lead to stagnation if not managed effectively.

The closed pull requests also reveal a pattern where minor updates or documentation improvements are more readily accepted compared to significant changes that alter core functionalities or introduce new dependencies. This trend suggests that contributors should focus on incremental improvements rather than sweeping changes unless they can demonstrate clear advantages.

In conclusion, while the GoodbyeDPI project benefits from an engaged community willing to contribute enhancements, there is a need for clearer communication among contributors and maintainers regarding the project's direction and priorities. Addressing these issues could foster a more collaborative environment conducive to innovation while maintaining the project's integrity.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Activities

ValdikSS

  • Recent Activity: 15 commits with 308 changes across 7 files.
  • Notable Contributions:
    • Updated the README.md file multiple times, enhancing documentation.
    • Fixed bugs related to command-line options and functionality in src/goodbyedpi.c.
    • Implemented features such as adding root zones to the blacklist and debugging options.
    • Collaborated with other developers on various pull requests, including merging contributions from EgorWeders and glvoff.

Viktor45

  • Recent Activity: 1 commit with 1 change in README.md.
  • Notable Contributions: Added a link for youtubeUnblock relevant to OpenWRT/Entware routers.

EgorWeders

  • Recent Activity: 4 commits with 71 changes across 2 files.
  • Notable Contributions:
    • Added new command-line arguments and made style fixes in src/goodbyedpi.c.
    • Collaborated with ValdikSS on merging branches and resolving issues.

divinenickname (Alexander Ilinykh)

  • Recent Activity: 1 commit with 4 changes in README.md.
  • Notable Contributions: Corrected URLs in the documentation.

glvoff (Alexander Golovachev)

  • Recent Activity: 1 commit with 30 changes in src/goodbyedpi.c.
  • Notable Contributions: Fixed comment indexes in printf blocks.

Patterns and Themes

  • Active Development: ValdikSS is the primary contributor, showing consistent activity and leadership in the project. The majority of recent commits focus on bug fixes and feature enhancements, indicating a responsive development approach to user feedback and issues.
  • Collaboration: Multiple team members are actively collaborating on features and bug fixes, particularly ValdikSS working closely with EgorWeders and glvoff. This suggests a healthy team dynamic where contributions are welcomed and integrated.
  • Documentation Focus: There is a notable emphasis on updating documentation (README.md), which is crucial for user guidance and project clarity.
  • Feature Expansion: Recent commits reflect ongoing efforts to expand functionality, particularly around DPI circumvention techniques, enhancing the tool's effectiveness against internet censorship.

Conclusion

The development team is actively engaged in improving GoodbyeDPI through collaborative efforts, regular updates, and a focus on both functionality and documentation. ValdikSS leads the charge with significant contributions, while other team members support through targeted enhancements.