github.com/chainreactors/fingers@v1.2.1/resources/embed.go (about)

     1  //go:build !noembed && go1.16
     2  // +build !noembed,go1.16
     3  
     4  package resources
     5  
     6  import (
     7  	_ "embed"
     8  
     9  	"github.com/chainreactors/utils"
    10  	"github.com/chainreactors/utils/encode"
    11  	"gopkg.in/yaml.v3"
    12  )
    13  
    14  //go:embed aliases.yaml
    15  var AliasesData []byte
    16  
    17  //go:embed port.yaml
    18  var PortData []byte // yaml format
    19  
    20  var PrePort *utils.PortPreset
    21  
    22  func LoadPorts() (*utils.PortPreset, error) {
    23  	var ports []*utils.PortConfig
    24  	var err error
    25  	err = yaml.Unmarshal(PortData, &ports)
    26  	if err != nil {
    27  		return nil, err
    28  	}
    29  
    30  	PrePort = utils.NewPortPreset(ports)
    31  	return PrePort, nil
    32  }
    33  
    34  // engine
    35  
    36  var (
    37  	//go:embed goby.json.gz
    38  	GobyData []byte
    39  
    40  	//go:embed fingerprinthub_web.json.gz
    41  	FingerprinthubWebData []byte
    42  
    43  	// xray fingerprints are internal data — not embedded; loaded via Provider.
    44  	XrayWebData []byte
    45  
    46  	//go:embed fingerprinthub_service.json.gz
    47  	FingerprinthubServiceData []byte
    48  
    49  	//go:embed ehole.json.gz
    50  	EholeData []byte
    51  
    52  	//go:embed fingers_http.json.gz
    53  	FingersHTTPData []byte
    54  
    55  	//go:embed fingers_socket.json.gz
    56  	FingersSocketData []byte
    57  
    58  	//go:embed wappalyzer.json.gz
    59  	WappalyzerData []byte
    60  
    61  	//go:embed nmap-service-probes.json.gz
    62  	NmapServiceProbesData []byte
    63  
    64  	//go:embed nmap-services.json.gz
    65  	NmapServicesData []byte
    66  
    67  	CheckSum = map[string]string{
    68  		"goby":                   encode.Md5Hash(GobyData),
    69  		"fingerprinthub_web":     encode.Md5Hash(FingerprinthubWebData),
    70  		"xray_web":              encode.Md5Hash(XrayWebData),
    71  		"fingerprinthub_service": encode.Md5Hash(FingerprinthubServiceData),
    72  		"ehole":                  encode.Md5Hash(EholeData),
    73  		"fingers":                encode.Md5Hash(FingersHTTPData),
    74  		"fingers_socket":         encode.Md5Hash(FingersSocketData),
    75  		"wappalyzer":             encode.Md5Hash(WappalyzerData),
    76  		"nmap":                   encode.Md5Hash(NmapServiceProbesData),
    77  		"nmap_services":          encode.Md5Hash(NmapServicesData),
    78  		"alias":                  encode.Md5Hash(AliasesData),
    79  		"port":                   encode.Md5Hash(PortData),
    80  	}
    81  )