explaingit

jeffwidman/goproxy

Analysis updated 2026-07-12 · repo last pushed 2025-01-27

Audience · developerComplexity · 3/5StaleLicenseSetup · moderate

TLDR

GoProxy is a Go library for building custom web proxy servers that intercept, inspect, and modify HTTPS traffic at three key stages of a request and response cycle.

Mindmap

mindmap
  root((repo))
    What it does
      Intercepts HTTPS traffic
      Modifies requests
      Blocks websites
    How it works
      Hooks at connection setup
      Hooks before requests
      Hooks after responses
    Use cases
      Block sites during work hours
      Inspect traffic for threats
      Add tracking labels
    Tech stack
      Go language
      HTTPS certificate generation
      Custom logging plugins
    Audience
      Security teams
      Companies
      Developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Block access to social media sites during working hours.

USE CASE 2

Inspect web requests for suspicious patterns before they reach an internal server.

USE CASE 3

Add custom tracking labels to every request passing through the proxy.

USE CASE 4

Monitor and log secure HTTPS traffic for security analysis.

What is it built with?

GoHTTPSTLS

How does it compare?

jeffwidman/goproxy0xhassaan/nn-from-scratch0xzgbot/hermes-comfyui-skills
Stars00
LanguagePython
Last pushed2025-01-27
MaintenanceStale
Setup difficultymoderatemoderateeasy
Complexity3/54/51/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires understanding HTTPS certificate generation and configuration to enable man-in-the-middle inspection of secure traffic.

Licensed for commercial use, making it a safe choice for businesses to use in production.

In plain English

GoProxy is a tool for developers who need to build a custom web proxy server using the Go programming language. A proxy acts as a middleman between a user's web browser and the websites they visit. Instead of connecting directly to a website, the browser sends its traffic through the proxy, which can then inspect, modify, or block the data before passing it along. This lets you program exactly how web traffic should be handled. The way it works is by intercepting web requests and responses at three key moments: when a secure connection is being set up, right before a request is sent to its destination, and right after the response comes back. At any of these stages, you can write rules for what the proxy should do. For example, you could add a custom tracking label to every request passing through, or block access to specific websites during certain hours of the day. You can also target specific websites so the proxy only takes action on traffic going to those addresses. This library is designed for developers building tools that need to intercept, monitor, or manipulate web traffic. A practical use case would be a company wanting to block social media sites during working hours, or a security team inspecting web requests for suspicious patterns before they reach an internal server. It supports "man-in-the-middle" inspection of secure HTTPS traffic, meaning it can generate its own certificates to look inside encrypted web traffic and modify it if needed. What makes this project notable is its maturity and trust. It has been around for over a decade, is actively maintained, and is relied upon by major companies including Stripe, Google, and Kubernetes. It is built to handle production-level traffic and is licensed for commercial use, making it a safe choice for businesses. The maintainers also emphasize that it is highly customizable, allowing developers to plug in their own logging tools or custom network settings as needed.

Copy-paste prompts

Prompt 1
Using the GoProxy Go library, write a proxy server that adds a custom tracking header to every outgoing HTTPS request and logs the response status code.
Prompt 2
Using GoProxy, create a Go proxy that blocks all traffic to a list of social media URLs between 9am and 5pm on weekdays.
Prompt 3
Show me how to set up GoProxy to intercept HTTPS traffic by generating its own certificates, and then inspect and log the body of responses from a specific website.
Prompt 4
Using the GoProxy library, write a proxy that detects suspicious patterns in request URLs and blocks the request before it reaches the destination server.

Frequently asked questions

What is goproxy?

GoProxy is a Go library for building custom web proxy servers that intercept, inspect, and modify HTTPS traffic at three key stages of a request and response cycle.

Is goproxy actively maintained?

Stale — no commits in 1-2 years (last push 2025-01-27).

What license does goproxy use?

Licensed for commercial use, making it a safe choice for businesses to use in production.

How hard is goproxy to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is goproxy for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.