This repository is `imroc/req`, a feature-rich, production-grade HTTP client library for Go (version 3). It provides a high-level fluent API for building and executing HTTP requests with support for HTTP/1.1, HTTP/2, and HTTP/3 (via QUIC). Key capabilities include connection pooling, automatic retries with configurable backoff, redirect policies, request/response middleware, TLS fingerprint impersonation (mimicking Chrome, Firefox, Safari), SOCKS4/4a/5 proxying, compression (gzip, deflate, brotli, zstd), response body auto-decode (charset detection), file upload/download with progress callbacks, parallel downloading, and extensive debugging via request/response dump and trace. The library is built on top of Go's `net/http` transport but extends it significantly with custom implementations for HTTP/2 frames, HTTP/3, and SOCKS. It is designed for both simple API calls and complex integrations, as demonstrated by included examples for OpenTelemetry tracing and GitHub API usage. The codebase is well-tested and actively maintained, targeting recent Go versions (1.25+). While primarily an HTTP client library, it includes self-contained utility packages for charset detection, SOCKS proxy, and compression that could be reused independently.
The Global Socket Toolkit (gsocket) is a secure networking utility suite that enables TCP connections across NATs and firewalls without requiring any inbound ports. It achieves this by relaying traffic through a free cloud-based relay network (GSRN) and encrypting the session end-to-end using SRP (RFC 5054) with AES-256 and a 4096-bit prime. The project provides a core library (`libgsocket`) that abstracts the relay protocol, and several command-line tools: `gs-netcat` (a netcat-like tool for data transfer, reverse shells, port forwarding, and SOCKS proxies), `gs-sftp` (SFTP through the relay), `gs-mount` (sshfs mounting), and `blitz` (bulk file transfer). It also includes a `LD_PRELOAD`-based interposition library (`gsocket_dso`) that can transparently redirect existing network applications through the relay. The architecture is client-server with a relay network; the client establishes a connection to the relay using a shared secret token, and the server connects to the same token, allowing the relay to bridge the two. The codebase is written in C and Bash, with autotools build system, extensive cross-platform support (Linux, macOS, FreeBSD, OpenBSD, Solaris, Cygwin, OpenWRT), and CI/CD pipelines for publishing static binaries. It is a dual-use tool: it can be used for legitimate remote administration, secure file transfer, and privacy, but also includes documented patterns for hidden reverse shells and persistence, which introduces security and maintenance risks.