mirror of
https://github.com/v2fly/domain-list-community.git
synced 2025-12-21 18:07:20 +07:00
Compare commits
2 Commits
2025121616
...
2025121617
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4da81130d | ||
|
|
4d45b17cd8 |
8
go.mod
8
go.mod
@@ -1,14 +1,14 @@
|
|||||||
module github.com/v2fly/domain-list-community
|
module github.com/v2fly/domain-list-community
|
||||||
|
|
||||||
go 1.24
|
go 1.24.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/v2fly/v2ray-core/v5 v5.38.0
|
github.com/v2fly/v2ray-core/v5 v5.42.0
|
||||||
google.golang.org/protobuf v1.36.8
|
google.golang.org/protobuf v1.36.11
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/adrg/xdg v0.5.3 // indirect
|
github.com/adrg/xdg v0.5.3 // indirect
|
||||||
github.com/golang/protobuf v1.5.4 // indirect
|
github.com/golang/protobuf v1.5.4 // indirect
|
||||||
golang.org/x/sys v0.34.0 // indirect
|
golang.org/x/sys v0.38.0 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
16
go.sum
16
go.sum
@@ -8,13 +8,13 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
|||||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||||
github.com/v2fly/v2ray-core/v5 v5.38.0 h1:DjpBP9dyzpFfCNGg+C6FnEkFDT3pfe29I0leYtNbKNY=
|
github.com/v2fly/v2ray-core/v5 v5.42.0 h1:lyJrN3BDmu7lnVeMIlonAct8TSSHpIrNYP6/uYAbIBk=
|
||||||
github.com/v2fly/v2ray-core/v5 v5.38.0/go.mod h1:PHM3drDx9mbme6xE8fRZT979wNPHWCbCIPreAIqxqUw=
|
github.com/v2fly/v2ray-core/v5 v5.42.0/go.mod h1:TyECxvulzqeaiFK14qNwhcoYOGnVmBkAj3Bs2MkVrNU=
|
||||||
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
|
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||||
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||||
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
|
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
|
||||||
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
|
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
|||||||
15
main.go
15
main.go
@@ -2,7 +2,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"errors"
|
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
@@ -107,7 +106,7 @@ func (l *ParsedList) toProto() (*router.GeoSite, error) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return nil, errors.New("unknown domain type: " + entry.Type)
|
return nil, fmt.Errorf("unknown domain type: %s", entry.Type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return site, nil
|
return site, nil
|
||||||
@@ -153,13 +152,13 @@ func parseDomain(domain string, entry *Entry) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return errors.New("Invalid format: " + domain)
|
return fmt.Errorf("invalid format: %s", domain)
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseAttribute(attr string) (*router.Domain_Attribute, error) {
|
func parseAttribute(attr string) (*router.Domain_Attribute, error) {
|
||||||
var attribute router.Domain_Attribute
|
var attribute router.Domain_Attribute
|
||||||
if len(attr) == 0 || attr[0] != '@' {
|
if len(attr) == 0 || attr[0] != '@' {
|
||||||
return &attribute, errors.New("invalid attribute: " + attr)
|
return &attribute, fmt.Errorf("invalid attribute: %s", attr)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Trim attribute prefix `@` character
|
// Trim attribute prefix `@` character
|
||||||
@@ -172,7 +171,7 @@ func parseAttribute(attr string) (*router.Domain_Attribute, error) {
|
|||||||
attribute.Key = strings.ToLower(parts[0])
|
attribute.Key = strings.ToLower(parts[0])
|
||||||
intv, err := strconv.Atoi(parts[1])
|
intv, err := strconv.Atoi(parts[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &attribute, errors.New("invalid attribute: " + attr + ": " + err.Error())
|
return &attribute, fmt.Errorf("invalid attribute: %s: %v", attr, err)
|
||||||
}
|
}
|
||||||
attribute.TypedValue = &router.Domain_Attribute_IntValue{IntValue: int64(intv)}
|
attribute.TypedValue = &router.Domain_Attribute_IntValue{IntValue: int64(intv)}
|
||||||
}
|
}
|
||||||
@@ -185,7 +184,7 @@ func parseEntry(line string) (Entry, error) {
|
|||||||
|
|
||||||
var entry Entry
|
var entry Entry
|
||||||
if len(parts) == 0 {
|
if len(parts) == 0 {
|
||||||
return entry, errors.New("empty entry")
|
return entry, fmt.Errorf("empty entry")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := parseDomain(parts[0], &entry); err != nil {
|
if err := parseDomain(parts[0], &entry); err != nil {
|
||||||
@@ -291,7 +290,7 @@ func ParseList(list *List, ref map[string]*List) (*ParsedList, error) {
|
|||||||
|
|
||||||
refList := ref[refName]
|
refList := ref[refName]
|
||||||
if refList == nil {
|
if refList == nil {
|
||||||
return nil, errors.New(entry.Value + " not found.")
|
return nil, fmt.Errorf("list not found: %s", entry.Value)
|
||||||
}
|
}
|
||||||
attrEntrys := createIncludeAttrEntrys(refList, attr)
|
attrEntrys := createIncludeAttrEntrys(refList, attr)
|
||||||
if len(attrEntrys) != 0 {
|
if len(attrEntrys) != 0 {
|
||||||
@@ -306,7 +305,7 @@ func ParseList(list *List, ref map[string]*List) (*ParsedList, error) {
|
|||||||
pl.Inclusion[InclusionName] = true
|
pl.Inclusion[InclusionName] = true
|
||||||
refList := ref[refName]
|
refList := ref[refName]
|
||||||
if refList == nil {
|
if refList == nil {
|
||||||
return nil, errors.New(entry.Value + " not found.")
|
return nil, fmt.Errorf("list not found: %s", entry.Value)
|
||||||
}
|
}
|
||||||
newEntryList = append(newEntryList, refList.Entry...)
|
newEntryList = append(newEntryList, refList.Entry...)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user