Top Related Projects
GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)
Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
DPI bypass multi platform
Quick Overview
PowerTunnel is an open-source proxy server that allows users to bypass internet censorship and access blocked websites. It is designed to be easy to use and configure, and supports a variety of protocols and platforms.
Pros
- Bypass Censorship: PowerTunnel enables users to access websites and online services that may be blocked or restricted by their internet service provider or government.
- Cross-Platform Compatibility: The project supports multiple platforms, including Windows, macOS, and Linux, making it accessible to a wide range of users.
- Variety of Protocols: PowerTunnel supports various proxy protocols, including SOCKS5, HTTP, and Shadowsocks, allowing users to choose the best option for their needs.
- Open-Source: As an open-source project, PowerTunnel benefits from community contributions and transparency, ensuring ongoing development and improvements.
Cons
- Potential Legal Issues: Depending on the user's location and the specific websites or services being accessed, the use of PowerTunnel may be subject to legal restrictions or consequences.
- Performance Limitations: Like any proxy service, PowerTunnel may introduce some latency or performance degradation, which could impact the user's online experience.
- Complexity for Non-Technical Users: While the project aims to be user-friendly, some aspects of configuration and setup may be more challenging for users with limited technical expertise.
- Reliance on Third-Party Servers: PowerTunnel relies on third-party proxy servers, which could potentially be subject to downtime, censorship, or other issues beyond the project's control.
Getting Started
To get started with PowerTunnel, follow these steps:
- Download the appropriate version of PowerTunnel for your operating system from the GitHub repository.
- Extract the downloaded archive and run the PowerTunnel executable.
- In the PowerTunnel interface, select the desired proxy protocol (e.g., SOCKS5, HTTP, Shadowsocks) and enter the necessary connection details (server address, port, username, and password).
- Click the "Start" button to begin using the proxy.
- Configure your web browser or other applications to use the PowerTunnel proxy settings.
For more detailed instructions and configuration options, please refer to the PowerTunnel documentation.
Competitor Comparisons
GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)
Pros of GoodbyeDPI
- Supports a wider range of protocols, including HTTP, HTTPS, and DNS
- Provides more advanced features like URL filtering and IP blocking
- Offers a user-friendly graphical interface for easier configuration
Cons of GoodbyeDPI
- Requires more system resources compared to PowerTunnel
- May be less effective in certain network environments or with specific DPI techniques
- Lacks the portability and cross-platform support of PowerTunnel
Code Comparison
PowerTunnel (krlvm/PowerTunnel):
public static void Main(string[] args)
{
using (var server = new TunnelServer())
{
server.Start();
Console.ReadLine();
server.Stop();
}
}
GoodbyeDPI (ValdikSS/GoodbyeDPI):
def main():
parser = argparse.ArgumentParser(description='GoodbyeDPI')
parser.add_argument('--mode', default='http', choices=['http', 'dns'])
parser.add_argument('--host', default='0.0.0.0')
parser.add_argument('--port', default=8080, type=int)
args = parser.parse_args()
if args.mode == 'http':
run_http_server(args.host, args.port)
elif args.mode == 'dns':
run_dns_server(args.host, args.port)
Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
Pros of BlockCheck
- BlockCheck is a lightweight and efficient tool for checking if a website or IP address is blocked.
- It supports multiple protocols, including HTTP, HTTPS, and DNS, allowing for comprehensive testing.
- BlockCheck provides detailed output, including response times and error messages, which can be useful for troubleshooting.
Cons of BlockCheck
- BlockCheck is a command-line tool, which may not be as user-friendly as a graphical interface for some users.
- The project has fewer contributors and less active development compared to PowerTunnel.
Code Comparison
PowerTunnel:
public static void Main(string[] args)
{
try
{
var config = new Config();
config.Load();
var app = new App(config);
app.Run();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
BlockCheck:
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="BlockCheck - Check if a website or IP is blocked")
parser.add_argument("target", help="Website or IP address to check")
parser.add_argument("-p", "--protocol", default="http", choices=["http", "https", "dns"], help="Protocol to use for the check")
parser.add_argument("-t", "--timeout", type=int, default=10, help="Timeout for the check in seconds")
args = parser.parse_args()
check_target(args.target, args.protocol, args.timeout)
DPI bypass multi platform
Pros of Zapret
- Zapret provides a user-friendly graphical interface, making it more accessible for non-technical users.
- The project is actively maintained, with regular updates and bug fixes.
- Zapret supports a wide range of platforms, including Windows, macOS, and Linux.
Cons of Zapret
- Zapret may have a larger attack surface due to its more complex codebase and additional features.
- The project's reliance on external dependencies, such as OpenVPN, could introduce potential security vulnerabilities.
- Zapret may have a higher resource footprint compared to PowerTunnel, which is a more lightweight solution.
Code Comparison
PowerTunnel:
public static void Main(string[] args)
{
var app = new App();
app.Run();
}
Zapret:
if __name__ == "__main__":
main()
Both code snippets represent the entry point of the respective applications, but they use different programming languages (C# for PowerTunnel and Python for Zapret).
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
What is it
PowerTunnel is an extensible proxy server built on top of LittleProxy.
PowerTunnel provides an SDK that allows you to extend its functionality however you like, and even handle encrypted HTTPS traffic (powered by 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.
PowerTunnel was originally developed and is best known as a censorship bypass tool. This functionality has been spun off in the LibertyTunnel plugin which is installed by default, just like DNS Resolver with DNS over HTTPS support.
Anti-censorship tool
Digital 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.
PowerTunnel 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.
Anti-censorship module can be configured in Plugins window - it is called LibertyTunnel.
In this sense, PowerTunnel is a free cross-platform implementation of GoodbyeDPI written in Java.
Please, note that PowerTunnel does not change your IP address.
Configuring
Downloading PowerTunnel
PowerTunnel binary can be downloaded from the Releases page.
If you don't trust the prebuilt binaries, you can build PowerTunnel from source - it is using Gradle build system.
Launching PowerTunnel
PowerTunnel is a portable Java application, and it does not require additional steps to get it working.
You need to install Java to run PowerTunnel.
PowerTunnel can be started by double-clicking the executable .jar file or by starting it from command line (see below).
After the first launch, PowerTunnel will create directories for storing plugins and configuration files.
Installing plugins
To install a plugin, just place its .jar file into plugins
directory.
Please, make sure you do not have installed different versions of the same plugin.
Configuring plugins
Installed plugins can be configured from the user interface - click the "Plugins" button of main window to see the list of plugins.
Launch arguments
You can specify some params that will override settings through CLI:
$ java -jar PowerTunnel.jar -help
--help display help
--start start proxy server after load
--console run application in console mode
--ip <arg> set proxy server IP address
--port <arg> set proxy server port
--auth-username <arg> set proxy authorization username
--auth-password <arg> set proxy authorization password
--upstream-proxy-host <arg> set upstream proxy host
--upstream-proxy-port <arg> set upstream proxy port
--upstream-auth-password <arg> set upstream proxy password
--upstream-auth-username <arg> set upstream proxy username
--upstream-proxy-protocol <arg> set upstream proxy protocol [HTTP/SOCKS4/SOCKS5]
--minimized minimize UI to tray after start
--set-ui-scale-factor <arg> set UI scale factor
--auto-proxy-setup-ie setup proxy using Internet Explorer [Windows]
--disable-auto-proxy-setup disable auto proxy setup
--disable-native-skin disable platform native UI skin
--disable-tray disable tray mode
--disable-ui-scaling disable UI scaling
--disable-updater disable Update Notifier
--enable-logging enable logging to file
--lang <arg> set UI language
--cfg <arg> set preference value
--version print version details
If you need to set a certain plugin preference, use -cfg pluginID.preferenceKey [value]
Bundled Plugins
- LibertyTunnel - anti-censorship plugin for PowerTunnel
- DNS Resolver - DNS Resolver with DNS over HTTPS (DoH) support
Dependencies
- LittleProxy - proxy server, forked version
- LittleProxy-MITM - LittleProxy SSL extension
- dnsjava - DNS and DoH library
- dnssecjava - DNSSec implementation for dnsjava
- SLF4J - logging facade API
- Log4j - logger implementation
- Java Native Access - accessing system native API
- SwingDPI - High DPI scaling
Top Related Projects
GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)
Russian ISP blocking type checker NOTE: NOT WORKING CURRENTLY. ВНИМАНИЕ: НЕ РАБОТАЕТ НА ТЕКУЩИЙ МОМЕНТ
DPI bypass multi platform
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot