{"id":20156577,"url":"https://github.com/krlvm/powertunnel","last_synced_at":"2025-05-16T07:05:17.547Z","repository":{"id":35422041,"uuid":"217614897","full_name":"krlvm/PowerTunnel","owner":"krlvm","description":"Powerful and extensible proxy server with anti-censorship functionality","archived":false,"fork":false,"pushed_at":"2023-09-06T22:37:27.000Z","size":5806,"stargazers_count":1310,"open_issues_count":25,"forks_count":88,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-04-08T16:09:06.214Z","etag":null,"topics":["anti-censorship","anticensorship","censorship-circumvention","deep-packet-inspection","dpi","dpi-filtering","government-censorship","proxy"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krlvm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-10-25T21:08:09.000Z","updated_at":"2025-04-07T21:56:13.000Z","dependencies_parsed_at":"2024-01-13T22:24:47.571Z","dependency_job_id":"1a3c29d6-1519-4c13-98ab-46b54b2df24b","html_url":"https://github.com/krlvm/PowerTunnel","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlvm%2FPowerTunnel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlvm%2FPowerTunnel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlvm%2FPowerTunnel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlvm%2FPowerTunnel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krlvm","download_url":"https://codeload.github.com/krlvm/PowerTunnel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254485057,"owners_count":22078767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anti-censorship","anticensorship","censorship-circumvention","deep-packet-inspection","dpi","dpi-filtering","government-censorship","proxy"],"created_at":"2024-11-13T23:39:20.933Z","updated_at":"2025-05-16T07:05:17.527Z","avatar_url":"https://github.com/krlvm.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/krlvm/PowerTunnel/master/.github/images/logo.png\" height=\"192px\" width=\"192px\" /\u003e\n\u003cbr\u003e\u003ch1\u003ePowerTunnel\u003c/h1\u003e\nPowerful and extensible proxy server\n\n\u003ca href=\"https://t.me/powertunnel_dpi\"\u003eTelegram channel\u003c/a\u003e\n\u003cbr\u003e\n\u003ca href=\"https://github.com/krlvm/PowerTunnel-Android\"\u003eCheck out the Android version!\u003ca/\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003ca href=\"https://github.com/krlvm/PowerTunnel/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/krlvm/PowerTunnel?style=flat-square\" alt=\"License\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/krlvm/PowerTunnel/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/krlvm/PowerTunnel?style=flat-square\" alt=\"Latest release\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/krlvm/PowerTunnel/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/krlvm/PowerTunnel/total?style=flat-square\" alt=\"Downloads\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/krlvm/PowerTunnel/wiki\"\u003e\u003cimg src=\"https://img.shields.io/badge/help-wiki-yellow?style=flat-square\" alt=\"Help on the Wiki\"/\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/krlvm/PowerTunnel/master/.github/images/ui.png\" alt=\"PowerTunnel User Interface\" style=\"max-width: 90%; height: auto\"/\u003e\n\u003c/div\u003e\n\n## What is it\n\nPowerTunnel is an extensible proxy server built on top of [LittleProxy](https://github.com/adamfisk/LittleProxy).\n\nPowerTunnel provides an SDK that allows you to extend its functionality however you like, and even handle encrypted HTTPS traffic (powered by [LittleProxy-MITM](https://github.com/ganskef/LittleProxy-mitm)), which can be especially useful in web development. PowerTunnel has an Android version, so any plugin you write can work on almost all devices.\n\n\nPowerTunnel was originally developed and is best known as a censorship bypass tool. This functionality has been spun off in the [LibertyTunnel](https://github.com/krlvm/LibertyTunnel) plugin which is installed by default, just like [DNS Resolver](https://github.com/krlvm/PowerTunnel-DNS) with DNS over HTTPS support.\n\n#### Anti-censorship tool\n\nDigital censorship has become widespread in authoritarian and developing countries: governments install DPI - Deep Packet Inspection systems - for Internet Service Providers, which allows analyzing and blocking traffic to websites they don't want you to see, forcing you to use slow and often paid proxies or VPN services with dubious privacy policy.\n\nPowerTunnel is an active DPI circumvention utility - it works only on your PC and do not route your traffic through some third-party webservers. It creates a local proxy server on your device and diverts your HTTP(S) traffic there, where PowerTunnel modifies your traffic in a special way to exploit bugs in DPI systems which makes it possible to bypass the lock - without (significantly) slowing down your Internet connection.\n\nAnti-censorship module can be configured in Plugins window - it is called LibertyTunnel.\n\nIn this sense, PowerTunnel is a free cross-platform implementation of [GoodbyeDPI](https://github.com/ValdikSS/GoodbyeDPI) written in Java.\n\nPlease, note that PowerTunnel does not change your IP address.\n\n## Configuring\n\n### Downloading PowerTunnel\n\nPowerTunnel binary can be downloaded from the [Releases](https://github.com/krlvm/PowerTunnel/releases) page.\n\nIf you don't trust the prebuilt binaries, you can build PowerTunnel from source - it is using Gradle build system.\n\n### Launching PowerTunnel\n\nPowerTunnel is a portable Java application, and it does not require additional steps to get it working.\n\nYou need to install [Java](https://java.com) to run PowerTunnel.\n\nPowerTunnel can be started by double-clicking the executable .jar file or by starting it from command line ([see below](#launch-arguments)).\n\nAfter the first launch, PowerTunnel will create directories for storing plugins and configuration files. \n\n### Installing plugins\n\nTo install a plugin, just place its .jar file into `plugins` directory.\n\nPlease, make sure you do not have installed different versions of the same plugin.\n\n### Configuring plugins\n\nInstalled plugins can be configured from the user interface - click the \"Plugins\" button of main window to see the list of plugins.\n\n## Launch arguments\nYou can specify some params that will override settings through CLI:\n\n```\n$ java -jar PowerTunnel.jar -help\n\n    --help                            display help\n    --start                           start proxy server after load\n    --console                         run application in console mode\n    --ip \u003carg\u003e                        set proxy server IP address\n    --port \u003carg\u003e                      set proxy server port\n    --auth-username \u003carg\u003e             set proxy authorization username\n    --auth-password \u003carg\u003e             set proxy authorization password\n    --upstream-proxy-host \u003carg\u003e       set upstream proxy host\n    --upstream-proxy-port \u003carg\u003e       set upstream proxy port\n    --upstream-auth-password \u003carg\u003e    set upstream proxy password\n    --upstream-auth-username \u003carg\u003e    set upstream proxy username\n    --upstream-proxy-protocol \u003carg\u003e   set upstream proxy protocol [HTTP/SOCKS4/SOCKS5]\n    --minimized                       minimize UI to tray after start\n    --set-ui-scale-factor \u003carg\u003e       set UI scale factor\n    --auto-proxy-setup-ie             setup proxy using Internet Explorer [Windows]\n    --disable-auto-proxy-setup        disable auto proxy setup\n    --disable-native-skin             disable platform native UI skin\n    --disable-tray                    disable tray mode\n    --disable-ui-scaling              disable UI scaling\n    --disable-updater                 disable Update Notifier\n    --enable-logging                  enable logging to file\n    --lang \u003carg\u003e                      set UI language\n    --cfg \u003carg\u003e                       set preference value\n    --version                         print version details\n```\n\nIf you need to set a certain plugin preference, use `-cfg pluginID.preferenceKey [value]`\n\n## Bundled Plugins\n* [LibertyTunnel](https://github.com/krlvm/LibertyTunnel) - anti-censorship plugin for PowerTunnel\n* [DNS Resolver](https://github.com/krlvm/PowerTunnel-DNS) - DNS Resolver with DNS over HTTPS (DoH) support\n\n## Dependencies\n* [LittleProxy](https://github.com/adamfisk/LittleProxy) - proxy server, [forked version](https://github.com/LittleProxy/LittleProxy)\n* [LittleProxy-MITM](https://github.com/ganskef/LittleProxy-mitm) - LittleProxy SSL extension\n* [dnsjava](https://github.com/dnsjava/dnsjava) - DNS and DoH library\n* [dnssecjava](https://github.com/ibauersachs/dnssecjava) - DNSSec implementation for dnsjava\n* [SLF4J](http://www.slf4j.org/) - logging facade API\n* [Log4j](https://logging.apache.org/log4j/2.x/) - logger implementation\n* [Java Native Access](https://github.com/java-native-access/jna) - accessing system native API\n* [SwingDPI](https://github.com/krlvm/SwingDPI) - High DPI scaling","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrlvm%2Fpowertunnel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrlvm%2Fpowertunnel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrlvm%2Fpowertunnel/lists"}