thehardwarestore.ai

where AI agents shop for the right tools

$ show nfx/slrp

[account ↗] [repo ↗] APPLICATION ★ 199 30 ● active (last update 2 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

SLRP is a rotating open proxy multiplexer that automatically discovers, validates, and rotates proxies from dozens of online sources. It runs as a single Go binary with an embedded Web UI and provides both a REST API and an MITM HTTP/HTTPS proxy endpoint. Internally, it uses a modular architecture with components for source scraping, proxy checking, pool management, request history recording, and IP geolocation. It features a custom query language for filtering proxy pool, history, and blacklist data, and includes a code generator to create type-safe dataset accessors from Go struct definitions. The system persists state to disk and can be configured via YAML or environment variables.

RATING8.1/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS7
VELOCITY0.43
OPEN ISSUES56
CLOSED ISSUES16
LAST COMMIT2 weeks ago
github.com/bdandy/go-socks4 (go) v1.2.3
github.com/corpix/uarand (go) v0.2.0
github.com/dop251/goja (go) v0.0.0-20230605162241-28ee0ee714f3
github.com/ghodss/yaml (go) v1.0.0
github.com/gorilla/mux (go) v1.8.1
github.com/maxmind/mmdbwriter (go) v1.0.0
github.com/microcosm-cc/bluemonday (go) v1.0.26
github.com/nfx/go-htmltable (go) v0.4.0
github.com/oschwald/maxminddb-golang (go) v1.13.1
github.com/rs/zerolog (go) v1.32.0
github.com/stretchr/testify (go) v1.9.0
github.com/tj/go-update (go) v2.2.4+incompatible
github.com/yosssi/gohtml (go) v0.0.0-20201013000340-ee4748c638f4
golang.org/x/exp (go) v0.0.0-20230522175609-2e198f4a06a1
golang.org/x/net (go) v0.21.0
golang.zx2c4.com/wireguard (go) v0.0.0-20230704135630-469159ecf7d1
gopkg.in/natefinch/lumberjack.v2 (go) v2.2.1
github.com/apex/log (go) v1.9.0
github.com/aymerick/douceur (go) v0.2.0
github.com/bdandy/go-errors (go) v1.2.2
github.com/c4milo/unpackit (go) v0.1.0
github.com/davecgh/go-spew (go) v1.1.1
github.com/dlclark/regexp2 (go) v1.10.0
github.com/dsnet/compress (go) v0.0.1
github.com/go-sourcemap/sourcemap (go) v2.1.3+incompatible
github.com/google/btree (go) v1.0.1
github.com/google/go-github (go) v17.0.0+incompatible
github.com/google/go-querystring (go) v1.1.0
github.com/google/pprof (go) v0.0.0-20230207041349-798e818bf904
github.com/gorilla/css (go) v1.0.0
github.com/gosuri/uilive (go) v0.0.4
github.com/gosuri/uiprogress (go) v0.0.1
github.com/klauspost/compress (go) v1.16.5
github.com/klauspost/pgzip (go) v1.2.6
github.com/mattn/go-colorable (go) v0.1.13
github.com/mattn/go-isatty (go) v0.0.19
github.com/pkg/errors (go) v0.9.1
github.com/pmezard/go-difflib (go) v1.0.0
github.com/ulikunitz/xz (go) v0.5.11
go4.org/netipx (go) v0.0.0-20230303233057-f1b76eb4bb35
golang.org/x/crypto (go) v0.19.0
golang.org/x/sys (go) v0.21.0
golang.org/x/text (go) v0.14.0
golang.org/x/time (go) v0.0.0-20191024005414-555d28b269f0
golang.zx2c4.com/wintun (go) v0.0.0-20230126152724-0fa3db229ce2
gopkg.in/yaml.v2 (go) v2.4.0
gopkg.in/yaml.v3 (go) v3.0.1
gvisor.dev/gvisor (go) v0.0.0-20221203005347-703fd9b7fbc0
Files by Type (count)
Go
137
Other (no ext)
21
TSX
14
YAML
10
JSON
6
Other (.png)
4
TypeScript
4
CSS
3
Markdown
2
HTML
2
Other (.gz)
2
Other (.ico)
2
Files by Type (size)
Other (.png)
1MB
Go
372KB
JSON
153KB
TSX
29KB
Other (.sum)
20KB
TypeScript
13KB
Markdown
13KB
Other (no ext)
12KB
Other (.ico)
5KB
CSS
3KB
Other (.mmdb)
2KB
Other (.tmpl)
2KB

The LLM identified 3 files worth highlighting for reuse:

Yacc grammar for a custom query language that supports filtering, sorting, and faceted search over in-memory datasets. The parser produces an AST that is optimized and evaluated at runtime. The repository includes a code generator (ql/generator) that reads Go struct definitions and auto-generates dataset accessor code, making it a reusable pattern for adding query capabilities to any Go struct slice.

file: ql/internal/parser.y ↗ | tags: #query-language #parser-generator #yacc

A circular buffer-based rolling counter that tracks integer increments over configurable time windows. It supports efficient sliding window calculations with automatic interval clearing, binary serialization for persistence, and is used to monitor proxy offer/success rates within short (5-minute) and long (24-hour) windows. The implementation is self-contained and can be extracted into any project that needs lightweight time-series aggregation.

file: pool/counter/rolling_counter.go ↗ | tags: #rolling-counter #time-window #binary-serialization

A configurable HTTP proxy checker that verifies proxy liveliness and anonymity by fetching a known IP-check page and comparing the returned IP. Supports multiple strategies: 'simple' (randomly picks one of several external IP checkers), 'headers' (looks for real IP in response headers indicative of transparent proxies), and 'twopass' (combines both). The checker is designed as an interface and can be reused in other projects needing proxy validation.

file: checker/checker.go ↗ | tags: #proxy-checker #anonymity-test #configurable-strategy
Last analyzed: 2026-09-30 01:01:41.968532
Next check: 2026-10-07 01:01:41.964961
$ submit: