GoodByeDPI

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
GoodByeDPI
DeveloperValdikSS
Initial release2016
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemWindows XP SP3 and later
    LicenseMIT
    Websitegithub.com/ValdikSS/GoodbyeDPI

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal'). GoodByeDPI is a free and open-source software tool for bypassing deep packet inspection (DPI) systems and Internet censorship.[1][2] It was created by Russian developer ValdikSS in 2016 and is distributed under the MIT License via GitHub.[3]

    History

    [edit | edit source]

    GoodByeDPI was first released in 2016 as an experimental tool to study DPI-based filtering in Russia.[4]

    In 2024, the program gained wide popularity after the deliberate throttling of YouTube in Russia. Independent outlets reported it as one of the main tools used to circumvent restrictions.[5][6][7]

    Technical overview

    [edit | edit source]

    GoodByeDPI uses the WinDivert library to intercept and modify network traffic at the Windows driver level.[8] It manipulates packets in ways that make DPI systems unable to properly recognize them, allowing access to blocked resources.[9]

    Main techniques include:

    • fragmentation of TCP packets;
    • modification of HTTP headers;
    • SNI obfuscation in TLS sessions;
    • insertion of non-standard TCP flags.[10]

    Usage

    [edit | edit source]

    The program is distributed as a Windows console utility and configured via command-line parameters. Media reports and users describe it as effective for bypassing YouTube throttling and other restrictions.[6][11]

    GoodByeDPI has also been reported as used to bypass blocking of Telegram, LinkedIn and several foreign media outlets.[12]

    The software is available only on Windows.[13]

    Reception

    [edit | edit source]
    • Meduza reported that the tool helps to bypass YouTube throttling but requires careful setup and may interfere with some services.[14][15]
    • The Insider noted its rising popularity and warned of fake builds spreading online.[4]
    • Research by OONI has cited GoodByeDPI as an example of client-side packet segmentation tools used to evade filtering.[16][17]
    [edit | edit source]

    While direct penalties for end users have not been documented, Russian law empowers Roskomnadzor to block sites distributing circumvention software or instructions, including VPNs and DPI bypass tools.

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Cite error: The named reference medium was invoked but never defined (see the help page).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]