# fingerproxy **Repository Path**: gospider007/fingerproxy ## Basic Information - **Project Name**: fingerproxy - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-02 - **Last Updated**: 2025-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

A crawler-focused forward proxy with fingerprint spoofing

---

Fingerproxy is a fully featured Golang-based forward proxy app with browser fingerprint spoofing. With just a few lines of code, you can enable powerful fingerprint proxy capabilities. It provides unified support for HTTP/1, HTTP/2, WebSockets protocols.

## The fingerprints used in the project are generated from: [fp](https://github.com/gospider007/fp) # features * True forward proxy transmission, implemented no differently from an IP proxy server * Simultaneous support for HTTP, HTTPS, and SOCKS5 proxy protocols on the same port * Automatic upgrade to HTTP/2 * Simulate TLS fingerprints, HTTP/2 fingerprints, and Order headers fingerprints * Parameter configuration via request headers, such as fingerprint settings and proxy settings * TCP stream compression, supporting zstd, br, gzip, deflate, snappy, minlz, and other algorithms to reduce bandwidth usage * Request body compression, enforcing server support for zstd, br, gzip, deflate, and other compressed responses to reduce bandwidth usage # Fingerproxy CLI Usage
| Flag | Description | | ------------------------ | -------------------------------------- | | `-mimt-root-cert string` | Path to the MITM root certificate file | | `-mimt-root-key string` | Path to the MITM root key file |
# headers key table
| headers key |headers value | | --- | --- | | `Gospider007-Fingerproxy-Spec` | Browser fingerprint with [fp](https://github.com/gospider007/fp) | | `Gospider007-Fingerproxy-Proxy` | IP Proxy | | `Gospider007-Fingerproxy-SpecId` | Fingerprint configuration | | `Gospider007-Fingerproxy-ForceHttp1` | Force HTTP/1 protocol | | `Gospider007-Fingerproxy-ForceHttp3` | Force HTTP/3 protocol |
## Gospider007-Fingerproxy-SpecId
| Gospider007-Fingerproxy-SpecId | Browser | Platform | | --- | --- | --- | | Chrome_Mac_arm64_137 | Chrome | Mac | | Firefox_Mac_arm64_140 | Firefox | Mac | | Safari_Mac_arm64_18 | Safari | Mac |
# quick start ## Installation ### github ```bash pip install --force-reinstall git+https://github.com/gospider007/fingerproxy.git ``` ### gitee ```bash pip install --force-reinstall git+https://gitee.com/gospider007/fingerproxy.git ``` ## Run FingerProxy ``` fingerproxy ``` ## Stop FingerProxy ``` fingerproxy_stop ``` ## Example Output: ``` listening on: 127.0.0.1:8080 ``` ## Uninstall ```bash pip uninstall fingerproxy ``` # Once the server is running on http://127.0.0.1:8080, you can make requests using any HTTP client: ### curl ```bash curl -k "https://tools.scrapfly.io/api/fp/anything" \ -x "http://127.0.0.1:8080" \ -H "Gospider007-Fingerproxy-SpecId: Chrome_Mac_arm64_137" ``` ### python ```python import requests proxies = { 'http': 'http://127.0.0.1:8080', 'https': 'http://127.0.0.1:8080', } headers = { 'Gospider007-Fingerproxy-SpecId': 'Chrome_Mac_arm64_137', } response = requests.get('https://tools.scrapfly.io/api/fp/anything', headers=headers, proxies=proxies, verify=False) print(response.text) ``` ### golang ```go package main import ( "crypto/tls" "fmt" "io" "log" "net/http" "net/url" ) func main() { req, _ := http.NewRequest("GET", "https://tools.scrapfly.io/api/fp/anything", nil) req.Header.Set("Gospider007-Fingerproxy-SpecId", "Chrome_Mac_arm64_137") resp, err := (&http.Client{Transport: &http.Transport{ Proxy: func(r *http.Request) (*url.URL, error) { return url.Parse("http://127.0.0.1:8080") }, TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, }}).Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close() bodyText, err := io.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Printf("%s\n", bodyText) } ``` ### nodejs ```js import axios from 'axios'; const response = await axios.get('https://tools.scrapfly.io/api/fp/anything', { headers: { 'Gospider007-Fingerproxy-SpecId': 'Chrome_Mac_arm64_137' }, proxy: { protocol: 'http', host: '127.0.0.1', port: 8080 } }); console.log(response.data) ``` ### php ```php * WeChat (Chinese): gospider007 ## Sponsors If you like and it really helps you, feel free to reward me with a cup of coffee, and don't forget to mention your github id.

Wechat

Alipay
## License This project is licensed under the Mozilla Public License 2.0 (MPL-2.0) with additional author attribution requirements. See the [LICENSE](./LICENSE) file for details.