Skip to content
/ fp Public

🚀obtain the client's ja3 fingerprint, http2 fingerprint, and ja4 fingerprint

Notifications You must be signed in to change notification settings

gospider007/fp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

introduce

Help the server obtain the client's Ja3 fingerprint, http2 fingerprint, Ja4 fingerprint, Ja4H fingerprint

features

  • Completely implemented by Golang without external dependencies
  • Automatic certificate, automatic replacement upon expiration
  • Fast integration of all frameworks related to Golang
  • Both http1.1 and http2 are supported

get started

install

go get github.com/gospider007/fp

quick start with gin

package main

import (
	"log"

	"github.com/gin-gonic/gin"
	"github.com/gospider007/fp"
)

func main() {
	handle := gin.Default()
	//fp url in : https://127.0.0.1:8999/
	handle.GET("/", fp.GinHandlerFunc)
	err := fp.Server(nil, handle.Handler(), fp.Option{Addr: ":8999"})
	log.Print(err)
}

browser open fp url display

{
    "akamai_fp": "1:65536,2:0,4:6291456,6:262144|15663105|0|m,a,s,p",
    "http2": {
        "InitialSetting": [
            {
                "Id": 1,
                "Val": 65536
            },
            {
                "Id": 2,
                "Val": 0
            },
            {
                "Id": 4,
                "Val": 6291456
            },
            {
                "Id": 6,
                "Val": 262144
            }
        ],
        "ConnFlow": 15663105,
        "OrderHeaders": [
            ":method",
            ":authority",
            ":scheme",
            ":path",
            "sec-ch-ua",
            "sec-ch-ua-mobile",
            "sec-ch-ua-platform",
            "upgrade-insecure-requests",
            "user-agent",
            "accept",
            "sec-fetch-site",
            "sec-fetch-mode",
            "sec-fetch-user",
            "sec-fetch-dest",
            "accept-encoding",
            "accept-language"
        ],
        "Priority": {
            "StreamDep": 0,
            "Exclusive": true,
            "Weight": 255
        }
    },
    "ja3": "772,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,16-0-5-35-45-27-18-23-17513-51-65281-11-43-10-13-41,12092-29-23-24,0",
    "ja3n": "772,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,,12092-29-23-24,0",
    "ja4": "t13d1516h2_d9e802bd6bed_ea967019fa2a",
    "ja4h": "ge20nn10zhcn_0f5a7a41a252_e3b0c44298fc_e3b0c44298fc",
    "negotiatedProtocol": "h2",
    "orderHeaders": null,
    "tls": {
        "Ciphers": [
            60138,
            4865,
            4866,
            4867,
            49195,
            49199,
            49196,
            49200,
            52393,
            52392,
            49171,
            49172,
            156,
            157,
            47,
            53
        ],
        "Curves": [
            2570,
            12092,
            29,
            23,
            24
        ],
        "Extensions": [
            64250,
            16,
            0,
            5,
            35,
            45,
            27,
            18,
            23,
            17513,
            51,
            65281,
            11,
            43,
            10,
            13,
            10794,
            41
        ],
        "Points": [
            0
        ],
        "Protocols": [
            "h2",
            "http/1.1"
        ],
        "Versions": [
            2570,
            772,
            771
        ],
        "Algorithms": [
            1027,
            2052,
            1025,
            1283,
            2053,
            1281,
            2054,
            1537
        ],
        "RandomTime": "2045-11-20 13:47:01 -0500 EST",
        "RandomBytes": "94032f738ddcb26991ae036c1838f1dc8a79ed5b3fe3efefee89cec7",
        "SessionId": "9b7991ce3fc624e0c91cc15c25f359d1f20307a055df0d5d27a31f98ce4fd74d",
        "CompressionMethods": "00"
    },
    "tlsVersion": 772,
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.61"
}

Contributing

If you have a bug report or feature request, you can open an issue

Contact

If you have questions, feel free to reach out to us in the following ways:

  • QQ Group (Chinese): 939111384 -
  • 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

About

🚀obtain the client's ja3 fingerprint, http2 fingerprint, and ja4 fingerprint

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages