Portsicle is a lightweight and flexible HTTP/HTTPS forward proxy server implemented in Go.
The Toolkit builds on top of the core Portsicle server to provide additional features to enhance its functionality.
-
Install the provided binary from latest release.
-
Give executeable permission to the binary
chmod +x ./portsicle-proxy. -
Use the CLI to run the server locally:
portsicle-proxy run -p 8888- Use help to know more:
portsicle-proxy --help
Allows HTTP/HTTPS transparent proxying on your machine.
Usage:
portsicle-proxy [command]
Available Commands:
help Help about any command
run Runs the proxy server
Use "portsicle-proxy [command] --help" for more information about a command.
- Run the executable binary with appropriate flags.
- Add
http://127.0.0.1and the port specified you've specified on your system's proxy configuration for both HTTP and HTTPS Proxy. - Make sure
127.0.0.1is not listed in your machine's Ignored Hosts list.
-
Site Blocking:
Blocks your access to the sites you add in your block list.
Creates a sqlite database file
blocked_domains.dbin your directory to store your blocked domains.- Add a site to blocklist:
portsicle-proxy block --add https://example.com # or portsicle-proxy block --add someexample.com # or portsicle-proxy block -a other.example.com- Remove a site from blocklist:
portsicle-proxy block --remove https://example.com # or portsicle-proxy block -r someexample.com
- Caching and Offline Browsing Mode.
-
Proxying HTTPS Traffic: The proxy listens for
CONNECTrequests and establishes a TCP tunnel to the target server. Once the tunnel is established, it enables bidirectional data transfer between the client and the destination. -
Request Handling: Hijacks HTTP connections to bypass
HTTP/1.1handling and directly interact with TCP sockets. Provides HTTP 200 response upon successful tunnel establishment.
Contributions are welcome! Feel free to open issues, submit pull requests, or suggest new features.