diff --git a/.github/update.log b/.github/update.log index 42c04988f4..df8dc9b2cc 100644 --- a/.github/update.log +++ b/.github/update.log @@ -1059,3 +1059,4 @@ Update On Sat Jul 12 20:36:26 CEST 2025 Update On Sun Jul 13 20:36:25 CEST 2025 Update On Mon Jul 14 14:45:36 CEST 2025 Update On Mon Jul 14 20:43:09 CEST 2025 +Update On Tue Jul 15 20:40:52 CEST 2025 diff --git a/clash-meta/adapter/adapter.go b/clash-meta/adapter/adapter.go index 53f7c6d96a..d1f37863c6 100644 --- a/clash-meta/adapter/adapter.go +++ b/clash-meta/adapter/adapter.go @@ -14,10 +14,10 @@ import ( "github.com/metacubex/mihomo/common/atomic" "github.com/metacubex/mihomo/common/queue" "github.com/metacubex/mihomo/common/utils" + "github.com/metacubex/mihomo/common/xsync" "github.com/metacubex/mihomo/component/ca" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/log" - "github.com/puzpuzpuz/xsync/v3" ) var UnifiedDelay = atomic.NewBool(false) @@ -35,7 +35,7 @@ type Proxy struct { C.ProxyAdapter alive atomic.Bool history *queue.Queue[C.DelayHistory] - extra *xsync.MapOf[string, *internalProxyState] + extra xsync.Map[string, *internalProxyState] } // Adapter implements C.Proxy @@ -293,7 +293,7 @@ func NewProxy(adapter C.ProxyAdapter) *Proxy { ProxyAdapter: adapter, history: queue.New[C.DelayHistory](defaultHistoriesNum), alive: atomic.NewBool(true), - extra: xsync.NewMapOf[string, *internalProxyState]()} + } } func urlToMetadata(rawURL string) (addr C.Metadata, err error) { diff --git a/clash-meta/common/maphash/common.go b/clash-meta/common/maphash/common.go new file mode 100644 index 0000000000..14b4aaa9cc --- /dev/null +++ b/clash-meta/common/maphash/common.go @@ -0,0 +1,19 @@ +package maphash + +import "hash/maphash" + +type Seed = maphash.Seed + +func MakeSeed() Seed { + return maphash.MakeSeed() +} + +type Hash = maphash.Hash + +func Bytes(seed Seed, b []byte) uint64 { + return maphash.Bytes(seed, b) +} + +func String(seed Seed, s string) uint64 { + return maphash.String(seed, s) +} diff --git a/clash-meta/common/maphash/comparable_go120.go b/clash-meta/common/maphash/comparable_go120.go new file mode 100644 index 0000000000..05256d67dd --- /dev/null +++ b/clash-meta/common/maphash/comparable_go120.go @@ -0,0 +1,140 @@ +//go:build !go1.24 + +package maphash + +import "unsafe" + +func Comparable[T comparable](s Seed, v T) uint64 { + return comparableHash(*(*seedTyp)(unsafe.Pointer(&s)), v) +} + +func comparableHash[T comparable](seed seedTyp, v T) uint64 { + s := seed.s + var m map[T]struct{} + mTyp := iTypeOf(m) + var hasher func(unsafe.Pointer, uintptr) uintptr + hasher = (*iMapType)(unsafe.Pointer(mTyp)).Hasher + + p := escape(unsafe.Pointer(&v)) + + if ptrSize == 8 { + return uint64(hasher(p, uintptr(s))) + } + lo := hasher(p, uintptr(s)) + hi := hasher(p, uintptr(s>>32)) + return uint64(hi)<<32 | uint64(lo) +} + +// WriteComparable adds x to the data hashed by h. +func WriteComparable[T comparable](h *Hash, x T) { + // writeComparable (not in purego mode) directly operates on h.state + // without using h.buf. Mix in the buffer length so it won't + // commute with a buffered write, which either changes h.n or changes + // h.state. + hash := (*hashTyp)(unsafe.Pointer(h)) + if hash.n != 0 { + hash.state.s = comparableHash(hash.state, hash.n) + } + hash.state.s = comparableHash(hash.state, x) +} + +// go/src/hash/maphash/maphash.go +type hashTyp struct { + _ [0]func() // not comparable + seed seedTyp // initial seed used for this hash + state seedTyp // current hash of all flushed bytes + buf [128]byte // unflushed byte buffer + n int // number of unflushed bytes +} + +type seedTyp struct { + s uint64 +} + +type iTFlag uint8 +type iKind uint8 +type iNameOff int32 + +// TypeOff is the offset to a type from moduledata.types. See resolveTypeOff in runtime. +type iTypeOff int32 + +type iType struct { + Size_ uintptr + PtrBytes uintptr // number of (prefix) bytes in the type that can contain pointers + Hash uint32 // hash of type; avoids computation in hash tables + TFlag iTFlag // extra type information flags + Align_ uint8 // alignment of variable with this type + FieldAlign_ uint8 // alignment of struct field with this type + Kind_ iKind // enumeration for C + // function for comparing objects of this type + // (ptr to object A, ptr to object B) -> ==? + Equal func(unsafe.Pointer, unsafe.Pointer) bool + // GCData stores the GC type data for the garbage collector. + // Normally, GCData points to a bitmask that describes the + // ptr/nonptr fields of the type. The bitmask will have at + // least PtrBytes/ptrSize bits. + // If the TFlagGCMaskOnDemand bit is set, GCData is instead a + // **byte and the pointer to the bitmask is one dereference away. + // The runtime will build the bitmask if needed. + // (See runtime/type.go:getGCMask.) + // Note: multiple types may have the same value of GCData, + // including when TFlagGCMaskOnDemand is set. The types will, of course, + // have the same pointer layout (but not necessarily the same size). + GCData *byte + Str iNameOff // string form + PtrToThis iTypeOff // type for pointer to this type, may be zero +} + +type iMapType struct { + iType + Key *iType + Elem *iType + Group *iType // internal type representing a slot group + // function for hashing keys (ptr to key, seed) -> hash + Hasher func(unsafe.Pointer, uintptr) uintptr +} + +func iTypeOf(a any) *iType { + eface := *(*iEmptyInterface)(unsafe.Pointer(&a)) + // Types are either static (for compiler-created types) or + // heap-allocated but always reachable (for reflection-created + // types, held in the central map). So there is no need to + // escape types. noescape here help avoid unnecessary escape + // of v. + return (*iType)(noescape(unsafe.Pointer(eface.Type))) +} + +type iEmptyInterface struct { + Type *iType + Data unsafe.Pointer +} + +// noescape hides a pointer from escape analysis. noescape is +// the identity function but escape analysis doesn't think the +// output depends on the input. noescape is inlined and currently +// compiles down to zero instructions. +// USE CAREFULLY! +// +// nolint:all +// +//go:nosplit +//goland:noinspection ALL +func noescape(p unsafe.Pointer) unsafe.Pointer { + x := uintptr(p) + return unsafe.Pointer(x ^ 0) +} + +var alwaysFalse bool +var escapeSink any + +// escape forces any pointers in x to escape to the heap. +func escape[T any](x T) T { + if alwaysFalse { + escapeSink = x + } + return x +} + +// ptrSize is the size of a pointer in bytes - unsafe.Sizeof(uintptr(0)) but as an ideal constant. +// It is also the size of the machine's native word size (that is, 4 on 32-bit systems, 8 on 64-bit). +const ptrSize = 4 << (^uintptr(0) >> 63) diff --git a/clash-meta/common/maphash/comparable_go124.go b/clash-meta/common/maphash/comparable_go124.go new file mode 100644 index 0000000000..3a96edb661 --- /dev/null +++ b/clash-meta/common/maphash/comparable_go124.go @@ -0,0 +1,13 @@ +//go:build go1.24 + +package maphash + +import "hash/maphash" + +func Comparable[T comparable](seed Seed, v T) uint64 { + return maphash.Comparable(seed, v) +} + +func WriteComparable[T comparable](h *Hash, x T) { + maphash.WriteComparable(h, x) +} diff --git a/clash-meta/common/maphash/maphash_test.go b/clash-meta/common/maphash/maphash_test.go new file mode 100644 index 0000000000..73887f2715 --- /dev/null +++ b/clash-meta/common/maphash/maphash_test.go @@ -0,0 +1,532 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package maphash + +import ( + "bytes" + "fmt" + "hash" + "math" + "reflect" + "strings" + "testing" + "unsafe" + + rand "github.com/metacubex/randv2" +) + +func TestUnseededHash(t *testing.T) { + m := map[uint64]struct{}{} + for i := 0; i < 1000; i++ { + h := new(Hash) + m[h.Sum64()] = struct{}{} + } + if len(m) < 900 { + t.Errorf("empty hash not sufficiently random: got %d, want 1000", len(m)) + } +} + +func TestSeededHash(t *testing.T) { + s := MakeSeed() + m := map[uint64]struct{}{} + for i := 0; i < 1000; i++ { + h := new(Hash) + h.SetSeed(s) + m[h.Sum64()] = struct{}{} + } + if len(m) != 1 { + t.Errorf("seeded hash is random: got %d, want 1", len(m)) + } +} + +func TestHashGrouping(t *testing.T) { + b := bytes.Repeat([]byte("foo"), 100) + hh := make([]*Hash, 7) + for i := range hh { + hh[i] = new(Hash) + } + for _, h := range hh[1:] { + h.SetSeed(hh[0].Seed()) + } + hh[0].Write(b) + hh[1].WriteString(string(b)) + + writeByte := func(h *Hash, b byte) { + err := h.WriteByte(b) + if err != nil { + t.Fatalf("WriteByte: %v", err) + } + } + writeSingleByte := func(h *Hash, b byte) { + _, err := h.Write([]byte{b}) + if err != nil { + t.Fatalf("Write single byte: %v", err) + } + } + writeStringSingleByte := func(h *Hash, b byte) { + _, err := h.WriteString(string([]byte{b})) + if err != nil { + t.Fatalf("WriteString single byte: %v", err) + } + } + + for i, x := range b { + writeByte(hh[2], x) + writeSingleByte(hh[3], x) + if i == 0 { + writeByte(hh[4], x) + } else { + writeSingleByte(hh[4], x) + } + writeStringSingleByte(hh[5], x) + if i == 0 { + writeByte(hh[6], x) + } else { + writeStringSingleByte(hh[6], x) + } + } + + sum := hh[0].Sum64() + for i, h := range hh { + if sum != h.Sum64() { + t.Errorf("hash %d not identical to a single Write", i) + } + } + + if sum1 := Bytes(hh[0].Seed(), b); sum1 != hh[0].Sum64() { + t.Errorf("hash using Bytes not identical to a single Write") + } + + if sum1 := String(hh[0].Seed(), string(b)); sum1 != hh[0].Sum64() { + t.Errorf("hash using String not identical to a single Write") + } +} + +func TestHashBytesVsString(t *testing.T) { + s := "foo" + b := []byte(s) + h1 := new(Hash) + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + n1, err1 := h1.WriteString(s) + if n1 != len(s) || err1 != nil { + t.Fatalf("WriteString(s) = %d, %v, want %d, nil", n1, err1, len(s)) + } + n2, err2 := h2.Write(b) + if n2 != len(b) || err2 != nil { + t.Fatalf("Write(b) = %d, %v, want %d, nil", n2, err2, len(b)) + } + if h1.Sum64() != h2.Sum64() { + t.Errorf("hash of string and bytes not identical") + } +} + +func TestHashHighBytes(t *testing.T) { + // See issue 34925. + const N = 10 + m := map[uint64]struct{}{} + for i := 0; i < N; i++ { + h := new(Hash) + h.WriteString("foo") + m[h.Sum64()>>32] = struct{}{} + } + if len(m) < N/2 { + t.Errorf("from %d seeds, wanted at least %d different hashes; got %d", N, N/2, len(m)) + } +} + +func TestRepeat(t *testing.T) { + h1 := new(Hash) + h1.WriteString("testing") + sum1 := h1.Sum64() + + h1.Reset() + h1.WriteString("testing") + sum2 := h1.Sum64() + + if sum1 != sum2 { + t.Errorf("different sum after resetting: %#x != %#x", sum1, sum2) + } + + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("testing") + sum3 := h2.Sum64() + + if sum1 != sum3 { + t.Errorf("different sum on the same seed: %#x != %#x", sum1, sum3) + } +} + +func TestSeedFromSum64(t *testing.T) { + h1 := new(Hash) + h1.WriteString("foo") + x := h1.Sum64() // seed generated here + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("foo") + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func TestSeedFromSeed(t *testing.T) { + h1 := new(Hash) + h1.WriteString("foo") + _ = h1.Seed() // seed generated here + x := h1.Sum64() + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("foo") + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func TestSeedFromFlush(t *testing.T) { + b := make([]byte, 65) + h1 := new(Hash) + h1.Write(b) // seed generated here + x := h1.Sum64() + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.Write(b) + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func TestSeedFromReset(t *testing.T) { + h1 := new(Hash) + h1.WriteString("foo") + h1.Reset() // seed generated here + h1.WriteString("foo") + x := h1.Sum64() + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("foo") + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func negativeZero[T float32 | float64]() T { + var f T + f = -f + return f +} + +func TestComparable(t *testing.T) { + testComparable(t, int64(2)) + testComparable(t, uint64(8)) + testComparable(t, uintptr(12)) + testComparable(t, any("s")) + testComparable(t, "s") + testComparable(t, true) + testComparable(t, new(float64)) + testComparable(t, float64(9)) + testComparable(t, complex128(9i+1)) + testComparable(t, struct{}{}) + testComparable(t, struct { + i int + u uint + b bool + f float64 + p *int + a any + }{i: 9, u: 1, b: true, f: 9.9, p: new(int), a: 1}) + type S struct { + s string + } + s1 := S{s: heapStr(t)} + s2 := S{s: heapStr(t)} + if unsafe.StringData(s1.s) == unsafe.StringData(s2.s) { + t.Fatalf("unexpected two heapStr ptr equal") + } + if s1.s != s2.s { + t.Fatalf("unexpected two heapStr value not equal") + } + testComparable(t, s1, s2) + testComparable(t, s1.s, s2.s) + testComparable(t, float32(0), negativeZero[float32]()) + testComparable(t, float64(0), negativeZero[float64]()) + testComparableNoEqual(t, math.NaN(), math.NaN()) + testComparableNoEqual(t, [2]string{"a", ""}, [2]string{"", "a"}) + testComparableNoEqual(t, struct{ a, b string }{"foo", ""}, struct{ a, b string }{"", "foo"}) + testComparableNoEqual(t, struct{ a, b any }{int(0), struct{}{}}, struct{ a, b any }{struct{}{}, int(0)}) +} + +func testComparableNoEqual[T comparable](t *testing.T, v1, v2 T) { + seed := MakeSeed() + if Comparable(seed, v1) == Comparable(seed, v2) { + t.Fatalf("Comparable(seed, %v) == Comparable(seed, %v)", v1, v2) + } +} + +var heapStrValue = []byte("aTestString") + +func heapStr(t *testing.T) string { + return string(heapStrValue) +} + +func testComparable[T comparable](t *testing.T, v T, v2 ...T) { + t.Run(TypeFor[T]().String(), func(t *testing.T) { + var a, b T = v, v + if len(v2) != 0 { + b = v2[0] + } + var pa *T = &a + seed := MakeSeed() + if Comparable(seed, a) != Comparable(seed, b) { + t.Fatalf("Comparable(seed, %v) != Comparable(seed, %v)", a, b) + } + old := Comparable(seed, pa) + stackGrow(8192) + new := Comparable(seed, pa) + if old != new { + t.Fatal("Comparable(seed, ptr) != Comparable(seed, ptr)") + } + }) +} + +var use byte + +//go:noinline +func stackGrow(dep int) { + if dep == 0 { + return + } + var local [1024]byte + // make sure local is allocated on the stack. + local[rand.Uint64()%1024] = byte(rand.Uint64()) + use = local[rand.Uint64()%1024] + stackGrow(dep - 1) +} + +func TestWriteComparable(t *testing.T) { + testWriteComparable(t, int64(2)) + testWriteComparable(t, uint64(8)) + testWriteComparable(t, uintptr(12)) + testWriteComparable(t, any("s")) + testWriteComparable(t, "s") + testComparable(t, true) + testWriteComparable(t, new(float64)) + testWriteComparable(t, float64(9)) + testWriteComparable(t, complex128(9i+1)) + testWriteComparable(t, struct{}{}) + testWriteComparable(t, struct { + i int + u uint + b bool + f float64 + p *int + a any + }{i: 9, u: 1, b: true, f: 9.9, p: new(int), a: 1}) + type S struct { + s string + } + s1 := S{s: heapStr(t)} + s2 := S{s: heapStr(t)} + if unsafe.StringData(s1.s) == unsafe.StringData(s2.s) { + t.Fatalf("unexpected two heapStr ptr equal") + } + if s1.s != s2.s { + t.Fatalf("unexpected two heapStr value not equal") + } + testWriteComparable(t, s1, s2) + testWriteComparable(t, s1.s, s2.s) + testWriteComparable(t, float32(0), negativeZero[float32]()) + testWriteComparable(t, float64(0), negativeZero[float64]()) + testWriteComparableNoEqual(t, math.NaN(), math.NaN()) + testWriteComparableNoEqual(t, [2]string{"a", ""}, [2]string{"", "a"}) + testWriteComparableNoEqual(t, struct{ a, b string }{"foo", ""}, struct{ a, b string }{"", "foo"}) + testWriteComparableNoEqual(t, struct{ a, b any }{int(0), struct{}{}}, struct{ a, b any }{struct{}{}, int(0)}) +} + +func testWriteComparableNoEqual[T comparable](t *testing.T, v1, v2 T) { + seed := MakeSeed() + h1 := Hash{} + h2 := Hash{} + *(*Seed)(unsafe.Pointer(&h1)), *(*Seed)(unsafe.Pointer(&h2)) = seed, seed + WriteComparable(&h1, v1) + WriteComparable(&h2, v2) + if h1.Sum64() == h2.Sum64() { + t.Fatalf("WriteComparable(seed, %v) == WriteComparable(seed, %v)", v1, v2) + } + +} + +func testWriteComparable[T comparable](t *testing.T, v T, v2 ...T) { + t.Run(TypeFor[T]().String(), func(t *testing.T) { + var a, b T = v, v + if len(v2) != 0 { + b = v2[0] + } + var pa *T = &a + h1 := Hash{} + h2 := Hash{} + *(*Seed)(unsafe.Pointer(&h1)) = MakeSeed() + h2 = h1 + WriteComparable(&h1, a) + WriteComparable(&h2, b) + if h1.Sum64() != h2.Sum64() { + t.Fatalf("WriteComparable(h, %v) != WriteComparable(h, %v)", a, b) + } + WriteComparable(&h1, pa) + old := h1.Sum64() + stackGrow(8192) + WriteComparable(&h2, pa) + new := h2.Sum64() + if old != new { + t.Fatal("WriteComparable(seed, ptr) != WriteComparable(seed, ptr)") + } + }) +} + +func TestComparableShouldPanic(t *testing.T) { + s := []byte("s") + a := any(s) + defer func() { + e := recover() + err, ok := e.(error) + if !ok { + t.Fatalf("Comaparable(any([]byte)) should panic") + } + want := "hash of unhashable type []uint8" + if s := err.Error(); !strings.Contains(s, want) { + t.Fatalf("want %s, got %s", want, s) + } + }() + Comparable(MakeSeed(), a) +} + +func TestWriteComparableNoncommute(t *testing.T) { + seed := MakeSeed() + var h1, h2 Hash + h1.SetSeed(seed) + h2.SetSeed(seed) + + h1.WriteString("abc") + WriteComparable(&h1, 123) + WriteComparable(&h2, 123) + h2.WriteString("abc") + + if h1.Sum64() == h2.Sum64() { + t.Errorf("WriteComparable and WriteString unexpectedly commute") + } +} + +func TestComparableAllocations(t *testing.T) { + t.Skip("test broken in old golang version") + seed := MakeSeed() + x := heapStr(t) + allocs := testing.AllocsPerRun(10, func() { + s := "s" + x + Comparable(seed, s) + }) + if allocs > 0 { + t.Errorf("got %v allocs, want 0", allocs) + } + + type S struct { + a int + b string + } + allocs = testing.AllocsPerRun(10, func() { + s := S{123, "s" + x} + Comparable(seed, s) + }) + if allocs > 0 { + t.Errorf("got %v allocs, want 0", allocs) + } +} + +// Make sure a Hash implements the hash.Hash and hash.Hash64 interfaces. +var _ hash.Hash = &Hash{} +var _ hash.Hash64 = &Hash{} + +func benchmarkSize(b *testing.B, size int) { + h := &Hash{} + buf := make([]byte, size) + s := string(buf) + + b.Run("Write", func(b *testing.B) { + b.SetBytes(int64(size)) + for i := 0; i < b.N; i++ { + h.Reset() + h.Write(buf) + h.Sum64() + } + }) + + b.Run("Bytes", func(b *testing.B) { + b.SetBytes(int64(size)) + seed := h.Seed() + for i := 0; i < b.N; i++ { + Bytes(seed, buf) + } + }) + + b.Run("String", func(b *testing.B) { + b.SetBytes(int64(size)) + seed := h.Seed() + for i := 0; i < b.N; i++ { + String(seed, s) + } + }) +} + +func BenchmarkHash(b *testing.B) { + sizes := []int{4, 8, 16, 32, 64, 256, 320, 1024, 4096, 16384} + for _, size := range sizes { + b.Run(fmt.Sprint("n=", size), func(b *testing.B) { + benchmarkSize(b, size) + }) + } +} + +func benchmarkComparable[T comparable](b *testing.B, v T) { + b.Run(TypeFor[T]().String(), func(b *testing.B) { + seed := MakeSeed() + for i := 0; i < b.N; i++ { + Comparable(seed, v) + } + }) +} + +func BenchmarkComparable(b *testing.B) { + type testStruct struct { + i int + u uint + b bool + f float64 + p *int + a any + } + benchmarkComparable(b, int64(2)) + benchmarkComparable(b, uint64(8)) + benchmarkComparable(b, uintptr(12)) + benchmarkComparable(b, any("s")) + benchmarkComparable(b, "s") + benchmarkComparable(b, true) + benchmarkComparable(b, new(float64)) + benchmarkComparable(b, float64(9)) + benchmarkComparable(b, complex128(9i+1)) + benchmarkComparable(b, struct{}{}) + benchmarkComparable(b, testStruct{i: 9, u: 1, b: true, f: 9.9, p: new(int), a: 1}) +} + +// TypeFor returns the [Type] that represents the type argument T. +func TypeFor[T any]() reflect.Type { + var v T + if t := reflect.TypeOf(v); t != nil { + return t // optimize for T being a non-interface kind + } + return reflect.TypeOf((*T)(nil)).Elem() // only for an interface kind +} diff --git a/clash-meta/common/xsync/map.go b/clash-meta/common/xsync/map.go new file mode 100644 index 0000000000..b85bf421b1 --- /dev/null +++ b/clash-meta/common/xsync/map.go @@ -0,0 +1,926 @@ +package xsync + +// copy and modified from https://github.com/puzpuzpuz/xsync/blob/v4.1.0/map.go +// which is licensed under Apache v2. +// +// mihomo modified: +// 1. parallel Map resize has been removed to decrease the memory using. +// 2. the zero Map is ready for use. + +import ( + "fmt" + "math" + "math/bits" + "strings" + "sync" + "sync/atomic" + "unsafe" + + "github.com/metacubex/mihomo/common/maphash" +) + +const ( + // number of Map entries per bucket; 5 entries lead to size of 64B + // (one cache line) on 64-bit machines + entriesPerMapBucket = 5 + // threshold fraction of table occupation to start a table shrinking + // when deleting the last entry in a bucket chain + mapShrinkFraction = 128 + // map load factor to trigger a table resize during insertion; + // a map holds up to mapLoadFactor*entriesPerMapBucket*mapTableLen + // key-value pairs (this is a soft limit) + mapLoadFactor = 0.75 + // minimal table size, i.e. number of buckets; thus, minimal map + // capacity can be calculated as entriesPerMapBucket*defaultMinMapTableLen + defaultMinMapTableLen = 32 + // minimum counter stripes to use + minMapCounterLen = 8 + // maximum counter stripes to use; stands for around 4KB of memory + maxMapCounterLen = 32 + defaultMeta uint64 = 0x8080808080808080 + metaMask uint64 = 0xffffffffff + defaultMetaMasked uint64 = defaultMeta & metaMask + emptyMetaSlot uint8 = 0x80 +) + +type mapResizeHint int + +const ( + mapGrowHint mapResizeHint = 0 + mapShrinkHint mapResizeHint = 1 + mapClearHint mapResizeHint = 2 +) + +type ComputeOp int + +const ( + // CancelOp signals to Compute to not do anything as a result + // of executing the lambda. If the entry was not present in + // the map, nothing happens, and if it was present, the + // returned value is ignored. + CancelOp ComputeOp = iota + // UpdateOp signals to Compute to update the entry to the + // value returned by the lambda, creating it if necessary. + UpdateOp + // DeleteOp signals to Compute to always delete the entry + // from the map. + DeleteOp +) + +type loadOp int + +const ( + noLoadOp loadOp = iota + loadOrComputeOp + loadAndDeleteOp +) + +// Map is like a Go map[K]V but is safe for concurrent +// use by multiple goroutines without additional locking or +// coordination. It follows the interface of sync.Map with +// a number of valuable extensions like Compute or Size. +// +// A Map must not be copied after first use. +// +// Map uses a modified version of Cache-Line Hash Table (CLHT) +// data structure: https://github.com/LPD-EPFL/CLHT +// +// CLHT is built around idea to organize the hash table in +// cache-line-sized buckets, so that on all modern CPUs update +// operations complete with at most one cache-line transfer. +// Also, Get operations involve no write to memory, as well as no +// mutexes or any other sort of locks. Due to this design, in all +// considered scenarios Map outperforms sync.Map. +// +// Map also borrows ideas from Java's j.u.c.ConcurrentHashMap +// (immutable K/V pair structs instead of atomic snapshots) +// and C++'s absl::flat_hash_map (meta memory and SWAR-based +// lookups). +type Map[K comparable, V any] struct { + initOnce sync.Once + totalGrowths atomic.Int64 + totalShrinks atomic.Int64 + resizing atomic.Bool // resize in progress flag + resizeMu sync.Mutex // only used along with resizeCond + resizeCond sync.Cond // used to wake up resize waiters (concurrent modifications) + table atomic.Pointer[mapTable[K, V]] + minTableLen int + growOnly bool +} + +type mapTable[K comparable, V any] struct { + buckets []bucketPadded[K, V] + // striped counter for number of table entries; + // used to determine if a table shrinking is needed + // occupies min(buckets_memory/1024, 64KB) of memory + size []counterStripe + seed maphash.Seed +} + +type counterStripe struct { + c int64 + // Padding to prevent false sharing. + _ [cacheLineSize - 8]byte +} + +// bucketPadded is a CL-sized map bucket holding up to +// entriesPerMapBucket entries. +type bucketPadded[K comparable, V any] struct { + //lint:ignore U1000 ensure each bucket takes two cache lines on both 32 and 64-bit archs + pad [cacheLineSize - unsafe.Sizeof(bucket[K, V]{})]byte + bucket[K, V] +} + +type bucket[K comparable, V any] struct { + meta atomic.Uint64 + entries [entriesPerMapBucket]atomic.Pointer[entry[K, V]] // *entry + next atomic.Pointer[bucketPadded[K, V]] // *bucketPadded + mu sync.Mutex +} + +// entry is an immutable map entry. +type entry[K comparable, V any] struct { + key K + value V +} + +// MapConfig defines configurable Map options. +type MapConfig struct { + sizeHint int + growOnly bool +} + +// WithPresize configures new Map instance with capacity enough +// to hold sizeHint entries. The capacity is treated as the minimal +// capacity meaning that the underlying hash table will never shrink +// to a smaller capacity. If sizeHint is zero or negative, the value +// is ignored. +func WithPresize(sizeHint int) func(*MapConfig) { + return func(c *MapConfig) { + c.sizeHint = sizeHint + } +} + +// WithGrowOnly configures new Map instance to be grow-only. +// This means that the underlying hash table grows in capacity when +// new keys are added, but does not shrink when keys are deleted. +// The only exception to this rule is the Clear method which +// shrinks the hash table back to the initial capacity. +func WithGrowOnly() func(*MapConfig) { + return func(c *MapConfig) { + c.growOnly = true + } +} + +// NewMap creates a new Map instance configured with the given +// options. +func NewMap[K comparable, V any](options ...func(*MapConfig)) *Map[K, V] { + c := &MapConfig{} + for _, o := range options { + o(c) + } + + m := &Map[K, V]{} + if c.sizeHint > defaultMinMapTableLen*entriesPerMapBucket { + tableLen := nextPowOf2(uint32((float64(c.sizeHint) / entriesPerMapBucket) / mapLoadFactor)) + m.minTableLen = int(tableLen) + } + m.growOnly = c.growOnly + return m +} + +func (m *Map[K, V]) init() { + if m.minTableLen == 0 { + m.minTableLen = defaultMinMapTableLen + } + m.resizeCond = *sync.NewCond(&m.resizeMu) + table := newMapTable[K, V](m.minTableLen) + m.minTableLen = len(table.buckets) + m.table.Store(table) +} + +func newMapTable[K comparable, V any](minTableLen int) *mapTable[K, V] { + buckets := make([]bucketPadded[K, V], minTableLen) + for i := range buckets { + buckets[i].meta.Store(defaultMeta) + } + counterLen := minTableLen >> 10 + if counterLen < minMapCounterLen { + counterLen = minMapCounterLen + } else if counterLen > maxMapCounterLen { + counterLen = maxMapCounterLen + } + counter := make([]counterStripe, counterLen) + t := &mapTable[K, V]{ + buckets: buckets, + size: counter, + seed: maphash.MakeSeed(), + } + return t +} + +// ToPlainMap returns a native map with a copy of xsync Map's +// contents. The copied xsync Map should not be modified while +// this call is made. If the copied Map is modified, the copying +// behavior is the same as in the Range method. +func ToPlainMap[K comparable, V any](m *Map[K, V]) map[K]V { + pm := make(map[K]V) + if m != nil { + m.Range(func(key K, value V) bool { + pm[key] = value + return true + }) + } + return pm +} + +// Load returns the value stored in the map for a key, or zero value +// of type V if no value is present. +// The ok result indicates whether value was found in the map. +func (m *Map[K, V]) Load(key K) (value V, ok bool) { + m.initOnce.Do(m.init) + table := m.table.Load() + hash := maphash.Comparable(table.seed, key) + h1 := h1(hash) + h2w := broadcast(h2(hash)) + bidx := uint64(len(table.buckets)-1) & h1 + b := &table.buckets[bidx] + for { + metaw := b.meta.Load() + markedw := markZeroBytes(metaw^h2w) & metaMask + for markedw != 0 { + idx := firstMarkedByteIndex(markedw) + e := b.entries[idx].Load() + if e != nil { + if e.key == key { + return e.value, true + } + } + markedw &= markedw - 1 + } + b = b.next.Load() + if b == nil { + return + } + } +} + +// Store sets the value for a key. +func (m *Map[K, V]) Store(key K, value V) { + m.doCompute( + key, + func(V, bool) (V, ComputeOp) { + return value, UpdateOp + }, + noLoadOp, + false, + ) +} + +// LoadOrStore returns the existing value for the key if present. +// Otherwise, it stores and returns the given value. +// The loaded result is true if the value was loaded, false if stored. +func (m *Map[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool) { + return m.doCompute( + key, + func(oldValue V, loaded bool) (V, ComputeOp) { + if loaded { + return oldValue, CancelOp + } + return value, UpdateOp + }, + loadOrComputeOp, + false, + ) +} + +// LoadAndStore returns the existing value for the key if present, +// while setting the new value for the key. +// It stores the new value and returns the existing one, if present. +// The loaded result is true if the existing value was loaded, +// false otherwise. +func (m *Map[K, V]) LoadAndStore(key K, value V) (actual V, loaded bool) { + return m.doCompute( + key, + func(V, bool) (V, ComputeOp) { + return value, UpdateOp + }, + noLoadOp, + false, + ) +} + +// LoadOrCompute returns the existing value for the key if +// present. Otherwise, it tries to compute the value using the +// provided function and, if successful, stores and returns +// the computed value. The loaded result is true if the value was +// loaded, or false if computed. If valueFn returns true as the +// cancel value, the computation is cancelled and the zero value +// for type V is returned. +// +// This call locks a hash table bucket while the compute function +// is executed. It means that modifications on other entries in +// the bucket will be blocked until the valueFn executes. Consider +// this when the function includes long-running operations. +func (m *Map[K, V]) LoadOrCompute( + key K, + valueFn func() (newValue V, cancel bool), +) (value V, loaded bool) { + return m.doCompute( + key, + func(oldValue V, loaded bool) (V, ComputeOp) { + if loaded { + return oldValue, CancelOp + } + newValue, c := valueFn() + if !c { + return newValue, UpdateOp + } + return oldValue, CancelOp + }, + loadOrComputeOp, + false, + ) +} + +// Compute either sets the computed new value for the key, +// deletes the value for the key, or does nothing, based on +// the returned [ComputeOp]. When the op returned by valueFn +// is [UpdateOp], the value is updated to the new value. If +// it is [DeleteOp], the entry is removed from the map +// altogether. And finally, if the op is [CancelOp] then the +// entry is left as-is. In other words, if it did not already +// exist, it is not created, and if it did exist, it is not +// updated. This is useful to synchronously execute some +// operation on the value without incurring the cost of +// updating the map every time. The ok result indicates +// whether the entry is present in the map after the compute +// operation. The actual result contains the value of the map +// if a corresponding entry is present, or the zero value +// otherwise. See the example for a few use cases. +// +// This call locks a hash table bucket while the compute function +// is executed. It means that modifications on other entries in +// the bucket will be blocked until the valueFn executes. Consider +// this when the function includes long-running operations. +func (m *Map[K, V]) Compute( + key K, + valueFn func(oldValue V, loaded bool) (newValue V, op ComputeOp), +) (actual V, ok bool) { + return m.doCompute(key, valueFn, noLoadOp, true) +} + +// LoadAndDelete deletes the value for a key, returning the previous +// value if any. The loaded result reports whether the key was +// present. +func (m *Map[K, V]) LoadAndDelete(key K) (value V, loaded bool) { + return m.doCompute( + key, + func(value V, loaded bool) (V, ComputeOp) { + return value, DeleteOp + }, + loadAndDeleteOp, + false, + ) +} + +// Delete deletes the value for a key. +func (m *Map[K, V]) Delete(key K) { + m.LoadAndDelete(key) +} + +func (m *Map[K, V]) doCompute( + key K, + valueFn func(oldValue V, loaded bool) (V, ComputeOp), + loadOp loadOp, + computeOnly bool, +) (V, bool) { + m.initOnce.Do(m.init) + for { + compute_attempt: + var ( + emptyb *bucketPadded[K, V] + emptyidx int + ) + table := m.table.Load() + tableLen := len(table.buckets) + hash := maphash.Comparable(table.seed, key) + h1 := h1(hash) + h2 := h2(hash) + h2w := broadcast(h2) + bidx := uint64(len(table.buckets)-1) & h1 + rootb := &table.buckets[bidx] + + if loadOp != noLoadOp { + b := rootb + load: + for { + metaw := b.meta.Load() + markedw := markZeroBytes(metaw^h2w) & metaMask + for markedw != 0 { + idx := firstMarkedByteIndex(markedw) + e := b.entries[idx].Load() + if e != nil { + if e.key == key { + if loadOp == loadOrComputeOp { + return e.value, true + } + break load + } + } + markedw &= markedw - 1 + } + b = b.next.Load() + if b == nil { + if loadOp == loadAndDeleteOp { + return *new(V), false + } + break load + } + } + } + + rootb.mu.Lock() + // The following two checks must go in reverse to what's + // in the resize method. + if m.resizeInProgress() { + // Resize is in progress. Wait, then go for another attempt. + rootb.mu.Unlock() + m.waitForResize() + goto compute_attempt + } + if m.newerTableExists(table) { + // Someone resized the table. Go for another attempt. + rootb.mu.Unlock() + goto compute_attempt + } + b := rootb + for { + metaw := b.meta.Load() + markedw := markZeroBytes(metaw^h2w) & metaMask + for markedw != 0 { + idx := firstMarkedByteIndex(markedw) + e := b.entries[idx].Load() + if e != nil { + if e.key == key { + // In-place update/delete. + // We get a copy of the value via an interface{} on each call, + // thus the live value pointers are unique. Otherwise atomic + // snapshot won't be correct in case of multiple Store calls + // using the same value. + oldv := e.value + newv, op := valueFn(oldv, true) + switch op { + case DeleteOp: + // Deletion. + // First we update the hash, then the entry. + newmetaw := setByte(metaw, emptyMetaSlot, idx) + b.meta.Store(newmetaw) + b.entries[idx].Store(nil) + rootb.mu.Unlock() + table.addSize(bidx, -1) + // Might need to shrink the table if we left bucket empty. + if newmetaw == defaultMeta { + m.resize(table, mapShrinkHint) + } + return oldv, !computeOnly + case UpdateOp: + newe := new(entry[K, V]) + newe.key = key + newe.value = newv + b.entries[idx].Store(newe) + case CancelOp: + newv = oldv + } + rootb.mu.Unlock() + if computeOnly { + // Compute expects the new value to be returned. + return newv, true + } + // LoadAndStore expects the old value to be returned. + return oldv, true + } + } + markedw &= markedw - 1 + } + if emptyb == nil { + // Search for empty entries (up to 5 per bucket). + emptyw := metaw & defaultMetaMasked + if emptyw != 0 { + idx := firstMarkedByteIndex(emptyw) + emptyb = b + emptyidx = idx + } + } + if b.next.Load() == nil { + if emptyb != nil { + // Insertion into an existing bucket. + var zeroV V + newValue, op := valueFn(zeroV, false) + switch op { + case DeleteOp, CancelOp: + rootb.mu.Unlock() + return zeroV, false + default: + newe := new(entry[K, V]) + newe.key = key + newe.value = newValue + // First we update meta, then the entry. + emptyb.meta.Store(setByte(emptyb.meta.Load(), h2, emptyidx)) + emptyb.entries[emptyidx].Store(newe) + rootb.mu.Unlock() + table.addSize(bidx, 1) + return newValue, computeOnly + } + } + growThreshold := float64(tableLen) * entriesPerMapBucket * mapLoadFactor + if table.sumSize() > int64(growThreshold) { + // Need to grow the table. Then go for another attempt. + rootb.mu.Unlock() + m.resize(table, mapGrowHint) + goto compute_attempt + } + // Insertion into a new bucket. + var zeroV V + newValue, op := valueFn(zeroV, false) + switch op { + case DeleteOp, CancelOp: + rootb.mu.Unlock() + return newValue, false + default: + // Create and append a bucket. + newb := new(bucketPadded[K, V]) + newb.meta.Store(setByte(defaultMeta, h2, 0)) + newe := new(entry[K, V]) + newe.key = key + newe.value = newValue + newb.entries[0].Store(newe) + b.next.Store(newb) + rootb.mu.Unlock() + table.addSize(bidx, 1) + return newValue, computeOnly + } + } + b = b.next.Load() + } + } +} + +func (m *Map[K, V]) newerTableExists(table *mapTable[K, V]) bool { + return table != m.table.Load() +} + +func (m *Map[K, V]) resizeInProgress() bool { + return m.resizing.Load() +} + +func (m *Map[K, V]) waitForResize() { + m.resizeMu.Lock() + for m.resizeInProgress() { + m.resizeCond.Wait() + } + m.resizeMu.Unlock() +} + +func (m *Map[K, V]) resize(knownTable *mapTable[K, V], hint mapResizeHint) { + knownTableLen := len(knownTable.buckets) + // Fast path for shrink attempts. + if hint == mapShrinkHint { + if m.growOnly || + m.minTableLen == knownTableLen || + knownTable.sumSize() > int64((knownTableLen*entriesPerMapBucket)/mapShrinkFraction) { + return + } + } + // Slow path. + if !m.resizing.CompareAndSwap(false, true) { + // Someone else started resize. Wait for it to finish. + m.waitForResize() + return + } + var newTable *mapTable[K, V] + table := m.table.Load() + tableLen := len(table.buckets) + switch hint { + case mapGrowHint: + // Grow the table with factor of 2. + m.totalGrowths.Add(1) + newTable = newMapTable[K, V](tableLen << 1) + case mapShrinkHint: + shrinkThreshold := int64((tableLen * entriesPerMapBucket) / mapShrinkFraction) + if tableLen > m.minTableLen && table.sumSize() <= shrinkThreshold { + // Shrink the table with factor of 2. + m.totalShrinks.Add(1) + newTable = newMapTable[K, V](tableLen >> 1) + } else { + // No need to shrink. Wake up all waiters and give up. + m.resizeMu.Lock() + m.resizing.Store(false) + m.resizeCond.Broadcast() + m.resizeMu.Unlock() + return + } + case mapClearHint: + newTable = newMapTable[K, V](m.minTableLen) + default: + panic(fmt.Sprintf("unexpected resize hint: %d", hint)) + } + // Copy the data only if we're not clearing the map. + if hint != mapClearHint { + for i := 0; i < tableLen; i++ { + copied := copyBucket(&table.buckets[i], newTable) + newTable.addSizePlain(uint64(i), copied) + } + } + // Publish the new table and wake up all waiters. + m.table.Store(newTable) + m.resizeMu.Lock() + m.resizing.Store(false) + m.resizeCond.Broadcast() + m.resizeMu.Unlock() +} + +func copyBucket[K comparable, V any]( + b *bucketPadded[K, V], + destTable *mapTable[K, V], +) (copied int) { + rootb := b + rootb.mu.Lock() + for { + for i := 0; i < entriesPerMapBucket; i++ { + if e := b.entries[i].Load(); e != nil { + hash := maphash.Comparable(destTable.seed, e.key) + bidx := uint64(len(destTable.buckets)-1) & h1(hash) + destb := &destTable.buckets[bidx] + appendToBucket(h2(hash), b.entries[i].Load(), destb) + copied++ + } + } + if next := b.next.Load(); next == nil { + rootb.mu.Unlock() + return + } else { + b = next + } + } +} + +// Range calls f sequentially for each key and value present in the +// map. If f returns false, range stops the iteration. +// +// Range does not necessarily correspond to any consistent snapshot +// of the Map's contents: no key will be visited more than once, but +// if the value for any key is stored or deleted concurrently, Range +// may reflect any mapping for that key from any point during the +// Range call. +// +// It is safe to modify the map while iterating it, including entry +// creation, modification and deletion. However, the concurrent +// modification rule apply, i.e. the changes may be not reflected +// in the subsequently iterated entries. +func (m *Map[K, V]) Range(f func(key K, value V) bool) { + m.initOnce.Do(m.init) + // Pre-allocate array big enough to fit entries for most hash tables. + bentries := make([]*entry[K, V], 0, 16*entriesPerMapBucket) + table := m.table.Load() + for i := range table.buckets { + rootb := &table.buckets[i] + b := rootb + // Prevent concurrent modifications and copy all entries into + // the intermediate slice. + rootb.mu.Lock() + for { + for i := 0; i < entriesPerMapBucket; i++ { + if entry := b.entries[i].Load(); entry != nil { + bentries = append(bentries, entry) + } + } + if next := b.next.Load(); next == nil { + rootb.mu.Unlock() + break + } else { + b = next + } + } + // Call the function for all copied entries. + for j, e := range bentries { + if !f(e.key, e.value) { + return + } + // Remove the reference to avoid preventing the copied + // entries from being GCed until this method finishes. + bentries[j] = nil + } + bentries = bentries[:0] + } +} + +// Clear deletes all keys and values currently stored in the map. +func (m *Map[K, V]) Clear() { + m.initOnce.Do(m.init) + m.resize(m.table.Load(), mapClearHint) +} + +// Size returns current size of the map. +func (m *Map[K, V]) Size() int { + m.initOnce.Do(m.init) + return int(m.table.Load().sumSize()) +} + +func appendToBucket[K comparable, V any](h2 uint8, e *entry[K, V], b *bucketPadded[K, V]) { + for { + for i := 0; i < entriesPerMapBucket; i++ { + if b.entries[i].Load() == nil { + b.meta.Store(setByte(b.meta.Load(), h2, i)) + b.entries[i].Store(e) + return + } + } + if next := b.next.Load(); next == nil { + newb := new(bucketPadded[K, V]) + newb.meta.Store(setByte(defaultMeta, h2, 0)) + newb.entries[0].Store(e) + b.next.Store(newb) + return + } else { + b = next + } + } +} + +func (table *mapTable[K, V]) addSize(bucketIdx uint64, delta int) { + cidx := uint64(len(table.size)-1) & bucketIdx + atomic.AddInt64(&table.size[cidx].c, int64(delta)) +} + +func (table *mapTable[K, V]) addSizePlain(bucketIdx uint64, delta int) { + cidx := uint64(len(table.size)-1) & bucketIdx + table.size[cidx].c += int64(delta) +} + +func (table *mapTable[K, V]) sumSize() int64 { + sum := int64(0) + for i := range table.size { + sum += atomic.LoadInt64(&table.size[i].c) + } + return sum +} + +func h1(h uint64) uint64 { + return h >> 7 +} + +func h2(h uint64) uint8 { + return uint8(h & 0x7f) +} + +// MapStats is Map statistics. +// +// Warning: map statistics are intented to be used for diagnostic +// purposes, not for production code. This means that breaking changes +// may be introduced into this struct even between minor releases. +type MapStats struct { + // RootBuckets is the number of root buckets in the hash table. + // Each bucket holds a few entries. + RootBuckets int + // TotalBuckets is the total number of buckets in the hash table, + // including root and their chained buckets. Each bucket holds + // a few entries. + TotalBuckets int + // EmptyBuckets is the number of buckets that hold no entries. + EmptyBuckets int + // Capacity is the Map capacity, i.e. the total number of + // entries that all buckets can physically hold. This number + // does not consider the load factor. + Capacity int + // Size is the exact number of entries stored in the map. + Size int + // Counter is the number of entries stored in the map according + // to the internal atomic counter. In case of concurrent map + // modifications this number may be different from Size. + Counter int + // CounterLen is the number of internal atomic counter stripes. + // This number may grow with the map capacity to improve + // multithreaded scalability. + CounterLen int + // MinEntries is the minimum number of entries per a chain of + // buckets, i.e. a root bucket and its chained buckets. + MinEntries int + // MinEntries is the maximum number of entries per a chain of + // buckets, i.e. a root bucket and its chained buckets. + MaxEntries int + // TotalGrowths is the number of times the hash table grew. + TotalGrowths int64 + // TotalGrowths is the number of times the hash table shrinked. + TotalShrinks int64 +} + +// ToString returns string representation of map stats. +func (s *MapStats) ToString() string { + var sb strings.Builder + sb.WriteString("MapStats{\n") + sb.WriteString(fmt.Sprintf("RootBuckets: %d\n", s.RootBuckets)) + sb.WriteString(fmt.Sprintf("TotalBuckets: %d\n", s.TotalBuckets)) + sb.WriteString(fmt.Sprintf("EmptyBuckets: %d\n", s.EmptyBuckets)) + sb.WriteString(fmt.Sprintf("Capacity: %d\n", s.Capacity)) + sb.WriteString(fmt.Sprintf("Size: %d\n", s.Size)) + sb.WriteString(fmt.Sprintf("Counter: %d\n", s.Counter)) + sb.WriteString(fmt.Sprintf("CounterLen: %d\n", s.CounterLen)) + sb.WriteString(fmt.Sprintf("MinEntries: %d\n", s.MinEntries)) + sb.WriteString(fmt.Sprintf("MaxEntries: %d\n", s.MaxEntries)) + sb.WriteString(fmt.Sprintf("TotalGrowths: %d\n", s.TotalGrowths)) + sb.WriteString(fmt.Sprintf("TotalShrinks: %d\n", s.TotalShrinks)) + sb.WriteString("}\n") + return sb.String() +} + +// Stats returns statistics for the Map. Just like other map +// methods, this one is thread-safe. Yet it's an O(N) operation, +// so it should be used only for diagnostics or debugging purposes. +func (m *Map[K, V]) Stats() MapStats { + m.initOnce.Do(m.init) + stats := MapStats{ + TotalGrowths: m.totalGrowths.Load(), + TotalShrinks: m.totalShrinks.Load(), + MinEntries: math.MaxInt32, + } + table := m.table.Load() + stats.RootBuckets = len(table.buckets) + stats.Counter = int(table.sumSize()) + stats.CounterLen = len(table.size) + for i := range table.buckets { + nentries := 0 + b := &table.buckets[i] + stats.TotalBuckets++ + for { + nentriesLocal := 0 + stats.Capacity += entriesPerMapBucket + for i := 0; i < entriesPerMapBucket; i++ { + if b.entries[i].Load() != nil { + stats.Size++ + nentriesLocal++ + } + } + nentries += nentriesLocal + if nentriesLocal == 0 { + stats.EmptyBuckets++ + } + if next := b.next.Load(); next == nil { + break + } else { + b = next + } + stats.TotalBuckets++ + } + if nentries < stats.MinEntries { + stats.MinEntries = nentries + } + if nentries > stats.MaxEntries { + stats.MaxEntries = nentries + } + } + return stats +} + +const ( + // cacheLineSize is used in paddings to prevent false sharing; + // 64B are used instead of 128B as a compromise between + // memory footprint and performance; 128B usage may give ~30% + // improvement on NUMA machines. + cacheLineSize = 64 +) + +// nextPowOf2 computes the next highest power of 2 of 32-bit v. +// Source: https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 +func nextPowOf2(v uint32) uint32 { + if v == 0 { + return 1 + } + v-- + v |= v >> 1 + v |= v >> 2 + v |= v >> 4 + v |= v >> 8 + v |= v >> 16 + v++ + return v +} + +func broadcast(b uint8) uint64 { + return 0x101010101010101 * uint64(b) +} + +func firstMarkedByteIndex(w uint64) int { + return bits.TrailingZeros64(w) >> 3 +} + +// SWAR byte search: may produce false positives, e.g. for 0x0100, +// so make sure to double-check bytes found by this function. +func markZeroBytes(w uint64) uint64 { + return ((w - 0x0101010101010101) & (^w) & 0x8080808080808080) +} + +func setByte(w uint64, b uint8, idx int) uint64 { + shift := idx << 3 + return (w &^ (0xff << shift)) | (uint64(b) << shift) +} diff --git a/clash-meta/common/xsync/map_extra.go b/clash-meta/common/xsync/map_extra.go new file mode 100644 index 0000000000..8b62af605f --- /dev/null +++ b/clash-meta/common/xsync/map_extra.go @@ -0,0 +1,28 @@ +package xsync + +// LoadOrStoreFn returns the existing value for the key if +// present. Otherwise, it tries to compute the value using the +// provided function and, if successful, stores and returns +// the computed value. The loaded result is true if the value was +// loaded, or false if computed. +// +// This call locks a hash table bucket while the compute function +// is executed. It means that modifications on other entries in +// the bucket will be blocked until the valueFn executes. Consider +// this when the function includes long-running operations. +// +// Recovery this API and renamed from xsync/v3's LoadOrCompute. +// We unneeded support no-op (cancel) compute operation, it will only add complexity to existing code. +func (m *Map[K, V]) LoadOrStoreFn(key K, valueFn func() V) (actual V, loaded bool) { + return m.doCompute( + key, + func(oldValue V, loaded bool) (V, ComputeOp) { + if loaded { + return oldValue, CancelOp + } + return valueFn(), UpdateOp + }, + loadOrComputeOp, + false, + ) +} diff --git a/clash-meta/common/xsync/map_extra_test.go b/clash-meta/common/xsync/map_extra_test.go new file mode 100644 index 0000000000..b8938b8b80 --- /dev/null +++ b/clash-meta/common/xsync/map_extra_test.go @@ -0,0 +1,49 @@ +package xsync + +import ( + "strconv" + "testing" +) + +func TestMapOfLoadOrStoreFn(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrStoreFn(strconv.Itoa(i), func() int { + return i + }) + if loaded { + t.Fatalf("value not computed for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrStoreFn(strconv.Itoa(i), func() int { + return i + }) + if !loaded { + t.Fatalf("value not loaded for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapOfLoadOrStoreFn_FunctionCalledOnce(t *testing.T) { + m := NewMap[int, int]() + for i := 0; i < 100; { + m.LoadOrStoreFn(i, func() (v int) { + v, i = i, i+1 + return v + }) + } + m.Range(func(k, v int) bool { + if k != v { + t.Fatalf("%dth key is not equal to value %d", k, v) + } + return true + }) +} diff --git a/clash-meta/common/xsync/map_test.go b/clash-meta/common/xsync/map_test.go new file mode 100644 index 0000000000..b40d412bbb --- /dev/null +++ b/clash-meta/common/xsync/map_test.go @@ -0,0 +1,1732 @@ +package xsync + +import ( + "math" + "math/rand" + "strconv" + "sync" + "sync/atomic" + "testing" + "time" + "unsafe" + + "github.com/metacubex/randv2" +) + +const ( + // number of entries to use in benchmarks + benchmarkNumEntries = 1_000 + // key prefix used in benchmarks + benchmarkKeyPrefix = "what_a_looooooooooooooooooooooong_key_prefix_" +) + +type point struct { + x int32 + y int32 +} + +var benchmarkCases = []struct { + name string + readPercentage int +}{ + {"reads=100%", 100}, // 100% loads, 0% stores, 0% deletes + {"reads=99%", 99}, // 99% loads, 0.5% stores, 0.5% deletes + {"reads=90%", 90}, // 90% loads, 5% stores, 5% deletes + {"reads=75%", 75}, // 75% loads, 12.5% stores, 12.5% deletes +} + +var benchmarkKeys []string + +func init() { + benchmarkKeys = make([]string, benchmarkNumEntries) + for i := 0; i < benchmarkNumEntries; i++ { + benchmarkKeys[i] = benchmarkKeyPrefix + strconv.Itoa(i) + } +} + +func runParallel(b *testing.B, benchFn func(pb *testing.PB)) { + b.ResetTimer() + start := time.Now() + b.RunParallel(benchFn) + opsPerSec := float64(b.N) / float64(time.Since(start).Seconds()) + b.ReportMetric(opsPerSec, "ops/s") +} + +func TestMap_BucketStructSize(t *testing.T) { + size := unsafe.Sizeof(bucketPadded[string, int64]{}) + if size != 64 { + t.Fatalf("size of 64B (one cache line) is expected, got: %d", size) + } + size = unsafe.Sizeof(bucketPadded[struct{}, int32]{}) + if size != 64 { + t.Fatalf("size of 64B (one cache line) is expected, got: %d", size) + } +} + +func TestMap_MissingEntry(t *testing.T) { + m := NewMap[string, string]() + v, ok := m.Load("foo") + if ok { + t.Fatalf("value was not expected: %v", v) + } + if deleted, loaded := m.LoadAndDelete("foo"); loaded { + t.Fatalf("value was not expected %v", deleted) + } + if actual, loaded := m.LoadOrStore("foo", "bar"); loaded { + t.Fatalf("value was not expected %v", actual) + } +} + +func TestMap_EmptyStringKey(t *testing.T) { + m := NewMap[string, string]() + m.Store("", "foobar") + v, ok := m.Load("") + if !ok { + t.Fatal("value was expected") + } + if v != "foobar" { + t.Fatalf("value does not match: %v", v) + } +} + +func TestMapStore_NilValue(t *testing.T) { + m := NewMap[string, *struct{}]() + m.Store("foo", nil) + v, ok := m.Load("foo") + if !ok { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } +} + +func TestMapLoadOrStore_NilValue(t *testing.T) { + m := NewMap[string, *struct{}]() + m.LoadOrStore("foo", nil) + v, loaded := m.LoadOrStore("foo", nil) + if !loaded { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } +} + +func TestMapLoadOrStore_NonNilValue(t *testing.T) { + type foo struct{} + m := NewMap[string, *foo]() + newv := &foo{} + v, loaded := m.LoadOrStore("foo", newv) + if loaded { + t.Fatal("no value was expected") + } + if v != newv { + t.Fatalf("value does not match: %v", v) + } + newv2 := &foo{} + v, loaded = m.LoadOrStore("foo", newv2) + if !loaded { + t.Fatal("value was expected") + } + if v != newv { + t.Fatalf("value does not match: %v", v) + } +} + +func TestMapLoadAndStore_NilValue(t *testing.T) { + m := NewMap[string, *struct{}]() + m.LoadAndStore("foo", nil) + v, loaded := m.LoadAndStore("foo", nil) + if !loaded { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } + v, loaded = m.Load("foo") + if !loaded { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } +} + +func TestMapLoadAndStore_NonNilValue(t *testing.T) { + m := NewMap[string, int]() + v1 := 1 + v, loaded := m.LoadAndStore("foo", v1) + if loaded { + t.Fatal("no value was expected") + } + if v != v1 { + t.Fatalf("value does not match: %v", v) + } + v2 := 2 + v, loaded = m.LoadAndStore("foo", v2) + if !loaded { + t.Fatal("value was expected") + } + if v != v1 { + t.Fatalf("value does not match: %v", v) + } + v, loaded = m.Load("foo") + if !loaded { + t.Fatal("value was expected") + } + if v != v2 { + t.Fatalf("value does not match: %v", v) + } +} + +func TestMapRange(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + iters := 0 + met := make(map[string]int) + m.Range(func(key string, value int) bool { + if key != strconv.Itoa(value) { + t.Fatalf("got unexpected key/value for iteration %d: %v/%v", iters, key, value) + return false + } + met[key] += 1 + iters++ + return true + }) + if iters != numEntries { + t.Fatalf("got unexpected number of iterations: %d", iters) + } + for i := 0; i < numEntries; i++ { + if c := met[strconv.Itoa(i)]; c != 1 { + t.Fatalf("range did not iterate correctly over %d: %d", i, c) + } + } +} + +func TestMapRange_FalseReturned(t *testing.T) { + m := NewMap[string, int]() + for i := 0; i < 100; i++ { + m.Store(strconv.Itoa(i), i) + } + iters := 0 + m.Range(func(key string, value int) bool { + iters++ + return iters != 13 + }) + if iters != 13 { + t.Fatalf("got unexpected number of iterations: %d", iters) + } +} + +func TestMapRange_NestedDelete(t *testing.T) { + const numEntries = 256 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + m.Range(func(key string, value int) bool { + m.Delete(key) + return true + }) + for i := 0; i < numEntries; i++ { + if _, ok := m.Load(strconv.Itoa(i)); ok { + t.Fatalf("value found for %d", i) + } + } +} + +func TestMapStringStore(t *testing.T) { + const numEntries = 128 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(strconv.Itoa(i)) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapIntStore(t *testing.T) { + const numEntries = 128 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(i) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapStore_StructKeys_IntValues(t *testing.T) { + const numEntries = 128 + m := NewMap[point, int]() + for i := 0; i < numEntries; i++ { + m.Store(point{int32(i), -int32(i)}, i) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(point{int32(i), -int32(i)}) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapStore_StructKeys_StructValues(t *testing.T) { + const numEntries = 128 + m := NewMap[point, point]() + for i := 0; i < numEntries; i++ { + m.Store(point{int32(i), -int32(i)}, point{-int32(i), int32(i)}) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(point{int32(i), -int32(i)}) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v.x != -int32(i) { + t.Fatalf("x value does not match for %d: %v", i, v) + } + if v.y != int32(i) { + t.Fatalf("y value does not match for %d: %v", i, v) + } + } +} + +func TestMapLoadOrStore(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + if _, loaded := m.LoadOrStore(strconv.Itoa(i), i); !loaded { + t.Fatalf("value not found for %d", i) + } + } +} + +func TestMapLoadOrCompute(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrCompute(strconv.Itoa(i), func() (newValue int, cancel bool) { + return i, true + }) + if loaded { + t.Fatalf("value not computed for %d", i) + } + if v != 0 { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + if m.Size() != 0 { + t.Fatalf("zero map size expected: %d", m.Size()) + } + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrCompute(strconv.Itoa(i), func() (newValue int, cancel bool) { + return i, false + }) + if loaded { + t.Fatalf("value not computed for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrCompute(strconv.Itoa(i), func() (newValue int, cancel bool) { + t.Fatalf("value func invoked") + return newValue, false + }) + if !loaded { + t.Fatalf("value not loaded for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapLoadOrCompute_FunctionCalledOnce(t *testing.T) { + m := NewMap[int, int]() + for i := 0; i < 100; { + m.LoadOrCompute(i, func() (newValue int, cancel bool) { + newValue, i = i, i+1 + return newValue, false + }) + } + m.Range(func(k, v int) bool { + if k != v { + t.Fatalf("%dth key is not equal to value %d", k, v) + } + return true + }) +} + +func TestMapOfCompute(t *testing.T) { + m := NewMap[string, int]() + // Store a new value. + v, ok := m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 0 { + t.Fatalf("oldValue should be 0 when computing a new value: %d", oldValue) + } + if loaded { + t.Fatal("loaded should be false when computing a new value") + } + newValue = 42 + op = UpdateOp + return + }) + if v != 42 { + t.Fatalf("v should be 42 when computing a new value: %d", v) + } + if !ok { + t.Fatal("ok should be true when computing a new value") + } + // Update an existing value. + v, ok = m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 42 { + t.Fatalf("oldValue should be 42 when updating the value: %d", oldValue) + } + if !loaded { + t.Fatal("loaded should be true when updating the value") + } + newValue = oldValue + 42 + op = UpdateOp + return + }) + if v != 84 { + t.Fatalf("v should be 84 when updating the value: %d", v) + } + if !ok { + t.Fatal("ok should be true when updating the value") + } + // Check that NoOp doesn't update the value + v, ok = m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + return 0, CancelOp + }) + if v != 84 { + t.Fatalf("v should be 84 after using NoOp: %d", v) + } + if !ok { + t.Fatal("ok should be true when updating the value") + } + // Delete an existing value. + v, ok = m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 84 { + t.Fatalf("oldValue should be 84 when deleting the value: %d", oldValue) + } + if !loaded { + t.Fatal("loaded should be true when deleting the value") + } + op = DeleteOp + return + }) + if v != 84 { + t.Fatalf("v should be 84 when deleting the value: %d", v) + } + if ok { + t.Fatal("ok should be false when deleting the value") + } + // Try to delete a non-existing value. Notice different key. + v, ok = m.Compute("barbaz", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 0 { + t.Fatalf("oldValue should be 0 when trying to delete a non-existing value: %d", oldValue) + } + if loaded { + t.Fatal("loaded should be false when trying to delete a non-existing value") + } + // We're returning a non-zero value, but the map should ignore it. + newValue = 42 + op = DeleteOp + return + }) + if v != 0 { + t.Fatalf("v should be 0 when trying to delete a non-existing value: %d", v) + } + if ok { + t.Fatal("ok should be false when trying to delete a non-existing value") + } + // Try NoOp on a non-existing value + v, ok = m.Compute("barbaz", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 0 { + t.Fatalf("oldValue should be 0 when trying to delete a non-existing value: %d", oldValue) + } + if loaded { + t.Fatal("loaded should be false when trying to delete a non-existing value") + } + // We're returning a non-zero value, but the map should ignore it. + newValue = 42 + op = CancelOp + return + }) + if v != 0 { + t.Fatalf("v should be 0 when trying to delete a non-existing value: %d", v) + } + if ok { + t.Fatal("ok should be false when trying to delete a non-existing value") + } +} + +func TestMapStringStoreThenDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + m.Delete(strconv.Itoa(i)) + if _, ok := m.Load(strconv.Itoa(i)); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapIntStoreThenDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[int32, int32]() + for i := 0; i < numEntries; i++ { + m.Store(int32(i), int32(i)) + } + for i := 0; i < numEntries; i++ { + m.Delete(int32(i)) + if _, ok := m.Load(int32(i)); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStructStoreThenDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[point, string]() + for i := 0; i < numEntries; i++ { + m.Store(point{int32(i), 42}, strconv.Itoa(i)) + } + for i := 0; i < numEntries; i++ { + m.Delete(point{int32(i), 42}) + if _, ok := m.Load(point{int32(i), 42}); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStringStoreThenLoadAndDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + if v, loaded := m.LoadAndDelete(strconv.Itoa(i)); !loaded || v != i { + t.Fatalf("value was not found or different for %d: %v", i, v) + } + if _, ok := m.Load(strconv.Itoa(i)); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapIntStoreThenLoadAndDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + for i := 0; i < numEntries; i++ { + if _, loaded := m.LoadAndDelete(i); !loaded { + t.Fatalf("value was not found for %d", i) + } + if _, ok := m.Load(i); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStructStoreThenLoadAndDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[point, int]() + for i := 0; i < numEntries; i++ { + m.Store(point{42, int32(i)}, i) + } + for i := 0; i < numEntries; i++ { + if _, loaded := m.LoadAndDelete(point{42, int32(i)}); !loaded { + t.Fatalf("value was not found for %d", i) + } + if _, ok := m.Load(point{42, int32(i)}); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStoreThenParallelDelete_DoesNotShrinkBelowMinTableLen(t *testing.T) { + const numEntries = 1000 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + + cdone := make(chan bool) + go func() { + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + cdone <- true + }() + go func() { + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + cdone <- true + }() + + // Wait for the goroutines to finish. + <-cdone + <-cdone + + stats := m.Stats() + if stats.RootBuckets != defaultMinMapTableLen { + t.Fatalf("table length was different from the minimum: %d", stats.RootBuckets) + } +} + +func sizeBasedOnTypedRange(m *Map[string, int]) int { + size := 0 + m.Range(func(key string, value int) bool { + size++ + return true + }) + return size +} + +func TestMapSize(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + size := m.Size() + if size != 0 { + t.Fatalf("zero size expected: %d", size) + } + expectedSize := 0 + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + expectedSize++ + size := m.Size() + if size != expectedSize { + t.Fatalf("size of %d was expected, got: %d", expectedSize, size) + } + rsize := sizeBasedOnTypedRange(m) + if size != rsize { + t.Fatalf("size does not match number of entries in Range: %v, %v", size, rsize) + } + } + for i := 0; i < numEntries; i++ { + m.Delete(strconv.Itoa(i)) + expectedSize-- + size := m.Size() + if size != expectedSize { + t.Fatalf("size of %d was expected, got: %d", expectedSize, size) + } + rsize := sizeBasedOnTypedRange(m) + if size != rsize { + t.Fatalf("size does not match number of entries in Range: %v, %v", size, rsize) + } + } +} + +func TestMapClear(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + size := m.Size() + if size != numEntries { + t.Fatalf("size of %d was expected, got: %d", numEntries, size) + } + m.Clear() + size = m.Size() + if size != 0 { + t.Fatalf("zero size was expected, got: %d", size) + } + rsize := sizeBasedOnTypedRange(m) + if rsize != 0 { + t.Fatalf("zero number of entries in Range was expected, got: %d", rsize) + } +} + +func assertMapCapacity[K comparable, V any](t *testing.T, m *Map[K, V], expectedCap int) { + stats := m.Stats() + if stats.Capacity != expectedCap { + t.Fatalf("capacity was different from %d: %d", expectedCap, stats.Capacity) + } +} + +func TestNewMapWithPresize(t *testing.T) { + assertMapCapacity(t, NewMap[string, string](), defaultMinMapTableLen*entriesPerMapBucket) + assertMapCapacity(t, NewMap[string, string](WithPresize(0)), defaultMinMapTableLen*entriesPerMapBucket) + assertMapCapacity(t, NewMap[string, string](WithPresize(-100)), defaultMinMapTableLen*entriesPerMapBucket) + assertMapCapacity(t, NewMap[string, string](WithPresize(500)), 1280) + assertMapCapacity(t, NewMap[int, int](WithPresize(1_000_000)), 2621440) + assertMapCapacity(t, NewMap[point, point](WithPresize(100)), 160) +} + +func TestNewMapWithPresize_DoesNotShrinkBelowMinTableLen(t *testing.T) { + const minTableLen = 1024 + const numEntries = int(minTableLen * entriesPerMapBucket * mapLoadFactor) + m := NewMap[int, int](WithPresize(numEntries)) + for i := 0; i < 2*numEntries; i++ { + m.Store(i, i) + } + + stats := m.Stats() + if stats.RootBuckets <= minTableLen { + t.Fatalf("table did not grow: %d", stats.RootBuckets) + } + + for i := 0; i < 2*numEntries; i++ { + m.Delete(i) + } + + stats = m.Stats() + if stats.RootBuckets != minTableLen { + t.Fatalf("table length was different from the minimum: %d", stats.RootBuckets) + } +} + +func TestNewMapGrowOnly_OnlyShrinksOnClear(t *testing.T) { + const minTableLen = 128 + const numEntries = minTableLen * entriesPerMapBucket + m := NewMap[int, int](WithPresize(numEntries), WithGrowOnly()) + + stats := m.Stats() + initialTableLen := stats.RootBuckets + + for i := 0; i < 2*numEntries; i++ { + m.Store(i, i) + } + stats = m.Stats() + maxTableLen := stats.RootBuckets + if maxTableLen <= minTableLen { + t.Fatalf("table did not grow: %d", maxTableLen) + } + + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + stats = m.Stats() + if stats.RootBuckets != maxTableLen { + t.Fatalf("table length was different from the expected: %d", stats.RootBuckets) + } + + m.Clear() + stats = m.Stats() + if stats.RootBuckets != initialTableLen { + t.Fatalf("table length was different from the initial: %d", stats.RootBuckets) + } +} + +func TestMapResize(t *testing.T) { + testMapResize(t, NewMap[string, int]()) +} + +func testMapResize(t *testing.T, m *Map[string, int]) { + const numEntries = 100_000 + + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + stats := m.Stats() + if stats.Size != numEntries { + t.Fatalf("size was too small: %d", stats.Size) + } + expectedCapacity := int(math.RoundToEven(mapLoadFactor+1)) * stats.RootBuckets * entriesPerMapBucket + if stats.Capacity > expectedCapacity { + t.Fatalf("capacity was too large: %d, expected: %d", stats.Capacity, expectedCapacity) + } + if stats.RootBuckets <= defaultMinMapTableLen { + t.Fatalf("table was too small: %d", stats.RootBuckets) + } + if stats.TotalGrowths == 0 { + t.Fatalf("non-zero total growths expected: %d", stats.TotalGrowths) + } + if stats.TotalShrinks > 0 { + t.Fatalf("zero total shrinks expected: %d", stats.TotalShrinks) + } + // This is useful when debugging table resize and occupancy. + // Use -v flag to see the output. + t.Log(stats.ToString()) + + for i := 0; i < numEntries; i++ { + m.Delete(strconv.Itoa(i)) + } + stats = m.Stats() + if stats.Size > 0 { + t.Fatalf("zero size was expected: %d", stats.Size) + } + expectedCapacity = stats.RootBuckets * entriesPerMapBucket + if stats.Capacity != expectedCapacity { + t.Fatalf("capacity was too large: %d, expected: %d", stats.Capacity, expectedCapacity) + } + if stats.RootBuckets != defaultMinMapTableLen { + t.Fatalf("table was too large: %d", stats.RootBuckets) + } + if stats.TotalShrinks == 0 { + t.Fatalf("non-zero total shrinks expected: %d", stats.TotalShrinks) + } + t.Log(stats.ToString()) +} + +func TestMapResize_CounterLenLimit(t *testing.T) { + const numEntries = 1_000_000 + m := NewMap[string, string]() + + for i := 0; i < numEntries; i++ { + m.Store("foo"+strconv.Itoa(i), "bar"+strconv.Itoa(i)) + } + stats := m.Stats() + if stats.Size != numEntries { + t.Fatalf("size was too small: %d", stats.Size) + } + if stats.CounterLen != maxMapCounterLen { + t.Fatalf("number of counter stripes was too large: %d, expected: %d", + stats.CounterLen, maxMapCounterLen) + } +} + +func parallelSeqMapGrower(m *Map[int, int], numEntries int, positive bool, cdone chan bool) { + for i := 0; i < numEntries; i++ { + if positive { + m.Store(i, i) + } else { + m.Store(-i, -i) + } + } + cdone <- true +} + +func TestMapParallelGrowth_GrowOnly(t *testing.T) { + const numEntries = 100_000 + m := NewMap[int, int]() + cdone := make(chan bool) + go parallelSeqMapGrower(m, numEntries, true, cdone) + go parallelSeqMapGrower(m, numEntries, false, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map contents. + for i := -numEntries + 1; i < numEntries; i++ { + v, ok := m.Load(i) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + if s := m.Size(); s != 2*numEntries-1 { + t.Fatalf("unexpected size: %v", s) + } +} + +func parallelRandMapResizer(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + coin := r.Int63n(2) + for j := 0; j < numEntries; j++ { + if coin == 1 { + m.Store(strconv.Itoa(j), j) + } else { + m.Delete(strconv.Itoa(j)) + } + } + } + cdone <- true +} + +func TestMapParallelGrowth(t *testing.T) { + const numIters = 1_000 + const numEntries = 2 * entriesPerMapBucket * defaultMinMapTableLen + m := NewMap[string, int]() + cdone := make(chan bool) + go parallelRandMapResizer(t, m, numIters, numEntries, cdone) + go parallelRandMapResizer(t, m, numIters, numEntries, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map contents. + for i := 0; i < numEntries; i++ { + v, ok := m.Load(strconv.Itoa(i)) + if !ok { + // The entry may be deleted and that's ok. + continue + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + s := m.Size() + if s > numEntries { + t.Fatalf("unexpected size: %v", s) + } + rs := sizeBasedOnTypedRange(m) + if s != rs { + t.Fatalf("size does not match number of entries in Range: %v, %v", s, rs) + } +} + +func parallelRandMapClearer(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + coin := r.Int63n(2) + for j := 0; j < numEntries; j++ { + if coin == 1 { + m.Store(strconv.Itoa(j), j) + } else { + m.Clear() + } + } + } + cdone <- true +} + +func TestMapParallelClear(t *testing.T) { + const numIters = 100 + const numEntries = 1_000 + m := NewMap[string, int]() + cdone := make(chan bool) + go parallelRandMapClearer(t, m, numIters, numEntries, cdone) + go parallelRandMapClearer(t, m, numIters, numEntries, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map size. + s := m.Size() + if s > numEntries { + t.Fatalf("unexpected size: %v", s) + } + rs := sizeBasedOnTypedRange(m) + if s != rs { + t.Fatalf("size does not match number of entries in Range: %v, %v", s, rs) + } +} + +func parallelSeqMapStorer(t *testing.T, m *Map[string, int], storeEach, numIters, numEntries int, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + if storeEach == 0 || j%storeEach == 0 { + m.Store(strconv.Itoa(j), j) + // Due to atomic snapshots we must see a ""/j pair. + v, ok := m.Load(strconv.Itoa(j)) + if !ok { + t.Errorf("value was not found for %d", j) + break + } + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + break + } + } + } + } + cdone <- true +} + +func TestMapParallelStores(t *testing.T) { + const numStorers = 4 + const numIters = 10_000 + const numEntries = 100 + m := NewMap[string, int]() + cdone := make(chan bool) + for i := 0; i < numStorers; i++ { + go parallelSeqMapStorer(t, m, i, numIters, numEntries, cdone) + } + // Wait for the goroutines to finish. + for i := 0; i < numStorers; i++ { + <-cdone + } + // Verify map contents. + for i := 0; i < numEntries; i++ { + v, ok := m.Load(strconv.Itoa(i)) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func parallelRandMapStorer(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + j := r.Intn(numEntries) + if v, loaded := m.LoadOrStore(strconv.Itoa(j), j); loaded { + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + } + } + } + cdone <- true +} + +func parallelRandMapDeleter(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + j := r.Intn(numEntries) + if v, loaded := m.LoadAndDelete(strconv.Itoa(j)); loaded { + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + } + } + } + cdone <- true +} + +func parallelMapLoader(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + // Due to atomic snapshots we must either see no entry, or a ""/j pair. + if v, ok := m.Load(strconv.Itoa(j)); ok { + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + } + } + } + } + cdone <- true +} + +func TestMapAtomicSnapshot(t *testing.T) { + const numIters = 100_000 + const numEntries = 100 + m := NewMap[string, int]() + cdone := make(chan bool) + // Update or delete random entry in parallel with loads. + go parallelRandMapStorer(t, m, numIters, numEntries, cdone) + go parallelRandMapDeleter(t, m, numIters, numEntries, cdone) + go parallelMapLoader(t, m, numIters, numEntries, cdone) + // Wait for the goroutines to finish. + for i := 0; i < 3; i++ { + <-cdone + } +} + +func TestMapParallelStoresAndDeletes(t *testing.T) { + const numWorkers = 2 + const numIters = 100_000 + const numEntries = 1000 + m := NewMap[string, int]() + cdone := make(chan bool) + // Update random entry in parallel with deletes. + for i := 0; i < numWorkers; i++ { + go parallelRandMapStorer(t, m, numIters, numEntries, cdone) + go parallelRandMapDeleter(t, m, numIters, numEntries, cdone) + } + // Wait for the goroutines to finish. + for i := 0; i < 2*numWorkers; i++ { + <-cdone + } +} + +func parallelMapComputer(m *Map[uint64, uint64], numIters, numEntries int, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + m.Compute(uint64(j), func(oldValue uint64, loaded bool) (newValue uint64, op ComputeOp) { + return oldValue + 1, UpdateOp + }) + } + } + cdone <- true +} + +func TestMapParallelComputes(t *testing.T) { + const numWorkers = 4 // Also stands for numEntries. + const numIters = 10_000 + m := NewMap[uint64, uint64]() + cdone := make(chan bool) + for i := 0; i < numWorkers; i++ { + go parallelMapComputer(m, numIters, numWorkers, cdone) + } + // Wait for the goroutines to finish. + for i := 0; i < numWorkers; i++ { + <-cdone + } + // Verify map contents. + for i := 0; i < numWorkers; i++ { + v, ok := m.Load(uint64(i)) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != numWorkers*numIters { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func parallelRangeMapStorer(m *Map[int, int], numEntries int, stopFlag *int64, cdone chan bool) { + for { + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + if atomic.LoadInt64(stopFlag) != 0 { + break + } + } + cdone <- true +} + +func parallelRangeMapDeleter(m *Map[int, int], numEntries int, stopFlag *int64, cdone chan bool) { + for { + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + if atomic.LoadInt64(stopFlag) != 0 { + break + } + } + cdone <- true +} + +func TestMapParallelRange(t *testing.T) { + const numEntries = 10_000 + m := NewMap[int, int](WithPresize(numEntries)) + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + // Start goroutines that would be storing and deleting items in parallel. + cdone := make(chan bool) + stopFlag := int64(0) + go parallelRangeMapStorer(m, numEntries, &stopFlag, cdone) + go parallelRangeMapDeleter(m, numEntries, &stopFlag, cdone) + // Iterate the map and verify that no duplicate keys were met. + met := make(map[int]int) + m.Range(func(key int, value int) bool { + if key != value { + t.Fatalf("got unexpected value for key %d: %d", key, value) + return false + } + met[key] += 1 + return true + }) + if len(met) == 0 { + t.Fatal("no entries were met when iterating") + } + for k, c := range met { + if c != 1 { + t.Fatalf("met key %d multiple times: %d", k, c) + } + } + // Make sure that both goroutines finish. + atomic.StoreInt64(&stopFlag, 1) + <-cdone + <-cdone +} + +func parallelMapShrinker(t *testing.T, m *Map[uint64, *point], numIters, numEntries int, stopFlag *int64, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + if p, loaded := m.LoadOrStore(uint64(j), &point{int32(j), int32(j)}); loaded { + t.Errorf("value was present for %d: %v", j, p) + } + } + for j := 0; j < numEntries; j++ { + m.Delete(uint64(j)) + } + } + atomic.StoreInt64(stopFlag, 1) + cdone <- true +} + +func parallelMapUpdater(t *testing.T, m *Map[uint64, *point], idx int, stopFlag *int64, cdone chan bool) { + for atomic.LoadInt64(stopFlag) != 1 { + sleepUs := int(randv2.Uint64() % 10) + if p, loaded := m.LoadOrStore(uint64(idx), &point{int32(idx), int32(idx)}); loaded { + t.Errorf("value was present for %d: %v", idx, p) + } + time.Sleep(time.Duration(sleepUs) * time.Microsecond) + if _, ok := m.Load(uint64(idx)); !ok { + t.Errorf("value was not found for %d", idx) + } + m.Delete(uint64(idx)) + } + cdone <- true +} + +func TestMapDoesNotLoseEntriesOnResize(t *testing.T) { + const numIters = 10_000 + const numEntries = 128 + m := NewMap[uint64, *point]() + cdone := make(chan bool) + stopFlag := int64(0) + go parallelMapShrinker(t, m, numIters, numEntries, &stopFlag, cdone) + go parallelMapUpdater(t, m, numEntries, &stopFlag, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map contents. + if s := m.Size(); s != 0 { + t.Fatalf("map is not empty: %d", s) + } +} + +func TestMapStats(t *testing.T) { + m := NewMap[int, int]() + + stats := m.Stats() + if stats.RootBuckets != defaultMinMapTableLen { + t.Fatalf("unexpected number of root buckets: %d", stats.RootBuckets) + } + if stats.TotalBuckets != stats.RootBuckets { + t.Fatalf("unexpected number of total buckets: %d", stats.TotalBuckets) + } + if stats.EmptyBuckets != stats.RootBuckets { + t.Fatalf("unexpected number of empty buckets: %d", stats.EmptyBuckets) + } + if stats.Capacity != entriesPerMapBucket*defaultMinMapTableLen { + t.Fatalf("unexpected capacity: %d", stats.Capacity) + } + if stats.Size != 0 { + t.Fatalf("unexpected size: %d", stats.Size) + } + if stats.Counter != 0 { + t.Fatalf("unexpected counter: %d", stats.Counter) + } + if stats.CounterLen != 8 { + t.Fatalf("unexpected counter length: %d", stats.CounterLen) + } + + for i := 0; i < 200; i++ { + m.Store(i, i) + } + + stats = m.Stats() + if stats.RootBuckets != 2*defaultMinMapTableLen { + t.Fatalf("unexpected number of root buckets: %d", stats.RootBuckets) + } + if stats.TotalBuckets < stats.RootBuckets { + t.Fatalf("unexpected number of total buckets: %d", stats.TotalBuckets) + } + if stats.EmptyBuckets >= stats.RootBuckets { + t.Fatalf("unexpected number of empty buckets: %d", stats.EmptyBuckets) + } + if stats.Capacity < 2*entriesPerMapBucket*defaultMinMapTableLen { + t.Fatalf("unexpected capacity: %d", stats.Capacity) + } + if stats.Size != 200 { + t.Fatalf("unexpected size: %d", stats.Size) + } + if stats.Counter != 200 { + t.Fatalf("unexpected counter: %d", stats.Counter) + } + if stats.CounterLen != 8 { + t.Fatalf("unexpected counter length: %d", stats.CounterLen) + } +} + +func TestToPlainMap_NilPointer(t *testing.T) { + pm := ToPlainMap[int, int](nil) + if len(pm) != 0 { + t.Fatalf("got unexpected size of nil map copy: %d", len(pm)) + } +} + +func TestToPlainMap(t *testing.T) { + const numEntries = 1000 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + pm := ToPlainMap[int, int](m) + if len(pm) != numEntries { + t.Fatalf("got unexpected size of nil map copy: %d", len(pm)) + } + for i := 0; i < numEntries; i++ { + if v := pm[i]; v != i { + t.Fatalf("unexpected value for key %d: %d", i, v) + } + } +} + +func BenchmarkMap_NoWarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + if bc.readPercentage == 100 { + // This benchmark doesn't make sense without a warm-up. + continue + } + b.Run(bc.name, func(b *testing.B) { + m := NewMap[string, int]() + benchmarkMapStringKeys(b, func(k string) (int, bool) { + return m.Load(k) + }, func(k string, v int) { + m.Store(k, v) + }, func(k string) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func BenchmarkMap_WarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + b.Run(bc.name, func(b *testing.B) { + m := NewMap[string, int](WithPresize(benchmarkNumEntries)) + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(benchmarkKeyPrefix+strconv.Itoa(i), i) + } + b.ResetTimer() + benchmarkMapStringKeys(b, func(k string) (int, bool) { + return m.Load(k) + }, func(k string, v int) { + m.Store(k, v) + }, func(k string) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func benchmarkMapStringKeys( + b *testing.B, + loadFn func(k string) (int, bool), + storeFn func(k string, v int), + deleteFn func(k string), + readPercentage int, +) { + runParallel(b, func(pb *testing.PB) { + // convert percent to permille to support 99% case + storeThreshold := 10 * readPercentage + deleteThreshold := 10*readPercentage + ((1000 - 10*readPercentage) / 2) + for pb.Next() { + op := int(randv2.Uint64() % 1000) + i := int(randv2.Uint64() % benchmarkNumEntries) + if op >= deleteThreshold { + deleteFn(benchmarkKeys[i]) + } else if op >= storeThreshold { + storeFn(benchmarkKeys[i], i) + } else { + loadFn(benchmarkKeys[i]) + } + } + }) +} + +func BenchmarkMapInt_NoWarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + if bc.readPercentage == 100 { + // This benchmark doesn't make sense without a warm-up. + continue + } + b.Run(bc.name, func(b *testing.B) { + m := NewMap[int, int]() + benchmarkMapIntKeys(b, func(k int) (int, bool) { + return m.Load(k) + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func BenchmarkMapInt_WarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + b.Run(bc.name, func(b *testing.B) { + m := NewMap[int, int](WithPresize(benchmarkNumEntries)) + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(i, i) + } + b.ResetTimer() + benchmarkMapIntKeys(b, func(k int) (int, bool) { + return m.Load(k) + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func BenchmarkIntMapStandard_NoWarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + if bc.readPercentage == 100 { + // This benchmark doesn't make sense without a warm-up. + continue + } + b.Run(bc.name, func(b *testing.B) { + var m sync.Map + benchmarkMapIntKeys(b, func(k int) (value int, ok bool) { + v, ok := m.Load(k) + if ok { + return v.(int), ok + } else { + return 0, false + } + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +// This is a nice scenario for sync.Map since a lot of updates +// will hit the readOnly part of the map. +func BenchmarkIntMapStandard_WarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + b.Run(bc.name, func(b *testing.B) { + var m sync.Map + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(i, i) + } + b.ResetTimer() + benchmarkMapIntKeys(b, func(k int) (value int, ok bool) { + v, ok := m.Load(k) + if ok { + return v.(int), ok + } else { + return 0, false + } + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func benchmarkMapIntKeys( + b *testing.B, + loadFn func(k int) (int, bool), + storeFn func(k int, v int), + deleteFn func(k int), + readPercentage int, +) { + runParallel(b, func(pb *testing.PB) { + // convert percent to permille to support 99% case + storeThreshold := 10 * readPercentage + deleteThreshold := 10*readPercentage + ((1000 - 10*readPercentage) / 2) + for pb.Next() { + op := int(randv2.Uint64() % 1000) + i := int(randv2.Uint64() % benchmarkNumEntries) + if op >= deleteThreshold { + deleteFn(i) + } else if op >= storeThreshold { + storeFn(i, i) + } else { + loadFn(i) + } + } + }) +} + +func BenchmarkMapRange(b *testing.B) { + m := NewMap[string, int](WithPresize(benchmarkNumEntries)) + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(benchmarkKeys[i], i) + } + b.ResetTimer() + runParallel(b, func(pb *testing.PB) { + foo := 0 + for pb.Next() { + m.Range(func(key string, value int) bool { + foo++ + return true + }) + _ = foo + } + }) +} + +// Benchmarks noop performance of Compute +func BenchmarkCompute(b *testing.B) { + tests := []struct { + Name string + Op ComputeOp + }{ + { + Name: "UpdateOp", + Op: UpdateOp, + }, + { + Name: "CancelOp", + Op: CancelOp, + }, + } + for _, test := range tests { + b.Run("op="+test.Name, func(b *testing.B) { + m := NewMap[struct{}, bool]() + m.Store(struct{}{}, true) + b.ResetTimer() + for i := 0; i < b.N; i++ { + m.Compute(struct{}{}, func(oldValue bool, loaded bool) (newValue bool, op ComputeOp) { + return oldValue, test.Op + }) + } + }) + } +} + +func TestNextPowOf2(t *testing.T) { + if nextPowOf2(0) != 1 { + t.Error("nextPowOf2 failed") + } + if nextPowOf2(1) != 1 { + t.Error("nextPowOf2 failed") + } + if nextPowOf2(2) != 2 { + t.Error("nextPowOf2 failed") + } + if nextPowOf2(3) != 4 { + t.Error("nextPowOf2 failed") + } +} + +func TestBroadcast(t *testing.T) { + testCases := []struct { + input uint8 + expected uint64 + }{ + { + input: 0, + expected: 0, + }, + { + input: 1, + expected: 0x0101010101010101, + }, + { + input: 2, + expected: 0x0202020202020202, + }, + { + input: 42, + expected: 0x2a2a2a2a2a2a2a2a, + }, + { + input: 127, + expected: 0x7f7f7f7f7f7f7f7f, + }, + { + input: 255, + expected: 0xffffffffffffffff, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.input)), func(t *testing.T) { + if broadcast(tc.input) != tc.expected { + t.Errorf("unexpected result: %x", broadcast(tc.input)) + } + }) + } +} + +func TestFirstMarkedByteIndex(t *testing.T) { + testCases := []struct { + input uint64 + expected int + }{ + { + input: 0, + expected: 8, + }, + { + input: 0x8080808080808080, + expected: 0, + }, + { + input: 0x0000000000000080, + expected: 0, + }, + { + input: 0x0000000000008000, + expected: 1, + }, + { + input: 0x0000000000800000, + expected: 2, + }, + { + input: 0x0000000080000000, + expected: 3, + }, + { + input: 0x0000008000000000, + expected: 4, + }, + { + input: 0x0000800000000000, + expected: 5, + }, + { + input: 0x0080000000000000, + expected: 6, + }, + { + input: 0x8000000000000000, + expected: 7, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.input)), func(t *testing.T) { + if firstMarkedByteIndex(tc.input) != tc.expected { + t.Errorf("unexpected result: %x", firstMarkedByteIndex(tc.input)) + } + }) + } +} + +func TestMarkZeroBytes(t *testing.T) { + testCases := []struct { + input uint64 + expected uint64 + }{ + { + input: 0xffffffffffffffff, + expected: 0, + }, + { + input: 0, + expected: 0x8080808080808080, + }, + { + input: 1, + expected: 0x8080808080808000, + }, + { + input: 1 << 9, + expected: 0x8080808080800080, + }, + { + input: 1 << 17, + expected: 0x8080808080008080, + }, + { + input: 1 << 25, + expected: 0x8080808000808080, + }, + { + input: 1 << 33, + expected: 0x8080800080808080, + }, + { + input: 1 << 41, + expected: 0x8080008080808080, + }, + { + input: 1 << 49, + expected: 0x8000808080808080, + }, + { + input: 1 << 57, + expected: 0x0080808080808080, + }, + // false positive + { + input: 0x0100, + expected: 0x8080808080808080, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.input)), func(t *testing.T) { + if markZeroBytes(tc.input) != tc.expected { + t.Errorf("unexpected result: %x", markZeroBytes(tc.input)) + } + }) + } +} + +func TestSetByte(t *testing.T) { + testCases := []struct { + word uint64 + b uint8 + idx int + expected uint64 + }{ + { + word: 0xffffffffffffffff, + b: 0, + idx: 0, + expected: 0xffffffffffffff00, + }, + { + word: 0xffffffffffffffff, + b: 1, + idx: 1, + expected: 0xffffffffffff01ff, + }, + { + word: 0xffffffffffffffff, + b: 2, + idx: 2, + expected: 0xffffffffff02ffff, + }, + { + word: 0xffffffffffffffff, + b: 3, + idx: 3, + expected: 0xffffffff03ffffff, + }, + { + word: 0xffffffffffffffff, + b: 4, + idx: 4, + expected: 0xffffff04ffffffff, + }, + { + word: 0xffffffffffffffff, + b: 5, + idx: 5, + expected: 0xffff05ffffffffff, + }, + { + word: 0xffffffffffffffff, + b: 6, + idx: 6, + expected: 0xff06ffffffffffff, + }, + { + word: 0xffffffffffffffff, + b: 7, + idx: 7, + expected: 0x07ffffffffffffff, + }, + { + word: 0, + b: 0xff, + idx: 7, + expected: 0xff00000000000000, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.word)), func(t *testing.T) { + if setByte(tc.word, tc.b, tc.idx) != tc.expected { + t.Errorf("unexpected result: %x", setByte(tc.word, tc.b, tc.idx)) + } + }) + } +} diff --git a/clash-meta/component/loopback/detector.go b/clash-meta/component/loopback/detector.go index c639ab2205..59d16ca8a4 100644 --- a/clash-meta/component/loopback/detector.go +++ b/clash-meta/component/loopback/detector.go @@ -8,11 +8,10 @@ import ( "strconv" "github.com/metacubex/mihomo/common/callback" + "github.com/metacubex/mihomo/common/xsync" "github.com/metacubex/mihomo/component/iface" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/constant/features" - - "github.com/puzpuzpuz/xsync/v3" ) var disableLoopBackDetector, _ = strconv.ParseBool(os.Getenv("DISABLE_LOOPBACK_DETECTOR")) @@ -26,22 +25,19 @@ func init() { var ErrReject = errors.New("reject loopback connection") type Detector struct { - connMap *xsync.MapOf[netip.AddrPort, struct{}] - packetConnMap *xsync.MapOf[uint16, struct{}] + connMap xsync.Map[netip.AddrPort, struct{}] + packetConnMap xsync.Map[uint16, struct{}] } func NewDetector() *Detector { if disableLoopBackDetector { return nil } - return &Detector{ - connMap: xsync.NewMapOf[netip.AddrPort, struct{}](), - packetConnMap: xsync.NewMapOf[uint16, struct{}](), - } + return &Detector{} } func (l *Detector) NewConn(conn C.Conn) C.Conn { - if l == nil || l.connMap == nil { + if l == nil { return conn } metadata := C.Metadata{} @@ -59,7 +55,7 @@ func (l *Detector) NewConn(conn C.Conn) C.Conn { } func (l *Detector) NewPacketConn(conn C.PacketConn) C.PacketConn { - if l == nil || l.packetConnMap == nil { + if l == nil { return conn } metadata := C.Metadata{} @@ -78,7 +74,7 @@ func (l *Detector) NewPacketConn(conn C.PacketConn) C.PacketConn { } func (l *Detector) CheckConn(metadata *C.Metadata) error { - if l == nil || l.connMap == nil { + if l == nil { return nil } connAddr := metadata.SourceAddrPort() @@ -92,7 +88,7 @@ func (l *Detector) CheckConn(metadata *C.Metadata) error { } func (l *Detector) CheckPacketConn(metadata *C.Metadata) error { - if l == nil || l.packetConnMap == nil { + if l == nil { return nil } connAddr := metadata.SourceAddrPort() diff --git a/clash-meta/component/nat/table.go b/clash-meta/component/nat/table.go index 66241fb472..c74e6f886f 100644 --- a/clash-meta/component/nat/table.go +++ b/clash-meta/component/nat/table.go @@ -4,27 +4,24 @@ import ( "net" "sync" + "github.com/metacubex/mihomo/common/xsync" C "github.com/metacubex/mihomo/constant" - - "github.com/puzpuzpuz/xsync/v3" ) type Table struct { - mapping *xsync.MapOf[string, *entry] + mapping xsync.Map[string, *entry] } type entry struct { PacketSender C.PacketSender - LocalUDPConnMap *xsync.MapOf[string, *net.UDPConn] - LocalLockMap *xsync.MapOf[string, *sync.Cond] + LocalUDPConnMap xsync.Map[string, *net.UDPConn] + LocalLockMap xsync.Map[string, *sync.Cond] } func (t *Table) GetOrCreate(key string, maker func() C.PacketSender) (C.PacketSender, bool) { - item, loaded := t.mapping.LoadOrCompute(key, func() *entry { + item, loaded := t.mapping.LoadOrStoreFn(key, func() *entry { return &entry{ - PacketSender: maker(), - LocalUDPConnMap: xsync.NewMapOf[string, *net.UDPConn](), - LocalLockMap: xsync.NewMapOf[string, *sync.Cond](), + PacketSender: maker(), } }) return item.PacketSender, loaded @@ -68,7 +65,7 @@ func (t *Table) GetOrCreateLockForLocalConn(lAddr, key string) (*sync.Cond, bool if !loaded { return nil, false } - item, loaded := entry.LocalLockMap.LoadOrCompute(key, makeLock) + item, loaded := entry.LocalLockMap.LoadOrStoreFn(key, makeLock) return item, loaded } @@ -98,7 +95,5 @@ func makeLock() *sync.Cond { // New return *Cache func New() *Table { - return &Table{ - mapping: xsync.NewMapOf[string, *entry](), - } + return &Table{} } diff --git a/clash-meta/go.mod b/clash-meta/go.mod index 4bd156cc50..4abd65e128 100644 --- a/clash-meta/go.mod +++ b/clash-meta/go.mod @@ -19,7 +19,7 @@ require ( github.com/mdlayher/netlink v1.7.2 github.com/metacubex/amneziawg-go v0.0.0-20240922133038-fdf3a4d5a4ab github.com/metacubex/bart v0.20.5 - github.com/metacubex/bbolt v0.0.0-20240822011022-aed6d4850399 + github.com/metacubex/bbolt v0.0.0-20250715134201-d343f11712df github.com/metacubex/chacha v0.1.5 github.com/metacubex/fswatch v0.1.1 github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 @@ -42,7 +42,6 @@ require ( github.com/mroth/weightedrand/v2 v2.1.0 github.com/openacid/low v0.1.21 github.com/oschwald/maxminddb-golang v1.12.0 // lastest version compatible with golang1.20 - github.com/puzpuzpuz/xsync/v3 v3.5.1 github.com/sagernet/cors v1.2.1 github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a github.com/samber/lo v1.51.0 diff --git a/clash-meta/go.sum b/clash-meta/go.sum index f089d65209..2d615c9d43 100644 --- a/clash-meta/go.sum +++ b/clash-meta/go.sum @@ -100,8 +100,8 @@ github.com/metacubex/amneziawg-go v0.0.0-20240922133038-fdf3a4d5a4ab h1:Chbw+/31 github.com/metacubex/amneziawg-go v0.0.0-20240922133038-fdf3a4d5a4ab/go.mod h1:xVKK8jC5Sd3hfh7WjmCq+HorehIbrBijaUWmcuKjPcI= github.com/metacubex/bart v0.20.5 h1:XkgLZ17QxfxkqKdGsojoM2Zu01mmHyyQSFzt2/calTM= github.com/metacubex/bart v0.20.5/go.mod h1:DCcyfP4MC+Zy7sLK7XeGuMw+P5K9mIRsYOBgiE8icsI= -github.com/metacubex/bbolt v0.0.0-20240822011022-aed6d4850399 h1:oBowHVKZycNtAFbZ6avaCSZJYeme2Nrj+4RpV2cNJig= -github.com/metacubex/bbolt v0.0.0-20240822011022-aed6d4850399/go.mod h1:4xcieuIK+M4bGQmQYZVqEaIYqjS1ahO4kXG7EmDgEro= +github.com/metacubex/bbolt v0.0.0-20250715134201-d343f11712df h1:pwbTEBPk7QQbxEIIynLcn4WsEnAkFiR5Wjevw44MWdk= +github.com/metacubex/bbolt v0.0.0-20250715134201-d343f11712df/go.mod h1:+WmP0VJZDkDszvpa83HzfUp6QzARl/IKkMorH4+nODw= github.com/metacubex/chacha v0.1.5 h1:fKWMb/5c7ZrY8Uoqi79PPFxl+qwR7X/q0OrsAubyX2M= github.com/metacubex/chacha v0.1.5/go.mod h1:Djn9bPZxLTXbJFSeyo0/qzEzQI+gUSSzttuzZM75GH8= github.com/metacubex/fswatch v0.1.1 h1:jqU7C/v+g0qc2RUFgmAOPoVvfl2BXXUXEumn6oQuxhU= @@ -167,8 +167,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= -github.com/puzpuzpuz/xsync/v3 v3.5.1 h1:GJYJZwO6IdxN/IKbneznS6yPkVC+c3zyY/j19c++5Fg= -github.com/puzpuzpuz/xsync/v3 v3.5.1/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= github.com/sagernet/cors v1.2.1 h1:Cv5Z8y9YSD6Gm+qSpNrL3LO4lD3eQVvbFYJSG7JCMHQ= diff --git a/clash-meta/transport/tuic/v4/client.go b/clash-meta/transport/tuic/v4/client.go index afa83d8269..0c57e0df15 100644 --- a/clash-meta/transport/tuic/v4/client.go +++ b/clash-meta/transport/tuic/v4/client.go @@ -14,6 +14,7 @@ import ( atomic2 "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" "github.com/metacubex/mihomo/common/pool" + "github.com/metacubex/mihomo/common/xsync" tlsC "github.com/metacubex/mihomo/component/tls" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/log" @@ -21,7 +22,6 @@ import ( "github.com/metacubex/quic-go" "github.com/metacubex/randv2" - "github.com/puzpuzpuz/xsync/v3" ) type ClientOption struct { @@ -48,7 +48,7 @@ type clientImpl struct { openStreams atomic.Int64 closed atomic.Bool - udpInputMap *xsync.MapOf[uint32, net.Conn] + udpInputMap xsync.Map[uint32, net.Conn] // only ready for PoolClient dialerRef C.Dialer @@ -422,7 +422,6 @@ func NewClient(clientOption *ClientOption, udp bool, dialerRef C.Dialer) *Client ClientOption: clientOption, udp: udp, dialerRef: dialerRef, - udpInputMap: xsync.NewMapOf[uint32, net.Conn](), } c := &Client{ci} runtime.SetFinalizer(c, closeClient) diff --git a/clash-meta/transport/tuic/v4/server.go b/clash-meta/transport/tuic/v4/server.go index 62ba5a5822..9d0e037862 100644 --- a/clash-meta/transport/tuic/v4/server.go +++ b/clash-meta/transport/tuic/v4/server.go @@ -11,13 +11,13 @@ import ( "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" "github.com/metacubex/mihomo/common/pool" + "github.com/metacubex/mihomo/common/xsync" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/transport/socks5" "github.com/metacubex/mihomo/transport/tuic/common" "github.com/gofrs/uuid/v5" "github.com/metacubex/quic-go" - "github.com/puzpuzpuz/xsync/v3" ) type ServerOption struct { @@ -34,7 +34,6 @@ func NewServerHandler(option *ServerOption, quicConn *quic.Conn, uuid uuid.UUID) quicConn: quicConn, uuid: uuid, authCh: make(chan struct{}), - udpInputMap: xsync.NewMapOf[uint32, *atomic.Bool](), } } @@ -47,7 +46,7 @@ type serverHandler struct { authOk atomic.Bool authOnce sync.Once - udpInputMap *xsync.MapOf[uint32, *atomic.Bool] + udpInputMap xsync.Map[uint32, *atomic.Bool] } func (s *serverHandler) AuthOk() bool { @@ -80,7 +79,7 @@ func (s *serverHandler) parsePacket(packet *Packet, udpRelayMode common.UdpRelay assocId = packet.ASSOC_ID - writeClosed, _ := s.udpInputMap.LoadOrCompute(assocId, func() *atomic.Bool { return &atomic.Bool{} }) + writeClosed, _ := s.udpInputMap.LoadOrStoreFn(assocId, func() *atomic.Bool { return &atomic.Bool{} }) if writeClosed.Load() { return nil } diff --git a/clash-meta/transport/tuic/v5/client.go b/clash-meta/transport/tuic/v5/client.go index ff6fbc3e85..5fc1388899 100644 --- a/clash-meta/transport/tuic/v5/client.go +++ b/clash-meta/transport/tuic/v5/client.go @@ -14,6 +14,7 @@ import ( atomic2 "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" "github.com/metacubex/mihomo/common/pool" + "github.com/metacubex/mihomo/common/xsync" tlsC "github.com/metacubex/mihomo/component/tls" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/log" @@ -21,7 +22,6 @@ import ( "github.com/metacubex/quic-go" "github.com/metacubex/randv2" - "github.com/puzpuzpuz/xsync/v3" ) type ClientOption struct { @@ -47,7 +47,7 @@ type clientImpl struct { openStreams atomic.Int64 closed atomic.Bool - udpInputMap *xsync.MapOf[uint16, net.Conn] + udpInputMap xsync.Map[uint16, net.Conn] // only ready for PoolClient dialerRef C.Dialer @@ -406,7 +406,6 @@ func NewClient(clientOption *ClientOption, udp bool, dialerRef C.Dialer) *Client ClientOption: clientOption, udp: udp, dialerRef: dialerRef, - udpInputMap: xsync.NewMapOf[uint16, net.Conn](), } c := &Client{ci} runtime.SetFinalizer(c, closeClient) diff --git a/clash-meta/transport/tuic/v5/server.go b/clash-meta/transport/tuic/v5/server.go index 31bedf3552..18ace9f14d 100644 --- a/clash-meta/transport/tuic/v5/server.go +++ b/clash-meta/transport/tuic/v5/server.go @@ -10,13 +10,13 @@ import ( "github.com/metacubex/mihomo/adapter/inbound" "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" + "github.com/metacubex/mihomo/common/xsync" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/transport/socks5" "github.com/metacubex/mihomo/transport/tuic/common" "github.com/gofrs/uuid/v5" "github.com/metacubex/quic-go" - "github.com/puzpuzpuz/xsync/v3" ) type ServerOption struct { @@ -33,7 +33,6 @@ func NewServerHandler(option *ServerOption, quicConn *quic.Conn, uuid uuid.UUID) quicConn: quicConn, uuid: uuid, authCh: make(chan struct{}), - udpInputMap: xsync.NewMapOf[uint16, *serverUDPInput](), } } @@ -47,7 +46,7 @@ type serverHandler struct { authUUID atomic.TypedValue[string] authOnce sync.Once - udpInputMap *xsync.MapOf[uint16, *serverUDPInput] + udpInputMap xsync.Map[uint16, *serverUDPInput] } func (s *serverHandler) AuthOk() bool { @@ -96,7 +95,7 @@ func (s *serverHandler) parsePacket(packet *Packet, udpRelayMode common.UdpRelay assocId = packet.ASSOC_ID - input, _ := s.udpInputMap.LoadOrCompute(assocId, func() *serverUDPInput { return &serverUDPInput{} }) + input, _ := s.udpInputMap.LoadOrStoreFn(assocId, func() *serverUDPInput { return &serverUDPInput{} }) if input.writeClosed.Load() { return nil } diff --git a/clash-meta/tunnel/statistic/manager.go b/clash-meta/tunnel/statistic/manager.go index 3f2770c249..90a34b6d0f 100644 --- a/clash-meta/tunnel/statistic/manager.go +++ b/clash-meta/tunnel/statistic/manager.go @@ -5,8 +5,8 @@ import ( "time" "github.com/metacubex/mihomo/common/atomic" + "github.com/metacubex/mihomo/common/xsync" - "github.com/puzpuzpuz/xsync/v3" "github.com/shirou/gopsutil/v4/process" ) @@ -14,7 +14,6 @@ var DefaultManager *Manager func init() { DefaultManager = &Manager{ - connections: xsync.NewMapOf[string, Tracker](), uploadTemp: atomic.NewInt64(0), downloadTemp: atomic.NewInt64(0), uploadBlip: atomic.NewInt64(0), @@ -28,7 +27,7 @@ func init() { } type Manager struct { - connections *xsync.MapOf[string, Tracker] + connections xsync.Map[string, Tracker] uploadTemp atomic.Int64 downloadTemp atomic.Int64 uploadBlip atomic.Int64 diff --git a/clash-nyanpasu/backend/Cargo.lock b/clash-nyanpasu/backend/Cargo.lock index 18ec9d3d9e..53ccb28748 100644 --- a/clash-nyanpasu/backend/Cargo.lock +++ b/clash-nyanpasu/backend/Cargo.lock @@ -5033,18 +5033,18 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" [[package]] name = "lua-src" -version = "547.0.0" +version = "548.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edaf29e3517b49b8b746701e5648ccb5785cde1c119062cbabbc5d5cd115e42" +checksum = "00bc4bd1f1d5c65b30717333cbec4fa7aa378978940a1bca62f404498d423233" dependencies = [ "cc", ] [[package]] name = "luajit-src" -version = "210.5.12+a4f56a4" +version = "210.6.1+f9140a6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a8e7962a5368d5f264d045a5a255e90f9aa3fc1941ae15a8d2940d42cac671" +checksum = "813bd31f2759443affa687c0d9c5eb5cf6cb0e898810ab197408431d746054bf" dependencies = [ "cc", "which 7.0.3", @@ -5246,9 +5246,9 @@ dependencies = [ [[package]] name = "mlua" -version = "0.10.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1f5f8fbebc7db5f671671134b9321c4b9aa9adeafccfd9a8c020ae45c6a35d0" +checksum = "22fe7d52e09b3229ee7a6dfc5ba77fa250d8cd3478d3a509cc17934571a7ea0b" dependencies = [ "bstr", "either", @@ -5265,9 +5265,9 @@ dependencies = [ [[package]] name = "mlua-sys" -version = "0.6.8" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380c1f7e2099cafcf40e51d3a9f20a346977587aa4d012eae1f043149a728a93" +checksum = "bcdf7c9e260ca82aaa32ac11148941952b856bb8c69aa5a9e65962f21fcb8637" dependencies = [ "cc", "cfg-if", diff --git a/clash-nyanpasu/backend/tauri/Cargo.toml b/clash-nyanpasu/backend/tauri/Cargo.toml index 24aba678da..46cfa3a67d 100644 --- a/clash-nyanpasu/backend/tauri/Cargo.toml +++ b/clash-nyanpasu/backend/tauri/Cargo.toml @@ -180,7 +180,7 @@ oxc_syntax = "0.77" oxc_ast_visit = "0.77" # Lua Integration -mlua = { version = "0.10", features = [ +mlua = { version = "0.11", features = [ "lua54", "async", "serialize", diff --git a/clash-nyanpasu/frontend/nyanpasu/package.json b/clash-nyanpasu/frontend/nyanpasu/package.json index d36e465417..95d5aa1d35 100644 --- a/clash-nyanpasu/frontend/nyanpasu/package.json +++ b/clash-nyanpasu/frontend/nyanpasu/package.json @@ -55,12 +55,12 @@ "@csstools/normalize.css": "12.1.1", "@emotion/babel-plugin": "11.13.5", "@emotion/react": "11.14.0", - "@iconify/json": "2.2.358", + "@iconify/json": "2.2.359", "@monaco-editor/react": "4.7.0", "@tanstack/react-query": "5.83.0", - "@tanstack/react-router": "1.127.3", - "@tanstack/react-router-devtools": "1.127.3", - "@tanstack/router-plugin": "1.127.5", + "@tanstack/react-router": "1.127.8", + "@tanstack/react-router-devtools": "1.127.8", + "@tanstack/router-plugin": "1.127.8", "@tauri-apps/plugin-clipboard-manager": "2.2.2", "@tauri-apps/plugin-dialog": "2.2.2", "@tauri-apps/plugin-fs": "2.3.0", diff --git a/clash-nyanpasu/manifest/version.json b/clash-nyanpasu/manifest/version.json index a361e0fe75..f688e70e9c 100644 --- a/clash-nyanpasu/manifest/version.json +++ b/clash-nyanpasu/manifest/version.json @@ -2,10 +2,10 @@ "manifest_version": 1, "latest": { "mihomo": "v1.19.11", - "mihomo_alpha": "alpha-fb464bb", + "mihomo_alpha": "alpha-300eb8b", "clash_rs": "v0.8.1", "clash_premium": "2023-09-05-gdcc8d87", - "clash_rs_alpha": "0.8.1-alpha+sha.31b7349" + "clash_rs_alpha": "0.8.1-alpha+sha.42a8443" }, "arch_template": { "mihomo": { @@ -69,5 +69,5 @@ "linux-armv7hf": "clash-armv7-unknown-linux-gnueabihf" } }, - "updated_at": "2025-07-13T22:21:20.442Z" + "updated_at": "2025-07-14T22:21:28.083Z" } diff --git a/clash-nyanpasu/pnpm-lock.yaml b/clash-nyanpasu/pnpm-lock.yaml index 9d6b3033b6..000b635ba2 100644 --- a/clash-nyanpasu/pnpm-lock.yaml +++ b/clash-nyanpasu/pnpm-lock.yaml @@ -247,7 +247,7 @@ importers: version: 4.1.11 '@tanstack/router-zod-adapter': specifier: 1.81.5 - version: 1.81.5(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(zod@3.25.76) + version: 1.81.5(@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(zod@3.25.76) '@tauri-apps/api': specifier: 2.5.0 version: 2.5.0 @@ -337,8 +337,8 @@ importers: specifier: 11.14.0 version: 11.14.0(@types/react@19.1.8)(react@19.1.0) '@iconify/json': - specifier: 2.2.358 - version: 2.2.358 + specifier: 2.2.359 + version: 2.2.359 '@monaco-editor/react': specifier: 4.7.0 version: 4.7.0(monaco-editor@0.52.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) @@ -346,14 +346,14 @@ importers: specifier: 5.83.0 version: 5.83.0(react@19.1.0) '@tanstack/react-router': - specifier: 1.127.3 - version: 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + specifier: 1.127.8 + version: 1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/react-router-devtools': - specifier: 1.127.3 - version: 1.127.3(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.127.3)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3) + specifier: 1.127.8 + version: 1.127.8(@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.127.8)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3) '@tanstack/router-plugin': - specifier: 1.127.5 - version: 1.127.5(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@22.16.3)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.89.2)(sass@1.83.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) + specifier: 1.127.8 + version: 1.127.8(@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@22.16.3)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.89.2)(sass@1.83.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0)) '@tauri-apps/plugin-clipboard-manager': specifier: 2.2.2 version: 2.2.2 @@ -1774,8 +1774,8 @@ packages: '@vue/compiler-sfc': optional: true - '@iconify/json@2.2.358': - resolution: {integrity: sha512-01NTf7QOYG+gCb8iSWNwkuy/oPFQTgWQzrRYErw1R2IepyvbBkUTaMlLZr8OgAteBxUjNxAWSae2eGk3v9WPCw==} + '@iconify/json@2.2.359': + resolution: {integrity: sha512-nOIaROD3xeLiFGvJu0YIgeu4Hqbmz6T71b0lsFv1TY6Uu6Lk/5Z8GhDByIE2/zfgxvxfv3f+5A/DkLHmMXYu8Q==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -2933,16 +2933,16 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/react-router-devtools@1.127.3': - resolution: {integrity: sha512-MS8+ArGAoRpFaVWpXnQxNpq2bU5e2WGwV/3Gskh9YB09gqX3t6knp9im4kJ0kam16+A8Vohq1yOpCliyHzQawA==} + '@tanstack/react-router-devtools@1.127.8': + resolution: {integrity: sha512-LaM03Cq9ZXxde8MA0SLdcqU0uWGEQ8YX+POpnnL/0T7qR732HUD+zXhmGJno89RPJDfD7gySWgJOwv5DCus7kQ==} engines: {node: '>=12'} peerDependencies: - '@tanstack/react-router': ^1.127.3 + '@tanstack/react-router': ^1.127.8 react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.127.3': - resolution: {integrity: sha512-QprmWHJrGbEKXJiP7WZ+dilTJRc7nMbsFCUnfAUw8PsOYanhgvBkBwAU05YEo8WTIZ9atCc1R90hyzqbiBFkdA==} + '@tanstack/react-router@1.127.8': + resolution: {integrity: sha512-UIIlCdq/rVGeKtaevzl5e/n3z4RJby29kRaVY+Tungg1IY9decagXYyR/bmfxgzvF5+YI+muy9MH+FxNAzanMA==} engines: {node: '>=12'} peerDependencies: react: '>=18.0.0 || >=19.0.0' @@ -2967,15 +2967,15 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.127.3': - resolution: {integrity: sha512-08JlfwsMIDkMyCQsRviMVBn0cVUzlNzkll4pZgf6QRSO1RASBsci5hMojcsdH0d/yXLH0FBJ6fINbj0ctBm63Q==} + '@tanstack/router-core@1.127.8': + resolution: {integrity: sha512-GYRmuvU9mcqu68GF56pNSE8TLGQ8jI0CsxuJXLwhwlawmnWGWeVo2L3g4ZOoK/lW6Mc5pr9OefkbEcyB/SFFNw==} engines: {node: '>=12'} - '@tanstack/router-devtools-core@1.127.3': - resolution: {integrity: sha512-TaLa0h7efSTmIMckTJ1s4PuvJSRGGv4PBSDQE9QnrtCn3SJAlzjK6VIcGq3C72QKJiVDyDtCcDas4q0YeT8I+A==} + '@tanstack/router-devtools-core@1.127.8': + resolution: {integrity: sha512-8rRqZ5AiTVUMLFkmFX5pyYe4NyC7vr5NJvpMz2QLXvFH/dkK1WONxEqkjE0VJ3p+ZI8CAjzgu5+KaQ+QFBIQsA==} engines: {node: '>=12'} peerDependencies: - '@tanstack/router-core': ^1.127.3 + '@tanstack/router-core': ^1.127.8 csstype: ^3.0.10 solid-js: '>=1.9.5' tiny-invariant: ^1.3.3 @@ -2983,16 +2983,16 @@ packages: csstype: optional: true - '@tanstack/router-generator@1.127.5': - resolution: {integrity: sha512-bPrUKJIo7cIBSF6FwKfZyYAl+FjoMU/HswWaYXr+rEdOw1EA86M3euuK33rfHNlVcxHTmZJk8AQ5p7ZYP6DogQ==} + '@tanstack/router-generator@1.127.8': + resolution: {integrity: sha512-46gXnlBUWR4/MUbfZoiO2YNwKlySVEC6IYPzC33qIh4suXsOP9ovAJVGLxXHLB+1FtwQs6NfIoDR0nGsP18dBg==} engines: {node: '>=12'} - '@tanstack/router-plugin@1.127.5': - resolution: {integrity: sha512-7FzGsDM/XMy6TfAfdUkgJxN/xvPu8cIwJdoGQ4yAEdtk26BGCeaz3VZIDKX5mknNo8+H4//cO75a9F5UHsdVew==} + '@tanstack/router-plugin@1.127.8': + resolution: {integrity: sha512-DZ2QoSaiQMSwDHDycEi0powXMXoPVjdZC9HMcAaK6/HgVD6G6uDCWEIl3A3kc0kuEwYhO1U5U5ue6Q2Sk60RYw==} engines: {node: '>=12'} peerDependencies: '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.127.3 + '@tanstack/react-router': ^1.127.8 vite: '>=5.0.0 || >=6.0.0' vite-plugin-solid: ^2.11.2 webpack: '>=5.92.0' @@ -10032,7 +10032,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/json@2.2.358': + '@iconify/json@2.2.359': dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 @@ -11136,10 +11136,10 @@ snapshots: '@tanstack/query-core': 5.83.0 react: 19.1.0 - '@tanstack/react-router-devtools@1.127.3(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.127.3)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3)': + '@tanstack/react-router-devtools@1.127.8(@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@tanstack/router-core@1.127.8)(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(solid-js@1.9.5)(tiny-invariant@1.3.3)': dependencies: - '@tanstack/react-router': 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-devtools-core': 1.127.3(@tanstack/router-core@1.127.3)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3) + '@tanstack/react-router': 1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@tanstack/router-devtools-core': 1.127.8(@tanstack/router-core@1.127.8)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3) react: 19.1.0 react-dom: 19.1.0(react@19.1.0) transitivePeerDependencies: @@ -11148,11 +11148,11 @@ snapshots: - solid-js - tiny-invariant - '@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/history': 1.121.34 '@tanstack/react-store': 0.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-core': 1.127.3 + '@tanstack/router-core': 1.127.8 isbot: 5.1.28 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -11178,7 +11178,7 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@tanstack/router-core@1.127.3': + '@tanstack/router-core@1.127.8': dependencies: '@tanstack/history': 1.121.34 '@tanstack/store': 0.7.0 @@ -11188,9 +11188,9 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - '@tanstack/router-devtools-core@1.127.3(@tanstack/router-core@1.127.3)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3)': + '@tanstack/router-devtools-core@1.127.8(@tanstack/router-core@1.127.8)(csstype@3.1.3)(solid-js@1.9.5)(tiny-invariant@1.3.3)': dependencies: - '@tanstack/router-core': 1.127.3 + '@tanstack/router-core': 1.127.8 clsx: 2.1.1 goober: 2.1.16(csstype@3.1.3) solid-js: 1.9.5 @@ -11198,9 +11198,9 @@ snapshots: optionalDependencies: csstype: 3.1.3 - '@tanstack/router-generator@1.127.5': + '@tanstack/router-generator@1.127.8': dependencies: - '@tanstack/router-core': 1.127.3 + '@tanstack/router-core': 1.127.8 '@tanstack/router-utils': 1.121.21 '@tanstack/virtual-file-routes': 1.121.21 prettier: 3.6.2 @@ -11211,7 +11211,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.127.5(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@22.16.3)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.89.2)(sass@1.83.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': + '@tanstack/router-plugin@1.127.8(@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@7.0.4(@types/node@22.16.3)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.89.2)(sass@1.83.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@babel/core': 7.27.7 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.7) @@ -11219,8 +11219,8 @@ snapshots: '@babel/template': 7.27.2 '@babel/traverse': 7.27.7 '@babel/types': 7.27.7 - '@tanstack/router-core': 1.127.3 - '@tanstack/router-generator': 1.127.5 + '@tanstack/router-core': 1.127.8 + '@tanstack/router-generator': 1.127.8 '@tanstack/router-utils': 1.121.21 '@tanstack/virtual-file-routes': 1.121.21 babel-dead-code-elimination: 1.0.10 @@ -11228,7 +11228,7 @@ snapshots: unplugin: 2.3.5 zod: 3.25.76 optionalDependencies: - '@tanstack/react-router': 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@tanstack/react-router': 1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) vite: 7.0.4(@types/node@22.16.3)(jiti@2.4.2)(less@4.2.0)(lightningcss@1.30.1)(sass-embedded@1.89.2)(sass@1.83.0)(stylus@0.62.0)(terser@5.36.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: - supports-color @@ -11244,9 +11244,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-zod-adapter@1.81.5(@tanstack/react-router@1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(zod@3.25.76)': + '@tanstack/router-zod-adapter@1.81.5(@tanstack/react-router@1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(zod@3.25.76)': dependencies: - '@tanstack/react-router': 1.127.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@tanstack/react-router': 1.127.8(react-dom@19.1.0(react@19.1.0))(react@19.1.0) zod: 3.25.76 '@tanstack/store@0.7.0': {} diff --git a/clash-verge-rev/UPDATELOG.md b/clash-verge-rev/UPDATELOG.md index f7c1d5cd71..24b4ba45e2 100644 --- a/clash-verge-rev/UPDATELOG.md +++ b/clash-verge-rev/UPDATELOG.md @@ -14,6 +14,7 @@ - ä¿®å¤`DNS`覆写 `nameserver-policy` 字段无法正确识别 `geo` 库 - ä¿®å¤æœç´¢æ¡†è¾“入特殊字符崩溃 - ä¿®å¤ Windows 下 Start UP å称与 exe åç§°ä¸ç»Ÿä¸€ +- ä¿®å¤æ˜¾ç¤º Mihomo 内核日志等级应该大于设置等级 ### ✨ 新增功能 diff --git a/clash-verge-rev/src-tauri/Cargo.lock b/clash-verge-rev/src-tauri/Cargo.lock index 39bfa0e568..b4bce4dee3 100644 --- a/clash-verge-rev/src-tauri/Cargo.lock +++ b/clash-verge-rev/src-tauri/Cargo.lock @@ -887,21 +887,11 @@ dependencies = [ [[package]] name = "bzip2" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47" +checksum = "bea8dcd42434048e4f7a304411d9273a411f647446c1234a65ce0554923f4cff" dependencies = [ - "bzip2-sys", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.13+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" -dependencies = [ - "cc", - "pkg-config", + "libbz2-rs-sys", ] [[package]] @@ -3759,6 +3749,12 @@ dependencies = [ "once_cell", ] +[[package]] +name = "libbz2-rs-sys" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775bf80d5878ab7c2b1080b5351a48b2f737d9f6f8b383574eebcc22be0dfccb" + [[package]] name = "libc" version = "0.2.174" @@ -5322,6 +5318,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +[[package]] +name = "ppmd-rust" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c834641d8ad1b348c9ee86dec3b9840d805acd5f24daa5f90c788951a52ff59b" + [[package]] name = "ppv-lite86" version = "0.2.21" @@ -6848,9 +6850,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.35.2" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3ffa3e4ff2b324a57f7aeb3c349656c7b127c3c189520251a648102a92496e" +checksum = "aab138f5c1bb35231de19049060a87977ad23e04f2303e953bc5c2947ac7dec4" dependencies = [ "libc", "memchr", @@ -9705,9 +9707,9 @@ dependencies = [ [[package]] name = "zip" -version = "4.2.0" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ab361742de920c5535880f89bbd611ee62002bf11341d16a5f057bb8ba6899" +checksum = "9aed4ac33e8eb078c89e6cbb1d5c4c7703ec6d299fc3e7c3695af8f8b423468b" dependencies = [ "aes", "arbitrary", @@ -9722,6 +9724,7 @@ dependencies = [ "liblzma", "memchr", "pbkdf2", + "ppmd-rust", "sha1", "time", "zeroize", diff --git a/clash-verge-rev/src-tauri/Cargo.toml b/clash-verge-rev/src-tauri/Cargo.toml index cfca33fcec..d73d746f20 100755 --- a/clash-verge-rev/src-tauri/Cargo.toml +++ b/clash-verge-rev/src-tauri/Cargo.toml @@ -25,7 +25,10 @@ dunce = "1.0.5" log4rs = "1.3.0" nanoid = "0.4" chrono = "0.4.41" -sysinfo = "0.35.2" +sysinfo = { version = "0.36.0", default-features = false, features = [ + "network", + "system", +] } boa_engine = "0.20.0" serde_json = "1.0.140" serde_yaml = "0.9.34" @@ -62,7 +65,7 @@ tauri-plugin-clipboard-manager = "2.3.0" tauri-plugin-deep-link = "2.4.0" tauri-plugin-devtools = "2.0.0" tauri-plugin-window-state = "2.3.0" -zip = "4.2.0" +zip = "4.3.0" reqwest_dav = "0.2.1" aes-gcm = { version = "0.10.3", features = ["std"] } base64 = "0.22.1" diff --git a/clash-verge-rev/src/pages/logs.tsx b/clash-verge-rev/src/pages/logs.tsx index 8fedd052d8..0b4778dc15 100644 --- a/clash-verge-rev/src/pages/logs.tsx +++ b/clash-verge-rev/src/pages/logs.tsx @@ -24,6 +24,15 @@ import { toggleLogEnabled, } from "@/services/global-log-service"; +// 定义日志级别结构 +const LOG_LEVEL_HIERARCHY = { + all: ["info", "warning", "error", "debug"], + info: ["info", "warning", "error"], + warning: ["warning", "error"], + error: ["error"], + debug: ["debug"], +}; + const LogPage = () => { const { t } = useTranslation(); const [enableLog, setEnableLog] = useEnableLog(); @@ -35,21 +44,29 @@ const LogPage = () => { "info", ); const [match, setMatch] = useState(() => (_: string) => true); - const logData = useGlobalLogData(logLevel); + const logData = useGlobalLogData("all"); const [searchState, setSearchState] = useState(); const filterLogs = useMemo(() => { - return logData - ? logData.filter((data) => { - // 构建完整的æœç´¢æ–‡æœ¬ï¼ŒåŒ…嫿—¶é—´ã€ç±»åž‹å’Œå†…容 - const searchText = - `${data.time || ""} ${data.type} ${data.payload}`.toLowerCase(); + if (!logData || logData.length === 0) { + return []; + } - return logLevel === "all" - ? match(searchText) - : data.type.toLowerCase() === logLevel && match(searchText); - }) - : []; + const allowedTypes = LOG_LEVEL_HIERARCHY[logLevel] || []; + + return logData.filter((data) => { + const logType = data.type?.toLowerCase() || ""; + const isAllowedType = + logLevel === "all" || allowedTypes.includes(logType); + + // 构建完整的æœç´¢æ–‡æœ¬ï¼ŒåŒ…嫿—¶é—´ã€ç±»åž‹å’Œå†…容 + const searchText = + `${data.time || ""} ${data.type} ${data.payload}`.toLowerCase(); + + const matchesSearch = match(searchText); + + return isAllowedType && matchesSearch; + }); }, [logData, logLevel, match]); const handleLogLevelChange = (newLevel: LogLevel) => { diff --git a/filebrowser/CHANGELOG.md b/filebrowser/CHANGELOG.md index fedfbbfd89..c13780ac3a 100644 --- a/filebrowser/CHANGELOG.md +++ b/filebrowser/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [2.40.1](https://github.com/filebrowser/filebrowser/compare/v2.40.0...v2.40.1) (2025-07-15) + + +### Bug Fixes + +* print correct user on setup ([88f1442](https://github.com/filebrowser/filebrowser/commit/88f144293267260fd4d823e3259783309b1a57b3)) + ## [2.40.0](https://github.com/filebrowser/filebrowser/compare/v2.39.0...v2.40.0) (2025-07-13) diff --git a/filebrowser/cmd/root.go b/filebrowser/cmd/root.go index 4b6819b7d6..fd8001887c 100644 --- a/filebrowser/cmd/root.go +++ b/filebrowser/cmd/root.go @@ -364,6 +364,8 @@ func setupLog(logMethod string) { } func quickSetup(flags *pflag.FlagSet, d pythonData) { + log.Println("Performing quick setup") + set := &settings.Settings{ Key: generateKey(), Signup: false, @@ -430,10 +432,11 @@ func quickSetup(flags *pflag.FlagSet, d pythonData) { pwd, err = users.RandomPwd(set.MinimumPasswordLength) checkErr(err) - log.Println("Randomly generated password for user 'admin':", pwd) - + log.Printf("User '%s' initialized with randomly generated password: %s\n", username, pwd) password, err = users.ValidateAndHashPwd(pwd, set.MinimumPasswordLength) checkErr(err) + } else { + log.Printf("User '%s' initialize wth user-provided password\n", username) } if username == "" || password == "" { diff --git a/filebrowser/frontend/eslint.config.js b/filebrowser/frontend/eslint.config.js index 0ee268b3db..8d660425cd 100644 --- a/filebrowser/frontend/eslint.config.js +++ b/filebrowser/frontend/eslint.config.js @@ -1,26 +1,25 @@ import pluginVue from "eslint-plugin-vue"; -import vueTsEslintConfig from "@vue/eslint-config-typescript"; +import { + defineConfigWithVueTs, + vueTsConfigs, +} from "@vue/eslint-config-typescript"; import prettierConfig from "@vue/eslint-config-prettier"; -export default [ +export default defineConfigWithVueTs( { name: "app/files-to-lint", files: ["**/*.{ts,mts,tsx,vue}"], }, - { name: "app/files-to-ignore", ignores: ["**/dist/**", "**/dist-ssr/**", "**/coverage/**"], }, - - ...pluginVue.configs["flat/essential"], - ...vueTsEslintConfig(), + pluginVue.configs["flat/essential"], + vueTsConfigs.recommended, prettierConfig, - { rules: { // Note: you must disable the base rule as it can report incorrect errors - "no-unused-expressions": "off", "@typescript-eslint/no-unused-expressions": "off", // TODO: theres too many of these from before ts "@typescript-eslint/no-explicit-any": "off", @@ -34,5 +33,5 @@ export default [ }, ], }, - }, -]; + } +); diff --git a/filebrowser/frontend/package.json b/filebrowser/frontend/package.json index e09558c72f..b0dbc1b384 100644 --- a/filebrowser/frontend/package.json +++ b/filebrowser/frontend/package.json @@ -21,9 +21,9 @@ "@chenfengyuan/vue-number-input": "^2.0.1", "@vueuse/core": "^12.5.0", "@vueuse/integrations": "^12.5.0", - "ace-builds": "^1.37.5", - "core-js": "^3.40.0", - "dayjs": "^1.11.10", + "ace-builds": "^1.43.2", + "core-js": "^3.44.0", + "dayjs": "^1.11.13", "dompurify": "^3.2.6", "epubjs": "^0.3.93", "filesize": "^10.1.1", @@ -31,45 +31,46 @@ "jwt-decode": "^4.0.0", "lodash-es": "^4.17.21", "marked": "^15.0.6", - "material-icons": "^1.13.13", + "material-icons": "^1.13.14", "normalize.css": "^8.0.1", "pinia": "^2.3.1", "pretty-bytes": "^6.1.1", - "qrcode.vue": "^3.4.1", + "qrcode.vue": "^3.6.0", "tus-js-client": "^4.3.1", "utif": "^3.1.0", - "video.js": "^8.21.0", + "video.js": "^8.23.3", "videojs-hotkeys": "^0.2.28", "videojs-mobile-ui": "^1.1.1", - "vue": "^3.4.21", - "vue-final-modal": "^4.5.4", - "vue-i18n": "^11.1.2", + "vue": "^3.5.17", + "vue-final-modal": "^4.5.5", + "vue-i18n": "^11.1.9", "vue-lazyload": "^3.0.0", "vue-reader": "^1.2.17", - "vue-router": "^4.3.0", + "vue-router": "^4.5.1", "vue-toastification": "^2.0.0-rc.5" }, "devDependencies": { - "@intlify/unplugin-vue-i18n": "^6.0.3", - "@playwright/test": "^1.50.0", - "@tsconfig/node22": "^22.0.0", + "@intlify/unplugin-vue-i18n": "^6.0.8", + "@playwright/test": "^1.54.1", + "@tsconfig/node22": "^22.0.2", "@types/lodash-es": "^4.17.12", "@types/node": "^22.10.10", - "@typescript-eslint/eslint-plugin": "^8.21.0", + "@typescript-eslint/eslint-plugin": "^8.37.0", "@vitejs/plugin-legacy": "^6.0.0", "@vitejs/plugin-vue": "^5.0.4", "@vue/eslint-config-prettier": "^10.2.0", - "@vue/eslint-config-typescript": "^14.3.0", + "@vue/eslint-config-typescript": "^14.6.0", "@vue/tsconfig": "^0.7.0", - "autoprefixer": "^10.4.19", - "concurrently": "^9.1.2", - "eslint": "^9.19.0", - "eslint-plugin-prettier": "^5.2.3", + "autoprefixer": "^10.4.21", + "concurrently": "^9.2.0", + "eslint": "^9.31.0", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-prettier": "^5.5.1", "eslint-plugin-vue": "^9.24.0", - "jsdom": "^26.0.0", - "postcss": "^8.5.1", - "prettier": "^3.4.2", - "terser": "^5.37.0", + "jsdom": "^26.1.0", + "postcss": "^8.5.6", + "prettier": "^3.6.2", + "terser": "^5.43.1", "vite": "^6.1.6", "vite-plugin-compression2": "^1.0.0", "vue-tsc": "^2.2.0" diff --git a/filebrowser/frontend/pnpm-lock.yaml b/filebrowser/frontend/pnpm-lock.yaml index 6614251467..401be2b762 100644 --- a/filebrowser/frontend/pnpm-lock.yaml +++ b/filebrowser/frontend/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: dependencies: '@chenfengyuan/vue-number-input': specifier: ^2.0.1 - version: 2.0.1(vue@3.5.13(typescript@5.6.3)) + version: 2.0.1(vue@3.5.17(typescript@5.6.3)) '@vueuse/core': specifier: ^12.5.0 version: 12.5.0(typescript@5.6.3) @@ -18,13 +18,13 @@ importers: specifier: ^12.5.0 version: 12.5.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(typescript@5.6.3) ace-builds: - specifier: ^1.37.5 - version: 1.37.5 + specifier: ^1.43.2 + version: 1.43.2 core-js: - specifier: ^3.40.0 - version: 3.40.0 + specifier: ^3.44.0 + version: 3.44.0 dayjs: - specifier: ^1.11.10 + specifier: ^1.11.13 version: 1.11.13 dompurify: specifier: ^3.2.6 @@ -48,20 +48,20 @@ importers: specifier: ^15.0.6 version: 15.0.6 material-icons: - specifier: ^1.13.13 - version: 1.13.13 + specifier: ^1.13.14 + version: 1.13.14 normalize.css: specifier: ^8.0.1 version: 8.0.1 pinia: specifier: ^2.3.1 - version: 2.3.1(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)) + version: 2.3.1(typescript@5.6.3)(vue@3.5.17(typescript@5.6.3)) pretty-bytes: specifier: ^6.1.1 version: 6.1.1 qrcode.vue: - specifier: ^3.4.1 - version: 3.6.0(vue@3.5.13(typescript@5.6.3)) + specifier: ^3.6.0 + version: 3.6.0(vue@3.5.17(typescript@5.6.3)) tus-js-client: specifier: ^4.3.1 version: 4.3.1 @@ -69,45 +69,45 @@ importers: specifier: ^3.1.0 version: 3.1.0 video.js: - specifier: ^8.21.0 - version: 8.21.0 + specifier: ^8.23.3 + version: 8.23.3 videojs-hotkeys: specifier: ^0.2.28 version: 0.2.30 videojs-mobile-ui: specifier: ^1.1.1 - version: 1.1.1(video.js@8.21.0) + version: 1.1.1(video.js@8.23.3) vue: - specifier: ^3.4.21 - version: 3.5.13(typescript@5.6.3) + specifier: ^3.5.17 + version: 3.5.17(typescript@5.6.3) vue-final-modal: - specifier: ^4.5.4 - version: 4.5.5(@vueuse/core@12.5.0(typescript@5.6.3))(@vueuse/integrations@12.5.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(typescript@5.6.3))(focus-trap@7.6.2)(vue@3.5.13(typescript@5.6.3)) + specifier: ^4.5.5 + version: 4.5.5(@vueuse/core@12.5.0(typescript@5.6.3))(@vueuse/integrations@12.5.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(typescript@5.6.3))(focus-trap@7.6.2)(vue@3.5.17(typescript@5.6.3)) vue-i18n: - specifier: ^11.1.2 - version: 11.1.2(vue@3.5.13(typescript@5.6.3)) + specifier: ^11.1.9 + version: 11.1.9(vue@3.5.17(typescript@5.6.3)) vue-lazyload: specifier: ^3.0.0 version: 3.0.0 vue-reader: specifier: ^1.2.17 - version: 1.2.17(vue@3.5.13(typescript@5.6.3)) + version: 1.2.17(vue@3.5.17(typescript@5.6.3)) vue-router: - specifier: ^4.3.0 - version: 4.5.0(vue@3.5.13(typescript@5.6.3)) + specifier: ^4.5.1 + version: 4.5.1(vue@3.5.17(typescript@5.6.3)) vue-toastification: specifier: ^2.0.0-rc.5 - version: 2.0.0-rc.5(vue@3.5.13(typescript@5.6.3)) + version: 2.0.0-rc.5(vue@3.5.17(typescript@5.6.3)) devDependencies: '@intlify/unplugin-vue-i18n': - specifier: ^6.0.3 - version: 6.0.3(@vue/compiler-dom@3.5.13)(eslint@9.19.0)(rollup@4.40.1)(typescript@5.6.3)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) + specifier: ^6.0.8 + version: 6.0.8(@vue/compiler-dom@3.5.17)(eslint@9.31.0)(rollup@4.40.1)(typescript@5.6.3)(vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3)))(vue@3.5.17(typescript@5.6.3)) '@playwright/test': - specifier: ^1.50.0 - version: 1.50.0 + specifier: ^1.54.1 + version: 1.54.1 '@tsconfig/node22': - specifier: ^22.0.0 - version: 22.0.0 + specifier: ^22.0.2 + version: 22.0.2 '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 @@ -115,56 +115,59 @@ importers: specifier: ^22.10.10 version: 22.10.10 '@typescript-eslint/eslint-plugin': - specifier: ^8.21.0 - version: 8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.19.0)(typescript@5.6.3))(eslint@9.19.0)(typescript@5.6.3) + specifier: ^8.37.0 + version: 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.6.3))(eslint@9.31.0)(typescript@5.6.3) '@vitejs/plugin-legacy': specifier: ^6.0.0 - version: 6.0.0(terser@5.37.0)(vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0)) + version: 6.0.0(terser@5.43.1)(vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0)) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.2.1(vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.1(vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0))(vue@3.5.17(typescript@5.6.3)) '@vue/eslint-config-prettier': specifier: ^10.2.0 - version: 10.2.0(eslint@9.19.0)(prettier@3.4.2) + version: 10.2.0(eslint@9.31.0)(prettier@3.6.2) '@vue/eslint-config-typescript': - specifier: ^14.3.0 - version: 14.3.0(eslint-plugin-vue@9.32.0(eslint@9.19.0))(eslint@9.19.0)(typescript@5.6.3) + specifier: ^14.6.0 + version: 14.6.0(eslint-plugin-vue@9.32.0(eslint@9.31.0))(eslint@9.31.0)(typescript@5.6.3) '@vue/tsconfig': specifier: ^0.7.0 - version: 0.7.0(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)) + version: 0.7.0(typescript@5.6.3)(vue@3.5.17(typescript@5.6.3)) autoprefixer: - specifier: ^10.4.19 - version: 10.4.20(postcss@8.5.1) + specifier: ^10.4.21 + version: 10.4.21(postcss@8.5.6) concurrently: - specifier: ^9.1.2 - version: 9.1.2 + specifier: ^9.2.0 + version: 9.2.0 eslint: - specifier: ^9.19.0 - version: 9.19.0 + specifier: ^9.31.0 + version: 9.31.0 + eslint-config-prettier: + specifier: ^10.1.5 + version: 10.1.5(eslint@9.31.0) eslint-plugin-prettier: - specifier: ^5.2.3 - version: 5.2.3(eslint-config-prettier@10.0.1(eslint@9.19.0))(eslint@9.19.0)(prettier@3.4.2) + specifier: ^5.5.1 + version: 5.5.1(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint@9.31.0)(prettier@3.6.2) eslint-plugin-vue: specifier: ^9.24.0 - version: 9.32.0(eslint@9.19.0) + version: 9.32.0(eslint@9.31.0) jsdom: - specifier: ^26.0.0 - version: 26.0.0 + specifier: ^26.1.0 + version: 26.1.0 postcss: - specifier: ^8.5.1 - version: 8.5.1 + specifier: ^8.5.6 + version: 8.5.6 prettier: - specifier: ^3.4.2 - version: 3.4.2 + specifier: ^3.6.2 + version: 3.6.2 terser: - specifier: ^5.37.0 - version: 5.37.0 + specifier: ^5.43.1 + version: 5.43.1 vite: specifier: ^6.1.6 - version: 6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0) + version: 6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0) vite-plugin-compression2: specifier: ^1.0.0 - version: 1.3.3(rollup@4.40.1)(vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0)) + version: 1.3.3(rollup@4.40.1)(vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0)) vue-tsc: specifier: ^2.2.0 version: 2.2.0(typescript@5.6.3) @@ -269,10 +272,18 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} @@ -295,6 +306,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.28.0': + resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} engines: {node: '>=6.9.0'} @@ -684,6 +700,10 @@ packages: resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==} engines: {node: '>=6.9.0'} + '@babel/types@7.28.1': + resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==} + engines: {node: '>=6.9.0'} + '@chenfengyuan/vue-number-input@2.0.1': resolution: {integrity: sha512-/jqmfmFulFOGlozts0Sf2GCESMRYVTfZZSz2Tf4n9O5DKjqMi5B/MfRzm5H5A57WuG3L80yXFWFN+XeACKaIhQ==} peerDependencies: @@ -873,32 +893,42 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.12.1': resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.19.1': - resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.10.0': - resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} + '@eslint/config-helpers@0.3.0': + resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.2.0': - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + '@eslint/core@0.15.1': + resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.19.0': - resolution: {integrity: sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==} + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.5': - resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} + '@eslint/js@9.31.0': + resolution: {integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.5': - resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.3': + resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@humanfs/core@0.19.1': @@ -917,12 +947,12 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.1': - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@intlify/bundle-utils@10.0.0': - resolution: {integrity: sha512-BR5yLOkF2dzrARTbAg7RGAIPcx9Aark7p1K/0O285F7rfzso9j2dsa+S4dA67clZ0rToZ10NSSTfbyUptVu7Bg==} + '@intlify/bundle-utils@10.0.1': + resolution: {integrity: sha512-WkaXfSevtpgtUR4t8K2M6lbR7g03mtOxFeh+vXp5KExvPqS12ppaRj1QxzwRuRI5VUto54A22BjKoBMLyHILWQ==} engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' @@ -933,16 +963,16 @@ packages: vue-i18n: optional: true - '@intlify/core-base@11.1.2': - resolution: {integrity: sha512-nmG512G8QOABsserleechwHGZxzKSAlggGf9hQX0nltvSwyKNVuB/4o6iFeG2OnjXK253r8p8eSDOZf8PgFdWw==} + '@intlify/core-base@11.1.9': + resolution: {integrity: sha512-Lrdi4wp3XnGhWmB/mMD/XtfGUw1Jt+PGpZI/M63X1ZqhTDjNHRVCs/i8vv8U1cwaj1A9fb0bkCQHLSL0SK+pIQ==} engines: {node: '>= 16'} '@intlify/message-compiler@11.1.2': resolution: {integrity: sha512-T/xbNDzi+Yv0Qn2Dfz2CWCAJiwNgU5d95EhhAEf4YmOgjCKktpfpiUSmLcBvK1CtLpPQ85AMMQk/2NCcXnNj1g==} engines: {node: '>= 16'} - '@intlify/message-compiler@12.0.0-alpha.2': - resolution: {integrity: sha512-PD9C+oQbb7BF52hec0+vLnScaFkvnfX+R7zSbODYuRo/E2niAtGmHd0wPvEMsDhf9Z9b8f/qyDsVeZnD/ya9Ug==} + '@intlify/message-compiler@11.1.9': + resolution: {integrity: sha512-84SNs3Ikjg0rD1bOuchzb3iK1vR2/8nxrkyccIl5DjFTeMzE/Fxv6X+A7RN5ZXjEWelc1p5D4kHA6HEOhlKL5Q==} engines: {node: '>= 16'} '@intlify/shared@11.1.2': @@ -953,12 +983,12 @@ packages: resolution: {integrity: sha512-4yZeMt2Aa/7n5Ehy4KalUlvt3iRLcg1tq9IBVfOgkyWFArN4oygn6WxgGIFibP3svpaH8DarbNaottq+p0gUZQ==} engines: {node: '>= 16'} - '@intlify/shared@12.0.0-alpha.2': - resolution: {integrity: sha512-P2DULVX9nz3y8zKNqLw9Es1aAgQ1JGC+kgpx5q7yLmrnAKkPR5MybQWoEhxanefNJgUY5ehsgo+GKif59SrncA==} + '@intlify/shared@11.1.9': + resolution: {integrity: sha512-H/83xgU1l8ox+qG305p6ucmoy93qyjIPnvxGWRA7YdOoHe1tIiW9IlEu4lTdsOR7cfP1ecrwyflQSqXdXBacXA==} engines: {node: '>= 16'} - '@intlify/unplugin-vue-i18n@6.0.3': - resolution: {integrity: sha512-9ZDjBlhUHtgjRl23TVcgfJttgu8cNepwVhWvOv3mUMRDAhjW0pur1mWKEUKr1I8PNwE4Gvv2IQ1xcl4RL0nG0g==} + '@intlify/unplugin-vue-i18n@6.0.8': + resolution: {integrity: sha512-Vvm3KhjE6TIBVUQAk37rBiaYy2M5OcWH0ZcI1XKEsOTeN1o0bErk+zeuXmcrcMc/73YggfI8RoxOUz9EB/69JQ==} engines: {node: '>= 18'} peerDependencies: petite-vue-i18n: '*' @@ -1025,12 +1055,12 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@playwright/test@1.50.0': - resolution: {integrity: sha512-ZGNXbt+d65EGjBORQHuYKj+XhCewlwpnSd/EDuLPZGSiEWmgOJB5RmMCCYGy5aMfTs9wx61RivfDKi8H/hcMvw==} + '@playwright/test@1.54.1': + resolution: {integrity: sha512-FS8hQ12acieG2dYSksmLOF7BNxnVf2afRJdCuM1eMSxj6QTSE6G4InGF7oApGgDb65MX7AwMVlIkpru0yZA4Xw==} engines: {node: '>=18'} hasBin: true @@ -1152,8 +1182,8 @@ packages: cpu: [x64] os: [win32] - '@tsconfig/node22@22.0.0': - resolution: {integrity: sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==} + '@tsconfig/node22@22.0.2': + resolution: {integrity: sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA==} '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1183,55 +1213,85 @@ packages: '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@typescript-eslint/eslint-plugin@8.21.0': - resolution: {integrity: sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==} + '@typescript-eslint/eslint-plugin@8.37.0': + resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + '@typescript-eslint/parser': ^8.37.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.21.0': - resolution: {integrity: sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==} + '@typescript-eslint/parser@8.37.0': + resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.37.0': + resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/scope-manager@8.21.0': resolution: {integrity: sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.21.0': - resolution: {integrity: sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==} + '@typescript-eslint/scope-manager@8.37.0': + resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.37.0': + resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/type-utils@8.37.0': + resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/types@8.21.0': resolution: {integrity: sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.37.0': + resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.21.0': resolution: {integrity: sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.21.0': - resolution: {integrity: sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==} + '@typescript-eslint/typescript-estree@8.37.0': + resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.37.0': + resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' '@typescript-eslint/visitor-keys@8.21.0': resolution: {integrity: sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@videojs/http-streaming@3.16.2': - resolution: {integrity: sha512-fvt4ko7FknxiT9FnjyNQt6q2px+awrkM+Orv7IB/4gldvj94u4fowGfmNHynnvNTPgPkdxHklGmFLGfclYw8HA==} + '@typescript-eslint/visitor-keys@8.37.0': + resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@videojs/http-streaming@3.17.0': + resolution: {integrity: sha512-Ch1P3tvvIEezeZXyK11UfWgp4cWKX4vIhZ30baN/lRinqdbakZ5hiAI3pGjRy3d+q/Epyc8Csz5xMdKNNGYpcw==} engines: {node: '>=8', npm: '>=5'} peerDependencies: video.js: ^8.19.0 @@ -1269,14 +1329,20 @@ packages: '@vue/compiler-core@3.5.13': resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-core@3.5.17': + resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==} + '@vue/compiler-dom@3.5.13': resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + '@vue/compiler-dom@3.5.17': + resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==} - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + '@vue/compiler-sfc@3.5.17': + resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==} + + '@vue/compiler-ssr@3.5.17': + resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -1290,12 +1356,12 @@ packages: eslint: '>= 8.21.0' prettier: '>= 3.0.0' - '@vue/eslint-config-typescript@14.3.0': - resolution: {integrity: sha512-bOreIxlSC/xsUdhDdKIHb1grwJah+IokNeJ50LqA1StdOHeSPUxSIPNxyKgRx4YdjhyzC6TKtrCf6yYK99x3Uw==} + '@vue/eslint-config-typescript@14.6.0': + resolution: {integrity: sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^9.10.0 - eslint-plugin-vue: ^9.28.0 + eslint-plugin-vue: ^9.28.0 || ^10.0.0 typescript: '>=4.8.4' peerDependenciesMeta: typescript: @@ -1309,23 +1375,26 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + '@vue/reactivity@3.5.17': + resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==} - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} + '@vue/runtime-core@3.5.17': + resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==} - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} + '@vue/runtime-dom@3.5.17': + resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==} - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + '@vue/server-renderer@3.5.17': + resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==} peerDependencies: - vue: 3.5.13 + vue: 3.5.17 '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vue/shared@3.5.17': + resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} + '@vue/tsconfig@0.7.0': resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==} peerDependencies: @@ -1396,8 +1465,8 @@ packages: resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} - ace-builds@1.37.5: - resolution: {integrity: sha512-VMJ4Cnhq6L9dwvOCyuyyvQuiVTSwdZC7zDKJBBBJJax0wGQ7MvzQZFoi0gMmCm2I4Zuv/ZbtwU/dlglIhCNLhw==} + ace-builds@1.43.2: + resolution: {integrity: sha512-3wzJUJX0RpMc03jo0V8Q3bSb/cKPnS7Nqqw8fVHsCCHweKMiTIxT3fP46EhjmVy6MCuxwP801ere+RW245phGw==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -1409,6 +1478,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + aes-decrypter@4.0.2: resolution: {integrity: sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==} @@ -1433,11 +1507,8 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - autoprefixer@10.4.20: - resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -1486,6 +1557,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.25.1: + resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1496,6 +1572,9 @@ packages: caniuse-lite@1.0.30001685: resolution: {integrity: sha512-e/kJN1EMyHQzgcMEEgoo+YTCO1NGCmIYHk5Qk8jT6AazWemS5QFKJ5ShCJlH3GZrNIdZofcNCEwZqbMjjKzmnA==} + caniuse-lite@1.0.30001727: + resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1514,18 +1593,14 @@ packages: combine-errors@3.0.3: resolution: {integrity: sha512-C8ikRNRMygCwaTx+Ek3Yr+OuZzgZjduCOfSQBjbM8V3MfgcjSTeto/GXP6PAwKvJz/v15b7GHZvx5rOlczFw/Q==} - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@9.1.2: - resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} + concurrently@9.2.0: + resolution: {integrity: sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==} engines: {node: '>=18'} hasBin: true @@ -1538,8 +1613,8 @@ packages: core-js-compat@3.39.0: resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} - core-js@3.40.0: - resolution: {integrity: sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==} + core-js@3.44.0: + resolution: {integrity: sha512-aFCtd4l6GvAXwVEh3XbbVqJGHDJt0OZRa+5ePGx3LLwi12WfexqQxcsohb2wgsa/92xtl19Hd66G/L+TaAxDMw==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -1601,16 +1676,15 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} dompurify@3.2.6: resolution: {integrity: sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==} + electron-to-chromium@1.5.183: + resolution: {integrity: sha512-vCrDBYjQCAEefWGjlK3EpoSKfKbT10pR4XXPdn65q7snuNOZnthoVpBfZPykmDapOKfoD+MMIPG8ZjKyyc9oHA==} + electron-to-chromium@1.5.67: resolution: {integrity: sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ==} @@ -1653,19 +1727,19 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-prettier@10.0.1: - resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==} + eslint-config-prettier@10.1.5: + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-plugin-prettier@5.2.3: - resolution: {integrity: sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==} + eslint-plugin-prettier@5.5.1: + resolution: {integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' eslint: '>=8.0.0' - eslint-config-prettier: '*' + eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' prettier: '>=3.0.0' peerDependenciesMeta: '@types/eslint': @@ -1687,6 +1761,10 @@ packages: resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1695,8 +1773,12 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.19.0: - resolution: {integrity: sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.31.0: + resolution: {integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1713,6 +1795,10 @@ packages: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1792,10 +1878,6 @@ packages: focus-trap@7.6.2: resolution: {integrity: sha512-9FhUxK1hVju2+AiQIDJ5Dd//9R2n2RAfJ0qfhF4IHGHgcoEUTMpbTeG/zbEuwaiYXfuAH6XE0/aCyxDdRM+W5w==} - form-data@4.0.1: - resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} - engines: {node: '>= 6'} - fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} @@ -1881,6 +1963,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} @@ -1941,8 +2027,8 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsdom@26.0.0: - resolution: {integrity: sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==} + jsdom@26.1.0: + resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} engines: {node: '>=18'} peerDependencies: canvas: ^3.0.0 @@ -2048,6 +2134,9 @@ packages: magic-string@0.30.14: resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + marked@15.0.6: resolution: {integrity: sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg==} engines: {node: '>= 18'} @@ -2056,8 +2145,8 @@ packages: marks-pane@1.0.9: resolution: {integrity: sha512-Ahs4oeG90tbdPWwAJkAAoHg2lRR8lAs9mZXETNPO9hYg3AkjUJBKi1NQ4aaIQZVGrig7c/3NUV1jANl8rFTeMg==} - material-icons@1.13.13: - resolution: {integrity: sha512-jYh0VkYvsYfArOIB1LqmmoXiONBk5YaIf0f8b5pTNQdVDl4b7htoqXuQF7G03fqFQpwvv1FcMdQ1rrLWd9ftWg==} + material-icons@1.13.14: + resolution: {integrity: sha512-kZOfc7xCC0rAT8Q3DQixYAeT+tBqZnxkseQtp2bxBxz7q5pMAC+wmit7vJn1g/l7wRU+HEPq23gER4iPjGs5Cg==} meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} @@ -2071,14 +2160,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} @@ -2112,11 +2193,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2126,6 +2202,9 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} @@ -2211,13 +2290,13 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - playwright-core@1.50.0: - resolution: {integrity: sha512-CXkSSlr4JaZs2tZHI40DsZUN/NIwgaUPsyLuOAaIZp2CyF2sN5MM5NJsyB188lFSSozFxQ5fPT4qM+f0tH/6wQ==} + playwright-core@1.54.1: + resolution: {integrity: sha512-Nbjs2zjj0htNhzgiy5wu+3w09YetDx5pkrpI/kZotDlDUaYk0HVA5xrBVPdow4SAUIlhgKcJeJg4GRKW6xHusA==} engines: {node: '>=18'} hasBin: true - playwright@1.50.0: - resolution: {integrity: sha512-+GinGfGTrd2IfX1TA4N2gNmeIksSb+IAe589ZH+FlmpV3MYTx6+buChGIuDLQwrGNCw2lWibqV50fU510N7S+w==} + playwright@1.54.1: + resolution: {integrity: sha512-peWpSwIBmSLi6aW2auvrUtf2DqY16YYcCMO8rTVx486jKmDTJg7UAhyrraP98GB8BoPURZP8+nxO7TSd4cPr5g==} engines: {node: '>=18'} hasBin: true @@ -2228,12 +2307,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.1: - resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -2244,8 +2319,8 @@ packages: resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} engines: {node: '>=6.0.0'} - prettier@3.4.2: - resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true @@ -2420,8 +2495,8 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} engines: {node: ^14.18.0 || >=16.0.0} systemjs@6.15.1: @@ -2433,8 +2508,8 @@ packages: tar-mini@0.2.0: resolution: {integrity: sha512-+qfUHz700DWnRutdUsxRRVZ38G1Qr27OetwaMYTdg8hcPxf46U0S1Zf76dQMWRBmusOt2ZCK5kbIaiLkoGO7WQ==} - terser@5.37.0: - resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} + terser@5.43.1: + resolution: {integrity: sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==} engines: {node: '>=10'} hasBin: true @@ -2449,12 +2524,12 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tough-cookie@5.1.0: - resolution: {integrity: sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==} + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} - tr46@5.0.0: - resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} tree-kill@1.2.2: @@ -2467,6 +2542,12 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2485,12 +2566,12 @@ packages: type@2.7.3: resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - typescript-eslint@8.21.0: - resolution: {integrity: sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==} + typescript-eslint@8.37.0: + resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.8.0' + typescript: '>=4.8.4 <5.9.0' typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} @@ -2529,6 +2610,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -2541,8 +2628,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - video.js@8.21.0: - resolution: {integrity: sha512-zcwerRb257QAuWfi8NH9yEX7vrGKFthjfcONmOQ4lxFRpDAbAi+u5LAjCjMWqhJda6zEmxkgdDpOMW3Y21QpXA==} + video.js@8.23.3: + resolution: {integrity: sha512-Toe0VLlDZcUhiaWfcePS1OEdT3ATfktm0hk/PELfD7zUoPDHeT+cJf/wZmCy5M5eGVwtGUg25RWPCj1L/1XufA==} videojs-contrib-quality-levels@4.1.0: resolution: {integrity: sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==} @@ -2624,6 +2711,12 @@ packages: '@vue/composition-api': optional: true + vue-eslint-parser@10.2.0: + resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + vue-eslint-parser@9.4.3: resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} engines: {node: ^14.17.0 || >=16.0.0} @@ -2638,8 +2731,8 @@ packages: focus-trap: '>=7.2.0' vue: '>=3.2.0' - vue-i18n@11.1.2: - resolution: {integrity: sha512-MfdkdKGUHN+jkkaMT5Zbl4FpRmN7kfelJIwKoUpJ32ONIxdFhzxZiLTVaAXkAwvH3y9GmWpoiwjDqbPIkPIMFA==} + vue-i18n@11.1.9: + resolution: {integrity: sha512-N9ZTsXdRmX38AwS9F6Rh93RtPkvZTkSy/zNv63FTIwZCUbLwwrpqlKz9YQuzFLdlvRdZTnWAUE5jMxr8exdl7g==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 @@ -2656,8 +2749,8 @@ packages: '@vue/composition-api': optional: true - vue-router@4.5.0: - resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} + vue-router@4.5.1: + resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} peerDependencies: vue: ^3.2.0 @@ -2672,8 +2765,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + vue@3.5.17: + resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2699,8 +2792,8 @@ packages: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - whatwg-url@14.1.0: - resolution: {integrity: sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w==} + whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} which@2.0.2: @@ -2931,8 +3024,12 @@ snapshots: '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-option@7.25.9': {} '@babel/helper-wrap-function@7.25.9': @@ -2956,6 +3053,10 @@ snapshots: dependencies: '@babel/types': 7.26.7 + '@babel/parser@7.28.0': + dependencies: + '@babel/types': 7.28.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -3452,9 +3553,14 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@chenfengyuan/vue-number-input@2.0.1(vue@3.5.13(typescript@5.6.3))': + '@babel/types@7.28.1': dependencies: - vue: 3.5.13(typescript@5.6.3) + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@chenfengyuan/vue-number-input@2.0.1(vue@3.5.17(typescript@5.6.3))': + dependencies: + vue: 3.5.17(typescript@5.6.3) '@csstools/color-helpers@5.0.1': {} @@ -3551,30 +3657,37 @@ snapshots: '@esbuild/win32-x64@0.24.2': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.19.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.31.0)': dependencies: - eslint: 9.19.0 + eslint: 9.31.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.7.0(eslint@9.31.0)': + dependencies: + eslint: 9.31.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.19.1': + '@eslint/config-array@0.21.0': dependencies: - '@eslint/object-schema': 2.1.5 + '@eslint/object-schema': 2.1.6 debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/core@0.10.0': + '@eslint/config-helpers@0.3.0': {} + + '@eslint/core@0.15.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.2.0': + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 debug: 4.4.0 - espree: 10.3.0 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -3584,13 +3697,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.19.0': {} + '@eslint/js@9.31.0': {} - '@eslint/object-schema@2.1.5': {} + '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.2.5': + '@eslint/plugin-kit@0.3.3': dependencies: - '@eslint/core': 0.10.0 + '@eslint/core': 0.15.1 levn: 0.4.1 '@humanfs/core@0.19.1': {} @@ -3604,12 +3717,12 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.1': {} + '@humanwhocodes/retry@0.4.3': {} - '@intlify/bundle-utils@10.0.0(vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3)))': + '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3)))': dependencies: - '@intlify/message-compiler': 12.0.0-alpha.2 - '@intlify/shared': 12.0.0-alpha.2 + '@intlify/message-compiler': 11.1.2 + '@intlify/shared': 11.1.7 acorn: 8.14.0 escodegen: 2.1.0 estree-walker: 2.0.2 @@ -3618,35 +3731,35 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 11.1.2(vue@3.5.13(typescript@5.6.3)) + vue-i18n: 11.1.9(vue@3.5.17(typescript@5.6.3)) - '@intlify/core-base@11.1.2': + '@intlify/core-base@11.1.9': dependencies: - '@intlify/message-compiler': 11.1.2 - '@intlify/shared': 11.1.2 + '@intlify/message-compiler': 11.1.9 + '@intlify/shared': 11.1.9 '@intlify/message-compiler@11.1.2': dependencies: '@intlify/shared': 11.1.2 source-map-js: 1.2.1 - '@intlify/message-compiler@12.0.0-alpha.2': + '@intlify/message-compiler@11.1.9': dependencies: - '@intlify/shared': 12.0.0-alpha.2 + '@intlify/shared': 11.1.9 source-map-js: 1.2.1 '@intlify/shared@11.1.2': {} '@intlify/shared@11.1.7': {} - '@intlify/shared@12.0.0-alpha.2': {} + '@intlify/shared@11.1.9': {} - '@intlify/unplugin-vue-i18n@6.0.3(@vue/compiler-dom@3.5.13)(eslint@9.19.0)(rollup@4.40.1)(typescript@5.6.3)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3))': + '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.17)(eslint@9.31.0)(rollup@4.40.1)(typescript@5.6.3)(vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3)))(vue@3.5.17(typescript@5.6.3))': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) - '@intlify/bundle-utils': 10.0.0(vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3))) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.31.0) + '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3))) '@intlify/shared': 11.1.7 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.7)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.7)(@vue/compiler-dom@3.5.17)(vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3)))(vue@3.5.17(typescript@5.6.3)) '@rollup/pluginutils': 5.1.4(rollup@4.40.1) '@typescript-eslint/scope-manager': 8.21.0 '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.6.3) @@ -3658,9 +3771,9 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 unplugin: 1.16.1 - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) optionalDependencies: - vue-i18n: 11.1.2(vue@3.5.13(typescript@5.6.3)) + vue-i18n: 11.1.9(vue@3.5.17(typescript@5.6.3)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -3668,14 +3781,14 @@ snapshots: - supports-color - typescript - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.7)(@vue/compiler-dom@3.5.13)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.7)(@vue/compiler-dom@3.5.17)(vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3)))(vue@3.5.17(typescript@5.6.3))': dependencies: '@babel/parser': 7.26.7 optionalDependencies: '@intlify/shared': 11.1.7 - '@vue/compiler-dom': 3.5.13 - vue: 3.5.13(typescript@5.6.3) - vue-i18n: 11.1.2(vue@3.5.13(typescript@5.6.3)) + '@vue/compiler-dom': 3.5.17 + vue: 3.5.17(typescript@5.6.3) + vue-i18n: 11.1.9(vue@3.5.17(typescript@5.6.3)) '@jridgewell/gen-mapping@0.3.5': dependencies: @@ -3717,11 +3830,11 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.18.0 - '@pkgr/core@0.1.1': {} + '@pkgr/core@0.2.7': {} - '@playwright/test@1.50.0': + '@playwright/test@1.54.1': dependencies: - playwright: 1.50.0 + playwright: 1.54.1 '@rollup/pluginutils@5.1.3(rollup@4.40.1)': dependencies: @@ -3733,7 +3846,7 @@ snapshots: '@rollup/pluginutils@5.1.4(rollup@4.40.1)': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.7 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: @@ -3799,7 +3912,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.40.1': optional: true - '@tsconfig/node22@22.0.0': {} + '@tsconfig/node22@22.0.2': {} '@types/estree@1.0.6': {} @@ -3826,31 +3939,40 @@ snapshots: '@types/web-bluetooth@0.0.20': {} - '@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.19.0)(typescript@5.6.3))(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.6.3))(eslint@9.31.0)(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.21.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.21.0 - '@typescript-eslint/type-utils': 8.21.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.21.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.21.0 - eslint: 9.19.0 + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0)(typescript@5.6.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.37.0 + eslint: 9.31.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.0.0(typescript@5.6.3) + ts-api-utils: 2.1.0(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.21.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 8.21.0 - '@typescript-eslint/types': 8.21.0 - '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.21.0 + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.37.0 + debug: 4.4.0 + eslint: 9.31.0 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.37.0(typescript@5.6.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.6.3) + '@typescript-eslint/types': 8.37.0 debug: 4.4.0 - eslint: 9.19.0 typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -3860,19 +3982,31 @@ snapshots: '@typescript-eslint/types': 8.21.0 '@typescript-eslint/visitor-keys': 8.21.0 - '@typescript-eslint/type-utils@8.21.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/scope-manager@8.37.0': dependencies: - '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.21.0(eslint@9.19.0)(typescript@5.6.3) + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/visitor-keys': 8.37.0 + + '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.6.3)': + dependencies: + typescript: 5.6.3 + + '@typescript-eslint/type-utils@8.37.0(eslint@9.31.0)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.6.3) debug: 4.4.0 - eslint: 9.19.0 - ts-api-utils: 2.0.0(typescript@5.6.3) + eslint: 9.31.0 + ts-api-utils: 2.1.0(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.21.0': {} + '@typescript-eslint/types@8.37.0': {} + '@typescript-eslint/typescript-estree@8.21.0(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 8.21.0 @@ -3887,13 +4021,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.21.0(eslint@9.19.0)(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.37.0(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) - '@typescript-eslint/scope-manager': 8.21.0 - '@typescript-eslint/types': 8.21.0 - '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.6.3) - eslint: 9.19.0 + '@typescript-eslint/project-service': 8.37.0(typescript@5.6.3) + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.6.3) + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/visitor-keys': 8.37.0 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 2.1.0(typescript@5.6.3) + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.37.0(eslint@9.31.0)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.6.3) + eslint: 9.31.0 typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -3903,7 +4053,12 @@ snapshots: '@typescript-eslint/types': 8.21.0 eslint-visitor-keys: 4.2.0 - '@videojs/http-streaming@3.16.2(video.js@8.21.0)': + '@typescript-eslint/visitor-keys@8.37.0': + dependencies: + '@typescript-eslint/types': 8.37.0 + eslint-visitor-keys: 4.2.1 + + '@videojs/http-streaming@3.17.0(video.js@8.23.3)': dependencies: '@babel/runtime': 7.26.7 '@videojs/vhs-utils': 4.1.1 @@ -3912,7 +4067,7 @@ snapshots: m3u8-parser: 7.2.0 mpd-parser: 1.3.1 mux.js: 7.1.0 - video.js: 8.21.0 + video.js: 8.23.3 '@videojs/vhs-utils@4.1.1': dependencies: @@ -3925,25 +4080,25 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-legacy@6.0.0(terser@5.37.0)(vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0))': + '@vitejs/plugin-legacy@6.0.0(terser@5.43.1)(vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0))': dependencies: '@babel/core': 7.26.0 '@babel/preset-env': 7.26.0(@babel/core@7.26.0) browserslist: 4.24.2 browserslist-to-esbuild: 2.1.1(browserslist@4.24.2) - core-js: 3.40.0 + core-js: 3.44.0 magic-string: 0.30.14 regenerator-runtime: 0.14.1 systemjs: 6.15.1 - terser: 5.37.0 - vite: 6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0) + terser: 5.43.1 + vite: 6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.1(vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0))(vue@3.5.17(typescript@5.6.3))': dependencies: - vite: 6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0) - vue: 3.5.13(typescript@5.6.3) + vite: 6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0) + vue: 3.5.17(typescript@5.6.3) '@volar/language-core@2.4.11': dependencies: @@ -3965,27 +4120,40 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 + '@vue/compiler-core@3.5.17': + dependencies: + '@babel/parser': 7.28.0 + '@vue/shared': 3.5.17 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + '@vue/compiler-dom@3.5.13': dependencies: '@vue/compiler-core': 3.5.13 '@vue/shared': 3.5.13 - '@vue/compiler-sfc@3.5.13': + '@vue/compiler-dom@3.5.17': dependencies: - '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.5.17 + '@vue/shared': 3.5.17 + + '@vue/compiler-sfc@3.5.17': + dependencies: + '@babel/parser': 7.28.0 + '@vue/compiler-core': 3.5.17 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 estree-walker: 2.0.2 - magic-string: 0.30.14 - postcss: 8.5.3 + magic-string: 0.30.17 + postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.13': + '@vue/compiler-ssr@3.5.17': dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.17 + '@vue/shared': 3.5.17 '@vue/compiler-vue2@2.7.16': dependencies: @@ -3994,23 +4162,23 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/eslint-config-prettier@10.2.0(eslint@9.19.0)(prettier@3.4.2)': + '@vue/eslint-config-prettier@10.2.0(eslint@9.31.0)(prettier@3.6.2)': dependencies: - eslint: 9.19.0 - eslint-config-prettier: 10.0.1(eslint@9.19.0) - eslint-plugin-prettier: 5.2.3(eslint-config-prettier@10.0.1(eslint@9.19.0))(eslint@9.19.0)(prettier@3.4.2) - prettier: 3.4.2 + eslint: 9.31.0 + eslint-config-prettier: 10.1.5(eslint@9.31.0) + eslint-plugin-prettier: 5.5.1(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint@9.31.0)(prettier@3.6.2) + prettier: 3.6.2 transitivePeerDependencies: - '@types/eslint' - '@vue/eslint-config-typescript@14.3.0(eslint-plugin-vue@9.32.0(eslint@9.19.0))(eslint@9.19.0)(typescript@5.6.3)': + '@vue/eslint-config-typescript@14.6.0(eslint-plugin-vue@9.32.0(eslint@9.31.0))(eslint@9.31.0)(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.21.0(eslint@9.19.0)(typescript@5.6.3) - eslint: 9.19.0 - eslint-plugin-vue: 9.32.0(eslint@9.19.0) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.6.3) + eslint: 9.31.0 + eslint-plugin-vue: 9.32.0(eslint@9.31.0) fast-glob: 3.3.3 - typescript-eslint: 8.21.0(eslint@9.19.0)(typescript@5.6.3) - vue-eslint-parser: 9.4.3(eslint@9.19.0) + typescript-eslint: 8.37.0(eslint@9.31.0)(typescript@5.6.3) + vue-eslint-parser: 10.2.0(eslint@9.31.0) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -4029,41 +4197,43 @@ snapshots: optionalDependencies: typescript: 5.6.3 - '@vue/reactivity@3.5.13': + '@vue/reactivity@3.5.17': dependencies: - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.17 - '@vue/runtime-core@3.5.13': + '@vue/runtime-core@3.5.17': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/runtime-dom@3.5.13': + '@vue/runtime-dom@3.5.17': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.17 + '@vue/runtime-core': 3.5.17 + '@vue/shared': 3.5.17 csstype: 3.1.3 - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.6.3))': + '@vue/server-renderer@3.5.17(vue@3.5.17(typescript@5.6.3))': dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.6.3) + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + vue: 3.5.17(typescript@5.6.3) '@vue/shared@3.5.13': {} - '@vue/tsconfig@0.7.0(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3))': + '@vue/shared@3.5.17': {} + + '@vue/tsconfig@0.7.0(typescript@5.6.3)(vue@3.5.17(typescript@5.6.3))': optionalDependencies: typescript: 5.6.3 - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) '@vueuse/core@12.5.0(typescript@5.6.3)': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 12.5.0 '@vueuse/shared': 12.5.0(typescript@5.6.3) - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) transitivePeerDependencies: - typescript @@ -4071,7 +4241,7 @@ snapshots: dependencies: '@vueuse/core': 12.5.0(typescript@5.6.3) '@vueuse/shared': 12.5.0(typescript@5.6.3) - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) optionalDependencies: focus-trap: 7.6.2 jwt-decode: 4.0.0 @@ -4082,7 +4252,7 @@ snapshots: '@vueuse/shared@12.5.0(typescript@5.6.3)': dependencies: - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) transitivePeerDependencies: - typescript @@ -4090,14 +4260,20 @@ snapshots: '@xmldom/xmldom@0.8.10': {} - ace-builds@1.37.5: {} + ace-builds@1.43.2: {} acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + acorn@8.14.0: {} + acorn@8.15.0: {} + aes-decrypter@4.0.2: dependencies: '@babel/runtime': 7.26.7 @@ -4124,16 +4300,14 @@ snapshots: argparse@2.0.1: {} - asynckit@0.4.0: {} - - autoprefixer@10.4.20(postcss@8.5.1): + autoprefixer@10.4.21(postcss@8.5.6): dependencies: - browserslist: 4.24.2 - caniuse-lite: 1.0.30001685 + browserslist: 4.25.1 + caniuse-lite: 1.0.30001727 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.1 + postcss: 8.5.6 postcss-value-parser: 4.2.0 babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): @@ -4189,12 +4363,21 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) + browserslist@4.25.1: + dependencies: + caniuse-lite: 1.0.30001727 + electron-to-chromium: 1.5.183 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.25.1) + buffer-from@1.1.2: {} callsites@3.1.0: {} caniuse-lite@1.0.30001685: {} + caniuse-lite@1.0.30001727: {} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -4217,15 +4400,11 @@ snapshots: custom-error-instance: 2.1.1 lodash.uniqby: 4.5.0 - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - commander@2.20.3: {} concat-map@0.0.1: {} - concurrently@9.1.2: + concurrently@9.2.0: dependencies: chalk: 4.1.2 lodash: 4.17.21 @@ -4243,7 +4422,7 @@ snapshots: dependencies: browserslist: 4.24.2 - core-js@3.40.0: {} + core-js@3.44.0: {} core-util-is@1.0.3: {} @@ -4272,7 +4451,7 @@ snapshots: data-urls@5.0.0: dependencies: whatwg-mimetype: 4.0.0 - whatwg-url: 14.1.0 + whatwg-url: 14.2.0 dayjs@1.11.13: {} @@ -4290,14 +4469,14 @@ snapshots: deep-is@0.1.4: {} - delayed-stream@1.0.0: {} - dom-walk@0.1.2: {} dompurify@3.2.6: optionalDependencies: '@types/trusted-types': 2.0.7 + electron-to-chromium@1.5.183: {} + electron-to-chromium@1.5.67: {} emoji-regex@8.0.0: {} @@ -4308,7 +4487,7 @@ snapshots: dependencies: '@types/localforage': 0.0.34 '@xmldom/xmldom': 0.7.13 - core-js: 3.40.0 + core-js: 3.44.0 event-emitter: 0.3.5 jszip: 3.10.1 localforage: 1.10.0 @@ -4374,29 +4553,29 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.0.1(eslint@9.19.0): + eslint-config-prettier@10.1.5(eslint@9.31.0): dependencies: - eslint: 9.19.0 + eslint: 9.31.0 - eslint-plugin-prettier@5.2.3(eslint-config-prettier@10.0.1(eslint@9.19.0))(eslint@9.19.0)(prettier@3.4.2): + eslint-plugin-prettier@5.5.1(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint@9.31.0)(prettier@3.6.2): dependencies: - eslint: 9.19.0 - prettier: 3.4.2 + eslint: 9.31.0 + prettier: 3.6.2 prettier-linter-helpers: 1.0.0 - synckit: 0.9.2 + synckit: 0.11.8 optionalDependencies: - eslint-config-prettier: 10.0.1(eslint@9.19.0) + eslint-config-prettier: 10.1.5(eslint@9.31.0) - eslint-plugin-vue@9.32.0(eslint@9.19.0): + eslint-plugin-vue@9.32.0(eslint@9.31.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) - eslint: 9.19.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.31.0) + eslint: 9.31.0 globals: 13.24.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 semver: 7.6.3 - vue-eslint-parser: 9.4.3(eslint@9.19.0) + vue-eslint-parser: 9.4.3(eslint@9.31.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -4411,32 +4590,40 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} - eslint@9.19.0: + eslint-visitor-keys@4.2.1: {} + + eslint@9.31.0: dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.19.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.31.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.1 - '@eslint/core': 0.10.0 - '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.19.0 - '@eslint/plugin-kit': 0.2.5 + '@eslint/config-array': 0.21.0 + '@eslint/config-helpers': 0.3.0 + '@eslint/core': 0.15.1 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.31.0 + '@eslint/plugin-kit': 0.3.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.1 - '@types/estree': 1.0.6 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4467,6 +4654,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.2.0 + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + espree@9.6.1: dependencies: acorn: 8.14.0 @@ -4544,12 +4737,6 @@ snapshots: dependencies: tabbable: 6.2.0 - form-data@4.0.1: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - fraction.js@4.3.7: {} fsevents@2.3.2: @@ -4621,6 +4808,8 @@ snapshots: ignore@5.3.2: {} + ignore@7.0.5: {} + immediate@3.0.6: {} import-fresh@3.3.0: @@ -4664,12 +4853,11 @@ snapshots: dependencies: argparse: 2.0.1 - jsdom@26.0.0: + jsdom@26.1.0: dependencies: cssstyle: 4.2.1 data-urls: 5.0.0 decimal.js: 10.5.0 - form-data: 4.0.1 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -4679,12 +4867,12 @@ snapshots: rrweb-cssom: 0.8.0 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 5.1.0 + tough-cookie: 5.1.2 w3c-xmlserializer: 5.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 - whatwg-url: 14.1.0 + whatwg-url: 14.2.0 ws: 8.18.0 xml-name-validator: 5.0.0 transitivePeerDependencies: @@ -4793,11 +4981,15 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + marked@15.0.6: {} marks-pane@1.0.9: {} - material-icons@1.13.13: {} + material-icons@1.13.14: {} meow@13.2.0: {} @@ -4808,12 +5000,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - min-document@2.19.0: dependencies: dom-walk: 0.1.2 @@ -4851,14 +5037,14 @@ snapshots: nanoid@3.3.11: {} - nanoid@3.3.8: {} - natural-compare@1.4.0: {} next-tick@1.1.0: {} node-releases@2.0.18: {} + node-releases@2.0.19: {} + normalize-range@0.1.2: {} normalize.css@8.0.1: {} @@ -4916,11 +5102,11 @@ snapshots: picomatch@4.0.2: {} - pinia@2.3.1(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)): + pinia@2.3.1(typescript@5.6.3)(vue@3.5.17(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.6.3) - vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3)) + vue: 3.5.17(typescript@5.6.3) + vue-demi: 0.14.10(vue@3.5.17(typescript@5.6.3)) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -4936,11 +5122,11 @@ snapshots: mlly: 1.7.4 pathe: 2.0.2 - playwright-core@1.50.0: {} + playwright-core@1.54.1: {} - playwright@1.50.0: + playwright@1.54.1: dependencies: - playwright-core: 1.50.0 + playwright-core: 1.54.1 optionalDependencies: fsevents: 2.3.2 @@ -4951,13 +5137,7 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.1: - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - - postcss@8.5.3: + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -4969,7 +5149,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.4.2: {} + prettier@3.6.2: {} pretty-bytes@6.1.1: {} @@ -4985,9 +5165,9 @@ snapshots: punycode@2.3.1: {} - qrcode.vue@3.6.0(vue@3.5.13(typescript@5.6.3)): + qrcode.vue@3.6.0(vue@3.5.17(typescript@5.6.3)): dependencies: - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) querystringify@2.2.0: {} @@ -5143,10 +5323,9 @@ snapshots: symbol-tree@3.2.4: {} - synckit@0.9.2: + synckit@0.11.8: dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.8.1 + '@pkgr/core': 0.2.7 systemjs@6.15.1: {} @@ -5154,7 +5333,7 @@ snapshots: tar-mini@0.2.0: {} - terser@5.37.0: + terser@5.43.1: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.0 @@ -5171,11 +5350,11 @@ snapshots: dependencies: is-number: 7.0.0 - tough-cookie@5.1.0: + tough-cookie@5.1.2: dependencies: tldts: 6.1.74 - tr46@5.0.0: + tr46@5.1.1: dependencies: punycode: 2.3.1 @@ -5185,6 +5364,10 @@ snapshots: dependencies: typescript: 5.6.3 + ts-api-utils@2.1.0(typescript@5.6.3): + dependencies: + typescript: 5.6.3 + tslib@2.8.1: {} tus-js-client@4.3.1: @@ -5205,12 +5388,13 @@ snapshots: type@2.7.3: {} - typescript-eslint@8.21.0(eslint@9.19.0)(typescript@5.6.3): + typescript-eslint@8.37.0(eslint@9.31.0)(typescript@5.6.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.19.0)(typescript@5.6.3))(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/parser': 8.21.0(eslint@9.19.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.21.0(eslint@9.19.0)(typescript@5.6.3) - eslint: 9.19.0 + '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.6.3))(eslint@9.31.0)(typescript@5.6.3) + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.6.3) + eslint: 9.31.0 typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -5243,6 +5427,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.25.1): + dependencies: + browserslist: 4.25.1 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -5258,10 +5448,10 @@ snapshots: util-deprecate@1.0.2: {} - video.js@8.21.0: + video.js@8.23.3: dependencies: '@babel/runtime': 7.26.7 - '@videojs/http-streaming': 3.16.2(video.js@8.21.0) + '@videojs/http-streaming': 3.17.0(video.js@8.23.3) '@videojs/vhs-utils': 4.1.1 '@videojs/xhr': 2.7.0 aes-decrypter: 4.0.2 @@ -5269,57 +5459,69 @@ snapshots: m3u8-parser: 7.2.0 mpd-parser: 1.3.1 mux.js: 7.1.0 - videojs-contrib-quality-levels: 4.1.0(video.js@8.21.0) + videojs-contrib-quality-levels: 4.1.0(video.js@8.23.3) videojs-font: 4.2.0 videojs-vtt.js: 0.15.5 - videojs-contrib-quality-levels@4.1.0(video.js@8.21.0): + videojs-contrib-quality-levels@4.1.0(video.js@8.23.3): dependencies: global: 4.4.0 - video.js: 8.21.0 + video.js: 8.23.3 videojs-font@4.2.0: {} videojs-hotkeys@0.2.30: {} - videojs-mobile-ui@1.1.1(video.js@8.21.0): + videojs-mobile-ui@1.1.1(video.js@8.23.3): dependencies: global: 4.4.0 - video.js: 8.21.0 + video.js: 8.23.3 videojs-vtt.js@0.15.5: dependencies: global: 4.4.0 - vite-plugin-compression2@1.3.3(rollup@4.40.1)(vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0)): + vite-plugin-compression2@1.3.3(rollup@4.40.1)(vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0)): dependencies: '@rollup/pluginutils': 5.1.3(rollup@4.40.1) tar-mini: 0.2.0 - vite: 6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0) + vite: 6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0) transitivePeerDependencies: - rollup - vite@6.1.6(@types/node@22.10.10)(terser@5.37.0)(yaml@2.7.0): + vite@6.1.6(@types/node@22.10.10)(terser@5.43.1)(yaml@2.7.0): dependencies: esbuild: 0.24.2 - postcss: 8.5.3 + postcss: 8.5.6 rollup: 4.40.1 optionalDependencies: '@types/node': 22.10.10 fsevents: 2.3.3 - terser: 5.37.0 + terser: 5.43.1 yaml: 2.7.0 vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.5.13(typescript@5.6.3)): + vue-demi@0.14.10(vue@3.5.17(typescript@5.6.3)): dependencies: - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) - vue-eslint-parser@9.4.3(eslint@9.19.0): + vue-eslint-parser@10.2.0(eslint@9.31.0): + dependencies: + debug: 4.4.0 + eslint: 9.31.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + vue-eslint-parser@9.4.3(eslint@9.31.0): dependencies: debug: 4.3.7 - eslint: 9.19.0 + eslint: 9.31.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -5329,36 +5531,36 @@ snapshots: transitivePeerDependencies: - supports-color - vue-final-modal@4.5.5(@vueuse/core@12.5.0(typescript@5.6.3))(@vueuse/integrations@12.5.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(typescript@5.6.3))(focus-trap@7.6.2)(vue@3.5.13(typescript@5.6.3)): + vue-final-modal@4.5.5(@vueuse/core@12.5.0(typescript@5.6.3))(@vueuse/integrations@12.5.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(typescript@5.6.3))(focus-trap@7.6.2)(vue@3.5.17(typescript@5.6.3)): dependencies: '@vueuse/core': 12.5.0(typescript@5.6.3) '@vueuse/integrations': 12.5.0(focus-trap@7.6.2)(jwt-decode@4.0.0)(typescript@5.6.3) focus-trap: 7.6.2 - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) - vue-i18n@11.1.2(vue@3.5.13(typescript@5.6.3)): + vue-i18n@11.1.9(vue@3.5.17(typescript@5.6.3)): dependencies: - '@intlify/core-base': 11.1.2 - '@intlify/shared': 11.1.2 + '@intlify/core-base': 11.1.9 + '@intlify/shared': 11.1.9 '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) vue-lazyload@3.0.0: {} - vue-reader@1.2.17(vue@3.5.13(typescript@5.6.3)): + vue-reader@1.2.17(vue@3.5.17(typescript@5.6.3)): dependencies: epubjs: 0.3.93 - vue: 3.5.13(typescript@5.6.3) - vue-demi: 0.14.10(vue@3.5.13(typescript@5.6.3)) + vue: 3.5.17(typescript@5.6.3) + vue-demi: 0.14.10(vue@3.5.17(typescript@5.6.3)) - vue-router@4.5.0(vue@3.5.13(typescript@5.6.3)): + vue-router@4.5.1(vue@3.5.17(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) - vue-toastification@2.0.0-rc.5(vue@3.5.13(typescript@5.6.3)): + vue-toastification@2.0.0-rc.5(vue@3.5.17(typescript@5.6.3)): dependencies: - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.17(typescript@5.6.3) vue-tsc@2.2.0(typescript@5.6.3): dependencies: @@ -5366,13 +5568,13 @@ snapshots: '@vue/language-core': 2.2.0(typescript@5.6.3) typescript: 5.6.3 - vue@3.5.13(typescript@5.6.3): + vue@3.5.17(typescript@5.6.3): dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.6.3)) - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-sfc': 3.5.17 + '@vue/runtime-dom': 3.5.17 + '@vue/server-renderer': 3.5.17(vue@3.5.17(typescript@5.6.3)) + '@vue/shared': 3.5.17 optionalDependencies: typescript: 5.6.3 @@ -5390,9 +5592,9 @@ snapshots: whatwg-mimetype@4.0.0: {} - whatwg-url@14.1.0: + whatwg-url@14.2.0: dependencies: - tr46: 5.0.0 + tr46: 5.1.1 webidl-conversions: 7.0.0 which@2.0.2: diff --git a/filebrowser/frontend/src/components/ProgressBar.vue b/filebrowser/frontend/src/components/ProgressBar.vue index 2cb9474bcd..bd4f75d482 100644 --- a/filebrowser/frontend/src/components/ProgressBar.vue +++ b/filebrowser/frontend/src/components/ProgressBar.vue @@ -192,7 +192,8 @@ export default { style["position"] = "absolute"; style["top"] = "0"; style["height"] = "100%"; - (style["min-height"] = this.size_px + "px"), (style["z-index"] = "-1"); + ((style["min-height"] = this.size_px + "px"), + (style["z-index"] = "-1")); } return style; diff --git a/filebrowser/go.mod b/filebrowser/go.mod index 09a1266250..37f5d6da20 100644 --- a/filebrowser/go.mod +++ b/filebrowser/go.mod @@ -11,6 +11,7 @@ require ( github.com/golang-jwt/jwt/v4 v4.5.2 github.com/gorilla/mux v1.8.1 github.com/gorilla/websocket v1.5.3 + github.com/jellydator/ttlcache/v3 v3.4.0 github.com/maruel/natural v1.1.1 github.com/marusama/semaphore/v2 v2.5.0 github.com/mholt/archives v0.1.3 @@ -23,21 +24,21 @@ require ( github.com/spf13/viper v1.20.1 github.com/stretchr/testify v1.10.0 github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce - go.etcd.io/bbolt v1.4.1 - golang.org/x/crypto v0.39.0 - golang.org/x/image v0.28.0 - golang.org/x/text v0.26.0 + go.etcd.io/bbolt v1.4.2 + golang.org/x/crypto v0.40.0 + golang.org/x/image v0.29.0 + golang.org/x/text v0.27.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/yaml.v2 v2.4.0 ) require ( - github.com/STARRY-S/zip v0.2.1 // indirect - github.com/andybalholm/brotli v1.1.2-0.20250424173009-453214e765f3 // indirect - github.com/asticode/go-astikit v0.55.0 // indirect + github.com/STARRY-S/zip v0.2.3 // indirect + github.com/andybalholm/brotli v1.2.0 // indirect + github.com/asticode/go-astikit v0.56.0 // indirect github.com/asticode/go-astits v1.13.0 // indirect github.com/bodgit/plumbing v1.3.0 // indirect - github.com/bodgit/sevenzip v1.6.0 // indirect + github.com/bodgit/sevenzip v1.6.1 // indirect github.com/bodgit/windows v1.0.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 // indirect @@ -46,24 +47,21 @@ require ( github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/go-errors/errors v1.5.1 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/go-viper/mapstructure/v2 v2.3.0 // indirect - github.com/golang/geo v0.0.0-20250606134707-e8fe6a72b492 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4 // indirect github.com/golang/snappy v1.0.0 // indirect - github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jellydator/ttlcache/v3 v3.4.0 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/mikelolasagasti/xz v1.0.1 // indirect - github.com/minio/minlz v1.0.0 // indirect - github.com/nwaples/rardecode/v2 v2.1.0 // indirect + github.com/minio/minlz v1.0.1 // indirect + github.com/nwaples/rardecode/v2 v2.1.1 // indirect github.com/pierrec/lz4/v4 v4.1.22 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/sagikazarmark/locafero v0.9.0 // indirect - github.com/sorairolake/lzip-go v0.3.5 // indirect + github.com/sorairolake/lzip-go v0.3.7 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/cast v1.9.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect @@ -71,9 +69,9 @@ require ( github.com/yusufpapurcu/wmi v1.2.4 // indirect go.uber.org/multierr v1.11.0 // indirect go4.org v0.0.0-20230225012048-214862532bf5 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/sync v0.15.0 // indirect - golang.org/x/sys v0.33.0 // indirect + golang.org/x/net v0.42.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/sys v0.34.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/filebrowser/go.sum b/filebrowser/go.sum index 8e5e336c7b..a9ccaa5b46 100644 --- a/filebrowser/go.sum +++ b/filebrowser/go.sum @@ -19,18 +19,18 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/STARRY-S/zip v0.2.1 h1:pWBd4tuSGm3wtpoqRZZ2EAwOmcHK6XFf7bU9qcJXyFg= -github.com/STARRY-S/zip v0.2.1/go.mod h1:xNvshLODWtC4EJ702g7cTYn13G53o1+X9BWnPFpcWV4= +github.com/STARRY-S/zip v0.2.3 h1:luE4dMvRPDOWQdeDdUxUoZkzUIpTccdKdhHHsQJ1fm4= +github.com/STARRY-S/zip v0.2.3/go.mod h1:lqJ9JdeRipyOQJrYSOtpNAiaesFO6zVDsE8GIGFaoSk= github.com/Sereal/Sereal v0.0.0-20190618215532-0b8ac451a863 h1:BRrxwOZBolJN4gIwvZMJY1tzqBvQgpaZiQRuIDD40jM= github.com/Sereal/Sereal v0.0.0-20190618215532-0b8ac451a863/go.mod h1:D0JMgToj/WdxCgd30Kc1UcA9E+WdZoJqeVOuYW7iTBM= -github.com/andybalholm/brotli v1.1.2-0.20250424173009-453214e765f3 h1:8PmGpDEZl9yDpcdEr6Odf23feCxK3LNUNMxjXg41pZQ= -github.com/andybalholm/brotli v1.1.2-0.20250424173009-453214e765f3/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA= +github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= +github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= github.com/asdine/storm/v3 v3.2.1 h1:I5AqhkPK6nBZ/qJXySdI7ot5BlXSZ7qvDY1zAn5ZJac= github.com/asdine/storm/v3 v3.2.1/go.mod h1:LEpXwGt4pIqrE/XcTvCnZHT5MgZCV6Ub9q7yQzOFWr0= github.com/asticode/go-astikit v0.20.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0= github.com/asticode/go-astikit v0.30.0/go.mod h1:h4ly7idim1tNhaVkdVBeXQZEE3L0xblP7fCWbgwipF0= -github.com/asticode/go-astikit v0.55.0 h1:jdR6djfjAF2SwtFu1hzwkenCRejzOZUREsr3xPAPHeg= -github.com/asticode/go-astikit v0.55.0/go.mod h1:fV43j20UZYfXzP9oBn33udkvCvDvCDhzjVqoLFuuYZE= +github.com/asticode/go-astikit v0.56.0 h1:DmD2p7YnvxiPdF0h+dRmos3bsejNEXbycENsY5JfBqw= +github.com/asticode/go-astikit v0.56.0/go.mod h1:fV43j20UZYfXzP9oBn33udkvCvDvCDhzjVqoLFuuYZE= github.com/asticode/go-astisub v0.34.0 h1:owKNj0A9pc7YVW/rNy2MJZ1mf0L8DTdklZVfyZDhTWI= github.com/asticode/go-astisub v0.34.0/go.mod h1:WTkuSzFB+Bp7wezuSf2Oxulj5A8zu2zLRVFf6bIFQK8= github.com/asticode/go-astits v1.8.0/go.mod h1:DkOWmBNQpnr9mv24KfZjq4JawCFX1FCqjLVGvO0DygQ= @@ -38,8 +38,8 @@ github.com/asticode/go-astits v1.13.0 h1:XOgkaadfZODnyZRR5Y0/DWkA9vrkLLPLeeOvDwf github.com/asticode/go-astits v1.13.0/go.mod h1:QSHmknZ51pf6KJdHKZHJTLlMegIrhega3LPWz3ND/iI= github.com/bodgit/plumbing v1.3.0 h1:pf9Itz1JOQgn7vEOE7v7nlEfBykYqvUYioC61TwWCFU= github.com/bodgit/plumbing v1.3.0/go.mod h1:JOTb4XiRu5xfnmdnDJo6GmSbSbtSyufrsyZFByMtKEs= -github.com/bodgit/sevenzip v1.6.0 h1:a4R0Wu6/P1o1pP/3VV++aEOcyeBxeO/xE2Y9NSTrr6A= -github.com/bodgit/sevenzip v1.6.0/go.mod h1:zOBh9nJUof7tcrlqJFv1koWRrhz3LbDbUNngkuZxLMc= +github.com/bodgit/sevenzip v1.6.1 h1:kikg2pUMYC9ljU7W9SaqHXhym5HyKm8/M/jd31fYan4= +github.com/bodgit/sevenzip v1.6.1/go.mod h1:GVoYQbEVbOGT8n2pfqCIMRUaRjQ8F9oSqoBEqZh5fQ8= github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4= github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -93,15 +93,15 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2 github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk= -github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20210211234256-740aa86cb551/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= -github.com/golang/geo v0.0.0-20250606134707-e8fe6a72b492 h1:8mHyM6CCmj/DQAhHXJVTgdkg/6hAH71N7qGEF+t4Bzg= -github.com/golang/geo v0.0.0-20250606134707-e8fe6a72b492/go.mod h1:Vaw7L5b+xa3Rj4/pRtrQkymn3lSBRB/NAEdbF9YEVLA= +github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4 h1:vCeHcs8N7MOccOOsOVIy1xcYu+kBkA4J5urTgigww7c= +github.com/golang/geo v0.0.0-20250707181242-c5087ca84cf4/go.mod h1:AN0OjM34c3PbjAsX+QNma1nYtJtRxl+s9MZNV7S+efw= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -113,8 +113,9 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -138,11 +139,6 @@ github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= @@ -179,12 +175,12 @@ github.com/mholt/archives v0.1.3 h1:aEAaOtNra78G+TvV5ohmXrJOAzf++dIlYeDW3N9q458= github.com/mholt/archives v0.1.3/go.mod h1:LUCGp++/IbV/I0Xq4SzcIR6uwgeh2yjnQWamjRQfLTU= github.com/mikelolasagasti/xz v1.0.1 h1:Q2F2jX0RYJUG3+WsM+FJknv+6eVjsjXNDV0KJXZzkD0= github.com/mikelolasagasti/xz v1.0.1/go.mod h1:muAirjiOUxPRXwm9HdDtB3uoRPrGnL85XHtokL9Hcgc= -github.com/minio/minlz v1.0.0 h1:Kj7aJZ1//LlTP1DM8Jm7lNKvvJS2m74gyyXXn3+uJWQ= -github.com/minio/minlz v1.0.0/go.mod h1:qT0aEB35q79LLornSzeDH75LBf3aH1MV+jB5w9Wasec= +github.com/minio/minlz v1.0.1 h1:OUZUzXcib8diiX+JYxyRLIdomyZYzHct6EShOKtQY2A= +github.com/minio/minlz v1.0.1/go.mod h1:qT0aEB35q79LLornSzeDH75LBf3aH1MV+jB5w9Wasec= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/nwaples/rardecode/v2 v2.1.0 h1:JQl9ZoBPDy+nIZGb1mx8+anfHp/LV3NE2MjMiv0ct/U= -github.com/nwaples/rardecode/v2 v2.1.0/go.mod h1:7uz379lSxPe6j9nvzxUZ+n7mnJNgjsRNb6IbvGVHRmw= +github.com/nwaples/rardecode/v2 v2.1.1 h1:OJaYalXdliBUXPmC8CZGQ7oZDxzX1/5mQmgn0/GASew= +github.com/nwaples/rardecode/v2 v2.1.1/go.mod h1:7uz379lSxPe6j9nvzxUZ+n7mnJNgjsRNb6IbvGVHRmw= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= @@ -197,16 +193,16 @@ github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFTqyMTC9k= github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk= github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI= github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/sorairolake/lzip-go v0.3.5 h1:ms5Xri9o1JBIWvOFAorYtUNik6HI3HgBTkISiqu0Cwg= -github.com/sorairolake/lzip-go v0.3.5/go.mod h1:N0KYq5iWrMXI0ZEXKXaS9hCyOjZUQdBDEIbXfoUwbdk= +github.com/sorairolake/lzip-go v0.3.7 h1:vP2uiD/NoklLyzYMdgOWkZME0ulkSfVTTE4MNRKCwNs= +github.com/sorairolake/lzip-go v0.3.7/go.mod h1:THOHr0FlNVCw2eOIEE9shFJAG1QxQg/pf2XUPAmNIqg= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= @@ -222,6 +218,8 @@ github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqj github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -244,12 +242,14 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.4.1 h1:5mOV+HWjIPLEAlUGMsveaUvK2+byZMFOzojoi7bh7uI= -go.etcd.io/bbolt v1.4.1/go.mod h1:c8zu2BnXWTu2XM4XcICtbGSl9cFwsXtcf9zLt2OncM8= +go.etcd.io/bbolt v1.4.2 h1:IrUHp260R8c+zYx/Tm8QZr04CX+qWS5PGfPdevhdm1I= +go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go4.org v0.0.0-20230225012048-214862532bf5 h1:nifaUDeh+rPaBCMPMQHZmvJf+QdpLFnuQPwx+LxVmtc= @@ -260,8 +260,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= -golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= +golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -273,8 +273,8 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.28.0 h1:gdem5JW1OLS4FbkWgLO+7ZeFzYtL3xClb97GaUzYMFE= -golang.org/x/image v0.28.0/go.mod h1:GUJYXtnGKEUgggyzh+Vxt+AviiCcyiwpsl8iQ8MvwGY= +golang.org/x/image v0.29.0 h1:HcdsyR4Gsuys/Axh0rDEmlBmB68rW1U9BUdB3UVHsas= +golang.org/x/image v0.29.0/go.mod h1:RVJROnf3SLK8d26OW91j4FrIHGbsJ8QnbEocVTOWQDA= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -313,8 +313,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= -golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= +golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= +golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -327,8 +327,8 @@ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -354,8 +354,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220928140112-f11e5e49a4ec/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -366,8 +366,8 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= -golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -432,6 +432,8 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/lede/package/kernel/nat46/Makefile b/lede/package/kernel/nat46/Makefile index 2b131a9a70..ae736ab83b 100644 --- a/lede/package/kernel/nat46/Makefile +++ b/lede/package/kernel/nat46/Makefile @@ -3,11 +3,11 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=nat46 -PKG_MIRROR_HASH:=c26b8c60aa991a087011b8b6492e43a6749f0a5d9dc79ffcfd352da5fa20b78d -PKG_SOURCE_URL:=https://github.com/ayourtch/nat46.git -PKG_SOURCE_DATE:=2022-03-30 +PKG_SOURCE_DATE:=2025-04-23 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=95ca1c3b99376da2d0306919f2df4a8d3c9bb78b +PKG_SOURCE_URL:=https://github.com/ayourtch/nat46.git +PKG_SOURCE_VERSION:=04923c51039e8ca270c6f1dde3f04f3b36958089 +PKG_MIRROR_HASH:=27c0b42c7705935f70fda4f6b400e4758bf4727f0462bfecf7758384ecc3f0d8 PKG_MAINTAINER:=Hans Dedecker PKG_LICENSE:=GPL-2.0 @@ -15,7 +15,7 @@ PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk define KernelPackage/nat46 - DEPENDS:=@IPV6 + DEPENDS:=@IPV6 +kmod-nf-conntrack6 TITLE:=Stateless NAT46 translation kernel module SECTION:=kernel SUBMENU:=Network Support diff --git a/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dts b/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dts index c1ce4d130e..dfe5ee46a1 100644 --- a/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dts +++ b/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-emmc.dts @@ -8,21 +8,69 @@ compatible = "cmcc,rax3000m-emmc", "mediatek,mt7981"; chosen { - bootargs = "root=PARTLABEL=rootfs rootwait rootfstype=squashfs,f2fs"; + bootargs = "root=PARTLABEL=rootfs rootwait"; }; }; +&gmac0 { + nvmem-cells = <&macaddr_factory_2a>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_factory_24>; + nvmem-cell-names = "mac-address"; +}; + &mmc0 { bus-width = <8>; + cap-mmc-highspeed; max-frequency = <26000000>; - no-sd; - no-sdio; non-removable; pinctrl-names = "default", "state_uhs"; pinctrl-0 = <&mmc0_pins_default>; pinctrl-1 = <&mmc0_pins_uhs>; vmmc-supply = <®_3p3v>; + #address-cells = <1>; + #size-cells = <0>; status = "okay"; + + card@0 { + compatible = "mmc-card"; + reg = <0>; + + block { + compatible = "block-device"; + + partitions { + block-partition-factory { + partname = "factory"; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x1000>; + }; + + macaddr_factory_24: macaddr@24 { + compatible = "mac-base"; + reg = <0x24 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_2a: macaddr@2a { + compatible = "mac-base"; + reg = <0x2a 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + }; + }; + }; }; &pio { @@ -40,3 +88,8 @@ }; }; }; + +&wifi { + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; +}; diff --git a/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dts b/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dts index 086a4223d1..0024bf939c 100644 --- a/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dts +++ b/lede/target/linux/mediatek/dts/mt7981b-cmcc-rax3000m-nand.dts @@ -12,15 +12,25 @@ }; }; +&gmac0 { + nvmem-cells = <&macaddr_factory_2a>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_factory_24>; + nvmem-cell-names = "mac-address"; +}; + &spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_flash_pins>; status = "okay"; - spi_nand: flash@0 { + flash@0 { + compatible = "spi-nand"; #address-cells = <1>; #size-cells = <1>; - compatible = "spi-nand"; reg = <0>; spi-max-frequency = <52000000>; @@ -31,59 +41,77 @@ mediatek,bmt-max-reserved-blocks = <64>; partitions { - compatible = "fixed-partitions"; + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bl2"; + reg = <0x00000 0x0100000>; + read-only; + }; + + partition@100000 { + label = "u-boot-env"; + reg = <0x100000 0x80000>; + }; + + factory: partition@180000 { + label = "factory"; + reg = <0x180000 0x200000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; - partition@0 { - label = "bl2"; - reg = <0x00000 0x0100000>; - read-only; + macaddr_factory_24: macaddr@24 { + compatible = "mac-base"; + reg = <0x24 0x6>; + #nvmem-cell-cells = <1>; }; - partition@100000 { - label = "u-boot-env"; - reg = <0x100000 0x80000>; + macaddr_factory_2a: macaddr@2a { + compatible = "mac-base"; + reg = <0x2a 0x6>; + #nvmem-cell-cells = <1>; }; + }; + }; - factory: partition@180000 { - label = "factory"; - reg = <0x180000 0x200000>; - read-only; - }; + partition@380000 { + label = "fip"; + reg = <0x380000 0x200000>; + read-only; + }; - partition@380000 { - label = "fip"; - reg = <0x380000 0x200000>; - read-only; - }; - - partition@580000 { - label = "ubi"; - reg = <0x580000 0x7200000>; - }; + partition@580000 { + label = "ubi"; + reg = <0x580000 0x7200000>; + }; }; }; }; &pio { spi0_flash_pins: spi0-pins { - mux { - function = "spi"; - groups = "spi0", "spi0_wp_hold"; - }; + mux { + function = "spi"; + groups = "spi0", "spi0_wp_hold"; + }; - conf-pu { - pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP"; - drive-strength = <8>; - mediatek,pull-up-adv = <0>; /* bias-disable */ - }; + conf-pu { + pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP"; + drive-strength = <8>; + mediatek,pull-up-adv = <0>; /* bias-disable */ + }; - conf-pd { - pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO"; - drive-strength = <8>; - mediatek,pull-up-adv = <0>; /* bias-disable */ - }; + conf-pd { + pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO"; + drive-strength = <8>; + mediatek,pull-up-adv = <0>; /* bias-disable */ + }; }; }; diff --git a/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-emmc.dts b/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-emmc.dts index 274520c7a4..a5ab7607a2 100644 --- a/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-emmc.dts +++ b/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-emmc.dts @@ -12,6 +12,16 @@ }; }; +&gmac0 { + nvmem-cells = <&macaddr_factory_2a>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_factory_24>; + nvmem-cell-names = "mac-address"; +}; + &mmc0 { bus-width = <8>; cap-mmc-highspeed; @@ -21,7 +31,46 @@ pinctrl-0 = <&mmc0_pins_default>; pinctrl-1 = <&mmc0_pins_uhs>; vmmc-supply = <®_3p3v>; + #address-cells = <1>; + #size-cells = <0>; status = "okay"; + + card@0 { + compatible = "mmc-card"; + reg = <0>; + + block { + compatible = "block-device"; + + partitions { + block-partition-factory { + partname = "factory"; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x1000>; + }; + + macaddr_factory_24: macaddr@24 { + compatible = "mac-base"; + reg = <0x24 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_2a: macaddr@2a { + compatible = "mac-base"; + reg = <0x2a 0x6>; + #nvmem-cell-cells = <1>; + }; + }; + }; + }; + }; + }; }; &pio { @@ -39,3 +88,8 @@ }; }; }; + +&wifi { + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; +}; diff --git a/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-nand.dts b/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-nand.dts index 388306fada..695919ac15 100644 --- a/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-nand.dts +++ b/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30-nand.dts @@ -12,6 +12,16 @@ }; }; +&gmac0 { + nvmem-cells = <&macaddr_factory_2a>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_factory_24>; + nvmem-cell-names = "mac-address"; +}; + &spi0 { pinctrl-names = "default"; pinctrl-0 = <&spi0_flash_pins>; diff --git a/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30.dtsi b/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30.dtsi index 15870f2b5b..465040ccd3 100644 --- a/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30.dtsi +++ b/lede/target/linux/mediatek/dts/mt7981b-cmcc-xr30.dtsi @@ -66,9 +66,6 @@ reg = <0>; phy-mode = "2500base-x"; - nvmem-cells = <&macaddr_factory_2a>; - nvmem-cell-names = "mac-address"; - fixed-link { speed = <2500>; full-duplex; @@ -81,9 +78,6 @@ reg = <1>; phy-mode = "gmii"; phy-handle = <&int_gbe_phy>; - - nvmem-cells = <&macaddr_factory_24>; - nvmem-cell-names = "mac-address"; }; }; diff --git a/lede/target/linux/mediatek/dts/mt7981b-cudy-tr3000-256mb-v1.dts b/lede/target/linux/mediatek/dts/mt7981b-cudy-tr3000-256mb-v1.dts new file mode 100644 index 0000000000..d71313251c --- /dev/null +++ b/lede/target/linux/mediatek/dts/mt7981b-cudy-tr3000-256mb-v1.dts @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) + +#include "mt7981b-cudy-tr3000-v1.dts" + +/ { + model = "Cudy TR3000 256MB v1"; + compatible = "cudy,tr3000-256mb-v1", "mediatek,mt7981"; +}; + +&spi0 { + flash@0 { + partitions { + partition@5c0000 { + label = "ubi"; + reg = <0x5c0000 0xe600000>; + }; + }; + }; +}; diff --git a/lede/target/linux/mediatek/filogic/base-files/etc/board.d/02_network b/lede/target/linux/mediatek/filogic/base-files/etc/board.d/02_network index 6ca74b7be2..5c53be5775 100644 --- a/lede/target/linux/mediatek/filogic/base-files/etc/board.d/02_network +++ b/lede/target/linux/mediatek/filogic/base-files/etc/board.d/02_network @@ -108,16 +108,6 @@ mediatek_setup_macs() bananapi,bpi-r4) wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1) ;; - cmcc,rax3000m-emmc) - wan_mac=$(mmc_get_mac_binary factory 0x2a) - lan_mac=$(mmc_get_mac_binary factory 0x24) - label_mac=$wan_mac - ;; - cmcc,rax3000m-nand) - wan_mac=$(mtd_get_mac_binary factory 0x2a) - lan_mac=$(mtd_get_mac_binary factory 0x24) - label_mac=$lan_mac - ;; glinet,gl-mt2500) label_mac="$(get_mac_binary "/dev/mmcblk0boot1" 0xa)" wan_mac="$label_mac" diff --git a/lede/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata b/lede/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata index 5185d43cf3..4e7597eec9 100644 --- a/lede/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata +++ b/lede/target/linux/mediatek/filogic/base-files/etc/hotplug.d/firmware/11-mt76-caldata @@ -7,15 +7,6 @@ board=$(board_name) case "$FIRMWARE" in -"mediatek/mt7981_eeprom_mt7976_dbdc.bin") - case "$board" in - cmcc,rax3000m-emmc|\ - cmcc,xr30-emmc|\ - huasifei,wh3000-emmc) - caldata_extract_mmc "factory" 0x0 0x1000 - ;; - esac - ;; "mediatek/mt7986_eeprom_mt7976_dbdc.bin") case "$board" in asus,tuf-ax4200) diff --git a/lede/target/linux/mediatek/image/filogic.mk b/lede/target/linux/mediatek/image/filogic.mk index 039cde92b5..c793018a87 100644 --- a/lede/target/linux/mediatek/image/filogic.mk +++ b/lede/target/linux/mediatek/image/filogic.mk @@ -381,6 +381,22 @@ define Device/cmcc_xr30-nand endef TARGET_DEVICES += cmcc_xr30-nand +define Device/cudy_tr3000-256mb-v1 + DEVICE_VENDOR := Cudy + DEVICE_MODEL := TR3000 + DEVICE_VARIANT := 256mb v1 + DEVICE_DTS := mt7981b-cudy-tr3000-256mb-v1 + DEVICE_DTS_DIR := ../dts + SUPPORTED_DEVICES += R103 + UBINIZE_OPTS := -E 5 + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_IN_UBI := 1 + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_PACKAGES := kmod-usb3 kmod-mt7981-firmware mt7981-wo-firmware +endef +TARGET_DEVICES += cudy_tr3000-256mb-v1 + define Device/cudy_tr3000-mod DEVICE_VENDOR := Cudy DEVICE_MODEL := TR3000 diff --git a/mieru/.gitignore b/mieru/.gitignore index 9df0c2c161..82ad8826e6 100644 --- a/mieru/.gitignore +++ b/mieru/.gitignore @@ -1,35 +1,39 @@ +# third party source code +/vendor + +# binaries +/release +*.exe +*.dll +*.so +*.dylib +__pycache__/ + +# deb and rpm packages +*.deb +*.rpm /build/package/mieru/amd64/debian/usr/bin/ /build/package/mieru/amd64/rpm/** !/build/package/mieru/amd64/rpm/mieru.spec - /build/package/mieru/arm64/debian/usr/bin/ /build/package/mieru/arm64/rpm/** !/build/package/mieru/arm64/rpm/mieru.spec - /build/package/mita/amd64/debian/usr/bin/ /build/package/mita/amd64/rpm/** !/build/package/mita/amd64/rpm/mita.service !/build/package/mita/amd64/rpm/mita.spec - /build/package/mita/arm64/debian/usr/bin/ /build/package/mita/arm64/rpm/** !/build/package/mita/arm64/rpm/mita.service !/build/package/mita/arm64/rpm/mita.spec -/release +# build tools /tools/build/** !/tools/build/README.md -/vendor - -*.exe -*.dll -*.so -*.dylib -*.deb -*.rpm -__pycache__/ +# code editors .vscode/ +# code coverage /coverage.out /coverage.html diff --git a/mieru/pkg/appctl/server.go b/mieru/pkg/appctl/server.go index 99aab26940..b99b1c9529 100644 --- a/mieru/pkg/appctl/server.go +++ b/mieru/pkg/appctl/server.go @@ -560,11 +560,10 @@ func DeleteServerUsers(names []string) error { // 4.4. host is not empty // 4.5. port is valid // 4.6. if socks5 authentication is used, the user and password are not empty -// 5. there is maximum 1 egress rule -// 5.1. the IP ranges must be "*" -// 5.2. the domain names must be "*" -// 5.3. the action must be "PROXY" -// 5.4. the proxy name is defined +// 5. for each egress rule +// 5.1. each IP range is either "*" or a valid IP CIDR +// 5.2. each domain name is not empty, and does not begin or end with a dot +// 5.3. if the action is "PROXY", the proxy is defined // 6. if set, metrics logging interval is valid, and it is not less than 1 second func ValidateServerConfigPatch(patch *pb.ServerConfig) error { if _, err := appctlcommon.FlatPortBindings(patch.GetPortBindings()); err != nil { @@ -616,32 +615,32 @@ func ValidateServerConfigPatch(patch *pb.ServerConfig) error { return fmt.Errorf("egress proxy socks5 authentication password is not set") } } - if len(patch.GetEgress().GetRules()) > 1 { - return fmt.Errorf("found %d egress rules, maximum number of supported rules is 1", len(patch.GetEgress().GetRules())) - } - if len(patch.GetEgress().GetRules()) == 1 { - rule := patch.GetEgress().GetRules()[0] - if len(rule.GetIpRanges()) != 1 || rule.GetIpRanges()[0] != "*" { - return fmt.Errorf("egress rule: the only supported IP range value is %q", "*") - } - if len(rule.GetDomainNames()) != 1 || rule.GetDomainNames()[0] != "*" { - return fmt.Errorf("egress rule: the only supported domain name value is %q", "*") - } - if rule.GetAction() != pb.EgressAction_PROXY { - return fmt.Errorf("egress rule: the only supported action is %q", pb.EgressAction_PROXY.String()) - } - if rule.GetProxyName() == "" { - return fmt.Errorf("egress rule: proxy name is not set") - } - foundProxy := false - for _, proxy := range patch.GetEgress().GetProxies() { - if proxy.GetName() == rule.GetProxyName() { - foundProxy = true - break + for _, rule := range patch.GetEgress().GetRules() { + for _, ipRange := range rule.GetIpRanges() { + if ipRange != "*" { + if _, _, err := net.ParseCIDR(ipRange); err != nil { + return fmt.Errorf("egress rule: invalid IP CIDR: %s", ipRange) + } } } - if !foundProxy { - return fmt.Errorf("egress rule: proxy %q is not defined", rule.GetProxyName()) + for _, domain := range rule.GetDomainNames() { + if domain == "" { + return fmt.Errorf("egress rule: domain name is empty") + } + if domain[0] == '.' { + return fmt.Errorf("egress rule: domain name %q must not begin with a dot", domain) + } + if domain[len(domain)-1] == '.' { + return fmt.Errorf("egress rule: domain name %q must not end with a dot", domain) + } + } + if rule.GetAction() == pb.EgressAction_PROXY { + if rule.GetProxyName() == "" { + return fmt.Errorf("egress rule: proxy name is not set for PROXY action") + } + if _, found := usedProxyNames[rule.GetProxyName()]; !found { + return fmt.Errorf("egress rule: proxy %q is not defined", rule.GetProxyName()) + } } } if patch.GetAdvancedSettings().GetMetricsLoggingInterval() != "" { diff --git a/mieru/pkg/socks5/egress.go b/mieru/pkg/socks5/egress.go index 2e05a18466..c9f65d7bf8 100644 --- a/mieru/pkg/socks5/egress.go +++ b/mieru/pkg/socks5/egress.go @@ -18,6 +18,7 @@ package socks5 import ( "context" "net" + "strings" "github.com/enfein/mieru/v3/apis/constant" "github.com/enfein/mieru/v3/pkg/appctl/appctlpb" @@ -72,17 +73,14 @@ func (s *Server) FindAction(ctx context.Context, in egress.Input) egress.Action return action } // 2. Check if the request should be forwarded to another proxy. - action = s.forwardToProxyAction(ctx, in) - if action.Action == appctlpb.EgressAction_PROXY { - return action - } + return s.forwardToProxyAction(ctx, in) } return egress.Action{ Action: appctlpb.EgressAction_DIRECT, } } -func (s *Server) rejectPrivateAndLoopbackIPAction(ctx context.Context, in egress.Input) egress.Action { +func (s *Server) rejectPrivateAndLoopbackIPAction(_ context.Context, in egress.Input) egress.Action { var ip net.IP if in.Data[3] == constant.Socks5IPv4Address { ip = net.IP(in.Data[4:8]) @@ -163,21 +161,66 @@ func (s *Server) rejectPrivateAndLoopbackIPAction(ctx context.Context, in egress } func (s *Server) forwardToProxyAction(_ context.Context, in egress.Input) egress.Action { - isIP := in.Data[3] == constant.Socks5IPv4Address || in.Data[3] == constant.Socks5IPv6Address - isDomainName := in.Data[3] == constant.Socks5FQDNAddress + addrType := in.Data[3] + var addr net.IP + var domain string + + switch addrType { + case constant.Socks5IPv4Address: + addr = net.IP(in.Data[4:8]) + case constant.Socks5IPv6Address: + addr = net.IP(in.Data[4:20]) + case constant.Socks5FQDNAddress: + domainLen := int(in.Data[4]) + domain = string(in.Data[5 : 5+domainLen]) + default: + return egress.Action{Action: appctlpb.EgressAction_DIRECT} + } + for _, rule := range s.config.Egress.GetRules() { - if (isIP && len(rule.GetIpRanges()) > 0 && rule.GetIpRanges()[0] == "*") || (isDomainName && len(rule.GetDomainNames()) > 0 && rule.GetDomainNames()[0] == "*") { - for _, proxy := range s.config.Egress.GetProxies() { - if proxy.GetName() == rule.GetProxyName() { - return egress.Action{ - Action: rule.GetAction(), - Proxy: proxy, + if s.matchEgressRule(addr, domain, rule) { + if rule.GetAction() == appctlpb.EgressAction_PROXY { + for _, proxy := range s.config.Egress.GetProxies() { + if proxy.GetName() == rule.GetProxyName() { + return egress.Action{ + Action: rule.GetAction(), + Proxy: proxy, + } } } } + return egress.Action{Action: rule.GetAction()} } } - return egress.Action{ - Action: appctlpb.EgressAction_DIRECT, - } + + return egress.Action{Action: appctlpb.EgressAction_DIRECT} +} + +func (s *Server) matchEgressRule(addr net.IP, domain string, rule *appctlpb.EgressRule) bool { + if addr != nil { + // IP based rule + for _, ipRange := range rule.GetIpRanges() { + if ipRange == "*" { + return true + } + _, cidr, err := net.ParseCIDR(ipRange) + if err != nil { + continue + } + if cidr.Contains(addr) { + return true + } + } + } else if domain != "" { + // Domain name based rule. + for _, d := range rule.GetDomainNames() { + if d == "*" { + return true + } + if domain == d || strings.HasSuffix(domain, "."+d) { + return true + } + } + } + return false } diff --git a/mieru/pkg/socks5/egress_test.go b/mieru/pkg/socks5/egress_test.go index f7c0b19552..9a84e322c3 100644 --- a/mieru/pkg/socks5/egress_test.go +++ b/mieru/pkg/socks5/egress_test.go @@ -154,3 +154,111 @@ func TestEgressRule(t *testing.T) { } } } + +func TestMatchEgressRule(t *testing.T) { + controller := &Server{ + config: &Config{ + Egress: &appctlpb.Egress{ + Proxies: []*appctlpb.EgressProxy{ + { + Name: proto.String("cloudflare"), + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL.Enum(), + Host: proto.String("127.0.0.1"), + Port: proto.Int32(6789), + }, + }, + Rules: []*appctlpb.EgressRule{ + { + IpRanges: []string{"192.168.0.0/16"}, + Action: appctlpb.EgressAction_DIRECT.Enum(), + }, + { + DomainNames: []string{"google.com"}, + Action: appctlpb.EgressAction_DIRECT.Enum(), + }, + { + IpRanges: []string{"*"}, + DomainNames: []string{"*"}, + Action: appctlpb.EgressAction_PROXY.Enum(), + ProxyName: proto.String("cloudflare"), + }, + }, + }, + Resolver: apicommon.NilDNSResolver{}, + Users: map[string]*appctlpb.User{ + "test": { + Name: proto.String("test"), + AllowPrivateIP: proto.Bool(true), + }, + }, + }, + } + + tests := []struct { + name string + input egress.Input + wantAction appctlpb.EgressAction + }{ + { + name: "IP matching explicit rule", + input: egress.Input{ + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL, + Data: []byte{5, 1, 0, 1, 192, 168, 0, 1, 1, 187}, + Env: map[string]string{"user": "test"}, + }, + wantAction: appctlpb.EgressAction_DIRECT, + }, + { + name: "Domain matching explicit rule", + input: egress.Input{ + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL, + Data: []byte{5, 1, 0, 3, 12, 'a', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', 1, 187}, + }, + wantAction: appctlpb.EgressAction_DIRECT, + }, + { + name: "IP matching default rule", + input: egress.Input{ + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL, + Data: []byte{5, 1, 0, 1, 8, 8, 8, 8, 0, 53}, + }, + wantAction: appctlpb.EgressAction_PROXY, + }, + { + name: "Domain matching default rule", + input: egress.Input{ + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL, + Data: []byte{5, 1, 0, 3, 11, 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', 1, 187}, + }, + wantAction: appctlpb.EgressAction_PROXY, + }, + { + name: "Domain matching explicit rule exactly", + input: egress.Input{ + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL, + Data: []byte{5, 1, 0, 3, 10, 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', 1, 187}, + }, + wantAction: appctlpb.EgressAction_DIRECT, + }, + { + name: "Partial domain suffix does not match", + input: egress.Input{ + Protocol: appctlpb.ProxyProtocol_SOCKS5_PROXY_PROTOCOL, + Data: []byte{5, 1, 0, 3, 14, 'e', 'v', 'i', 'l', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', 1, 187}, + }, + wantAction: appctlpb.EgressAction_PROXY, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + action := controller.FindAction(context.Background(), tt.input) + if action.Action != tt.wantAction { + t.Errorf("expected %v, but got %v", tt.wantAction, action.Action) + } + if action.Action == appctlpb.EgressAction_PROXY && action.Proxy == nil { + t.Errorf("expected Proxy to be non-nil, but got nil") + } + }) + } +} diff --git a/mihomo/adapter/adapter.go b/mihomo/adapter/adapter.go index 53f7c6d96a..d1f37863c6 100644 --- a/mihomo/adapter/adapter.go +++ b/mihomo/adapter/adapter.go @@ -14,10 +14,10 @@ import ( "github.com/metacubex/mihomo/common/atomic" "github.com/metacubex/mihomo/common/queue" "github.com/metacubex/mihomo/common/utils" + "github.com/metacubex/mihomo/common/xsync" "github.com/metacubex/mihomo/component/ca" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/log" - "github.com/puzpuzpuz/xsync/v3" ) var UnifiedDelay = atomic.NewBool(false) @@ -35,7 +35,7 @@ type Proxy struct { C.ProxyAdapter alive atomic.Bool history *queue.Queue[C.DelayHistory] - extra *xsync.MapOf[string, *internalProxyState] + extra xsync.Map[string, *internalProxyState] } // Adapter implements C.Proxy @@ -293,7 +293,7 @@ func NewProxy(adapter C.ProxyAdapter) *Proxy { ProxyAdapter: adapter, history: queue.New[C.DelayHistory](defaultHistoriesNum), alive: atomic.NewBool(true), - extra: xsync.NewMapOf[string, *internalProxyState]()} + } } func urlToMetadata(rawURL string) (addr C.Metadata, err error) { diff --git a/mihomo/common/maphash/common.go b/mihomo/common/maphash/common.go new file mode 100644 index 0000000000..14b4aaa9cc --- /dev/null +++ b/mihomo/common/maphash/common.go @@ -0,0 +1,19 @@ +package maphash + +import "hash/maphash" + +type Seed = maphash.Seed + +func MakeSeed() Seed { + return maphash.MakeSeed() +} + +type Hash = maphash.Hash + +func Bytes(seed Seed, b []byte) uint64 { + return maphash.Bytes(seed, b) +} + +func String(seed Seed, s string) uint64 { + return maphash.String(seed, s) +} diff --git a/mihomo/common/maphash/comparable_go120.go b/mihomo/common/maphash/comparable_go120.go new file mode 100644 index 0000000000..05256d67dd --- /dev/null +++ b/mihomo/common/maphash/comparable_go120.go @@ -0,0 +1,140 @@ +//go:build !go1.24 + +package maphash + +import "unsafe" + +func Comparable[T comparable](s Seed, v T) uint64 { + return comparableHash(*(*seedTyp)(unsafe.Pointer(&s)), v) +} + +func comparableHash[T comparable](seed seedTyp, v T) uint64 { + s := seed.s + var m map[T]struct{} + mTyp := iTypeOf(m) + var hasher func(unsafe.Pointer, uintptr) uintptr + hasher = (*iMapType)(unsafe.Pointer(mTyp)).Hasher + + p := escape(unsafe.Pointer(&v)) + + if ptrSize == 8 { + return uint64(hasher(p, uintptr(s))) + } + lo := hasher(p, uintptr(s)) + hi := hasher(p, uintptr(s>>32)) + return uint64(hi)<<32 | uint64(lo) +} + +// WriteComparable adds x to the data hashed by h. +func WriteComparable[T comparable](h *Hash, x T) { + // writeComparable (not in purego mode) directly operates on h.state + // without using h.buf. Mix in the buffer length so it won't + // commute with a buffered write, which either changes h.n or changes + // h.state. + hash := (*hashTyp)(unsafe.Pointer(h)) + if hash.n != 0 { + hash.state.s = comparableHash(hash.state, hash.n) + } + hash.state.s = comparableHash(hash.state, x) +} + +// go/src/hash/maphash/maphash.go +type hashTyp struct { + _ [0]func() // not comparable + seed seedTyp // initial seed used for this hash + state seedTyp // current hash of all flushed bytes + buf [128]byte // unflushed byte buffer + n int // number of unflushed bytes +} + +type seedTyp struct { + s uint64 +} + +type iTFlag uint8 +type iKind uint8 +type iNameOff int32 + +// TypeOff is the offset to a type from moduledata.types. See resolveTypeOff in runtime. +type iTypeOff int32 + +type iType struct { + Size_ uintptr + PtrBytes uintptr // number of (prefix) bytes in the type that can contain pointers + Hash uint32 // hash of type; avoids computation in hash tables + TFlag iTFlag // extra type information flags + Align_ uint8 // alignment of variable with this type + FieldAlign_ uint8 // alignment of struct field with this type + Kind_ iKind // enumeration for C + // function for comparing objects of this type + // (ptr to object A, ptr to object B) -> ==? + Equal func(unsafe.Pointer, unsafe.Pointer) bool + // GCData stores the GC type data for the garbage collector. + // Normally, GCData points to a bitmask that describes the + // ptr/nonptr fields of the type. The bitmask will have at + // least PtrBytes/ptrSize bits. + // If the TFlagGCMaskOnDemand bit is set, GCData is instead a + // **byte and the pointer to the bitmask is one dereference away. + // The runtime will build the bitmask if needed. + // (See runtime/type.go:getGCMask.) + // Note: multiple types may have the same value of GCData, + // including when TFlagGCMaskOnDemand is set. The types will, of course, + // have the same pointer layout (but not necessarily the same size). + GCData *byte + Str iNameOff // string form + PtrToThis iTypeOff // type for pointer to this type, may be zero +} + +type iMapType struct { + iType + Key *iType + Elem *iType + Group *iType // internal type representing a slot group + // function for hashing keys (ptr to key, seed) -> hash + Hasher func(unsafe.Pointer, uintptr) uintptr +} + +func iTypeOf(a any) *iType { + eface := *(*iEmptyInterface)(unsafe.Pointer(&a)) + // Types are either static (for compiler-created types) or + // heap-allocated but always reachable (for reflection-created + // types, held in the central map). So there is no need to + // escape types. noescape here help avoid unnecessary escape + // of v. + return (*iType)(noescape(unsafe.Pointer(eface.Type))) +} + +type iEmptyInterface struct { + Type *iType + Data unsafe.Pointer +} + +// noescape hides a pointer from escape analysis. noescape is +// the identity function but escape analysis doesn't think the +// output depends on the input. noescape is inlined and currently +// compiles down to zero instructions. +// USE CAREFULLY! +// +// nolint:all +// +//go:nosplit +//goland:noinspection ALL +func noescape(p unsafe.Pointer) unsafe.Pointer { + x := uintptr(p) + return unsafe.Pointer(x ^ 0) +} + +var alwaysFalse bool +var escapeSink any + +// escape forces any pointers in x to escape to the heap. +func escape[T any](x T) T { + if alwaysFalse { + escapeSink = x + } + return x +} + +// ptrSize is the size of a pointer in bytes - unsafe.Sizeof(uintptr(0)) but as an ideal constant. +// It is also the size of the machine's native word size (that is, 4 on 32-bit systems, 8 on 64-bit). +const ptrSize = 4 << (^uintptr(0) >> 63) diff --git a/mihomo/common/maphash/comparable_go124.go b/mihomo/common/maphash/comparable_go124.go new file mode 100644 index 0000000000..3a96edb661 --- /dev/null +++ b/mihomo/common/maphash/comparable_go124.go @@ -0,0 +1,13 @@ +//go:build go1.24 + +package maphash + +import "hash/maphash" + +func Comparable[T comparable](seed Seed, v T) uint64 { + return maphash.Comparable(seed, v) +} + +func WriteComparable[T comparable](h *Hash, x T) { + maphash.WriteComparable(h, x) +} diff --git a/mihomo/common/maphash/maphash_test.go b/mihomo/common/maphash/maphash_test.go new file mode 100644 index 0000000000..73887f2715 --- /dev/null +++ b/mihomo/common/maphash/maphash_test.go @@ -0,0 +1,532 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package maphash + +import ( + "bytes" + "fmt" + "hash" + "math" + "reflect" + "strings" + "testing" + "unsafe" + + rand "github.com/metacubex/randv2" +) + +func TestUnseededHash(t *testing.T) { + m := map[uint64]struct{}{} + for i := 0; i < 1000; i++ { + h := new(Hash) + m[h.Sum64()] = struct{}{} + } + if len(m) < 900 { + t.Errorf("empty hash not sufficiently random: got %d, want 1000", len(m)) + } +} + +func TestSeededHash(t *testing.T) { + s := MakeSeed() + m := map[uint64]struct{}{} + for i := 0; i < 1000; i++ { + h := new(Hash) + h.SetSeed(s) + m[h.Sum64()] = struct{}{} + } + if len(m) != 1 { + t.Errorf("seeded hash is random: got %d, want 1", len(m)) + } +} + +func TestHashGrouping(t *testing.T) { + b := bytes.Repeat([]byte("foo"), 100) + hh := make([]*Hash, 7) + for i := range hh { + hh[i] = new(Hash) + } + for _, h := range hh[1:] { + h.SetSeed(hh[0].Seed()) + } + hh[0].Write(b) + hh[1].WriteString(string(b)) + + writeByte := func(h *Hash, b byte) { + err := h.WriteByte(b) + if err != nil { + t.Fatalf("WriteByte: %v", err) + } + } + writeSingleByte := func(h *Hash, b byte) { + _, err := h.Write([]byte{b}) + if err != nil { + t.Fatalf("Write single byte: %v", err) + } + } + writeStringSingleByte := func(h *Hash, b byte) { + _, err := h.WriteString(string([]byte{b})) + if err != nil { + t.Fatalf("WriteString single byte: %v", err) + } + } + + for i, x := range b { + writeByte(hh[2], x) + writeSingleByte(hh[3], x) + if i == 0 { + writeByte(hh[4], x) + } else { + writeSingleByte(hh[4], x) + } + writeStringSingleByte(hh[5], x) + if i == 0 { + writeByte(hh[6], x) + } else { + writeStringSingleByte(hh[6], x) + } + } + + sum := hh[0].Sum64() + for i, h := range hh { + if sum != h.Sum64() { + t.Errorf("hash %d not identical to a single Write", i) + } + } + + if sum1 := Bytes(hh[0].Seed(), b); sum1 != hh[0].Sum64() { + t.Errorf("hash using Bytes not identical to a single Write") + } + + if sum1 := String(hh[0].Seed(), string(b)); sum1 != hh[0].Sum64() { + t.Errorf("hash using String not identical to a single Write") + } +} + +func TestHashBytesVsString(t *testing.T) { + s := "foo" + b := []byte(s) + h1 := new(Hash) + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + n1, err1 := h1.WriteString(s) + if n1 != len(s) || err1 != nil { + t.Fatalf("WriteString(s) = %d, %v, want %d, nil", n1, err1, len(s)) + } + n2, err2 := h2.Write(b) + if n2 != len(b) || err2 != nil { + t.Fatalf("Write(b) = %d, %v, want %d, nil", n2, err2, len(b)) + } + if h1.Sum64() != h2.Sum64() { + t.Errorf("hash of string and bytes not identical") + } +} + +func TestHashHighBytes(t *testing.T) { + // See issue 34925. + const N = 10 + m := map[uint64]struct{}{} + for i := 0; i < N; i++ { + h := new(Hash) + h.WriteString("foo") + m[h.Sum64()>>32] = struct{}{} + } + if len(m) < N/2 { + t.Errorf("from %d seeds, wanted at least %d different hashes; got %d", N, N/2, len(m)) + } +} + +func TestRepeat(t *testing.T) { + h1 := new(Hash) + h1.WriteString("testing") + sum1 := h1.Sum64() + + h1.Reset() + h1.WriteString("testing") + sum2 := h1.Sum64() + + if sum1 != sum2 { + t.Errorf("different sum after resetting: %#x != %#x", sum1, sum2) + } + + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("testing") + sum3 := h2.Sum64() + + if sum1 != sum3 { + t.Errorf("different sum on the same seed: %#x != %#x", sum1, sum3) + } +} + +func TestSeedFromSum64(t *testing.T) { + h1 := new(Hash) + h1.WriteString("foo") + x := h1.Sum64() // seed generated here + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("foo") + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func TestSeedFromSeed(t *testing.T) { + h1 := new(Hash) + h1.WriteString("foo") + _ = h1.Seed() // seed generated here + x := h1.Sum64() + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("foo") + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func TestSeedFromFlush(t *testing.T) { + b := make([]byte, 65) + h1 := new(Hash) + h1.Write(b) // seed generated here + x := h1.Sum64() + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.Write(b) + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func TestSeedFromReset(t *testing.T) { + h1 := new(Hash) + h1.WriteString("foo") + h1.Reset() // seed generated here + h1.WriteString("foo") + x := h1.Sum64() + h2 := new(Hash) + h2.SetSeed(h1.Seed()) + h2.WriteString("foo") + y := h2.Sum64() + if x != y { + t.Errorf("hashes don't match: want %x, got %x", x, y) + } +} + +func negativeZero[T float32 | float64]() T { + var f T + f = -f + return f +} + +func TestComparable(t *testing.T) { + testComparable(t, int64(2)) + testComparable(t, uint64(8)) + testComparable(t, uintptr(12)) + testComparable(t, any("s")) + testComparable(t, "s") + testComparable(t, true) + testComparable(t, new(float64)) + testComparable(t, float64(9)) + testComparable(t, complex128(9i+1)) + testComparable(t, struct{}{}) + testComparable(t, struct { + i int + u uint + b bool + f float64 + p *int + a any + }{i: 9, u: 1, b: true, f: 9.9, p: new(int), a: 1}) + type S struct { + s string + } + s1 := S{s: heapStr(t)} + s2 := S{s: heapStr(t)} + if unsafe.StringData(s1.s) == unsafe.StringData(s2.s) { + t.Fatalf("unexpected two heapStr ptr equal") + } + if s1.s != s2.s { + t.Fatalf("unexpected two heapStr value not equal") + } + testComparable(t, s1, s2) + testComparable(t, s1.s, s2.s) + testComparable(t, float32(0), negativeZero[float32]()) + testComparable(t, float64(0), negativeZero[float64]()) + testComparableNoEqual(t, math.NaN(), math.NaN()) + testComparableNoEqual(t, [2]string{"a", ""}, [2]string{"", "a"}) + testComparableNoEqual(t, struct{ a, b string }{"foo", ""}, struct{ a, b string }{"", "foo"}) + testComparableNoEqual(t, struct{ a, b any }{int(0), struct{}{}}, struct{ a, b any }{struct{}{}, int(0)}) +} + +func testComparableNoEqual[T comparable](t *testing.T, v1, v2 T) { + seed := MakeSeed() + if Comparable(seed, v1) == Comparable(seed, v2) { + t.Fatalf("Comparable(seed, %v) == Comparable(seed, %v)", v1, v2) + } +} + +var heapStrValue = []byte("aTestString") + +func heapStr(t *testing.T) string { + return string(heapStrValue) +} + +func testComparable[T comparable](t *testing.T, v T, v2 ...T) { + t.Run(TypeFor[T]().String(), func(t *testing.T) { + var a, b T = v, v + if len(v2) != 0 { + b = v2[0] + } + var pa *T = &a + seed := MakeSeed() + if Comparable(seed, a) != Comparable(seed, b) { + t.Fatalf("Comparable(seed, %v) != Comparable(seed, %v)", a, b) + } + old := Comparable(seed, pa) + stackGrow(8192) + new := Comparable(seed, pa) + if old != new { + t.Fatal("Comparable(seed, ptr) != Comparable(seed, ptr)") + } + }) +} + +var use byte + +//go:noinline +func stackGrow(dep int) { + if dep == 0 { + return + } + var local [1024]byte + // make sure local is allocated on the stack. + local[rand.Uint64()%1024] = byte(rand.Uint64()) + use = local[rand.Uint64()%1024] + stackGrow(dep - 1) +} + +func TestWriteComparable(t *testing.T) { + testWriteComparable(t, int64(2)) + testWriteComparable(t, uint64(8)) + testWriteComparable(t, uintptr(12)) + testWriteComparable(t, any("s")) + testWriteComparable(t, "s") + testComparable(t, true) + testWriteComparable(t, new(float64)) + testWriteComparable(t, float64(9)) + testWriteComparable(t, complex128(9i+1)) + testWriteComparable(t, struct{}{}) + testWriteComparable(t, struct { + i int + u uint + b bool + f float64 + p *int + a any + }{i: 9, u: 1, b: true, f: 9.9, p: new(int), a: 1}) + type S struct { + s string + } + s1 := S{s: heapStr(t)} + s2 := S{s: heapStr(t)} + if unsafe.StringData(s1.s) == unsafe.StringData(s2.s) { + t.Fatalf("unexpected two heapStr ptr equal") + } + if s1.s != s2.s { + t.Fatalf("unexpected two heapStr value not equal") + } + testWriteComparable(t, s1, s2) + testWriteComparable(t, s1.s, s2.s) + testWriteComparable(t, float32(0), negativeZero[float32]()) + testWriteComparable(t, float64(0), negativeZero[float64]()) + testWriteComparableNoEqual(t, math.NaN(), math.NaN()) + testWriteComparableNoEqual(t, [2]string{"a", ""}, [2]string{"", "a"}) + testWriteComparableNoEqual(t, struct{ a, b string }{"foo", ""}, struct{ a, b string }{"", "foo"}) + testWriteComparableNoEqual(t, struct{ a, b any }{int(0), struct{}{}}, struct{ a, b any }{struct{}{}, int(0)}) +} + +func testWriteComparableNoEqual[T comparable](t *testing.T, v1, v2 T) { + seed := MakeSeed() + h1 := Hash{} + h2 := Hash{} + *(*Seed)(unsafe.Pointer(&h1)), *(*Seed)(unsafe.Pointer(&h2)) = seed, seed + WriteComparable(&h1, v1) + WriteComparable(&h2, v2) + if h1.Sum64() == h2.Sum64() { + t.Fatalf("WriteComparable(seed, %v) == WriteComparable(seed, %v)", v1, v2) + } + +} + +func testWriteComparable[T comparable](t *testing.T, v T, v2 ...T) { + t.Run(TypeFor[T]().String(), func(t *testing.T) { + var a, b T = v, v + if len(v2) != 0 { + b = v2[0] + } + var pa *T = &a + h1 := Hash{} + h2 := Hash{} + *(*Seed)(unsafe.Pointer(&h1)) = MakeSeed() + h2 = h1 + WriteComparable(&h1, a) + WriteComparable(&h2, b) + if h1.Sum64() != h2.Sum64() { + t.Fatalf("WriteComparable(h, %v) != WriteComparable(h, %v)", a, b) + } + WriteComparable(&h1, pa) + old := h1.Sum64() + stackGrow(8192) + WriteComparable(&h2, pa) + new := h2.Sum64() + if old != new { + t.Fatal("WriteComparable(seed, ptr) != WriteComparable(seed, ptr)") + } + }) +} + +func TestComparableShouldPanic(t *testing.T) { + s := []byte("s") + a := any(s) + defer func() { + e := recover() + err, ok := e.(error) + if !ok { + t.Fatalf("Comaparable(any([]byte)) should panic") + } + want := "hash of unhashable type []uint8" + if s := err.Error(); !strings.Contains(s, want) { + t.Fatalf("want %s, got %s", want, s) + } + }() + Comparable(MakeSeed(), a) +} + +func TestWriteComparableNoncommute(t *testing.T) { + seed := MakeSeed() + var h1, h2 Hash + h1.SetSeed(seed) + h2.SetSeed(seed) + + h1.WriteString("abc") + WriteComparable(&h1, 123) + WriteComparable(&h2, 123) + h2.WriteString("abc") + + if h1.Sum64() == h2.Sum64() { + t.Errorf("WriteComparable and WriteString unexpectedly commute") + } +} + +func TestComparableAllocations(t *testing.T) { + t.Skip("test broken in old golang version") + seed := MakeSeed() + x := heapStr(t) + allocs := testing.AllocsPerRun(10, func() { + s := "s" + x + Comparable(seed, s) + }) + if allocs > 0 { + t.Errorf("got %v allocs, want 0", allocs) + } + + type S struct { + a int + b string + } + allocs = testing.AllocsPerRun(10, func() { + s := S{123, "s" + x} + Comparable(seed, s) + }) + if allocs > 0 { + t.Errorf("got %v allocs, want 0", allocs) + } +} + +// Make sure a Hash implements the hash.Hash and hash.Hash64 interfaces. +var _ hash.Hash = &Hash{} +var _ hash.Hash64 = &Hash{} + +func benchmarkSize(b *testing.B, size int) { + h := &Hash{} + buf := make([]byte, size) + s := string(buf) + + b.Run("Write", func(b *testing.B) { + b.SetBytes(int64(size)) + for i := 0; i < b.N; i++ { + h.Reset() + h.Write(buf) + h.Sum64() + } + }) + + b.Run("Bytes", func(b *testing.B) { + b.SetBytes(int64(size)) + seed := h.Seed() + for i := 0; i < b.N; i++ { + Bytes(seed, buf) + } + }) + + b.Run("String", func(b *testing.B) { + b.SetBytes(int64(size)) + seed := h.Seed() + for i := 0; i < b.N; i++ { + String(seed, s) + } + }) +} + +func BenchmarkHash(b *testing.B) { + sizes := []int{4, 8, 16, 32, 64, 256, 320, 1024, 4096, 16384} + for _, size := range sizes { + b.Run(fmt.Sprint("n=", size), func(b *testing.B) { + benchmarkSize(b, size) + }) + } +} + +func benchmarkComparable[T comparable](b *testing.B, v T) { + b.Run(TypeFor[T]().String(), func(b *testing.B) { + seed := MakeSeed() + for i := 0; i < b.N; i++ { + Comparable(seed, v) + } + }) +} + +func BenchmarkComparable(b *testing.B) { + type testStruct struct { + i int + u uint + b bool + f float64 + p *int + a any + } + benchmarkComparable(b, int64(2)) + benchmarkComparable(b, uint64(8)) + benchmarkComparable(b, uintptr(12)) + benchmarkComparable(b, any("s")) + benchmarkComparable(b, "s") + benchmarkComparable(b, true) + benchmarkComparable(b, new(float64)) + benchmarkComparable(b, float64(9)) + benchmarkComparable(b, complex128(9i+1)) + benchmarkComparable(b, struct{}{}) + benchmarkComparable(b, testStruct{i: 9, u: 1, b: true, f: 9.9, p: new(int), a: 1}) +} + +// TypeFor returns the [Type] that represents the type argument T. +func TypeFor[T any]() reflect.Type { + var v T + if t := reflect.TypeOf(v); t != nil { + return t // optimize for T being a non-interface kind + } + return reflect.TypeOf((*T)(nil)).Elem() // only for an interface kind +} diff --git a/mihomo/common/xsync/map.go b/mihomo/common/xsync/map.go new file mode 100644 index 0000000000..b85bf421b1 --- /dev/null +++ b/mihomo/common/xsync/map.go @@ -0,0 +1,926 @@ +package xsync + +// copy and modified from https://github.com/puzpuzpuz/xsync/blob/v4.1.0/map.go +// which is licensed under Apache v2. +// +// mihomo modified: +// 1. parallel Map resize has been removed to decrease the memory using. +// 2. the zero Map is ready for use. + +import ( + "fmt" + "math" + "math/bits" + "strings" + "sync" + "sync/atomic" + "unsafe" + + "github.com/metacubex/mihomo/common/maphash" +) + +const ( + // number of Map entries per bucket; 5 entries lead to size of 64B + // (one cache line) on 64-bit machines + entriesPerMapBucket = 5 + // threshold fraction of table occupation to start a table shrinking + // when deleting the last entry in a bucket chain + mapShrinkFraction = 128 + // map load factor to trigger a table resize during insertion; + // a map holds up to mapLoadFactor*entriesPerMapBucket*mapTableLen + // key-value pairs (this is a soft limit) + mapLoadFactor = 0.75 + // minimal table size, i.e. number of buckets; thus, minimal map + // capacity can be calculated as entriesPerMapBucket*defaultMinMapTableLen + defaultMinMapTableLen = 32 + // minimum counter stripes to use + minMapCounterLen = 8 + // maximum counter stripes to use; stands for around 4KB of memory + maxMapCounterLen = 32 + defaultMeta uint64 = 0x8080808080808080 + metaMask uint64 = 0xffffffffff + defaultMetaMasked uint64 = defaultMeta & metaMask + emptyMetaSlot uint8 = 0x80 +) + +type mapResizeHint int + +const ( + mapGrowHint mapResizeHint = 0 + mapShrinkHint mapResizeHint = 1 + mapClearHint mapResizeHint = 2 +) + +type ComputeOp int + +const ( + // CancelOp signals to Compute to not do anything as a result + // of executing the lambda. If the entry was not present in + // the map, nothing happens, and if it was present, the + // returned value is ignored. + CancelOp ComputeOp = iota + // UpdateOp signals to Compute to update the entry to the + // value returned by the lambda, creating it if necessary. + UpdateOp + // DeleteOp signals to Compute to always delete the entry + // from the map. + DeleteOp +) + +type loadOp int + +const ( + noLoadOp loadOp = iota + loadOrComputeOp + loadAndDeleteOp +) + +// Map is like a Go map[K]V but is safe for concurrent +// use by multiple goroutines without additional locking or +// coordination. It follows the interface of sync.Map with +// a number of valuable extensions like Compute or Size. +// +// A Map must not be copied after first use. +// +// Map uses a modified version of Cache-Line Hash Table (CLHT) +// data structure: https://github.com/LPD-EPFL/CLHT +// +// CLHT is built around idea to organize the hash table in +// cache-line-sized buckets, so that on all modern CPUs update +// operations complete with at most one cache-line transfer. +// Also, Get operations involve no write to memory, as well as no +// mutexes or any other sort of locks. Due to this design, in all +// considered scenarios Map outperforms sync.Map. +// +// Map also borrows ideas from Java's j.u.c.ConcurrentHashMap +// (immutable K/V pair structs instead of atomic snapshots) +// and C++'s absl::flat_hash_map (meta memory and SWAR-based +// lookups). +type Map[K comparable, V any] struct { + initOnce sync.Once + totalGrowths atomic.Int64 + totalShrinks atomic.Int64 + resizing atomic.Bool // resize in progress flag + resizeMu sync.Mutex // only used along with resizeCond + resizeCond sync.Cond // used to wake up resize waiters (concurrent modifications) + table atomic.Pointer[mapTable[K, V]] + minTableLen int + growOnly bool +} + +type mapTable[K comparable, V any] struct { + buckets []bucketPadded[K, V] + // striped counter for number of table entries; + // used to determine if a table shrinking is needed + // occupies min(buckets_memory/1024, 64KB) of memory + size []counterStripe + seed maphash.Seed +} + +type counterStripe struct { + c int64 + // Padding to prevent false sharing. + _ [cacheLineSize - 8]byte +} + +// bucketPadded is a CL-sized map bucket holding up to +// entriesPerMapBucket entries. +type bucketPadded[K comparable, V any] struct { + //lint:ignore U1000 ensure each bucket takes two cache lines on both 32 and 64-bit archs + pad [cacheLineSize - unsafe.Sizeof(bucket[K, V]{})]byte + bucket[K, V] +} + +type bucket[K comparable, V any] struct { + meta atomic.Uint64 + entries [entriesPerMapBucket]atomic.Pointer[entry[K, V]] // *entry + next atomic.Pointer[bucketPadded[K, V]] // *bucketPadded + mu sync.Mutex +} + +// entry is an immutable map entry. +type entry[K comparable, V any] struct { + key K + value V +} + +// MapConfig defines configurable Map options. +type MapConfig struct { + sizeHint int + growOnly bool +} + +// WithPresize configures new Map instance with capacity enough +// to hold sizeHint entries. The capacity is treated as the minimal +// capacity meaning that the underlying hash table will never shrink +// to a smaller capacity. If sizeHint is zero or negative, the value +// is ignored. +func WithPresize(sizeHint int) func(*MapConfig) { + return func(c *MapConfig) { + c.sizeHint = sizeHint + } +} + +// WithGrowOnly configures new Map instance to be grow-only. +// This means that the underlying hash table grows in capacity when +// new keys are added, but does not shrink when keys are deleted. +// The only exception to this rule is the Clear method which +// shrinks the hash table back to the initial capacity. +func WithGrowOnly() func(*MapConfig) { + return func(c *MapConfig) { + c.growOnly = true + } +} + +// NewMap creates a new Map instance configured with the given +// options. +func NewMap[K comparable, V any](options ...func(*MapConfig)) *Map[K, V] { + c := &MapConfig{} + for _, o := range options { + o(c) + } + + m := &Map[K, V]{} + if c.sizeHint > defaultMinMapTableLen*entriesPerMapBucket { + tableLen := nextPowOf2(uint32((float64(c.sizeHint) / entriesPerMapBucket) / mapLoadFactor)) + m.minTableLen = int(tableLen) + } + m.growOnly = c.growOnly + return m +} + +func (m *Map[K, V]) init() { + if m.minTableLen == 0 { + m.minTableLen = defaultMinMapTableLen + } + m.resizeCond = *sync.NewCond(&m.resizeMu) + table := newMapTable[K, V](m.minTableLen) + m.minTableLen = len(table.buckets) + m.table.Store(table) +} + +func newMapTable[K comparable, V any](minTableLen int) *mapTable[K, V] { + buckets := make([]bucketPadded[K, V], minTableLen) + for i := range buckets { + buckets[i].meta.Store(defaultMeta) + } + counterLen := minTableLen >> 10 + if counterLen < minMapCounterLen { + counterLen = minMapCounterLen + } else if counterLen > maxMapCounterLen { + counterLen = maxMapCounterLen + } + counter := make([]counterStripe, counterLen) + t := &mapTable[K, V]{ + buckets: buckets, + size: counter, + seed: maphash.MakeSeed(), + } + return t +} + +// ToPlainMap returns a native map with a copy of xsync Map's +// contents. The copied xsync Map should not be modified while +// this call is made. If the copied Map is modified, the copying +// behavior is the same as in the Range method. +func ToPlainMap[K comparable, V any](m *Map[K, V]) map[K]V { + pm := make(map[K]V) + if m != nil { + m.Range(func(key K, value V) bool { + pm[key] = value + return true + }) + } + return pm +} + +// Load returns the value stored in the map for a key, or zero value +// of type V if no value is present. +// The ok result indicates whether value was found in the map. +func (m *Map[K, V]) Load(key K) (value V, ok bool) { + m.initOnce.Do(m.init) + table := m.table.Load() + hash := maphash.Comparable(table.seed, key) + h1 := h1(hash) + h2w := broadcast(h2(hash)) + bidx := uint64(len(table.buckets)-1) & h1 + b := &table.buckets[bidx] + for { + metaw := b.meta.Load() + markedw := markZeroBytes(metaw^h2w) & metaMask + for markedw != 0 { + idx := firstMarkedByteIndex(markedw) + e := b.entries[idx].Load() + if e != nil { + if e.key == key { + return e.value, true + } + } + markedw &= markedw - 1 + } + b = b.next.Load() + if b == nil { + return + } + } +} + +// Store sets the value for a key. +func (m *Map[K, V]) Store(key K, value V) { + m.doCompute( + key, + func(V, bool) (V, ComputeOp) { + return value, UpdateOp + }, + noLoadOp, + false, + ) +} + +// LoadOrStore returns the existing value for the key if present. +// Otherwise, it stores and returns the given value. +// The loaded result is true if the value was loaded, false if stored. +func (m *Map[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool) { + return m.doCompute( + key, + func(oldValue V, loaded bool) (V, ComputeOp) { + if loaded { + return oldValue, CancelOp + } + return value, UpdateOp + }, + loadOrComputeOp, + false, + ) +} + +// LoadAndStore returns the existing value for the key if present, +// while setting the new value for the key. +// It stores the new value and returns the existing one, if present. +// The loaded result is true if the existing value was loaded, +// false otherwise. +func (m *Map[K, V]) LoadAndStore(key K, value V) (actual V, loaded bool) { + return m.doCompute( + key, + func(V, bool) (V, ComputeOp) { + return value, UpdateOp + }, + noLoadOp, + false, + ) +} + +// LoadOrCompute returns the existing value for the key if +// present. Otherwise, it tries to compute the value using the +// provided function and, if successful, stores and returns +// the computed value. The loaded result is true if the value was +// loaded, or false if computed. If valueFn returns true as the +// cancel value, the computation is cancelled and the zero value +// for type V is returned. +// +// This call locks a hash table bucket while the compute function +// is executed. It means that modifications on other entries in +// the bucket will be blocked until the valueFn executes. Consider +// this when the function includes long-running operations. +func (m *Map[K, V]) LoadOrCompute( + key K, + valueFn func() (newValue V, cancel bool), +) (value V, loaded bool) { + return m.doCompute( + key, + func(oldValue V, loaded bool) (V, ComputeOp) { + if loaded { + return oldValue, CancelOp + } + newValue, c := valueFn() + if !c { + return newValue, UpdateOp + } + return oldValue, CancelOp + }, + loadOrComputeOp, + false, + ) +} + +// Compute either sets the computed new value for the key, +// deletes the value for the key, or does nothing, based on +// the returned [ComputeOp]. When the op returned by valueFn +// is [UpdateOp], the value is updated to the new value. If +// it is [DeleteOp], the entry is removed from the map +// altogether. And finally, if the op is [CancelOp] then the +// entry is left as-is. In other words, if it did not already +// exist, it is not created, and if it did exist, it is not +// updated. This is useful to synchronously execute some +// operation on the value without incurring the cost of +// updating the map every time. The ok result indicates +// whether the entry is present in the map after the compute +// operation. The actual result contains the value of the map +// if a corresponding entry is present, or the zero value +// otherwise. See the example for a few use cases. +// +// This call locks a hash table bucket while the compute function +// is executed. It means that modifications on other entries in +// the bucket will be blocked until the valueFn executes. Consider +// this when the function includes long-running operations. +func (m *Map[K, V]) Compute( + key K, + valueFn func(oldValue V, loaded bool) (newValue V, op ComputeOp), +) (actual V, ok bool) { + return m.doCompute(key, valueFn, noLoadOp, true) +} + +// LoadAndDelete deletes the value for a key, returning the previous +// value if any. The loaded result reports whether the key was +// present. +func (m *Map[K, V]) LoadAndDelete(key K) (value V, loaded bool) { + return m.doCompute( + key, + func(value V, loaded bool) (V, ComputeOp) { + return value, DeleteOp + }, + loadAndDeleteOp, + false, + ) +} + +// Delete deletes the value for a key. +func (m *Map[K, V]) Delete(key K) { + m.LoadAndDelete(key) +} + +func (m *Map[K, V]) doCompute( + key K, + valueFn func(oldValue V, loaded bool) (V, ComputeOp), + loadOp loadOp, + computeOnly bool, +) (V, bool) { + m.initOnce.Do(m.init) + for { + compute_attempt: + var ( + emptyb *bucketPadded[K, V] + emptyidx int + ) + table := m.table.Load() + tableLen := len(table.buckets) + hash := maphash.Comparable(table.seed, key) + h1 := h1(hash) + h2 := h2(hash) + h2w := broadcast(h2) + bidx := uint64(len(table.buckets)-1) & h1 + rootb := &table.buckets[bidx] + + if loadOp != noLoadOp { + b := rootb + load: + for { + metaw := b.meta.Load() + markedw := markZeroBytes(metaw^h2w) & metaMask + for markedw != 0 { + idx := firstMarkedByteIndex(markedw) + e := b.entries[idx].Load() + if e != nil { + if e.key == key { + if loadOp == loadOrComputeOp { + return e.value, true + } + break load + } + } + markedw &= markedw - 1 + } + b = b.next.Load() + if b == nil { + if loadOp == loadAndDeleteOp { + return *new(V), false + } + break load + } + } + } + + rootb.mu.Lock() + // The following two checks must go in reverse to what's + // in the resize method. + if m.resizeInProgress() { + // Resize is in progress. Wait, then go for another attempt. + rootb.mu.Unlock() + m.waitForResize() + goto compute_attempt + } + if m.newerTableExists(table) { + // Someone resized the table. Go for another attempt. + rootb.mu.Unlock() + goto compute_attempt + } + b := rootb + for { + metaw := b.meta.Load() + markedw := markZeroBytes(metaw^h2w) & metaMask + for markedw != 0 { + idx := firstMarkedByteIndex(markedw) + e := b.entries[idx].Load() + if e != nil { + if e.key == key { + // In-place update/delete. + // We get a copy of the value via an interface{} on each call, + // thus the live value pointers are unique. Otherwise atomic + // snapshot won't be correct in case of multiple Store calls + // using the same value. + oldv := e.value + newv, op := valueFn(oldv, true) + switch op { + case DeleteOp: + // Deletion. + // First we update the hash, then the entry. + newmetaw := setByte(metaw, emptyMetaSlot, idx) + b.meta.Store(newmetaw) + b.entries[idx].Store(nil) + rootb.mu.Unlock() + table.addSize(bidx, -1) + // Might need to shrink the table if we left bucket empty. + if newmetaw == defaultMeta { + m.resize(table, mapShrinkHint) + } + return oldv, !computeOnly + case UpdateOp: + newe := new(entry[K, V]) + newe.key = key + newe.value = newv + b.entries[idx].Store(newe) + case CancelOp: + newv = oldv + } + rootb.mu.Unlock() + if computeOnly { + // Compute expects the new value to be returned. + return newv, true + } + // LoadAndStore expects the old value to be returned. + return oldv, true + } + } + markedw &= markedw - 1 + } + if emptyb == nil { + // Search for empty entries (up to 5 per bucket). + emptyw := metaw & defaultMetaMasked + if emptyw != 0 { + idx := firstMarkedByteIndex(emptyw) + emptyb = b + emptyidx = idx + } + } + if b.next.Load() == nil { + if emptyb != nil { + // Insertion into an existing bucket. + var zeroV V + newValue, op := valueFn(zeroV, false) + switch op { + case DeleteOp, CancelOp: + rootb.mu.Unlock() + return zeroV, false + default: + newe := new(entry[K, V]) + newe.key = key + newe.value = newValue + // First we update meta, then the entry. + emptyb.meta.Store(setByte(emptyb.meta.Load(), h2, emptyidx)) + emptyb.entries[emptyidx].Store(newe) + rootb.mu.Unlock() + table.addSize(bidx, 1) + return newValue, computeOnly + } + } + growThreshold := float64(tableLen) * entriesPerMapBucket * mapLoadFactor + if table.sumSize() > int64(growThreshold) { + // Need to grow the table. Then go for another attempt. + rootb.mu.Unlock() + m.resize(table, mapGrowHint) + goto compute_attempt + } + // Insertion into a new bucket. + var zeroV V + newValue, op := valueFn(zeroV, false) + switch op { + case DeleteOp, CancelOp: + rootb.mu.Unlock() + return newValue, false + default: + // Create and append a bucket. + newb := new(bucketPadded[K, V]) + newb.meta.Store(setByte(defaultMeta, h2, 0)) + newe := new(entry[K, V]) + newe.key = key + newe.value = newValue + newb.entries[0].Store(newe) + b.next.Store(newb) + rootb.mu.Unlock() + table.addSize(bidx, 1) + return newValue, computeOnly + } + } + b = b.next.Load() + } + } +} + +func (m *Map[K, V]) newerTableExists(table *mapTable[K, V]) bool { + return table != m.table.Load() +} + +func (m *Map[K, V]) resizeInProgress() bool { + return m.resizing.Load() +} + +func (m *Map[K, V]) waitForResize() { + m.resizeMu.Lock() + for m.resizeInProgress() { + m.resizeCond.Wait() + } + m.resizeMu.Unlock() +} + +func (m *Map[K, V]) resize(knownTable *mapTable[K, V], hint mapResizeHint) { + knownTableLen := len(knownTable.buckets) + // Fast path for shrink attempts. + if hint == mapShrinkHint { + if m.growOnly || + m.minTableLen == knownTableLen || + knownTable.sumSize() > int64((knownTableLen*entriesPerMapBucket)/mapShrinkFraction) { + return + } + } + // Slow path. + if !m.resizing.CompareAndSwap(false, true) { + // Someone else started resize. Wait for it to finish. + m.waitForResize() + return + } + var newTable *mapTable[K, V] + table := m.table.Load() + tableLen := len(table.buckets) + switch hint { + case mapGrowHint: + // Grow the table with factor of 2. + m.totalGrowths.Add(1) + newTable = newMapTable[K, V](tableLen << 1) + case mapShrinkHint: + shrinkThreshold := int64((tableLen * entriesPerMapBucket) / mapShrinkFraction) + if tableLen > m.minTableLen && table.sumSize() <= shrinkThreshold { + // Shrink the table with factor of 2. + m.totalShrinks.Add(1) + newTable = newMapTable[K, V](tableLen >> 1) + } else { + // No need to shrink. Wake up all waiters and give up. + m.resizeMu.Lock() + m.resizing.Store(false) + m.resizeCond.Broadcast() + m.resizeMu.Unlock() + return + } + case mapClearHint: + newTable = newMapTable[K, V](m.minTableLen) + default: + panic(fmt.Sprintf("unexpected resize hint: %d", hint)) + } + // Copy the data only if we're not clearing the map. + if hint != mapClearHint { + for i := 0; i < tableLen; i++ { + copied := copyBucket(&table.buckets[i], newTable) + newTable.addSizePlain(uint64(i), copied) + } + } + // Publish the new table and wake up all waiters. + m.table.Store(newTable) + m.resizeMu.Lock() + m.resizing.Store(false) + m.resizeCond.Broadcast() + m.resizeMu.Unlock() +} + +func copyBucket[K comparable, V any]( + b *bucketPadded[K, V], + destTable *mapTable[K, V], +) (copied int) { + rootb := b + rootb.mu.Lock() + for { + for i := 0; i < entriesPerMapBucket; i++ { + if e := b.entries[i].Load(); e != nil { + hash := maphash.Comparable(destTable.seed, e.key) + bidx := uint64(len(destTable.buckets)-1) & h1(hash) + destb := &destTable.buckets[bidx] + appendToBucket(h2(hash), b.entries[i].Load(), destb) + copied++ + } + } + if next := b.next.Load(); next == nil { + rootb.mu.Unlock() + return + } else { + b = next + } + } +} + +// Range calls f sequentially for each key and value present in the +// map. If f returns false, range stops the iteration. +// +// Range does not necessarily correspond to any consistent snapshot +// of the Map's contents: no key will be visited more than once, but +// if the value for any key is stored or deleted concurrently, Range +// may reflect any mapping for that key from any point during the +// Range call. +// +// It is safe to modify the map while iterating it, including entry +// creation, modification and deletion. However, the concurrent +// modification rule apply, i.e. the changes may be not reflected +// in the subsequently iterated entries. +func (m *Map[K, V]) Range(f func(key K, value V) bool) { + m.initOnce.Do(m.init) + // Pre-allocate array big enough to fit entries for most hash tables. + bentries := make([]*entry[K, V], 0, 16*entriesPerMapBucket) + table := m.table.Load() + for i := range table.buckets { + rootb := &table.buckets[i] + b := rootb + // Prevent concurrent modifications and copy all entries into + // the intermediate slice. + rootb.mu.Lock() + for { + for i := 0; i < entriesPerMapBucket; i++ { + if entry := b.entries[i].Load(); entry != nil { + bentries = append(bentries, entry) + } + } + if next := b.next.Load(); next == nil { + rootb.mu.Unlock() + break + } else { + b = next + } + } + // Call the function for all copied entries. + for j, e := range bentries { + if !f(e.key, e.value) { + return + } + // Remove the reference to avoid preventing the copied + // entries from being GCed until this method finishes. + bentries[j] = nil + } + bentries = bentries[:0] + } +} + +// Clear deletes all keys and values currently stored in the map. +func (m *Map[K, V]) Clear() { + m.initOnce.Do(m.init) + m.resize(m.table.Load(), mapClearHint) +} + +// Size returns current size of the map. +func (m *Map[K, V]) Size() int { + m.initOnce.Do(m.init) + return int(m.table.Load().sumSize()) +} + +func appendToBucket[K comparable, V any](h2 uint8, e *entry[K, V], b *bucketPadded[K, V]) { + for { + for i := 0; i < entriesPerMapBucket; i++ { + if b.entries[i].Load() == nil { + b.meta.Store(setByte(b.meta.Load(), h2, i)) + b.entries[i].Store(e) + return + } + } + if next := b.next.Load(); next == nil { + newb := new(bucketPadded[K, V]) + newb.meta.Store(setByte(defaultMeta, h2, 0)) + newb.entries[0].Store(e) + b.next.Store(newb) + return + } else { + b = next + } + } +} + +func (table *mapTable[K, V]) addSize(bucketIdx uint64, delta int) { + cidx := uint64(len(table.size)-1) & bucketIdx + atomic.AddInt64(&table.size[cidx].c, int64(delta)) +} + +func (table *mapTable[K, V]) addSizePlain(bucketIdx uint64, delta int) { + cidx := uint64(len(table.size)-1) & bucketIdx + table.size[cidx].c += int64(delta) +} + +func (table *mapTable[K, V]) sumSize() int64 { + sum := int64(0) + for i := range table.size { + sum += atomic.LoadInt64(&table.size[i].c) + } + return sum +} + +func h1(h uint64) uint64 { + return h >> 7 +} + +func h2(h uint64) uint8 { + return uint8(h & 0x7f) +} + +// MapStats is Map statistics. +// +// Warning: map statistics are intented to be used for diagnostic +// purposes, not for production code. This means that breaking changes +// may be introduced into this struct even between minor releases. +type MapStats struct { + // RootBuckets is the number of root buckets in the hash table. + // Each bucket holds a few entries. + RootBuckets int + // TotalBuckets is the total number of buckets in the hash table, + // including root and their chained buckets. Each bucket holds + // a few entries. + TotalBuckets int + // EmptyBuckets is the number of buckets that hold no entries. + EmptyBuckets int + // Capacity is the Map capacity, i.e. the total number of + // entries that all buckets can physically hold. This number + // does not consider the load factor. + Capacity int + // Size is the exact number of entries stored in the map. + Size int + // Counter is the number of entries stored in the map according + // to the internal atomic counter. In case of concurrent map + // modifications this number may be different from Size. + Counter int + // CounterLen is the number of internal atomic counter stripes. + // This number may grow with the map capacity to improve + // multithreaded scalability. + CounterLen int + // MinEntries is the minimum number of entries per a chain of + // buckets, i.e. a root bucket and its chained buckets. + MinEntries int + // MinEntries is the maximum number of entries per a chain of + // buckets, i.e. a root bucket and its chained buckets. + MaxEntries int + // TotalGrowths is the number of times the hash table grew. + TotalGrowths int64 + // TotalGrowths is the number of times the hash table shrinked. + TotalShrinks int64 +} + +// ToString returns string representation of map stats. +func (s *MapStats) ToString() string { + var sb strings.Builder + sb.WriteString("MapStats{\n") + sb.WriteString(fmt.Sprintf("RootBuckets: %d\n", s.RootBuckets)) + sb.WriteString(fmt.Sprintf("TotalBuckets: %d\n", s.TotalBuckets)) + sb.WriteString(fmt.Sprintf("EmptyBuckets: %d\n", s.EmptyBuckets)) + sb.WriteString(fmt.Sprintf("Capacity: %d\n", s.Capacity)) + sb.WriteString(fmt.Sprintf("Size: %d\n", s.Size)) + sb.WriteString(fmt.Sprintf("Counter: %d\n", s.Counter)) + sb.WriteString(fmt.Sprintf("CounterLen: %d\n", s.CounterLen)) + sb.WriteString(fmt.Sprintf("MinEntries: %d\n", s.MinEntries)) + sb.WriteString(fmt.Sprintf("MaxEntries: %d\n", s.MaxEntries)) + sb.WriteString(fmt.Sprintf("TotalGrowths: %d\n", s.TotalGrowths)) + sb.WriteString(fmt.Sprintf("TotalShrinks: %d\n", s.TotalShrinks)) + sb.WriteString("}\n") + return sb.String() +} + +// Stats returns statistics for the Map. Just like other map +// methods, this one is thread-safe. Yet it's an O(N) operation, +// so it should be used only for diagnostics or debugging purposes. +func (m *Map[K, V]) Stats() MapStats { + m.initOnce.Do(m.init) + stats := MapStats{ + TotalGrowths: m.totalGrowths.Load(), + TotalShrinks: m.totalShrinks.Load(), + MinEntries: math.MaxInt32, + } + table := m.table.Load() + stats.RootBuckets = len(table.buckets) + stats.Counter = int(table.sumSize()) + stats.CounterLen = len(table.size) + for i := range table.buckets { + nentries := 0 + b := &table.buckets[i] + stats.TotalBuckets++ + for { + nentriesLocal := 0 + stats.Capacity += entriesPerMapBucket + for i := 0; i < entriesPerMapBucket; i++ { + if b.entries[i].Load() != nil { + stats.Size++ + nentriesLocal++ + } + } + nentries += nentriesLocal + if nentriesLocal == 0 { + stats.EmptyBuckets++ + } + if next := b.next.Load(); next == nil { + break + } else { + b = next + } + stats.TotalBuckets++ + } + if nentries < stats.MinEntries { + stats.MinEntries = nentries + } + if nentries > stats.MaxEntries { + stats.MaxEntries = nentries + } + } + return stats +} + +const ( + // cacheLineSize is used in paddings to prevent false sharing; + // 64B are used instead of 128B as a compromise between + // memory footprint and performance; 128B usage may give ~30% + // improvement on NUMA machines. + cacheLineSize = 64 +) + +// nextPowOf2 computes the next highest power of 2 of 32-bit v. +// Source: https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 +func nextPowOf2(v uint32) uint32 { + if v == 0 { + return 1 + } + v-- + v |= v >> 1 + v |= v >> 2 + v |= v >> 4 + v |= v >> 8 + v |= v >> 16 + v++ + return v +} + +func broadcast(b uint8) uint64 { + return 0x101010101010101 * uint64(b) +} + +func firstMarkedByteIndex(w uint64) int { + return bits.TrailingZeros64(w) >> 3 +} + +// SWAR byte search: may produce false positives, e.g. for 0x0100, +// so make sure to double-check bytes found by this function. +func markZeroBytes(w uint64) uint64 { + return ((w - 0x0101010101010101) & (^w) & 0x8080808080808080) +} + +func setByte(w uint64, b uint8, idx int) uint64 { + shift := idx << 3 + return (w &^ (0xff << shift)) | (uint64(b) << shift) +} diff --git a/mihomo/common/xsync/map_extra.go b/mihomo/common/xsync/map_extra.go new file mode 100644 index 0000000000..8b62af605f --- /dev/null +++ b/mihomo/common/xsync/map_extra.go @@ -0,0 +1,28 @@ +package xsync + +// LoadOrStoreFn returns the existing value for the key if +// present. Otherwise, it tries to compute the value using the +// provided function and, if successful, stores and returns +// the computed value. The loaded result is true if the value was +// loaded, or false if computed. +// +// This call locks a hash table bucket while the compute function +// is executed. It means that modifications on other entries in +// the bucket will be blocked until the valueFn executes. Consider +// this when the function includes long-running operations. +// +// Recovery this API and renamed from xsync/v3's LoadOrCompute. +// We unneeded support no-op (cancel) compute operation, it will only add complexity to existing code. +func (m *Map[K, V]) LoadOrStoreFn(key K, valueFn func() V) (actual V, loaded bool) { + return m.doCompute( + key, + func(oldValue V, loaded bool) (V, ComputeOp) { + if loaded { + return oldValue, CancelOp + } + return valueFn(), UpdateOp + }, + loadOrComputeOp, + false, + ) +} diff --git a/mihomo/common/xsync/map_extra_test.go b/mihomo/common/xsync/map_extra_test.go new file mode 100644 index 0000000000..b8938b8b80 --- /dev/null +++ b/mihomo/common/xsync/map_extra_test.go @@ -0,0 +1,49 @@ +package xsync + +import ( + "strconv" + "testing" +) + +func TestMapOfLoadOrStoreFn(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrStoreFn(strconv.Itoa(i), func() int { + return i + }) + if loaded { + t.Fatalf("value not computed for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrStoreFn(strconv.Itoa(i), func() int { + return i + }) + if !loaded { + t.Fatalf("value not loaded for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapOfLoadOrStoreFn_FunctionCalledOnce(t *testing.T) { + m := NewMap[int, int]() + for i := 0; i < 100; { + m.LoadOrStoreFn(i, func() (v int) { + v, i = i, i+1 + return v + }) + } + m.Range(func(k, v int) bool { + if k != v { + t.Fatalf("%dth key is not equal to value %d", k, v) + } + return true + }) +} diff --git a/mihomo/common/xsync/map_test.go b/mihomo/common/xsync/map_test.go new file mode 100644 index 0000000000..b40d412bbb --- /dev/null +++ b/mihomo/common/xsync/map_test.go @@ -0,0 +1,1732 @@ +package xsync + +import ( + "math" + "math/rand" + "strconv" + "sync" + "sync/atomic" + "testing" + "time" + "unsafe" + + "github.com/metacubex/randv2" +) + +const ( + // number of entries to use in benchmarks + benchmarkNumEntries = 1_000 + // key prefix used in benchmarks + benchmarkKeyPrefix = "what_a_looooooooooooooooooooooong_key_prefix_" +) + +type point struct { + x int32 + y int32 +} + +var benchmarkCases = []struct { + name string + readPercentage int +}{ + {"reads=100%", 100}, // 100% loads, 0% stores, 0% deletes + {"reads=99%", 99}, // 99% loads, 0.5% stores, 0.5% deletes + {"reads=90%", 90}, // 90% loads, 5% stores, 5% deletes + {"reads=75%", 75}, // 75% loads, 12.5% stores, 12.5% deletes +} + +var benchmarkKeys []string + +func init() { + benchmarkKeys = make([]string, benchmarkNumEntries) + for i := 0; i < benchmarkNumEntries; i++ { + benchmarkKeys[i] = benchmarkKeyPrefix + strconv.Itoa(i) + } +} + +func runParallel(b *testing.B, benchFn func(pb *testing.PB)) { + b.ResetTimer() + start := time.Now() + b.RunParallel(benchFn) + opsPerSec := float64(b.N) / float64(time.Since(start).Seconds()) + b.ReportMetric(opsPerSec, "ops/s") +} + +func TestMap_BucketStructSize(t *testing.T) { + size := unsafe.Sizeof(bucketPadded[string, int64]{}) + if size != 64 { + t.Fatalf("size of 64B (one cache line) is expected, got: %d", size) + } + size = unsafe.Sizeof(bucketPadded[struct{}, int32]{}) + if size != 64 { + t.Fatalf("size of 64B (one cache line) is expected, got: %d", size) + } +} + +func TestMap_MissingEntry(t *testing.T) { + m := NewMap[string, string]() + v, ok := m.Load("foo") + if ok { + t.Fatalf("value was not expected: %v", v) + } + if deleted, loaded := m.LoadAndDelete("foo"); loaded { + t.Fatalf("value was not expected %v", deleted) + } + if actual, loaded := m.LoadOrStore("foo", "bar"); loaded { + t.Fatalf("value was not expected %v", actual) + } +} + +func TestMap_EmptyStringKey(t *testing.T) { + m := NewMap[string, string]() + m.Store("", "foobar") + v, ok := m.Load("") + if !ok { + t.Fatal("value was expected") + } + if v != "foobar" { + t.Fatalf("value does not match: %v", v) + } +} + +func TestMapStore_NilValue(t *testing.T) { + m := NewMap[string, *struct{}]() + m.Store("foo", nil) + v, ok := m.Load("foo") + if !ok { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } +} + +func TestMapLoadOrStore_NilValue(t *testing.T) { + m := NewMap[string, *struct{}]() + m.LoadOrStore("foo", nil) + v, loaded := m.LoadOrStore("foo", nil) + if !loaded { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } +} + +func TestMapLoadOrStore_NonNilValue(t *testing.T) { + type foo struct{} + m := NewMap[string, *foo]() + newv := &foo{} + v, loaded := m.LoadOrStore("foo", newv) + if loaded { + t.Fatal("no value was expected") + } + if v != newv { + t.Fatalf("value does not match: %v", v) + } + newv2 := &foo{} + v, loaded = m.LoadOrStore("foo", newv2) + if !loaded { + t.Fatal("value was expected") + } + if v != newv { + t.Fatalf("value does not match: %v", v) + } +} + +func TestMapLoadAndStore_NilValue(t *testing.T) { + m := NewMap[string, *struct{}]() + m.LoadAndStore("foo", nil) + v, loaded := m.LoadAndStore("foo", nil) + if !loaded { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } + v, loaded = m.Load("foo") + if !loaded { + t.Fatal("nil value was expected") + } + if v != nil { + t.Fatalf("value was not nil: %v", v) + } +} + +func TestMapLoadAndStore_NonNilValue(t *testing.T) { + m := NewMap[string, int]() + v1 := 1 + v, loaded := m.LoadAndStore("foo", v1) + if loaded { + t.Fatal("no value was expected") + } + if v != v1 { + t.Fatalf("value does not match: %v", v) + } + v2 := 2 + v, loaded = m.LoadAndStore("foo", v2) + if !loaded { + t.Fatal("value was expected") + } + if v != v1 { + t.Fatalf("value does not match: %v", v) + } + v, loaded = m.Load("foo") + if !loaded { + t.Fatal("value was expected") + } + if v != v2 { + t.Fatalf("value does not match: %v", v) + } +} + +func TestMapRange(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + iters := 0 + met := make(map[string]int) + m.Range(func(key string, value int) bool { + if key != strconv.Itoa(value) { + t.Fatalf("got unexpected key/value for iteration %d: %v/%v", iters, key, value) + return false + } + met[key] += 1 + iters++ + return true + }) + if iters != numEntries { + t.Fatalf("got unexpected number of iterations: %d", iters) + } + for i := 0; i < numEntries; i++ { + if c := met[strconv.Itoa(i)]; c != 1 { + t.Fatalf("range did not iterate correctly over %d: %d", i, c) + } + } +} + +func TestMapRange_FalseReturned(t *testing.T) { + m := NewMap[string, int]() + for i := 0; i < 100; i++ { + m.Store(strconv.Itoa(i), i) + } + iters := 0 + m.Range(func(key string, value int) bool { + iters++ + return iters != 13 + }) + if iters != 13 { + t.Fatalf("got unexpected number of iterations: %d", iters) + } +} + +func TestMapRange_NestedDelete(t *testing.T) { + const numEntries = 256 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + m.Range(func(key string, value int) bool { + m.Delete(key) + return true + }) + for i := 0; i < numEntries; i++ { + if _, ok := m.Load(strconv.Itoa(i)); ok { + t.Fatalf("value found for %d", i) + } + } +} + +func TestMapStringStore(t *testing.T) { + const numEntries = 128 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(strconv.Itoa(i)) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapIntStore(t *testing.T) { + const numEntries = 128 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(i) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapStore_StructKeys_IntValues(t *testing.T) { + const numEntries = 128 + m := NewMap[point, int]() + for i := 0; i < numEntries; i++ { + m.Store(point{int32(i), -int32(i)}, i) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(point{int32(i), -int32(i)}) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapStore_StructKeys_StructValues(t *testing.T) { + const numEntries = 128 + m := NewMap[point, point]() + for i := 0; i < numEntries; i++ { + m.Store(point{int32(i), -int32(i)}, point{-int32(i), int32(i)}) + } + for i := 0; i < numEntries; i++ { + v, ok := m.Load(point{int32(i), -int32(i)}) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v.x != -int32(i) { + t.Fatalf("x value does not match for %d: %v", i, v) + } + if v.y != int32(i) { + t.Fatalf("y value does not match for %d: %v", i, v) + } + } +} + +func TestMapLoadOrStore(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + if _, loaded := m.LoadOrStore(strconv.Itoa(i), i); !loaded { + t.Fatalf("value not found for %d", i) + } + } +} + +func TestMapLoadOrCompute(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrCompute(strconv.Itoa(i), func() (newValue int, cancel bool) { + return i, true + }) + if loaded { + t.Fatalf("value not computed for %d", i) + } + if v != 0 { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + if m.Size() != 0 { + t.Fatalf("zero map size expected: %d", m.Size()) + } + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrCompute(strconv.Itoa(i), func() (newValue int, cancel bool) { + return i, false + }) + if loaded { + t.Fatalf("value not computed for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + for i := 0; i < numEntries; i++ { + v, loaded := m.LoadOrCompute(strconv.Itoa(i), func() (newValue int, cancel bool) { + t.Fatalf("value func invoked") + return newValue, false + }) + if !loaded { + t.Fatalf("value not loaded for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func TestMapLoadOrCompute_FunctionCalledOnce(t *testing.T) { + m := NewMap[int, int]() + for i := 0; i < 100; { + m.LoadOrCompute(i, func() (newValue int, cancel bool) { + newValue, i = i, i+1 + return newValue, false + }) + } + m.Range(func(k, v int) bool { + if k != v { + t.Fatalf("%dth key is not equal to value %d", k, v) + } + return true + }) +} + +func TestMapOfCompute(t *testing.T) { + m := NewMap[string, int]() + // Store a new value. + v, ok := m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 0 { + t.Fatalf("oldValue should be 0 when computing a new value: %d", oldValue) + } + if loaded { + t.Fatal("loaded should be false when computing a new value") + } + newValue = 42 + op = UpdateOp + return + }) + if v != 42 { + t.Fatalf("v should be 42 when computing a new value: %d", v) + } + if !ok { + t.Fatal("ok should be true when computing a new value") + } + // Update an existing value. + v, ok = m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 42 { + t.Fatalf("oldValue should be 42 when updating the value: %d", oldValue) + } + if !loaded { + t.Fatal("loaded should be true when updating the value") + } + newValue = oldValue + 42 + op = UpdateOp + return + }) + if v != 84 { + t.Fatalf("v should be 84 when updating the value: %d", v) + } + if !ok { + t.Fatal("ok should be true when updating the value") + } + // Check that NoOp doesn't update the value + v, ok = m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + return 0, CancelOp + }) + if v != 84 { + t.Fatalf("v should be 84 after using NoOp: %d", v) + } + if !ok { + t.Fatal("ok should be true when updating the value") + } + // Delete an existing value. + v, ok = m.Compute("foobar", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 84 { + t.Fatalf("oldValue should be 84 when deleting the value: %d", oldValue) + } + if !loaded { + t.Fatal("loaded should be true when deleting the value") + } + op = DeleteOp + return + }) + if v != 84 { + t.Fatalf("v should be 84 when deleting the value: %d", v) + } + if ok { + t.Fatal("ok should be false when deleting the value") + } + // Try to delete a non-existing value. Notice different key. + v, ok = m.Compute("barbaz", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 0 { + t.Fatalf("oldValue should be 0 when trying to delete a non-existing value: %d", oldValue) + } + if loaded { + t.Fatal("loaded should be false when trying to delete a non-existing value") + } + // We're returning a non-zero value, but the map should ignore it. + newValue = 42 + op = DeleteOp + return + }) + if v != 0 { + t.Fatalf("v should be 0 when trying to delete a non-existing value: %d", v) + } + if ok { + t.Fatal("ok should be false when trying to delete a non-existing value") + } + // Try NoOp on a non-existing value + v, ok = m.Compute("barbaz", func(oldValue int, loaded bool) (newValue int, op ComputeOp) { + if oldValue != 0 { + t.Fatalf("oldValue should be 0 when trying to delete a non-existing value: %d", oldValue) + } + if loaded { + t.Fatal("loaded should be false when trying to delete a non-existing value") + } + // We're returning a non-zero value, but the map should ignore it. + newValue = 42 + op = CancelOp + return + }) + if v != 0 { + t.Fatalf("v should be 0 when trying to delete a non-existing value: %d", v) + } + if ok { + t.Fatal("ok should be false when trying to delete a non-existing value") + } +} + +func TestMapStringStoreThenDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + m.Delete(strconv.Itoa(i)) + if _, ok := m.Load(strconv.Itoa(i)); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapIntStoreThenDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[int32, int32]() + for i := 0; i < numEntries; i++ { + m.Store(int32(i), int32(i)) + } + for i := 0; i < numEntries; i++ { + m.Delete(int32(i)) + if _, ok := m.Load(int32(i)); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStructStoreThenDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[point, string]() + for i := 0; i < numEntries; i++ { + m.Store(point{int32(i), 42}, strconv.Itoa(i)) + } + for i := 0; i < numEntries; i++ { + m.Delete(point{int32(i), 42}) + if _, ok := m.Load(point{int32(i), 42}); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStringStoreThenLoadAndDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + for i := 0; i < numEntries; i++ { + if v, loaded := m.LoadAndDelete(strconv.Itoa(i)); !loaded || v != i { + t.Fatalf("value was not found or different for %d: %v", i, v) + } + if _, ok := m.Load(strconv.Itoa(i)); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapIntStoreThenLoadAndDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + for i := 0; i < numEntries; i++ { + if _, loaded := m.LoadAndDelete(i); !loaded { + t.Fatalf("value was not found for %d", i) + } + if _, ok := m.Load(i); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStructStoreThenLoadAndDelete(t *testing.T) { + const numEntries = 1000 + m := NewMap[point, int]() + for i := 0; i < numEntries; i++ { + m.Store(point{42, int32(i)}, i) + } + for i := 0; i < numEntries; i++ { + if _, loaded := m.LoadAndDelete(point{42, int32(i)}); !loaded { + t.Fatalf("value was not found for %d", i) + } + if _, ok := m.Load(point{42, int32(i)}); ok { + t.Fatalf("value was not expected for %d", i) + } + } +} + +func TestMapStoreThenParallelDelete_DoesNotShrinkBelowMinTableLen(t *testing.T) { + const numEntries = 1000 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + + cdone := make(chan bool) + go func() { + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + cdone <- true + }() + go func() { + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + cdone <- true + }() + + // Wait for the goroutines to finish. + <-cdone + <-cdone + + stats := m.Stats() + if stats.RootBuckets != defaultMinMapTableLen { + t.Fatalf("table length was different from the minimum: %d", stats.RootBuckets) + } +} + +func sizeBasedOnTypedRange(m *Map[string, int]) int { + size := 0 + m.Range(func(key string, value int) bool { + size++ + return true + }) + return size +} + +func TestMapSize(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + size := m.Size() + if size != 0 { + t.Fatalf("zero size expected: %d", size) + } + expectedSize := 0 + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + expectedSize++ + size := m.Size() + if size != expectedSize { + t.Fatalf("size of %d was expected, got: %d", expectedSize, size) + } + rsize := sizeBasedOnTypedRange(m) + if size != rsize { + t.Fatalf("size does not match number of entries in Range: %v, %v", size, rsize) + } + } + for i := 0; i < numEntries; i++ { + m.Delete(strconv.Itoa(i)) + expectedSize-- + size := m.Size() + if size != expectedSize { + t.Fatalf("size of %d was expected, got: %d", expectedSize, size) + } + rsize := sizeBasedOnTypedRange(m) + if size != rsize { + t.Fatalf("size does not match number of entries in Range: %v, %v", size, rsize) + } + } +} + +func TestMapClear(t *testing.T) { + const numEntries = 1000 + m := NewMap[string, int]() + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + size := m.Size() + if size != numEntries { + t.Fatalf("size of %d was expected, got: %d", numEntries, size) + } + m.Clear() + size = m.Size() + if size != 0 { + t.Fatalf("zero size was expected, got: %d", size) + } + rsize := sizeBasedOnTypedRange(m) + if rsize != 0 { + t.Fatalf("zero number of entries in Range was expected, got: %d", rsize) + } +} + +func assertMapCapacity[K comparable, V any](t *testing.T, m *Map[K, V], expectedCap int) { + stats := m.Stats() + if stats.Capacity != expectedCap { + t.Fatalf("capacity was different from %d: %d", expectedCap, stats.Capacity) + } +} + +func TestNewMapWithPresize(t *testing.T) { + assertMapCapacity(t, NewMap[string, string](), defaultMinMapTableLen*entriesPerMapBucket) + assertMapCapacity(t, NewMap[string, string](WithPresize(0)), defaultMinMapTableLen*entriesPerMapBucket) + assertMapCapacity(t, NewMap[string, string](WithPresize(-100)), defaultMinMapTableLen*entriesPerMapBucket) + assertMapCapacity(t, NewMap[string, string](WithPresize(500)), 1280) + assertMapCapacity(t, NewMap[int, int](WithPresize(1_000_000)), 2621440) + assertMapCapacity(t, NewMap[point, point](WithPresize(100)), 160) +} + +func TestNewMapWithPresize_DoesNotShrinkBelowMinTableLen(t *testing.T) { + const minTableLen = 1024 + const numEntries = int(minTableLen * entriesPerMapBucket * mapLoadFactor) + m := NewMap[int, int](WithPresize(numEntries)) + for i := 0; i < 2*numEntries; i++ { + m.Store(i, i) + } + + stats := m.Stats() + if stats.RootBuckets <= minTableLen { + t.Fatalf("table did not grow: %d", stats.RootBuckets) + } + + for i := 0; i < 2*numEntries; i++ { + m.Delete(i) + } + + stats = m.Stats() + if stats.RootBuckets != minTableLen { + t.Fatalf("table length was different from the minimum: %d", stats.RootBuckets) + } +} + +func TestNewMapGrowOnly_OnlyShrinksOnClear(t *testing.T) { + const minTableLen = 128 + const numEntries = minTableLen * entriesPerMapBucket + m := NewMap[int, int](WithPresize(numEntries), WithGrowOnly()) + + stats := m.Stats() + initialTableLen := stats.RootBuckets + + for i := 0; i < 2*numEntries; i++ { + m.Store(i, i) + } + stats = m.Stats() + maxTableLen := stats.RootBuckets + if maxTableLen <= minTableLen { + t.Fatalf("table did not grow: %d", maxTableLen) + } + + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + stats = m.Stats() + if stats.RootBuckets != maxTableLen { + t.Fatalf("table length was different from the expected: %d", stats.RootBuckets) + } + + m.Clear() + stats = m.Stats() + if stats.RootBuckets != initialTableLen { + t.Fatalf("table length was different from the initial: %d", stats.RootBuckets) + } +} + +func TestMapResize(t *testing.T) { + testMapResize(t, NewMap[string, int]()) +} + +func testMapResize(t *testing.T, m *Map[string, int]) { + const numEntries = 100_000 + + for i := 0; i < numEntries; i++ { + m.Store(strconv.Itoa(i), i) + } + stats := m.Stats() + if stats.Size != numEntries { + t.Fatalf("size was too small: %d", stats.Size) + } + expectedCapacity := int(math.RoundToEven(mapLoadFactor+1)) * stats.RootBuckets * entriesPerMapBucket + if stats.Capacity > expectedCapacity { + t.Fatalf("capacity was too large: %d, expected: %d", stats.Capacity, expectedCapacity) + } + if stats.RootBuckets <= defaultMinMapTableLen { + t.Fatalf("table was too small: %d", stats.RootBuckets) + } + if stats.TotalGrowths == 0 { + t.Fatalf("non-zero total growths expected: %d", stats.TotalGrowths) + } + if stats.TotalShrinks > 0 { + t.Fatalf("zero total shrinks expected: %d", stats.TotalShrinks) + } + // This is useful when debugging table resize and occupancy. + // Use -v flag to see the output. + t.Log(stats.ToString()) + + for i := 0; i < numEntries; i++ { + m.Delete(strconv.Itoa(i)) + } + stats = m.Stats() + if stats.Size > 0 { + t.Fatalf("zero size was expected: %d", stats.Size) + } + expectedCapacity = stats.RootBuckets * entriesPerMapBucket + if stats.Capacity != expectedCapacity { + t.Fatalf("capacity was too large: %d, expected: %d", stats.Capacity, expectedCapacity) + } + if stats.RootBuckets != defaultMinMapTableLen { + t.Fatalf("table was too large: %d", stats.RootBuckets) + } + if stats.TotalShrinks == 0 { + t.Fatalf("non-zero total shrinks expected: %d", stats.TotalShrinks) + } + t.Log(stats.ToString()) +} + +func TestMapResize_CounterLenLimit(t *testing.T) { + const numEntries = 1_000_000 + m := NewMap[string, string]() + + for i := 0; i < numEntries; i++ { + m.Store("foo"+strconv.Itoa(i), "bar"+strconv.Itoa(i)) + } + stats := m.Stats() + if stats.Size != numEntries { + t.Fatalf("size was too small: %d", stats.Size) + } + if stats.CounterLen != maxMapCounterLen { + t.Fatalf("number of counter stripes was too large: %d, expected: %d", + stats.CounterLen, maxMapCounterLen) + } +} + +func parallelSeqMapGrower(m *Map[int, int], numEntries int, positive bool, cdone chan bool) { + for i := 0; i < numEntries; i++ { + if positive { + m.Store(i, i) + } else { + m.Store(-i, -i) + } + } + cdone <- true +} + +func TestMapParallelGrowth_GrowOnly(t *testing.T) { + const numEntries = 100_000 + m := NewMap[int, int]() + cdone := make(chan bool) + go parallelSeqMapGrower(m, numEntries, true, cdone) + go parallelSeqMapGrower(m, numEntries, false, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map contents. + for i := -numEntries + 1; i < numEntries; i++ { + v, ok := m.Load(i) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + if s := m.Size(); s != 2*numEntries-1 { + t.Fatalf("unexpected size: %v", s) + } +} + +func parallelRandMapResizer(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + coin := r.Int63n(2) + for j := 0; j < numEntries; j++ { + if coin == 1 { + m.Store(strconv.Itoa(j), j) + } else { + m.Delete(strconv.Itoa(j)) + } + } + } + cdone <- true +} + +func TestMapParallelGrowth(t *testing.T) { + const numIters = 1_000 + const numEntries = 2 * entriesPerMapBucket * defaultMinMapTableLen + m := NewMap[string, int]() + cdone := make(chan bool) + go parallelRandMapResizer(t, m, numIters, numEntries, cdone) + go parallelRandMapResizer(t, m, numIters, numEntries, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map contents. + for i := 0; i < numEntries; i++ { + v, ok := m.Load(strconv.Itoa(i)) + if !ok { + // The entry may be deleted and that's ok. + continue + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } + s := m.Size() + if s > numEntries { + t.Fatalf("unexpected size: %v", s) + } + rs := sizeBasedOnTypedRange(m) + if s != rs { + t.Fatalf("size does not match number of entries in Range: %v, %v", s, rs) + } +} + +func parallelRandMapClearer(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + coin := r.Int63n(2) + for j := 0; j < numEntries; j++ { + if coin == 1 { + m.Store(strconv.Itoa(j), j) + } else { + m.Clear() + } + } + } + cdone <- true +} + +func TestMapParallelClear(t *testing.T) { + const numIters = 100 + const numEntries = 1_000 + m := NewMap[string, int]() + cdone := make(chan bool) + go parallelRandMapClearer(t, m, numIters, numEntries, cdone) + go parallelRandMapClearer(t, m, numIters, numEntries, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map size. + s := m.Size() + if s > numEntries { + t.Fatalf("unexpected size: %v", s) + } + rs := sizeBasedOnTypedRange(m) + if s != rs { + t.Fatalf("size does not match number of entries in Range: %v, %v", s, rs) + } +} + +func parallelSeqMapStorer(t *testing.T, m *Map[string, int], storeEach, numIters, numEntries int, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + if storeEach == 0 || j%storeEach == 0 { + m.Store(strconv.Itoa(j), j) + // Due to atomic snapshots we must see a ""/j pair. + v, ok := m.Load(strconv.Itoa(j)) + if !ok { + t.Errorf("value was not found for %d", j) + break + } + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + break + } + } + } + } + cdone <- true +} + +func TestMapParallelStores(t *testing.T) { + const numStorers = 4 + const numIters = 10_000 + const numEntries = 100 + m := NewMap[string, int]() + cdone := make(chan bool) + for i := 0; i < numStorers; i++ { + go parallelSeqMapStorer(t, m, i, numIters, numEntries, cdone) + } + // Wait for the goroutines to finish. + for i := 0; i < numStorers; i++ { + <-cdone + } + // Verify map contents. + for i := 0; i < numEntries; i++ { + v, ok := m.Load(strconv.Itoa(i)) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != i { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func parallelRandMapStorer(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + j := r.Intn(numEntries) + if v, loaded := m.LoadOrStore(strconv.Itoa(j), j); loaded { + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + } + } + } + cdone <- true +} + +func parallelRandMapDeleter(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + r := rand.New(rand.NewSource(time.Now().UnixNano())) + for i := 0; i < numIters; i++ { + j := r.Intn(numEntries) + if v, loaded := m.LoadAndDelete(strconv.Itoa(j)); loaded { + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + } + } + } + cdone <- true +} + +func parallelMapLoader(t *testing.T, m *Map[string, int], numIters, numEntries int, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + // Due to atomic snapshots we must either see no entry, or a ""/j pair. + if v, ok := m.Load(strconv.Itoa(j)); ok { + if v != j { + t.Errorf("value was not expected for %d: %d", j, v) + } + } + } + } + cdone <- true +} + +func TestMapAtomicSnapshot(t *testing.T) { + const numIters = 100_000 + const numEntries = 100 + m := NewMap[string, int]() + cdone := make(chan bool) + // Update or delete random entry in parallel with loads. + go parallelRandMapStorer(t, m, numIters, numEntries, cdone) + go parallelRandMapDeleter(t, m, numIters, numEntries, cdone) + go parallelMapLoader(t, m, numIters, numEntries, cdone) + // Wait for the goroutines to finish. + for i := 0; i < 3; i++ { + <-cdone + } +} + +func TestMapParallelStoresAndDeletes(t *testing.T) { + const numWorkers = 2 + const numIters = 100_000 + const numEntries = 1000 + m := NewMap[string, int]() + cdone := make(chan bool) + // Update random entry in parallel with deletes. + for i := 0; i < numWorkers; i++ { + go parallelRandMapStorer(t, m, numIters, numEntries, cdone) + go parallelRandMapDeleter(t, m, numIters, numEntries, cdone) + } + // Wait for the goroutines to finish. + for i := 0; i < 2*numWorkers; i++ { + <-cdone + } +} + +func parallelMapComputer(m *Map[uint64, uint64], numIters, numEntries int, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + m.Compute(uint64(j), func(oldValue uint64, loaded bool) (newValue uint64, op ComputeOp) { + return oldValue + 1, UpdateOp + }) + } + } + cdone <- true +} + +func TestMapParallelComputes(t *testing.T) { + const numWorkers = 4 // Also stands for numEntries. + const numIters = 10_000 + m := NewMap[uint64, uint64]() + cdone := make(chan bool) + for i := 0; i < numWorkers; i++ { + go parallelMapComputer(m, numIters, numWorkers, cdone) + } + // Wait for the goroutines to finish. + for i := 0; i < numWorkers; i++ { + <-cdone + } + // Verify map contents. + for i := 0; i < numWorkers; i++ { + v, ok := m.Load(uint64(i)) + if !ok { + t.Fatalf("value not found for %d", i) + } + if v != numWorkers*numIters { + t.Fatalf("values do not match for %d: %v", i, v) + } + } +} + +func parallelRangeMapStorer(m *Map[int, int], numEntries int, stopFlag *int64, cdone chan bool) { + for { + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + if atomic.LoadInt64(stopFlag) != 0 { + break + } + } + cdone <- true +} + +func parallelRangeMapDeleter(m *Map[int, int], numEntries int, stopFlag *int64, cdone chan bool) { + for { + for i := 0; i < numEntries; i++ { + m.Delete(i) + } + if atomic.LoadInt64(stopFlag) != 0 { + break + } + } + cdone <- true +} + +func TestMapParallelRange(t *testing.T) { + const numEntries = 10_000 + m := NewMap[int, int](WithPresize(numEntries)) + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + // Start goroutines that would be storing and deleting items in parallel. + cdone := make(chan bool) + stopFlag := int64(0) + go parallelRangeMapStorer(m, numEntries, &stopFlag, cdone) + go parallelRangeMapDeleter(m, numEntries, &stopFlag, cdone) + // Iterate the map and verify that no duplicate keys were met. + met := make(map[int]int) + m.Range(func(key int, value int) bool { + if key != value { + t.Fatalf("got unexpected value for key %d: %d", key, value) + return false + } + met[key] += 1 + return true + }) + if len(met) == 0 { + t.Fatal("no entries were met when iterating") + } + for k, c := range met { + if c != 1 { + t.Fatalf("met key %d multiple times: %d", k, c) + } + } + // Make sure that both goroutines finish. + atomic.StoreInt64(&stopFlag, 1) + <-cdone + <-cdone +} + +func parallelMapShrinker(t *testing.T, m *Map[uint64, *point], numIters, numEntries int, stopFlag *int64, cdone chan bool) { + for i := 0; i < numIters; i++ { + for j := 0; j < numEntries; j++ { + if p, loaded := m.LoadOrStore(uint64(j), &point{int32(j), int32(j)}); loaded { + t.Errorf("value was present for %d: %v", j, p) + } + } + for j := 0; j < numEntries; j++ { + m.Delete(uint64(j)) + } + } + atomic.StoreInt64(stopFlag, 1) + cdone <- true +} + +func parallelMapUpdater(t *testing.T, m *Map[uint64, *point], idx int, stopFlag *int64, cdone chan bool) { + for atomic.LoadInt64(stopFlag) != 1 { + sleepUs := int(randv2.Uint64() % 10) + if p, loaded := m.LoadOrStore(uint64(idx), &point{int32(idx), int32(idx)}); loaded { + t.Errorf("value was present for %d: %v", idx, p) + } + time.Sleep(time.Duration(sleepUs) * time.Microsecond) + if _, ok := m.Load(uint64(idx)); !ok { + t.Errorf("value was not found for %d", idx) + } + m.Delete(uint64(idx)) + } + cdone <- true +} + +func TestMapDoesNotLoseEntriesOnResize(t *testing.T) { + const numIters = 10_000 + const numEntries = 128 + m := NewMap[uint64, *point]() + cdone := make(chan bool) + stopFlag := int64(0) + go parallelMapShrinker(t, m, numIters, numEntries, &stopFlag, cdone) + go parallelMapUpdater(t, m, numEntries, &stopFlag, cdone) + // Wait for the goroutines to finish. + <-cdone + <-cdone + // Verify map contents. + if s := m.Size(); s != 0 { + t.Fatalf("map is not empty: %d", s) + } +} + +func TestMapStats(t *testing.T) { + m := NewMap[int, int]() + + stats := m.Stats() + if stats.RootBuckets != defaultMinMapTableLen { + t.Fatalf("unexpected number of root buckets: %d", stats.RootBuckets) + } + if stats.TotalBuckets != stats.RootBuckets { + t.Fatalf("unexpected number of total buckets: %d", stats.TotalBuckets) + } + if stats.EmptyBuckets != stats.RootBuckets { + t.Fatalf("unexpected number of empty buckets: %d", stats.EmptyBuckets) + } + if stats.Capacity != entriesPerMapBucket*defaultMinMapTableLen { + t.Fatalf("unexpected capacity: %d", stats.Capacity) + } + if stats.Size != 0 { + t.Fatalf("unexpected size: %d", stats.Size) + } + if stats.Counter != 0 { + t.Fatalf("unexpected counter: %d", stats.Counter) + } + if stats.CounterLen != 8 { + t.Fatalf("unexpected counter length: %d", stats.CounterLen) + } + + for i := 0; i < 200; i++ { + m.Store(i, i) + } + + stats = m.Stats() + if stats.RootBuckets != 2*defaultMinMapTableLen { + t.Fatalf("unexpected number of root buckets: %d", stats.RootBuckets) + } + if stats.TotalBuckets < stats.RootBuckets { + t.Fatalf("unexpected number of total buckets: %d", stats.TotalBuckets) + } + if stats.EmptyBuckets >= stats.RootBuckets { + t.Fatalf("unexpected number of empty buckets: %d", stats.EmptyBuckets) + } + if stats.Capacity < 2*entriesPerMapBucket*defaultMinMapTableLen { + t.Fatalf("unexpected capacity: %d", stats.Capacity) + } + if stats.Size != 200 { + t.Fatalf("unexpected size: %d", stats.Size) + } + if stats.Counter != 200 { + t.Fatalf("unexpected counter: %d", stats.Counter) + } + if stats.CounterLen != 8 { + t.Fatalf("unexpected counter length: %d", stats.CounterLen) + } +} + +func TestToPlainMap_NilPointer(t *testing.T) { + pm := ToPlainMap[int, int](nil) + if len(pm) != 0 { + t.Fatalf("got unexpected size of nil map copy: %d", len(pm)) + } +} + +func TestToPlainMap(t *testing.T) { + const numEntries = 1000 + m := NewMap[int, int]() + for i := 0; i < numEntries; i++ { + m.Store(i, i) + } + pm := ToPlainMap[int, int](m) + if len(pm) != numEntries { + t.Fatalf("got unexpected size of nil map copy: %d", len(pm)) + } + for i := 0; i < numEntries; i++ { + if v := pm[i]; v != i { + t.Fatalf("unexpected value for key %d: %d", i, v) + } + } +} + +func BenchmarkMap_NoWarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + if bc.readPercentage == 100 { + // This benchmark doesn't make sense without a warm-up. + continue + } + b.Run(bc.name, func(b *testing.B) { + m := NewMap[string, int]() + benchmarkMapStringKeys(b, func(k string) (int, bool) { + return m.Load(k) + }, func(k string, v int) { + m.Store(k, v) + }, func(k string) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func BenchmarkMap_WarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + b.Run(bc.name, func(b *testing.B) { + m := NewMap[string, int](WithPresize(benchmarkNumEntries)) + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(benchmarkKeyPrefix+strconv.Itoa(i), i) + } + b.ResetTimer() + benchmarkMapStringKeys(b, func(k string) (int, bool) { + return m.Load(k) + }, func(k string, v int) { + m.Store(k, v) + }, func(k string) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func benchmarkMapStringKeys( + b *testing.B, + loadFn func(k string) (int, bool), + storeFn func(k string, v int), + deleteFn func(k string), + readPercentage int, +) { + runParallel(b, func(pb *testing.PB) { + // convert percent to permille to support 99% case + storeThreshold := 10 * readPercentage + deleteThreshold := 10*readPercentage + ((1000 - 10*readPercentage) / 2) + for pb.Next() { + op := int(randv2.Uint64() % 1000) + i := int(randv2.Uint64() % benchmarkNumEntries) + if op >= deleteThreshold { + deleteFn(benchmarkKeys[i]) + } else if op >= storeThreshold { + storeFn(benchmarkKeys[i], i) + } else { + loadFn(benchmarkKeys[i]) + } + } + }) +} + +func BenchmarkMapInt_NoWarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + if bc.readPercentage == 100 { + // This benchmark doesn't make sense without a warm-up. + continue + } + b.Run(bc.name, func(b *testing.B) { + m := NewMap[int, int]() + benchmarkMapIntKeys(b, func(k int) (int, bool) { + return m.Load(k) + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func BenchmarkMapInt_WarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + b.Run(bc.name, func(b *testing.B) { + m := NewMap[int, int](WithPresize(benchmarkNumEntries)) + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(i, i) + } + b.ResetTimer() + benchmarkMapIntKeys(b, func(k int) (int, bool) { + return m.Load(k) + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func BenchmarkIntMapStandard_NoWarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + if bc.readPercentage == 100 { + // This benchmark doesn't make sense without a warm-up. + continue + } + b.Run(bc.name, func(b *testing.B) { + var m sync.Map + benchmarkMapIntKeys(b, func(k int) (value int, ok bool) { + v, ok := m.Load(k) + if ok { + return v.(int), ok + } else { + return 0, false + } + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +// This is a nice scenario for sync.Map since a lot of updates +// will hit the readOnly part of the map. +func BenchmarkIntMapStandard_WarmUp(b *testing.B) { + for _, bc := range benchmarkCases { + b.Run(bc.name, func(b *testing.B) { + var m sync.Map + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(i, i) + } + b.ResetTimer() + benchmarkMapIntKeys(b, func(k int) (value int, ok bool) { + v, ok := m.Load(k) + if ok { + return v.(int), ok + } else { + return 0, false + } + }, func(k int, v int) { + m.Store(k, v) + }, func(k int) { + m.Delete(k) + }, bc.readPercentage) + }) + } +} + +func benchmarkMapIntKeys( + b *testing.B, + loadFn func(k int) (int, bool), + storeFn func(k int, v int), + deleteFn func(k int), + readPercentage int, +) { + runParallel(b, func(pb *testing.PB) { + // convert percent to permille to support 99% case + storeThreshold := 10 * readPercentage + deleteThreshold := 10*readPercentage + ((1000 - 10*readPercentage) / 2) + for pb.Next() { + op := int(randv2.Uint64() % 1000) + i := int(randv2.Uint64() % benchmarkNumEntries) + if op >= deleteThreshold { + deleteFn(i) + } else if op >= storeThreshold { + storeFn(i, i) + } else { + loadFn(i) + } + } + }) +} + +func BenchmarkMapRange(b *testing.B) { + m := NewMap[string, int](WithPresize(benchmarkNumEntries)) + for i := 0; i < benchmarkNumEntries; i++ { + m.Store(benchmarkKeys[i], i) + } + b.ResetTimer() + runParallel(b, func(pb *testing.PB) { + foo := 0 + for pb.Next() { + m.Range(func(key string, value int) bool { + foo++ + return true + }) + _ = foo + } + }) +} + +// Benchmarks noop performance of Compute +func BenchmarkCompute(b *testing.B) { + tests := []struct { + Name string + Op ComputeOp + }{ + { + Name: "UpdateOp", + Op: UpdateOp, + }, + { + Name: "CancelOp", + Op: CancelOp, + }, + } + for _, test := range tests { + b.Run("op="+test.Name, func(b *testing.B) { + m := NewMap[struct{}, bool]() + m.Store(struct{}{}, true) + b.ResetTimer() + for i := 0; i < b.N; i++ { + m.Compute(struct{}{}, func(oldValue bool, loaded bool) (newValue bool, op ComputeOp) { + return oldValue, test.Op + }) + } + }) + } +} + +func TestNextPowOf2(t *testing.T) { + if nextPowOf2(0) != 1 { + t.Error("nextPowOf2 failed") + } + if nextPowOf2(1) != 1 { + t.Error("nextPowOf2 failed") + } + if nextPowOf2(2) != 2 { + t.Error("nextPowOf2 failed") + } + if nextPowOf2(3) != 4 { + t.Error("nextPowOf2 failed") + } +} + +func TestBroadcast(t *testing.T) { + testCases := []struct { + input uint8 + expected uint64 + }{ + { + input: 0, + expected: 0, + }, + { + input: 1, + expected: 0x0101010101010101, + }, + { + input: 2, + expected: 0x0202020202020202, + }, + { + input: 42, + expected: 0x2a2a2a2a2a2a2a2a, + }, + { + input: 127, + expected: 0x7f7f7f7f7f7f7f7f, + }, + { + input: 255, + expected: 0xffffffffffffffff, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.input)), func(t *testing.T) { + if broadcast(tc.input) != tc.expected { + t.Errorf("unexpected result: %x", broadcast(tc.input)) + } + }) + } +} + +func TestFirstMarkedByteIndex(t *testing.T) { + testCases := []struct { + input uint64 + expected int + }{ + { + input: 0, + expected: 8, + }, + { + input: 0x8080808080808080, + expected: 0, + }, + { + input: 0x0000000000000080, + expected: 0, + }, + { + input: 0x0000000000008000, + expected: 1, + }, + { + input: 0x0000000000800000, + expected: 2, + }, + { + input: 0x0000000080000000, + expected: 3, + }, + { + input: 0x0000008000000000, + expected: 4, + }, + { + input: 0x0000800000000000, + expected: 5, + }, + { + input: 0x0080000000000000, + expected: 6, + }, + { + input: 0x8000000000000000, + expected: 7, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.input)), func(t *testing.T) { + if firstMarkedByteIndex(tc.input) != tc.expected { + t.Errorf("unexpected result: %x", firstMarkedByteIndex(tc.input)) + } + }) + } +} + +func TestMarkZeroBytes(t *testing.T) { + testCases := []struct { + input uint64 + expected uint64 + }{ + { + input: 0xffffffffffffffff, + expected: 0, + }, + { + input: 0, + expected: 0x8080808080808080, + }, + { + input: 1, + expected: 0x8080808080808000, + }, + { + input: 1 << 9, + expected: 0x8080808080800080, + }, + { + input: 1 << 17, + expected: 0x8080808080008080, + }, + { + input: 1 << 25, + expected: 0x8080808000808080, + }, + { + input: 1 << 33, + expected: 0x8080800080808080, + }, + { + input: 1 << 41, + expected: 0x8080008080808080, + }, + { + input: 1 << 49, + expected: 0x8000808080808080, + }, + { + input: 1 << 57, + expected: 0x0080808080808080, + }, + // false positive + { + input: 0x0100, + expected: 0x8080808080808080, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.input)), func(t *testing.T) { + if markZeroBytes(tc.input) != tc.expected { + t.Errorf("unexpected result: %x", markZeroBytes(tc.input)) + } + }) + } +} + +func TestSetByte(t *testing.T) { + testCases := []struct { + word uint64 + b uint8 + idx int + expected uint64 + }{ + { + word: 0xffffffffffffffff, + b: 0, + idx: 0, + expected: 0xffffffffffffff00, + }, + { + word: 0xffffffffffffffff, + b: 1, + idx: 1, + expected: 0xffffffffffff01ff, + }, + { + word: 0xffffffffffffffff, + b: 2, + idx: 2, + expected: 0xffffffffff02ffff, + }, + { + word: 0xffffffffffffffff, + b: 3, + idx: 3, + expected: 0xffffffff03ffffff, + }, + { + word: 0xffffffffffffffff, + b: 4, + idx: 4, + expected: 0xffffff04ffffffff, + }, + { + word: 0xffffffffffffffff, + b: 5, + idx: 5, + expected: 0xffff05ffffffffff, + }, + { + word: 0xffffffffffffffff, + b: 6, + idx: 6, + expected: 0xff06ffffffffffff, + }, + { + word: 0xffffffffffffffff, + b: 7, + idx: 7, + expected: 0x07ffffffffffffff, + }, + { + word: 0, + b: 0xff, + idx: 7, + expected: 0xff00000000000000, + }, + } + + for _, tc := range testCases { + t.Run(strconv.Itoa(int(tc.word)), func(t *testing.T) { + if setByte(tc.word, tc.b, tc.idx) != tc.expected { + t.Errorf("unexpected result: %x", setByte(tc.word, tc.b, tc.idx)) + } + }) + } +} diff --git a/mihomo/component/loopback/detector.go b/mihomo/component/loopback/detector.go index c639ab2205..59d16ca8a4 100644 --- a/mihomo/component/loopback/detector.go +++ b/mihomo/component/loopback/detector.go @@ -8,11 +8,10 @@ import ( "strconv" "github.com/metacubex/mihomo/common/callback" + "github.com/metacubex/mihomo/common/xsync" "github.com/metacubex/mihomo/component/iface" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/constant/features" - - "github.com/puzpuzpuz/xsync/v3" ) var disableLoopBackDetector, _ = strconv.ParseBool(os.Getenv("DISABLE_LOOPBACK_DETECTOR")) @@ -26,22 +25,19 @@ func init() { var ErrReject = errors.New("reject loopback connection") type Detector struct { - connMap *xsync.MapOf[netip.AddrPort, struct{}] - packetConnMap *xsync.MapOf[uint16, struct{}] + connMap xsync.Map[netip.AddrPort, struct{}] + packetConnMap xsync.Map[uint16, struct{}] } func NewDetector() *Detector { if disableLoopBackDetector { return nil } - return &Detector{ - connMap: xsync.NewMapOf[netip.AddrPort, struct{}](), - packetConnMap: xsync.NewMapOf[uint16, struct{}](), - } + return &Detector{} } func (l *Detector) NewConn(conn C.Conn) C.Conn { - if l == nil || l.connMap == nil { + if l == nil { return conn } metadata := C.Metadata{} @@ -59,7 +55,7 @@ func (l *Detector) NewConn(conn C.Conn) C.Conn { } func (l *Detector) NewPacketConn(conn C.PacketConn) C.PacketConn { - if l == nil || l.packetConnMap == nil { + if l == nil { return conn } metadata := C.Metadata{} @@ -78,7 +74,7 @@ func (l *Detector) NewPacketConn(conn C.PacketConn) C.PacketConn { } func (l *Detector) CheckConn(metadata *C.Metadata) error { - if l == nil || l.connMap == nil { + if l == nil { return nil } connAddr := metadata.SourceAddrPort() @@ -92,7 +88,7 @@ func (l *Detector) CheckConn(metadata *C.Metadata) error { } func (l *Detector) CheckPacketConn(metadata *C.Metadata) error { - if l == nil || l.packetConnMap == nil { + if l == nil { return nil } connAddr := metadata.SourceAddrPort() diff --git a/mihomo/component/nat/table.go b/mihomo/component/nat/table.go index 66241fb472..c74e6f886f 100644 --- a/mihomo/component/nat/table.go +++ b/mihomo/component/nat/table.go @@ -4,27 +4,24 @@ import ( "net" "sync" + "github.com/metacubex/mihomo/common/xsync" C "github.com/metacubex/mihomo/constant" - - "github.com/puzpuzpuz/xsync/v3" ) type Table struct { - mapping *xsync.MapOf[string, *entry] + mapping xsync.Map[string, *entry] } type entry struct { PacketSender C.PacketSender - LocalUDPConnMap *xsync.MapOf[string, *net.UDPConn] - LocalLockMap *xsync.MapOf[string, *sync.Cond] + LocalUDPConnMap xsync.Map[string, *net.UDPConn] + LocalLockMap xsync.Map[string, *sync.Cond] } func (t *Table) GetOrCreate(key string, maker func() C.PacketSender) (C.PacketSender, bool) { - item, loaded := t.mapping.LoadOrCompute(key, func() *entry { + item, loaded := t.mapping.LoadOrStoreFn(key, func() *entry { return &entry{ - PacketSender: maker(), - LocalUDPConnMap: xsync.NewMapOf[string, *net.UDPConn](), - LocalLockMap: xsync.NewMapOf[string, *sync.Cond](), + PacketSender: maker(), } }) return item.PacketSender, loaded @@ -68,7 +65,7 @@ func (t *Table) GetOrCreateLockForLocalConn(lAddr, key string) (*sync.Cond, bool if !loaded { return nil, false } - item, loaded := entry.LocalLockMap.LoadOrCompute(key, makeLock) + item, loaded := entry.LocalLockMap.LoadOrStoreFn(key, makeLock) return item, loaded } @@ -98,7 +95,5 @@ func makeLock() *sync.Cond { // New return *Cache func New() *Table { - return &Table{ - mapping: xsync.NewMapOf[string, *entry](), - } + return &Table{} } diff --git a/mihomo/go.mod b/mihomo/go.mod index 4bd156cc50..4abd65e128 100644 --- a/mihomo/go.mod +++ b/mihomo/go.mod @@ -19,7 +19,7 @@ require ( github.com/mdlayher/netlink v1.7.2 github.com/metacubex/amneziawg-go v0.0.0-20240922133038-fdf3a4d5a4ab github.com/metacubex/bart v0.20.5 - github.com/metacubex/bbolt v0.0.0-20240822011022-aed6d4850399 + github.com/metacubex/bbolt v0.0.0-20250715134201-d343f11712df github.com/metacubex/chacha v0.1.5 github.com/metacubex/fswatch v0.1.1 github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 @@ -42,7 +42,6 @@ require ( github.com/mroth/weightedrand/v2 v2.1.0 github.com/openacid/low v0.1.21 github.com/oschwald/maxminddb-golang v1.12.0 // lastest version compatible with golang1.20 - github.com/puzpuzpuz/xsync/v3 v3.5.1 github.com/sagernet/cors v1.2.1 github.com/sagernet/netlink v0.0.0-20240612041022-b9a21c07ac6a github.com/samber/lo v1.51.0 diff --git a/mihomo/go.sum b/mihomo/go.sum index f089d65209..2d615c9d43 100644 --- a/mihomo/go.sum +++ b/mihomo/go.sum @@ -100,8 +100,8 @@ github.com/metacubex/amneziawg-go v0.0.0-20240922133038-fdf3a4d5a4ab h1:Chbw+/31 github.com/metacubex/amneziawg-go v0.0.0-20240922133038-fdf3a4d5a4ab/go.mod h1:xVKK8jC5Sd3hfh7WjmCq+HorehIbrBijaUWmcuKjPcI= github.com/metacubex/bart v0.20.5 h1:XkgLZ17QxfxkqKdGsojoM2Zu01mmHyyQSFzt2/calTM= github.com/metacubex/bart v0.20.5/go.mod h1:DCcyfP4MC+Zy7sLK7XeGuMw+P5K9mIRsYOBgiE8icsI= -github.com/metacubex/bbolt v0.0.0-20240822011022-aed6d4850399 h1:oBowHVKZycNtAFbZ6avaCSZJYeme2Nrj+4RpV2cNJig= -github.com/metacubex/bbolt v0.0.0-20240822011022-aed6d4850399/go.mod h1:4xcieuIK+M4bGQmQYZVqEaIYqjS1ahO4kXG7EmDgEro= +github.com/metacubex/bbolt v0.0.0-20250715134201-d343f11712df h1:pwbTEBPk7QQbxEIIynLcn4WsEnAkFiR5Wjevw44MWdk= +github.com/metacubex/bbolt v0.0.0-20250715134201-d343f11712df/go.mod h1:+WmP0VJZDkDszvpa83HzfUp6QzARl/IKkMorH4+nODw= github.com/metacubex/chacha v0.1.5 h1:fKWMb/5c7ZrY8Uoqi79PPFxl+qwR7X/q0OrsAubyX2M= github.com/metacubex/chacha v0.1.5/go.mod h1:Djn9bPZxLTXbJFSeyo0/qzEzQI+gUSSzttuzZM75GH8= github.com/metacubex/fswatch v0.1.1 h1:jqU7C/v+g0qc2RUFgmAOPoVvfl2BXXUXEumn6oQuxhU= @@ -167,8 +167,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= -github.com/puzpuzpuz/xsync/v3 v3.5.1 h1:GJYJZwO6IdxN/IKbneznS6yPkVC+c3zyY/j19c++5Fg= -github.com/puzpuzpuz/xsync/v3 v3.5.1/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo= github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A= github.com/sagernet/cors v1.2.1 h1:Cv5Z8y9YSD6Gm+qSpNrL3LO4lD3eQVvbFYJSG7JCMHQ= diff --git a/mihomo/transport/tuic/v4/client.go b/mihomo/transport/tuic/v4/client.go index afa83d8269..0c57e0df15 100644 --- a/mihomo/transport/tuic/v4/client.go +++ b/mihomo/transport/tuic/v4/client.go @@ -14,6 +14,7 @@ import ( atomic2 "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" "github.com/metacubex/mihomo/common/pool" + "github.com/metacubex/mihomo/common/xsync" tlsC "github.com/metacubex/mihomo/component/tls" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/log" @@ -21,7 +22,6 @@ import ( "github.com/metacubex/quic-go" "github.com/metacubex/randv2" - "github.com/puzpuzpuz/xsync/v3" ) type ClientOption struct { @@ -48,7 +48,7 @@ type clientImpl struct { openStreams atomic.Int64 closed atomic.Bool - udpInputMap *xsync.MapOf[uint32, net.Conn] + udpInputMap xsync.Map[uint32, net.Conn] // only ready for PoolClient dialerRef C.Dialer @@ -422,7 +422,6 @@ func NewClient(clientOption *ClientOption, udp bool, dialerRef C.Dialer) *Client ClientOption: clientOption, udp: udp, dialerRef: dialerRef, - udpInputMap: xsync.NewMapOf[uint32, net.Conn](), } c := &Client{ci} runtime.SetFinalizer(c, closeClient) diff --git a/mihomo/transport/tuic/v4/server.go b/mihomo/transport/tuic/v4/server.go index 62ba5a5822..9d0e037862 100644 --- a/mihomo/transport/tuic/v4/server.go +++ b/mihomo/transport/tuic/v4/server.go @@ -11,13 +11,13 @@ import ( "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" "github.com/metacubex/mihomo/common/pool" + "github.com/metacubex/mihomo/common/xsync" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/transport/socks5" "github.com/metacubex/mihomo/transport/tuic/common" "github.com/gofrs/uuid/v5" "github.com/metacubex/quic-go" - "github.com/puzpuzpuz/xsync/v3" ) type ServerOption struct { @@ -34,7 +34,6 @@ func NewServerHandler(option *ServerOption, quicConn *quic.Conn, uuid uuid.UUID) quicConn: quicConn, uuid: uuid, authCh: make(chan struct{}), - udpInputMap: xsync.NewMapOf[uint32, *atomic.Bool](), } } @@ -47,7 +46,7 @@ type serverHandler struct { authOk atomic.Bool authOnce sync.Once - udpInputMap *xsync.MapOf[uint32, *atomic.Bool] + udpInputMap xsync.Map[uint32, *atomic.Bool] } func (s *serverHandler) AuthOk() bool { @@ -80,7 +79,7 @@ func (s *serverHandler) parsePacket(packet *Packet, udpRelayMode common.UdpRelay assocId = packet.ASSOC_ID - writeClosed, _ := s.udpInputMap.LoadOrCompute(assocId, func() *atomic.Bool { return &atomic.Bool{} }) + writeClosed, _ := s.udpInputMap.LoadOrStoreFn(assocId, func() *atomic.Bool { return &atomic.Bool{} }) if writeClosed.Load() { return nil } diff --git a/mihomo/transport/tuic/v5/client.go b/mihomo/transport/tuic/v5/client.go index ff6fbc3e85..5fc1388899 100644 --- a/mihomo/transport/tuic/v5/client.go +++ b/mihomo/transport/tuic/v5/client.go @@ -14,6 +14,7 @@ import ( atomic2 "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" "github.com/metacubex/mihomo/common/pool" + "github.com/metacubex/mihomo/common/xsync" tlsC "github.com/metacubex/mihomo/component/tls" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/log" @@ -21,7 +22,6 @@ import ( "github.com/metacubex/quic-go" "github.com/metacubex/randv2" - "github.com/puzpuzpuz/xsync/v3" ) type ClientOption struct { @@ -47,7 +47,7 @@ type clientImpl struct { openStreams atomic.Int64 closed atomic.Bool - udpInputMap *xsync.MapOf[uint16, net.Conn] + udpInputMap xsync.Map[uint16, net.Conn] // only ready for PoolClient dialerRef C.Dialer @@ -406,7 +406,6 @@ func NewClient(clientOption *ClientOption, udp bool, dialerRef C.Dialer) *Client ClientOption: clientOption, udp: udp, dialerRef: dialerRef, - udpInputMap: xsync.NewMapOf[uint16, net.Conn](), } c := &Client{ci} runtime.SetFinalizer(c, closeClient) diff --git a/mihomo/transport/tuic/v5/server.go b/mihomo/transport/tuic/v5/server.go index 31bedf3552..18ace9f14d 100644 --- a/mihomo/transport/tuic/v5/server.go +++ b/mihomo/transport/tuic/v5/server.go @@ -10,13 +10,13 @@ import ( "github.com/metacubex/mihomo/adapter/inbound" "github.com/metacubex/mihomo/common/atomic" N "github.com/metacubex/mihomo/common/net" + "github.com/metacubex/mihomo/common/xsync" C "github.com/metacubex/mihomo/constant" "github.com/metacubex/mihomo/transport/socks5" "github.com/metacubex/mihomo/transport/tuic/common" "github.com/gofrs/uuid/v5" "github.com/metacubex/quic-go" - "github.com/puzpuzpuz/xsync/v3" ) type ServerOption struct { @@ -33,7 +33,6 @@ func NewServerHandler(option *ServerOption, quicConn *quic.Conn, uuid uuid.UUID) quicConn: quicConn, uuid: uuid, authCh: make(chan struct{}), - udpInputMap: xsync.NewMapOf[uint16, *serverUDPInput](), } } @@ -47,7 +46,7 @@ type serverHandler struct { authUUID atomic.TypedValue[string] authOnce sync.Once - udpInputMap *xsync.MapOf[uint16, *serverUDPInput] + udpInputMap xsync.Map[uint16, *serverUDPInput] } func (s *serverHandler) AuthOk() bool { @@ -96,7 +95,7 @@ func (s *serverHandler) parsePacket(packet *Packet, udpRelayMode common.UdpRelay assocId = packet.ASSOC_ID - input, _ := s.udpInputMap.LoadOrCompute(assocId, func() *serverUDPInput { return &serverUDPInput{} }) + input, _ := s.udpInputMap.LoadOrStoreFn(assocId, func() *serverUDPInput { return &serverUDPInput{} }) if input.writeClosed.Load() { return nil } diff --git a/mihomo/tunnel/statistic/manager.go b/mihomo/tunnel/statistic/manager.go index 3f2770c249..90a34b6d0f 100644 --- a/mihomo/tunnel/statistic/manager.go +++ b/mihomo/tunnel/statistic/manager.go @@ -5,8 +5,8 @@ import ( "time" "github.com/metacubex/mihomo/common/atomic" + "github.com/metacubex/mihomo/common/xsync" - "github.com/puzpuzpuz/xsync/v3" "github.com/shirou/gopsutil/v4/process" ) @@ -14,7 +14,6 @@ var DefaultManager *Manager func init() { DefaultManager = &Manager{ - connections: xsync.NewMapOf[string, Tracker](), uploadTemp: atomic.NewInt64(0), downloadTemp: atomic.NewInt64(0), uploadBlip: atomic.NewInt64(0), @@ -28,7 +27,7 @@ func init() { } type Manager struct { - connections *xsync.MapOf[string, Tracker] + connections xsync.Map[string, Tracker] uploadTemp atomic.Int64 downloadTemp atomic.Int64 uploadBlip atomic.Int64 diff --git a/nodepass/README.md b/nodepass/README.md index 4419e73acf..760a91e802 100644 --- a/nodepass/README.md +++ b/nodepass/README.md @@ -13,34 +13,44 @@ English | [简体中文](README_zh.md) -**NodePass** is an open-source, lightweight, enterprise-grade TCP/UDP network tunneling solution featuring an all-in-one architecture with separation of control and data channels, along with flexible and high-performance instance control. It supports zero-configuration deployment, intelligent connection pooling, tiered TLS encryption, and seamless protocol conversion. Designed for DevOps professionals and system administrators to effortlessly handle complex network scenarios including firewall traversal, NAT bypassing, and advanced tunnel management. +**NodePass** is an open-source, lightweight, enterprise-grade TCP/UDP network tunneling solution featuring an all-in-one architecture with separation of control and data channels, along with flexible and high-performance instance control. It supports zero-configuration deployment, intelligent connection pooling, tiered TLS encryption, and seamless protocol conversion. Designed for DevOps professionals and system administrators to effortlessly handle complex network scenarios. ## 💎 Key Features -- **🔀 Multiple Operating Modes** - - Server mode accepting incoming tunnels with configurable security - - Client mode for establishing outbound connections to tunnel servers - - Master mode with RESTful API for dynamic instance management +- **🌠Universal Functionality** + - Supports TCP/UDP tunneling and protocol conversion across diverse networks. + - Compatible with port mapping, NAT traversal, and traffic relay. + - Cross-platform, multi-architecture, single binary or container. -- **🌠Protocol Support** - - TCP tunneling with persistent connection handling - - UDP datagram forwarding with configurable buffer sizes - - Intelligent routing mechanisms for both protocols +- **🚀 Connection Pool** + - Pre-established connections for zero-latency switching and forwarding. + - Eliminates handshake delays, boosts performance. + - Auto-scaling with real-time capacity adjustment. -- **ðŸ›¡ï¸ Security Options** - - TLS Mode 0: Unencrypted mode for maximum speed in trusted networks - - TLS Mode 1: Self-signed certificates for quick secure setup - - TLS Mode 2: Custom certificate validation for enterprise security +- **âš™ï¸ Zero-Config** + - No config files required, ready to use via CLI. + - Optimized for CI/CD and containers. + - Flexible tuning via environment variables. -- **âš¡ Performance Features** - - Smart connection pooling with real-time capacity adaptation - - Dynamic interval adjustment based on network conditions - - Minimal resource footprint even under heavy load +- **🔠Multi-level Security** + - Three TLS modes: plaintext, self-signed, strict validation. + - Covers development to enterprise security needs. + - Hot-reload certificates with zero downtime. -- **🧰 Simple Configuration** - - Zero configuration files required - - Simple command-line parameters - - Environment variables for fine-tuning performance +- **🧠 Innovative Architecture** + - Integrated S/C/M architecture, flexible mode switching. + - Full decoupling of control/data channels. + - API-instance management, multi-instance collaboration. + +- **📈 Performance** + - Intelligent scheduling, auto-tuning, ultra-low resource usage. + - Stable under high concurrency and heavy load. + - Health checks, auto-reconnect, self-healing. + +- **💡 Visualization** + - Rich cross-platform visual frontends. + - One-click deployment scripts, easy management. + - Real-time monitoring, API-instance management, traffic stats. ## 📋 Quick Start diff --git a/nodepass/README_zh.md b/nodepass/README_zh.md index 8e6fbfbf9c..406506708d 100644 --- a/nodepass/README_zh.md +++ b/nodepass/README_zh.md @@ -13,34 +13,44 @@ [English](README.md) | 简体中文 -**NodePass** 是一款开æºã€è½»é‡çš„ä¼ä¸šçº§ TCP/UDP 网络隧é“解决方案,采用多åˆä¸€æž¶æž„设计,通过控制通é“与数æ®é€šé“åˆ†ç¦»ï¼Œå®žçŽ°çµæ´»ã€é«˜æ€§èƒ½çš„实例管控。支æŒé›¶é…置文件部署,内置智能连接池ã€åˆ†çº§ TLS 加密和无ç¼å议转æ¢ã€‚专为 DevOps 工程师和系统管ç†å‘˜æ‰“造,助力轻æ¾åº”对防ç«å¢™ç©¿é€ã€NAT 绕过和高级隧é“管ç†ç­‰å¤æ‚网络场景。 +**NodePass** 是一款开æºã€è½»é‡çš„ä¼ä¸šçº§ TCP/UDP 网络隧é“解决方案,采用多åˆä¸€æž¶æž„设计,通过控制通é“与数æ®é€šé“åˆ†ç¦»ï¼Œå®žçŽ°çµæ´»ã€é«˜æ€§èƒ½çš„实例管控。支æŒé›¶é…置文件部署,内置智能连接池ã€åˆ†çº§ TLS 加密和无ç¼å议转æ¢ã€‚专为 DevOps 工程师和系统管ç†å‘˜æ‰“造,助力轻æ¾åº”坹夿‚网络场景。 ## 💎 核心功能 -- **🔀 å¤šç§æ“作模å¼** - - æœåŠ¡ç«¯æ¨¡å¼æŽ¥å—传入隧é“连接并æä¾›å¯é…置的安全选项 - - 客户端模å¼ç”¨äºŽå»ºç«‹ä¸Žéš§é“æœåŠ¡ç«¯çš„å‡ºç«™è¿žæŽ¥ - - ä¸»æŽ§æ¨¡å¼æä¾›RESTful API进行动æ€å®žä¾‹ç®¡ç† +- **🌠通用网络隧é“** + - æ”¯æŒ TCP/UDP éš§é“,具备å议转æ¢èƒ½åŠ›ï¼Œé€‚é…多ç§ç½‘络结构。 + - 完整适é…ç«¯å£æ˜ å°„ã€å†…网穿é€ã€æµé‡ä¸­è½¬ç­‰å¤šåœºæ™¯åº”用需求。 + - 多平å°ã€å¤šæž¶æž„支æŒï¼Œæ”¯æŒç‹¬ç«‹äºŒè¿›åˆ¶æ–‡ä»¶ã€å®¹å™¨çµæ´»éƒ¨ç½²ã€‚ -- **🌠å议支æŒ** - - TCPéš§é“传输与æŒä¹…è¿žæŽ¥ç®¡ç† - - UDPæ•°æ®æŠ¥è½¬å‘与å¯é…ç½®çš„ç¼“å†²åŒºå¤§å° - - 两ç§å议的智能路由机制 +- **🚀 内置连接池** + - 预先建立并维护连接,实现“零延迟â€åˆ‡æ¢ä¸Žé«˜æ•ˆæµé‡è½¬å‘。 + - æ¶ˆé™¤è¿žæŽ¥çš„æ¡æ‰‹ç­‰å¾…,显著æå‡äº†æ€§èƒ½ä½“验。 + - 支æŒå®žæ—¶å®¹é‡è‡ªé€‚应,动æ€è°ƒæ•´è¿žæŽ¥æ± è§„模。 -- **ðŸ›¡ï¸ å®‰å…¨é€‰é¡¹** - - TLS模å¼0:在å¯ä¿¡ç½‘ç»œä¸­èŽ·å¾—æœ€å¤§é€Ÿåº¦çš„æ— åŠ å¯†æ¨¡å¼ - - TLS模å¼1:使用自签åè¯ä¹¦æä¾›å¿«é€Ÿå®‰å…¨è®¾ç½® - - TLS模å¼2:使用自定义è¯ä¹¦éªŒè¯å®žçްä¼ä¸šçº§å®‰å…¨ +- **âš™ï¸ é›¶é…ç½®å¯åЍ** + - 无需é…ç½®æ–‡ä»¶ï¼Œä»…å‘½ä»¤è¡Œå‚æ•°å³å¯è¿è¡Œï¼Œé€‚åˆè‡ªåŠ¨åŒ–å’Œå¿«é€Ÿè¿­ä»£ã€‚ + - é€‚é… CI/CD æµç¨‹ä¸Žå®¹å™¨çŽ¯å¢ƒï¼Œæžå¤§æå‡éƒ¨ç½²å’Œè¿ç»´æ•ˆçŽ‡ã€‚ + - 支æŒçŽ¯å¢ƒå˜é‡æ€§èƒ½è°ƒä¼˜ï¼Œçµæ´»é€‚应ä¸åŒè¿è¡ŒçŽ¯å¢ƒã€‚ -- **âš¡ 性能特性** - - 智能连接池,具备实时容é‡è‡ªé€‚应功能 - - 基于网络状况的动æ€é—´éš”调整 - - é«˜è´Ÿè½½ä¸‹ä¿æŒæœ€å°èµ„æºå ç”¨ +- **🔠多级安全策略** + - ä¸‰ç§ TLS 模å¼ï¼šæ˜Žæ–‡ã€è‡ªç­¾åã€ä¸¥æ ¼éªŒè¯ï¼Œé€‚é…ä¸åŒå®‰å…¨ç­‰çº§ã€‚ + - æ»¡è¶³ä»Žå¼€å‘æµ‹è¯•到ä¼ä¸šçº§é«˜å®‰å…¨éƒ¨ç½²çš„全场景需求。 + - 支æŒè¯ä¹¦æ–‡ä»¶çš„热é‡è½½ï¼Œå…åœè¿ã€æ— ç¼å¤„ç†è¯ä¹¦æ›´æ–°é—®é¢˜ã€‚ -- **🧰 简å•é…ç½®** - - é›¶é…置文件设计 - - 简æ´çš„å‘½ä»¤è¡Œå‚æ•° - - 环境å˜é‡æ”¯æŒæ€§èƒ½ç²¾ç»†è°ƒä¼˜ +- **🧠 创新架构设计** + - Server-Client-Master å¤šæ¨¡å¼æ•´åˆæž¶æž„è®¾è®¡ï¼Œçµæ´»åˆ‡æ¢ã€‚ + - å°† S/C 控制通é“与数æ®é€šé“完全解耦,相互独立ã€å„å¸å…¶èŒã€‚ + - 主控-å®žä¾‹çš„ç®¡ç†æ–¹å¼ï¼Œæ”¯æŒåŠ¨æ€æ‰©å®¹ã€å¤šå®žä¾‹å作和集中控制。 + +- **📈 高性能优化** + - 智能æµé‡è°ƒåº¦ä¸Žè‡ªåŠ¨è¿žæŽ¥è°ƒä¼˜ï¼Œæžä½Žèµ„æºå ç”¨ã€‚ + - 高并å‘ã€é«˜è´Ÿè½½çжæ€ä¸‹å“越的系统稳定性能。 + - å¥åº·æ£€æŸ¥ã€æ–­çº¿é‡è¿žã€æ•…éšœè‡ªæ„ˆï¼Œç¡®ä¿æŒç»­é«˜å¯ç”¨ã€‚ + +- **💡 å¯è§†åŒ–生æ€** + - é…套跨平å°ã€å¤šæ ·åŒ–的管ç†å‰ç«¯åº”用,具备å¯è§†åŒ–é…置能力。 + - 主æµå¹³å°æ”¯æŒä¸€é”®éƒ¨ç½²è„šæœ¬ï¼Œæ”¯æ’‘çµæ´»é…置和辅助管ç†ã€‚ + - 具备实时隧é“监控ã€å®žä¾‹ç®¡ç†ã€ä¸»æŽ§ç®¡ç†ã€æµé‡ç»Ÿè®¡ç­‰ä¸°å¯ŒåŠŸèƒ½ã€‚ ## 📋 快速开始 diff --git a/openwrt-packages/filebrowser/Makefile b/openwrt-packages/filebrowser/Makefile index c9dfae090b..f355200a74 100644 --- a/openwrt-packages/filebrowser/Makefile +++ b/openwrt-packages/filebrowser/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=filebrowser -PKG_VERSION:=2.40.0 +PKG_VERSION:=2.40.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/filebrowser/filebrowser/tar.gz/v${PKG_VERSION}? -PKG_HASH:=0219856deb87e5337e119ee1b8942089be147e25c313e6cc70d854e23e82dcdc +PKG_HASH:=5091eca23ffcd25c870a0fddc690caad19190da43b30aa349a39f736dd868ae6 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/openwrt-passwall/luci-app-passwall/Makefile b/openwrt-passwall/luci-app-passwall/Makefile index 558dc67bff..2568ff2b6c 100644 --- a/openwrt-passwall/luci-app-passwall/Makefile +++ b/openwrt-passwall/luci-app-passwall/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall -PKG_VERSION:=25.7.6 +PKG_VERSION:=25.7.15 PKG_RELEASE:=1 PKG_CONFIG_DEPENDS:= \ diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.lua b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.lua index c22d4ea213..d43603f911 100644 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.lua +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/helper_dnsmasq.lua @@ -347,7 +347,7 @@ function add_rule(var) if USE_BLOCK_LIST == "1" then for line in io.lines("/usr/share/passwall/rules/block_host") do line = api.get_std_domain(line) - if line ~= "" and not line:find("#") then + if line ~= "" and not line:find("#") and not line:find(":") then set_domain_address(line, "") end end @@ -397,7 +397,7 @@ function add_rule(var) --始终用国内DNSè§£æžç›´è¿žï¼ˆç™½åå•)列表 for line in io.lines("/usr/share/passwall/rules/direct_host") do line = api.get_std_domain(line) - if line ~= "" and not line:find("#") then + if line ~= "" and not line:find("#") and not line:find(":") then add_excluded_domain(line) set_domain_dns(line, fwd_dns) set_domain_ipset(line, table.concat(sets, ",")) @@ -434,7 +434,7 @@ function add_rule(var) --始终使用远程DNSè§£æžä»£ç†ï¼ˆé»‘åå•)列表 for line in io.lines("/usr/share/passwall/rules/proxy_host") do line = api.get_std_domain(line) - if line ~= "" and not line:find("#") then + if line ~= "" and not line:find("#") and not line:find(":") then add_excluded_domain(line) if NO_PROXY_IPV6 == "1" then set_domain_address(line, "::") diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/iptables.sh b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/iptables.sh index df43d3127f..23c6304349 100755 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/iptables.sh +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/iptables.sh @@ -406,11 +406,11 @@ load_acl() { fi [ -n "$tcp_port" -o -n "$udp_port" ] && { - [ "${use_direct_list}" = "1" ] && $ipt_tmp -A PSW $(comment "$remarks") ${_ipt_source} $(dst $IPSET_WHITE) -j RETURN [ "${use_block_list}" = "1" ] && $ipt_m -A PSW $(comment "$remarks") ${_ipt_source} $(dst $IPSET_BLOCK) -j DROP + [ "${use_direct_list}" = "1" ] && $ipt_tmp -A PSW $(comment "$remarks") ${_ipt_source} $(dst $IPSET_WHITE) -j RETURN [ "$PROXY_IPV6" == "1" ] && { - [ "${use_direct_list}" = "1" ] && $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} $(dst $IPSET_WHITE6) -j RETURN 2>/dev/null [ "${use_block_list}" = "1" ] && $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} $(dst $IPSET_BLOCK6) -j DROP 2>/dev/null + [ "${use_direct_list}" = "1" ] && $ip6t_m -A PSW $(comment "$remarks") ${_ipt_source} $(dst $IPSET_WHITE6) -j RETURN 2>/dev/null } [ "$tcp_proxy_drop_ports" != "disable" ] && { @@ -589,11 +589,11 @@ load_acl() { fi [ -n "${TCP_PROXY_MODE}" -o -n "${UDP_PROXY_MODE}" ] && { - [ "${USE_DIRECT_LIST}" = "1" ] && $ipt_tmp -A PSW $(comment "默认") $(dst $IPSET_WHITE) -j RETURN [ "${USE_BLOCK_LIST}" = "1" ] && $ipt_m -A PSW $(comment "默认") $(dst $IPSET_BLOCK) -j DROP + [ "${USE_DIRECT_LIST}" = "1" ] && $ipt_tmp -A PSW $(comment "默认") $(dst $IPSET_WHITE) -j RETURN [ "$PROXY_IPV6" == "1" ] && { - [ "${USE_DIRECT_LIST}" = "1" ] && $ip6t_m -A PSW $(comment "默认") $(dst $IPSET_WHITE6) -j RETURN 2>/dev/null [ "${USE_BLOCK_LIST}" = "1" ] && $ip6t_m -A PSW $(comment "默认") $(dst $IPSET_BLOCK6) -j DROP 2>/dev/null + [ "${USE_DIRECT_LIST}" = "1" ] && $ip6t_m -A PSW $(comment "默认") $(dst $IPSET_WHITE6) -j RETURN 2>/dev/null } [ "$TCP_PROXY_DROP_PORTS" != "disable" ] && { @@ -1023,9 +1023,9 @@ add_firewall_rule() { done } + [ "${USE_BLOCK_LIST}" = "1" ] && $ipt_m -A PSW_OUTPUT $(dst $IPSET_BLOCK) -j DROP [ "${USE_DIRECT_LIST}" = "1" ] && $ipt_m -A PSW_OUTPUT $(dst $IPSET_WHITE) -j RETURN $ipt_m -A PSW_OUTPUT -m mark --mark 0xff -j RETURN - [ "${USE_BLOCK_LIST}" = "1" ] && $ipt_m -A PSW_OUTPUT $(dst $IPSET_BLOCK) -j DROP ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100 @@ -1077,8 +1077,8 @@ add_firewall_rule() { $ip6t_m -A PSW_OUTPUT -m mark --mark 0xff -j RETURN $ip6t_m -A PSW_OUTPUT $(dst $IPSET_LAN6) -j RETURN $ip6t_m -A PSW_OUTPUT $(dst $IPSET_VPS6) -j RETURN - [ "${USE_DIRECT_LIST}" = "1" ] && $ip6t_m -A PSW_OUTPUT $(dst $IPSET_WHITE6) -j RETURN [ "${USE_BLOCK_LIST}" = "1" ] && $ip6t_m -A PSW_OUTPUT $(dst $IPSET_BLOCK6) -j DROP + [ "${USE_DIRECT_LIST}" = "1" ] && $ip6t_m -A PSW_OUTPUT $(dst $IPSET_WHITE6) -j RETURN ip -6 rule add fwmark 1 table 100 ip -6 route add local ::/0 dev lo table 100 diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/nftables.sh b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/nftables.sh index 681965d51d..eb124c6489 100755 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/nftables.sh +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/nftables.sh @@ -421,13 +421,13 @@ load_acl() { fi [ -n "$tcp_port" -o -n "$udp_port" ] && { - [ "${use_direct_list}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE ${_ipt_source} ip daddr @$NFTSET_WHITE counter return comment \"$remarks\"" - [ "${use_direct_list}" = "1" ] && [ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ${_ipt_source} ip daddr @$NFTSET_WHITE counter return comment \"$remarks\"" [ "${use_block_list}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE ${_ipt_source} ip daddr @$NFTSET_BLOCK counter drop comment \"$remarks\"" [ "${use_block_list}" = "1" ] && [ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ${_ipt_source} ip daddr @$NFTSET_BLOCK counter drop comment \"$remarks\"" + [ "${use_direct_list}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE ${_ipt_source} ip daddr @$NFTSET_WHITE counter return comment \"$remarks\"" + [ "${use_direct_list}" = "1" ] && [ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ${_ipt_source} ip daddr @$NFTSET_WHITE counter return comment \"$remarks\"" [ "$PROXY_IPV6" == "1" ] && { - [ "${use_direct_list}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE_V6 ${_ipt_source} ip6 daddr @$NFTSET_WHITE6 counter return comment \"$remarks\"" [ "${use_block_list}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE_V6 ${_ipt_source} ip6 daddr @$NFTSET_BLOCK6 counter drop comment \"$remarks\"" + [ "${use_direct_list}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE_V6 ${_ipt_source} ip6 daddr @$NFTSET_WHITE6 counter return comment \"$remarks\"" } [ "$tcp_proxy_drop_ports" != "disable" ] && { @@ -608,13 +608,13 @@ load_acl() { fi [ -n "${TCP_PROXY_MODE}" -o -n "${UDP_PROXY_MODE}" ] && { - [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr @$NFTSET_WHITE counter return comment \"默认\"" - [ "${USE_DIRECT_LIST}" = "1" ] && [ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ip daddr @$NFTSET_WHITE counter return comment \"默认\"" [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr @$NFTSET_BLOCK counter drop comment \"默认\"" [ "${USE_BLOCK_LIST}" = "1" ] && [ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ip daddr @$NFTSET_BLOCK counter drop comment \"默认\"" + [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE ip daddr @$NFTSET_WHITE counter return comment \"默认\"" + [ "${USE_DIRECT_LIST}" = "1" ] && [ -z "${is_tproxy}" ] && nft "add rule $NFTABLE_NAME PSW_NAT ip daddr @$NFTSET_WHITE counter return comment \"默认\"" [ "$PROXY_IPV6" == "1" ] && { - [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE_V6 ip6 daddr @$NFTSET_WHITE6 counter return comment \"默认\"" [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE_V6 ip6 daddr @$NFTSET_BLOCK6 counter drop comment \"默认\"" + [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_MANGLE_V6 ip6 daddr @$NFTSET_WHITE6 counter return comment \"默认\"" } [ "$TCP_PROXY_DROP_PORTS" != "disable" ] && { @@ -1018,9 +1018,9 @@ add_firewall_rule() { nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE ip daddr @$NFTSET_LAN counter return" nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE ip daddr @$NFTSET_VPS counter return" + [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE ip daddr @$NFTSET_BLOCK counter drop" [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE ip daddr @$NFTSET_WHITE counter return" nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE meta mark 0xff counter return" - [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE ip daddr @$NFTSET_BLOCK counter drop" # jump chains nft "add rule $NFTABLE_NAME mangle_prerouting ip protocol udp counter jump PSW_MANGLE" @@ -1039,9 +1039,9 @@ add_firewall_rule() { nft "flush chain $NFTABLE_NAME PSW_OUTPUT_NAT" nft "add rule $NFTABLE_NAME PSW_OUTPUT_NAT ip daddr @$NFTSET_LAN counter return" nft "add rule $NFTABLE_NAME PSW_OUTPUT_NAT ip daddr @$NFTSET_VPS counter return" + [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_NAT ip daddr @$NFTSET_BLOCK counter drop" [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_NAT ip daddr @$NFTSET_WHITE counter return" nft "add rule $NFTABLE_NAME PSW_OUTPUT_NAT meta mark 0xff counter return" - [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_NAT ip daddr @$NFTSET_BLOCK counter drop" } #icmp ipv6-icmp redirect @@ -1081,9 +1081,9 @@ add_firewall_rule() { nft "flush chain $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6" nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6 ip6 daddr @$NFTSET_LAN6 counter return" nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6 ip6 daddr @$NFTSET_VPS6 counter return" + [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6 ip6 daddr @$NFTSET_BLOCK6 counter drop" [ "${USE_DIRECT_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6 ip6 daddr @$NFTSET_WHITE6 counter return" nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6 meta mark 0xff counter return" - [ "${USE_BLOCK_LIST}" = "1" ] && nft "add rule $NFTABLE_NAME PSW_OUTPUT_MANGLE_V6 ip6 daddr @$NFTSET_BLOCK6 counter drop" [ -n "$IPT_APPEND_DNS" ] && { local local_dns dns_address dns_port diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnlist b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnlist index db60069550..4ffbaf8eff 100644 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnlist +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnlist @@ -10,7 +10,6 @@ 000793.com 00086.net 0008bet.com -000dn.com 000e.com 000pc.net 001.com @@ -30,15 +29,14 @@ 001tudou.com 001u.com 001wifi.com +001win5.cc 002049.com 00222.net 00257.com 002574.com -002lzj.com 0033.com 0037wan.com 00394.net -003store.com 004218.com 004678.com 004837963.xyz @@ -51,6 +49,7 @@ 00772229.com 00791.com 007card.vip +007gameapp10.com 007manhua.com 007qu.com 007shoes.com @@ -80,6 +79,7 @@ 00tu.com 00wv.com 00xu.com +00y9334535.com 01-cf.com 010.cc 010123456.com @@ -90,6 +90,7 @@ 0101ssd.com 010203.com 010237.com +01058511989.com 01095113.com 010b.com 010bianhu.com @@ -123,11 +124,7 @@ 01401.com 01415.net 016sf.com -017162.com -018520.com -019103.com 01amlink.site -01bz.com 01bzw.us 01bzw.xyz 01caijing.com @@ -136,6 +133,7 @@ 01home.com 01hour.com 01hr.com +01hub.com 01isp.com 01isp.net 01jinhua.com @@ -166,7 +164,6 @@ 02096998.com 020banjia.net 020bdqn.net -020dcc.com 020gzjx.com 020h.com 020job.com @@ -281,9 +278,8 @@ 027chwl.com 027chx.com 027cloud.com -027dir.com -027down.com 027eat.com +027g3nkf40.com 027hhl.com 027hpedu.com 027hpit.com @@ -309,7 +305,6 @@ 028desite.com 028f.com 028hema.com -028hr.org 028ip.com 028kuaidai.com 028ltzx.com @@ -339,9 +334,9 @@ 02a5ji7vso.com 02d.com 02hm.com -02kdid.com 02lb.com 02lu.com +02pew65z89.com 02shu.com 02wan.com 02wq.com @@ -361,7 +356,6 @@ 0316yun.com 0318gbw.com 0328.com -033.com 033033.com 035110000.com 0351data.com @@ -435,6 +429,8 @@ 0479xx.com 049.com 04ip.com +04qfw7m68o.com +04r0e3w2ac.com 05.gd 050400.com 051058.com @@ -443,7 +439,6 @@ 0510rcw.com 0510syedu.com 0510zyw.com -0512s.com 0512wm.com 0513.net 0513.org @@ -458,18 +453,15 @@ 0515kf.com 0515smw.com 0515yc.com -0515yc.tv 0515yy.com 0516ds.com 0516k.com 0517.net 0517cw.com 0517man.com -0517offer.com 0517w.com 0518home.com 0518yy.com -051jk.com 0523114.com 05236.com 052360.com @@ -484,15 +476,12 @@ 052yx.com 0531.com 053135.com -0531jb.com -0531kt.com 0531soso.com 0531wenxiu.com 0531wt.com 0532.com 053217.com 05321888.com -0533.com 0533.net 0534.com 0534888.com @@ -519,7 +508,6 @@ 0550.com 055110.com 055178.com -0551huayanbdf.com 0551wl.com 0552jie.com 0553zsw.com @@ -530,7 +518,7 @@ 0557100.com 0558job.com 0559jqdq.com -0561house.com +055e8qn69j.com 0564abc.com 0564shw.com 0566cn.net @@ -539,6 +527,7 @@ 0570fc.com 0570zs.com 057191.com +0571crm.com 0571gszc.com 0571nh.com 0571ok.com @@ -603,6 +592,7 @@ 05bq.com 05idc.com 05info.com +05sun.com 05vm.com 05wan.com 05wang.com @@ -617,10 +607,9 @@ 0631rc.com 0632idc.com 0634.com -0634.me 0635.com -06362.com 065201.com +06555.com 0660hf.com 0663.net 0663job.com @@ -721,7 +710,6 @@ 0755hj.com 0755hz.com 0755jz.net -0755rc.com 0755sszx.net 0755yf.net 0755zb.com @@ -756,7 +744,6 @@ 0769sx.com 0769web.net 0769yp.com -076lvo.xyz 0771.com 0771.tv 07712008.com @@ -766,7 +753,6 @@ 0771cyts.com 0771fukang.com 0771hp.com -0771hq.com 0771mr.com 0771rc.com 0772fang.com @@ -822,6 +808,7 @@ 07sh.com 07swz.com 080210.com +081.com 0813fs.com 0817.net 0817ch.com @@ -845,7 +832,6 @@ 0854job.com 0856st.com 0857job.com -0858.xn--3ds443g 0859job.com 0859qp.com 0859sy.com @@ -862,7 +848,6 @@ 089858.com 0898888.com 0898cfw.com -0898hfw.com 0898hq.com 0898mmf.com 0898uf.com @@ -904,7 +889,6 @@ 0938net.com 0939.net 093nd9.com -0941.org 09451.com 094j35.com 095196555.com @@ -918,7 +902,9 @@ 09game.com 09ge.com 09k.net +09p9z7d1h8.com 09shijue.com +0a2d.com 0baiwen.com 0bug.org 0car0.com @@ -930,11 +916,9 @@ 0du.net 0duw.com 0duxs.com -0dwm.icu +0e91wut86c.com 0easy.com -0efghij.com 0eqbeb.com -0er7pc8.xyz 0fw.net 0g1s.com 0gouche.com @@ -944,12 +928,12 @@ 0ka.com 0kee.com 0kkkkkt.com +0l23f6i4e8.com +0np1ydukvn.com 0nu2yo.com -0pdsa.icu -0r17374.com -0rg.pw 0rl.cc 0rz.ltd +0s73o26p67.com 0s8s.com 0sm.com 0snd.cc @@ -957,7 +941,6 @@ 0voice.com 0x3.com 0x3.me -0x5.me 0x6.me 0x7.me 0x9.me @@ -973,6 +956,7 @@ 1-bmo-client-login.com 1-cs.net 1-du.net +1-fss24-s0.streamhoster.com 1-luxury.com 1-yuan.net 1.cc @@ -1004,7 +988,6 @@ 1000qm.vip 1000qoi.com 1000qs.com -1000su.com 1000thinktank.com 1000tuan.com 1000uc.com @@ -1012,26 +995,27 @@ 1000xun.com 1000zhu.com 10010.com +10010.net 10010.team 10010400.net 10010hb.net 10010js.com 10010ll.com +10010mx.com 10010nm.com 1001g.com 1001hw.com 1001p.com 100248.com +10029.com 10034.com 100520.com 100580.com -100669.com 1008011.com 1008120.com 10086.com 10086.games 1008656.com -1008691.com 10086kuaixiu.com 100allin.com 100alpha.com @@ -1052,7 +1036,6 @@ 100eshu.com 100exam.com 100fang.com -100fenlm.com 100font.com 100gpw.com 100guoji.com @@ -1093,10 +1076,8 @@ 100szy.com 100t.com 100tal.com -100te.com 100tiao1.net 100tmt.com -100tone.com 100top1.com 100try.com 100tv.com @@ -1114,6 +1095,7 @@ 100xin.com 100xuexi.com 100yangsheng.com +100ycdn.com 100ye.com 100ye.net 100yigui.com @@ -1124,6 +1106,7 @@ 100zhuoyue.com 100zp.com 101.com +1010-0000.com 10100.com 10100000.com 10101111.com @@ -1151,13 +1134,10 @@ 1024tools.com 1024wl.com 1024zx.com -10260.com 1026jz.com -1028images.com 102no.com 102pay.com 103153.com -1032.com 10333.com 10349.com 10419.net @@ -1170,7 +1150,6 @@ 1066888.com 10678.net 1073.com -107788.com 1088hg41.com 108ai.com 108mir.com @@ -1227,7 +1206,6 @@ 11160066.com 11172222.com 111867.com -1118cctv.ltd 111com.net 111g.com 111golf.com @@ -1245,7 +1223,6 @@ 112seo.com 112wan.com 11315.com -1133.cc 11343.com 113989.com 113dh.com @@ -1302,8 +1279,11 @@ 115800.com 115cdn.com 115cdn.net +115cloud.com +115cloud.net 115img.com 115jk.com +115meta.com 115seo.com 115vod.com 115zb.com @@ -1323,7 +1303,6 @@ 1181.com 118114.net 118360.com -1188.com 1188fc.com 118cy.com 118inns.com @@ -1344,14 +1323,12 @@ 119you.com 11bao.com 11bz.com -11cdocker402.com 11dns.com 11fdj.com 11fldxn.com 11flow.com 11g.com 11gai.com -11h5.com 11haoka.com 11job.com 11job.net @@ -1407,7 +1384,6 @@ 121wty.com 122521.com 12272.vip -12291.com 122bid.com 122cha.com 122cn.net @@ -1427,19 +1403,18 @@ 12317.com 12317wan.com 1231818.com -12322app.com 123242.com 123245.com 123254.com +123295.com 123326.com 12333.com +12333.org 12333si.com 12333tc.com 123366.xyz -1233dns.com 1234.me 12341288.com -123456.la 123456edu.com 123456wz.com 12345b.com @@ -1458,7 +1433,6 @@ 1234yes.com 12354.com 12355.net -1236.com 123624.com 123635.com 123641.com @@ -1483,7 +1457,6 @@ 123baofeng.com 123bo.com 123boligang.com -123cha.com 123chufa.com.hk 123ds.org 123du.cc @@ -1492,15 +1465,12 @@ 123fh.com 123haitao.com 123haiwai.com -123hala.com 123hao.com 123hdp.com 123huaiyun.com 123juzi.com -123k.cc 123kanfang.com 123langlang.com -123lm.com 123meiyan.com 123menpiao.com 123nice.net @@ -1543,6 +1513,7 @@ 126.am 126.com 126.fm +126.link 126.net 126blog.com 126disk.com @@ -1553,6 +1524,7 @@ 127.com 127.net 1278721.com +127cdn.com 127xx.com 127z.com 1280-pic.cc @@ -1576,6 +1548,7 @@ 12ky.com 12miao.com 12pk.com +12py879p9p.com 12sporting.com 12tiku.com 12yao.com @@ -1600,7 +1573,6 @@ 1314zhilv.com 131cc.com 1322.com -13298213.com 132lawyer.com 1330.net 133191.com @@ -1609,11 +1581,9 @@ 13377608388.com 13384.com 133998.com -133u.com 13482896776.com 1350135.com 135031.com -1351.com 135139.net 135309.com 1353j.com @@ -1636,7 +1606,7 @@ 13636.com 1366.com 13667703999.com -1368999.com +136bet.app 136fc.com 136hr.com 136pic.com @@ -1646,7 +1616,6 @@ 13726936178.com 137365.com 1374.com -1377.com 13793085458.com 13793277711.com 137home.com @@ -1693,12 +1662,14 @@ 13gm.com 13jue.com 13lm.com +13q19b8wgb.com 13qh.com 13s.co 13th.tech 13ww.net 13xiaoshuo.com 13yx.com +14033.live.streamtheworld.com 140414.com 1415926.com 1415926.mobi @@ -1718,7 +1689,6 @@ 148com.com 148la.com 14944.net -1495039.com 1495c8.com 14hj.com 14kjin.com @@ -1727,7 +1697,6 @@ 14ygame.com 150100.com 150170.com -1503.net 150cn.com 151.hk 1510game.com @@ -1758,7 +1727,9 @@ 156186.com 156669.com 156pay.com +156zy.suyunbo.tv 157.com +157110.com 157300.net 157seo.com 15803.com @@ -1784,12 +1755,13 @@ 15re.com 15scsc.com 15sn.com -15tianqi.com +15wkd6i45lq3.com 15xdd.com 15yl.com 15yunmall.com 160.com 160.me +1601sy4ge0.com 160dyf.com 160job.com 160yx.com @@ -1811,7 +1783,6 @@ 163.link 163.lu 163.net -163.xn--3bst00m 163110.com 1633.com 1633.store @@ -1846,6 +1817,7 @@ 163mail.cc 163mail.com 163mail.net +163nasa.com 163nos.com 163ns.com 163pinglun.com @@ -1863,7 +1835,6 @@ 16587.com 165image.com 165image.vip -165tchuang.com 165zhuji.com 166.com 166.net @@ -1874,6 +1845,7 @@ 1668hk.com 166cai.com 166cdn.com +166dns.com 166sh.com 16757.com 16768.com @@ -1904,7 +1876,6 @@ 1688visa.com 1688zhuce.com 16899168.com -168ad.cc 168chaogu.com 168dc.com 168dmj.com @@ -1948,7 +1919,6 @@ 16ds.com 16fan.com 16first.com -16floor.com 16game.net 16hyt.com 16kang.com @@ -1958,7 +1928,6 @@ 16p.com 16pic.com 16rd.com -16shouyou.com 16sucai.com 16type.com 16tz.com @@ -1973,7 +1942,6 @@ 170hi.com 170mv.com 170tao.com -170yy.com 171026.com 17167.com 17173-inc.com @@ -2008,6 +1976,7 @@ 17351.com 17365h5.com 17365pc.com +1739705934745550.com 173cs.com 173eg.com 173fahao.com @@ -2035,11 +2004,11 @@ 17566.com 1758.com 175aa.com -175bar.com 175cinemas.com 175club.com 175game.com 175ha.com +175hd.com 175kh.com 175pt.com 175pt.net @@ -2056,7 +2025,6 @@ 176web.net 1773.com 1778.com -177o.com 177xfb.com 178.com 178.net @@ -2068,7 +2036,6 @@ 178871.xyz 17888.com 178du.com -178gg.com 178good.com 178hui.com 178linux.com @@ -2080,7 +2047,6 @@ 179179.com 1794game.com 1797.cc -1797wan.com 17986.net 17989.com 179cy.com @@ -2095,7 +2061,6 @@ 17beijiang.com 17bianji.com 17biao.com -17bigdata.com 17bigu.com 17biying.net 17bt.com @@ -2135,7 +2100,6 @@ 17gaoda.com 17getfun.com 17golang.com -17gouwuba.com 17guagua.com 17gwx.com 17haibao.com @@ -2167,6 +2131,7 @@ 17kxgame.com 17kzj.com 17kzy.com +17l18w9s1z.com 17lai.org 17lai.site 17lele.net @@ -2209,6 +2174,7 @@ 17startup.com 17sucai.com 17suzao.com +17swan.com 17syi.com 17sysj.com 17t.co @@ -2312,6 +2278,7 @@ 183read.cc 183read.com 183u.com +1845p3hr95.com 18488.com 185185.com 1857qc.net @@ -2336,9 +2303,9 @@ 188628.com 1888.com.mo 18888.com -188api.com 188bifen.com 188bio.com +188cdn.com 188hi.com 188lanxi.com 188mb.com @@ -2371,6 +2338,7 @@ 18dao.info 18daxue.com 18dx.com +18ebank.com 18fzl.com 18guanjia.com 18imall.com @@ -2382,13 +2350,13 @@ 18l.net 18ladys.com 18link.com -18mob.com 18ph.com 18q.co 18qh.com 18qiang.com 18qingqu.com 18snf.com +18t0f515a3.com 18touch.com 18wk.com 18yl.com @@ -2408,7 +2376,7 @@ 1905.com 190757.com 190cai.com -191131.com +19183.live.streamtheworld.com 1919.com 19196.com 1919game.net @@ -2444,14 +2412,12 @@ 198526.com 1985cd.com 1985qg.com -19869.com 1987619.com 1987cn.com 1987yp.com 1988.tv 19888.tv 1988zixun.com -198game.com 198game.net 1990i.com 199238.vip @@ -2462,7 +2428,6 @@ 1998mall.com 1998n.com 1998r.com -1999019.com 1999year.com 199it.com 199u2.com @@ -2488,10 +2453,12 @@ 1ang.com 1aq.com 1auto.net +1b0y8tocaz24.com 1b17.com 1b1tech.com 1b23.com -1buo.icu +1blx503444.com +1boshu1.com 1bus.net 1c0d1n1f0l1y.cc 1c38.com @@ -2510,17 +2477,15 @@ 1d9z.com 1dao99.com 1date1cake.com -1dcbzuv.com 1der-ad.com -1dianyi.com 1diaocha.com 1diary.me 1ding.xyz -1dki0.icu 1domedia.com 1drv.ws 1dufish.com 1dutm.com +1dw9r53h79.com 1f11.com 1fangchan.com 1fatong.com @@ -2538,16 +2503,12 @@ 1gdoutian.com 1gesem.com 1ggame.com -1gjh.com -1gmzo.icu -1gongying.com 1gow.net -1gtp.icu 1haigtm.com 1haitao.com 1hangye.com 1haogu.com -1haosuo.com +1hdru-hls-otcnet.cdnvideo.ru 1hkt.com 1hourlife.com 1hshop.com @@ -2556,14 +2517,12 @@ 1huwai.me 1hwz.com 1ij6ut.com -1iohncj.xyz 1iptv.com -1iuh5l.com 1j1x.com 1j8.net 1jbest.com +1jh3a5806i.com 1jiesong.com -1jok.icu 1ju.com 1juhao.com 1juzi.com @@ -2571,7 +2530,6 @@ 1k2k.com 1ka123.com 1kapp.com -1kcx.hk 1ke.net 1kic.com 1kkk.com @@ -2581,13 +2539,9 @@ 1kxun.com 1kyx.com 1l0xphj.xyz -1l1.cc -1lan.tv 1law.vip 1liantu.com -1look.tv 1lou.com -1lx.co 1lzs.com 1m.net 1m3d.com @@ -2606,19 +2560,18 @@ 1mm8.com 1mmed.com 1more.com -1mpi.com 1ms.run 1mushroom.com 1mutian.com 1mxian.com +1n1v97c96h.com 1nami.com 1nfinite.ai 1nmob.com +1nongjing.com 1nsou.com 1nyz.com 1o1o.xyz -1o26.com -1p3yg.icu 1paibao.net 1plas.com 1pm2.com @@ -2633,11 +2586,9 @@ 1qirun.com 1qishu.com 1qit.com -1qwe3r.com +1r0zwootq4.com 1r1g.com 1renshi.com -1rtb.com -1rtb.net 1safety.cc 1sapp.com 1shangbiao.com @@ -2652,6 +2603,7 @@ 1stchip.com 1stjc.com 1styan.com +1sw12mvkbp.com 1szq.com 1t.gs 1t1t.com @@ -2667,11 +2619,10 @@ 1tu.com 1tuikem.com 1uuc.com -1vv8.com +1w1w314c71.com 1w8.cc 1wang.com -1x3x.com -1xiezuo.com +1xbet88.com 1xin1li.com 1xinzulin.com 1xlala.cc @@ -2688,7 +2639,6 @@ 1ydt.com 1yinian.com 1ysh.com -1ytao.com 1yunhui.com 1yyg.com 1zhangdan.com @@ -2704,7 +2654,6 @@ 1zr.com 1zu.com 1zw.com -2-01-5830-0005.cdx.cedexis.net 2-33.com 2-class.com 2-mm.net @@ -2719,16 +2668,13 @@ 2000new.com 2000y.net 20021002.xyz -200218.com 2003n.cc 2003n.com -2005net.net 2006q.com 20087.com 2008php.com 2008red.com 2008zwe.com -20091222.com 200call.com 200wan.com 200y.com @@ -2739,7 +2685,6 @@ 2012seo.com 20130123.com 201314520.net -2013sh.com 2014.mobi 20150.net 201551.com @@ -2765,7 +2710,6 @@ 2024789.com 2024qq.com 2025.net -202m.com 202wan.com 203328.com 2048sj.com @@ -2782,12 +2726,11 @@ 20on.com 20planet.com 20qu.com -20wx.com 20xue.com +20xy.cc 20yy.com 20z.com 21-sun.com -210189.com 210997.com 210z.com 2113.com @@ -2807,7 +2750,6 @@ 212313.com 2125.com 21263.net -212ehae.fun 2133.com 21335.club 2133bbs.com @@ -2842,8 +2784,10 @@ 21cnentmail.com 21cnev.com 21cnhr.com +21cnimg.com 21cnjy.com 21cnjy.net +21cnsales.com 21cnsungate.com 21cntx.com 21cos.com @@ -2864,11 +2808,11 @@ 21etn.com 21fid.com 21food.com +21fv52efm1.com 21gold.org 21good.com 21hifi.com 21hospital.com -21hubei.net 21hulian.com 21hyzs.com 21ic.com @@ -2878,7 +2822,6 @@ 21jingji.com 21js.com 21kan.com -21kk.cc 21ks.net 21kunpeng.com 21ld.com @@ -2908,9 +2851,6 @@ 21tyn.com 21uv.com 21van.com -21vbc.com -21vbluecloud.com -21vbluecloud.net 21viacloud.com 21vianet.com 21voa.com @@ -2941,7 +2881,7 @@ 222.com 22221111.com 222579.com -222aa333bb.com +22283.live.streamtheworld.com 222abc999abc.com 222bz.com 222i.net @@ -2953,6 +2893,7 @@ 223600.com 2238202.com 2239.com +22393.live.streamtheworld.com 223969ufy.com 2243.com 22442121.com @@ -2972,12 +2913,12 @@ 2265.com 226500.com 226531.com +226969.xyz 226yzy.com 2280.com 2281wa.ren 2288.org 228job.com -228tuchuang.com 229.com 2295.com 2298.com @@ -3012,11 +2953,11 @@ 2323u.com 2323wan.com 232485.com -2325fdrf.fun 2329.com 233.com 2330.com 233000.com +2333333333333.com 2333u.com 23356.com 233863.com @@ -3025,18 +2966,15 @@ 233leyuan.com 233lyly.com 233netcloud.com +233netpre.com 233netpro.com 233py.com -233wo.com 233xyx.com 2344.com -2345.cc -2345.com 2345.gd 2345.net 23456789.xyz 23456v.com -2345at.com 2345cdn.net 2345download.com 2345ff.com @@ -3059,6 +2997,7 @@ 238090.com 239300.net 23946.net +239622.com 23bei.com 23book.com 23class.com @@ -3069,10 +3008,8 @@ 23ee.net 23img.com 23job.net -23kmm.com 23ks.com 23luke.com -23lvxing.com 23mf.com 23mofang.com 23qb.com @@ -3098,7 +3035,6 @@ 246ys.com 2478.com 248.com -2481e.com 248xyx.com 249m.com 24av.com @@ -3114,6 +3050,7 @@ 24maker.com 24money.com 24om.com +24shi.cc 24th.com 24timemap.com 24u7tos.com @@ -3128,7 +3065,6 @@ 2523.com 252300.net 25285577.com -2529.com 253.com 253669vqx.com 25395.vip @@ -3140,7 +3076,6 @@ 255400.com 255616.com 255star.com -25662zubo23739.com 256app.com 256cha.com 25752.com @@ -3153,16 +3088,15 @@ 258fuwu.com 258sd.com 258weishi.com -258zw.com 25992.com 25az.com 25dir.com 25dx.com 25game.com -25ku.com 25nc.com 25pp.com 25pyg.com +25q7ekcc67.com 25rk.com 25tmw.com 25un.com @@ -3190,7 +3124,6 @@ 263idc.com 263idc.net 263live.net -263th.com 263vps.com 263xmail.com 263y.com @@ -3234,7 +3167,6 @@ 27492.com 275.com 2755005.com -275st.com 277sy.com 27813000.com 278838mcu.com @@ -3276,6 +3208,7 @@ 288idc.com 289.com 2898.com +28awe.com 28beiduo.com 28gl.com 28gua.com @@ -3302,11 +3235,9 @@ 296u.com 29797.com 2980.com -298028.org 299906.com 29dnue.com 29nh.com -29wjns.com 29wt.com 29xf.com 2ai2.com @@ -3343,19 +3274,17 @@ 2dph.com 2du.net 2dyou.com +2e56m039tk.com 2ed5d.com -2efgcdcjr000.fun 2eka.cloud 2emlfo.com 2f.com -2f91f8.com 2fc5.com 2fz1.com 2fzb.com 2gdt.com 2gei.com 2girls1finger.org -2google.com 2h1jeo.com 2haha.com 2haitao.com @@ -3379,51 +3308,47 @@ 2ktq.com 2kxs.info 2kxs.org +2l4938221x.com 2lian.com 2liang.net 2ll.co 2loveyou.com +2lvj.com 2m2j.com 2m3m.com 2ma2.com 2mdn-cn.net -2mdn.net 2mjob.com 2mould.com +2mpq9iu440.com 2muslim.com 2o.cx 2or3m.com 2p.com 2pcdn.com -2pmob.com 2q10.com 2q3q15.com 2qsc.com 2qupu.com 2r3r.com -2rbda.icu 2rich.net -2s.tv -2s8s.com 2sdx.com 2sey.com -2sfpy.icu 2sjc.com 2sonar.com 2sx.net 2t58.com 2taobao2jd.com -2te.com 2tianxin.com 2tt.net 2tubaobao.xyz 2tx.com -2u3v4w5x6y.com 2ua2xqu.xyz 2umj.com 2urs.com 2ut7.com 2v8d.com +2v9t3xf9z2.com 2vfun.com 2w.ma 2weima.com @@ -3432,10 +3357,10 @@ 2y9y.com 2ychem.com 2yq.org -2yuan.org 2yuanyy.com 2yup.com 2yx8.com +2z96vx20bx.com 2zhan.com 2zhk.com 2zimu.com @@ -3466,7 +3391,6 @@ 301688.com 301cc.cc 301mba.com -301pk.com 3023.com 302302.xyz 303c.com @@ -3487,6 +3411,7 @@ 30sche.com 30th-feb.com 30w.co +31062gs7f9.com 310game.com 310s-2520.com 310tv.com @@ -3539,10 +3464,7 @@ 318jskyycq.com 318yishu.com 3198.com -31alu.com 31amjs.com -31bxg.com -31byq.com 31bzjx.com 31cg.com 31d.net @@ -3552,18 +3474,13 @@ 31food.com 31games.com 31gamestudio.com -31gcjx.com -31hgyq.com 31huiyi.com 31idc.com 31jc.com 31jf.com 31jgj.com -31jiaju.com -31jmw.com 31knit.com 31m49.com -31mada.com 31meijia.com 31ml.com 31mold.com @@ -3572,12 +3489,8 @@ 31pump.com 31rc.com 31rent.com -31seal.com 31sf.com -31spjx.com -31taoci.com 31travel.com -31up.icu 31wj.com 31xj.com 31xs.net @@ -3585,7 +3498,6 @@ 31yj.com 31yr.com 31zhi5f.xyz -31zscl.com 320921.com 320g.com 321.net @@ -3596,7 +3508,6 @@ 321ba.com 321cad.com 321cy.com -321dai.com 321fenx.com 321go.com 321key.com @@ -3613,8 +3524,6 @@ 3234.com 3235587.com 3237.com -324.com -32414.com 325802.net 3259.com 325999.com @@ -3627,9 +3536,9 @@ 328h.com 328vip.com 3290.com +32974z0361.com 32bm.cc 32cd.com -32cdn.com 32ka.com 32kan.com 32r.com @@ -3664,37 +3573,12 @@ 333333.org 3335665.com 33360.com -3336611.com -3336637.com -3336639.com -3336653.com -3336657.com 333666999.club -3336670.com -3336672.com -3336673.com 3336683.com -3336691.com -3337706.com -3337723.com 3337726.com -3337729.com -3337735.com -3337736.com -3337738.com -3337739.com -3337751.com 3337756.com -3337765.com -3337780.com -3337781.com 3337782.com -3337783.com -3337785.com 33380xl.com -3338808.com -3338863.com -3338877.com 333915.com 3339999.net 3339auto.com @@ -3709,7 +3593,6 @@ 333job.com 333ku.com 333rh.com -333wan.com 333y3.com 33442121.com 334433.xyz @@ -3719,7 +3602,6 @@ 3356666.com 3359.com 33591.com -336.com 3361.com 33655.net 3366.com @@ -3734,13 +3616,10 @@ 336woool.com 337000.com 337y.com -338336.com 3387.com 338888.net 3389dh.com -3393.com 33988.net -3399.com 33aml.com 33app.net 33bus.com @@ -3750,6 +3629,7 @@ 33ip.com 33iq.com 33jianzhi.com +33lc.com 33ly.com 33map.com 33map.net @@ -3759,13 +3639,13 @@ 33subs.com 33tool.com 33trip.com -33tui.com 33yq.com 34.com 340888.com 342200.com 342jinbo.com 34347.com +343480.com 34394.vip 345123.xyz 3454.com @@ -3799,7 +3679,6 @@ 3520.net 352200.com 3525.com -35284.com 353233.com 3533.com 353300.com @@ -3812,6 +3691,7 @@ 35666c.com 35667.com 3566t.com +356884.com 357.com 357global.com 358.com @@ -3830,13 +3710,11 @@ 35hw.com 35inter.com 35jk.com -35kds.com 35lz.com 35nic.com 35pic.com 35q.com 35sf.com -35vc.com 35xss.com 35zww.com 36-7.com @@ -3848,13 +3726,10 @@ 360-jr.com 360.com 360.net -3600.com 3600.net 3600d.com -3600du.com 360114.com 360118.com -3603.com 360424.com 360500.com 3608.com @@ -3863,9 +3738,10 @@ 360adlab.com 360adlab.net 360adlab.org -360ads.com +360aiyi.com 360anyu.com 360boclub.com +360bsafe.com 360buy.com 360buyimg.com 360buyinternational.com @@ -3885,11 +3761,15 @@ 360doc.com 360doc.net 360doc1.net +360doc11.net 360doc18.net 360doc2.net 360doc21.net +360doc22.net 360doc25.net 360doc30.net +360doc33.net +360doc35.net 360doc36.net 360doc37.net 360doc4.net @@ -3898,7 +3778,6 @@ 360doo.com 360down.com 360drm.com -360dunjiasu.com 360eol.com 360gann.com 360gem.com @@ -3918,7 +3797,6 @@ 360hyzj.com 360ic.com 360imgcdn.com -360in.com 360insurancemall.com 360jianzhu.com 360jie.com @@ -3928,7 +3806,6 @@ 360jrjietiao.com 360jrkt.com 360kad.com -360kaixin.com 360kan.com 360kcsj.com 360kj.net @@ -3956,6 +3833,7 @@ 360qikan.net 360qnw.com 360qws.com +360qyaq.com 360safe.com 360safedns.com 360sdn.com @@ -3963,10 +3841,13 @@ 360shouzhuan.com 360shuke.com 360shuoshuo.com +360sides.com +360sides.net 360simg.com 360sjrom.com 360sky.com 360so.com +360so.net 360sok.com 360sosou.com 360sou.com @@ -3989,6 +3870,7 @@ 360underwear.com 360uu.com 360vcloud.com +360vcloud.net 360vrzy.com 360webcache.com 360weizhan.com @@ -4035,7 +3917,6 @@ 361zhao.com 362.cc 36267.vip -362728tdg.com 363.com 363.net 363120.com @@ -4046,7 +3927,6 @@ 364000.com 364365889.com 365.com -36500.com 36500.net 365128.com 365135.com @@ -4069,7 +3949,6 @@ 365cego.com 365cgw.com 365chanlun.com -365che.net 365chiji.com 365css.com 365cyd.com @@ -4080,7 +3959,6 @@ 365diandao.com 365digitalonline.com 365ditu.com -365dmp.com 365editor.com 365eme.com 365essay.com @@ -4101,7 +3979,6 @@ 365j.com 365jia.com 365jiankang.com -365jiating.com 365jilin.com 365jq.com 365jw.com @@ -4136,7 +4013,6 @@ 365tvip.com 365vip.com 365world.com -365xiaoyanzi.com 365xiazai.com 365xs.la 365xuet.com @@ -4186,24 +4062,21 @@ 36dianping.com 36dj.com 36dong.com -36gv.com 36hjob.com 36jr.com 36kr.com 36kr.net 36krcdn.com 36krcnd.com -36nl.com 36pnes36t0qs.com 36qp.com 36tw.com 36ve.net -36wan.com 36yc.com +36zpp.com 37.com 37021.com 370fd.com -370jj.icu 371.com 371.net 3710167.com @@ -4213,7 +4086,6 @@ 371love.com 37201.com 3721520.com -3721zh.com 3722.com 37274.com 3733.com @@ -4224,35 +4096,28 @@ 373net.com 373yx.com 37439.com -375772rug.com -375buy.com 3761.com 37937.com -3798.com 379art.com 379bst.com 37biao.com 37bjw.com 37cos.com -37cs.com 37cu.com 37cy.com 37dh.com 37game2.com 37gjw.com 37gogo.com -37gowan.com 37hr.com 37k.com -37kx1.com 37laboratory.com 37med.com 37pps.com -37see.com 37su.com +37swan.com 37tang.com 37tgy.com -37wan.com 37wan.net 37wan.one 37wanimg.com @@ -4290,13 +4155,11 @@ 38735.vip 387764.com 388155.com -3887.com 388g.com 3892222.com 3899.net 38999h.vip 38blog.com -38c99.com 38ejed.com 38film.com 38hack.com @@ -4305,7 +4168,6 @@ 38hzt.com 38ljkoi.xyz 38mhw.com -38ra.com 38xs.com 38zp.com 39.com @@ -4321,7 +4183,6 @@ 394394.com 3952j.com 39655.com -3975.com 3975ad.com 3975ad.xyz 3975app.com @@ -4329,8 +4190,6 @@ 3977s.com 3987.com 3993.com -399493.com -39969.club 399s.com 39amjs.com 39ask.net @@ -4346,12 +4205,10 @@ 39hd.com 39health.com 39jks.com -39jz.com 39kan.com 39kf.com 39meitu.com -39mob.com -39nw.com +39nj8382uq.com 39shubao.com 39shuwu.com 39sk.com @@ -4362,8 +4219,6 @@ 3a3b3c.com 3a4.net 3a4b5c.com -3a5a.com -3adtjg.com 3ait.com 3alv.com 3aok.com @@ -4382,6 +4237,7 @@ 3cjob.com 3conline.com 3cpp.org +3cqhv.com 3ct.cc 3d-chips.com 3d-gold.com @@ -4408,7 +4264,6 @@ 3dhoo.com 3dinlife.com 3djulebu.com -3dkk.com 3dkunshan.com 3dllc.cc 3dllc.com @@ -4432,7 +4287,6 @@ 3dtvbits.org 3dtzg.com 3dwebyx.com -3dwwwgame.com 3dxt.com 3dxuan.com 3dxy.net @@ -4458,14 +4312,12 @@ 3gifs.com 3glasses.com 3gmfw.com -3gmimo.com 3gogogo.com 3gosc.com 3gpk.net 3gqqw.com 3gsdxu.com 3gsou.com -3gu.com 3gus.com 3gwoool.com 3h.com @@ -4475,11 +4327,9 @@ 3haovip.com 3healthcare.com 3heyun.com -3hgui.com 3hhinvestment.com 3hmedicalgroup.com 3hmlg.com -3i2i.com 3incloud.com 3ins.net 3j3f.com @@ -4509,6 +4359,7 @@ 3lengjing.com 3lmeter.com 3lsoft.com +3m099cey43.com 3mbang.com 3mh0yvx.com 3miao.net @@ -4519,13 +4370,16 @@ 3n1b.com 3nbb.com 3nfood.com -3p8801.co +3ny8.com 3piaochong.com 3png.com 3polar.com 3poo.com 3pw.net 3q2008.com +3qdu.com +3qdu.net +3qdu.org 3qhouse.com 3qit.com 3qj.com @@ -4534,6 +4388,7 @@ 3quan.com 3qwe.com 3qzone.cc +3r5y.com 3rcd.com 3renhe.net 3renwx.com @@ -4544,7 +4399,6 @@ 3s.work 3s001.com 3s78.com -3sas.icu 3scard.com 3see.com 3sjt.com @@ -4579,8 +4433,8 @@ 3wft.com 3wka.com 3wmm.com -3wtuan.com 3wyk.com +3x6gr4f829.com 3x7.com 3xgd.com 3xiaoniao.com @@ -4590,11 +4444,11 @@ 3xyg.com 3y7h.com 3yakj.com -3ygww.com 3yoqu.com 3yt.com 3yt.la 3yun.net +3ywepvs8n1.com 3yx.com 3zbsy.com 3zhijk.com @@ -4639,7 +4493,6 @@ 4006339177.com 4006510600.com 4006631958.com -4006681092.net 4006695539.com 4006758160.com 4006787252.com @@ -4656,6 +4509,7 @@ 4008000000.com 4008005216.com 4008075595.com +4008100800.com 4008103103.com 4008107107.com 4008109886.com @@ -4667,6 +4521,7 @@ 4008618618.com 4008787706.com 4008800016.com +4008824365.com 4008863456.com 4008880999.com 4008880999.net @@ -4676,7 +4531,6 @@ 4009515151.com 4009870870.com 4009991000.com -4009997658.com 400cx.com 400dianhua.com 400gb.com @@ -4690,8 +4544,6 @@ 400taocan.com 400vv.com 400web.com -400zi.com -401aww.com 4020.la 40407.com 404886.com @@ -4699,12 +4551,13 @@ 404wan.com 404youxi.com 405400.com -4056qp.com 406yx.com 407wan.com 4080517.com 408399.com 408399.net +40images10.com +40images8.com 40manhua.com 40sishi.com 40xk.com @@ -4714,16 +4567,13 @@ 41188.com 411au.com 41324.com -4135.com 413xkyd.com 414500.net -415677.com 417628.org 4177.com 41818.net 419600.com 41game.com -41grk.icu 41gw.com 41huiyi.com 41ms.com @@ -4736,14 +4586,10 @@ 42353.com 423down.com 4241x.com -42422277.com -4242jj.com 4243.net -424659.com 425300.co 425yx.com 426.ltd -426g.com 4275.com 429006.com 42how.com @@ -4792,6 +4638,7 @@ 4399youxi.com 4399yyy.com 43cv.com +43dj.com 43ns.com 43xs.com 43yl.com @@ -4803,7 +4650,6 @@ 44460.com 444888qq.com 44552121.com -44629.com 4473n.com 44749.net 4480.cc @@ -4812,6 +4658,7 @@ 44983.com 44h.co 44hr.com +44iuno85gr.com 44jj.com 44pq.cc 44vs.com @@ -4849,10 +4696,12 @@ 4658271.com 46644.com 46771313.com +4687794fd9.com 46940.vip 4694393.com 46cdn.vip 46mlsv.com +46ny920931.com 46ps.com 46xs.com 47291.com @@ -4864,17 +4713,16 @@ 47473.com 474b.com 4765.com -477150.net 4779.com 47819.com 47daili.com 47gs.com +47oupy0408.com 47rq.com 47test.com 47zu.com 48.com 4805555.com -480image.com 48455m.com 4846.com 4848360.com @@ -4897,7 +4745,6 @@ 49644913.com 497-img.com 497.com -4973.me 498.net 499-img.com 499n.com @@ -4906,8 +4753,8 @@ 49ko.com 49ms.net 49pic.com +49r5eoqrd2.com 49vps.com -49wanwan.com 49xia.com 49you.com 49yu.com @@ -4916,16 +4763,15 @@ 4anet.com 4apx.com 4aqq.com -4bfx0u.com -4ce.fun +4c5p021888.com 4ci.cc 4cm.cc 4cnzz.com 4cola.com 4cun.com -4cx5.icu 4dai.com 4db.com +4do71q84l1.com 4dtime.com 4dwan.com 4ee.ee @@ -4935,14 +4781,12 @@ 4f61.com 4f89.com 4fang.net -4fs3r.icu 4fuyj3.com 4ggogo.com 4gh6.com 4glte.org 4gqp.com 4gtoefl.com -4h44.com 4h6s.com 4hgame.com 4hii.net @@ -4951,21 +4795,18 @@ 4hpy.com 4humanknowledge.com 4inlook.com -4ir17.icu 4jplus.com +4juo2.com 4k123.com 4kbizhi.com 4kdesk.com 4kgood.com 4kgou.com 4kong.com -4ktop.com 4kya.com 4l.hk 4lzr.com 4ndwc.com -4oz4n.icu -4paradigm.com 4pf6hb.com 4pis.com 4pnt.com @@ -4974,20 +4815,20 @@ 4px.com 4pyun.com 4q5q.com -4q87v.icu 4qx.net +4s4c0dw764.com 4sai.com 4sender.com 4sender.net 4sjob.com 4sscrm.com -4t6u.icu 4tdf.com 4thetooth.com +4thworkshop.com 4to66.com +4u1mx79nlw.com 4u4v.net 4w8.net -4wad.com 4xiaoshuo.info 4xseo.com 4xx.me @@ -4998,7 +4839,6 @@ 4yx.com 4zt.com 5-link.com -5-love-0.com 50-jia.com 500.com 5000.com @@ -5022,11 +4862,11 @@ 5011.net 501h.com 501wan.com +5026p06ot6.com 503118.com 50331.net 5033333.com 503error.com -504pk.com 5054399.com 5054399.net 505gg.com @@ -5035,6 +4875,7 @@ 506fhq.com 506u5nf5j5.com 50747.com +508hdsys.com 508mallsys.com 508sys.com 50970.com @@ -5043,13 +4884,11 @@ 50pk.com 50pkpk.com 50sht.com -50union.com 50vm.com 50xiao.com 50yc.com 50yin.com 50yu.com -50zera.com 50zi.com 50zw.co 50zw.net @@ -5058,7 +4897,6 @@ 51-visa.com 51.am 51.com -51.la 51.net 5100.net 510560.com @@ -5084,8 +4922,6 @@ 5120.com 5120bb.com 51230.com -51240.com -512612.com 51269017.com 51298888.com 512test.com @@ -5094,7 +4930,6 @@ 5132.com 513337.com 5137.cc -5137395ccc.com 51386.com 5138zhuan.com 513zp.com @@ -5165,18 +5000,15 @@ 5187g.com 5188.com 5188jc.com -5188yy.com -518ad.com 518doc.com +518h48fwg6.com 518yp.com -519397.com 51969.com 51985.net 5199.cc 5199.com 5199yx.com 51a.co -51ads.com 51aimei.com 51aiwan.com 51app.com @@ -5215,7 +5047,6 @@ 51bonli.com 51book.com 51boshi.net -51boxian.cc 51bras.com 51bsi.com 51bushou.com @@ -5337,7 +5168,6 @@ 51finace.com 51findwork.com 51fire.xyz -51fishplace.com 51fl.com 51flacmusic.com 51fpg.com @@ -5351,6 +5181,7 @@ 51g3.com 51g3.net 51g4.com +51gaifang.com 51gamecard.com 51ganjie.com 51gaoji.com @@ -5364,11 +5195,9 @@ 51golife.com 51gonggui.com 51goods.vip -51google.com 51gouke.com 51gowan.com 51gox.com -51gpt.com 51gran.com 51grb.com 51grfy.com @@ -5380,6 +5209,7 @@ 51gzgk.com 51h.co 51h5.com +51hailang.com 51hanghai.com 51hangkong.com 51haofu.com @@ -5458,7 +5288,6 @@ 51kanong.com 51kanxi.com 51kaola.net -51kaowang.com 51kaxun.com 51kehui.com 51kf100.com @@ -5471,7 +5300,6 @@ 51kupin.com 51kywang.com 51la.ink -51la.net 51labour.com 51laibei.com 51laiqiang.com @@ -5485,10 +5313,10 @@ 51lg.com 51lianying.com 51lingji.com -51link.com 51liucheng.com 51losangeles.com 51lrc.com +51lstt.com 51lucy.com 51lxrc.com 51lzr.com @@ -5522,6 +5350,8 @@ 51mrp.com 51msc.com 51mta.com +51nearby.com +51newsapp.com 51niux.com 51nod.com 51nwt.com @@ -5563,7 +5393,6 @@ 51qingjiao.com 51qinxue.com 51qixing.net -51qnews.com 51qqt.com 51qtg.com 51qub.com @@ -5576,6 +5405,7 @@ 51rcsl.com 51read.site 51recovery.com +51relaw.com 51rencai.com 51render.com 51renpin.com @@ -5583,7 +5413,6 @@ 51rong.com 51room.com 51rp.com -51rrkank.com 51rry.com 51rumo.com 51rxzc.com @@ -5633,7 +5462,6 @@ 51sutong.com 51sytx.com 51szhk.com -51taifu.com 51talk.com 51talkenglish.com 51tanbao.com @@ -5726,7 +5554,6 @@ 51xianwan.com 51xiaohua.com 51xiaolu.com -51xie.com 51xingjy.com 51xinhu.com 51xinyuan.com @@ -5744,7 +5571,6 @@ 51xxsp.com 51xxziyuan.com 51y5.com -51y5.net 51yabei.com 51yajk.com 51yangsheng.com @@ -5757,6 +5583,7 @@ 51ying.net 51yip.com 51ykb.com +51ym.me 51ymxc.com 51ynedu.com 51yonggao.com @@ -5768,7 +5595,6 @@ 51ys.com 51ytg.com 51yuansu.com -51yue.net 51yuepin.com 51yueqian.com 51yugou.com @@ -5810,7 +5636,6 @@ 520.com 520.net 520038.com -5200dyw.com 5200tv.com 520101.com 520520520520520.com @@ -5836,7 +5661,6 @@ 520love520.com 520lpy.com 520meiwen.com -520met.com 520mingmei.com 520mojing.com 520ok.net @@ -5883,22 +5707,17 @@ 524399game.com 525.life 525069.com -5251.net -5251888.com 5251yx.com 5252b.com 5253.com 5258.net 5258da.com -525cm.com 525zb.com 525zf.com 526183.com 526266.com 526537.xyz 52676.com -5269120.com -526d.com 526net.com 527100.com 52733999.com @@ -5918,7 +5737,6 @@ 52884.vip 52892.com 528day.com -5293.com 52969.com 52ai.com 52ali88.com @@ -5959,6 +5777,7 @@ 52dangong.com 52debug.net 52design.com +52desk.com 52dian.com 52dianbo.com 52digua.com @@ -6028,7 +5847,7 @@ 52kan.vip 52kanxiaoshuo.com 52kd.com -52kdm.com +52kejian.com 52kfly.com 52leho.com 52liaoshen.com @@ -6124,7 +5943,6 @@ 52tzs.com 52udl.com 52vps.com -52vr.com 52w.co 52wana.com 52wanh5.cc @@ -6134,7 +5952,6 @@ 52wmb.com 52wower.com 52wubi.com -52wyb.com 52xcyx.com 52xianbao.com 52xiaoshuowang.com @@ -6142,7 +5959,6 @@ 52xinyou.com 52xitong.com 52xiuxian.com -52xiyou.com 52xsj.com 52xuexi.net 52xydl.com @@ -6165,6 +5981,7 @@ 52ywp.com 52yxyx.com 52yyxk.com +52z.com 52zhaopin.com 52zhifu.com 52zixue.com @@ -6176,7 +5993,6 @@ 52zzl.com 530.co 5300tv.com -530311.com 5306.com 5308999.com 53111xx.com @@ -6189,7 +6005,6 @@ 533.com 53326.com 5334.com -5336767ccc.com 5338.org 533y.com 53431.com @@ -6204,19 +6019,15 @@ 53797.vip 5379yx.com 537a.com -537images1.com 537images13.com -537images2.com 537images20.com 537images22.com -537images4.com 537images5.com 537images7.com 538618.com 53920.net 5395.com 539831.vip -5399.com 53ai.com 53chewu.com 53dns.com @@ -6225,7 +6036,6 @@ 53ee.com 53info.com 53iq.com -53kf.com 53miji.com 53nic.com 53r.com @@ -6250,7 +6060,6 @@ 545600.com 545c.com 546709.cc -547600.net 5499.com 5499ok.com 54ak.com @@ -6264,7 +6073,6 @@ 54im.com 54jkw.com 54job.com -54kefu.net 54ks.com 54lol.com 54maimai.com @@ -6283,7 +6091,7 @@ 54yt.net 54yuqing.com 55.cc -55.la +55.com 5500w.com 550400.com 550416.com @@ -6303,26 +6111,22 @@ 5551557.com 5552200.com 55552121.com -5555443.com 55555.io 55555432.com 55555558.com 555bb666cc.com 555bb888bb.com 555bb999ww.com -555dg.com 555dyds.com 555edu.net 555gk.com -555ppp777ppp.com +555tg6s98w9d8sw.com 555yst.com 5566.net -5566x.com 5567.me 556z.com 557.net 55706.com -55726zubo56686.com 55749.net 5577.com 558.com @@ -6333,6 +6137,7 @@ 55935.vip 5599.com 5599.net +55bbs.com 55dai.com 55dian.com 55doc.com @@ -6348,11 +6153,9 @@ 55idc.com 55it.com 55jisu.com -55k.co 55kantu.com 55kk.net 55la.com -55lu.com 55r5.com 55shantao.com 55tour.com @@ -6381,14 +6184,11 @@ 56506666.com 5654.com 565656.com -565882.com 56597.vip -5669.com 566job.com 56711.com 5676.com 567909.xyz -5679abb.com 567idc.com 568.com 5684.com @@ -6399,6 +6199,7 @@ 5694.com 5698415.com 56a.com +56admin.com 56ads.com 56beijing.org 56bid.com @@ -6420,6 +6221,7 @@ 56gk.com 56hb.com 56home.org +56idc.com 56img.com 56img.net 56imgs.com @@ -6431,6 +6233,7 @@ 56md.com 56ml.com 56mp.com +56nb6oo06g.com 56products.com 56qq.com 56shangpu.com @@ -6451,10 +6254,9 @@ 5710266.com 571400.net 571xz.com -573569djd.com +57273vy9x0.com 57357.vip 5755.com -57573zubo36833.com 576.com 57608.com 57616.com @@ -6506,7 +6308,6 @@ 582hr.com 583316.com 583go.com -585227ybn.com 58553v.com 5858.com 5858xs.com @@ -6516,14 +6317,12 @@ 5867yh.com 586jz.com 5884.com -588589.com 5888.tv 588988.net 588991.com 588art.com 588ku.com 588tao.com -588yw.com 588z.com 58921.com 589465113.com @@ -6555,7 +6354,6 @@ 58ganji-corp.com 58ganji.com 58ghost.com -58hexiang.com 58hua.com 58ib.com 58insure.com @@ -6579,10 +6377,9 @@ 58q8.com 58qz.com 58school.com -58shuz.com +58shangban.com 58supin.com 58task.com -58tg.com 58touxiang.com 58trz.com 58ubk.com @@ -6634,17 +6431,13 @@ 5923d.com 592xyx.com 592zn.com -59313313.com 59370.com 5945i.com 5947.net -595.com -5951835ccc.com 59519.com 595818.com 59598.com 595dlxzbanone.com -595image.com 595image.vip 595led.com 596fc.com @@ -6653,17 +6446,16 @@ 597mm.com 597rcw.com 59852.vip -59881.com 59888888.xyz 599.com 5999.tv -5999218ccc.com 599ku.com 599x.com 59b2b.com 59baike.com 59di.com 59dun.com +59ec5453559f0.streamlock.net 59hi.com 59iedu.com 59iwh.com @@ -6684,7 +6476,6 @@ 5adanci.com 5adanhao.com 5ag.net -5aidoc.com 5aivideo.com 5aixia.com 5aiyoo.com @@ -6695,9 +6486,10 @@ 5axxw.com 5baike.com 5ber.com +5bite.com 5biying.com 5bjm.com -5brxi.icu +5c3639aa99149.streamlock.net 5ccic.com 5cda.com 5ce.com @@ -6713,6 +6505,7 @@ 5ddd.com 5dfp.com 5dfsd2.com +5dgbgv941b.com 5dgz.com 5ding.com 5djbb.com @@ -6724,7 +6517,6 @@ 5eplay.com 5eplaycdn.com 5er0.com -5etv.com 5etz.com 5ewin.com 5fen.com @@ -6735,7 +6527,6 @@ 5gcdnx.com 5gimos.com 5gjoy.com -5glianc.com 5guanjianci.com 5gwan.com 5gxsd.com @@ -6744,9 +6535,7 @@ 5gzm.net 5h.com 5had0w.com -5hhyu.com 5hoom.com -5hte21mz.com 5i.com 5i366.com 5i591.com @@ -6798,7 +6587,6 @@ 5imx.com 5imxbbs.com 5iops.com -5ip9.com 5ipatent.com 5ipkwan.com 5ips.net @@ -6812,7 +6600,6 @@ 5iyq.com 5iyuyan.com 5izzy.com -5j.com 5jingcai.com 5jinzhishu.com 5jjdw.com @@ -6824,6 +6611,7 @@ 5k.work 5k58.com 5k5m.com +5ka30l5885.com 5kaixin.net 5kbox.com 5kcrm.com @@ -6837,18 +6625,17 @@ 5lux.com 5m5m5m.com 5mapk.com -5mltq.icu 5mouse.com 5mu.com 5nd.com 5nexus.com 5nnj.com 5ooq.com +5p8p3p.com 5pao.com 5pb.net 5pk.com 5plus1.net -5pub.com 5q.com 5qm5s.net 5qwan.com @@ -6883,8 +6670,8 @@ 5u18.com 5u3d.com 5u5u5u5u.com -5u941.com 5uchina.com +5uec9e3sj2.com 5umao.com 5upm.com 5usport.com @@ -6899,10 +6686,10 @@ 5w5w.com 5waihui.com 5wanpk.com -5wapp.com 5web.site 5wx.org 5wxw.com +5x2a.com 5x54.com 5xcg.com 5xiaobo.com @@ -6916,8 +6703,8 @@ 5yhua.org 5ykj.com 5you.cc +5you.com 5youchou.com -5z2oy.icu 5zai.com 5zd.com 5zg.com @@ -6927,9 +6714,11 @@ 5zy.net 6-china.com 6.biz +6.mms.vlog.xuite.net 600064.com 600083.com 600086.com +6000f6l4n8.com 6000feet.com 600146.net 600200.com @@ -6959,10 +6748,8 @@ 605dns.com 605zy.co 60606161.com -60608787.com 6066888.com 607.tv -6071.com 6073168.com 607images16.com 607images2.com @@ -6970,9 +6757,7 @@ 608.vip 6080d.com 6090400.com -609623.com 60986.com -609999.xyz 60dj.com 60kan.com 60mil.com @@ -6988,20 +6773,16 @@ 61029.com 6104.tv 6112.com -61165.com 611qk.com 611res.com -612.com 612345.com 612459.com 6137.net -6151498.com 6153.cc 61611.net 6163.com 6164.com 61658.com -61677.com 61677w.com 6168511.com 616pic.com @@ -7047,27 +6828,24 @@ 62126tt.com 62212366.com 6222251.com -62462.vip 624down.com 62669.com 626x.com 628.com -628536nyv.com +628c4.com 62923.vip 629973.com 62dns.com 62game.com -62h.site 62l.net 62ma.com 62wy.com -62zd0.icu 6300.net 630book.cc 630book.co 630book.com +630read.com 630zw.org -6318537ccc.com 631r.xyz 63243.com 632news.com @@ -7087,19 +6865,14 @@ 63diy.com 63fl.com 63jh.com -63jiuye.com -63kc.com 63pe.com 63u.net 63yx.com 63yy.com 640640.com -64090909.com 641.com 642online.com 64365.com -644446.com -64518.com 645250.net 6453.net 64538.net @@ -7117,9 +6890,10 @@ 64gua.com 64ma.com 64mv.com +64oak78y99.com 64pay.com +64ptd74095.com 6501111.com -650y.com 65119.com 651700.com 654320.com @@ -7147,7 +6921,6 @@ 66152.com 66168.net 6617.com -6617398ccc.com 66173yx.com 662city.com 662p.com @@ -7159,6 +6932,7 @@ 663jx.com 66446200.com 66460.com +6655.com 6655.la 66580.com 6660333.com @@ -7171,25 +6945,18 @@ 66666.host 666666.host 66667aaa.com -66668aaa.com -66669aaa.com 6666ppt.com 6666sa.com 6666xsw.com 66688.photo -6669667.com -666aa777bb.com -666bb777ww.com +6668dns.com 666gps.com -666hh999gg.com 666idc.com 666j.com 666kuaishou.com 666kuaishou.net 666pic.com 666post.com -666ppp222ppp.com -666ppp888ppp.com 666scly.com 666shuwu.com 666wan.com @@ -7203,10 +6970,8 @@ 6677cq.com 6678net.com 66825.com -668559.com 6686.com 6688.com -66885aaa.com 668app.com 668cdn.cc 668cdn.xyz @@ -7223,7 +6988,6 @@ 669zw.com 66a.net 66call.com -66cn.com 66d6.com 66ds.net 66f.com @@ -7233,7 +6997,6 @@ 66huigo.com 66in.net 66jiedai.com -66kk82.com 66l.cc 66laws.com 66mi.com @@ -7257,7 +7020,6 @@ 66team.com 66to.net 66tv.tv -66u.com 66ui.com 66wc.com 66web.com @@ -7272,9 +7034,8 @@ 66zhuang.com 67.com 67017.com -6711.com 6711img.com -672g.com +671992tc08.com 6760x.com 67623.com 6763.loan @@ -7287,7 +7048,6 @@ 678869.com 67888.com 6788888.net -6789.net 6789che.com 6789g.com 6789sm.com @@ -7295,7 +7055,6 @@ 678edu.net 678ie.com 678py.com -678tiyu1.app 678vr.com 67az.com 67cha.com @@ -7309,6 +7068,7 @@ 67y.com 67yes.com 68.com +68.gy 68.vip 680.com 68120120.com @@ -7317,11 +7077,8 @@ 682.com 68211.com 6822.com -68287zubo85737.com -682891.com 6832123.com 6844.com -685wo.com 68606060.com 68659061.com 6868.com @@ -7332,7 +7089,6 @@ 6884981.com 6888.tv 688dns.com -688mob.com 688wz.net 68955.com 6895588.com @@ -7344,6 +7100,7 @@ 68ecshop.com 68eg.com 68gainian.com +68h5.com 68hanchen.com 68hlw.com 68hr.com @@ -7355,7 +7112,6 @@ 68u.co 68web.net 68websoft.com -68yscw.com 68zhan.net 68zixun.com 69.com @@ -7364,7 +7120,6 @@ 69260.com 692657.com 6934.net -693836.com 693975.com 69478.com 6949.com @@ -7375,7 +7130,6 @@ 695828.com 695ljg.com 696157.com -69688qp.com 69698689.com 69853.net 698wan.com @@ -7407,13 +7161,11 @@ 6bbk.com 6bdns.com 6c6c.com -6cc8cc.xyz 6cit.com 6cmap.com 6cnzz.com 6d4d5.com 6d4g.com -6d63d3.com 6d7d.com 6dan.com 6dbx.com @@ -7424,14 +7176,12 @@ 6duoyu.com 6eat.com 6edigital.com -6efgcdcjr000.fun 6fcsj.com -6ft8a.icu 6g5fd1a.com 6gh4.com 6ght.com 6glz.com -6gute.icu +6gz6h1ze8r.com 6hezb.com 6hgame.com 6hudong.com @@ -7441,13 +7191,13 @@ 6ie6.com 6ifang.com 6ivrkvu.xyz +6j7hf.com 6juzi.com 6k11.com 6k6g.com 6k9k.com 6ke.com 6kw.com -6kwan.com 6kxz.com 6l6.site 6laohu.com @@ -7461,13 +7211,16 @@ 6miii.com 6miu.com 6miu.net +6my575.com 6niu.com 6nm6.com 6our.com +6p7q8c3oa4.com +6pen.art 6pifa.net 6pingm.com 6puppy.xyz -6qyxeob.xyz +6q8a8.com 6r8c86z4jh.icu 6ren.com 6rencn.com @@ -7486,6 +7239,8 @@ 6tie.com 6tt.com 6tu.com +6twrte12ft.com +6u9muvn94m.com 6uudy.com 6v.com 6v6.work @@ -7496,6 +7251,7 @@ 6wwww.com 6wz.co 6x.studio +6x69f31vso.com 6xcdn.com 6xd.com 6xigema.com @@ -7509,9 +7265,11 @@ 6yxs.com 6yyy7.com 6z6z.com +6za0l6fjl0.com 6ze.net 6ziz.com 6zu.com +6zy37f4df2.com 7-11bj.com 7-che.com 7-meeting.com @@ -7519,15 +7277,14 @@ 7-vk.com 7-wx.com 7.biz -70.com 700618.com 70098.com +700chat.com 700kan.cc 700kan.com 700live.com 700megs.com 700mh.com -700ok.net 701.com 703804.com 70392.com @@ -7539,23 +7296,21 @@ 7089dd.com 7089gg.com 70cq.com -70dh.com 70dir.com -70e.com 70gm27345d.com 70jj.com 70ka.com 70mao.com +70pf2fj3sd.com 70ppt.com 70soft.com 70ym.com 70yx.com -71.am +71.am.com 71.net 7114.com 7116.com 7116dns.com -711983.com 711hospital.com 711pr.com 7120.com @@ -7563,6 +7318,7 @@ 71360.com 7139.com 71390.com +714.com 715083.com 715288.com 7152x.com @@ -7589,7 +7345,6 @@ 71edge.net 71edge.work 71elink.com -71gj.com 71go.com 71k.com 71lady.com @@ -7616,9 +7371,9 @@ 7210.com 7211.com 72177.com +7217kf2961.com 72287o.xyz 7230.com -7239618ccc.com 7239ll.net 724pride.com 724pridecryogenics.com @@ -7628,7 +7383,6 @@ 7273.com 7280.com 7298.com -7299tu75.cc 72byte.com 72ce.com 72crm.com @@ -7641,6 +7395,7 @@ 72en.com 72g.com 72gu.com +72h6hn4r3e.com 72home.com 72la.com 72link.com @@ -7662,7 +7417,6 @@ 7319n.com 73232yx.com 732732.com -73336zubo25326.com 734969.com 7360.cc 737.com @@ -7692,19 +7446,18 @@ 74dns.com 74hao.com 75.team -7508ss.cc 75111.com 75111.net 751116.com 75184.com 752562.com 75271.com +7534w8m16e.com 75367.com 75510010.com 756u.com 7574.com 75757.com -7577.cc 757dy.com 7580.ltd 75982.com @@ -7712,27 +7465,24 @@ 75ll.com 75n474.com 75pk.com +75team.com 75ww.com 75xn.com 76065.com 76107448.com 7618.com 761a.com -7631.com 7651.com -7654.com -765q.com 766.com 7663.com -766345.com 76676.com 76681f9610f175c6.com +766app.com +766er.com 766test.com 766z.com -7676.com 767qkdj34u.com 767stock.com -76802.net 76868.com 7688.net 76963.com @@ -7743,9 +7493,9 @@ 76dongdong.com 76ju.com 76lgg.com +76mz.com 76pay.com 76pf.com -76s.co 76y.com 76zu.com 77005163.xyz @@ -7773,7 +7523,6 @@ 77545.com 7756.org 77585.club -7759.com 775jia.net 776577.com 7766.info @@ -7782,16 +7531,16 @@ 777524.com 77772121.com 7777733.com -777aa999aa.com -777bb111ww.com 777bb555ww.com 777biubiu.com +777e.store +777eee888eee.com +777haoka.com 777lala.com 777moban.com 777sy.com 777xx888kk.com 777yh.am -777zz777zz.com 7788.com 7788js.com 7788sky.com @@ -7799,18 +7548,16 @@ 7789.com 778buy.com 7790.com -7794.com 7798.com 77991.com 7799520.com 779wan.com -77ad.cc 77bh.com 77bike.com 77bx.com +77cr0ip236.com 77dd23.com 77de.com -77dm.net 77dushu.com 77dyy.net 77ebooks.com @@ -7842,14 +7589,12 @@ 77zn.com 78.link 781203.com -782yx.com +782e2u6m99.com 78302.com 78360.net 78654321.com 7881.com -788111.com 788899.com -788b.com 788v.com 7890.net 78901.net @@ -7865,6 +7610,7 @@ 78ee.com 78fz.com 78gk.com +78h34.com 78hr.com 78k.pw 78md.com @@ -7877,7 +7623,6 @@ 78zw.com 79-79.com 79.com -7914.cc 7927n.com 793360.com 793688.com @@ -7901,13 +7646,14 @@ 79u.com 79yougame.com 79yx.com +7a.cm 7a31jmf.com 7a8k.com -7aey.icu 7ahr.com 7analytics.com 7b2.com 7b3s1mgg9l.com +7bip9h1k5s.com 7c.com 7caiyun.com 7capp.com @@ -7919,7 +7665,6 @@ 7cxk.com 7cyn.com 7d5y.com -7dah8.com 7didc.com 7do.net 7down.com @@ -7932,17 +7677,17 @@ 7edown.com 7ee.com 7eka.com -7f7rt.icu +7eo8cc932r.com 7fei.com 7fgame.com 7flowers.com 7forz.com 7fresh.com -7gg.cc 7glb.com 7gongzhu.net 7gugu.com 7gz.com +7h1fg6b6kd.com 7hcn.com 7head.icu 7help.net @@ -7959,6 +7704,7 @@ 7jiaqi.com 7jjjj.com 7jk.com +7jsqnh.com 7juju.com 7junshi.com 7k35.com @@ -7977,7 +7723,6 @@ 7lw.com 7mah2.com 7mo.cc -7moor-fs1.com 7moor-fs2.com 7moor.com 7msj.com @@ -8001,6 +7746,7 @@ 7road.net 7ronggame.com 7runto.com +7rz37dp998.com 7sfashion.com 7sj.com 7sodu.net @@ -8012,7 +7758,6 @@ 7syc.com 7t9.com 7tapp.com -7tc.fun 7tenet.net 7tgame.com 7tnt.com @@ -8028,16 +7773,14 @@ 7wan.com 7wate.com 7wee.com -7wenku.com 7wenta.com 7wenyi.com -7wkw.com 7wnews.com 7wsh.com 7wsh.net +7wx3675l72.com 7x.cc 7x24cc.com -7x24s.com 7x688.com 7xdown.com 7xiuxing.com @@ -8051,6 +7794,7 @@ 7yuki.com 7yun.com 7yun.org +7yundns.com 7yz.com 7yzone.com 7zgame.com @@ -8063,7 +7807,6 @@ 8-008.com 8-host.com 80-go.com -80.com 80.hk 80000.cc 800086.com @@ -8128,7 +7871,6 @@ 809090.xyz 8090app.com 8090cdn.com -8090cqg.com 8090mt.com 8090st.com 8090vision.com @@ -8209,7 +7951,6 @@ 81guofang.com 81hongshi.com 81it.com -81js.net 81kx.com 81lcd.com 81man.com @@ -8223,7 +7964,6 @@ 81zw.in 81zw.la 8203app.com -8211.com 82137777.com 82158.com 8222.com @@ -8237,7 +7977,6 @@ 826pc.com 826wan.com 8276n.com -828239sam.com 828385vip.com 82859.com 8289880.com @@ -8259,21 +7998,16 @@ 8329607.com 833006.net 8336.com +833k5u23mb.com 83480900.com 835444.cc -835images.com -835images1.com -835images2.com 835images21.com 835images28.com 835images3.com -835images4.com 835images48.com 835images6.com 83661111.net 83666.com -83692.com -837165.com 83753751.com 8379888.com 838.cc @@ -8284,16 +8018,18 @@ 83990567.com 83edu.net 83h87d.com +83iiq501o2.com 83kxs.com +83mo7n9giq.com 83x.cc 84.com 84.vc 84008.com 8421.com -84232.com 84308.com 84399.com 844222.com +84460yhh7t.com 844wan.com 84519.com 84560262.xyz @@ -8303,7 +8039,6 @@ 848.tv 8487x.com 848d.com -849558.com 84bus.net 84fk.com 84ju.com @@ -8325,18 +8060,17 @@ 85657777.com 85679999.com 857yx.com +857zb1.tv 85814.com 85880234.com 858game.com 859680.com 85jk.com 85kf.com -85un.com 85wp.com 85xt.com 86-755.com 86-import.com -86.cc 860029.com 86030.bid 860527.com @@ -8351,7 +8085,6 @@ 86262.com 8633.com 863535.com -863my.com 863soft.com 864956.com 864973.com @@ -8383,7 +8116,6 @@ 86eh.com 86eye.com 86fis.com -86fm.com 86fsp.com 86game.com 86gc.net @@ -8431,7 +8163,6 @@ 872872.com 87573.org 8767.com -876920.com 876web.com 8770000.com 8775.com @@ -8463,8 +8194,6 @@ 88106.com 88116008.com 8811777.com -88157.cc -8817.com 8821.com 8825.com 8828dl.com @@ -8473,7 +8202,6 @@ 8831398.com 88321268.com 88360.com -88362zubo95838.com 8838sl.com 883dai.com 8842777.com @@ -8485,7 +8213,6 @@ 885.com 8850006.com 885210.net -8855.org 88582.com 8858924.com 8860.net @@ -8509,7 +8236,6 @@ 888608.xyz 88880809.com 88883aaa.com -88885aaa.com 88887777.com 8888800000.com 88888aaa.com @@ -8518,24 +8244,21 @@ 888abc333abc.com 888ban.com 888bb111ww.com -888bb555ww.com -888bb666cc.com 888bb888ww.com 888chem.com +888eee777eee.com 888jiagong.com 888pic.com 888ppt.com 888rj.com 888s.net 888twt.com -888xx222kk.com 888xx666kk.com 8890.com 8890tu.com 8896.com 88966.net 8899.net -88993aaa.com 88995799.com 88999.com 889995.cc @@ -8557,11 +8280,11 @@ 88j84.com 88k.site 88koo.com +88la.cc 88la.la 88lan.com 88laser.com 88lianmengtu.com -88lmfff666.com 88lot.com 88meishi.com 88mf.com @@ -8569,8 +8292,6 @@ 88order.com 88pets.com 88popo.com -88r8.net -88rpg.net 88sup.com 88sus.com 88tang.com @@ -8584,9 +8305,7 @@ 88zha.com 88zjzy.com 89006006.com -890360.com 8910.io -8910.la 89178.com 892qipai.com 89303.com @@ -8595,13 +8314,9 @@ 89609335.com 8961zx.com 896qipai.com -897263tqs.com -8979.com 898.travel -898744.com 8989118.com 8989jt.com -8989u.com 8999.cc 899973.cc 89dj.com @@ -8611,8 +8326,6 @@ 89uu.com 8a.hk 8ah.cc -8ail6.icu -8ao8ao.com 8aza.com 8b2.net 8bb.com @@ -8622,7 +8335,6 @@ 8btc.com 8btm.com 8cname.com -8cnd.com 8cnet.com 8ddao.com 8dei.com @@ -8630,11 +8342,9 @@ 8dn.com 8dol.com 8dou.com -8dp.net 8dream.net 8dt.com 8dudata.com -8duoduo.com 8dus.com 8dwww.com 8e8z.com @@ -8642,20 +8352,24 @@ 8faa7.com 8fe.com 8fenxiang.com +8ft6h20ivn.com 8ggq.com 8gl.com +8gn2i0i5fc.com 8gov.com -8gra3.icu 8gui.com 8gyu.com +8h15725mm7.com 8hgame.com 8hsleep.com +8hy7q32i4q.com 8i.ink 8jdns.net 8jiaoye.com 8jie8.com 8jxn.com 8jzw.cc +8k5lu58221.com 8k7k.com 8kana.com 8kjl34x2gj08.com @@ -8667,16 +8381,15 @@ 8kzw.com 8l8e.com 8lag.com -8le8le.com 8letian.com 8lhx.com 8liuxing.com 8lj.cc -8lk.com 8llp.com 8lun.com 8m8t.com 8mcn.com +8mcp6.com 8mhh.com 8mi.tech 8minzk.com @@ -8693,9 +8406,10 @@ 8pig.com 8pingce.com 8pu.com -8q88n.icu 8qwe5.com 8qzy.com +8r9t8.com +8rlq38736p.com 8s123.com 8shop.cc 8so.net @@ -8709,6 +8423,7 @@ 8twan.com 8u18.com 8u58.com +8u7q5l9gox.com 8ug.icu 8uid.com 8uyx.com @@ -8719,6 +8434,7 @@ 8wiu.com 8wq.com 8wss.com +8wvlk.com 8wym.com 8x6x.com 8xj.org @@ -8730,7 +8446,6 @@ 8ytech.com 8yx.com 8z.net -8zhou.wang 8zhuayu.cc 8ziben.com 8zntx.com @@ -8738,6 +8453,7 @@ 9-xin.com 9-zhuce.com 9.biz +900.la 900.vc 9000wy.com 900112.com @@ -8747,7 +8463,6 @@ 900yi.com 90123.com 9018.net -90370.com 90576.com 90686.com 906you.com @@ -8759,6 +8474,7 @@ 90edu.com 90ers.com 90ko.net +90kuai.net 90lhd.com 90qh.com 90sheji.com @@ -8777,12 +8493,10 @@ 91084.com 910app.com 910play.com -911.cc 9111.tv 91118.com 91160.com 9118fu.com -911yao.com 911zy.com 912355.com 912366.com @@ -8800,7 +8514,6 @@ 913vr.com 913you.com 91472.com -915.com 915.tv 9154wan.com 91558.com @@ -8882,9 +8595,9 @@ 91health.net 91hecheng.com 91hmi.com +91https.com 91huayi.com 91huayi.net -91hui.com 91huifu.com 91huoke.com 91huola.com @@ -8921,16 +8634,13 @@ 91lda.com 91leju.net 91lewei.com -91liangcai.com 91listen.com 91lsf.com 91lx.com -91m.cc 91m.co 91maibiao.com 91maths.com 91meitu.com -91mh.me 91miaoshou.com 91muzhi.com 91ninthpalace.com @@ -8967,10 +8677,9 @@ 91suke.com 91switch.com 91syun.com -91taojin.com 91taoke.com -91testing.net 91ting.net +91tm45tzyb.com 91toolbox.com 91tty.com 91tw.net @@ -8980,7 +8689,6 @@ 91vst.com 91waijiao.com 91waitang.com -91wan.com 91wangcai.com 91wangyx.com 91way.com @@ -8988,7 +8696,6 @@ 91weimi.com 91wenmi.com 91wenwen.net -91wink.com 91wllm.com 91wri.com 91wujia.com @@ -9018,6 +8725,7 @@ 91yoyo.net 91yu.com 91yuedu.com +91yunxiao.com 91yunying.com 91yxbox.com 91yxl.com @@ -9075,6 +8783,7 @@ 92mtnnn.com 92nas.com 92ni.com +92oz46nne1.com 92scj.com 92shuoshuo.com 92sucai.com @@ -9103,33 +8812,20 @@ 934dsw.com 934hd.com 9355.com -935676yfc.com 93636.com -93692zubo66936.com 936u.com 937-2.vip 937-3.vip 937-6.vip -9377.com -937791.com 9377a.com -9377aa.com -9377co.com 9377d.com 9377df.com 9377g.com -9377hi.com 9377j.com 9377ja.com -9377ku.com -9377ne.com -9377os.com -9377s.com 9377si.com 9377z.com -9380.com 93913.com -939394.xyz 93966.com 93bok.com 93eu.com @@ -9145,6 +8841,7 @@ 93sdk.com 93sem.com 93soso.com +93trf.com 93ty.com 93tyy.com 93wgames.com @@ -9168,10 +8865,10 @@ 9466.com 94831.com 948hj.com +949047l1jr.com 9495.com 94994.com 949949.com -94ab.com 94ad.com 94afx.com 94cb.com @@ -9182,8 +8879,8 @@ 94he38.com 94i5.com 94ip.com +94kuai.com 94mxd.com -94nw.com 94php.com 94q.com 94qy.com @@ -9199,8 +8896,8 @@ 95007.com 95013.com 95021.com -95081.com 950901.com +95095.com 95105105.com 95105369.com 95105555.com @@ -9213,10 +8910,10 @@ 95169.com 95191.com 95195.com -951dns.com 95262.com 9527cha.com 9527cloud.com +9527dns.com 9527g.com 95303.com 95311.com @@ -9243,14 +8940,13 @@ 9560.cc 95600.vip 9564.com -9566180.com 9567.com +9574528ue9.com 95779.com 958358.com 9588.com 95890.com 9595111.vip -9596yy.com 95a.co 95b.co 95bd.com @@ -9284,7 +8980,6 @@ 961.com 9610.com 9611111.com -96138.net 96160.cc 96189.com 96189.tv @@ -9303,7 +8998,6 @@ 96355.com 96369.net 963695.com -96382zubo66756.com 963999.com 96459.com 964yx.com @@ -9318,14 +9012,12 @@ 96590.net 9663.com 9665.com -966504.com 966599.com 9665k.com 9665yx.com 9666666.com 9666sr.com 966799.cc -9669.com 966zlnfjuza4oloh2bk.app 96711jmbm.com 967680.com @@ -9336,7 +9028,6 @@ 968309.com 968550.com 9686000.com -968666.net 96877.net 968816.com 9688896.com @@ -9359,19 +9050,18 @@ 96lou.com 96ni.net 96pk.com -96rj.icu 96sdk.com 96sir.com 96weixin.com 96yx.com 96zxue.com -9700hg.com 970mhz.com 9718.com 9718game.com 9724.com 973216.xyz 97576.com +975bl.com 97616.net 976186.cc 97654.com @@ -9401,9 +9091,11 @@ 97lk.com 97lp.com 97lpw.com +97lrf0l3xa.com 97ol.com 97rp.com 97rx.com +97shenghuo.com 97sp.cc 97ting.com 97ui.com @@ -9414,12 +9106,11 @@ 97zm.com 98.com 98.ma -9800.com 980512.com 980cje.com -98158.com 98182.com 98187411.com +9823f7b9o6.com 9831428.com 984g.com 985.so @@ -9440,12 +9131,10 @@ 987dns.com 987you.com 98809.com -988878.com 98892.com 988sl.com 9891.com 989198.com -9898c.com 98a.ink 98cloud.com 98du.com @@ -9465,7 +9154,6 @@ 98t.net 98tang.com 98tsg.com -98vm.com 98w.co 98weixin.com 98xiaoshuo.com @@ -9494,13 +9182,13 @@ 99394.com 993h.com 99469.com +994t7px765.com 994wan.com 9950air.com 9951.cc 995120.net 99520.love 996.com -996.pm 9965dns.com 9966.com 9966.org @@ -9518,10 +9206,7 @@ 9981ypk.com 9982.com 99844666.com -99885aaa.com -99886aaa.com 99887w.com -99888aaa.com 998jk.com 998jx.com 998law.com @@ -9534,15 +9219,11 @@ 999777.com 9998.tv 99988866.xyz -99997aaa.com 99998aaa.com 99999dns.com -999aa666bb.com 999abc333abc.com 999ask.com -999bb222ww.com 999brain.com -999d.com 999inandon.com 999mywine.com 999shengqian.com @@ -9550,9 +9231,6 @@ 999welder.com 999wx.com 999xs.com -999xx333kk.com -999xx999kk.com -999zz333zz.com 99aiji.net 99aly.com 99bdf.com @@ -9569,7 +9247,6 @@ 99cloud.net 99corley.com 99danji.com -99ddd.com 99dingding.com 99down.com 99dushu.com @@ -9614,7 +9291,6 @@ 99mst.com 99music.net 99n.me -99nurse.com 99pdf.com 99ppt.com 99pto.com @@ -9647,7 +9323,6 @@ 99yunshi.com 99yx.com 99zihua.com -99zuowen.com 99zzw.com 9a9m.com 9ailai.com @@ -9656,7 +9331,6 @@ 9amts.com 9aoduo.com 9aola.com -9appstore.com 9b11b109-ab3d-4193-ac60-79cc19b3e76d.link 9beike.com 9bianli.com @@ -9681,7 +9355,6 @@ 9dida.net 9dinn.com 9douyu.com -9dreams.net 9droom.com 9duw.com 9dwork.com @@ -9715,6 +9388,7 @@ 9hier.com 9host.org 9hou.com +9ht.com 9huadian.net 9i0.com 9i0i.com @@ -9734,8 +9408,10 @@ 9iphp.com 9ishe.com 9ist.com +9iwanwan.com 9iwz.net 9ixf.com +9ixiuxiu.com 9j9y.com 9ji.com 9juewu.com @@ -9745,7 +9421,7 @@ 9ka.vip 9kcs.com 9kd.com -9kff.com +9khc0iv5n7.com 9kkk.xyz 9kld.com 9kus.com @@ -9753,6 +9429,7 @@ 9linux.com 9liuda.com 9longe.net +9m7v44974i.com 9man.com 9mayi.com 9miao.com @@ -9760,8 +9437,8 @@ 9nali.com 9newlive.com 9ngames.com -9nhao.com 9niu.com +9nj563358x.com 9now.net 9ok.com 9om.com @@ -9770,9 +9447,9 @@ 9open.com 9orange.com 9pinke.com -9pkw.com -9pt.net +9qd0wul789.com 9qu.com +9ria.com 9sb.net 9see.com 9sgx.com @@ -9798,27 +9475,22 @@ 9vf.com 9w1an.com 9w9.com -9wad.com 9wan8.com 9wanjia.com -9wee.com 9wee.net -9weihu.com 9wuli.com 9wwx.com 9wyy.com 9xdb.com 9xgame.com -9xiazaiqi.com 9xic.com 9xinli.com 9xiu.com 9xiuzb.com +9xo9.com 9xs.org -9xu.com 9xun.com 9xwang.com -9xxy.icu 9ya.net 9yao.com 9yaocn.com @@ -9850,50 +9522,43 @@ a-map.vip a-startech.com a-sy.com a-xun.com +a.xttv.top a0318.com a0598.com a0770.com a0ad.com a0bi.com -a0c77.com -a1.mzstatic.com a135.net a166.com -a1714.com a1789.com a18.ltd a1coin.xyz -a2.mzstatic.com +a1t2w1lzfr.com a2048.com a21fs.com a21yishion.com a2dongman.com -a2wx.icu -a3.mzstatic.com -a3p4.net -a4.mzstatic.com a48425084.com a4enwyh.xyz a4s6.com a4size.net -a5.mzstatic.com a5.net a5100.com a5399.com a5600.com a5b.cc -a5dv0ajhsghaahdhgd.com a5idc.com a5idc.net a5lt.com a5xiazai.com a5y.net a632079.me +a6h8.com a7.com a700in.ren a766.com a789.org -a7shun.com +a7nz4.us a8.com a8f947.com a8tg.com @@ -9901,14 +9566,12 @@ a8tiyu.com a8u.net a8z8.com a9188.com -a9377j.com a963.com a9market.com a9vg.com a9x9.com aa-ab.com aa-lsk.com -aa03010iiko.com aa152.com aa360.net aa43z7.com @@ -9919,7 +9582,6 @@ aa778899aa.com aa77kk.com aa8828.com aaalawfirm.com -aaalian.com aaalogisticsgroup.com aaareplicawatch.com aaayu.com @@ -9933,8 +9595,6 @@ aad5.com aadcloud.com aadongman.com aads-cng.net -aafanke.cc -aafns.xyz aafxw.com aakss.com aakvtsad.shop @@ -9944,15 +9604,18 @@ aamgame.com aamgame.mobi aamgame.net aamsmart.com -aangc.com +aamyoe.com aanroute.net aap5.com +aaplimg.com aar.asia aardio.com +aarkpbkc.com aaronlam.xyz aaspt.net aastartups.com aatccn.com +aatcmdvi.com aateda.com aauc.net aavisa.com @@ -9982,7 +9645,6 @@ abbisko.com abbkine.com abbooa.com abbyschoice.net -abbyychina.com abc-ca.com abc-love.com abc119.tv @@ -9992,7 +9654,7 @@ abc188.com abc369.net abc4game.com abcache.com -abcd789.com +abcbank.shop abcdao.com abcdocker.com abcdv.net @@ -10005,6 +9667,7 @@ abcjiaoyu.com abcjifang.com abckantu.com abcleasing.com +abclive2-lh.akamaihd.net abclogs.com abcpost.com.au abcrcw.com @@ -10023,10 +9686,10 @@ abddn.com abdstem.com abe-sz.com abe-tech.com -abeacon.com abedu.net -abeij.com +abercrombie.com abesmoke.com +abfedgecanme.com abhouses.com abiaogw.com abiechina.com @@ -10053,7 +9716,6 @@ abnotebook.com aboatedu.com aboboo.com aboilgame.com -abordy.com aboutcg.com aboutcg.net aboutcg.org @@ -10065,10 +9727,10 @@ aboveyunbo.com abox.plus abpuvw.com abreader.com +abs123.asia abslw.com absoloop.com absst.com -abtao.wang abtd.net abtt266.com abublue.com @@ -10080,6 +9742,7 @@ aby.pub abykt.com abyssdawn.com abz-sh.com +ac.fun ac268.com ac57.com acabridge.net @@ -10087,8 +9750,8 @@ acachina.com academygkusa.com academypublication.com acadki.com +acadn.com acb365.com -acbkjt.com acc3.net acc5.com accdisplay.com @@ -10096,19 +9759,16 @@ accelink.com accessads.net accessgood.com accessibilityunion.com +accessibilityunion.org accessoft.com accesspath.com accgame.com -accio.ai acconsys.com accopower.com -account-api.dji.com -account.djicdn.com account.htcvive.com -account.lenovo.com -account.uds-sit.lenovo.com accr.cc accsh.org +acctdns.com acctdns.net accu.cc accuramed.com @@ -10118,6 +9778,7 @@ acdianyuan.com ace-info.com ace-pow.com ace-rubber.com +ace0898.com ace113.com acejoy.com acelamicro.com @@ -10130,10 +9791,13 @@ acewill.net acfechina.org acftu.org acfun.com +acfun.net +acfun.tv acfunchina.com acfunchina.net acg.gd acg.tv +acg.xin acg169.com acg17.com acg183.com @@ -10158,10 +9822,9 @@ acgres.com acgsan.com acgsky.win acgtofe.com +acguxhda.com acgvideo.com acgvr.com -acgww.cyou -acgyhh.com acgz.xyz acgzc.com acgzyj.com @@ -10174,9 +9837,9 @@ acirno.com acjw.net ackjled.com aclife.net -acloud.com acloudbaas.com acloudrender.com +acm.org acmcoder.com acmec-e.com acmemob.com @@ -10187,9 +9850,11 @@ acmsearch.com acmturc.com acnow.net aco-musical.com -aconf.org +acobt.tech +acoloo.com acoolread.com acpf-cn.org +acplay.net acq42.com acqiche.com acqyjg.com @@ -10198,6 +9863,7 @@ acrel-microgrid.com acrel-znyf.com acrossmetals.com acroview.com +acs.org acshoes.com acsrq.com act-telecom.com @@ -10211,7 +9877,6 @@ actime.net actions-semi.com actionsky.com activation-gp.com -active.dji.com activeclub.net activepower.net activity-dy.com @@ -10222,6 +9887,7 @@ activity02.com activity03.com activity04.com activity05.com +activitybyte.com actneed.com actoys.com actoys.net @@ -10243,35 +9909,24 @@ ad-gone.com ad-goods.com ad-safe.com ad-squirrel.com -ad-survey.com ad-young.com ad110.com ad321.cc ad5.com ad518.com -ad7.com ad778.com -ad9377.com ada-post.com adagaa.com -adam.akamai.com adamahf.com adamcoder.com adamerck.net adanachina.com -adanxing.com -adaog.com adapay.tech adas.com -adbana.com adbgz.com adbiding.com -adbkwai.com -adbxb.com adc-expo.com adcdn.com -adcdownload.apple.com -adcdownload.apple.com.akadns.net adcomeon.com adcotechina.com addaad.com @@ -10286,7 +9941,6 @@ addpv.com addww.com ade8.com adeasyx.com -adeaz.com adebang.com adebibi.com adeccogroupcn.com @@ -10301,7 +9955,6 @@ adfunlink.com adfuns.com adfyt.com adg-dental.com -adgomob.com adguardprivate.com adhei.com adhimalayandi.com @@ -10311,22 +9964,17 @@ adianshi.com adiexpress.com adigifactory.com adiic.com -adinall.com adinju.com adipman.net adjdds.com -adjie.com adjtht.com adjucai.com adjuz.com -adjwl.com adjyc.com adkjpx.com -adkwai.com adl163.com adl888.com adlainortye.com -adlefee.com adlefei.com adlo.net adluckin.com @@ -10334,7 +9982,6 @@ adm88888.com adm999.com admai.com admaimai.com -admaji.com admama.com admamax.com admbucket.com @@ -10342,13 +9989,9 @@ admile.xyz admin04.com admin10000.com admin345.com -admin5.com admin5.net -admin6.com admin88.com admincdn.com -adminer.com -adminportal.cdnetworks.com admintony.com adminxe.com adminxy.com @@ -10363,10 +10006,10 @@ admunan.com admxh.com adnineplus.com adnrhy.com -adnyg.com adobe-tool.com adobeae.com adobeedu.com +adobesc.com adongyu.com adoregeek.com adoutu.com @@ -10374,20 +10017,14 @@ adparticle.com adpchina.com adpfm513.com adplusx.com -adpolestar.net adpsh.com -adqpd.com -adquan.com -ads8.com adsalecdn.com adsalecprj.com adsame.com adscover.com adsctl.com -adservice.google.com adsfancy.com adsjdy.com -adsjl3.icu adslr.com adsmogo.com adsmogo.mobi @@ -10397,67 +10034,46 @@ adssap.com adsspr.com adstarcharm.com adsue.com -adszs.com -adt100.com adtaipo.com adtchrome.com adtianmai.com adtime.com adtmm.com -adtrgt.com -adttt.com adtxl.com aduan.cc adubest.com aduer.com -aduic.com -adukwai.com adult-stem-cells.com adunicorn.com adunioncode.com -adunite.com -adups.com aduspot.com adutou.com -adutp.com advanced-microsemi.com advanced-pneumatics.com advertcn.com advich.com -adview.com advisionhorizon.com advlion.com advrtb.com advuser.com -adwangmai.com adwanji.com adwebcloud.com adwep.com adwery.com -adwetec.com adwintech.com adwke.com -adwo.com -adx.ms adx666.com -adxat.com adxflow.com -adxhi.com -adxhome.com -adxiaozi.com adxliangmei.com +adxmax.com adxmq.com -adxpand.com adxqd.com -adxquare.com -adxvip.com adxwork.com adxyun.com adyea.com adyoc.com adyounger.com adyuedong.com -adyun.com adzhongdian.com adzhp.cc adzhp.site @@ -10481,7 +10097,6 @@ aeenergy.com aeenets.com aeespace.com aegcar.com -aegins.com aegis-env.com aegisafe.com aegisx.net @@ -10508,8 +10123,6 @@ aero-shenyang.com aerochina.net aerocityholding.com aerofugia.com -aeroscope.djiservice.org -aeryt111.fun aesdrink.com aesmysecurebill.com aesoftland.com @@ -10521,7 +10134,6 @@ aexpec.com af122.com af36.com af360.com -af6s.icu afaisouth.com afang.com afanti100.com @@ -10529,8 +10141,10 @@ afarway.com afca-asia.org afcec.com afdian.com +afdian.net afdiancdn.com afdsc.com +afdvr.cc afdvr.com afengblog.com afengim.com @@ -10538,20 +10152,17 @@ afengseo.com afengsoft.com afenxi.com affann.com -affecthing.com affluenze.com afgame.com afhao.com -afibosk.com afirstsoft.com -afj.cc afjk.com afjob88.com aflink.com aflytec.com +afp.adchina.com +afpchinesesports.com african-styles.com -africaninfolook.com -africanmall.com afriendx.com afrindex.com afshanghai.org @@ -10565,11 +10176,7 @@ afuvip.com afxeon.com afy.asia afzhan.com -ag-rtk-alg.dji.com -ag-rtk.dji.com -ag.dji.com ag03.com -ag2.dji.com ag8.com agcen.com agcloudcs.com @@ -10588,7 +10195,6 @@ agenge.com agenow.com agentyun.com agerk.com -aggresmart.com aghcdn.com agi360.xyz agile-china.com @@ -10599,11 +10205,9 @@ agiso.com agitekservice.com aglory.com agmos012.com -agms-us.dji.com -agms.dji.com -agogoktv.com agoow.com -agrantsem.com +agora.io +agoralab.co agriotcloud.com agrittex.com agrochemshow.com @@ -10628,8 +10232,6 @@ ah12333.com ah163.com ah163.net ah3c.com -ah477.com -ah499.com ah5166.com ah788.com ah8.cc @@ -10686,7 +10288,6 @@ ahdxj.com ahdzdb.com ahdzfp.com aheading.com -ahean.com ahetyy.com ahfeixi.com ahfensitong.com @@ -10709,14 +10310,12 @@ ahhbxh.com ahhcbiotech.com ahhdb.com ahhhjx.com -ahhjlc.com ahhkedu.com ahhngsjt.com ahhnjy.net ahhnsz.net ahhome.com ahhouse.com -ahhrjc.com ahhsxyy.com ahhtzx.com ahhwdp.com @@ -10726,6 +10325,7 @@ ahianzhang.com ahiib.com ahinv.com ahipi.com +ahitv.com ahjdq.com ahjgxy.com ahjiankong.com @@ -10733,10 +10333,10 @@ ahjinyu.com ahjishi.com ahjixi.com ahjk.com +ahjk34.com ahjkjt.com ahjlcd.com ahjlxcl.com -ahjoe.net ahjpgroup.com ahjsedu.net ahjsexam.com @@ -10766,7 +10366,6 @@ ahlxb.com ahlyjt.com ahlzgd.com ahmif.com -ahmjlm.com ahmky.com ahmwgroup.com ahnanfang.com @@ -10813,7 +10412,6 @@ ahssnews.com ahsthzx.com ahswyz.com ahsxkyb.com -ahsxlccp.com ahsxscsw.com ahsyj.com ahsylsy.com @@ -10830,7 +10428,6 @@ ahuano.com ahubbs.com ahudows.com ahuyi.com -ahwangtao.com ahwater.net ahwbkf.com ahweinan.com @@ -10896,7 +10493,9 @@ ai2news.com ai572.com ai7.com ai7.org +aiaa.org aiacfo.org +aiacgn.com aiagain.com aiagain.net aiage.com @@ -10959,7 +10558,6 @@ aichi-zhe.com aichinaw.com aichunjing.com aiclicash.com -aiclk.com aicloud.com aicoauto.com aicode.cc @@ -10970,7 +10568,6 @@ aicsuk.net aicu8.com aicunfu.com aicunxibao.com -aicydb.com aida64.cc aida64cn.com aidabest.com @@ -11032,9 +10629,9 @@ aierfano.com aierhb.com aierhs.com aierlz.com -aierpg.com aieryk.com aierzy.com +aievsge.com aieye8.com aiezu.com aifabu.com @@ -11094,6 +10691,7 @@ aihero100.com aihke.com aihoge.com aihotel.com +aihst8.com aihua1998.com aihuajia.com aihuaju.com @@ -11103,7 +10701,6 @@ aihubs.net aihuhua.com aihuishou.com aii-alliance.org -aiia.xin aiibii.com aiig.cc aiihu.com @@ -11142,7 +10739,7 @@ aikeapp.com aikep.com aiketour.com aikf.com -aikkits.com +aikgmgre.com aikonchem.com aikouzi.com aikucun.com @@ -11155,11 +10752,9 @@ ailemon.net ailete.com ailewan.com aileyun.net -aili.com ailiao360.com ailibang.com ailibi.com -ailicee.com ailinglei.com ailingmao.com ailinux.net @@ -11199,7 +10794,6 @@ aimiplay.com aimo2o.com aimoge.com aimoneshoes.com -aimoon.com aimsen.com aimu-app.com ainas.cc @@ -11220,9 +10814,11 @@ aioptics.com aiotoolbox.com aip-gz.com aip.net +aip.org aipage.com aipai.com aipaike.com +aipaixt.asia aipaiyinghua.com aipapi.com aipark.com @@ -11273,7 +10869,6 @@ air-th.com air-world.com air.cc airacm.com -airasia.com airbft.com airboo.com airchangan.com @@ -11308,6 +10903,7 @@ airpipetech.com airportcip.com airportcn.com airsavvi.com +airshipads.ru airspa.net airstar.com airstarfinance.net @@ -11320,11 +10916,11 @@ airworksoft.com aisaohuo.com aisbeijing.com aise.chat +aisecurius.com aisee.tv aiseeking.com aiseminar.com aisenseinc.com -aishan.shop aishangba.info aishangba.org aishanghaibao11.com @@ -11333,7 +10929,6 @@ aisharenet.com aishdxz.com aishengji.com aishenhua.com -aishiguolong.com aishuge.cc aishuge.la aishukong.com @@ -11355,12 +10950,14 @@ aislharrow.com aisoio.com aisojie.com aisou.club +aisoutv.com aispeech.com aispreadtech.com aistar.site aistar666.com aisx.cc aisy.com +aitangyou.com aitansuo.com aitaotu.com aitaxinxi.xyz @@ -11382,18 +10979,17 @@ aititia.com aitkcn.com aito.auto aitrans.net +aitransfy.com aituan.com aituanche.com aitutu.cc aitype.net aiufida.com -aiurl.com aiuw.com aiuxdesign.com aiuxian.com aiuxstudio.com aiv5.cc -aivaylaco.com aiveola.com aivivo.com aiviy.com @@ -11403,7 +10999,6 @@ aiwaly.com aiwan4399.com aiwan91.com aiwanba.net -aiwanma99.com aiwatchs.com aiwebsec.com aiwei365.net @@ -11413,6 +11008,7 @@ aiweline.com aiwenyi.com aiworkspace.com aiwuzhou.com +aiwvegax.com aiww.com aixag.com aixcoder.com @@ -11437,10 +11033,10 @@ aixigua.com aixin-ins.com aixin-life.com aixin-life.net +aixinhaitun.com aixinmusic.com aixinwechat.com aixinwu.org -aixinyan.xyz aixiu.net aixiuyingyu.com aixq.com @@ -11494,7 +11090,6 @@ aiyy.org aizaoqi.com aizgtc.com aizhan.com -aizhantj.com aizhanzhe.com aizhengli.com aizhenrong.com @@ -11528,7 +11123,6 @@ ajkimg.com ajkinclude.com ajlty.com ajmide.com -ajpxs.xyz ajpysz.com ajrcb.com ajs-app.com @@ -11540,29 +11134,28 @@ ajwang.com ajxhgy.com ajyg.com ajylqio.com -ak-d.tripcdn.com +ajzq.com ak-medical.net -ak-v.tripcdn.com ak.cc ak0.tw -ak03150hou.com -ak03211hou.com ak03220hou.com ak03230hou.com ak1ak1.com ak47ids.com +aka-amd-njpwworld-hls-enlive.akamaized.net +akadns88.net +akadns99.net akaifa.com akailibrary.com +akamai.com akashadata.com akashic.cc -akashop1.akamai.com akaxin.com akbchina.com akbe.com akbing.com akbkgame.com akcomemetals.com -akdashang.vip akdns.net akesobio.com akesu56.com @@ -11614,7 +11207,6 @@ alafy.com alai.net alameal.com alancui.cc -alanhou.com alanqi.com alantorp.online alanyhq.com @@ -11626,6 +11218,8 @@ alazv.com albeche.com albertaz.com alc-iot.com +alcatel-home.com +alcatelmobile.com alcha.com alcty.com alcy.cc @@ -11657,6 +11251,7 @@ alhywj.com alhzp.com ali-api-test.net ali-cdn.com +ali-expo.com ali-gtm-01.net ali-gtm-pressure.com ali-health.com @@ -11671,16 +11266,23 @@ alialipay.com alianhome.com aliapp-inc.com aliapp.com -aliapp.org aliappcdn.com alibaba-inc.com +alibaba.cdn.steampipe.steamcontent.com alibaba.com alibaba.net alibabacapital.com alibabachengdun.com alibabachengdun.net +alibabacloud.co.in alibabacloud.com +alibabacloud.com.au +alibabacloud.com.hk +alibabacloud.com.my +alibabacloud.com.sg +alibabacloud.com.tw alibabacorp.com +alibabadesign-enable.com alibabadesign.com alibabadns.com alibabadoctor.com @@ -11688,6 +11290,7 @@ alibabafonts.com alibabafoundation.com alibabafuturehotel.com alibabagroup.com +alibabainno.com alibabaonline.com alibabapictures.com alibabaplanet.com @@ -11695,6 +11298,8 @@ alibabatech.org alibabatechqa.com alibabaued.com alibabausercontent.com +alibabawood.com +alibench.com alibjyun.com alibjyun.net alibole.com @@ -11705,10 +11310,14 @@ alicache.com alicall.com alicdm.com alicdn.com +alicdn.net alicdngslb.com alicloud.com +alicloudapi-inner.com alicloudapi.com +alicloudcc.com alicloudccp.com +alicloudddos.com alicloudlayer.com alicloudsec.com alicloudwaf.com @@ -11720,6 +11329,7 @@ alidayu.com aliddmall.com alidns.com alidns.net +alidz.net aliedge.com alienfans.net aliensidea.com @@ -11734,24 +11344,29 @@ alifenxiao.com aligames.com aligaofang.com aligenie.com +aligfcc.com +aligfddos.com aligfwaf.com -alightin.com alighting.com alihd.net alihealth.hk +alihealth.net alihh.com alihuahua.com aliimg.com aliiotapp.com alijijinhui.org alijk.com +alikmd.com alikunlun.com alikunlun.net alili.tech aliliying.com aliloan.com aliluya.com -alimama.com +alimamaframe.com +alimaomall.com +alime.ai alimebot.com alimei.com alimmdn.com @@ -11773,8 +11388,8 @@ alipaycs.com alipaydesign.com alipaydev.com alipaydns.com +alipayeshop.com alipayhk.com -alipaylog.com alipaymo.com alipayobjects.com alipayplus.com @@ -11798,12 +11413,14 @@ aliso.cc alisoft.com alisolarlight.com alisports.com -alit.live alitchina.com +alitelecom.com alithefox.net alithon.com +alitianji.com alitrip.com alitrip.hk +alittle-tea.com alittlesoldier.com aliued.com aliunicorn.com @@ -11820,17 +11437,21 @@ alixiaomi.com alixiaoyouhui.com alixixi.com alixox.com +alixueyuan.net alixv.com aliyiyao.com aliyizhan.com +aliypc.com aliyue.net aliyun-inc.com aliyun-iot-share.com +aliyun-znfhq.net aliyun.com aliyun.org aliyun.xin aliyunbaas.com aliyunbaike.com +aliyuncc.com aliyuncdn.com aliyuncdn.net aliyunceng.com @@ -11893,10 +11514,12 @@ aliyundrive.cloud aliyundrive.com aliyundrive.net aliyunduncc.com +aliyundunddos.com aliyundunwaf.com aliyunedu.net aliyunfile.com aliyunfuwuqi.com +aliyunga.com aliyunga0004.com aliyunga0005.com aliyunga0006.com @@ -11928,18 +11551,32 @@ aliyunga0031.com aliyunga0032.com aliyunga0033.com aliyunga0034.com +aliyunga0035.com +aliyunga0036.com aliyunga0037.com aliyunga0038.com aliyunga0039.com aliyunga0040.com +aliyunga0041.com +aliyunga0042.com +aliyunga0043.com aliyunga0044.com +aliyunga0045.com +aliyunga0046.com +aliyunga0047.com aliyunga0048.com +aliyunga0049.com +aliyunga0050.com +aliyunga860004.com aliyunga8601.com +aliyunga8602.com +aliyunga8603.com aliyungf.com aliyungrtn.com aliyunhelp.com aliyunhn.com aliyunidaas.com +aliyuniot.com aliyunj.com aliyunjiasu.cloud aliyunlive.com @@ -11962,6 +11599,7 @@ aliyunyh.com alizhaopin.com alizhizhu.com alizila.com +aljazeera-eng-hd-live.hls.adaptive.level3.net alkpharm.com alkuyi.com all-in-data.com @@ -11976,7 +11614,6 @@ allchips.com allcitygo.com allcitysz.net allcombo.com -alldk.com alldobetter.com alldragon.com alleadprint.com @@ -12028,7 +11665,6 @@ alltechmed.com alltion-cn.com alltoall.net alltobid.com -alltopposts.com alltosun.com alltuu.com allvalue.com @@ -12037,7 +11673,6 @@ allweyes.com allwin368.com allwinnertech.com allwinso.com -allyes.com allyes.net allyfurn.com allystar.com @@ -12049,7 +11684,6 @@ alnanaluminium.com alnantq.com alo7.com aloha-ukulele.com -aloha.akamai.com alonemonkey.com along96.com alongsky.com @@ -12059,6 +11693,7 @@ alpha-browser.com alpha-star.org alphabiopharma.com alphabole.com +alphassl.com alphay.com alrailpha.com alrightzd.com @@ -12086,9 +11721,11 @@ alzscl.com am-sino.com am1116.com am774.com +am810.net am89.com amaiche.com amallb2b.com +amantang.com amanyi.com amaomb.com amap.com @@ -12102,7 +11739,6 @@ amayad.com amazeui.org amazfit.com amazingsys.com -amazoni2.com ambassador-sh.com ambassadorchina.com amberbj.com @@ -12118,10 +11754,14 @@ amcarewl.com amcfortune.com amchamchina.org amcvoyages.com +amd.com +amdlive-ch01.ctnd.com.edgesuite.net +amdlive-ch03-ctnd-com.akamaized.net +amdlive-ch03.ctnd.com.edgesuite.net +amdlive.ctnd.com.edgesuite.net amdotibet.com amec-inc.com amegroups.org -ameida.net ameisx.com amemv.com amemv.net @@ -12150,12 +11790,12 @@ amobbs.com amoe.cc amonxu.com amoydxmed.com -amp-api-updates.apps.apple.com -amp-api.media.apple.com +amoywine.com amp-intl.com ampcn.com amperobots.com amphenol-auto.com +amphenol-industrial.com amphenol-jet.com amplesky.com amplly.com @@ -12163,6 +11803,7 @@ ampmake.com ampxl.com amqyl.com ams-ic.com +ams.org amsky.cc amsoveasea.com amssro.net @@ -12195,12 +11836,14 @@ amzndns-cn.biz amzndns-cn.com amzndns-cn.net amznz.com +amzqazc.com an1health.com an2.net an68.com +analog.com analogfoundries.com analysysdata.com -analytics.lenovo.com +analytics.strava.com analyticskey.com anan123.vip anandoor.com @@ -12243,6 +11886,7 @@ android-doc.com android-studio.org androidesk.com androidga.com +androidgo.duapp.com androidinvest.com androidmi.com androidmov.com @@ -12255,7 +11899,6 @@ andygcj.com andyx.net ane56.com aneasystone.com -anei.tv anessa.org anestcang.com anetuo.com @@ -12263,7 +11906,6 @@ anf-z.com anfan.com anfangnews.com anfangzb.com -anfeng.com anfensi.com anfine-healthcare.com anfipet.com @@ -12322,7 +11964,6 @@ anhuiry.com anhuisjx.com anhuisuya.com anhuiwine.com -anhuiyiyao.com anhuizk.com ani-sh.com aniccw.net @@ -12332,8 +11973,10 @@ anictdns.store anijue.com animalchina.com animationcritics.com +animebytes.tv animetamashi.com animetaste.net +animetorrents.me anischools.com anitama.net aniu.com @@ -12380,6 +12023,7 @@ ankianki.com ankichina.net ankio.net ankki.com +ankobot.com ankogroup.com ankuai.net anl-cn.com @@ -12412,6 +12056,7 @@ anniekids.net annil.com annoron.com annto.com +annualreviews.org annuoxun.com anoah.com anonym-hi.com @@ -12427,7 +12072,6 @@ anqingwt.com anqn.com anqu.com anquan.info -anquan.org anquanbao.com anquanjs.com anquanke.com @@ -12444,6 +12088,7 @@ anren.org anrenmind.com anrenxmed.com anrlm.com +anruan.com anruichina.com ansendun.com ansgo.com @@ -12499,6 +12144,7 @@ anticheatexpert.com antiquelearn.com antiy.com antiy.net +antiycloud.com antkdir.com antmoe.com antom.com @@ -12519,6 +12165,7 @@ antuni.com antuofh.com antutu.com antutu.net +antvlive.ab5c6921.cdnviet.com antvr.com antwork.link antzk.com @@ -12572,7 +12219,6 @@ anyforprint.com anyforweb.com anygame.info anyihua.com -anyiidc.com anyimai.com anyizn.com anyka.com @@ -12594,7 +12240,6 @@ anystandards.com anytesting.com anyun100.com anyunjianzhan.com -anyunwl04.com anyv.net anyview.net anyway.fm @@ -12621,7 +12266,7 @@ anzogame.com anzow.com ao-di.com ao-hua.com -ao.space +ao3yiqag7zc8za.com aoao365.com aoaob.com aoasign.com @@ -12652,7 +12297,6 @@ aofanxx.com aofenghuanjing.com aofenglu.com aofs.vip -aogk88.asia aogocorp.com aograph.com aoguan.com @@ -12664,6 +12308,7 @@ aohuatextiles.com aojauto.com aojia-oil.com aojiahuashare.com +aojiamarly.com aojian.net aojian2.net aojiaostudio.com @@ -12686,12 +12331,9 @@ aolvyou.com aolylcd.com aomao.com aomeikeji.com -aomeng.net -aomsitf.com aomygodstatic.com aonaotu.com aoni.cc -aony-cz.com aooedu.com aoofu.com aoogee.com @@ -12721,7 +12363,6 @@ aosoo.com aoswtc.com aotaidianqi.com aotchina.com -aotgo.akamai.com aotian.com aoto.com aotoso.com @@ -12761,22 +12402,28 @@ aozhanls.com aozhougoufang.com ap-china.com ap1983.com +ap4r.com ap88.com ap8888.com +apaas-zone-test.com apabi.com apad.pro apartments-bj.com +apass.com apayun.com apbiao.com apcc2.com +apcdns.com apcdns.net apclc.com apcso.com apcta.com +apcups.org apcupse.com apdcdn.com ape8.com apearth.com +apecn.com apecome.com apehorse.com apeloa.com @@ -12793,37 +12440,27 @@ apfeien.com apgblogs.com apgoview.com aphidic.com -api-ar.cnno1.uds.lenovo.com -api-ar.euwe1.uds.lenovo.com -api-ar.naea1.uds.lenovo.com -api-cn-t.lenovo.com api-forwards.com api-m.com api.anythinktech.com -api.cnno1.uds.lenovo.com -api.djiservice.org -api.euwe1.uds.lenovo.com -api.lenovo.com -api.naea1.uds.lenovo.com +api.crisp.chat api.so -api.uds.lenovo.com -api01-test.lenovo.com -api01.lenovo.com -apiadmin.org apiairasia.com apiandroid.com -apiapple.com apicase.io apicgate.com apichina.com apickup.com apicloud.com +apifabric.net apifox.com apigwtencent.com apilyzy.com apim.work apimkt.net apipost.net +apiqecz.com +apira.org apirc.org apiseven.com apispace.com @@ -12835,8 +12472,6 @@ apizl.com apizza.cc apizza.net apjingsi.com -apk02061oo.xyz -apk02070oo.xyz apk3.com apk4399.com apk8.com @@ -12864,6 +12499,7 @@ apmbooth.com apme-magnetics.com apmengfan.com apmgmedical.com +apmsecbg.com apmvista.com apnring.com apodaenvi.com @@ -12878,15 +12514,10 @@ apowo.com apowogame.com apoyl.com app-analytics-services.com -app-distribution-cn.djicdn.com -app-distribution-download.djicdn.com -app-distribution.djiops.com -app-h5.dji.com app-measurement-cn.com app-measurement.com app-router.com -app-site-association.cdn-apple.com -app-store.dji.com +app.so app001.com app0772.com app111.com @@ -12900,9 +12531,6 @@ app2006.com app2pixel.com app86.com app887.com -appadhoc.com -appadhoc.net -apparest.com appbi.com appbk.com appbocai.com @@ -12913,8 +12541,6 @@ appchina.com appchizi.com appcoo.com appcool.com -appcpa.co -appcpa.net appcpx.com appcup.com appdao.com @@ -12924,38 +12550,20 @@ appdownload.org appdp.com appeasou.com appeeres.com +appfeng.com appfenxiang.com appganhuo.com appgenuine.com +appgrub.com appia.vip appicad.net appicplay.com appidfx.com appifan.com appinn.com -appjiagu.com appkaifa.com appkefu.com applausefz.com -appldnld.apple.com -appldnld.g.aaplimg.com -apple-x2.xyz -apple110.com -apple114.com -apple4.us -apple88.net -apple886.com -appleads-trk.com -appleadstech.com -applebl.com -appledp.com -appleid.cdn-apple.com -applemei.com -applepopo.com -applethome.com -appletuan.com -applex.net -applicationloader.net applinzi.com applm.com applogcdn.com @@ -12973,16 +12581,16 @@ apppoo.com appqv.com appresource.net approvebook.com -apps.apple.com -apps.mzstatic.com apps121.com apps5.oingo.com appscan.io +appsecurity.top appsflower.com appshike.com appsimg.com appsina.com appso.com +appsolution.cc apptao.com apptrackerlink.com appubang.com @@ -13006,6 +12614,7 @@ aprche.net apriltq.com aprunchuang.com aprvoice.com +aps.org apsdai.com apsfon.com apsgo.com @@ -13013,6 +12622,7 @@ apsoto.com apspharm.com aptchina.com aptchip.com +aptdn.net aptenon.com apubond.com apusic.com @@ -13026,6 +12636,7 @@ aqb.so aqbxcdn9.com aqbz.org aqc100.com +aqcmgvxk.com aqd-tv.com aqdcdn.com aqdesk.com @@ -13036,6 +12647,7 @@ aqfen.com aqgygc.com aqhospital.com aqidb.org +aqigxaxv.com aqioo.com aqisite.com aqiyi.com @@ -13070,6 +12682,8 @@ aquayee.com aquazhuhai.com aqueck.com aqumon.com +aqviwv.com +aqvx8mcr392mv7.com aqxx.org aqyad.com aqyqqy.com @@ -13080,7 +12694,6 @@ aqzt.com aqzyzx.com ar-max.com ar0101.com -arabic.people.com.cn.akadns99.net arabsquash.com aragexpo.com araldite2014.com @@ -13097,7 +12710,6 @@ archcookie.com archcy.com archermind.com archeros.com -archery8.com archgo.com archgrid.xyz archi-motive.com @@ -13118,9 +12730,9 @@ arcticray.com arctiler.com arctime.org ard-china.com +ardmon.com ardsec.com areader.com -arealx.com arebz.com arefly.com arerberte.com @@ -13144,9 +12756,7 @@ arkiestyle.com arkoo.com arkrdigital.com arkread.com -arks.red arksz.com -arktong.com arliki.com arlmy.me arloor.com @@ -13158,7 +12768,6 @@ armchina.com armdesigner.com armfly.com armin.cc -arminuntor.com armourtires.com armsrock.com armsword.com @@ -13200,7 +12809,6 @@ artexamcq.com artfinace.com artfoxlive.com artgogo.com -artgohome.com artgoin.com arthals.ink arthing.org @@ -13249,11 +12857,8 @@ arvinhk.com aryasec.com as-doll.com as-hitech.com +as-hls-ww-live.akamaized.net as.mr -as01271kkp.xyz -as01280kkp.xyz -as01281kkp.xyz -as02010kkp.xyz as16.com as3f.com as5.com @@ -13261,10 +12866,10 @@ as66588.com asa-asia.com asatiles.com asbctv.com -asbeijing.com asbic11.com asc-events.org asc-wines.com +ascelibrary.org ascend-bio.com ascendgene.com ascendgz.com @@ -13274,7 +12879,6 @@ aschina.org aschip.com aschtj.com asciima.com -ascloud.tech ascn.site asczwa.com asczxcefsv.com @@ -13301,6 +12905,7 @@ asgezhi.com ashan.org ashechi.com ashehua.com +ashgdf.com ashidc.com ashining.com ashoucang.com @@ -13348,7 +12953,6 @@ asimi8.com asit.cc asjnu.com asjrv.com -ask.amd.com askbrisk.com askci.com askdd.org @@ -13372,8 +12976,10 @@ aslk2018.com asls.space aslvyou.com aslzw.com +asm.org asm64.com asmasm.com +asme.org asmlc.com asmr.gay asmr.red @@ -13398,6 +13004,7 @@ aspire-info.com aspirecn.com aspiresun.com aspnet.tech +aspqypmw.com aspsky.net aspx.cc aspxhome.com @@ -13405,24 +13012,13 @@ asqhr.com asqql.com asr-cn.com asrmicro.com -ass007.com assassinscreedcodenamejade.com assemblydragon.com asset-account.msi.com asset-us-store.msi.com asset-vendor-event.msi.com asset.msi.com -asset1.djicdn.com -asset2.djicdn.com -asset3.djicdn.com -asset4.djicdn.com -asset5.djicdn.com assets-global.viveport.com -assets.analog.com -assets.djicdn.com -assets.razerzone.com -assets.uxengine.net -assets2.razerzone.com assrt.net assyrb.com astaobao.com @@ -13433,8 +13029,11 @@ astestech.com astfc.com asthis.net astipaint.com +astm.org astra-biotech.com astraintel.com +astral-vector.com +astro1.rastream.com astroai-in.com astroaio.com astron.ac @@ -13461,9 +13060,9 @@ at0086.net at188.com at317.com at58.com +at7790s887.com at78.com at851.com -at98.com ata-edu.com ata-test.net atacchina.com @@ -13493,6 +13092,7 @@ atidesoft.com atido.com atimeli.com ating.info +atjoqgi.com atk-film.com atk.pro atlab.ai @@ -13502,7 +13102,6 @@ atlmall.com atlxm.com atmbox.com atmcu.com -atmib.com atmlimited.com atmob.com atob100.com @@ -13512,12 +13111,10 @@ atom-hitech.com atomgit.com atomgit.net atomhike-en.com -atomhike.com atomic-art.com atomlife.net atomlock.com atoolbox.net -atpanel.com atrenew.com atri.ink atriptech.com @@ -13547,6 +13144,7 @@ auak.com aube-archi.com aubemobile.com aubor-ind.com +aubye.com aucanlink.com auchexpo.com aucnln.com @@ -13554,8 +13152,6 @@ audan2011.com audio-gd.com audio-technica-hz.com audio160.com -audioadx.com -audiobridge.akamai.com audiobuy.cc audiocn.com audiocn.net @@ -13586,6 +13182,8 @@ auok.run auozzjs.lol auplanking.com aupu.net +auqscfmk.com +auqsipfm.com aura-el.com auroapi.com aurogon.com @@ -13610,9 +13208,6 @@ austargroup.com austarstudy.com australiaxy.com ausunpharm.com -auth.cnno1.uds.lenovo.com -auth.euwe1.uds.lenovo.com -auth.naea1.uds.lenovo.com authbus.com authing-inc.co authing.co @@ -13635,7 +13230,6 @@ auto328.com auto510.com auto6s.com auto98.com -autoaddfriend.com autoai.com autobaidu.com autobaojun.com @@ -13646,7 +13240,6 @@ autochinashow.org autochinazh.com autochips.com autochongqing.com -autodiscover.dji.com autodl.com autodmp.com autodnsv1.com @@ -13690,6 +13283,7 @@ autowise.ai autoz.net autozi.com autumnstreetrecords.com +aux-home.com auxgroup.com auyou.com av-china.com @@ -13699,16 +13293,11 @@ av2.me av269.com av380.net avadairy.com -avail.googleflights.net -avalo-energy.com -avalon.pw avalon233.com -avalss.com avanpa.com avanzacorp.com avaryholding.com avatamveda.com -avatar.razerzone.com avatarmind.com avatarmobi.com avatr.com @@ -13716,6 +13305,7 @@ avaya.hk avc-mr.com avc-ott.com avdgw.com +avec6ua79dc6.com avemaria.fun aves.art avfline.com @@ -13723,7 +13313,6 @@ avgh5.com avgnati.com avgnatii.com avgroft.com -avhxnasqeo.com aviationsnip.com avic-acs.com avic-apc.com @@ -13738,7 +13327,6 @@ avilive.com avinex.com avischina.com avivaqueen.com -avjb.com avl-hitec.com avlinsight.com avlsec.com @@ -13748,6 +13336,8 @@ avlyun.org avnpc.com avnzpwo.com avoscloud.com +avp76.com +avp76.net avpic.xyz avptec.com avq360.com @@ -13757,7 +13347,6 @@ avt-cn.com avtechcn.com avtt830.com avuejs.com -avxzads-xcvnkdff-dsfjodsmv.com avyeld.com aw-ol.com aw.cc @@ -13772,6 +13361,7 @@ awemeughun.com awemeuglang.com awemeugsoul.com awemeugwave.com +awesome-hd.me awfggc.com awfzx.com awhouse.art @@ -13782,13 +13372,24 @@ aword.net awotuan.com awoyun.com awsamazonlab.com +awsdns-cn-00.com awsdns-cn-00.net awsdns-cn-01.biz awsdns-cn-01.net +awsdns-cn-02.biz awsdns-cn-02.net awsdns-cn-03.biz +awsdns-cn-04.net +awsdns-cn-05.biz awsdns-cn-05.net +awsdns-cn-06.com +awsdns-cn-06.net awsdns-cn-07.biz +awsdns-cn-07.com +awsdns-cn-07.net +awsdns-cn-09.biz +awsdns-cn-09.com +awsdns-cn-09.net awsdns-cn-10.com awsdns-cn-11.biz awsdns-cn-11.com @@ -13799,49 +13400,79 @@ awsdns-cn-14.com awsdns-cn-15.net awsdns-cn-16.biz awsdns-cn-17.biz +awsdns-cn-17.com awsdns-cn-17.net awsdns-cn-18.biz +awsdns-cn-18.net +awsdns-cn-19.biz awsdns-cn-19.net awsdns-cn-20.biz +awsdns-cn-20.com awsdns-cn-20.net awsdns-cn-21.biz +awsdns-cn-21.net +awsdns-cn-22.com awsdns-cn-22.net awsdns-cn-23.com +awsdns-cn-24.biz awsdns-cn-24.com awsdns-cn-24.net +awsdns-cn-25.com +awsdns-cn-25.net +awsdns-cn-26.com +awsdns-cn-27.biz +awsdns-cn-27.com +awsdns-cn-28.biz awsdns-cn-28.net awsdns-cn-29.biz awsdns-cn-31.net +awsdns-cn-33.net +awsdns-cn-34.com +awsdns-cn-35.biz awsdns-cn-35.net awsdns-cn-36.biz +awsdns-cn-36.com awsdns-cn-36.net awsdns-cn-37.biz +awsdns-cn-37.com awsdns-cn-37.net awsdns-cn-38.net awsdns-cn-39.biz +awsdns-cn-39.com awsdns-cn-40.biz +awsdns-cn-40.com awsdns-cn-40.net awsdns-cn-41.biz +awsdns-cn-41.com +awsdns-cn-41.net awsdns-cn-42.biz +awsdns-cn-42.com awsdns-cn-43.biz awsdns-cn-44.com awsdns-cn-44.net awsdns-cn-45.biz +awsdns-cn-45.com awsdns-cn-45.net +awsdns-cn-46.biz awsdns-cn-46.com +awsdns-cn-46.net awsdns-cn-47.biz awsdns-cn-47.com awsdns-cn-47.net +awsdns-cn-48.biz awsdns-cn-48.com awsdns-cn-48.net awsdns-cn-49.biz awsdns-cn-50.biz awsdns-cn-50.net +awsdns-cn-51.biz awsdns-cn-51.com awsdns-cn-52.biz awsdns-cn-52.com awsdns-cn-52.net awsdns-cn-53.com +awsdns-cn-54.biz +awsdns-cn-54.net awsdns-cn-55.biz awsdns-cn-55.com awsdns-cn-55.net @@ -13849,15 +13480,20 @@ awsdns-cn-56.biz awsdns-cn-56.net awsdns-cn-57.com awsdns-cn-58.biz +awsdns-cn-58.com awsdns-cn-58.net +awsdns-cn-59.biz +awsdns-cn-59.net +awsdns-cn-60.biz awsdns-cn-60.com awsdns-cn-60.net +awsdns-cn-61.biz awsdns-cn-62.biz +awsdns-cn-62.com awsdns-cn-62.net awsdns-cn-63.biz awsdns-cn-63.net awsdns-vip.com -awsmer.com awsok.com awsonamazon.com awspaas.com @@ -13870,6 +13506,7 @@ awyerwu.com awyx.xyz ax196.com ax2nc4.ren +ax8dm212f0.com axa123.com axatp.com axbsec.com @@ -13879,11 +13516,11 @@ axentbath.com axera-tech.com axfys.com axhimalayancc.com +axhjfobr.shop axhub.im axiang.com axiaofu.com axiaoxin.com -axiba66.com axic6906.com axilone-shunhua.com axinsur.com @@ -13894,9 +13531,6 @@ axjx.com axmro.com axmw.com axnsc.com -axon-assets-cdn.razerzone.com -axon-download-cdn.razerzone.com -axon.razerzone.com axq66.com axqbs.com axqqq.com @@ -13937,7 +13571,6 @@ ayeucefm.com ayfdc.com ayfy.com ayfyfy.com -aygjj.com ayguge.com ayhmjy.com ayhuowan.com @@ -13978,16 +13611,21 @@ ayw.ink ayxbk.com ayxz.com ayzzxx.com -az5i.icu +az009.com azad.asia azbingxin.com azbq.org azchcdna.com azchcdnb.com azchcdnc.com +azchcdnd.com +azchcdne.com +azchcdnf.com azchcdng.com azchcdnh.com +azchcdni.com azchcdnj.com +azchcdnk.com azchcdnl.com azchcdnm.com azchcdnn.com @@ -13996,6 +13634,7 @@ azchcdnp.com azchcdnq.com azchcdnr.com azchcdns.com +azetac.com azf010.com azhimalayanvh.com azhituo.com @@ -14003,6 +13642,7 @@ azhubaby.com azinbate.info azjy88.com azmcode.com +azmtszpk.com azonete.com azooo.com azoyacdn.com @@ -14010,9 +13650,9 @@ azoyagroup.com azp315.com azpdl.com azpdl.net -azsjhf.com azt365.com azure-wave.com +azure.cc azureflying.com azuremigrate.download.prss.microsoft.com azuremigratetest.download.prss.microsoft.com @@ -14038,6 +13678,7 @@ b.biz b01.net b08.com b1bj.com +b1cjcgy8s2.com b1n.net b1qg.com b23.tv @@ -14053,14 +13694,12 @@ b2b818.com b2bdq.com b2bgo.com b2bic.com -b2bicn.lenovo.com b2bkk.com b2bname.com b2bvip.com b2bvip.net b2byao.com b2c.biz -b2c.lenovo.com b2cedu.com b2clouds.com b2jiaxiao.com @@ -14068,17 +13707,20 @@ b2q.com b2star.com b3bos.com b3inside.com +b3log.org b3logfile.com b4882.com b4iwf5.com -b4this.com b555b.com +b55weik1d4.com b5b6.com b5csgo.plus b5esports.me b5gvpk5.com b5m.com +b5nngc6zmt.com b612.me +b612.net b612kaji.com b6522.com b7av.com @@ -14110,7 +13752,6 @@ babeijiu.com babesters.com babifood.com babiguoguo.com -bablace.com babolchina.com baboshan.com babsoft.net @@ -14144,7 +13785,6 @@ bacocis.com bacts.com bacyfzjt.com badambiz.com -badapple.pro badazhou.com bademeiji.com badianyun.com @@ -14155,14 +13795,13 @@ badong.net badouxueyuan.com badu.com badudns.cc +baduziyuan.com badwe.com baeapps.com baertt.com baetyl.tech bafangjuhe.com bafangwy.com -baful.net -bag-cdn.itunes-apple.com.akadns.net bag198.com bagb2b.com bagesoft.net @@ -14180,14 +13819,13 @@ bahealpharma.com bahecloud.com bahens.com bahepark.com +bahsegel1220.com bai.com bai29.xyz -bai68.com baian-group.com baiao.com baibaipei.com baibaoyun.com -baibian365.com baibianyishu.com baibm.com baibo8.com @@ -14234,6 +13872,8 @@ baidiapp.com baidinet.com baidouya.com baidu-bank.com +baidu-cdn.com +baidu-cdn.net baidu-int.com baidu-itm.com baidu-mgame.com @@ -14243,8 +13883,8 @@ baidu-wenxue.com baidu.cc baidu.cm baidu.com +baidu.com.hk baidu.hk -baidu.jp baidu.mobi baidu.to baidu120.cc @@ -14254,7 +13894,9 @@ baiduads.com baiduapp.com baidubaidubaidu.net baidubce.com +baidubcr.com baidubos.com +baiducloudapi.com baiducontent.com baidudaquan.com baidudw.com @@ -14272,13 +13914,13 @@ baidupeixun.com baidusmartapps.com baidusobing.com baidustat.com -baidustatic.com baidusx.cc baidusx.com baidutab.com baidutieba.com baidutt.com baiduux.com +baiduwaf.com baiduwebgame.com baiduwpan.com baiduxiaodai.com @@ -14286,9 +13928,12 @@ baiduxiaoshuo.com baiduyangguang.org baiduyun.com baiduyun.wiki +baiduyuncdn.com +baiduyuncdn.net baiduyundns.com baiduyundns.net baiduyunsousou.com +baiduyunwaf.com baiduzjn.com baieryk.com baifabohui.com @@ -14297,13 +13942,10 @@ baifang.in baifangdianqi.com baifangzh.com baifeiyue.com -baifendian.com baifubao.com baigebao.com baigebg.com -baigepo.com baigeseo.com -baigm.com baigo.net baigolf.com baigongbao.com @@ -14326,11 +13968,9 @@ baihui.com baihui.live baihui168.com baihuibio.com -baihuijiguang.com baihuikucun.com baihuillq.com baihuiyaoye.com -baihuwang.com baiila.com baiinfo.com baijia.com @@ -14343,6 +13983,7 @@ baijiayun.com baijiayuncdn.com baijiegroup.com baijiexiu.com +baijii.com baijincdn.com baijingapp.com baijiudl.com @@ -14379,6 +14020,7 @@ bailiangroup.com bailiann.com bailiban.com bailiguangmang.com +bailing.online bailing88.com bailingjk.net bailinsi.net @@ -14435,10 +14077,12 @@ baishan-gateway.com baishan.com baishancdnx.com baishancdnx.net +baishancdnx.top baishancloud.com baishancloud.org baishandnsx.com baishandnsx.net +baishandnsx.top baishangeek.com baishanyun.com baishicha.com @@ -14459,9 +14103,7 @@ baisu.com baisuizhixiang.com baitahe.net baitaihuge.com -baitaiz.com baitanheichang.com -baitaoidc.com baitdu.com baithu.com baitianinfo.com @@ -14470,21 +14112,18 @@ baitomould.com baitongplastics.com baitongwang.com baitu.com -baitugu.com baituibao.com baiu.com baiven.com baiwandz.com baiwang.com baiwangjs.com -baiweish.com baiwen100.com baiwenbao.com baiwujt.com baiwulin.com baiwushi168.com baiwutong.com -baiwv.com baixiangfood.com baixiangnews.com baixiaosheng.net @@ -14513,7 +14152,6 @@ baiyizg.com baiyjk.com baiyou100.com baiyu.tech -baiyuandian.cc baiyuemi.com baiyumedia.com baiyun-hotel.com @@ -14529,10 +14167,8 @@ baizengtech.com baizhan.net baizhanke.com baizhanlive.com -baizhi.org baizhiedu.com baizhouniao.com -baizhu.cc baizlink.com bajasaechina.com bajiahao.com @@ -14550,6 +14186,7 @@ bakehr.net bakingerp.com baklib.com bakpower.com +bakshifen.com bakstotre.com bala.cc balance-net.com @@ -14563,7 +14200,6 @@ balihe.com balijieji.com balimtoy.com balingtxt.com -balldollars.com ballgametime.com ballpure.com balltv.cc @@ -14580,8 +14216,10 @@ bamatea.com bamaying.com bambooolab.com bambu-lab.com +bambulab.com bamengame.com bamensq.com +bamenzhushou.com bamuwu.com bamuyu.com bananafather.com @@ -14604,12 +14242,11 @@ bandaoapp.com bandari.net bandayun.com bandcevent.com +bandcoder.com bandeyu.com bandianli.com bandoristation.com bandvr.com -banfd.com -banfs.com banfubbs.com bangandi.com bangbang.com @@ -14619,6 +14256,7 @@ bangbendi.com bangboer.com bangboss.com bangbuy.com +bangcaiwu.com bangcheng0769.com bangchengchem.com bangcle.com @@ -14675,6 +14313,7 @@ bank-of-china.com bank-of-tianjin.com bankalliance.net bankcomm.com +bankcomm.com.au bankcomm.com.mo bankcomm.com.tw bankcz.com @@ -14696,7 +14335,6 @@ bankofyk.com bankpublish.com banksteel.com bankyellowriver.com -bankyy.net banlikanban.com banma.com banmaaike.com @@ -14707,14 +14345,11 @@ banmaerp.com banmagushi.com banmajsq.com banmajz.net -banmamedia.com banmashuo.com banmasiwei.com banmasrf.com banmasusuan.com banmayingyu.com -banmd.com -banmeng.com banmi.mobi bannei.com banner668.com.hk @@ -14728,7 +14363,6 @@ bantangbuy.com banwagong.men banwagongzw.com banwo365.com -banwojia.com banwoo.net banwoyo.net banwugongsi.com @@ -14747,7 +14381,6 @@ banzous.com banzouzhizuo.com bao-fang.com bao-hulu.com -bao100.com bao12333.com bao21.com bao265.com @@ -14770,9 +14403,11 @@ baobeio.com baobeita.com baobeituan.com baobeiy.com +baobianli.net baocdn.com baochaojianghu.com baochunyiran.com +baocps.com baocuicoin.com baodan100.com baodan360.com @@ -14784,10 +14419,13 @@ baodigs.com baodu.com baoduys.com baofeng.com +baofeng.la +baofeng.mobi baofeng.net baofeng365.com baofengcinema.com baofengtuandui.com +baofengtv.com baofon.com baofoo.com baofoo.net @@ -14841,7 +14479,6 @@ baokuandi.com baokutreasury.com baolansz.com baoliannet.com -baolic.com baolijuyuan.org baolimingyuefenghua.com baolizx.com @@ -14876,7 +14513,6 @@ baoshuanglong.com baoshuiguoji.com baoshuiguoji.net baoshuo.ren -baosiair.com baosight.com baosteel.com baosteel.info @@ -14886,6 +14522,7 @@ baotaiclad.com baotaikonggu.com baotang5.com baotime.com +baotoo.com baotoulawyer.com baotounews.com baotoushizx.com @@ -14940,7 +14577,6 @@ baozhuangren.com baozi.fun baozi.run baozi178.com -baozifa.com baozijishu.com baozipu.com baozou.com @@ -14948,7 +14584,6 @@ baozoudi.com baozoumanhua.com baozugongkeji.com baozun.com -baozupo.com baozy.com bapengpc.com bapima360.com @@ -14962,7 +14597,6 @@ baron-bj.com baronyhotels.com baronzhang.com barretlee.com -bartender.cc bartymedical.com basechem.org basecity.com @@ -14972,7 +14606,6 @@ baseopendev.com basequan.com basestonedata.com bashan.com -bashenghuo.com bashigao.com bashuhuapai.com bashuku.com @@ -14996,6 +14629,7 @@ battery8.com batterydir.com batterykey.com battle-fsd.com +battlecare.net battleofballs.com batupian.net baufortune.com @@ -15011,8 +14645,6 @@ baxisuye.com baydn.com baye.tech bayee.cc -bayescom.com -bayimob.com bayinh.com baykee.net baynoe.com @@ -15054,6 +14686,7 @@ bbb1415.com bbbaaa.com bbbao.com bbbb.com +bbbcdns.com bbbmq.com bbbtgo.com bbcagroup.com @@ -15061,7 +14694,6 @@ bbcayy.com bbchin.com bbctop.cc bbctop.com -bbd100.com bbdj.com bbdservice.com bbdup.com @@ -15070,12 +14702,12 @@ bbef-tech.com bbef.com bbeshop.com bbez.com +bbfkjkh.com bbfoxgame.com bbfstore.com bbfytsn.com bbgdex.com bbgsite.com -bbgstatic.com bbguangcai.com bbhou.com bbicn.com @@ -15086,6 +14718,7 @@ bbk000.com bbkantu.com bbkys.com bblcdn.com +bblmw.com bblops.com bblskj.com bbmuwwxyk.com @@ -15093,7 +14726,6 @@ bbmy.net bbobo.com bbonfire.com bbosu.com -bbphonix.xyz bbpph.com bbpu.com bbq-strainer.com @@ -15109,9 +14741,6 @@ bbrmedia.com bbrtv.com bbs-alsontech.com bbs-go.com -bbs.dji.com -bbs.dji.net -bbs.djicdn.com bbs0415.com bbs0551.com bbs1x.net @@ -15121,6 +14750,7 @@ bbsheji.com bbsls.net bbsmc.net bbsnet.com +bbstv.clouducs.com bbsufida.com bbsut.com bbsxp.com @@ -15137,7 +14767,6 @@ bbtwatch.com bbtydc.com bbugifts.com bbunion.com -bbvjs.com bbw-portnet.com bbwcec.com bbwcq.com @@ -15158,7 +14787,7 @@ bbxarq.com bbxinwen.com bbxinwen.net bbxstjx.com -bbxtd.com +bbydsol.com bbyyw.com bbzhh.com bbzhi.com @@ -15180,6 +14809,8 @@ bccv.com bcdaren.com bcdnx.com bcdy.net +bce-cdn.com +bce-cdn.net bceapp.com bcebos.com bcedns.com @@ -15193,6 +14824,7 @@ bceimg.com bcelive.com bcevod.com bcewaf.com +bcfmglobal.com bcfy188.com bcgf.cc bcghotel.com @@ -15228,7 +14860,6 @@ bctest.com bctmo.com bctts.com bcty365.com -bcunr.com bcvbw.com bcvdmovie.com bcwangluo.net @@ -15251,6 +14882,7 @@ bd-union.com bd001.net bd689.com bd7kzs.site +bdactivity.com bdaenviro.com bdajob.com bdall.com @@ -15267,7 +14899,6 @@ bdclouddns.com bdcn-media.com bddhospital.com bddlm.com -bddwm.com bdebid.com bdeceimg.com bdegnine.com @@ -15358,14 +14989,16 @@ bdxpa.com bdxx.net bdxyykj.com bdxyz.com +bdycdn.com +bdycdn.net bdydns.com bdydns.net bdyhhb.com bdylzbyy.com bdymkt.com -bdys10.com bdysc.com bdysite.com +bdysites.com bdyz.xyz bdzhipin.com bdzjdsagslb.com @@ -15393,6 +15026,7 @@ bearychat.com beastush.com beasure.com beats-digital.com +beatsbydre.com beaucare.org beautifulbank.com beautifulism.com @@ -15412,7 +15046,6 @@ becominggroup.com becukwai.com bedtimepoem.com beduu.com -bedzbu.xyz bee-core.com bee-net.com bee-station.com @@ -15426,7 +15059,6 @@ beeflower-cn.com beegoedu.com beejoygames.com beelink.com -beencounter.com beep365.com beeplay123.com beer-ui.com @@ -15444,7 +15076,6 @@ begoto.com begowin.com behake.com behao.net -behe.com behr.com behrenswatches.com behrenswatches.shop @@ -15453,7 +15084,6 @@ beianidc.com beianw.com beibaobang.com beibaozq.com -beibbs.com beibei.com beibenkc.com beicaiyuan.com @@ -15484,13 +15114,12 @@ beifangfoshifen.com beifangjiaoyu.com beifeng.com beifuni.com -beifz.com beigangyouxuan.com -beigedi.com beigonggroup.com beiguorc.com beihai365.com beihai97.com +beihaidc.com beihaigame.com beihailihe.com beihaimayi.com @@ -15522,6 +15151,7 @@ beijing-tokyo.com beijing101.com beijing120.com beijing518.com +beijingaierfei.com beijingapt.com beijingbang.com beijingbaomu.com @@ -15577,6 +15207,7 @@ beimeigoufang.com beimeihongfeng.com beimeizhijia.com beimeizhiying.com +beina.cc beinglab.com beingmate.com beipenggroup.com @@ -15608,19 +15239,15 @@ beiwaionline.com beiwaiqingshao.com beiwo.com beiww.com -beiwz.com beixibaobao.com beixingmh.com beiyijt.com beiyinqi.com beiyiskjc.com beiyongzhan.com -beiyu.xin -beiyunzd.com beiyuwangxiao.com beizengtech.com beizhua.com -beizi.biz beiziman.com bej9.com bejirog.com @@ -15644,8 +15271,6 @@ beltxman.com bemanicn.com bemfa.com bemhome.com -bemro.com -benapple.net benbenlong.com benber-tech.com benber.com @@ -15663,7 +15288,6 @@ benduo.net benellimotor.com benewake.com benfuip.com -bengbeng.com bengbufan.com bengbukx.com bengden.com @@ -15691,7 +15315,6 @@ benma.com benmi.com benmu-health.com bennybu.fun -benpsbp.com benqhospital.com benqmedicalcenter.com benqmedicalcentersz.com @@ -15726,10 +15349,10 @@ berchina.com berens-china.com berfen.com bergerda.com +berlin8.org berlinchan.com berlinix.com bernouly.com -berqin.com berrydigi.com berrygenomics.com bersella-ai.cc @@ -15737,7 +15360,6 @@ bersilion.com bertadata.com berui.com berylbot.com -beryt111.fun bes.ren besbranding.com bescar.com @@ -15800,8 +15422,10 @@ bestlee.net bestlosslessmusic.com bestmate.net bestmoban.com +bestomro.com bestone.com bestone.vip +bestopview.com bestpay.net bestpeng.com bestqliang.com @@ -15851,6 +15475,7 @@ betawm.com betazixun.com betcctv.com betely.com +bethh777.com betop-cn.com betop365.com betophall.com @@ -15861,19 +15486,15 @@ better365.com betterclyde.com betteredu.net betteryeah.com -betterzip.net -betterzipcn.com beuyinm.com beva.com bevol.com -bewaycare.com bewellbio.com bewg.net bewgnn.com beyebe.com beymen.com beyondbit.com -beyondcompare.cc beyondcomparepro.com beyondfund.com beyondh.com @@ -15894,41 +15515,52 @@ bfcdnsc.com bfchayuan.com bfcmovie.com bfdcloud.com +bfe-networks.com +bfe-networks.net bffengshi.com bffyun.com bffzb.com bfgho.com bfhmj.com +bfhmq.com +bfhzmj.com bfikuncdn.com +bfimg.com bfjr.com +bfjxmajiang.com bfjxmj.com +bfklyhuan.com +bflschayuan.com bfnbgame.com +bfningbo.com bfnxxcdn.com bfqh.com bfqifu.com bfqqsg.com bfqtchayuan.com +bfqzmyq.com bfscoc.com bfsea.xyz bfsmy.com bfssj.com bfsu-artery.net bfsutw.com -bfszw.com +bfsxmj.com bft-robot.com bftq.com bftv.com bfvvs.com bfw.wiki bfxiuxianqipai.com +bfypq.com bfyx.com bfyx.net bfzhan.com -bg339.com +bfzzmj.com +bg.v4.a.dl.ws.microsoft.com +bg4.v4.a.dl.ws.microsoft.com bg45.com bg7ywl.com -bgaix.com -bgbg00.fun bgbjjtd.com bgbk.org bgbluesky.com @@ -15954,7 +15586,6 @@ bglmzm.com bgmfans.com bgnyl.com bgosp.com -bgp.deploy.akamai.com bgrbjt.com bgrdh.com bgri.com @@ -15965,6 +15596,7 @@ bgsdyz.com bgsyb.com bgteach.com bgtwater.com +bgucu.com bgv888.com bgvalve.com bgwcsz.com @@ -15991,12 +15623,11 @@ bh-xhhd.com bh.sb bh1t.com bh3.com -bh4dks.com bh5.com bh568.com +bh8cg18i96.com bh8sel.com bhabb.com -bhakte.com bhbaihua.com bhccn.com bhcd.net @@ -16011,7 +15642,6 @@ bhdl520.com bhdns.com bhdxfsyy.com bhdyjs.com -bheae.com bhecard.com bheyy.com bhfc.net @@ -16043,7 +15673,6 @@ bhmlsys.com bhnet.net bhnge.com bhnsh.com -bhovrath.com bhpcc.com bhpiano.com bhpiston.com @@ -16095,7 +15724,6 @@ bian-min.com bianbao.net biancheng.net biancui.com -biandaosheng.com biandiantong.com biandouyun.com biandown.com @@ -16109,7 +15737,6 @@ bianjiebao.com bianjiqi.net bianjiyi.com bianju.me -bianlei.com bianlifeng.com bianlun.net bianmachaxun.com @@ -16120,9 +15747,6 @@ biantaishuo.com biantongzixun.com bianwa.com bianwanjia.com -bianxian.com -bianxianmao.com -bianxianwu.com bianyifang.com bianyuandaigou.com bianzhia.com @@ -16161,12 +15785,12 @@ biaozhiku.com biaozhun.org biaozhun8.com biaozhuns.com +bibaodao.com bibenet.com bibibi.net bibigpt.co bibiku.com bible.vip -bibuzhengxing.com bicido.com bicobrand.com bicoin.info @@ -16177,7 +15801,6 @@ bicv.com bicyc.com bid-view.com bidchance.com -biddingx.com bidemi.com bidepharm.com bidepharmatech.com @@ -16187,7 +15810,6 @@ bidianbao.com bidianer.com bidingxing.com bidizhaobiao.com -bidjora.com bidns.net bidtoolads.com biduo.cc @@ -16205,7 +15827,6 @@ biema.com biept.com bieshu.com bietongfeng.com -bieuc.icu bieyangapp.com bieyelighting.com bifabu.com @@ -16268,6 +15889,7 @@ bigtide.com biguiyuan.net biguo100.com biguolunwen.com +biguotk.com bigwayseo.com bigwh.com bigwinepot.com @@ -16275,7 +15897,6 @@ bigwww.com bigxiao.com bigyulin.com bigzhong.com -bihaipack.com bihe0832.com bihongbo.com bihoo.com @@ -16318,6 +15939,7 @@ bilibili.co bilibili.com bilibili.li bilibili.net +bilibili.tv bilibili996.com bilibiligame.co bilibiligame.net @@ -16326,6 +15948,8 @@ bilibilipay.com bilicdn1.com bilicdn2.com bilicdn3.com +bilicdn4.com +bilicdn5.com bilicomic.com bilicomics.com biligame.co @@ -16339,6 +15963,7 @@ biliintl.co biliintl.com bilimanga.net bilinovel.com +biliplus.com biliui.com bilive.com bilivideo.com @@ -16349,7 +15974,6 @@ billchn.com billionaireboard.com billionbottle.com billionconnect.com -billionfocus.com billionseo.com billowlink.com billu.cc @@ -16596,6 +16220,7 @@ bison-technologies.com bisonglighting.com bisonscm.com bisp.com +bistream.net bit-king.net bitahub.com bitauto.com @@ -16605,7 +16230,6 @@ bitbe.at bitbrowser.net bitcar.com bitcellulose.com -bitcongress.com bitcron.com bitdefender-cn.com biteabc.com @@ -16647,10 +16271,8 @@ biulie.com biusoft.com biwaihui.com biwuke.com -bixiabook.com bixiaxs.net bixingxing.com -bixinlive.com bixishang.com bixu.cc bixu.me @@ -16685,7 +16307,6 @@ biz-abroad.com biz-east.com biz-email.net biz178.com -biz37.net biz72.com bizatmobile.com bizcent.com @@ -16710,7 +16331,6 @@ bizmoto.com biznewscn.com bizopsmall.com bizpai.com -bizrotator.com bizsmooth.com bizsmooth.org bizsn.com @@ -16731,7 +16351,6 @@ bj-git.com bj-hengdeli.com bj-hzzs.com bj-ipcf.org -bj-jinsly.com bj-jzgg.com bj-klws.com bj-kpn.com @@ -16770,7 +16389,6 @@ bj51.org bj520.com bj597.com bj5i5j.com -bj76.com bj7z.com bj80.com bj918.com @@ -16780,6 +16398,7 @@ bjadmix.com bjadn.net bjagro.com bjaja.com +bjango.com bjanjili.com bjartmuseum.com bjatv.com @@ -16795,6 +16414,7 @@ bjbkwy.com bjblackhole.com bjbna.com bjbpi.com +bjbrew.com bjbtfu.com bjbus.com bjbxg8.com @@ -16807,7 +16427,6 @@ bjcag.com bjcancer.org bjcankao.com bjcapital.com -bjcathay.com bjcatzgroup.com bjcdc.org bjcdomain.com @@ -16815,7 +16434,6 @@ bjceis.com bjcgtrain.com bjchengjiu.com bjchishengkeji.com -bjchun.com bjchunxin.com bjcjl.net bjcjyt.com @@ -16885,13 +16503,13 @@ bjfpw.com bjfqy.com bjfriendshiphotel.com bjfsali.com -bjfsk.xyz bjfyw.org bjfzst.com bjgas.com bjgasgh.com bjgastx.com bjgcl.com +bjgdkn.com bjgdzx.com bjgfa.com bjggk.com @@ -16909,8 +16527,6 @@ bjgree.net bjgujibaohu.com bjgumu.com bjguodu.com -bjgvpn.amd.com -bjgvpn2.amd.com bjgxhy.com bjgxs.com bjgymq.com @@ -16935,11 +16551,9 @@ bjhmcm.com bjhmyq.com bjhouse.com bjhrha.com -bjhscx.com bjhsyk.com bjhsyuntai.com bjhszp.com -bjhtcch.com bjhtlckj.com bjhtzsgs.com bjhuaxin.com @@ -17046,11 +16660,9 @@ bjmama.com bjmama.net bjmamiai.com bjmania.com -bjmantis.net bjmda.com bjmeikao.com bjmerson.com -bjmfzyz.com bjmjm.com bjmslp.com bjmti.com @@ -17168,7 +16780,6 @@ bjsubway.cc bjsubway.com bjsuewin.com bjsunhouse.com -bjsvp35.space bjsvp38.space bjsxdgzc.com bjsxjt.com @@ -17185,13 +16796,14 @@ bjtcf.com bjtcy.com bjtdhkj.com bjtelecom.net +bjtieke.com bjtitle.com bjtjhn.com bjtjw.net bjtjzx.com bjtkyy.com -bjtlky888.com bjtmjr.com +bjtndao.org bjtobacco.com bjtonghui.com bjtongjian.com @@ -17285,6 +16897,7 @@ bjyszb.com bjythd.com bjyuantong.com bjyubing.com +bjyueshenzj.com bjyujinxiang.com bjywt.com bjyxl.com @@ -17346,13 +16959,15 @@ bk-cdn.com bk3r.com bk41.net bk5u.com +bkapigw.com bkapps.com bkbyxa.com +bkcipbewruo.com bkclouds.cc -bkdg.net bkdou.com bkdyhz.com bkeconomy.com +bkiije.com bkill.com bkill.net bkjia.com @@ -17373,14 +16988,13 @@ bkt123.com bktencent.com bktsj.com bkuax.com -bkvps.com bkweek.com bkzzy.com bl.com bl0757.com bl91.com -bla01.com black-unique.com +blackberry.com blackbirdsport.com blackdir.com blackdragon.com @@ -17473,7 +17087,6 @@ bloomagebiotech.com bloomgamer.com bloomtoursvip.com bloqp.com -blossommo.com blossomwed.com bloves.com blovestorm.com @@ -17500,18 +17113,17 @@ blue-skylandscape.com blue-zero.com blue0123.com blue1000.com -blueaggrestore.com bluearchive-cn.com bluebeebox.com bluebellls.com bluebirdme.com +blueboxasia.com bluebridge-amc.com bluebullcn.com bluecardsoft.net bluecatyun.com bluecefa.com bluecity.com -bluecloudprod.com blued.com bluedgames.com bluedhealth.com @@ -17532,9 +17144,11 @@ bluelettercn.org bluelightfuse.com bluelive.me bluenotechina.com +blueocean-china.net blueplus.cc bluepoch.com bluesdream.com +blueseaict.com bluesharkinfo.com blueshow.net blueskykong.com @@ -17549,8 +17163,8 @@ bluetime.com bluetowngroup.com bluewhaleremote.com bluezz.net +blurdev.com blw.moe -blwen.com blwire.com blxfc.com blxs.info @@ -17558,6 +17172,7 @@ blxs.la bly002.com blycctv.com blyun.com +blzddist1-a.akamaihd.net blzls.xyz blzpw.net blzsjx.com @@ -17589,8 +17204,8 @@ bmeol.com bmfsm.com bmgnddfu.com bmh1958.com -bmijs.com bmimage.com +bmj.com bmjet.com bmjzkj.com bml365.com @@ -17681,7 +17296,6 @@ bobdirectbank.com bobdog.com boblog.com bobmao.com -bobo.com bobo2008.com bobo28.com bobo91.com @@ -17697,19 +17311,23 @@ bocai.life bocaicms.com bocaiwawa.com bocamchina.com +bocaviation.com boccfc.cc boce.com boce003.com bocep2c.com bocetest.com bocfullertonbank.com +bocgi.com bocgins.com bochengmed.com +bochk.com bochkonline.com bochyun.com bocichina.com bocifco.com bocifunds.com +bocigroup.com bociim.com bocim.com bocins.com @@ -17727,13 +17345,11 @@ bodatek.net bodchan.com bode-e.com bodestone.com -bodhitangkaart.com bodiantrading.com boditechgx.com bodoai.com bodocn.com bodog.eu -bodog88.com bodu.com boduhappiness.com bodyguard007.com @@ -17756,7 +17372,6 @@ bohaigs.com bohaileasing.com bohailife.net bohaishibei.com -bohaism.com bohaisports.com bohaiyun.com bohanzhubao.com @@ -17786,7 +17401,6 @@ bojoy.net bojun-import.com boka.vc bokaishi.com -bokanghui.net bokao2o.com boke.com boke.one @@ -17832,7 +17446,6 @@ bolo.me bolo.video bolongxm.com bolq.com -bolssc.com boltp.com boluo.link boluogouwu.com @@ -17845,7 +17458,6 @@ boluozaixian.com bom.ai bom2buy.com bomanair.com -bombox.org bomeeting.net bomin-china.com bominelec.com @@ -17854,7 +17466,6 @@ bomman.com bomyg.com bon-top.com bon-wine.com -bonadiguo.com bonan.vip bonbonbongame.com bond120.com @@ -17898,6 +17509,7 @@ bookof.com bookqi.com books51.com bookschina.com +booksgoo.com bookshadow.com bookshi.com bookshop.tw @@ -17927,8 +17539,6 @@ boosj.com boost77.com boostsolar.com boosyi.com -bootcdn.net -bootcss.com bootmb.com bootstrapmb.com booyu-import.com @@ -17993,7 +17603,6 @@ boslon.com bosmaa.com bosmarter.com bosmia.com -boso.ltd bosomchina.com bosondata.net bosong.online @@ -18034,11 +17643,11 @@ bowok.com bowu66.com bowuzhi.fm box-z.com -box.lenovo.com box3.fun boxdouyin.com boxgu.com boxiaole.com +boxilink.com boxisign.com boxjango.com boxuanlw.com @@ -18062,7 +17671,6 @@ boyasoftware.com boyaxun.com boydwang.com boyi.co -boyi.info boyikang.com boying360.com boyingsj.com @@ -18083,7 +17691,6 @@ boyuguandao.com boyunso.com boyuntu.com boyuonline.com -bozhihua.com bozhong.com bozifs.com bp1w.com @@ -18091,24 +17698,22 @@ bpaykwai.com bpec.com bpgjuice.net bphxmc.xyz +bplslb.com +bpltm.com bpmuseum.com bpopdjt.com bppan.com bpqwxsh.com bpsemi.com -bpsso.lenovo.com bpteach.com bpxxfw.com bpxxvo.com -bpztsxx.com bq04.com bqatj.com bqfy.com bqg3.com bqg8.cc bqg8.la -bqg99.cc -bqge.org bqgwap.com bqgwu.net bqgxsw.com @@ -18119,6 +17724,7 @@ bqpoint.com bqq8.com bqrdh.com bqsnn.com +bqtalk.com bqteng.com bqu123.com bqyhb.com @@ -18127,7 +17733,6 @@ br737.com bra-cdche.com brabus-china.com bragood.com -brain.lenovo.com brain1981.com brainmed.com brainqaf.com @@ -18152,7 +17757,6 @@ breeze-chem.com brentron.com brewbeerwiki.org brewersmix.com -brg0.com brick4.com brickmachinery.net bricktou.com @@ -18184,13 +17788,12 @@ broad.com broad.org broadair.net broadbio.com -broadcast.world +broadcasthe.net broadcom-wuxi.com broadex-tech.com broadon.net broadskytech.com broadview-auto.com -brocktonchristian.com bronzesoft.com broqiang.com brosmed.com @@ -18199,9 +17802,9 @@ brother-cn.net brother-movie.com brother.co.jp brotherchem.com +browserleaks.com browurl.com brpcb.com -brsdql.com brsiee.com brsnzp.com brtbeacon.com @@ -18209,13 +17812,11 @@ brtbeacon.net brtn.org brtpawn.com brttc.com -brtv.xyz brtvcloud.com brtxpump.com brunoxu.com brxjzp.com brxtal.com -bryonypie.com bryzq.com bs-56.com bs-bz.com @@ -18285,13 +17886,11 @@ bsmy.cc bsmz.net bsncdn.xyz bsnljt.com -bsp.lenovo.com bspapp.com bsping.com bsqipei.com bsquant.com bsrczpw.com -bsrkt.com bsrmyy.com bsrockwool.com bsrse.com @@ -18299,6 +17898,7 @@ bssfy.com bssgnkyy.com bssyjqrmyy.com bst-lab.com +bstatic.com bstatics.com bstbattery.com bstchemical.com @@ -18322,12 +17922,10 @@ bsydns.com bsydns.net bsyjrb.com bsyjt.com -bsylngy.com bsyxx.com bsyyjt.com bsz666.com bszhly.com -bszhswkj.com bszxtl.com bszyqc.com bt-audio.com @@ -18349,23 +17947,24 @@ btcbca.com btcbtc.tech btcc886.com btccjt.com +btcfans.com btcha.com btclass.net btcside.com btcsos.com btcwatch.com btcxue.com +btd56.com btdad.live btdad17.xyz btdair.com btdog.com btdos.com -btdrhb.com btdy.com btechina.com btedu.net +btei6pis99.com btgame.com -btgame01.com btgdt.com btgljt.com btgtravel.com @@ -18387,7 +17986,6 @@ btltl.com btmayi.cc btmeiju.com btnotes.com -btoo3.com btophr.com btorange.com btosolar.com @@ -18398,9 +17996,7 @@ btpxbf.com btrbdf.com btsemi.com btshidai.com -btsou.org btspreads.com -btstb.com btsteel.com btten.com bttiantang.cc @@ -18410,7 +18006,6 @@ bttzy.com btv.org btvcd.net btvcloud.com -btvu.org btwater.com btwmw.net btwoa.com @@ -18420,7 +18015,6 @@ btxintong.com btydjxc.com btyhkj.com btyijiaxueyuan.com -btyou.com btytgj.com btzbjt.com btzhcc.com @@ -18468,11 +18062,11 @@ buffaloex.com buffst.com bufpay.com bughz.com +bugjump.net bugku.com bugnull.com bugscan.net bugscaner.com -bugtags.com bugu120.com bugua.com buguangdeng.com @@ -18484,13 +18078,13 @@ buhuyo.com buickcare.net buidea.com build-decor.com +build.microsoft.com build9s.io builddecor.org buildface.com buildhr.com buildjob.net buildnewapp.com -buildreamstar.com buildwaterexpo.com buka365.com buke999.com @@ -18501,7 +18095,6 @@ bulaoge.net bulapingc.com bulbsquare.com bulejie.com -bullads.net bullcome.com bullmachinery.com bullvet.net @@ -18528,7 +18121,6 @@ bushangban.com bushi123.com busilinq.com businessconnectchina.com -businessreviewglobal-cdn.com businesssaga.com businesssmallbusiness.net businessweekchina.com @@ -18536,7 +18128,7 @@ busionline.com busituzi.com busnc.com bustoprint.com -busytrade.com +bustruckexpo.com but7.com butair.com butao.com @@ -18579,65 +18171,6 @@ buyoudao.com buysun.net buysweet.com buyu1314.com -buyu9910.com -buyu9912.com -buyu9913.com -buyu9914.com -buyu9916.com -buyu9917.com -buyu9918.com -buyu9919.com -buyu9920.com -buyu9921.com -buyu9923.com -buyu9924.com -buyu9926.com -buyu9927.com -buyu9928.com -buyu9929.com -buyu9930.com -buyu9931.com -buyu9932.com -buyu9934.com -buyu9936.com -buyu9937.com -buyu9938.com -buyu9939.com -buyu9940.com -buyu9941.com -buyu9942.com -buyu9943.com -buyu9946.com -buyu9947.com -buyu9948.com -buyu9949.com -buyu9950.com -buyu9951.com -buyu9952.com -buyu9953.com -buyu9954.com -buyu9956.com -buyu9957.com -buyu9958.com -buyu9959.com -buyu9960.com -buyu9961.com -buyu9962.com -buyu9963.com -buyu9964.com -buyu9970.com -buyu9971.com -buyu9972.com -buyu9973.com -buyu9974.com -buyu9976.com -buyu9979.com -buyu9980.com -buyu9981.com -buyu9982.com -buyu9983.com -buyu9984.com -buyu9986.com buyueyuyun.com buyun.co buzao.net @@ -18645,17 +18178,11 @@ buzhi.com buzhi5.com buzhibushi.com buzhihuowu.net -buzz-stats.com -bvcxd.com -bvdyc.com bvfcdn.com bvfcdn2.com bvgv.com -bvimg.com bvmc.cc bvseo.com -bvubasnf.com -bvv7.com bw1006.com bw30yun.com bw40.net @@ -18677,13 +18204,11 @@ bwgrt.com bwhero.com bwhgsb.com bwie.net -bwin2808.com bwjf.com bwlc.net bwmelon.com bwoer.com bwokai.com -bwpoker.com bwpx.com bwsm.org bwsoft.net @@ -18692,21 +18217,18 @@ bwton.com bwuqy594.com bwxsj.com bwxxw.com -bwz4e.icu bwzhcs.com bx0byte.com bx169.com bx1k.com bx24k.com bxb2b.com -bxbdf.com bxbest.net bxcc.vip bxd365.com bxdaka.com bxdlkj.com bxfish360.net -bxg68.com bxgcb.com bxgdl.com bxgdunhua.com @@ -18725,17 +18247,16 @@ bxktv.com bxkxw.com bxlac.com bxlaocubu.com +bxldz.com bxltw.com bxmd51.com bxnfsy.com bxnjmj.com bxpedia.com -bxqgk.icu bxr.im bxrfund.com bxshopya.com bxshscc.xyz -bxsnews.com bxv8.com bxwatch.com bxwljt.com @@ -18779,7 +18300,6 @@ bydhaiyang.com bydit.com bydmax.com bydoceanauto.com -bydonline.com bydpcic.com bydq.com bydsfy.com @@ -18791,6 +18311,7 @@ byfen.com byfen.net byfunds.com bygamesdk.com +bygpu.com byguitar.com bygw.net byhao.net @@ -18814,6 +18335,7 @@ bynmc.com bynonco.com bynrnews.com bynsyh.com +byodonline.com bypanghu.xyz bypbn.com bypos.net @@ -18849,11 +18371,17 @@ byte00.com byte00.net byte000.com byte008.com +byte7bw.net +byteac.com byteacct.com byteacctimg.com byteactivity.com byteactivity11.com byteactivity12.com +byteactivity13.com +byteactivity14.com +byteactivity15.com +byteactivity16.com byteadverts.com byteapi.com bytecdn.com @@ -18899,6 +18427,7 @@ bytegeckoext.com bytegle.site bytegle.tech bytegoofy.com +bytegqpo.net bytegrowth.com bytegslb.com bytehwm.com @@ -18907,7 +18436,9 @@ byteics.net byteimg.com byteimgc.com byteinspire.com +byteintl.net byteisland.com +bytelb.com bytelb.net bytelb000.net bytell.net @@ -18921,6 +18452,7 @@ byteoc.com byteorg.com byteorge.com byteox.com +byteq5k.com byteq8u.net bytescm.com bytesfield.com @@ -18944,6 +18476,7 @@ bytewebservice.com byteww.com bytexns.com bytexns.net +bytexopen.com bytexservice.com bytezhi.com bythealthy.com @@ -19016,6 +18549,7 @@ bzqmz.com bzrb.net bzrqfd.com bzrtdl.com +bzsanguo.com bzsanyuan.com bzsb.info bzsoso.com @@ -19069,13 +18603,14 @@ c-vcc.com c-wms.com c-yl.com c.admob.com -c.android.clients.google.com -c.citic +c.pki.goog c029.com -c05ua.icu +c052kzyp55.com +c0f1lk250w.com c114.net c133.com c1a0.com +c1a2.com c1a3.com c1ass.com c1channel.com @@ -19083,6 +18618,7 @@ c1el.com c1km1.com c1km4.com c1s.com +c2ax1yu599.com c2h4.org c360dn.com c3acg.com @@ -19093,26 +18629,28 @@ c4008.com c400c.cc c4d.com c4d.live -c4d.online c4datc.com c4dcn.com c4dco.com c4dpro.com c4dsky.com c4hcdn.com -c4uy.icu +c4sy726by8.com c4ys.com c4yx.com c50forum.com +c54sauo3y85m2g.com c5game.com c5iot.com c631dlc0br.com c6c.com c6n708.ren +c72a775z36.com c77c.com c7878.com c7c8.com c833.com +c8uixr96iv79.com c9018.com c919.sbs c969.com @@ -19128,6 +18666,7 @@ ca168.com ca315.com ca39.com ca800.com +ca9ce6rv872ce1.com caa86.org caaa-spacechina.com caaad.com @@ -19144,16 +18683,15 @@ caasai.com caasbuy.com caasse.com caayee.com +cabbagebox.com cabbeen.com cabc-online.com cabee.org cabhr.com cabinetbuy.com -cabinnet.org cableabc.com cabletiegun.com cabling-system.com -cablingteam.com cabplink.com cabr-fire.com cac-citc.com @@ -19161,8 +18699,6 @@ cacakp.com cacfo.com cacfo.net cachaona.com -cache-management-prod.google.com -cache.pack.google.com cache4ever.com cache666.com cachekit.com @@ -19183,7 +18719,6 @@ cad7v18vchs.com cad8.net cad888.com cada.cc -cadcc.icu caddcc.com cadeer.net cadenzayueqi.com @@ -19256,16 +18791,15 @@ caigeqiu.vip caigou2003.com caigou365.com caigoubao.cc +caigoutong.net caiguayun.com caiguu.com caih.com -caihang.com caihanlin.com caihcloud.com caihcom.com caihdata.com caiheht.com -caihgnkedndgk.com caihong.com caihong5g.com caihong8888.com @@ -19354,11 +18888,9 @@ caiweiming.com caiwu51.com caiwuchina.com caixin.com -caixinedu.com caixinfoundation.org caixinmedia.com caixinonline.com -caiyeml.pw caiyicloud.com caiyiduo.com caiyu.com @@ -19390,8 +18922,6 @@ cali-light.com callbei.com callcenter88.com callergen.com -callhome.uds-qa.lenovo.com -callhome.uds-sit.lenovo.com callmekeji.com callmysoft.com callrui.com @@ -19400,11 +18930,11 @@ calorietech.com calt.com calterah.com calvinneo.com -camarks.com camartsphotography.com cambm.com cambodiafang.com cambricon.com +cambridge.org camc.cc camcap.us camcard.com @@ -19430,6 +18960,7 @@ campushoy.com campusphere.net campusplus.com campusroom.com +camreizuxphd.com camrymetal.com camscanner.com camsnetec.com @@ -19479,7 +19010,6 @@ cangya.com cangzhouhd.com canhighcenter.com canhot.net -canhuozmt.com caniculab.com canidc.com cankao100.com @@ -19547,7 +19077,6 @@ caohai.com caohaifeng.com caohejing.com caohua.com -caojinglawyer.com caoke.net caoliao.net caomall.net @@ -19555,7 +19084,6 @@ caomei.wiki caomeipai.com caomeishuma.com caomeixz10.xyz -caomeixz7.xyz caoniang.com caonmp.com caonv.net @@ -19621,6 +19149,7 @@ careerexe.com careerintlinc.com careerqihang.com careersky.org +careked.com carelifefood.com carertec.com careuc.com @@ -19642,12 +19171,14 @@ carmucn.com carnegiebj.com carnoc.com carodpiano.com -carols-cards.com carp56.com carpoly.com carrobot.com carrotchou.blog carrotchou.com +carry6.com +carry6.net +carrydj.com cars001.com carschina.com carsmp3.com @@ -19656,14 +19187,14 @@ cartech8.com carthane.com cartimen.com cartoonwin.com -cartx.cloud carutoo.com carxinwen.com carxoo.com +caryoud.com carzd.com carzone365.com carzyuncle.com -cas.wx.lenovo.com +cas.org cas01.com casarocinante.com casarte.com @@ -19682,7 +19213,6 @@ casemic.com cashbackok.com cashbus.com cashcatads.com -cashlai.com cashtoutiao.com cashwaytech.com casia.com @@ -19705,9 +19235,12 @@ caspte.com casql.com casqy.com casszzy.com +cast.news98.com.tw +cast.uforadio.com.tw castbd.com castelu.com castiron-bathtub.com +castlepeakhospital.moe castyum.com casvino.com casvm.com @@ -19740,6 +19273,8 @@ cattsoft.com cattsp.com catugbio.com cature.com +catus.xyz +catuscdn.xyz catv.net catv114.com catweiqi.com @@ -19781,7 +19316,6 @@ cbec365.com cbecok.com cbecx.com cbeeexpo.com -cbeif.com cbes21.com cbevent.com cbex.com @@ -19817,6 +19351,7 @@ cbnweek.com cboad.com cbquan.com cbsbearing.com +cbsnewshd-lh.akamaihd.net cbsrc.com cbtgc.com cbtimer.com @@ -19859,7 +19394,6 @@ ccasy.com ccatcloud.com ccawz.com ccb.com -ccbangong.com ccbbn.org ccbcos.com ccbec-shenzhen.com @@ -19870,13 +19404,14 @@ ccbfund.com ccbfutures.com ccbhome.net ccbiam.com -ccbike.cc +ccbintl.com.hk ccbleasing.com ccbnd.com ccbookfair.com ccbpcn.com ccbpension.com ccbride.com +ccbseoul.com ccbtfs.com ccbxt.com ccc-ch.com @@ -19888,14 +19423,7 @@ cccc-capital.com cccc-sdc.com cccc-sjer.com cccc58.com -ccccc12kkkkk.com -ccccc33kkkkk.com -ccccc66kkkkk.com -ccccc67kkkkk.com -ccccc78kkkkk.com -ccccc88kkkkk.com -cccccd.com -ccccl.net +cccc8cccccc.cc cccclc-gd.com cccclc.com ccccoe.cc @@ -19904,8 +19432,6 @@ ccccsg.com cccdun.com cccdzxw.com cccf-cloud.com -cccf.store -ccchz.com cccitu.com cccity.cc cccjjj.com @@ -19974,7 +19500,6 @@ cchckj.com cchengr.com cchezhan.com cchfound.org -cchicc.com cchlgame.com cchorse.com cchorse.net @@ -20050,7 +19575,6 @@ cclndx.com cclolcc.com cclqme.xyz ccluster.net -cclycs.com cclyun.com ccm-1.com ccm-hardware.com @@ -20089,6 +19613,7 @@ ccotcm.com ccoymc.com ccp3060.com ccpaie.com +ccpc.io ccpc360.com ccpgssd.com ccpit-academy.org @@ -20133,6 +19658,7 @@ ccqgyx.com ccqtgb.com ccqtm.com ccqyj.com +ccrate.cc ccrfmed.com ccrgt.com ccrice.com @@ -20172,9 +19698,7 @@ cctcce.com cctcct.com cctcdn.com cctek.com -cctg.cc cctheze.com -cctiedu.com cctime.com cction.com cctlife.com @@ -20216,7 +19740,6 @@ cctx123.com cctypx.com cctzz.net ccughc.net -ccunf.com ccutchi.com ccutu.com ccv160.com @@ -20285,6 +19808,7 @@ cdadata.com cdadsj.com cdairport.com cdajcx.com +cdajzp.com cdamdi.com cdanet.org cdangel.com @@ -20304,17 +19828,14 @@ cdcc.ink cdccic.com cdccpit.org cdcea.org -cdcet.com cdcgames.net cdchjyy.com cdchuandong.com cdcitypark.com cdcoslm.com -cdcs34.fun cdcxhl.com cdcxsd.com cdcyts.com -cdcz.net cddayun.com cddc56.com cddengji.com @@ -20357,7 +19878,6 @@ cdgql.com cdgrf.com cdgtw.net cdgxfz.com -cdgxq.com cdgxsyzx.com cdgxxy.net cdh3c.com @@ -20397,7 +19917,6 @@ cdjxjy.com cdjzso.com cdjzw.com cdjzwykj.com -cdjzx120.com cdjzzg.com cdkeynogap.com cdkf.com @@ -20408,7 +19927,6 @@ cdkyfc.com cdlaobing.com cdlbmy.com cdlbyl.com -cdlccc.com cdlchd.com cdlgp.com cdliangwang.com @@ -20427,39 +19945,35 @@ cdmmlxs.com cdms-china.com cdn-cba.com cdn-cdn.net -cdn-cn1.apple-mapkit.com -cdn-cn2.apple-mapkit.com -cdn-cn3.apple-mapkit.com -cdn-cn4.apple-mapkit.com cdn-dodo.com cdn-gw-dv.net -cdn-gw-dv.vip cdn-hotels.com -cdn-hz.skypixel.com -cdn-light-cms-cn.skypixel.com cdn-speed.com cdn-static.farfetch-contents.com cdn-uc.cc -cdn-usa.skypixel.com cdn-v.com -cdn.apple-mapkit.com +cdn-videos.akamaized.net +cdn.ampproject.org +cdn.angruo.com cdn.fun +cdn.globalsigncdn.com.cdn.cloudflare.net +cdn.hkdtmb.com +cdn.jetbrains.com +cdn.marketplaceimages.windowsphone.com cdn.samsung.com cdn.shanghai.nyu.edu cdn.show cdn.vin +cdn.zampdsp.com cdn08.com -cdn1.apple-mapkit.com cdn1008.com cdn1218.com cdn16.com -cdn2.apple-mapkit.com cdn20.com cdn20.info cdn20.org cdn2000.com cdn2020.com -cdn3.apple-mapkit.com cdn30.com cdn30.info cdn30.org @@ -20467,9 +19981,11 @@ cdn3344.com cdn35.com cdn365gnlc.vip cdn365lc.vip -cdn4.apple-mapkit.com cdn40.com +cdn50.com cdn56.com +cdn60.com +cdn778.com cdn86.net cdn88.cc cdn90.com @@ -20500,7 +20016,9 @@ cdndm5.com cdndm5.net cdndns1.com cdndns2.com +cdndns2.net cdndo.com +cdndoctor.com cdndu.com cdnet110.com cdnetdns.net @@ -20511,9 +20029,11 @@ cdnetworks.net cdnexus.com cdnf.cc cdnff.com +cdnfree.org cdngia.com cdngogo.cc cdngogo2.cc +cdngot.com cdngslb.com cdngslb8.com cdngtm.com @@ -20526,6 +20046,7 @@ cdnhwc3.com cdnhwc4.com cdnhwc5.com cdnhwc6.com +cdnhwc7.com cdnhwc8.com cdnhwc9.com cdnhwcajk17.com @@ -20535,6 +20056,7 @@ cdnhwcbqs106.com cdnhwcbzj102.com cdnhwcchh18.com cdnhwccmz121.com +cdnhwcead111.com cdnhwcedi10.com cdnhwcedt124.com cdnhwcggk22.com @@ -20542,6 +20064,7 @@ cdnhwcgnc118.com cdnhwcgqa21.com cdnhwchcg02.com cdnhwcibv122.com +cdnhwcick110.com cdnhwcjlg112.com cdnhwcjog12.com cdnhwcjsb120.com @@ -20569,6 +20092,7 @@ cdnhwcvix16.com cdnhwcxcy07.com cdnhwczba04.com cdnhwczjt20.com +cdnhwczks109.com cdnhwczmn114.com cdnhwczth23.com cdnhwcztu09.com @@ -20576,7 +20100,6 @@ cdnhwczxh101.com cdnidc.net cdnjs8888.com cdnjson.com -cdnjsp.wang cdnjtzy.com cdnkxy.com cdnle.com @@ -20584,13 +20107,11 @@ cdnle.net cdnlinkcloud.com cdnlinking.com cdnmama.com -cdnmaster.com cdnmg.com cdnok.com cdnpe.com cdnqiangdun.com cdnqttdispatcher01.com -cdnrl.com cdnsvc.com cdntip.com cdntips.com @@ -20606,11 +20127,7 @@ cdnyfc.com cdnyoyun.com cdnyt69.com cdnyyds999.com -cdo-tst.lenovo.com -cdo.lenovo.com cdoers.com -cdouj.com -cdp.djiservice.org cdpgroupltd.com cdqcnt.com cdqcp.com @@ -20638,15 +20155,10 @@ cdrqxh.com cdrsigc.com cdrtvu.com cdruzhu.com -cds-cdn.v.aaplimg.com cds-seal.com -cds.apple.com -cds.apple.com.akadns.net -cdsassets.apple.com cdsb.com cdsb.mobi cdscdscdn.com -cdscs990.fun cdsenfa.com cdsgsz.com cdshangceng.com @@ -20682,17 +20194,13 @@ cdtnrq.com cdtszn.net cdtyxx999.com cdtz.net -cdu.cc cduncname.com cdvcloud.com cdvisor.com cdweikebaba.com -cdweikebaba.xin cdwulian.com cdwx1.com -cdxczl.com cdxdyy.com -cdxjrc.com cdxrdz.com cdxsxbx.com cdxw.net @@ -20710,7 +20218,6 @@ cdylzx.net cdynt.com cdyou.net cdyrjygs.com -cdyrzc.com cdysxx.com cdysxxe.com cdysxy.com @@ -20742,17 +20249,18 @@ cdzzxxe.com ce-air.com ce04.com ce2293.com -ce33m7.com ceacq.com ceair.com ceairdutyfree.com ceairgroup.com ceaj.org ceamg.com +ceawgez.com ceba.tech cebbank.com cebcn.com cebike.com +ceblease.com cebpubservice.com cebu.vip cecb2b.com @@ -20926,12 +20434,7 @@ cernet.net cernet2.net cersign.com cersp.com -certified-timestamp.globalsign.com -certlab.org -certs.apple.com -ceruchina.com cervicalsurgeon.com -ceryt111.fun ces-transaction.com cese2.com cesfn.com @@ -20969,6 +20472,7 @@ ceyige.com cezhu.net cf-ns.com cf-ns.net +cf-ns.site cf-ns.tech cf115.com cf69.com @@ -20987,21 +20491,18 @@ cfd-china.com cfd163.com cfda.pub cfdp.org -cfdvd779.fun cfdwater.com cfecq.com cfedu.net +cfei.net cfej.net cfeks.com -cfeng.wang -cfenl.com cffote.com cfgbj.com cfgfr.com cfgjwl.com cfgpu.com cfgyp.com -cfhc.citic cfhfz.com cfhi.com cfhpc.org @@ -21027,11 +20528,11 @@ cfm119.com cfmcc.com cfmcjr6.xyz cfmmc.com +cfmna-tencent.com cfmogu.com cfmoto.com cfnotes.com cfogc.com -cfqc.me cfrlr.com cfsbcn.com cfscar.com @@ -21042,6 +20543,8 @@ cfsuper.com cftcredit.com cftea.com cftecgroup.com +cftest7.com +cftest8.com cftsupport.com cftzqinzhou.com cfucn.com @@ -21056,7 +20559,6 @@ cfyedu.com cfyy.cc cfyygf.com cfyzs.com -cfzhgm.com cfzpw.com cfzq.com cfztq.com @@ -21066,7 +20568,6 @@ cg-schools.com cg009.com cg100iii.com cg1993.com -cg2017.com cg98.com cg99.com cgacar.com @@ -21082,7 +20583,6 @@ cgdeuvip.com cgdg.com cgdown.com cgdream.org -cge.cc cgebio.com cgebook.com cgeinc.com @@ -21112,7 +20612,7 @@ cgnei.com cgnjy.com cgnmc.com cgnne.com -cgoiiq.com +cgntv-glive.ofsdelivery.net cgonet.com cgowater.com cgown.com @@ -21165,6 +20665,7 @@ ch-water.com ch.com ch028.net ch12333.com +ch6k5zd77f.com ch9888.com ch999.com ch999img.com @@ -21213,6 +20714,7 @@ chain.cc chain56.com chaincar.com chaincatcher.com +chaindd.com chainedbox.com chainhd.com chainknow.com @@ -21235,7 +20737,6 @@ chajie.com chajn.org chakahao.com chakahui.com -chakd.com chakonghao.com chakuaizhao.com chalaili.com @@ -21257,7 +20758,6 @@ championmkt.com championunion.com champsely.com chan.ink -chance-ad.com chancel.ltd chandao.net chandashi.com @@ -21305,7 +20805,6 @@ changhongit.com changhu12333.com changhualaw.com changhuist.com -changingedu.com changingie.com changingtek.com changjiangdata.com @@ -21319,6 +20818,7 @@ changker.com changkezhe.com changlihui.com changlipeixun.com +changliuabc.com changloong.com changloong.net changmeigj.com @@ -21327,7 +20827,6 @@ changning.net changpingquzhongxiyijieheyiyuan.com changpu3d.com changqingshu.net -changqingteng.ltd changqu.cc changshabdc.com changshajzy.com @@ -21378,6 +20877,7 @@ chanjue.net chanluntan.com chanmama.com channelbeyond.com +channellive.leshantv.net channingsun.bid chanpay.com chanpin100.com @@ -21385,7 +20885,6 @@ chanpinban.com chanpindashi.com chansemt.com chanshi.vip -chanumber.com chanway.net chanwind.com chanxuan.com @@ -21420,7 +20919,6 @@ chaokaixin.net chaolady.com chaolean.com chaoliangkj.com -chaoliangyun.com chaoliuguan.com chaolongbus.com chaoluoluo.com @@ -21431,7 +20929,6 @@ chaonenglu.com chaopaiyizu.com chaopx.com chaoren.com -chaorenjiaoshi.com chaorenxiu.com chaoschina.com chaosec.com @@ -21440,7 +20937,6 @@ chaoshen.cc chaoshengboliuliangji.com chaoshengxin.com chaoshi168.com -chaoskeh.com chaosqh.com chaosw.com chaov.com @@ -21506,6 +21002,7 @@ chayiba.com chayu.com chayueshebao.com chayuqing.com +chazhengla.com chazidian.com chaziyu.com chazuo.com @@ -21516,7 +21013,6 @@ chbdunt.com chblt.com chbml.com chbpp.com -chbtc.com chce-expo.com chcedo.com chceg.com @@ -21545,6 +21041,7 @@ che101.com che12.com che127.com che168.com +che168.net che2.com che300.com che314.com @@ -21571,15 +21068,12 @@ chebiao.net chebrake.com checar.mobi chechaoxue.com -checheboke.com checheng.com chechong.com chechuan.com checi.org check.cc -check.kt.lenovo.com checkaigc.com -checkin.gstatic.com checkip.pw checkmath.net checkoo.com @@ -21592,7 +21086,6 @@ cheduo.com cheegu.com cheerfun.dev cheerjoy.com -cheeroad.com cheersee.com cheersofa.com cheerspublishing.com @@ -21640,6 +21133,7 @@ chemcp.com chemcyber.com chemdodgen.com chemdrug.com +chememall.com chemfish.com chemgogo.com chemi-tech.com @@ -21649,6 +21143,7 @@ chemingpian.com chemm.com chemmade.com chemmerce.com +chemmuseum.com chemnet.com chemourscg.com chempacific-china.com @@ -21690,7 +21185,6 @@ chengdubao.com chengdufanyi.com chengdun.com chengdurail.com -chengduworldcon.com chengduzhishang.com chengduzhouming.com chengegeya.com @@ -21736,7 +21230,6 @@ chengshan.com chengshidingxiang.com chengshiguanjia.com chengshijun.com -chengshiluntan.com chengshiw.com chengshu.com chengsmart.com @@ -21753,6 +21246,7 @@ chengwei.com chengweitx.com chengxiangqian.com chengxiangzhineng.com +chengxiaoliu.com chengxingjicj.com chengxinlinghang.com chengxinsy.com @@ -21774,7 +21268,6 @@ chengzhinj.com chengzhongmugu.ltd chengzhongmugu.vip chengzhou.net -chengzijianzhan.cc chengzijianzhan.com chengzivr.com chengzz.com @@ -21805,7 +21298,6 @@ chenplus.com chenpon.com chenpot.com chenroot.com -chenruisoft.com chenruixuan.com chenruo.net chens.life @@ -21814,7 +21306,6 @@ chensuyang.com chenty.com chenva.com chenwenwl.com -chenxiangwenhuayanjiuweiyuanhui.com chenxiao.cc chenxin99.com chenxinghb.com @@ -21860,6 +21351,8 @@ cheshijie.com cheshipin.com cheshirex.com cheshizh.com +chesicc.com +chesicc.net chesir.com chesir.net chestercharles.com @@ -21886,7 +21379,6 @@ chexiaoliang.net chexin.cc chexinmeng.com chexiu.com -chexiw.com chextx.com chexun.com chexun.net @@ -21899,7 +21391,6 @@ cheyou123.com cheyuan.com cheyun.com cheyuu.com -chez360.com chezaiyi.com chezhanri.com chezhibao.com @@ -21929,7 +21420,6 @@ chi86.com chianbaohan.com chibanting.com chichuang.com -chicken18.com chickfrp.com chiconysquare.com chicopharm.com @@ -21961,6 +21451,7 @@ childjia.com childlib.org childrentheatre.org chileaf.com +chili3d.com chillyroom.com chilunyc.com chiluyingxiao.com @@ -21975,7 +21466,6 @@ china-3.com china-315.com china-ah.com china-anhe.com -china-applefix.com china-asahi.com china-aseanbis.com china-asm.com @@ -21985,14 +21475,12 @@ china-b.com china-baiyun.com china-bdh.com china-bee.com -china-bestmind.com china-bicycle.com china-biding.com china-bluestar.com china-bme.com china-borun.com china-boya.com -china-caa.org china-caihua.com china-cale.com china-capsule.com @@ -22012,6 +21500,7 @@ china-ced.com china-ceec-cooperation.com china-cet.com china-cfa.org +china-chair.com china-channel.com china-chca.org china-chigo.com @@ -22030,6 +21519,7 @@ china-cotton.org china-cpp.com china-cpu.co china-cpu.com +china-cri.com china-csm.org china-cssc.org china-cycle.com @@ -22042,7 +21532,6 @@ china-dt.com china-dtv.com china-eaea.com china-ecee.com -china-ef.com china-eia.com china-embassy.org china-engine.net @@ -22167,7 +21656,6 @@ china-shancun.com china-shimo.com china-shjyx.com china-show.net -china-shufa.com china-shufajia.com china-shufan.com china-shugaung.net @@ -22180,6 +21668,7 @@ china-spirulina.net china-springs.com china-sss.com china-stainless.com +china-sunshine.com china-sz.com china-thk.com china-tin.com @@ -22197,7 +21686,6 @@ china-tsac.com china-ufo.net china-uju.com china-up.com -china-uva.com china-valve.com china-vcom.com china-vision.org @@ -22236,15 +21724,14 @@ china-zhongda.net china-zikao.com china-zjj.net china-zrg.com -china-zyd.com china-zysj.com china.com china.mintel.com china000799.com china001.com +china12345.net china12365.com china124.com -china161.com china17.net china1baogao.com china1f.com @@ -22284,7 +21771,6 @@ chinaamc.com chinaang.com chinaant.com chinaant.net -chinaapper.com chinaarabcf.org chinaaris.com chinaartificialstone.com @@ -22330,7 +21816,6 @@ chinabigwin.com chinabike.net chinabim.com chinabird.org -chinabjfh.com chinablackcat.com chinablowers.com chinabmi.com @@ -22369,7 +21854,6 @@ chinacatel.com chinacba.org chinaccia.com chinaccm.com -chinaccpg.com chinaccsi.com chinacct.org chinacdc.com @@ -22395,7 +21879,6 @@ chinachild.org chinachina.net chinachugui.com chinachuntian.com -chinaciaf.org chinacib.com chinacid.org chinacie.org @@ -22437,7 +21920,6 @@ chinacrosspoint.com chinacrt.com chinacses.org chinacsf.com -chinacsky.com chinactv.com chinaculture.org chinacustomsdata.com @@ -22445,6 +21927,7 @@ chinacxjs.org chinacyx.com chinadachi.com chinadafen.com +chinadafeng.com chinadaily.net chinadailyglobal.com chinadais.net @@ -22457,6 +21940,7 @@ chinadatatrading.com chinadazhaxie.com chinadbs.com chinaddn.com +chinaddos.com chinadds.net chinadentalshow.com chinadep.com @@ -22669,7 +22153,6 @@ chinaiol.com chinaiprlaw.com chinairn.com chinairport.net -chinairr.org chinait.vip chinaitcapital.com chinaitlab.com @@ -22707,7 +22190,6 @@ chinakab.com chinakangping.com chinakangyue.com chinakaoyan.com -chinakasa.com chinakeon.com chinakewei.com chinakidville.com @@ -22788,7 +22270,6 @@ chinamerger.com chinametro.net chinameyer.com chinamie.org -chinamingge.com chinamingyan.net chinamining.com chinamishu.net @@ -22796,12 +22277,12 @@ chinamission.be chinamissun.com chinamobile.com chinamobiledevice.com +chinamobileltd.com chinamobilesz.com chinamost.net chinamotian.com chinamsa.org chinamssp.com -chinamule.com chinamuscle.org chinamusical.net chinamwh.com @@ -22827,7 +22308,6 @@ chinaningbo.com chinanmi.com chinanrb.com chinanums.com -chinanyjs.com chinaobp.com chinaoceanwide.com chinaoct.com @@ -22882,6 +22362,7 @@ chinapoto.com chinapower.org chinapowerbi.com chinapp.com +chinapp.net chinapsy.com chinapubmed.net chinapuleather.com @@ -22928,7 +22409,6 @@ chinasanc.com chinasantian.com chinasareview.com chinasatcom.com -chinasb.org chinasbm-eet.com chinasbm.com chinasciencejournal.com @@ -23005,6 +22485,7 @@ chinatalent.org chinatalentgroup.com chinatat.com chinatechinsights.com +chinatelecom-h.com chinatelecom.com.hk chinatelecom.com.mo chinatelecomglobal.com @@ -23057,11 +22538,12 @@ chinaufo.com chinaui.com chinauidesign.com chinauma.com -chinauma.net chinaums.com chinaun.net chinaunicom-a.com chinaunicom.com +chinaunicom.com.hk +chinaunicomglobal.com chinaunionpay.com chinaunionpay.net chinauniversalasset.com @@ -23076,6 +22558,7 @@ chinaus.com chinauwei.com chinava.net chinavalin.com +chinavas.com chinavcpe.com chinavfx.net chinavid.com @@ -23172,7 +22655,6 @@ chinaz.net chinazbd.com chinazbj.com chinazh.net -chinazhaoye.com chinazhifu.com chinazhijiang.com chinazhz.com @@ -23183,8 +22665,8 @@ chinazjph.com chinazjy.com chinazkjc.com chinazmhb.com -chinazmob.com chinaznj.com +chinazns.com chinaznyj.com chinazov.com chinazsgroup.com @@ -23258,7 +22740,6 @@ chipsir.com chipup.com chipwing.com chipyun.com -chiq-cloud.com chiralquest.com chisage.com chisai.tech @@ -23301,7 +22782,6 @@ chjso.com chjyw.org chkee.com chkschool.com -chlbiz.com chlingkong.com chlmfm.com chlmiao.com @@ -23324,7 +22804,6 @@ chnau99999.com chnbook.org chnboxing.com chnchi.com -chnci.com chncia.org chncomic.com chncon.com @@ -23372,7 +22851,6 @@ chofn.org chofnipr.com choiceform.com chomixbiotech.com -chong-wu.net chong4.net chongchi.com chongchuang.biz @@ -23411,7 +22889,6 @@ chongzuo.club chonka.com chontdoled.com chonton.com -choosephones4u.com choosepickhere.com choositon.com chooway.com @@ -23450,14 +22927,12 @@ chronusartcenter.org chrstatic.com chs.pub chs5e.com -chsapx.com chsbs.com chsdl.com chsdpharma.com chsgw.com chshcms.com -chshcms.net -chshouyu.com +chshsaas.com chsmarttv.com chsndt.org chspra.com @@ -23478,8 +22953,10 @@ chu0.com chu110.com chu21.com chu58.com +chua.pro chuairan.com chuaizhe.com +chualamdimsum.com chuan-s.com chuanbojiang.com chuanboyi.com @@ -23545,8 +23022,9 @@ chuangyisai.com chuangyiwh.com chuangyouqi.com chuangyuan.ltd +chuangyuejoy.com chuangzaoshi.com -chuangziran.com +chuangzuoniu.com chuanhai.net chuanhuan.com chuanjiaoban.com @@ -23560,6 +23038,7 @@ chuanqi.com chuanqiart.com chuanqibbs.com chuanshanqundao.com +chuansong.me chuansongme.com chuantangjitrade.com chuantec.com @@ -23572,7 +23051,6 @@ chuanyifu.com chuanyinet.com chuanying365.com chuanying520.com -chuanyinpx.com chuanyuanbang.com chuanyuapp.com chuanyunge.com @@ -23580,6 +23058,7 @@ chuanzhen.com chuapp.com chuasu.com chuban.cc +chubanyun.me chubaodai.com chubaohui.com chubh.com @@ -23605,7 +23084,6 @@ chuisax.com chuishen.xyz chuixue.com chuiyue.com -chuizi.net chujian.xyz chujing-electric.com chujuan.net @@ -23638,13 +23116,13 @@ chunliao.net chunloo.com chunmen.com chunmi.com -chunmiaosh.com chunqiuhong.com chunshen-group.com chunsheng.com chunshuitang.com chunshuizhijia.com chunsuns.com +chuntaoyisheng.com chuntsuan.com chunxing-group.com chunxuanmao.com @@ -23653,11 +23131,9 @@ chunyanhui.com chunyiscdk.com chunyu.me chunyu.mobi -chunyuqiufeng.com chunyuyisheng.com chunzuo.com chuolitech.com -chupl.icu chuquan.me churenjixie.com churuisy.com @@ -23685,6 +23161,7 @@ chuxinvip.com chuxueyun.com chuyigao.com chuying.org +chuyu.me chuzhaobiao.com chvacuum.com chvoice.com @@ -23698,7 +23175,6 @@ chxin-oil.com chxumov.com chxyl.com chxyq.com -chyfh.com chyitech.com chysoft.net chyw.pub @@ -23722,10 +23198,12 @@ ciaie.com ciallo.cc ciaoca.com ciapst.org +ciaxkzxy.com cibaike.com cibawl.com cibfintech.com cibia.org +cibn-intl.com cibn.cc cibn.com cibnlive.com @@ -23810,12 +23288,10 @@ ciidoo.com ciie.org ciif-expo.com ciiip.com -ciimg.com ciiplat.com cijiasu.com cijiyun.com cikelink.com -ciku5.com cilgroup.org ciliba.buzz ciliba.life @@ -23910,19 +23386,23 @@ citic-wealth.com citic.com citicbank.com citicbankuser.com +citiccapital.com citiccard.com citicdameng.com citicenvirotech.com citicfunds.com citicguoanbn.com citichmc.com +citiciam.com +citicifh.com citicleasing.com citicnetworks.com citics.com +citics.com.hk citicsf.com citicsinfo.com citicsteel.com -citidrink.com +citie-gd.com citiraise.com citisa.org citiz.net @@ -23970,6 +23450,7 @@ civigas.com civilness.com civiw.com ciweek.com +ciweekforum.com ciweekly.com ciwei.net ciweimao.com @@ -23993,7 +23474,6 @@ ciyuanji.com ciyuans.com ciyun.link ciyynodegroup.cyou -cizhixin.com cizip.com cj0515.com cj120.com @@ -24002,6 +23482,7 @@ cjasen.com cjavapy.com cjbeng.com cjbjedu.com +cjccb.com cjchina.net cjcn.com cjcnn.com @@ -24012,12 +23493,12 @@ cjdsp.com cjdx1.com cjeduw.com cjftb.com -cjgcedu.com cjhb168.com cjhospital.com cjhxfund.com cjhydrogen.com cjia.com +cjiahome.com cjienc.com cjiit.com cjitri.com @@ -24057,9 +23538,7 @@ cjkz.com cjlap.com cjlulu.com cjm.so -cjmakeding.com cjmit.com -cjmkt.com cjmr.org cjmx.com cjmxhedu.com @@ -24127,48 +23606,43 @@ ckjr001.com ckjryy.com ckpharm.com ckplayer.com +cksct.com cksd888.com cksic.com +cksschool.com cksx.org +cktqeiau.com cktshare.com ckuai.com +ckvmrtfg.com +ckvo6.com +ckweax9zn5.com ckxx.net ckzcc.com ckzhaoyaojing.com ckzhijiaedu.com cl-acg.com -cl-clw.com cl-kongtiao.com cl-power.com cl0438.com cl0579.com -cl1-cdn.origin-apple.com.akadns.net -cl1.apple.com -cl2-cn.apple.com -cl2.apple.com cl2009.com -cl3-cdn.origin-apple.com.akadns.net -cl3.apple.com -cl4-cdn.origin-apple.com.akadns.net -cl4-cn.apple.com -cl4.apple.com -cl5-cdn.origin-apple.com.akadns.net -cl5.apple.com cl8239.com cl868.com clady.cc -claiks.com clam-itc.com clamc.com clamptek.com clangcn.com clanzx.net claritywallpaper.com -class.smartedu.lenovo.com +clarivate.com +clashroyaleapp.com classa-z.com classcms.com classic023.com classinpaas.com +classix-unlimited.co.uk classmateer.com classpassincn.com classpod.com @@ -24188,11 +23662,8 @@ clckblog.space clclibrary.com clcmw.com clcoolyun.com -clcou.com -clcouncil.com clcwwyj.com clcz.com -cldbiz.com cldfsv.com cldisk.com clean-cn.com @@ -24212,28 +23683,21 @@ clewm.net clfcgc.com clfdked.icu clfile.com -clfxjrlui.com clfzsn.com clgcxs.com clgslc.com clhimalayanxx.com clhqcyx.com -clhwzg.com cli.im clianjie.com -click.lenovo.com clickfuntech.com clicksdiy.com clickserve.cc-dt.com -clickserve.dartsearch.net -clickserver.googleads.com clicksun.net clickwifi.net clidone.com +client.amplifi.com client51.com -clientflow.apple.com -clientflow.apple.com.akadns.net -clientservices.googleapis.com clifford-hospital.org cliffordtrading.com cliim.com @@ -24248,15 +23712,13 @@ cljtscd.com cljtw8.com cljtwr.com cljtzycw.com -clkwnl.xyz +clk1.top cllcczx.com clled.com cllk.net clloz.com -clmmw.com clmpg.com clngaa.com -clnzl.com cloooud.com cloopen.com cloopen.net @@ -24269,12 +23731,14 @@ clothr.com clotliu.com clouclip.com cloud-beijing.com +cloud-control.top cloud-cube.net cloud-dahua.com cloud-dns.net cloud-frame.com cloud-hebi.com cloud-hub.co +cloud-industry-delivery.site cloud-links.net cloud-neofussvr.sslcs.cdngc.net cloud-ningbo.com @@ -24336,10 +23800,14 @@ clouddream.net cloudencent.com cloudflare-cn.com cloudflare.fun +cloudflareanycast.net cloudflarecn.net +cloudflareglobal.net cloudflareinsights-cn.com cloudflareip.com +cloudflareperf.com cloudflareprod.com +cloudflarestaging.com cloudflarestoragegw.com cloudfoshan.com cloudfront-cn.net @@ -24362,6 +23830,7 @@ cloudhua.com cloudhuaihua.com cloudhuizhou.com cloudhvacr.com +cloudidaas.com cloudinnov.com cloudinward.com cloudiplc.com @@ -24412,6 +23881,7 @@ cloudsgis.com cloudshanghai.com cloudshaoyang.com cloudshenfuxingqu.com +cloudsigma.com cloudsiping.com cloudsite.vip cloudskysec.com @@ -24429,7 +23899,6 @@ cloudtongliang.com cloudtopo.com cloudtrans.com cloudtui.com -cloudv.cdnetworks.com cloudvast.com cloudvdn.com cloudvogue.com @@ -24442,6 +23911,7 @@ cloudxiangtan.com cloudxianyou.com cloudxining.com cloudxns.com +cloudxns.net cloudyanan.com cloudyancheng.com cloudyantai.com @@ -24467,6 +23937,7 @@ clroi.com cls-a.com cls-c.com cls.cc +clsa.com clsbhs.com clsgd.com clshanghai.com @@ -24480,13 +23951,11 @@ club-pc.com clubcarev.com clubweixin.samsung.com cluerich.com -clusterfunk.net clwhk.com clx360.com clxlb.com clxsbj.com clxsczx.com -clyfjx.com clyiyuan.com clyric.com clz.me @@ -24499,11 +23968,12 @@ clzqxp.com clzt.com clzxqc.com clzyqche.com -cm-analysis.com cm-health.com cm-inv.com cm-iov.com cm-worklink.com +cm.fancyapi.com +cm.ipinyou.com cm1881.com cm233.com cm3721.com @@ -24514,6 +23984,7 @@ cmaifz.com cmakaoj.com cmandroid.com cmanuf.com +cmastd.com cmb-leasing.com cmbajia.com cmbbao.com @@ -24539,17 +24010,21 @@ cmcink.com cmcloud.org cmclound.com cmcm.com +cmcmadmin.com cmcmapp.com cmcmcdn.com cmcmcmai.com +cmcmiot.com cmcmpc.com cmcmsecurity.com cmcmserv.com cmcmtrans.com cmco-cn.com cmcrcw.com +cmct.tv cmct22.com cmctea.net +cmd.tw cmd5.com cmd5.la cmd5.org @@ -24559,7 +24034,6 @@ cmda.net cmdcxls.com cmdns.xyz cmdpe.com -cmdrh.com cmdschool.org cmdsir.com cmdw.vip @@ -24573,7 +24047,6 @@ cmedia360.com cmedns.com cmeii.com cmejob.com -cmelr.com cmenergyshipping.com cmer-ningbo.com cmer.com @@ -24598,6 +24071,7 @@ cmgos.com cmgrasp.com cmhbsb.com cmhello.com +cmhijs.com cmia.info cmic.site cmicapm.com @@ -24618,8 +24092,6 @@ cmoc.com cmodel.com cmodes.com cmol.com -cmp288.com -cmpassport.com cmpay.com cmpe360.com cmpedu.com @@ -24629,7 +24101,6 @@ cmread.com cmreltd.com cmri.cc cmrid.com -cms.csw.lenovo.com cms1924.org cms258.com cmschina.com @@ -24662,11 +24133,9 @@ cmwb.com cmwin.com cmxrcw.com cmykjx.net -cmypay.com cmypsc.com cmys.cc cmyunerp.com -cmyx.xyz cmyynet.com cmzd.com cmzi.com @@ -24675,23 +24144,20 @@ cmzyk.com cn-5.com cn-ab.com cn-aci.com -cn-api-test.lenovo.com -cn-argo-sdc200.blurdev.com cn-bldc.com cn-bowei.com cn-boxing.com cn-c114.net cn-caa.com cn-cav.com -cn-ccs-sdc.blurdev.com cn-cddc.com +cn-cdn1.skymansion.net cn-ceramic.com cn-cg.com cn-chenguang.com cn-chx.com cn-comfort.com cn-cr.com -cn-dlmgr-sdc.blurdev.com cn-ebara.com cn-elite.com cn-em.com @@ -24717,7 +24183,6 @@ cn-msedge.net cn-mw.com cn-natural.com cn-only.com -cn-otaproxy-sdc.blurdev.com cn-psy.com cn-railway.net cn-rcqc.com @@ -24726,14 +24191,12 @@ cn-saigew.com cn-school.com cn-sdf.com cn-shine.com -cn-smp-paymentservices.apple.com cn-soft.com cn-tf.com cn-tom.com cn-truck.com cn-unitech.com cn-vending.com -cn-videos.dji.net cn-visa.com cn-weida.com cn-wisely.com @@ -24743,8 +24206,10 @@ cn-zhentai.com cn-zhongrui.com cn.bing.com cn.bing.net +cn.download.nvidia.com +cn.mm.bing.net cn.net -cn.razerzone.com +cn.pool.ntp.org cn.vc cn.widevine.com cn.windowssearch.com @@ -24754,7 +24219,6 @@ cn010w.com cn0434.com cn0577.net cn0713.com -cn0779.com cn0851.com cn0917.com cn11185.com @@ -24782,11 +24246,10 @@ cn51.com cn5135.com cn6szx.com cn8118.com +cn88.net cn880.com -cn888.net cn939.com cn99.com -cnaa123.com cnaaa.com cnaaa.net cnaaa6.com @@ -24794,7 +24257,6 @@ cnaaa7.com cnaaa8.com cnaaa9.com cnaai.com -cnabc.com cnaca.org cnacg.cc cnacgc.com @@ -24820,21 +24282,22 @@ cname88.com cnamegslb.com cnamexingzuoy.com cnamico.com +cnanzhi.com cnaomeng.com -cnappinstall.googleadapis.com cnatom.com cnats.com cnautofinance.com cnautonews.com cnautotool.com +cnb.cool cnbabylon.com cnball.net -cnbanbao.com cnbang.net cnbaosi.com cnbaowen.net cnbct.org cnbeinuo.com +cnbeta.com cnbetacdn.com cnbfjt.com cnbian.com @@ -24847,7 +24310,6 @@ cnbizmedia.com cnbjx.com cnbksy.com cnbkw.com -cnblog.skypixel.com cnblogs.com cnblogs.vip cnblower.com @@ -24857,7 +24319,6 @@ cnbmtech.com cnbmys.com cnbnl.com cnboat.com -cnbole.net cnbonly.com cnbooking.net cnbooks.org @@ -24878,6 +24339,7 @@ cncaifu.com cncame.com cncanghai.com cncapital.net +cncbinternational.com cncbk.vip cncbpc.com cncc.bingj.com @@ -24888,12 +24350,14 @@ cnccea.com cncdh2.com cncdn.com cncdnx.com +cncdomain.com cncecci.com cncecsci.com cncecyc.com cncells.net cncfans.com cncflux.com +cncgdns.com cncgdns.net cncgw.org cnchainnet.com @@ -24932,6 +24396,8 @@ cncopter.com cncosmic.com cncotton.com cncourt.org +cncovs.com +cncqcloud.com cncqcy.com cncqsw.com cncqti.com @@ -24949,7 +24415,6 @@ cncwkj.com cncxjyu.com cnczjy.com cndailu.com -cndaizi.com cndao.com cndata.com cndatacom.com @@ -24965,6 +24430,7 @@ cndf.net cndfdt.com cndfele.com cndfilm.com +cndhl.com cndhotels.com cndi-bj.com cndi.com @@ -24977,6 +24443,7 @@ cndledu.com cndmaterial.com cndns.com cndns5.com +cndnscn.com cndoct.com cndog.net cndongrun.com @@ -25018,6 +24485,7 @@ cneonl.com cnep001.com cnepaper.com cnepaper.net +cnepub.com cnerlang.com cnetea.net cnetec.com @@ -25151,7 +24619,6 @@ cnhuafas.com cnhuanya.com cnhubei.com cnhuoche.com -cnhutong.com cnhvacrnet.com cnhwjt.com cnhyc.com @@ -25222,6 +24689,7 @@ cnjpetr.org cnjpw.net cnjrna.com cnjsdz.com +cnjsun.com cnjunhe.com cnjunnet.com cnjunzilan.com @@ -25253,7 +24721,6 @@ cnkidoi.net cnkidoi.org cnkinect.com cnkingjoy.com -cnkiorg.com cnkis.net cnkivip.net cnkix.com @@ -25261,14 +24728,12 @@ cnkizw.com cnklog.com cnkly.com cnknowledge.com -cnkok.com cnkosun.com cnkpgs.com cnkuai.com cnky.net cnkyz.com cnlampholder.com -cnlandfill.net cnlandport.com cnlang.org cnlanhui.com @@ -25284,15 +24749,14 @@ cnlianjie.com cnliequan.com cnlight.com cnlightnet.com -cnlink8.com cnlinka.com +cnlishuai.com cnlist.com cnlist.org cnlive.com cnliveimg.com cnljxh.com cnlng.com -cnlogistics.lenovo.com cnlongkou.net cnlot.net cnlso.com @@ -25349,6 +24813,7 @@ cnnbfdc.com cnnbsa.com cnncbhy.com cnncguilin.com +cnncog.com cnndns.com cnnetsec.com cnneweragx.com @@ -25421,6 +24886,7 @@ cnpoli.com cnponer.com cnpot.com cnpou.com +cnpoultry.com cnpowdernet.com cnpowdertech.com cnpp100.com @@ -25488,6 +24954,7 @@ cnsc8.com cnsce.net cnscee.com cnsciedu.com +cnscn.com cnscnet.com cnscore.com cnsdb.com @@ -25526,8 +24993,6 @@ cnsolarwind.com cnsolomo.com cnsorl.com cnspeed.com -cnspeedtest.com -cnspeedtest.net cnsphoto.com cnsrack.com cnssr.org @@ -25569,7 +25034,6 @@ cntexnet.com cntgol.com cntheory.com cnthinkers.com -cntingyun.com cntjq.net cntle.com cntlfs.com @@ -25590,6 +25054,7 @@ cntv.com cntvan.com cntwg.com cntyjt.com +cntywhcm.com cnu.cc cnuninet.net cnuniwise.com @@ -25601,6 +25066,7 @@ cnuuu.com cnv168.com cnvcs.com cnvf.com +cnvfq.com cnvn.net cnvps.com cnvtech.com @@ -25612,7 +25078,6 @@ cnwansun.com cnwaternews.com cnwb.net cnwbwb.com -cnwdsy.com cnwear.com cnweblog.com cnwebshow.com @@ -25637,7 +25102,6 @@ cnwxw.com cnwzd.com cnwzhd.com cnx8.com -cnxad.com cnxcjt.com cnxclm.com cnxct.com @@ -25673,7 +25137,6 @@ cnyanglao.com cnyce.com cnydgroup.com cnyeig.com -cnyibs.com cnyiguiwang.com cnyings.com cnyipu.com @@ -25689,6 +25152,7 @@ cnyydj.com cnzcn.net cnzdfm.com cnzdhg.com +cnzgc.com cnzgcec.com cnzhanting.com cnzhanzhang.com @@ -25720,8 +25184,6 @@ cnzxsoft.com cnzxwh.com cnzy56.com cnzyao.com -cnzz.com -cnzz.net cnzzla.com cnzznz.com co-effort.com @@ -25754,10 +25216,8 @@ cobuy.net cobvgroup.com cocas.cc cocfan.com -cochat.lenovo.com cochemist.com cochicon.com -cochina.org cocia.org cocimg.com coco413.com @@ -25777,17 +25237,13 @@ cocos2d.org cocos2dx.net cocosgame.net cocostudio.org -cocounion.com cocozq.com cocss.com coct838698.com codante.org -codata.lenovo.com code-abc.com code-by.org -code222.com code369.com -code4apk.com code666.com code84.com codeachange.com @@ -25838,10 +25294,8 @@ codes51.com codesdq.com codesocang.com codesoft.hk -codesoftchina.com codess.cc codetc.com -codevillas.com codewd.com codeweblog.com codewoody.com @@ -25862,6 +25316,7 @@ codingsky.com codingwhy.com codingyang.com codj.net +codm.com codming.com codmwest.com codoon.com @@ -25881,6 +25336,7 @@ coffee-hdl.com coffee-script.org coffee08.com coffeecdn.com +coffeehouse.wiki coffeejp.com coffeeofchina.com coffeeteaimagazine.com @@ -25895,9 +25351,11 @@ cogitosoft.com cogobuy.com cogolinks.com cogonline.com +cogskl.com cohim.com cohl.com cohuatech.com +coicjs.org coilmx.com coin007.com coin163.com @@ -25905,6 +25363,7 @@ coinabc.com coinall.live coinall.ltd coincsd.com +coindog.com coinglass.com coinnice.com coinrobotics.com @@ -25926,12 +25385,10 @@ coli688.com colineapp.com colinker.com colipu.com -collaborate.akamai.com collaborate.download.prss.microsoft.com collaborateppe.download.prss.microsoft.com collect-med.com college-ing.com -college.globalsign.com colly-pink.com collycn.com colobu.com @@ -25950,6 +25407,7 @@ colourlife.com columbia-china.com columbia-kaiyuan.com columbia-wuxi.com +com-hs-hkdy.com com.fi com.mp com.tv @@ -25989,28 +25447,26 @@ cominbio.com comingchina.com comlan.com comlbs.com -commander1.com -commandersact.com commchina.net commedcell.com communicatte.com +comnergy.com comocloud.net compal.com companydns.com -compass-fit.jp compassedu.hk compevt.com compgoo.com complant.com complexstudio.net componentcn.com -componentschip.com composolder.com compoundsemiconductorchina.net comprame.com computeinit.com computer26.com comra.org +comsazms.com comsenz.com comseoer.com comsharp.com @@ -26035,8 +25491,6 @@ conele.com conergas.net conew.com conextweb.com -configuration.apple.com -configuration.apple.com.akadns.net confluxrpc.com confuciusinstitute.net conghua.com @@ -26048,8 +25502,6 @@ congzao.com congzhi.com conhagroup.com conlerpharm.com -connect.akamai.com -connectivitycheck.gstatic.com connorsaviation.com conodmedical.com conoha.vip @@ -26057,16 +25509,11 @@ conpak.com.hk conshow.com conslive.com consmation.com -console-integration.cdnetworks.com -console.cdnetworks.com constao.com constar-gd.com constgroup.com consultingcy.com -contacts.akamai.com containerpi.com -content.djiservice.org -content.googleadapis.com content4ads.com contentchina.com contentchina.net @@ -26085,9 +25532,9 @@ coobos.com cooboys.com cooc-china.com coocaa.com -coocaatv.com coocare.com coocent.net +coodesker.com coodir.com coodove.com coofandy.com @@ -26149,7 +25596,6 @@ coolsite.vip coolsite360.com coolsphoto.com cooltechsh.com -cooltui.com cooltuku.com cooluc.com coolwarmsy.com @@ -26168,7 +25614,6 @@ coooolfan.com coooz.com coopcc.com cooperningbo.com -coophone.com coorain.net coostack.com cootek.com @@ -26178,12 +25623,11 @@ coovee.com coovee.net coowor.com cooyun.com -cop.cdnetworks.com copcsc.org copl.com.hk -copotile.com copperalliance.asia copperhome.net +copy-manga.com copyedu.com copyfuture.com copyswisswatches.com @@ -26191,11 +25635,11 @@ copythelink.com copywatchstyle.com cor-games.com coralset.com +corari.com core-biopharma.com corebai.com coreesports.net corehalo.com -coreldrawchina.com coremakingsolutions.com corerain.com corex-design.com @@ -26207,8 +25651,8 @@ corpautohome.com corpease.net corpize.com corpring.com -cortex.razerzone.com coryes.com +corys.fun cos-beauty.com cos-show.com cos126.com @@ -26249,7 +25693,6 @@ cotong.com cotticoffee.com cottonchina.org cotv.tv -couas.com counect.com couns.com couplefish.com @@ -26269,10 +25712,6 @@ cowealth.com cowellhealth.com cowinfo.com cowlevel.net -cowork.cn.extranet.lenovo.com -cowork.cn.lenovo.com -cowork.us.extranet.lenovo.com -cowork.us.lenovo.com cowrycare.com cowtransfer.com coyigroup.com @@ -26280,11 +25719,12 @@ coyis.com coyotebio-lab.com coyuk.com coyuns.net +coz9uiesr5zv6.com +cozdyez2ap.com cozonenet.com cp-keji.com cp0556.com cp121.com -cp127w.com cp365.org cpa51.com cpaatheatres.com @@ -26293,9 +25733,7 @@ cpaed.org cpajia.com cpakg.com cpass.com -cpatrk.net cpbao.com -cpc.cc cpcaauto.com cpcadata.com cpcccac.com @@ -26348,6 +25786,7 @@ cpooo.com cpp-prog.com cpp114.com cpp32.com +cppb-wg.com cppblog.com cppc123.com cppcns.com @@ -26361,6 +25800,7 @@ cpppc.org cpppf.org cppszw.com cpqrmyy.com +cpro.baidustatic.com cproton.com cps1688.com cps800.com @@ -26381,11 +25821,11 @@ cpudj.com cpuh2.com cpury.com cpuxn.com +cpvatgkx.com cpvjob.com cpwlx.com cpwnews.com cpwzb.com -cpx8888.com cpzls.com cpzst.com cpzyrj.com @@ -26500,7 +25940,6 @@ cqdc.com cqdcg.com cqdcgj.com cqddpaint.com -cqddwc.com cqddyl.com cqddzx.com cqdent.com @@ -26720,7 +26159,6 @@ cqlandtower.com cqlba.com cqlbjg.com cqld.com -cqleaders.com cqlfn.com cqlhyy.com cqlibo.com @@ -26732,7 +26170,6 @@ cqljhr.com cqljjrjd.com cqljjt.com cqljmjs.com -cqljxhyy.com cqljzp.com cqlkuav.com cqllfood.com @@ -26801,7 +26238,6 @@ cqphar.com cqpinjian.com cqpix.com cqpost.com -cqprobro.com cqpump.com cqpwt.com cqpwy.com @@ -26874,7 +26310,6 @@ cqspx.com cqsq.com cqssgf.com cqssxwsxx.com -cqsta.com cqstgxy.com cqstjt.com cqstjzx.com @@ -26958,7 +26393,6 @@ cqwin.com cqwlg.com cqwlln.com cqwlzz.com -cqwpw.com cqwsnews.net cqwsrmyy.com cqwszjs.com @@ -27039,7 +26473,6 @@ cqysxy.com cqytbfc.com cqyti.com cqytjt.com -cqytjzgc.com cqytsw.com cqytu.com cqytyk.com @@ -27072,7 +26505,6 @@ cqzhqyjt.com cqzhsw.com cqzikao.com cqzike.com -cqzjt.com cqzk.net cqzkjs.com cqzls.com @@ -27098,7 +26530,6 @@ cr-cts.com cr-expo.com cr-leasing.com cr-newenergy.com -cr-nielsen.com cr-power.com cr11gcsgd.com cr11gee.com @@ -27122,15 +26553,12 @@ crane-net.com cranebbs.com cranewh.com crash.work -crashlyticsreports-pa.googleapis.com cravatar.com -crayplazastpaul.com crazepony.com crazybig.fun crazyenglish.com crazyenglish.org crazyflasher.com -crazyit8.com crazyming.com crazymoneys.com crazyones.world @@ -27166,6 +26594,8 @@ crdyf.com cre.net cre021.com cread.com +creality.com +crealitycloud.com creatby.com createcdigital.com createw.com @@ -27174,6 +26604,7 @@ creati5.com creation-bj.com creationventure.com creative-micro.com +creativityeco.com creator-sh.com creatreme.com creatunion.com @@ -27205,7 +26636,6 @@ creo-support.com crep-led.com crepcrep.com creplus.net -cresqoirz.com crestv.com cret-bio.com crewchina.net @@ -27219,7 +26649,11 @@ crgkxl.com crgy.com crhealthcare.com.hk cri-grandera.com +cri-on.com +criankara.com criarabic.com +criberlin.com +cribsas.com cric.com cric2009.com cricbigdata.com @@ -27229,25 +26663,26 @@ crienglish.com criezfm.com crifan.org crifst.com +crilondon.com crimoon.net +crimoscow.com crinductance.com +crinihaochina.com +cririo.com +criseoul.com crispstata.com crisydney.com +critokyo.com criwashington.com crjfw.com -crl.alphassl.com -crl.apple.com -crl.globalsign.com crl.globalsign.net crl.kaspersky.com crl.pki.goog -crl2.alphassl.com crlf0710.com crlg.com crlintex.com -crlsxny.xyz +crls.pki.goog crm.cc -crm.lenovo.com crm1001.com crmch.com crmclick.com @@ -27266,7 +26701,6 @@ crossborderlion.com crossingstar.com crossingstarstudio.com crossmo.com -crossoverchina.com crosswaycn.com crov.com crown-chain.com @@ -27290,7 +26724,6 @@ crtg.com crtrust.com crucg.com cruelcoding.com -cruhut.com crukings.com crvc.com crvic.org @@ -27299,7 +26732,6 @@ crx.plus crx4.com crxsoso.com cry33.com -crym.cc crysound.com crystalcg.com crystaledu.com @@ -27315,7 +26747,6 @@ cs-xf.com cs0799.com cs090.com cs12333.com -cs12d.com cs2-aipn.com cs27.com cs2c.com @@ -27325,9 +26756,7 @@ cs48.com cs528.com cs53.com cs6zhong.com -cs8090.com csadec.com -csaimall.com csair.com csairdutyfree.com csairholiday.com @@ -27366,7 +26795,6 @@ csct-china.com cscxgjzx.com csd568.com csdc.info -csdcfvgf4.fun csdczx.com csdeshang.com csdewater.com @@ -27376,7 +26804,6 @@ csdhxx.com csdiy.wiki csdn.com csdn.net -csdsa22.fun csdyjs.net csdyx.com cse-bidding.com @@ -27389,7 +26816,6 @@ cserveriip.com cserwen.com cseve.com csfcw.com -csfds000.fun csflgg.com csfounder.com csfreezer.com @@ -27434,7 +26860,6 @@ cshxschool.com cshypg.com cshyqx.com cshzywkj.com -csi.gstatic.com csiamd.com csic-711.com csic612.com @@ -27458,7 +26883,6 @@ csjkjs.com csjkjt.com csjmould.com csjmzy.com -csjplatform.com csjqfz.com csjsdz.com csjtys.net @@ -27503,8 +26927,6 @@ csnzxl.com csoly.com csomdmyxy.com csomick.com -csp.djicdn.com -csp.lenovo.com cspasz.org cspbj.com cspcbaike.com @@ -27551,7 +26973,6 @@ csshenda.com csshenyu.com csshjdxh.com csshuobo.com -cssj.fun cssjzy.com csslcloud.net cssmagic.net @@ -27565,8 +26986,6 @@ cssyzxx.com csszone.net cst119.com cst6.com -cstat.apple.com -cstat.cdn-apple.com cstccloud.org cstcloud.net cstcq.com @@ -27601,6 +27020,7 @@ csweigou.com csweiwei.com cswf888.com cswfgg.com +cswqvzh.com cswszy.com csxbank.com csxcdj.com @@ -27629,7 +27049,6 @@ csysgz.com csytv.com csyunkj.com csyuwei.com -csyuyism.com cszec.com cszhgjzx.com cszhjt.com @@ -27672,6 +27091,8 @@ ctc.lol ctc100.com ctcai.com ctcdn.com +ctcdn.net +ctcdn.org ctcefive.com ctcloudmeeting.com ctcmo.com @@ -27686,6 +27107,7 @@ ctcxzgs.com ctdcn.com ctdisk.com ctdns.net +ctdns.org ctdsb.com ctdsb.net ctdzsk.com @@ -27696,9 +27118,11 @@ ctecdcs.com ctech-alpha.com cteic.com ctex.org +ctexcel.ca ctexcel.com ctexcel.com.hk ctexcel.fr +ctexcel.us ctexw.com ctfhub.com ctfile.com @@ -27731,6 +27155,7 @@ ctils.com ctimall.com ctime.com ctiot.info +ctipckcx.com ctis-cn.com ctjin.com ctjituan.com @@ -27738,9 +27163,11 @@ ctjl.net ctjsoft.com ctkq.com ctlcdn.com -ctldl.windowsupdate.com +ctlcdn.net ctlife.tv ctma.net +ctmcdn.com +ctmcdn.net ctmcq.com ctmgid.com ctmon.com @@ -27750,7 +27177,6 @@ ctnma.com ctntech.com ctnyypt.com ctnz.net -ctobsnssdk.com ctocio.com ctoclub.com ctongonline.com @@ -27763,19 +27189,20 @@ ctrcw.net ctrip-ttd.hk ctrip.co.id ctrip.co.kr +ctrip.co.th ctrip.com +ctrip.com.hk ctrip.my ctrip.sg ctripbiz.com ctripbuy.hk ctripc.com -ctripcorp.com ctripgslb.com +ctripgslb.net ctripins.com ctripqa.com ctripteam.com ctrlqq.com -ctrmi.com cts010.com ctsbw.com ctsec.com @@ -27808,13 +27235,16 @@ ctxcpa.com cty9.com ctycdn.com ctycdn.net +ctycdn.org ctyny.com ctyo.com ctyun.net ctyun.online +ctyuncdn.com ctyuncdn.net ctzb.com ctzcdn.com +ctzcdn.net ctzg.com cu-air.com cu5gaia.com @@ -27822,11 +27252,9 @@ cuaa.net cuahmap.com cuav.net cubavcenter.com -cube.lenovo.com cubead.com cubegoal.com cubejoy.com -cubemail.lenovo.com cubespace.city cubicise.com cubie.cc @@ -27836,7 +27264,6 @@ cucdc.com cuchost.com cucldk.com cuctv.com -cudaojia.com cueber.com cuebzzy.com cuekit.com @@ -27891,7 +27318,6 @@ cuobiezi.net cuodiao.com cuonc.com cuopen.net -cuoss.com cuour-edu.com cuour.com cuour.org @@ -27910,10 +27336,9 @@ cuppot.com curlc.com current.vc curtisasia.com +cusdvs.com cusdvs.net -cusohome.com custeel.com -customer.lenovo.com customizedfasteners.com customsapp.com custouch.com @@ -27922,7 +27347,6 @@ cutemidi.com cuteng.com cutepet-hk.com cutieshop153.com -cutoch.com cutowallpaper.com cutv.com cuuhn.com @@ -27936,7 +27360,6 @@ cvc898cvc.com cvchina.info cvchome.com cvcri.com -cvdfvdfv90.fun cvftc.net cvicse.com cvicseks.com @@ -27947,6 +27370,7 @@ cvn-china.com cvoit.com cvonet.com cvoon.com +cvpyqih.com cvrobot.net cvtapi.com cvte.com @@ -27959,7 +27383,6 @@ cwcec.com cwddd.com cwdma.org cwdtf.com -cwebgame.com cwems.com cwestc.com cweun.org @@ -27969,13 +27392,15 @@ cwgarnet.com cwgsdl.com cwhnh.com cwiaj.com +cwitxoakk98d.com +cwjedu.com cwjt.com cwlchina.com cwliupaotea.com cwmcs.com -cwmlm.com cwmtn.com cwmzyyy.com +cwouzcmp.com cwq.com cwst.net cwtc.com @@ -28013,6 +27438,7 @@ cxf1999.com cxfccs.com cxfuwu.com cxgame.net +cxgaugrv.com cxgeo.com cxgj56.com cxglmc.com @@ -28032,7 +27458,6 @@ cxjrh.com cxjt.net cxju.com cxkfwn.com -cxkj2022.com cxkjjy.com cxkyz.com cxlyzj.com @@ -28061,7 +27486,6 @@ cxtld.com cxtuku.com cxumol.com cxvlog.com -cxvyk.com cxw.com cxwl.com cxwyf.net @@ -28088,7 +27512,6 @@ cxz.com cxz3d.com cxzg.com cxzntc.com -cxzudwk.com cxzuqiu.com cxzw.com cxzyjt.com @@ -28106,7 +27529,6 @@ cy-scm.com cy-ymtw.com cy.com cy0go.com -cy123.cc cy2009.com cy365.com cy52.com @@ -28136,7 +27558,6 @@ cyclonemoto.com cycnet.com cycoo.com cyctapp.com -cyczs.com cyd5918.com cydiaa.com cydiakk.com @@ -28173,7 +27594,6 @@ cyjysb.com cyjyxxw.com cyjzzd.com cyk-cable.com -cykjgx.com cyktqdrp.com cylaowu.com cylh.com @@ -28247,9 +27667,9 @@ cyzzzz.com cz-huachang.com cz-toshiba.com cz-yk.com -cz.cc cz121.com cz128.com +cz88.net cz89.com czb365.com czbanbantong.com @@ -28295,7 +27715,6 @@ czgcsb.com czgd.tv czgdgs.net czgdly.com -czgjhotel.com czgjj.com czgjj.net czgmjsj.com @@ -28365,7 +27784,6 @@ czsrc.com czsrmyy.com czsshb.com czstx.net -czsumuke.com czswdx.com czsxy.com cztaojiu.com @@ -28384,12 +27802,10 @@ czws.com czwsg5.com czwxbyq.com czwxtz.com -czxiangyue.com czxiu.com czxixi.com czxixigu.com czxr.net -czxsss.com czxthmls.com czxuexi.com czxxp.com @@ -28397,6 +27813,7 @@ czxxw.com czxy.com czxztq.xyz czyabo.com +czybjz.com czyefy.com czyfxd.com czyl.cc @@ -28418,13 +27835,11 @@ d-d.design d-heaven.com d-innovation.com d-long.com -d-markets.net d-robotics.cc d-stars.net d-techs.com d-wolves.com d.cg -d.codata.lenovo.com d.design d00.net d03jd.com @@ -28458,12 +27873,11 @@ d2film.com d2kdi2ss.com d2scdn.com d2shost.com -d2tf0.icu d2ty.com d2ziran.com +d37hw752kt.com d3ch.com d3cn.net -d3d2.com d3dweb.com d3eurostreet.com d3f.com @@ -28473,10 +27887,10 @@ d3tt.com d3zone.com d4000.com d44.cc +d4z1onkegyrs5.cloudfront.net d58.net d5h.net d5power.com -d5r.icu d5render.com d5xs.net d65d6.com @@ -28486,7 +27900,8 @@ d7w.net d80438960.com d8th.com d99net.net -d9ad.com +d9af5a60.edmonst.net +d9j8.com d9js.com d9k99.com d9ym.com @@ -28507,7 +27922,6 @@ daanxi.com daas-auto.com daba.com dabai4.com -dabaicai.com dabaicai.org dabaidaojia.com dabaise.com @@ -28516,7 +27930,6 @@ dabangsoft.com dabanke.com dabao123.com dabaoge.host -dabaoku.com dabaqian.com dabeiduo.com dabiaoji.info @@ -28546,7 +27959,6 @@ dachengsh.com dachengshuiwu.com dachengzi.net dachkj.com -dachu.group dachuanchina.com dachuizichan.com dachun.tv @@ -28558,13 +27970,13 @@ dada360.com dadaabc.com dadagame.com dadagem.xyz +dadajiasu.com dadajuan.com dadaogroup.com dadaojiayuan.com dadaqipai.com dadasasa.com dadasou.com -dadatuwz.com dadayou.com dadclab.com daddybaby.com @@ -28594,7 +28006,6 @@ dafangtour.net dafangya.com dafanshu.com dafaun.com -daffaite.com dafmgroup.com dafork.com dafosi.org @@ -28634,7 +28045,6 @@ daheng-image.com daheng-imaging.com daheng-imavision.com dahengit.com -dahengkongjiao.com dahepiao.com dahetest.com dahongba.net @@ -28659,7 +28069,6 @@ dahulu.com dahunet.com dahuodong.com dai-shi.com -dai-xi.com dai361.com daiaotech.com daiban0571.com @@ -28684,7 +28093,6 @@ daijun.com daikandq.com daikela.com daikuan.com -daikuan61.com daikuanlilv.com daili321.com dailianmama.com @@ -28692,7 +28100,6 @@ dailianqun.com dailiantong.com dailianzj.com dailiba.com -dailidaili.com dailijizhang.cc dailiweishang.com dailugou.com @@ -28706,7 +28113,6 @@ daimay.com daimg.com dainiter.com dairao.net -dairzih.com daishangqian.com daishanmarathon.com daishu.com @@ -28728,7 +28134,6 @@ daiyanbao.com daiyanmama.com daiyinzi.com daizitouxiang.com -daizitu.ren dajan.com dajiabao.com dajiachou.com @@ -28775,11 +28180,11 @@ dakao8.net dakapath.com dakaruanwen.com dakasi.com -dakawm.cc dakedakedu.com dakejie.com dakekj.com dakele.com +dakw.xyz dalaba.com dalaizhou.com dalanyouxi.com @@ -28794,7 +28199,6 @@ dalianbus.com daliancs.com dalianiso.com dalianjiaojing.com -daliankaiyuanhong.com dalianshengmi.com daliansky.net daliantyre.com @@ -28850,7 +28254,6 @@ dan-sing.com dan8gui.com danaicha.com danale.com -danalli.com danaqsy.com danatlas.com danbagui.com @@ -28869,9 +28272,12 @@ dandang.org dandanhou.net dandanjiang.tv dandanman.com +dandanplay.com +dandanplayer.com dandantang.com dandanvoice.com dandanz.com +dandanzan.com dandanzkw.com danding.com danding.fun @@ -28898,7 +28304,6 @@ danghuan.com dangjian.com dangjianwang.com dangjinguiping.com -dangongshijie.com dangpu.com dangtianle.com dangwan.com @@ -28922,9 +28327,9 @@ daniuguwang.com daniuit.com daniujiaoyu.com daniushiwan.com -daniusxy.com daniuwangxiao.com danji100.com +danji6.com danji8.com danji9.com danjiang.com @@ -28971,6 +28376,7 @@ danzhaoedu.com danzhaowang.com danzhou8.com danzhoujob.net +dao-fu.com dao123.com dao3.fun dao42.com @@ -29037,7 +28443,6 @@ daoweiyq.com daoxiangcun.com daoxila.com daoxila.net -daoyoudao.com daoyu8.com daoyumiao.com daozhao.com @@ -29064,7 +28469,6 @@ daqsoft.com daquan.com daquangroup.com daquncnc.com -daraz.com daraz.lk daraz.pk darczpw.com @@ -29093,7 +28497,6 @@ dasfbio.com dasfjd.com dashanghaizhuce.com dashangu.com -dashboard.deploy.akamai.com dashen520.com dashen8.com dashengji.com @@ -29102,7 +28505,6 @@ dashengpan.com dashengzuji.com dashenquan.com dashentv.com -dashet.com dashgame.com dashigame.com dashikou.com @@ -29128,7 +28530,6 @@ data86.com data86.net data985.com dataarobotics.com -datacaciques.com datacanvas.com datacname.com datacomo.com @@ -29168,9 +28569,9 @@ datasheet5.com datastoragesummit.com datatang.com datatech-info.com -datatech.wang datatist.com datatocn.com +datatool.vip datauseful.com dataxcrm.com datayes.com @@ -29184,7 +28585,6 @@ datianmen.com datk.anythinktech.com datongjianshe.com datongtaxi.com -datouniao.com datuc.com datwy.com daugres.com @@ -29220,6 +28620,7 @@ dawx.com dawx.net daxfix.com daxia.com +daxiang91.com daxianghuyu.com daxiangkeji.com daxianglingke.com @@ -29245,7 +28646,6 @@ daxuesoutijiang.com daxuesushe.com daxuetian.com daxuewang.com -day66.com dayaguqin.com dayainfo.com dayalihome.com @@ -29301,7 +28701,6 @@ dayrui.com daysou.com dayspringpharma.com dayss.com -daystar.lenovo.com daysview.com daytokens.com dayu-group.com @@ -29328,7 +28727,6 @@ daza168.com dazhan123.com dazhangfang.com dazhangqiu.com -dazhantai.com dazhe5.com dazheda.com dazhengtop.com @@ -29349,7 +28747,6 @@ dazhouwater.com dazhu1988.com dazhuangwang.com dazhuangyan.com -dazhuanlan.com dazibo.com dazidazi.com dazijia.com @@ -29369,6 +28766,7 @@ db9w.com db9x.com dbank.com dbankcdn.com +dbankcdn.ru dbankcloud.asia dbankcloud.com dbankcloud.eu @@ -29421,11 +28819,12 @@ dcb-group.com dcb123.com dcccji.com dcdapp.com +dcdkjx.com dcdnx.com dcement.com -dceni.com dcetax.com dcf365.com +dcg.microsoft.com dcg123.com dcgqt.com dcgsi.com @@ -29442,8 +28841,6 @@ dclouds.cloud dcloudstc.com dclygroup.com dcmagcn.com -dcmap.deploy.akamai.com -dcmap2.deploy.akamai.com dcmk17.com dcn01.ps4.update.playstation.net dcn01.ps5.update.playstation.net @@ -29455,6 +28852,7 @@ dcshow.com dcsjw.com dcsme.org dcsq.com +dct-cloud.com dcutp.com dcwucu.com dcxnews.com @@ -29467,7 +28865,6 @@ dczcsc.com dczkj.com dczy168.com dd-advisor.com -dd-cdn.origin-apple.com.akadns.net dd-gz.com dd-img.com dd.ci @@ -29475,7 +28872,6 @@ dd.ma dd001.net dd01.com dd0415.net -dd112233dd.com dd128.com dd2007.com dd208.com @@ -29483,17 +28879,15 @@ dd369.com dd373.com dd4.com dd666mir.com -dd667788dd.com -dd778899dd.com dd8828.com ddadaal.me ddahr.net ddbiquge.cc ddbiquge.com ddbiu.com -ddc888.com ddcdn.com ddcheshi.com +ddchong.com ddcits.com ddcsjw.com ddcwl.com @@ -29506,14 +28900,12 @@ dddfe.com dddgong.com dddja.com dddki.com -dddstew6cw8.fun dddwan.com dde-desktop.org ddedush.com ddfans.com ddfchina.com ddfzb.com -ddgjjj.com ddguanhuai.com ddhly.com ddhy.com @@ -29522,6 +28914,7 @@ ddianle.com ddimg.mobi ddimg.net dding.net +ddiqbh.com ddj123.com ddjjzz.com ddjk.com @@ -29530,8 +28923,8 @@ ddjsyx.com ddkanqiu.cc ddkanqiu.net ddkanqiu.vip +ddkanqu.com ddkids.com -ddkjt.com ddkt365.com ddkwxd.com ddky.com @@ -29560,6 +28953,7 @@ ddpoc.com ddqcw.com ddsaas.com ddsk.la +ddsm.com ddstarapp.com ddswcm.com ddsy.com @@ -29612,10 +29006,7 @@ deaconhousewuxi.com deadnine.com deafchina.com deahu.com -deals-assets-cdn.razerzone.com -deals-images-cdn.razerzone.com dealsbank.com -dealshuo.com dealsmake.com deansys.com dear520dear.com @@ -29647,12 +29038,10 @@ dechong.site dechua.com declous.com decohome.cc -decon.deploy.akamai.com decoration.ltd decorcn.com decwhy.com deczh.com -dedaqipei.com dede-zj.com dede168.com dedeadmin.com @@ -29674,19 +29063,19 @@ deemos.com deep-os.com deep56.com deepbluenetwork.com -deepc.cc deepcloudsdp.com deepcoin.red deepcool.com deepepg.com deepermobile.com deepfast.com -deepfun.net deepin-ai.com deepin.com +deepin.io deepin.org deepinghost.com deepinmind.com +deepinos.org deepinout.com deepinstall.com deepleaper.com @@ -29696,6 +29085,7 @@ deepoon.com deeprouter.org deepseapioneer.com deepseek.com +deepseeksvc.com deepsheet.net deeptechchina.com deeptrain.net @@ -29716,6 +29106,7 @@ defineabc.com deflw.com defoen.com defofy.com +defoile.com defuv.com defvul.com degitec-jiangyin.com @@ -29735,11 +29126,9 @@ dehuisk.com dehuiyuan.com deifgs.com deikuo.com -dejavu.apple.com dejiart.com dejinfu365.com dejiplaza.com -deju666.com dekeego.com dekekc.com dekls.com @@ -29781,7 +29170,6 @@ delonix.group delovabio.com delphi-connect.com delphijiaocheng.com -delphitop.com deltedescostone.com delun-group.com delunyk.com @@ -29827,6 +29215,7 @@ dengtacj.com dengtadaka.com dengxiaolong.com dengxiaopingnet.com +dengxstudio.com deniulor.com denon-proaudio.com denopark.com @@ -29834,7 +29223,6 @@ densesndysn.com denson168.com dentistshow.com denverokie.com -deny-netfilter.uds-dev.lenovo.com denzacloud.com deosen.com deosin.com @@ -29845,7 +29233,6 @@ dependdns.com depengwuyou.com dephir.com deppon.com -depsougnefta.com depthlink.com depuchem.com deqingbank.com @@ -29873,7 +29260,6 @@ deshenghonglan.com deshengzj.com deshicheng.com design-engine.org -design.citic design006.com designjiaoshi.com designkit.com @@ -29905,19 +29291,13 @@ detion.com detonfan.com detonger.com detu.com -detuyun.com dev-dh.com -dev-relay-service.djicdn.com -dev.dji.com -dev1.djicdn.com dev59.com devashen.com devask.net devblogs.microsoft.com devclub.cc devedu.net -develenv.com -developer.dji.com developer.htcvive.com developer.microsoft.com developer.vive.com @@ -29929,7 +29309,6 @@ devexel-tech.com devexel.com devexpresscn.com devicewell.com -devimages-cdn.apple.com devio.org devops-dev.com devotiongroup.com @@ -29939,22 +29318,27 @@ devqinwei.com devsapp.net devsiki.com devskyr.com -devstreaming-cdn.apple.com devtang.com devui.design -devusa.djicdn.com -devwiki.net devzeng.com deweier.com deweisi.net dewiqq.asia dewmobile.net +dewu-inc.com +dewu-inner.com +dewu-inner.net +dewu.co dewu.com dewu.net dewucdn.com +dewuhd.com +dewuhui.com dewumall.com +dewuyouhui.com dewx.net dexejhyxh.com +dexi009.com dexian.mobi dexingroup.com dexingrv.com @@ -29997,14 +29381,10 @@ df-college.com df-gd.com df-nissanfl.com df0535.com -df10.com df33.com -df3n43m.com df81.com df9377.com df962388.com -dfan4.icu -dfcentury.com dfcfs.com dfcfw.com dfcms.net @@ -30015,23 +29395,22 @@ dfdinsin.com dfdjy.net dfdtt.com dfedu.com +dfev.net dffcw.net -dfggq.com dfgiso.com dfgsb.com dfgsz.com dfham.com dfhaoyinyue.com -dfhgry.com dfhon.com dfhr.com dfhrc.com dfhtjn.com dfhy888.com +dfig0.com dfine.tech dfjc999.com dfjyun.com -dfkd.xyz dfkhgj.com dfkj.cc dflmtc.com @@ -30046,7 +29425,6 @@ dfpost.com dfpz.net dfqcmy.com dfqy.com -dfqzah.xyz dfratings.com dfrcb.com dfrlyy.com @@ -30062,7 +29440,6 @@ dfss-club.com dfstw.com dfsyjm.com dftcdq.com -dftoutiao.com dftq.net dftryy.com dftyyls.com @@ -30095,10 +29472,10 @@ dfzmzyc.com dfzxvip.com dfzyxy.net dg-360lhx.com +dg-dns.com dg-dx.com dg-hanxin.com dg-mall.com -dg-meta.video.google.com dg-niuniu.com dg-paas.com dg-tcm.com @@ -30146,17 +29523,17 @@ dgjijiagong668.com dgjiuqi.com dgjoy.co dgjwsy.com +dgjx.net dgjxmk.com dgjy.net +dgk2n.com dgkj888.com -dgliangyujt.com dglpool.com dglvc.com dglyjx.com dglyyun.com dglzd.com dgmama.net -dgmingji.com dgmyhome.com dgn.cc dgndf.com @@ -30168,10 +29545,10 @@ dgobch.com dgod.net dgouyijiance.com dgovp.com -dgozp.com dgpenghao.com dgphospital.com dgpp.com +dgprj.com dgptjob.com dgpump86.com dgqczz.com @@ -30180,7 +29557,6 @@ dgqjj.com dgqzxx.net dgrbcj.com dgrcw.com -dgrgr34.fun dgrongkuang.com dgrsa.org dgruizhi.com @@ -30223,6 +29599,7 @@ dgyanda.com dgyejia.com dgyhsb.com dgyian.com +dgyibiao.com dgykz.com dgylec.com dgyq-water.com @@ -30234,13 +29611,11 @@ dgzaixing.com dgzcsy.net dgzhihongjx.com dgzhisen.com -dgzhongdashun.com dgzj.com dgzp.com dgzx.net dgzz1.com dgzz1688.com -dgzzw.net dh.cx dh01.com dh0580.com @@ -30250,15 +29625,12 @@ dh3t.com dh5idnf.com dh7373.com dh7999.com -dh810.com dh818.com dh883.com dh9191.com dh978.com dhaitun.com -dhaof.com dhasgf.com -dhaxhsa325.com dhb.hk dhb168.com dhboy.com @@ -30282,7 +29654,6 @@ dhkm.vip dhkq120.com dhkqmz.com dhkqyy.com -dhl-ch.com dhlmyorder82662-info-can.com dhmeri.com dhmsnyy.com @@ -30299,10 +29670,8 @@ dhszyy.net dht5867.com dhtest.com dhtopology.com -dhtseek.com dhtv.tv dhuili.com -dhukul.com dhvisiontech.com dhw-wiremesh.com dhw22.com @@ -30315,6 +29684,7 @@ dhzfgm.com dhznib.com di1998.com di1k.com +di28nl.com di3ke.com di7cn.net di88.net @@ -30331,7 +29701,6 @@ dian.so dian123.com dian234.com dian5.com -dian500.com dian68.net dianadating.com dianapp.com @@ -30341,6 +29710,7 @@ dianbio.com dianbo.org dianbobao.com dianbucuo.com +diancang.xyz dianchacha.com dianchizhijia.com dianchouapp.com @@ -30351,6 +29721,7 @@ diandaxia.com diandeng.tech diandian.com diandian.net +diandianchong.com diandianmeijia.com diandiannuo.com diandianqi.com @@ -30365,7 +29736,6 @@ dianfanyingyu.com dianfengcms.com dianfuji.com diangan.org -dianganchangjia.com diangong8.com diangongbao.com diangongjiang.com @@ -30400,7 +29770,6 @@ dianlut.net dianmi365.com dianmiaoshou.com diannaoban.com -diannaodian.com diannaodiy.net diannaoxianka.com dianopen.com @@ -30416,7 +29785,6 @@ dianqugame.com dianranart.com dianremo1688.com dianrong.com -dianru.com dianru.net dians.net diansan.com @@ -30452,7 +29820,6 @@ dianxiandianlanchang.com dianxiao2.com dianxiaobao.net dianxiaomi.com -dianxin.com dianxin.net dianxinnews.com dianxinos.com @@ -30506,6 +29873,7 @@ diaoyy.com diary365.net diaxue.com diazha.com +dibaifang.com dibang18.com dibangshou.com dibaotong.com @@ -30515,7 +29883,6 @@ diboot.com dibunet.com dic123.com dicastal.com -diccdesign.com dichan.com dichan.net dichanlao.com @@ -30523,7 +29890,6 @@ dichanren.com dichanw.com dichedai.com dicila-china.com -dickschmidtbooks.com dicom365.com dictall.com dida110.com @@ -30539,7 +29905,6 @@ didapinche.com didatravel.com didatxt.com didctf.com -diddgame.com dideu.com didi-food.com didi-trip.com @@ -30547,11 +29912,15 @@ didi.xin didialift.com didiapp.com didiar.com +didiaustralia.blog didichuxing.com dididadidi.com dididapiao.com dididi88.com +didiglobal.com +didimobility.co.jp didimobility.com +didiopenapi.com didipai.com didiqiche.com didishijie.com @@ -30572,7 +29941,6 @@ diemoe.net diemz.com dieniao.com dieqiu.com -dierkezhan.com diershoubing.com dietfd.com diexuan.net @@ -30580,6 +29948,7 @@ diexun.com dieyanli.com difanapp.com difersports.com +diffir.com diffusefuture.com diffusenetwork.com dig-gy.com @@ -30651,12 +30020,8 @@ dimeng.vip dimensi-9.com dimensionalzone.com dimenspace.com -dimfarlow.com -dimg04.tripcdn.com -dimianyinghua.com dimocap.com dimolabel.com -dimpurr.com dimsmary.tech dimtown.com dinais.com @@ -30699,8 +30064,8 @@ dingdongmao.com dingdongxiaoqu.com dingdx.com dingefactory.com +dingertai.com dingfubang.com -dingge.cc dinggou.org dinggu.net dinghaiec.com @@ -30734,6 +30099,7 @@ dingqidong.com dingqingyun.com dingrongjiashi.com dingrongxd.com +dingrtc.com dingsheng.com dingso.com dingtalent.com @@ -30745,6 +30111,7 @@ dingtangzqx.com dingtaow.com dingteam.com dingtoo.com +dingwei.link dingweilishi.com dingwenacademy.com dingxiang-inc.com @@ -30772,9 +30139,9 @@ diodecy.com dioenglish.com diomasce.com dionly.com +diopic.net dious-f.com dious.cc -dipan.com dipephoto.com dipont.com dippstar.com @@ -30783,15 +30150,11 @@ diqiuw.com diqua.com dir001.com dir28.com -dircash-promost.com directui.com dis9.net discountedkwatch.com discourse-studies.com discoversources.com -discovery-sophie-pro.razerapi.com -discovery.razerapi.com -discovery3.razerapi.com discoveryriflescope.com discuz.chat discuz.com @@ -30809,7 +30172,6 @@ disimy.com dislux.com dislytegame.com dismall.com -displink.com dissona.vip distantmeaning.com distinctclinic.com @@ -30825,6 +30187,7 @@ ditiezu.com ditiezu.net ditu.live.com dituhui.com +dituw.net dituwuyou.com dituyi.com diugai.com @@ -30863,6 +30226,7 @@ diyiliuxue.com diyinews.com diyishijian.com diyixiazai.com +diyixin.com diyiyou.com diyiyt.com diyiyunshi.com @@ -30880,7 +30244,6 @@ diyzhen.com dizalpharma.com dizh.net dizhimei.com -dizhonghaihotel.com dizhu.org dizhuche.com diziguiwang.com @@ -30913,26 +30276,31 @@ djdjapp.com djdkk.com djdsh.com djduoduo.com +djdyqn.com djec.net djeconomic.com djf.com djf313.com +djfensi.com djfj.net djfrj.com djgy.com djhdfhsdjh256.vip djhxn.com -dji-official-fe.djicdn.com +dji.com +dji.net djiang.net djiavip.com -djigo-hk.djiservice.org -djigo.djicdn.com -djigoapi.djiservice.org +djicdn.com +djiits.com +djiops.com +djiservice.org djjgj.com djjlseo.com djjw.com djjyzly.com djkgongshui.com +djkhgy2.com djkk.com djkpai.com djksh.com @@ -30942,10 +30310,10 @@ djlmvip.com djlsoft.net djm-bj.com djmillison.com +djrhf0.com djsh5.com djstechpc.com djstg.com -djsxm.xyz djtpf.com djtpt.com djtt.com @@ -30972,19 +30340,16 @@ djzyg.com dk-lexus.com dk517.com dk8s.com -dkasdeerw.xyz -dkasffredf.xyz dkashop.com dkdangle.com dkdgroup.com -dkdlsj.com dkdsfrwety.xyz dkewl.com dkfinancing.com dkgyw.com +dkhg23.com dkhs.com dkhwyzv.com -dkjahfkanf.com dkjiaoyang.com dkjmy.com dkjmyq.com @@ -30995,29 +30360,19 @@ dkntgc.com dkrsq.com dksgames.com dkskcloud.com -dktad.com dktzjt.com dku51.com -dkweuy.com dkxls.com dky.cc dkybpc.com dkzt.com dkzx.net -dl-city.com dl-hf.com dl-hr.com -dl-huahong.com dl-kg.com dl-meitu.com -dl-origin.ubnt.com dl-rc.com dl.delivery.mp.microsoft.com -dl.djicdn.com -dl.google.com -dl.l.google.com -dl.razerzone.com -dl.ubnt.com dl0728.com dl23zx.com dl2link.com @@ -31037,20 +30392,19 @@ dld.com dld56.com dldlsw.com dldm.com -dldsrs.com dldsweixin.com -dle-news.xyz dledu.com +dler.cloud dlfederal.com dlfeyljt.com dlfy-metalparts.com dlg-expo.com dlglys.com dlgouji.com +dlgslb.net dlgwbn.com dlgxbl.com dlhaibaobio.com -dlhexing.com dlhope.com dlhospital.com dlhtlw.com @@ -31070,13 +30424,10 @@ dlkldz.com dlkykycc55.com dllake.com dllawyers.org -dllttest.com dllzj.com -dlm01-cn-sdc.blurdev.com dlmeasure.com dlmianshuiche.com dlmonita.com -dlmtb.com dlmyzf.com dlmzk.com dlnel.com @@ -31084,9 +30435,7 @@ dlnel.org dlnyzb.com dlonng.com dlosri.com -dlouf.com dlphoschem.com -dlpifu.com dlpuwan.com dlqcgz.com dlrkb.com @@ -31103,7 +30452,6 @@ dlszywz.com dlteacher.com dltm.net dltobacco.com -dltsfh.com dltubu.com dlvalve.com dlw-lighting.com @@ -31125,7 +30473,6 @@ dlyy365.com dlzb.com dlzbxx.com dlzj.net -dlzoo.com dlzs-audio.com dlztb.com dlzxyy.com @@ -31148,6 +30495,7 @@ dmaku.com dmall.com dmallcdn.com dmallovo.com +dmaow.com dmb168.com dmbcdn.com dmcbs.com @@ -31166,6 +30514,7 @@ dmggb.com dmgpark.com dmguo.com dmgyta.com +dmgytb.com dmhlj.com dmhmusic.com dmhy.com @@ -31183,36 +30532,36 @@ dmpans.com dmpdmp.com dmpdsp.com dmplugin.net -dmqapp.com dmqhyadmin.com dmqst.com dmqwl.com dmread.com dmrta.com -dmrtb.com dms365.com dmssc.net dmtg.com dmtgy.com dmu-1.com +dmvideo.mobi +dmvideo.net +dmvideo.org dmxs.net +dmyouxi.com dmyy.cc dmyz.org dmzfa.com dmzgame.com dmzj.com -dmzj8.com dmzlcn.com dmzlpf.com dmzshequ.com dmzx.com dmzzbjb.net +dmzzkz.com dn.com dn23.com -dn4qoz.com dn580.com dn8188.com -dna0772.com dnake-park.com dnatupu.com dnbbn.com @@ -31220,8 +30569,6 @@ dnbbs.com dnbiz.com dnc21.com dncable.com -dncheng.com -dnd2.icu dndc.cloud dnettvbox.com dnfziliao.com @@ -31240,7 +30587,6 @@ dnnunion.com dnole.com dnparking.com dnpz.net -dnpz123.com dnqc.com dnrenfang.com dns-diy.com @@ -31268,10 +30614,11 @@ dns6132.com dns666.com dns6868.com dns800.com -dns819.com +dnsabc.com dnsany.com dnsapi12.com dnsbbzj.com +dnsbubu.com dnsce.com dnscnc.com dnsdaquan.com @@ -31289,6 +30636,7 @@ dnsff.com dnsfox.net dnsfwq.com dnsgtm.com +dnsguest.com dnsgulf.net dnsh6666.com dnshot.net @@ -31299,6 +30647,7 @@ dnsip.net dnsis.net dnsjia.com dnsjiasu001.com +dnslah.com dnslin.com dnslv.com dnsmeasurement.com @@ -31315,6 +30664,7 @@ dnspai.com dnspig.com dnsplus.co dnspod.com +dnspod.mobi dnspod.net dnspod.org dnspodh.com @@ -31367,7 +30717,6 @@ dnzhuti.com dnzjds.com dnzp.com dnzs678.com -do-global.com do-shi.com do-won.com do123.net @@ -31387,21 +30736,20 @@ doc88.com doccamera.com docer.com docexcel.net +docin.com docin.net docin365.com dockerinfo.net dockerone.com dockerproxy.com +dockone.io dockx.app doclass.com docn.net docodgroup.com docoi.cc docpe.com -docs.cdnetworks.com -docs.djicdn.com docs.microsoft.com -docs.oracle.com docschina.org docshare.org docsj.com @@ -31414,7 +30762,6 @@ doctorkickstart.com doctorscrap.com doctoryou.ai docuarea.org -documents.cdnetworks.com docx88.com docxz.com doczj.com @@ -31436,7 +30783,6 @@ doercn.com doergob.com doerhr.com doerjob.com -doerjobdata.com doffry.com dofolong.com dog-e-clothing.com @@ -31452,7 +30798,6 @@ dogfight360.com dogfuzhu.com doghun.com doglg.com -doglobal.net dogmr.com dogwhere.com dogyun.com @@ -31471,16 +30816,16 @@ dolcn.com dole.club dolfincdnx.com dolfincdnx.net +dolfincdnx.top dolfindns.net dolfindnsx.com dolfindnsx.net +dolfindnsx.top dolgma.com dolike.com +dolingou.com doll-leaves.com -doll-love.com doll-zone.com -dollphoin.site -dollsdeclare.com dollun.com dolovely.net dolphin-browser.com @@ -31493,10 +30838,20 @@ domabio.com domaingz.com domaintescil.com domengle.com +domesticmedia.cc +domesticmedia.co +domesticmedia.com +domesticmedia.net +domesticmedia.tv +domesticmediagame.co +domesticmediagame.net +domesticmediapay.com domilight.com dominoh.com domob-inc.com +domob.org domobcdn.com +domobnetwork.com domor.net domp4.cc domp4.net @@ -31530,6 +30885,7 @@ dongchali.net dongchecha.com dongchedi.com dongchediapp.com +dongchehui.net dongcheng120.com dongchenghotels.com dongcheyun.com @@ -31537,7 +30893,6 @@ dongchuangipr.com dongchuanmin.com dongdao.net dongdianqiu.com -dongdong.world dongdongaijia.com dongdongliu.com dongdongmai.com @@ -31614,7 +30969,6 @@ donglizhixin.com donglongfm.com dongman.la dongman520.com -dongmansoft.com dongmanwang.com dongmanxingkong.com dongmanzx.com @@ -31659,6 +31013,7 @@ dongxong.com dongxu.com dongyanggas.com dongyanggh.com +dongyangmotor.com dongyao.ren dongyaods.com dongyaowuliu.com @@ -31691,13 +31046,11 @@ doohe.com dooioo.com dookay.com dooland.com -doomii.com doonsec.com dooo.cc doooor.com doooor.net door-expo.com -door2new.net dooready.com doorhr.com doorzo.app @@ -31706,17 +31059,14 @@ doosunggroup.com doov5g.com doowinfintec.com dooya.com -dopa.com dopic.net dopo-online.net dopoil.com dopool.com dopsie.fun -dora-control.cdnetworks.com dora-family.com dorapp.com dorcen.com -doremi.ink dorgean.com dorole.com dorpule.com @@ -31728,7 +31078,6 @@ doshome.com dosk.win dosnap.com dospy.com -dospy.wang dossav.com dossen.com dostor.com @@ -31745,15 +31094,12 @@ doteck.com dotgate.com doticloud.com dotsage.com -dottexpress.com dotty-china.com dotwe.org dou.bz dou.li dou6.cc -douba1688.com doubaijiu.com -douban.co douban.com douban.fm doubanio.com @@ -31790,20 +31136,18 @@ doudou1217.com doudouad.com doudoubird.com doudouditu.com -doudouguo.com -doudouknot.com doufan.tv -doufl.com doufm.net +dougong.net dougongyun.com douguo.com douguo.net douhan.li douhao.com -douhaogongyu.com douhaomei.com douhua.net douhuameiquan.com +douhuameiquan.net douhuawenxue.com douhuaxiongmao.com douhuibuy.com @@ -31814,7 +31158,6 @@ doukeji.com doukou.com doulaicha.com doulaidu.cc -doulaidu.com doulaidu8.cc doule-ref.com douleyun.net @@ -31824,7 +31167,6 @@ doumenqu.com doumi.com doumiip.com doumistatic.com -doumob.com doumobsix.site dounanhuahua.com douniwan.org @@ -31905,6 +31247,7 @@ down568.com down6.com downabc.com downbei.com +downcc.com downcodes.com downfi.com downg.com @@ -31914,14 +31257,11 @@ downke.com downkr.com downkuai.com download-cn.msi.com -download.developer.apple.com +download.jetbrains.com download.microsoft.com -download.mlcc.google.com download.msi.com download.qatp1.net -download.tensorflow.google.com download.visualstudio.microsoft.com -download.windowsupdate.com downloads.ltd downok.com downos.com @@ -31932,6 +31272,7 @@ downwn.com downxia.com downxing.com downxy.com +downyi.com downza.com dowv.com dowway.com @@ -31942,12 +31283,11 @@ doxygen.io doyeah.com doyee.com doyoimg.com +doyonoc.com doyoo.net doyoudo.com doyouhike.net dozview.com -dp-zn.com -dp.deploy.akamai.com dp.tech dp168.com dp2u.com @@ -31961,23 +31301,19 @@ dpcyjt.com dpddo.com dpdfsd.com dpdp.net -dpeeghn.com dper.com dpfile.com dpgz.com dpifloor.com dpin100.com -dpjszs.com dpkyz.com dplor.com dplord.com dplslab.com dpma.cc -dpmf1688.com dpn.net dpqct.com dpqhf.com -dps.djiservice.org dpsoidf.com dptech.com dptechnology.net @@ -32000,6 +31336,7 @@ dqdbrc.com dqdg.cc dqdgame.com dqdm.com +dqf14u8573.com dqguo.com dqhsrq.com dqhui.com @@ -32023,15 +31360,12 @@ dqsq.net dqsy.net dqtzdt.com dqxlun.xyz -dqxpz.com dqyadong.net dqycw.com dqyfapiao.com dqyouqi.com dqyq.com -dqyxcy.com dqzboy.com -dqzjz.com dqzrrq.com dqzsteel.com dr-bj.com @@ -32062,7 +31396,6 @@ drakeet.com dramx.com drartisan.com drasy.net -dratio.com drawyoo.com drbdp.com drcact.com @@ -32071,7 +31404,6 @@ drcg8.com drclvs.com drcnetdns.com drcuiyutao.com -drdwy.com dre8.com dream-loft.com dream-marathon.com @@ -32096,11 +31428,9 @@ dreamspark.download.prss.microsoft.com dreamsparkuat.download.prss.microsoft.com drearry.com dreawer.com -drenqils.com dressmeup-hk.com drgou.com drice.cc -drihmae.com drinkmagazine.asia drinkpoem.com drip.im @@ -32109,7 +31439,6 @@ driver114.com driverchina.com driverdevelop.com drivergenius.com -drivers.amd.com driverzeng.com drivethelife.com drjou.cc @@ -32138,13 +31467,11 @@ drsmilehealth.com drsrp.com drstour.com drsxy.com -drtrs55.fun drtyf.com drugadmin.com drugfuture.com druggcp.net drughk.com -drugoogle.com druid.vip drupalla.com drupalproject.org @@ -32152,36 +31479,26 @@ drv.tw drvi.net drvsky.com drxexpo.com -drxrc.com ds-360.com ds-lg.com ds028.com ds123456.com ds5f.com -dsad234.fun -dsads55.fun -dsaewew21.fun dsary.com dsb.ink dsbaike.com dsblog.net dscbs.com -dscds111.fun dscq.com -dsda21.fun dsdbxg.com dsdod.com -dsdsa33.fun -dsdsg44.fun dsdyf.com dseman.com dser.com dsfdc.com dsfdy.com -dsfh2.icu dsfjh.vip dsfpz.com -dsfsdft4324.xyz dsfuse.com dsfzcz.com dsfzh.com @@ -32189,7 +31506,6 @@ dsgaokao.com dshigao.com dshltech.com dshrc.com -dshrx.com dsilicone.com dsjt.com dskb.co @@ -32211,8 +31527,6 @@ dsn300.com dsnpz.com dsnzyy120.com dsook.com -dsp.com -dspczg.pw dspga.com dspgo.com dspmt.com @@ -32222,7 +31536,6 @@ dsqzls.com dsqzxyy.com dsrepark.com dss.hk -dssddf33.fun dsspinfo.com dsstudio.tech dssz.com @@ -32243,17 +31556,13 @@ dswqw2025.com dswx.cc dswzxh.com dsx2020.com -dsxdn.com -dsxgg.com dsxliuxue.com dsxys.pro dsyqt.com dsyun.com dsz.cc -dszan.com dt-paint.com dt-stor.com -dt0j.icu dt123.net dt830.com dtao.com @@ -32266,7 +31575,6 @@ dtdog.com dtdream.com dtdxcw.com dtechcn.com -dtf.lenovo.com dtfjw.com dthgdq.com dthr.com @@ -32277,6 +31585,7 @@ dtjhgs.com dtlpt.com dtlqg.com dtlty.com +dtmbw.com dtmuban.com dtnews.net dtrcb.com @@ -32308,11 +31617,13 @@ du-hope.com du-xiaomai.com du7.com du8.com +du8.ltd dualaid.com dualspace.com dualspacetech.com duan.red duangks.com +duanju.com duanju.fun duanjuzi.com duanlonggang.com @@ -32334,12 +31645,10 @@ duanxin520.com duanxindao.com duanzaixian.vip duanzao001.com -duanzhihu.com duanzikuaizui.com duanziya.com duanziyuan.com duapp-preview.com -duapp.com duapp.net duasrdwb.com duba.com @@ -32369,13 +31678,12 @@ dudutalk.com duduwo.com duelcn.com dufeicizhuan.com -dugoogle.com +dugrqnn.xyz dugulingping.com duguying.net duhao.net duhaobao.net dui.ai -dui88.com duia.com duiai.com duibiao.com @@ -32384,7 +31692,6 @@ duibimao.com duiduihuishou.com duiduilian.com duiduipengds.com -duihuashijie.com duijie666.com duikuang.com duimg.com @@ -32413,7 +31720,9 @@ dukuai.com dule.cc dulesocks.com duliangaotu.com +dulife.com dulifei.com +dulightapp.com dullong.com dullr.com dulwich.org @@ -32433,7 +31742,6 @@ dunanac.com dunankeji.com dunbaigo.com dundianwang.com -dundun.wang dungeon-server.com dungkarime.com dunhuang-yueqi.com @@ -32522,8 +31830,9 @@ duolexq.com duoliheng.com duoliucui.com duoluodeyu.com -duomai.com duomeng.fun +duomeng.net +duomeng.org duomi.com duomian-static.com duomian.com @@ -32554,9 +31863,8 @@ duoshoubang.com duoshuo.com duososo.com duost.com -duosuna.lenovo.com duotai.net -duote.com +duotaoli.com duotegame.com duoteyx.com duotin.com @@ -32568,7 +31876,6 @@ duoweijt.com duoweisoft.com duoweizi.net duowenlvshi.com -duoxiadian.com duoxinqi.com duoxue.com duoyewu.com @@ -32584,7 +31891,6 @@ duoziwang.com dup2.org dupingzu.com duplo-shandong.com -dupola.net duquge.org dur9.com dure365.com @@ -32596,6 +31902,8 @@ durongjie.com dusaiphoto.com dusao.vip dusays.com +dusdn.com +dusdn.net dushaofei.com dushewang.com dushi118.com @@ -32618,13 +31926,10 @@ dustit.me dusulang.com dute.me dutenews.com -dutils.com dutyfreeyun.com dutype.com -duu5.com duuchin.com duunion.com -duusuu.com duwenxue.com duwenz.com duwenzhang.com @@ -32645,10 +31950,8 @@ duyunshi.com duzelong.com duzhe.com duzhoumo.com -dv0i.icu dv37.com dv38.com -dv4ku.icu dv58.com dvagent.com dvbbs.net @@ -32658,6 +31961,7 @@ dvd2017.com.tw dvdc100.com dvdduplicationphoenix.net dvidc.com +dvkors.com dvmama.com dvmission.com dvr163.com @@ -32665,6 +31969,7 @@ dvrdydns.com dvsadive.com dvvvs.com dw-microbiology.com +dw2.co dw4.co dwbxg.com dwdds.com @@ -32672,10 +31977,12 @@ dwforging.com dwgbj.com dwgszc.com dwgwatch.com +dwhhd.com dwhub.net dwhut.com dwidc.com dwinput.com +dwion.com dwjkgl.com dwjoy.com dwjpwf.com @@ -32696,7 +32003,6 @@ dww11.com dwwin.com dwxw.net dwxyamaha.com -dwyeuy.com dwywood.com dwywooden.com dwz.date @@ -32722,7 +32028,6 @@ dxf6.com dxfblog.com dxgg.co dxguanxian.org -dxhlt.com dxhuafu.net dxinzf.com dxjs.com @@ -32769,7 +32074,6 @@ dxuan-robot.com dxuexi.com dxwei.com dxwfgg.com -dxwxdc.com dxxxfl.com dxy.com dxy.me @@ -32793,7 +32097,6 @@ dxzx.com dxzy163.com dy-bus.com dy-hospital.com -dy1000.com dy120.net dy163.cc dy172.com @@ -32802,7 +32105,6 @@ dy2018.com dy2066.com dy3j.com dy558.com -dyaintcbmace.com dybeta.com dycar.net dycars.com @@ -32816,7 +32118,6 @@ dycmyl.com dycnchem.com dycom365.com dycyw.com -dydab.com dydata.io dydt.net dydytt.com @@ -32845,7 +32146,6 @@ dyhuidong.com dyhxgame.com dyie.net dyjdcz.com -dyjian.com dyjqd.com dyjqlrj.com dyjs.com @@ -32865,9 +32165,9 @@ dymexhealthcare.com dyml.net dymusictape.com dymusicvideo.com -dyna-rc.com dynabook-dbh.com dynavolt.net +dynguyeniq.com dyonr.com dypf8.com dyqc.com @@ -32963,7 +32263,6 @@ dzfjsm.com dzfwjd.com dzfxh.com dzgcxcl.com -dzgg.com dzglsb.net dzgxq.com dzh.link @@ -32971,19 +32270,16 @@ dzhlive.com dzhope.com dzhouse.com dzhqexpo.com -dzhtgs.com dziuu.com dzjc.com dzjkw.net dzjob.net dzjrc.com -dzjzg.com dzkbw.com dzlaa.com dzlems.net dzljy.com dzllzg.com -dzlndygh.com dzmachines.com dzmhospital.com dzng.com @@ -33007,6 +32303,7 @@ dzs2004.com dzsaas.com dzsaascdn.com dzsc.com +dzsdg.com dzsg.com dzsjgroup.com dzsjtjt.com @@ -33019,6 +32316,7 @@ dztugongbu.net dztv.tv dztz168.com dzvv.com +dzw3.com dzwad.com dzwebs.net dzwindows.com @@ -33028,7 +32326,6 @@ dzwww.net dzwy.com dzxsw.net dzxw.net -dzxwnews.com dzxxzy.com dzxzh.com dzy.link @@ -33049,7 +32346,6 @@ e-adcon.com e-ande.com e-bidding.org e-bq.com -e-bq.org e-buychina.com e-byte.com e-cbest.com @@ -33082,7 +32378,6 @@ e-kays.com e-length.com e-lining.com e-mallchina.com -e-micromacro.com e-nci.com e-nebula.com e-net.hk @@ -33113,19 +32408,21 @@ e0734.com e0744.com e0838.com e0hhk12.xyz +e1.vdowowza.vip.hk1.tvb.com e12345.com e1288.com e1299.com e12e.com e1617.com e1988.com -e1zin.icu +e1evh0lp4n.com e213155.com e21cn.com e22a.com e23dns.net e24c.com e253.com +e28ac.com e2capp.com e2edesign.com e2esoft.com @@ -33133,12 +32430,10 @@ e2say.com e360e.com e365mall.com e3861.com -e399.com e3j.co e3ol.com e4008.com e4221.com -e4l4.com e53w.com e5413.com e5618.com @@ -33153,8 +32448,6 @@ e656gps.com e65u.com e68cname.com e6gps.com -e7002.com -e708.net e763.com e7890.com e7cn.net @@ -33166,12 +32459,12 @@ e7wan.com e7wei.com e7z.net e836g.com +e84p8174c7.com e890.com -e8d7.icu -e9377f.com e9797.com e9898.com e99999.com +e9x51y8t91.com ea-china.com ea-retina.com ea-xing.com @@ -33187,7 +32480,6 @@ eadianqi.com eaeacn.com eaecis.com eafifaonline2.com -eagla163.com eagle-sight.com eaglebgm.com eaglebrandgroup.com @@ -33234,10 +32526,11 @@ easeyedelivery.com eashu.com easi-tech.com easilysend.com +easipass.com easipay.net easitcn.com +easiu.com easonad.com -easou.com east-regis.com east.net east263.com @@ -33315,7 +32608,6 @@ easy163.net easy2world.com easy361.com easy888.com -easyapple.net easyar.com easyarvr.com easyball.net @@ -33336,7 +32628,6 @@ easyhin.com easyidc.com easylaa.com easylabplus.com -easyliao.com easyliao.net easylinkin.com easylinkin.net @@ -33348,7 +32639,6 @@ easypayx.com easyreadtech.com easyrecovery.cc easyrecovery.net -easyrecoverychina.com easyrecoverycn.com easyscholar.cc easysensor.net @@ -33383,6 +32673,7 @@ eazytec-cloud.com eb-ind.com eb80.com ebadu.net +ebaidutv.com ebaifo.com ebaina.com ebaixing.com @@ -33396,6 +32687,7 @@ ebaoquan.org ebaotech.com ebasset.com ebchina.com +ebchinaintl.com ebchinatech.com ebdan.net ebdoor.com @@ -33428,11 +32720,11 @@ ebptp.com ebrun.com ebscn-am.com ebscn.com +ebscohost.com ebseek.com ebsfw.com ebt.group ebtang.com -ebtcbank.com ebtrust.com ebuckler.com ebullienceconsultancy.com @@ -33465,7 +32757,6 @@ ecarechina.com ecartoon.net ecarxgroup.com ecbcamp.com -ecbda.org ecboo.com ecbos.com ecbuy.net @@ -33522,9 +32813,11 @@ ecice06.com ecigdaily.com ecinnovations.com ecitic.com +ecitic.net eciticcfc.com ecjobhome.com ecjson.com +eckgxbfa.com eckwai.com ecloud-gdu.com ecloud.hk @@ -33586,7 +32879,6 @@ ectdno.com ectnno.com ectnno.org ectrip.com -ecuc123.net ecukwai.com ecustmde.com ecv360.com @@ -33596,6 +32888,7 @@ ecydm.com ecyj.net ecyti.com ecyzm.com +eczuafam.com ed-textile.com ed21.cc ed2k.vip @@ -33626,21 +32919,20 @@ edb-tech.com edcba.com edcdfg.com edcfda.com -eddcc.icu eddic.net eddingpharm.com -eddong.com eddycjy.com ede35.com ededian.com edefang.net edenblis.com edesson.com -edfadesign.com edfni.xyz edge-byted.com +edge.music-choice-play-chaina1.top.comcast.net edgefn.net edgegslb.com +edgekey88.net edgemec.com edgeone.ai edgeone.app @@ -33663,11 +32955,9 @@ edisec.net editarumlivro.com editorjianying.com editsprings.com -ediuschina.com edk24.com edlcaster.com edmcn.net -edmontonservice.com edmseller.com edns.com edo-bijiben.com @@ -33691,12 +32981,14 @@ edtsoft.com edty.com edu-book.com edu-cj.com +edu-edu.com edu-nw.com edu03.com edu0851.com edu1488.com edu24o1.com edu24ol.com +edu4399.com edu510.com edu5a.com edu63.com @@ -33706,7 +32998,6 @@ edu84.net edu88.com eduaaf.com eduaiplat.com -eduancm.com eduapaashwc.com eduardoam.com eduartisan.com @@ -33732,7 +33023,6 @@ eduli.net edumail.pub edumine.net edumq.com -edumsys.com eduour.com edupm.com eduppw.com @@ -33741,11 +33031,9 @@ edushi.com edusoho.com edusoho.net edusy.net -edutalkingdata.com edutao.com edutime.net edutrackconsult.com -edutt.com edutxw.com eduu.com eduuu.com @@ -33764,7 +33052,6 @@ eduzhai.net eduzhi.com eduzhixin.com eduzs.net -edvxgqx.com edwiv.com edxmy.cc edzx.com @@ -33823,8 +33110,6 @@ eeook.com eeparking.com eepw.com eeqiu.com -eeqweqw.fun -eeryt111.fun eeskill.com eeso.net eestar.com @@ -33841,16 +33126,13 @@ eexiaoshuo.com eexing.com eeyd.com eeyxs.com -eeyy.com eeyys.com eezml.com ef-cdn.com ef360.com ef360.net -ef9377.com efala.net efang.tv -efangcdn.com efangwang.com efapiao.com efasco.com @@ -33858,13 +33140,11 @@ efashionchina.com efashioncloud.com efchina.org efe.cc -efeiy.com efengji.org efesco.com eff-soft.com effapp.com efficient.hk -effirst.com effood.net efgh11.com efglobal-gy.com @@ -33900,28 +33180,23 @@ egainnews.com egbt.net egcmedia.com egeel.com -egesdashb8.fun egfb2221.com -egg.htcsense.com -egg0.icu eggbnk.com eggrj.com eghimalayanak.com -eghnmj.xyz egjqgs.com ego-robotics.com egoint.com egongzheng.com -egooad.com egood995.com egoonet.com egotops.com -egou.com egou68.com egouz.com egovsum.com egpctiz.com egpharm.com +egqkxzd.com egreatworld.com egret-labs.org egret.com @@ -33934,6 +33209,7 @@ egt365.com egu365.com eguangjie.com eguantao.com +eguqwhvg.com egwealth.hk egxlx.com ehafo.com @@ -33957,7 +33233,6 @@ ehengjian.com eheren.com ehetech.com eheyin.com -ehhsrfn.com ehijoy.com ehinvest.hk ehnasia.com @@ -33975,7 +33250,6 @@ ehrel.com ehschina.com ehsy.com ehtcn.com -ehtttop.com ehualu.com ehuarun.com ehuatai.com @@ -33990,7 +33264,6 @@ ehuoyun.com ehutu.com ehuyao.com ehuzhu.com -ehxyz.com ei6nd.com eia-data.com eia543.com @@ -34014,7 +33287,6 @@ eightedu.com eigpay.com eihtfire.com eiicn.com -eiimg.com eiisys.com eiixx.com eijiucq.com @@ -34025,7 +33297,6 @@ einkcn.com einsteintiles.com eintone.com eiot.com -eiphrut.com eismowe.com eisoo.com ej-travel.com @@ -34039,8 +33310,6 @@ ejectu.com ejecx.com ejee.com ejeegroup.com -ejeenews.com -ejfeng.com ejhimalayanje.com ejia7.net ejiacn.com @@ -34053,7 +33322,6 @@ ejie.me ejiecheng.com ejinshan.net ejion.net -ejktj.com ejmrh.com ejomoo.com ejoy.com @@ -34067,12 +33335,11 @@ ejudata.com ejuen.com ejuhome.com ejujiu.com -ejunshi.com ejustcn.com ejy365.com +ek-edu.com ek1ng.com ek6.com -eka1680.com ekaid.com ekaidian.com ekan001.com @@ -34083,14 +33350,15 @@ ekaoyan.com ekaoyan365.com ekclubinternational.com ekecdn.com -ekeguan.com ekewy.com +ekimmigration.com eking-tech.com ekingair.com ekingtopwood.com -ekltes.xyz +ekmic873o6vkza.com ekoooo.com eks0451.com +eksoi7mwa4fa27.com ekuaibao.com ekumao.com ekumb.com @@ -34099,7 +33367,6 @@ ekwangs.com ekweixin.com ekwing.com ekxx.net -ekzmk.icu elabinfo.com elabpic.com elaiter.com @@ -34161,12 +33428,12 @@ elingka.com elingyun.com elinkhost.com elinzy.com +elita.work elitecrm.com elitenexusgroup.com elitesland.com elitetie.com elitimes.com -eliuy.com eliwang.com elkpi.com ellassay.com @@ -34206,7 +33473,6 @@ elvshi.com elvxing.net elxk.com em86.net -emadao.com emai.com email.fund emaileds.com @@ -34220,7 +33486,6 @@ emao.com emao.net emaozi.com emapgis.com -emarbox.com emas-poc.com emasmr.com ematong.com @@ -34247,7 +33512,6 @@ emcbj.com emcdir.com emcsosin.com emdoor.com -emea.cdnetworks.com emed.cc emeiju.com emeixian.com @@ -34255,6 +33519,7 @@ emeixs.com emengju.com emeok.com emepu.com +emerald.com emeratech.com emergencyexit.xyz emfuture.com @@ -34266,21 +33531,23 @@ emjob.com emlinix.com emlog.net emmacn.cc -emmapplecodevice.googleapis.com emmmn.com emodor.com emohe.com +emoi-cncdn.bing.com emoji6.com emojimobile.com emoriko.com emotibot.com emots.cc +empornium.me emqx.cloud emqx.com emqx.net emr-volces.com ems-audio.com ems517.com +emsec.hk emsepc.com emshost.com emshua.com @@ -34301,10 +33568,9 @@ emulatedlab.com emumax.com emupic.com emushroom.net -emw173.com emwan.com emyard.com -en.people.cn.akadns99.net +emzexzfp.com en.tm en51.com en8848.com @@ -34315,7 +33581,6 @@ enaiter.com ename.com ename.net enantiotech.com -enappstore.com enbamaoyi.com enbrands.com encthinking.com @@ -34330,6 +33595,7 @@ enelcn.com energy-greenland.com energy-root.com energy-zj.com +energychina.press energyhz.com enerpat.net enet16.com @@ -34342,10 +33608,10 @@ enflame-tech.com enfodesk.com enforever.com eng24.com -engdungjdg.com engdvd.com engeniustec.com engeyuan.com +engineeringvillage.com engley.com english163.com englishdict.cc @@ -34360,6 +33626,7 @@ engzai.com enianteam.com enicn.com eniu.com +enjerr.com enjoy.link enjoy1992.com enjoy3c.com @@ -34418,10 +33685,8 @@ enstylement.com ent001.com ent120.com entengll.com +enterdesk.com enterdesk.net -enterprise-insights.dji.com -enterprise.dji.com -entertainment.dji.com entive.com entstudy.com entts.com @@ -34440,7 +33705,6 @@ eoeandroid.com eoemarket.com eoemarket.net eoffcn.com -eoidde.com eoivisa.com eojofdrzei4.com eokhnnam.shop @@ -34461,6 +33725,7 @@ eoouoo.com eoovoo.com eoozoo.com eoriver.com +eorygadw.com eorzea.moe eosantpool.com eoss-hj.com @@ -34500,6 +33765,7 @@ ephua.com epian1.com epiaogo.com epibiotek.com +epicgamesspot.com epichust.com epinautomation.com epinduo.com @@ -34510,7 +33776,6 @@ epinzu.com epjike.com epjob88.com epkey.com -epkipro.globalsign.com eplove.com epluspvy.com epnnel.com @@ -34532,7 +33797,6 @@ epubit.com epweike.com epwitkey.com epwk.com -epxlt.xyz epzcw.com epzwxs.com eq321.com @@ -34544,13 +33808,13 @@ eqie.com eqifa.com eqigou.com eqingdan.com -eqiuy.com eqixiu.com eqiyingxiao.com eqlky.com eqmis.com eqmobi.com eqnvip.com +eqoavtbu.com equalocean.com equdong.net equipmentimes.com @@ -34562,7 +33826,7 @@ eqxiuzhan.com eqyn.com eqz.cc er07.com -er1h4.icu +er8gmvwi54p5x1.com eraclean.com eraedu.com eral.com @@ -34580,6 +33844,7 @@ erda.cloud erdaicms.com erdangame.xyz erdangjiade.com +erddv.com erdiamond.com erdianzhang.com erdong.site @@ -34593,7 +33858,8 @@ ereter.com ereuiib.com erfang-ic.com erg2008.com -ergeapp.com +erg3r.com +ergcb.com ergecdn.com ergedd.com ergediandian.com @@ -34601,6 +33867,7 @@ ergeduoduo.com ergengtech.com ergengtv.com ergouzi.fun +ergvx.com erhua.cc erhuyou.com eric-bot.com @@ -34682,7 +33949,6 @@ esemseo.com esenagro.com esensoft.com esfimg.com -esgc.cc esgforum.com esgweb.net eshangle.com @@ -34710,10 +33976,10 @@ esk365.com eskedu.com eskimall.com eskuvoifoto.com -eskux.xyz eskysky.com eslosity.com eslygroup.com +esm8u7oe9ci5.com esmartwave.com esnai.com esnai.net @@ -34729,9 +33995,11 @@ esoua.com esound.vip esouou.com esoyu.com +esp8266.com espeedpost.com esplus.club espnlol.com +espressif.com esr.com essaystar.com essbjs.com @@ -34744,6 +34012,7 @@ essent-tech.com ession.com essjj.com esstglobal.com +essurl.com esswye.com essxp.com essyy.com @@ -34776,10 +34045,9 @@ esztsg.org esztyg.com eszwdx.com eszyb.com -eszzxxz.com et-api.com et-fine.com -et363.com +et001.com et59.com et998.com etagrfid.com @@ -34831,7 +34099,6 @@ etonetech.com etonfood.com etong.com etongchem.com -etongdai.com etongguan.com etonjx.com etonkidd.com @@ -34847,6 +34114,7 @@ etoujie.com etowncapital.com etownestate.com etpass.com +etplat.com etpowers.com etrack01.com etrack02.com @@ -34861,7 +34129,6 @@ etranshare.com etrasemi.com etrd.org etrol.com -etroytj33.fun etrump.net ets100.com etsc-tech.com @@ -34880,10 +34147,10 @@ etu6.com etuan.com etuan123.com etudu.com -etugou.com etuogroup.com etuoyi.com etuschool.org +etwgzkce.com etxcs.com etycx.com etyy.com @@ -34893,6 +34160,7 @@ etzj.net etzqw.com etzzy.com eu4cn.com +eu9zx.com eub-inc.com euci-software.com eucure.com @@ -34901,7 +34169,7 @@ euejia.com eueui.com eufc.org euforums.com -eugnnn.com +euhhob.com eui.cc euibe.com euino.com @@ -34945,12 +34213,12 @@ eve.moe evebattery.com evefashion.com evening.me -event.msi.com eventown.com eveqbow.xyz ever9527.com everbox.com everbox.net +everbright.com everbright21.com everbrightlaw.com everbrightphotonics.com @@ -34986,6 +34254,7 @@ evestemptation.com evewan.com evfchina.com evget.com +evgezphv.com evhui.com evideostb.com evileyesaint.com @@ -35007,11 +34276,12 @@ evpartner.com evpowergroup.com evqvxuq.com evtcn.com +evtrust.com evv1.com -evyy.net evzhidao.com evzs.com ew-wirestripping.com +ew480.com ew80.com ew80.net ew80yun.com @@ -35037,7 +34307,6 @@ ewen.co ewenchina.com ewenyan.com ewhnzmqncm7.com -ewide.net ewidecloud.com ewidewater.com ewidewater.net @@ -35046,16 +34315,14 @@ ewin007.com ewinall.com ewinshine.com ewinshocks.com -ewku.com ewoka.com ewomail.com eworksglobal.com eworldship.com ewpeinfo.com ewqcxz.com -ewqeq23.fun -ewqws55.fun ewsaas.com +ewsdxc.com ewstudy.com ewt360.com ewteacher.com @@ -35063,6 +34330,7 @@ ewtp.com ewtp.org ewu.cc ewuzhen.com +ewzqsyuc.link ex-silver.com ex-starch.com ex360.com @@ -35099,13 +34367,11 @@ excel880.com excelcn.com excelhome.net excellbio.com -excellenceads.com excellencegroupfoundation.com excelpharma.com excelpx.com exchen.net excm.net -excoino.com exd.design exdak.com exdoll.com @@ -35113,6 +34379,7 @@ exeedcars.com exexm.com exezhanqun.com exfree.com +exgpykzm.com exhera.com exia.xyz exiaoba.com @@ -35120,8 +34387,10 @@ exinee.com exingbao.com exiqu.com exllog.com +exmailgz.com exmailqq.com exmay.com +exmetis.com exmoo.com exmrw.com exnpk.com @@ -35132,7 +34401,6 @@ exp99.com expba.com expdns.net expec-tech.com -experiments.apple.com expin.site expingworld.com expiredns.net @@ -35254,6 +34522,7 @@ eywedu.org eyy168.com eyy8.vip eyyyye.com +eyzeafp.com ez-leaf.com ez01.com ezagoo.com @@ -35302,6 +34571,7 @@ ezviz.com ezwan.com ezwanjia.com ezwise.com +ezyotkp.com ezzls.com ezzxw.com f-0.cc @@ -35320,12 +34590,13 @@ f1-shanghai.com f11w.com f130.com f139.com +f1943w.com f1c.lol f1zd.com +f24hls-i.akamaihd.net f26.cc f2dbf.com f2time.com -f2zd.com f315.cc f32365.com f3322.net @@ -35341,7 +34612,6 @@ f5cs.com f5gh.com f5sd.com f5yx.com -f5zv2.icu f61a.com f61b.com f64532081.com @@ -35349,7 +34619,7 @@ f6991.com f6yc.com f7777.net f7chinavip.com -f7ed.com +f7yuncdn.com f8fm.com fa-part.com fa-today.com @@ -35365,6 +34635,7 @@ fabiao.com fabiaoqing.com fabigbig.com fabpo.com +fabu.io fabu114.com fabulousvmd.com faburuanwen.com @@ -35394,7 +34665,6 @@ faceu.net faceui.com faceunity.com fachcloud.com -facility.lenovo.com facri.com factchina.com factj.com @@ -35486,12 +34756,7 @@ fan88.com fanai.com fanbook.mobi fancl-vip.com -fancyapi.com -fancydmp.com -fancydsp.com fancyecommerce.com -fancysmp.com -fancysocialtalk.com fandcode.com fandengds.com fandian.com @@ -35511,7 +34776,6 @@ fang668.com fang91.com fang99.cc fang99.com -fangbaba.xyz fangbei.org fangcang.com fangcece.com @@ -35528,12 +34792,12 @@ fangda-specialsteels.com fangda.com fangdacarbon.com fangdaijisuanqi.com -fangdalaw.box.lenovo.com fangdaquan.com fangdd.com fangdichanceo.com fangdonggroup.com fangdr.com +fangdudu.com fangfa.net fanggeek.com fangguan6.com @@ -35554,7 +34818,6 @@ fangkuaiwang.com fangkuaiyi.com fanglb.com fangle.com -fanglei8.com fangliju.com fanglimei.com fanglinad.com @@ -35565,7 +34828,6 @@ fango8.com fangpaiwang.com fangqk.com fangrun.com -fangshan.us fangshanzi.com fangshapot.com fangsheji.com @@ -35601,14 +34863,11 @@ fangyouquan.com fangyouw.com fangyuan-group.com fangyuan365.com -fangyuan567.com fangyuanhp.com fangyuannew1zycdn.cc fangyunlin.com -fangyuyuan.com fangzd.com fangzew.com -fangzf.me fangzhengip.com fangzhengshufa.com fangzhenxiu.com @@ -35629,7 +34888,6 @@ fanhaoyue.com fanhar.com fanhonghua.net fanhougame.com -fanhtech.com fanhuaholdings.com fanhuan.com fanhuan.org @@ -35653,13 +34911,13 @@ fanlitou.com fanlv.fun fanmeilantian.com fanmimi.com +fanmingming.com fanmugua.net fannaojiputi.com fanooo.com fanpaijidian.com fanpanjidain.com fanpusoft.com -fanqianbb.com fanqiang.com fanqianzhushou.com fanqie.im @@ -35781,10 +35039,10 @@ farmkd.com farmsec.com farsee2.com farsightdev.com -farvd.com fas-bee.com fasensor.com fasggjt.com +fash1043.cloudycdn.services fashaoyou.net fasheng.org fashengba.com @@ -35797,8 +35055,8 @@ fasionchan.com fast-eyes.com fast-heat-cartridge-heaters.com fast.im +fast666ioceywit93h8a.com fastadmin.net -fastapi.net fastbuild.run fastcdn.com fastchina.net @@ -35807,9 +35065,9 @@ fastener-cn.net fastener.cc fastgz.com fastidea.cc +fastidea.me fastindexs.com fastliii.com -fastlinkchina.com fastmirror.net fastmirror.org fastmis.com @@ -35847,7 +35105,6 @@ faussemontrerolex.com favang.com favdeb.com favopen.com -favoritefoodcompany.com favorites.ren faw-benteng.com faw-vw.com @@ -35869,7 +35126,6 @@ faxingbao.com faxingchina.com faxingcn.com faxingsj.com -faxingtupian.com faxingzhan.com faxiufang.com faxuan.net @@ -35880,7 +35136,6 @@ fayimen.com fayiyi.com fayufaguo.com fayunla.com -fayurumen.com fazhijx.com fazz.fun fb.mu @@ -35889,7 +35144,6 @@ fbaichuan.com fbank.com fbatop.com fbflex.com -fbi.college fbirdsmall.com fbjsgf.com fbkjapp.com @@ -35916,7 +35170,6 @@ fc571.com fc62.com fc811.com fc858.com -fca6f.icu fcachinagsdp.com fcai.com fcapp.run @@ -35929,7 +35182,6 @@ fcbu.com fcchbj.com fccs.com fccscar.com -fccxgjg.com fcczp.com fcg01.com fcg0770.com @@ -35985,7 +35237,6 @@ fcsdzly.xyz fcseiko.com fcstor.com fctaiwan.com -fcuit.com fcvvip.com fcw0633.com fcw6.com @@ -36006,10 +35257,6 @@ fd-capital.com fd-trust.com fd-yy.com fd-zj.com -fd7c.com -fd80.com -fd80s.com -fdaoo.com fdbatt.com fdc0746.com fdcjj.org @@ -36021,6 +35268,8 @@ fdeer.com fdevops.com fdfhtl.com fdgearbox.com +fdh6up750n.com +fdjskf.com fdjzu.com fdkfloor.com fdkm88.com @@ -36032,11 +35281,9 @@ fdooo.com fdpx.com fdqc.com fdren.com -fdren.net fdrobot.com fdtsgs.com fdttgroup.com -fduggvqeeorp.com fdx-fund.com fdxww.com fdxxjs.com @@ -36084,9 +35331,9 @@ feeye.com feeyeah.com feeyo.com feeyun.com -fefwe334.fun fegine.com feheadline.com +fehelper.com fehorizon.com fei580.com fei65.com @@ -36154,7 +35401,6 @@ feihutaoke.com feijing88.com feijipan.com feijiu.net -feijiubaowangluo.com feijiuzs.com feijix.com feijizu.com @@ -36181,6 +35427,7 @@ feimosheji.com feimoustex.net feinews.com feiniao.name +feiniaomy.com feiniaowangluo.com feiniu.com feinno.com @@ -36223,18 +35470,14 @@ feisuzhibo.com feitaomall.com feitengsoft.com feitent.com -feitian001.com -feitianma.com feitianwu7.com feitsui.com -feittoill.com feituo126.com feiwan.net feiwentianxia.com feixian.cc feixiansoft.com feixiaoqiu.com -feixiaoquan.com feixiong.tv feixue666.com feixuege.com @@ -36307,8 +35550,8 @@ fengbao.com fengbaowo.com fengbohan.com fengbolive.com -fengbuy.com fengcaijiaju.com +fengche.us fengchengroup.com fengchizixun.com fengchuanba.com @@ -36327,15 +35570,14 @@ fengeek.com fengei.com fengeini.com fengex.com -fengfanwuliu.com fengfeng.cc fenggangzulin.com fenggongliangrenju.com +fenggouhui.com fenghaibin.com fenghenever.com fenghong.tech fenghua001.com -fenghuaju.cc fenghuangcanyin.com fenghuangxs.com fenghui-motor.com @@ -36355,7 +35597,6 @@ fengjr.com fengjx.com fengkeji.com fengkongbao.com -fengkongcloud.com fengkuangzaoren.com fengkui.net fengli.com @@ -36378,7 +35619,6 @@ fengniao.com fengniaohd.com fengniaojianzhan.com fengone.com -fengousm.com fengpengjun.com fengpintech.com fengread.com @@ -36426,7 +35666,6 @@ fengyunlu.com fengyunmusic.net fengyunpdf.com fengyushan.com -fengyx.com fengzegroup.com fengzhan.vip fengzhangame.net @@ -36489,8 +35728,11 @@ fescoguangdong.com fescojinan.com feso.tech festaint.com +fetion-portal.com fetiononline.com +fetionpic.com fettesgz.com +feucnp.com feverassets.net fevermi.com fevte.com @@ -36504,6 +35746,7 @@ ffalcon.com ffan.com ffasp.com ffbook.cc +ffbuddy.com ffcell.com ffdbj.com ffeeii.com @@ -36513,9 +35756,7 @@ ffis.me ffj.cc ffjjsj.com ffl.icu -fflhs.com ffls-edu.com -ffmobi.com ffmomola.com ffnmu.com ffpedia.com @@ -36527,10 +35768,8 @@ ffsgame.com ffsky.com fftcc.com fftub.com -ffwap.com ffxivhuntcn.com ffy.com -ffyoo.com ffzww.com fg.cc fg114.com @@ -36540,7 +35779,6 @@ fgeekcloud.com fgfed.com fggyw.com fghi34.com -fgi90.com fgidna.com fgjsxg.com fgkj.cc @@ -36549,7 +35787,6 @@ fgnwct.com fgo.wiki fgowiki.com fgt120.com -fgtart.com fgtxnews.com fgvisa.net fh01.com @@ -36591,7 +35828,6 @@ fhwzx.com fhy2008.com fhycedu.com fhycs.com -fhyob.com fhyx.com fhyx.hk fhzl.co @@ -36613,7 +35849,6 @@ ficowshen.com fiehff.com fieldcommunicator.net fieldschina.com -fiezaits.com fifa666.com fifaschool.com fifedu.com @@ -36625,7 +35860,7 @@ fiinote.com fiio.com fiio.net filcochina.com -file.tripcdn.com +file.mb.leshantv.net filediag.com filez.com filfox.info @@ -36702,13 +35937,13 @@ finupgroup.com finzfin.com finzjr.com fiocco-group.com +fir.im fir.vip firadio.net fire-api.com fire233.com fire2333.com fire24h.com -firebase-settings.crashlytics.com firebirdprint.com firebit.com firedata119.com @@ -36765,6 +36000,8 @@ fitit100.com fitoneapp.com fittentech.com fittingcn.com +fiu07021kl.com +fiu07040kl.com fiui.org fivecakes.com fivedo.net @@ -36773,6 +36010,7 @@ fivestarcompanions.com fivestarsolar.com fivision-tech.com fix666.com +fixdown.com fixhdd.org fixmath.com fixsub.net @@ -36790,7 +36028,6 @@ fj173.net fj2000.com fj3c.net fj888.com -fj95560.com fj96336.com fj987.com fjbcjt.com @@ -36821,7 +36058,6 @@ fjdf.vip fjdfxy.com fjdh.com fjdkjt.com -fjdy.cc fjdygljt.com fjdzmy.com fjeca.com @@ -36833,7 +36069,6 @@ fjfgroup.com fjfhsteel.com fjfoxiang.com fjfs.net -fjfstdjk.com fjfxjt.com fjfzsx.com fjgczjxh.com @@ -36846,6 +36081,7 @@ fjgwy.org fjhaizu.com fjhcw.com fjhospital.com +fjhps.com fjhrjt.com fjhsjg.com fjhssy.com @@ -36866,7 +36102,6 @@ fjjyxy.com fjjzjt.com fjkdxh.com fjkqyy.com -fjkst.com fjlawyers.net fjlb.com fjlcjs.com @@ -36874,6 +36109,7 @@ fjlcjt.com fjleixin.com fjlg.com fjlh.com +fjlib.net fjllsn.com fjlstz.net fjlszbc.com @@ -36900,7 +36136,6 @@ fjpcz.com fjpicc.com fjpta.com fjptdy.com -fjptfk.com fjptyz.com fjptzs.com fjptzx.com @@ -36909,7 +36144,6 @@ fjq.icu fjqfkg.com fjqionghai.com fjqjsw.com -fjqunyi.com fjrcjc.com fjrclh.com fjrcw.com @@ -36951,14 +36185,12 @@ fjwanan.com fjwjgs.com fjwr.xyz fjwxj.com -fjwyly.com fjwzjt.com fjxfgroup.com fjxhfx.com fjxhyw.com fjxhyy.com fjxiehe.com -fjxisuzi.com fjxn.com fjxsxx.com fjxwx.com @@ -36991,9 +36223,7 @@ fkcaijing.com fkdex.com fkdmg.com fkdxg.com -fke6.com fkeduwxxcx.com -fkesfg.com fkgou.com fkguolu.com fkhdactive.com @@ -37001,7 +36231,6 @@ fkhdview.com fkhongdan.com fklhb.com fklngy.com -fkogs.com fktool.com fkw.com fkw100.com @@ -37033,7 +36262,6 @@ flashkrypton.com flashmemoryworld.com flashv8.com flashwar.com -flashwing.net flashwolfcn.com flatsh.com flawcache.com @@ -37086,24 +36314,23 @@ flqhd.com flqrmyy.com flrcw.com flsrp.com -flstudiochina.com fltau.com fltcsb.com fltrp.com fluke-ig.com flumatic.com flutterchina.club +flv.drs.tv.yatv.tv flvcd.com flvlog.com flvpw.com flvsp.com flvurl.net flwatertech.com -flwkb.com flxc.net +flxdns.com flxzz.com fly-exp.com -fly-safe.dji.com fly139.com fly160.com fly1999.com @@ -37140,8 +36367,6 @@ flymobi.biz flymodem.net flymopaper.com flypy.com -flysafe-api.dji.com -flysafe.dji.com flysand.com flysheeep.com flytcloud.com @@ -37157,14 +36382,18 @@ fm0754.com fm0758.com fm086.com fm120.com +fm365.com fm3838.com fm4399.com fm520.com fm6.icu -fm6w.com fm875.com +fm901.cityfm.tw fm918.net +fm929.cityfm.tw fm960.net +fm971.cityfm.tw +fm983.cityfm.tw fmapp.com fmbimg.com fmc123.com @@ -37193,11 +36422,7 @@ fmyunlv.com fn-mart.com fn-tech.com fn.com -fn01.vip fn010.com -fn02.vip -fn03.vip -fn301.vip fnconn.com fnedge.net fnetlink.com @@ -37221,7 +36446,6 @@ fnrczp.com fnsbqvz.com fnscore.com fntbp.com -fnvip100.com fnwlzz.com fnxzyy.com fnyes.com @@ -37249,9 +36473,7 @@ focuschina.com focusight.net focussend.com focustock.com -fod.lenovo.com fodaba.com -fodapi.lenovo.com fodexin.com fodian.net fodizi.com @@ -37259,6 +36481,7 @@ fodizi.net fodlab.com fodonline.com fofa.info +fofa.so fofcn.tech fofen.com fofhc.com @@ -37287,12 +36510,9 @@ fonian.com fonsview.com font.im font6.com -fontfiles.googleapis.com fontke.com fontong.com fontoohotels.com -fonts.googleapis.com -fonts.gstatic.com fonye.com food5.net foodaily.com @@ -37321,7 +36541,6 @@ foooooot.com foosheng.com footballdown.com footbig.com -footeey.com footseen.com foovoo.com fooww.com @@ -37353,6 +36572,7 @@ forestfood.com forestmusicnanjing.com forestpolice.net forestpolice.org +forevernine.com foreveross.com foreweld.com forface3d.com @@ -37366,11 +36586,9 @@ formessengers.com formingcn.com formssi.com formtalk.net -formysql.com fornature.com forrealbio.com forrelaxing.com -forrerri.com forshine.net forsol.net forsou.com @@ -37390,7 +36608,6 @@ foryou56.com foryouge.com foryougroup.com forys-at.com -foryuanbo.com fos.cc foscam.com foshanaosibo.com @@ -37410,7 +36627,6 @@ fosunholiday.com fosunmetal.com fosunpharma.com fosunwanbang.com -fotao9.com fotile.com fotileglobal.com fotilestyle.com @@ -37421,15 +36637,12 @@ fotosay.com fototuan.com foturn.com fou.net -fouas.com foumeng.com foumobile.com founder.com founder.net founderbn.com -foundercentury.com founderchip.com -founderdc.com foundereagle.com founderff.com founderfu.com @@ -37466,7 +36679,9 @@ foxwho.com foxwq.com foxzld.com foyuan.net +fozhidaoxs.cc fozl.sg +fpaixfl.com fpc-nb.com fpccn.com fpcn.net @@ -37487,7 +36702,6 @@ fpi-inc.com fpliu.com fpoll.net fpplskc.com -fps7.com fpsace.com fpsjk.com fpstt.com @@ -37495,6 +36709,7 @@ fpwap.com fpwjq.com fpxz.net fpyy120.com +fq-top-v-fast.com fq688.com fqapps.com fqcqf.com @@ -37503,6 +36718,7 @@ fqghj.net fqgyljt.com fqhospital.com fqis.xin +fqjob.net fqkf.com fqlook.com fqnovel-op.com @@ -37528,7 +36744,6 @@ fragrance.ink frainfo.com framemaker.com franceqz.com -franchiseworld.hk francissoung.com franckfw.com francochinois.com @@ -37548,6 +36763,7 @@ free-img.com free9.net freebuf.com freebz.net +freecomm.net freedgo.com freedirlist.com freedom2021.vip @@ -37595,9 +36811,6 @@ freshhema.com freshippo.com freshippomarket.com freshnewsnet.com -frfve33.fun -frgf99.fun -frgre33.fun frhelper.com friendeye.com friends-exchange.com @@ -37624,7 +36837,64 @@ frostchina.com frostwell.cc frostwell.net frostwing98.com +frp-act.com +frp-air.com +frp-all.com +frp-any.com +frp-arm.com +frp-art.com +frp-bag.com +frp-bar.com +frp-bid.com +frp-box.com +frp-boy.com +frp-bus.com +frp-car.com frp-china.net +frp-dad.com +frp-dog.com +frp-dry.com +frp-egg.com +frp-end.com +frp-era.com +frp-fan.com +frp-fee.com +frp-fog.com +frp-fox.com +frp-fun.com +frp-gap.com +frp-gas.com +frp-gym.com +frp-hat.com +frp-hen.com +frp-hip.com +frp-hub.com +frp-ice.com +frp-key.com +frp-kit.com +frp-lab.com +frp-leg.com +frp-mad.com +frp-man.com +frp-mix.com +frp-mom.com +frp-net.com +frp-now.com +frp-nut.com +frp-oak.com +frp-off.com +frp-oil.com +frp-one.com +frp-own.com +frp-pen.com +frp-put.com +frp-rib.com +frp-rug.com +frp-run.com +frp-say.com +frp-sea.com +frp-shy.com +frp-six.com frpapp.com frt.ltd frtgraphite.com @@ -37649,7 +36919,6 @@ fs7000.com fsabwy.com fsaii.com fsauto.org -fsb-bearing.com fsbankonline.com fsbldjd.com fsbqgd.com @@ -37664,7 +36933,6 @@ fscm.tech fscmjt.com fscsps.com fsdaton.com -fsdf45.fun fsdxzhpt.com fsecity.com fseig.com @@ -37684,7 +36952,6 @@ fsguangjun.com fsgzhg.com fshczf.com fshd.com -fshet.com fshh1688.com fshj118.com fshones.com @@ -37716,6 +36983,7 @@ fslyx.com fsmama.com fsmcled.com fsmeeting.com +fsmi818.com fsnewage.com fsoet.com fsohu.com @@ -37729,12 +36997,10 @@ fspits.com fspride.com fspt.net fspublic.com -fspxgjx.com fsqiangfengzy.com fsruibin.com fssdbjyy.com fssdlhyxh.com -fsshenneng.com fsspc.com fssptjj.com fsstone.com @@ -37769,12 +37035,10 @@ fsyuncai.com fsyxg.com fsyy.net fsyyy.com -fszfq.com fszhihuiyan.com fszhiko.com fszyjx.com ft.tech -ft0573.com ft12.com ft22.com ft3e.com @@ -37782,16 +37046,14 @@ ft77.com ft98.com ftaro.com ftbj.net -ftcauction.com -ftcgj.com ftcoaster.com +ftcwifi.com ftd.nz ftdevice.com ftesop.com ftfast.com ftfund.com ftfx.ink -fthcz.com fthformal.com fthgz.com fthimalayandb.com @@ -37811,7 +37073,6 @@ ftsfund.com ftswcc.com fttrs.com ftuan.com -ftvsingingcontest.com ftwafer.com ftxad.com ftxft.com @@ -37819,6 +37080,7 @@ ftxgame.com ftxia.com ftxsoccer.com ftylw.com +ftzbq.com ftzn.net ftzx.com fu-guan.com @@ -37838,7 +37100,6 @@ fuchaipower.com fuchen33.com fuchengshicai.com fuchuangyu.com -fucnm.com fucol.club fuczx.com fuda.com @@ -37869,12 +37130,10 @@ fuermu.com fufeng-group.com fufuok.com fugary.com -fugetech.com fuguangchina.com fuguangwater.com fuguantang.com fugui.net -fuguitianjiao.com fuhai360.com fuhaikj.com fuhancapital.com @@ -37883,7 +37142,6 @@ fuhaodaquan.cc fuhaodaquan.org fuhaoku.com fuhefu.com -fuheishu.com fuheng.org fuhouyin.com fuhuibao.club @@ -37897,10 +37155,8 @@ fujiangames.com fujianguofu.com fujianmei.com fujianrc.com -fujianryt.com fujiansme.com fujianyinruan.com -fujincenter.com fujinguo.com fujinjiazheng.com fujinotrade.com @@ -37936,6 +37192,7 @@ fullde.com fullhan.com fullics.com fulllinks.com +fullluckcalendar.com fullsemitech.com fullstack.love fulltruckalliance.com @@ -37983,14 +37240,9 @@ funjsq.com funletu.com funliving.com funnet.net -funnull01.vip -funnull31.com -funnull33.com -funnullv27.com -funnullv28.com -funnullv29.com funnycore.com funnyplaying.com +funnysphere.com funpaer.com funplay66.com funqipai.com @@ -38055,6 +37307,7 @@ fututrade.com fututrustee.com fuwa.org fuwahgroup.com +fuwai.com fuwaliuxue.com fuwei.com fuweifilms.com @@ -38071,13 +37324,11 @@ fuwuqinet.com fuwuqu.com fuxila.com fuxin-sh.com -fuxin-tech.com fuxinbank.com fuxinews.com fuxinghf.com fuxingtech.com fuxingwang.com -fuxny.com fuxunpay.com fuyang.com fuyang.net @@ -38099,7 +37350,6 @@ fuyougame.com fuyoukache.com fuyuan5.com fuyuan6.com -fuyuanmoyu.com fuyuanweb.com fuyuehotels.com fuyunbj.com @@ -38107,7 +37357,6 @@ fuyuncc.com fuyuncun.com fuyunjiasu.com fuyuzhe.com -fuz.cc fuzadu.com fuzamei.com fuzeetech.com @@ -38144,13 +37393,10 @@ fwqlt.com fwqtg.net fwqur86.com fws-china.com -fwsfwef2.fun fwsir.com -fwt0.com fwtoys.com fwvv.net fwxgx.com -fwxhvvd.com fwzjia.com fx-jgworks.com fx-plc.com @@ -38204,10 +37450,8 @@ fxsw.net fxt365.com fxtrip.com fxtrips.com -fxunn.com fxw.la fxwe.com -fxwst.com fxxww.net fxxz.com fxyf99.com @@ -38224,9 +37468,7 @@ fy169.net fy1938.com fy2d.com fy35.com -fy60.icu fy65.com -fy6b.com fy98.com fyaaz.org fyage.com @@ -38242,6 +37484,7 @@ fyddj.com fyddjys.com fydeos.com fydvtu.com +fyeds.com fyeds0.com fyeds1.com fyeds2.com @@ -38254,7 +37497,6 @@ fyeds8.com fyeds9.com fyedu.net fyeedu.net -fyehare.com fyfch.com fygame.com fygdrs.com @@ -38266,13 +37508,24 @@ fygroup.com fygsoft.com fyigou.com fyjsz.net -fyjyhm.com fyjzyxh.com fylcg.com fyleasing.com fyluo.com fymaduoji.com +fymall0.com +fymall1.com fymall2.com +fymall4.com +fymall7.com +fymall9.com +fymallqa0.com +fymallqa1.com +fymallqa2.com +fymallqa3.com +fymallqa4.com +fymallqa7.com +fymallqa9.com fynas.com fynews.net fyqyjt.com @@ -38307,7 +37560,6 @@ fyxxwb.com fyxz.com fyydnz.cc fyyy.com -fyyyc.com fyzku.com fyzls.com fyzp.net @@ -38319,6 +37571,7 @@ fz222.com fz2sc.com fz597.com fzahw.com +fzaqjy.com fzbbk.com fzbdcj.com fzbidding.com @@ -38367,13 +37620,11 @@ fzmeetdecor.com fzmetro.net fzmtr.com fzn.cc -fzpig.com fzport.com fzqywater.com fzrsrc.com fzsdtkq.com fzsdyyy.com -fzshops.com fzslyy.com fzswgc.com fzswjt.com @@ -38402,51 +37653,41 @@ fzzpw.net fzzqcdn.com g-biomed.com g-bits.com +g-cores.com g-film.com +g-hi.com g-medon.com g-spin.com g-tar.com g-var.com -g0.gstatic.com -g1.gstatic.com g1080.com -g11edashb1.fun g12345.com g12e.com g12e.org g188.net -g1c5.com g1d.net -g1f5.com g1jnmyj2yu.com g1yx.com -g2.gstatic.com g2.link g20chn.org -g2ak5.com g2h3.com g2us.com g2work.com -g3.gstatic.com g32365.com -g3bocaitong.com g3d.org g3img.com g3user.com g3voip.com g3wei.com -g41i.icu g4weixin.com -g4y7uuk.com +g55m94b1za.com g59p.com g5h4.com g5kj.com g66667777.com g6a7qkh.xyz -g6tgashb.fun +g768r.com g77775555.com -g77776666.com -g7ghdash2.fun g80mx.com g88885555.com g88886666.com @@ -38461,11 +37702,11 @@ gaaamee.com gaapqcloud.com gac-capital.com gac-nio.com +gaccode.com gacfca.com gacfcasales.com gacfiatauto.com gachn.com -gack.citic gaclib.net gacmotor.com gacrnd.com @@ -38486,7 +37727,6 @@ gagaga.icu gagaga.tech gagahi.com gagaslklxjasdkafj.com -gahejiao.com gahwilertaxservice.com gai.net gaiabiohx.com @@ -38501,7 +37741,6 @@ gainda.net gaineng.net gainet.com gaini.net -gainifyads.com gainscha.com gaintop.com gairuo.com @@ -38520,19 +37759,18 @@ gaizhui.com gajerseys.com gajsk.com gala-v.com +galacticfunkmilitia.com galaxix.com galaxy-geely.com galaxy-immi.com -galaxyappstore.com galaxyasset.com galaxycarepair.com galaxydreams.site galaxyfont.com galaxyinfo.com -galaxymacau.com galaxymagnets.com galaxyns.net -galstars.net +galileo.work galsun.com galudisu.info galvincdn.com @@ -38548,6 +37786,7 @@ game1215.com game12315.com game13.com game2.com +game234.com game332.com game3vs7novel.com game499.com @@ -38569,11 +37808,11 @@ gamebar.com gamebean.com gamebean.net gamebee.net +gamebonfire.com gamebto.com gamecat.fun gamecatstudio.com gamecomb.com -gamecps.com gamed9.com gamedachen.com gamedo.org @@ -38589,12 +37828,15 @@ gameggg.com gamehaopu.com gamehome.tv gameinns.com +gameitop.com gamejym.com gamekee.com gamekezhan.com gamekuaishou.com +gamelet.games gameley.com -gameloveman.com +gameloop.com +gameloop.fun gamemale.com gamemcu.com gamemei.com @@ -38628,7 +37870,6 @@ gamewifi.net gamexdd.com gamexhb.com gamexun.com -gamexz.com gameyc.com gameyiming.com gameyisi.com @@ -38639,14 +37880,12 @@ gammatimes.com gamutsoft.com gamux.org gan-ren.com -ganboo.com +gandi.net ganduee.com ganedu.net -gang-ben2-asdfq.com gangbao365.com gangbogroup.com gangduotech.com -gangfengsteel.com ganggangguoji.com ganggg.com gangguan8.com @@ -38685,7 +37924,6 @@ ganlv.org ganlvji.com ganniu.com ganode.org -ganpco.com ganqi.com ganqi.net ganqing10.com @@ -38735,7 +37973,6 @@ gaode.com gaodilicai.com gaodimed.com gaoding.com -gaoduan.cc gaoduanqianzheng.com gaodugj.com gaoduguoji.com @@ -38752,7 +37989,6 @@ gaofenplatform.com gaofenzi.org gaofushuai.com gaogpress.com -gaoguai.com gaogulou.com gaohaipeng.com gaohangip.com @@ -38790,7 +38026,6 @@ gaominews.com gaomon.net gaopaiwood.com gaopeng.com -gaopi.net gaopin.tech gaopinimages.com gaopost.com @@ -38855,6 +38090,7 @@ gardencn.com gardenhotel.com gardenhotelshanghai.com garleden.com +garmin.com garmuri.com garnoc.com garnor.com @@ -38876,7 +38112,6 @@ gaspim.com gasshow.com gastank-china.com gastronomy.gov.mo -gasxf.com gaszx.com gate-dhgames.com gateface.com @@ -38885,7 +38120,7 @@ gateweb3.cc gateweb3.io gather-dns.com gatherfind.com -gator.deploy.akamai.com +gatymciu.com gaugan.com gaush.com gavill.com @@ -38893,37 +38128,32 @@ gavindesign.com gavinzh.com gaxgame.com gaxrmyy.com +gayotv.net gaywb.com gayzyhh.com +gazellegames.net gazemd.com gazx.org gb324.com gb55009.com gb5842.com gbacd.com -gbaog.com gbase8a.com gbasebi.com gbasig.com -gbcnvip15.com gbdex.com gbdz.net gbeca.org -gbfedashb4.fun gbffchina.com gbgba.com gbgcn.com -gbgedashb8.fun gbhome.com -gbi324.com gbiac.net gbicdn.com gbicom.com gbictc.com -gbieg.com gblhgk.com gbma.org -gbndash2.fun gbofd.com gbox.pub gbox.run @@ -38937,7 +38167,6 @@ gbt88.com gbtranswins.com gbvh.com gbw114.com -gbwlm.com gbym.net gc-zb.com gc0771.com @@ -38947,14 +38176,12 @@ gc73.com gc91.com gcable.tv gcademy.net -gcbtgh26.xyz gccdn.net gccgz.com gcchina.com gccmgw.com gccrcw.com gcdcrs.com -gcddashb3.fun gcgd.net gcgzjt.com gchao.com @@ -38976,6 +38203,9 @@ gcl-power.com gcld.net gclhgc.com gcloudcs.com +gcloudcstest.com +gcloudcstestonly.com +gclouddolphin.com gcloudgbs.com gcloudsdk.com gcloudsvcs.com @@ -38985,20 +38215,17 @@ gcomtechnology.com gcopt.com gcoreinc.com gcores.com -gcouh.com gcpok.com gcpunion.org gcs66.com gcscmp.com -gcskj.com gcsmjo.xyz gcstorage.com gct-online.com gctianshanxh.com gctong.com +gctwds.com gctzsh.com -gcvcdashb2.fun -gcvgedashb3.fun gcwdp.com gcwduoduo.com gcwith.com @@ -39018,6 +38245,7 @@ gd-hstech.com gd-huadi.com gd-id.com gd-jinzhanggui.com +gd-jxjy.com gd-kexin.com gd-linux.com gd-linux.org @@ -39049,14 +38277,13 @@ gdadri.com gdaep.com gdahua.com gdaia.net -gdaii.com gdairport.com -gdajk.com gdanano.com gdandun.com gdapi.net gdarcu.net gdase.com +gdass.org gdatacube.net gdatc.net gdbailin.com @@ -39074,6 +38301,7 @@ gdbsjd.com gdbyhtl.net gdbzkz.com gdbzkz.org +gdcaa.com gdcaia.com gdcamis.com gdcayyebh.com @@ -39124,7 +38352,6 @@ gddelux.com gddeqing.com gddfpaper.com gddfund.com -gddg-hy.com gddg.cc gddhn.com gddianchuang.com @@ -39152,7 +38379,6 @@ gdedu123.com gdeeia.com gdefair.com gdeia.com -gdeih.com gdems.com gdepi.com gdevops.com @@ -39209,17 +38435,19 @@ gdhtcm.com gdhuaao.com gdhuana.com gdhuaxun.net +gdhuaya.com gdhwater.com gdhwgf.com gdhwjl.com gdhxgf.com gdhylhh.com gdhzsb.com -gdicoou.com +gdi5ap2ikn.com gdida.org gdie.com gdinfo.net gdinin.com +gdinm.com gdinsa.org gdinsight.com gdipa.org @@ -39231,7 +38459,6 @@ gdjdxy.com gdjhh.com gdjiabao.com gdjinge.com -gdjingte.com gdjinguan.net gdjingyin.com gdjinzong.com @@ -39247,6 +38474,7 @@ gdjsxh.com gdjugong.com gdjuhan.com gdjuntai.com +gdjxjy.com gdjxzs.com gdjydg.com gdjysteel.com @@ -39260,6 +38488,7 @@ gdkingma.com gdkjb.com gdkjk56.com gdkjw.com +gdkjzy.net gdks168.com gdkszx.com gdktzx.com @@ -39271,6 +38500,7 @@ gdldzx.net gdlgsw.com gdlgxy.com gdlighting.com +gdlii.com gdlinefly.com gdlingjie.net gdlins.com @@ -39377,6 +38607,7 @@ gdshunna.net gdshuojin.com gdsia.net gdsjqr.com +gdsjx.com gdsjxjy.com gdskfz.com gdskills.com @@ -39385,8 +38616,8 @@ gdslrobot.com gdslwl.com gdsme.org gdsoftpark.com -gdspeedtest.com gdsports.net +gdsqyg.com gdsr88.com gdsrcw.com gdssie.com @@ -39425,7 +38656,6 @@ gdtextbook.com gdtianrun.com gdtianshanoa.com gdtichy.com -gdtimg.com gdton.com gdtone.com gdtongda.com @@ -39433,9 +38663,11 @@ gdtongjiang.com gdtongyi.com gdtravel.com gdtri.com +gdtstream.com gdttaph.com gdttc.com gdttdj.com +gdtu.org gdtx56.com gdtykj.net gdtz888.com @@ -39443,7 +38675,6 @@ gdtzb.com gdu-tech.com gduaee.com gdunis.com -gdunt.com gdupi.com gdus.cc gdutbbs.com @@ -39454,7 +38685,6 @@ gdwanshun.com gdwbyq.com gdwca.com gdwczb.com -gdwdtz.com gdweilaisw.com gdwha.org gdwia.com @@ -39476,15 +38706,16 @@ gdxindun.com gdxinqiang168.com gdxinxiang.com gdxise.com +gdxjzx.org gdxmsx.com gdxrtc.com gdxscode.com gdxsn.com gdxueyin.com -gdxxb.com gdxy.vip gdxych.com gdxycy.com +gdybkjjt.com gdyd.com gdydgj.com gdydzb.com @@ -39493,13 +38724,13 @@ gdygsk.com gdyhgn.com gdyhsp.com gdyiyou.com -gdyjs.com gdykhb.net gdylhp.com gdyngl.com gdyouyes.com gdypt.com gdyqxc.com +gdyslyh.org gdysnk.com gdysxh.com gdytc.com @@ -39553,8 +38784,7 @@ gdzzz.com ge-garden.net ge-stralen.com ge100.com -ge3shbdf1.fun -geakr.com +ge3rge43r6.com geality.com geapu.com gear5.me @@ -39563,7 +38793,6 @@ gearfront.net gearkr.com gearpharma.com gearsnet.com -geatmap.com geautos.com gebaiwan.com gebchina.com @@ -39576,14 +38805,10 @@ gec123.com geci123.com gecimi.com gecpc.com -gedafdshb7.fun -gedashb112.fun -geddsashb3.fun gedi2099.com gedou8.com gedoumi.com gedu.org -gedxssashb8.fun geeboo.com geebook.com geedai.com @@ -39632,15 +38857,20 @@ geekxue.com geekzhao.me geekzl.com geelevel.com +geely-motors.com geely-test.com geely.com +geely.com.qa geely.pe +geelyauto.com.hk geelycv.com +geelydesign.com geelyholding.com geelylaos.com geelyminiprogram.com geelyph.com geelysc.com +geelyswedenholdings.com geement.com geeqee.com geermunews.com @@ -39651,7 +38881,6 @@ geespace.com geetest.com geevisit.com geewaza.com -geewdashb3.fun geexek.com geezn.com gegame.site @@ -39673,7 +38902,6 @@ geilijiasu.com geilijiasu.net geiliwx.com geimian.com -geindex.com geiniwan.com geisnic.com geizan.cc @@ -39705,7 +38933,6 @@ gemled-tech.com gempharmatech.com gempoll.com gemuedu.com -genbaike.com genban.org genchim.com gendan5.com @@ -39759,23 +38986,16 @@ genshinimpact.com genshinimpact.moe genshuixue.com genstars.com -gentags.com -gentags.net gentco.com gentechchina.com gentize.com -gentlemanbadass.com genudite.com genuine-bio.com genuway.com genvict.com genway.net geo-compass.com -geo-prism-cn.htcsense.com -geo-prism.htcsense.com -geo.cnno1.uds.lenovo.com geo.kaspersky.com -geo.uds-sit.lenovo.com geo2k.com geoai.com geoforcechip.com @@ -39789,14 +39009,11 @@ geons.host georginaarmadas.com geosheen.com geospatialsmart.com -geotmt.com geovisearth.com gepcc.com gephb.com gepresearch.com gepubbs.com -gepush.com -geqshb22.fun gequdaquan.net geren-jianli.com gerenjianli.com @@ -39810,18 +39027,15 @@ gerzz.com gesanghua.org gescosteel.com gescs.com -gesdxashb1.fun gesedna.com gesep.com -gesfdashb5.fun geshitong.net geshui.com geshui100.com geshui99.com geshuiba.com -gessdashb6.fun +gestagpu.com gesuo.com -gesvfvfhhb6.fun geswl.com get-shell.com get.vip @@ -39829,16 +39043,16 @@ get233.com getbs.com getcai.com getconnectplus.com -getcs.lenovo.com getddhospi.com getehu.com getelighting.com +getfeishu.com +getgetai.com gethover.com getiis.com getiot.tech getkwai.com getlema.com -getmaomao.com getmarkman.com getpm.com getquicker.net @@ -39848,18 +39062,14 @@ getsetgadget.com getsurfboard.com gettopacoustic.com getu.fun -getui.com -getui.net getui.vip getulab.com getvidi.co -geuba.xyz gewala.com gewara.com gewei-wh.com gewei.com geweng.com -gewqashbwq.fun gewu.vc gewuer.com gewuzhixiang.com @@ -39893,6 +39103,8 @@ gf7979cn.com gfan.com gfanstore.com gfbk.net +gfbzb.com +gfbzb.net gfcdn.xyz gfcity.com gfcname.com @@ -39904,25 +39116,207 @@ gfdsa.net gfdwsx.com gfedu.com gfedu.net -gffedashb6.fun gffirm.com gffwq.com gfglb.com +gfh82.com gfhealthcare.com gfjl.org gflad.com gflt.net gflz.com gfmpv.com -gfnormal00aj.com +gfnormal00ab.com +gfnormal00ac.com +gfnormal00ad.com +gfnormal00ae.com +gfnormal00af.com +gfnormal00ag.com +gfnormal00ai.com +gfnormal00al.com +gfnormal00am.com +gfnormal00ao.com +gfnormal00ap.com +gfnormal00aq.com gfnormal00ar.com +gfnormal00as.com +gfnormal00at.com +gfnormal01aa.com gfnormal01ab.com +gfnormal01ac.com gfnormal01ad.com -gfnormal01aj.com +gfnormal01af.com +gfnormal01ag.com +gfnormal01ah.com +gfnormal01ak.com +gfnormal01al.com +gfnormal01am.com +gfnormal01an.com +gfnormal01ao.com +gfnormal01ap.com +gfnormal01aq.com +gfnormal01ar.com +gfnormal01as.com +gfnormal01at.com +gfnormal02aa.com +gfnormal02ab.com +gfnormal02ac.com +gfnormal02ad.com +gfnormal02ae.com +gfnormal02af.com +gfnormal02ag.com +gfnormal02ah.com +gfnormal02ai.com +gfnormal02aj.com gfnormal02ak.com +gfnormal02al.com +gfnormal02am.com +gfnormal02an.com +gfnormal02ao.com gfnormal02ap.com +gfnormal02aq.com +gfnormal02ar.com +gfnormal02as.com +gfnormal02at.com +gfnormal03aa.com +gfnormal03ab.com +gfnormal03ac.com +gfnormal03ad.com gfnormal03ae.com +gfnormal03af.com +gfnormal03ag.com +gfnormal03ah.com +gfnormal03ai.com +gfnormal03aj.com +gfnormal03ak.com +gfnormal03al.com +gfnormal03am.com +gfnormal03an.com +gfnormal03ao.com +gfnormal03ap.com +gfnormal03aq.com +gfnormal03ar.com +gfnormal03as.com +gfnormal03at.com +gfnormal04aa.com +gfnormal04ab.com +gfnormal04ac.com +gfnormal04ad.com +gfnormal04ae.com +gfnormal04af.com +gfnormal04ag.com +gfnormal04ah.com +gfnormal04ai.com +gfnormal04aj.com +gfnormal04ak.com +gfnormal04al.com +gfnormal04am.com gfnormal04an.com +gfnormal04ao.com +gfnormal04ap.com +gfnormal04aq.com +gfnormal04ar.com +gfnormal04as.com +gfnormal04at.com +gfnormal05aa.com +gfnormal05ab.com +gfnormal05ac.com +gfnormal05ad.com +gfnormal05ae.com +gfnormal05af.com +gfnormal05ag.com +gfnormal05ah.com +gfnormal05ai.com +gfnormal05aj.com +gfnormal05ak.com +gfnormal05al.com +gfnormal05am.com +gfnormal05an.com +gfnormal05ao.com +gfnormal05ap.com +gfnormal05aq.com +gfnormal05ar.com +gfnormal05as.com +gfnormal05at.com +gfnormal06aa.com +gfnormal06ab.com +gfnormal06ac.com +gfnormal06ad.com +gfnormal06ae.com +gfnormal06af.com +gfnormal06ag.com +gfnormal06ah.com +gfnormal06ai.com +gfnormal06aj.com +gfnormal06ak.com +gfnormal06al.com +gfnormal06am.com +gfnormal06an.com +gfnormal06ao.com +gfnormal06ap.com +gfnormal06aq.com +gfnormal06ar.com +gfnormal06as.com +gfnormal06at.com +gfnormal07aa.com +gfnormal07ab.com +gfnormal07ac.com +gfnormal07ad.com +gfnormal07af.com +gfnormal07ag.com +gfnormal07ah.com +gfnormal07ai.com +gfnormal07aj.com +gfnormal07ak.com +gfnormal07al.com +gfnormal07am.com +gfnormal07an.com +gfnormal07ao.com +gfnormal07ap.com +gfnormal07aq.com +gfnormal07ar.com +gfnormal07as.com +gfnormal07at.com +gfnormal08aa.com +gfnormal08ab.com +gfnormal08ac.com +gfnormal08ad.com +gfnormal08ae.com +gfnormal08af.com +gfnormal08ag.com +gfnormal08ah.com +gfnormal08ai.com +gfnormal08aj.com +gfnormal08ak.com +gfnormal08al.com +gfnormal08am.com +gfnormal08an.com +gfnormal08ao.com +gfnormal08ap.com +gfnormal08aq.com +gfnormal08ar.com +gfnormal08as.com +gfnormal08at.com +gfnormal09aa.com +gfnormal09ab.com +gfnormal09ac.com +gfnormal09ad.com +gfnormal09ae.com +gfnormal09af.com +gfnormal09ag.com +gfnormal09ah.com +gfnormal09ai.com +gfnormal09aj.com +gfnormal09ak.com +gfnormal09al.com +gfnormal09am.com +gfnormal09an.com +gfnormal09ao.com +gfnormal09ap.com +gfnormal09aq.com +gfnormal09ar.com +gfnormal09as.com +gfnormal09at.com gforward.org gfoxsoft.net gfren.org @@ -39934,23 +39328,179 @@ gfttek.com gftuan.com gfun.me gfund.com +gfvip00aa.com +gfvip00ab.com +gfvip00ac.com +gfvip00ad.com gfvip00ae.com +gfvip00af.com +gfvip00ag.com +gfvip00ah.com +gfvip00ai.com +gfvip00aj.com +gfvip00ak.com +gfvip00al.com +gfvip00am.com gfvip00an.com +gfvip00ao.com +gfvip00ap.com +gfvip00aq.com +gfvip00ar.com +gfvip00as.com +gfvip00at.com +gfvip01aa.com +gfvip01ab.com +gfvip01ac.com +gfvip01ad.com +gfvip01ae.com +gfvip01af.com +gfvip01ag.com +gfvip01ah.com +gfvip01ak.com +gfvip01al.com gfvip01am.com +gfvip01an.com +gfvip01ao.com +gfvip01ap.com +gfvip01aq.com +gfvip01ar.com +gfvip01as.com +gfvip01at.com +gfvip02aa.com +gfvip02ab.com +gfvip02ac.com +gfvip02ad.com +gfvip02ae.com +gfvip02af.com +gfvip02ag.com +gfvip02ah.com +gfvip02ai.com gfvip02aj.com gfvip02ak.com +gfvip02al.com +gfvip02am.com +gfvip02an.com +gfvip02ao.com +gfvip02ap.com +gfvip02aq.com +gfvip02ar.com +gfvip02as.com +gfvip02at.com +gfvip03aa.com +gfvip03ab.com +gfvip03ac.com gfvip03ad.com +gfvip03ae.com +gfvip03af.com +gfvip03ag.com +gfvip03ah.com +gfvip03ai.com +gfvip03aj.com +gfvip03ak.com +gfvip03al.com +gfvip03am.com +gfvip03an.com +gfvip03ao.com +gfvip03ap.com +gfvip03aq.com +gfvip03ar.com +gfvip03as.com +gfvip03at.com +gfvip04aa.com +gfvip04ab.com +gfvip04ac.com +gfvip04ad.com +gfvip04ae.com +gfvip04af.com +gfvip04ag.com +gfvip04ah.com +gfvip04ai.com +gfvip04aj.com +gfvip04ak.com +gfvip04al.com +gfvip04am.com gfvip04an.com +gfvip04ao.com +gfvip04ap.com +gfvip04aq.com +gfvip04ar.com +gfvip04as.com +gfvip04at.com +gfvip05aa.com +gfvip05ab.com +gfvip05ac.com +gfvip05ad.com +gfvip05ae.com +gfvip05af.com +gfvip05ag.com +gfvip05ah.com +gfvip05ai.com gfvip05aj.com +gfvip05ak.com +gfvip05al.com +gfvip05am.com +gfvip05an.com +gfvip05ao.com +gfvip05ap.com +gfvip05aq.com +gfvip05ar.com +gfvip05as.com +gfvip05at.com +gfvip06aa.com +gfvip06ac.com +gfvip06ad.com gfvip06ae.com +gfvip06ag.com +gfvip06ah.com +gfvip06ai.com +gfvip06aj.com +gfvip06ak.com gfvip06am.com +gfvip06an.com +gfvip06ao.com +gfvip06ap.com +gfvip06aq.com +gfvip06ar.com gfvip06as.com gfvip06at.com +gfvip07aa.com +gfvip07ab.com +gfvip07ac.com +gfvip07ad.com +gfvip07ae.com +gfvip07af.com +gfvip07ag.com +gfvip07ah.com +gfvip07ai.com +gfvip07aj.com +gfvip07ak.com +gfvip07al.com gfvip07am.com +gfvip07an.com gfvip07ao.com +gfvip07ap.com +gfvip07aq.com +gfvip07ar.com +gfvip07as.com +gfvip07at.com +gfvip08aa.com +gfvip08ab.com +gfvip08ac.com +gfvip08ad.com +gfvip08ae.com gfvip08ag.com gfvip08ah.com +gfvip08ai.com +gfvip08aj.com +gfvip08ak.com +gfvip08al.com gfvip08am.com +gfvip08an.com +gfvip08ao.com +gfvip08ap.com +gfvip08aq.com +gfvip08ar.com +gfvip08at.com gfxaa.com gfxcamp.com gfxtr1.com @@ -39970,6 +39520,7 @@ ggaiyan.com ggas.com ggbamy.com ggbanfu.com +ggbondtech.com ggbygx.com ggcimbar.com ggcj.com @@ -39977,13 +39528,11 @@ ggcname.com ggcx.com ggcykf.com ggdata.com -ggdlcdn.com ggecc.com ggecgc.com ggemo.com ggeye.com ggfcyy.com -ggfdgd88.fun ggfsfy.com ggfswy.com ggg42.com @@ -40009,7 +39558,6 @@ gginto.com ggjcpm.com ggjpay.com ggjrw.com -ggjsjx.com ggjstz.com ggjszp.com ggjt.com @@ -40022,13 +39570,14 @@ gglkw.net gglmg.com ggmlechi.com ggmm55.com -ggmm777.com ggmsw.com ggmymy.com ggnops.com ggnqmy.com ggo.la ggo.net +ggoplay.com +ggowan.com ggqdnkyy.com ggqule.com ggqunshanmuye.com @@ -40037,21 +39586,17 @@ ggrcw.com ggren.net ggrsmy.com ggrsrc.com -ggsafe.com ggsfcw.com ggshfmy.com ggshmy.com ggslxs.com ggsq.cc -ggtiku.com ggtime.com ggtjx.com ggtqw.com -ggtst88.com ggttvc.com ggwan.com ggwan.net -ggweb.net ggweijie.com ggwlxx.com ggwxmuye.com @@ -40095,9 +39640,9 @@ ghcec.com ghcis.com ghcxzb.com ghddi.org +ghdoor.com ghed119.com ghedu.com -gheqien.com ghgglobal.com ghglzx.com ghgo.xyz @@ -40106,9 +39651,7 @@ ghhyjc.com ghibliwiki.org ghitcsh.com ghitest.com -ghiuge55.fun ghjbh123.com -ghjedashb6.fun ghlawyer.net ghlearning.com ghlshb.com @@ -40125,6 +39668,7 @@ ghost11.com ghost32.net ghost64.com ghostchina.com +ghostchu.com ghostoact.com ghostsf.com ghostwin7.net @@ -40165,7 +39709,6 @@ ghyl888.com ghzhushou.com ghzs.com ghzs666.com -gi0.icu giabbs.com giaimg.com gialen.com @@ -40190,6 +39733,8 @@ gif5.net giffox.com gifhome.com gifshow.com +giftatdw.com +giftattoday.com giftres.com giftsbeijing.com gifu-pr.com @@ -40225,9 +39770,7 @@ ginihbg.com ginlong.com ginshio.org ginwa.com -gio.ren gioccc.com -giocdn.com gionee.com gionee.net gioneemobile.net @@ -40260,7 +39803,6 @@ gitee.com gitee.io githang.com github-zh.com -github5.com githubim.com gitinn.com gitiu.com @@ -40276,10 +39818,8 @@ gitv.tv gityuan.com gityx.com giveda.com -giwkgb.com giyu8.com gizaworks.com -gizlnr.com gizwits.com gj-robotics.com gj555.net @@ -40295,7 +39835,6 @@ gjdk100.com gjds.vip gjdwzp.com gjfmxd.com -gjghy.com gjgzpw.com gjhgroup.com gjhl.com @@ -40305,13 +39844,10 @@ gjjiaxiao.com gjjnhb.com gjjsbz.com gjkdwl.com -gjkkdashb4.fun gjlease.com gjmbwxpt.com gjmbwxzx.com -gjmedashb0.fun gjmrk.com -gjnbf.com gjnlyd.com gjpdh.com gjrwls.com @@ -40365,6 +39901,7 @@ gkoo.net gkoudai.com gkpass.com gkqcw.com +gkrpgtee.com gkshanghai.com gkshuju.com gktianshanjd.com @@ -40388,7 +39925,6 @@ gkzyb.com gkzzd.com gkzzy.com gl-data.com -gl-inet.com gl-mes.com gl-qf.com gl-uav.com @@ -40491,7 +40027,6 @@ glhtpcb.com glhuade.com glhuashi.com glhuayue.com -glhwxclyxgs.com glhycy.com glhygjlxs.com glhzhotel.com @@ -40525,7 +40060,6 @@ gljykj.com gljyrj.com gljzgs.com glk7.com -glkdworld.com glkgjt.com glkths.com gllcit.com @@ -40536,7 +40070,6 @@ glljy.com gllshan.com gllstz.com glltjx.com -gllty.com glludiyan.com gllue.com gllue.me @@ -40561,8 +40094,6 @@ global-leader.com global-otc.com global-scsl.com global-tio2.com -global-trade-center.com -global.prd.cdn.globalsign.com global56.com globalaccentchinese.com globalauthorid.com @@ -40631,7 +40162,6 @@ glsgmr.com glshimg.com glsjf.com glsmy024.com -glsq.com glssgolf.com glsstm.com glsxdlkj.com @@ -40658,7 +40188,6 @@ glwuhong.com glwxw.net glwyhd.com glxcc.net -glxccm.com glxcjt.com glxd.com glxhzs.com @@ -40666,7 +40195,6 @@ glxiaoyaohu.com glxinhu.com glxkbz.com glxlawyer.com -glxrck.com glxsyx.vip glxwdb.com glxxjx.com @@ -40678,7 +40206,7 @@ glyjk.com glylgg.com glyltl.com glyndwrsway.com -glyongsen.com +glyphara.com glyslydjq.com glyummy.com glyuxing.com @@ -40710,6 +40238,7 @@ gm1.cc gm193.com gm3.win gm35.com +gm3studio.com gm825.com gm825.net gm86.com @@ -40736,6 +40265,7 @@ gmedtech.com gmem.cc gmeri.com gmerit.com +gmertc.com gmfc.cc gmfintl.com gmg.so @@ -40772,10 +40302,12 @@ gmtgx.com gmtv.cc gmtzy.com gmugmu.com +gmw.com gmwiki.com gmxmym.ren gmyihua.com gmylj.com +gmz88.com gmzhushou.com gmzi.com gmzm.org @@ -40791,6 +40323,8 @@ gneec.com gneec3.com gneec4.com gneec5.com +gneec7.com +gneeccloud.com gneedu.com gnehr.com gnete.com @@ -40823,7 +40357,6 @@ go-behind.one go-gddq.com go-goal.com go.cc -go.corp.google.com go007.com go108.com go1314.com @@ -40854,7 +40387,6 @@ gochayou.com gochego.com goclee.com gocn.vip -gocye.com godaily.org godasai.com godbiao.com @@ -40866,7 +40398,6 @@ godele.com godgy.xyz godic.net godida.com -godlu.com godo.pub godoor.com godoshdo.com @@ -40886,6 +40417,9 @@ goforandroid.com goframe.org gofreeplay.com gofrp.org +gog-cdn-fastly.gog.com +gog-cdn.akamaized.net +gogalaxy.gog-statics.com gogbuy.com gogo.so gogo123.com @@ -40893,6 +40427,7 @@ gogo123.net gogoauc.com gogocn.com gogofly.com +gogokid.com gogolinux.com gogooffer.com gogopzh.com @@ -40919,7 +40454,6 @@ golanger.com golanghome.com golangroadmap.com golangw.com -golangweb.com golaravel.com gold-dragon-castings.com gold-seagull.com @@ -40940,6 +40474,7 @@ golden-spri.com golden3t.net goldenad.net goldenbeechina.com +goldenear.club goldenexpogroup.com goldengreengolf.com goldenhighway-chem.com @@ -40952,6 +40487,7 @@ goldenname.com goldenseaair.com goldenthroat.com goldentom.com +goldenwoner.com goldfoil.com goldgov.com goldgrid.com @@ -40976,6 +40512,8 @@ goldwind.com golenpower.com golfvv.com golink.com +golinkapi.com +golinkcn.com golinkgroup.com golinksworld.com golive-tv.com @@ -40996,7 +40534,6 @@ gomocdn.com gomvyxvm.com gona-semi.com goneoffone.com -gonetor.com gonever.com gong-xin.com gong123.com @@ -41058,7 +40595,6 @@ gongwuxing.com gongxiangcj.com gongxiao8.com gongxiaodaji.com -gongxifc.com gongxuanwang.com gongxueyun.com gongye360.com @@ -41101,7 +40637,6 @@ goobye.net goocar.net good-display.com good-expo.com -good-game-network.com good-import.com good.cc good1230.com @@ -41139,6 +40674,7 @@ goodk88.com goodkejian.com goodlcm.com goodlift.net +goodluckcalendar.com goodmorening.com goodnic.net goododo.com @@ -41146,11 +40682,11 @@ goodonecn.com goodprogrammer.org goodqq.net goodrain.com +goodread.com goodschool.world goodsid.com goodsku.com goodstudydayup.com -goodswisswatch.com goodtea.cc goodtech.live goodtp.com @@ -41164,36 +40700,9 @@ goodzuji.com goodzuo.com goofish.com googcc.net -google-analytics-cn.com -google-analytics.com -google444.com -googleadservices-cn.com -googleadservices.com -googleanalytics.com -googleapis-cn.com -googleapps-cn.com -googlebbs.net -googleflights-cn.net -googlenav.com -googleoptimize-cn.com -googleoptimize.com -googleplus.party -googlesyndication-cn.com -googlesyndication.com -googletagmanager-cn.com -googletagmanager.com -googletagservices-cn.com -googletagservices.com -googletraveladservices-cn.com -googletraveladservices.com -googlevads-cn.com -googlevip8.com -googlevoice.org -googleyixia.com googol-power.com googolpark.com googvv.com -gooioo.com goolemall.com goolink.org goome.net @@ -41218,8 +40727,8 @@ goozp.com gopedu.com gopeed.com goplaycn.com +goproxy.io gopuu.com -goquye.com gorebuy.com goregxa.com gorichox.com @@ -41227,6 +40736,7 @@ gorouter.info gorse.com gortune.com gosailgis.com +goselling.com goshijia.com goshopjp.com gosinoic.com @@ -41240,6 +40750,8 @@ gosuncdn.com gosuncdn.net gosuncn.com gosunm.com +got001.com +got002.com gotechcn.com gotechina.com goten.com @@ -41261,9 +40773,9 @@ gotoip11.com gotoip2.com gotoip3.com gotoip4.com -gotoip55.com gotoip88.com gotokeep.com +gotolink.net gotonav.com gotonets.com gotopsoft.com @@ -41282,7 +40794,6 @@ gouguoyin.com gouhai.com gouhao.com gouhaowang.com -gouhb.com gouhua.cc gouhuasuan.shop goujianwu.com @@ -41302,8 +40813,8 @@ gouso.com gousu.com goutanzi.com gouwanmei.com +gouwo.com gouwu3.com -gouwubang.com gouwudang.com gouwuke.com gouwule.com @@ -41315,22 +40826,22 @@ govfz.com govisionox.net govjc.com govmade.com +govqcloud.com govuln.com gowan8.com goweb1.cc goweb2.net goweb3.net goweike.net -gowhich.com gowinamc.com gowincms.com gowinlease.com -gowinxp.com gowithmi.com gowlc.net gowmo.com gowonganinn.com goww.net +goxytrbz.com goyihu.com goyoo.com gozap.com @@ -41348,6 +40859,7 @@ gp891.com gpai.net gpall.net gpautobid.com +gpb-hls.streamguys1.com gpbbs.net gpbeta.com gpboke.com @@ -41364,6 +40876,7 @@ gplqdb.com gplus-lab.com gpmii.net gpmro.com +gpmycez.com gpnewtech.com gpowersoft.com gppapp.com @@ -41371,10 +40884,12 @@ gppdt.com gpqnrc.com gps009.net gps123.org +gps16888.com gps8.com gpsbao.com gpsgx.net gpslook.net +gpsonextra.net gpsoo.net gpspw.net gpsrcw.com @@ -41404,6 +40919,7 @@ gqjd.net gqjtgs.com gqjx.net gqk.tv +gqprgkr.com gqpyh.com gqqsm.com gqsj.cc @@ -41411,8 +40927,8 @@ gqsoso.com gqsyk.com gqsym.com gqt168.com -gqwwshbdd1.fun gqxtq.com +gqzewmsk8yma18.com gr-hospital.com gr3xuaov74khb.com gra-moissanitesorg.com @@ -41428,7 +40944,6 @@ gradaimmi.com gradgroup.com gradgroup.net graduallylift.com -graesol.com grafytek.com grainedu.com grainstorage.net @@ -41487,7 +41002,6 @@ greatwallmusic.com greatwallqd.com greatwuyi.com gredmedic.com -gree-cq.com gree-jd.com gree.com greebox.com @@ -41510,7 +41024,6 @@ greenjk.com greenlandcn.com greenlandsc.com greenpine.cc -greensince.com greenswolf.com greentomail.com greentownchina.com @@ -41526,9 +41039,7 @@ greeyun.com grender.com greplay.com grescw.com -gretaith.com gretf.com -grewash1b.fun greyli.com greywolfcdn.net greywolffast.com @@ -41546,22 +41057,17 @@ grgvision.com grgyintong.com grid2048.com gridsum.com -gridsumdissector.com gridy.com -grihaith.com grikin.com grinm.com grirem.com -grirqaks.com gritgen.com -gritoils.com gritpharma.com grjzjt.com grksc.com grmxdy.com grnuo.com groad.net -grondrens.com gronhi.com groovymedicine.com grouk.com @@ -41569,17 +41075,15 @@ groundsun.com group-purchasing.com group-spl.com group-wenyuan.com -group.citic groupfangyuan.com grouphx.com -groupiklan.com groupjh.com groupjx.com grouplus.com groupshenxi.com growatt.com growful.com -growingio.com +growth.ai.srv growthbegins.com growthbox.net grpindex.com @@ -41596,22 +41100,19 @@ gruposeimex.com gruppal.com grxxw.com gryltop.com +gryphline.com gryu.net gryw666.com grzmz.com grzq.com grzyfey.com gs-cdn.com -gs-loc-cn.apple.com -gs-loc.apple.com gs090.com gs12122.com gs14.com gs1cn.org -gs2-geo.psn.akadns99.net gs2.ww.prod.dl.playstation.net gs2012.com -gs307.com gs5000.com gs6699.com gsadds.com @@ -41625,7 +41126,6 @@ gscblog.com gscdn.pub gscidc.net gscm.tv -gsdedash9b.fun gsdk.tv gsdpw.com gsdswz.com @@ -41656,7 +41156,6 @@ gsjqtv.com gsjt-cn.com gsjt56.com gsjtky.com -gsjy.net gsjy.xyz gskaiwei.com gskfzxyy.com @@ -41674,24 +41173,9 @@ gsmpers.com gsmuban.com gsmxjy.com gsnytz.com -gsp10-ssl-cn.ls.apple.com -gsp11-cn.ls.apple.com -gsp12-cn.ls.apple.com -gsp13-cn.ls.apple.com -gsp4-cn.ls.apple.com -gsp4-cn.ls.apple.com.edgekey.net.globalredir.akadns.net -gsp5-cn.ls.apple.com -gsp85-cn-ssl.ls.apple.com gspaceteam.com -gspe19-2-cn-ssl.ls-apple.com.akadns.net -gspe19-2-cn-ssl.ls.apple.com -gspe19-cn-ssl.ls.apple.com -gspe19-cn.ls-apple.com.akadns.net -gspe19-cn.ls.apple.com -gspe21-ssl.ls.apple.com -gspe35-ssl.ls.apple.com -gspe79-cn-ssl.ls.apple.com gspst.com +gspt.com gspxonline.com gsqstudio.com gsrc.com @@ -41714,14 +41198,12 @@ gssltxrmyy.com gsslxh.com gsstargroup.com gsstock.com -gsstscrbyy.com gsstsdgs.com gsswtz.com gst-china.net gst.prod.dl.playstation.net gstarcad.com gstatic-cn.com -gstaticadssl.l.google.com gsthq.com gstjs.com gstonegames.com @@ -41732,7 +41214,6 @@ gsuus.com gsvws.com gswjxjzx.com gswljt.com -gswtol.com gswz.com gsx009.com gsxb.net @@ -41741,7 +41222,6 @@ gsxetc.com gsxgw.com gsxservice.com gsxtj.com -gsyc.icu gsydxzyy.com gsysportwear.com gsyth.com @@ -41757,7 +41237,7 @@ gszybw.com gszyi.com gszytcm.com gszyy.com -gt-99-js-ii-i1-0o-j9-o0-1i-0o-sd-hg-kj.com +gt-generator.com gt-key.com gt-oil.com gt-semi.com @@ -41765,7 +41245,6 @@ gt47xc.com gt520.com gtac.cc gtadata.com -gtags.net gtajl.com gtan.com gtanhao.com @@ -41782,7 +41261,6 @@ gtcfzp.com gtcim.com gtd-china.com gtder.club -gtdf33.fun gtdgc.com gtdlife.com gtdreamlife.com @@ -41801,7 +41279,6 @@ gtig.com gtiggm.com gtimg.com gtinno.com -gtiou.com gtja-allianz.com gtja.com gtjadev.com @@ -41873,7 +41350,6 @@ gtm-we.com gtm.oasisfeng.com gtm.pub gtmlufax.com -gtmly-lyilgily.com gtmm.net gtmsh.com gtn9.com @@ -41882,6 +41358,7 @@ gtphotonics.com gtpso.com gtqzg.com gtradedata.com +gtrukxeo.com gts.work gtshebei.com gtsnzp.com @@ -41889,6 +41366,7 @@ gttctech.com gttxidc.com gtuanb.com gtuu.com +gtwrmdxo.com gtx-mall.com gtx-sh.com gtxf.com @@ -41957,7 +41435,6 @@ guangdonggames.com guangdonglianxing.com guangdonglong.com guangdongrc.com -guangdongtaiji.com guangdongtianxi.com guangdongwater.com guangdongyunchen.com @@ -41993,7 +41470,6 @@ guangnengquan.com guangraoluntan.com guangruijixie.com guangsai.cc -guangshantang.vip guangshaxy.com guangshenghang.com guangsuan.com @@ -42043,7 +41519,6 @@ guangyuangroup.com guangyuanjt.com guangyuanmarathon.com guangyuhb.com -guangyukeji.com guangyv.com guangzhitui.com guangzhou-logistics.com @@ -42056,18 +41531,15 @@ guangzhouxiehe.com guangzhouyibo.com guangzhouyizheng.com guangzhouzaiyu.com -guangzhuiyuan.com -guangzizai.com guangzjiaq.com guanhaiwei.com guanhaobio.com guanhejx.com guanhou.com -guanhoulz.com guanhuaju.com guanjiajf.com +guanjilin.com guanjunjg.com -guankaijiaju.com guankou.net guankuimjg.com guanlannet.com @@ -42100,14 +41572,13 @@ guanwuxiaoer.com guanxf.com guanxian.org guanxiaokai.com -guanxingyule.com guanxingyun.com guanxintec.com guanxxg.com guanyezipper.com +guanyierp.com guanyinshan.com guanyiyun.com -guanyou.ltd guanzhongrc.com guanzhu.mobi guanzhulian.com @@ -42119,7 +41590,6 @@ guardrailchina.com guatedu.com guatian.com guatuwang.com -guayunfan.com guazhuan.com guazi-apps.com guazi.com @@ -42132,11 +41602,13 @@ gubaike.com gubo.org gucciblog.net guccistar.com +gucheng.com guchengnews.com guchengxiangye.com gucn.com gucun.info gucunpark.net +guczkbdq.com gudeapp.com gudemanage.com gudi.cc @@ -42181,7 +41653,6 @@ guifan.cc guifancha.com guifanku.com guifeng.net -guifudi.com guifun.com guigang688.com guiganganlan.com @@ -42193,9 +41664,7 @@ guihua.com guihuangfood.com guihuayun.com guiji.com -guijianglvyou.com guijingchina.com -guijinghotel.com guijinshu.com guijitech.com guijob.com @@ -42224,7 +41693,6 @@ guimamuye.com guimengjob.com guimengning.com guimengshangeng.com -guimilu.com guinsoft.com guipeibao.com guipeng168.com @@ -42242,7 +41710,6 @@ guisteel.com guitan.com guitang.com guitang.fun -guitarpro.cc guitarq.com guitongmy.com guitu18.com @@ -42251,7 +41718,6 @@ guiweilian.com guixiaozi.com guixue.com guiyangmarathon.com -guiyicai.com guiyingclub.net guiyuhuanbao.com guiyuntai.com @@ -42259,12 +41725,10 @@ guizeco.com guizheng.net guizhenghe.com guizhenwei.com -guizhoudesheng.com guizhougames.com guizhougas.com guizhounaishili.com guizhoushengyang.com -guizhouxinsheng.com guizhutanglao.com guj6.com gujianba.com @@ -42308,7 +41772,6 @@ guo-kai.com guo68.com guo7.com guo98.com -guoad.com guoanaz.com guoanclub.com guoanele.com @@ -42339,7 +41802,6 @@ guodongtechnology.com guodouw.com guodu.com guodu.hk -guodulvyou.xyz guodushidai.com guofanglab.com guofen.com @@ -42350,7 +41812,6 @@ guofenkong.com guoguangmold.com guoguo-app.com guoguojie.com -guoguomh.com guohanlawfirm.com guohaokeji.com guohongxin.com @@ -42413,12 +41874,8 @@ guomeikuaidi.com guomiaokeji.com guomin999.com guominpension.com -guominziben.com -guomob.com guomu.com -guomuedu.com guoocang.com -guopeisong.com guopeiwang.com guopika.com guoping123.com @@ -42445,12 +41902,12 @@ guowaidiaocha.com guoweijt.com guoweistem.com guoweitong.com -guowenfh.com guowuwushu.com guoxiehao.com guoxikonggu.com guoxinbj.com guoxinlanqiao.com +guoxinmac.com guoxinqh.com guoxintek.com guoxue.com @@ -42469,7 +41926,6 @@ guoyice.com guoyihuake.com guoyitang.org guoyu.com -guoyu.link guoyuanliang.com guoyuegroup.com guoyuejituan.com @@ -42509,7 +41965,6 @@ guqiankun.com guqiu.com guqu.net gurukeji.com -gurun.cc gushengwang.com gushequ.com gushi.ci @@ -42523,6 +41978,7 @@ gushidaquan.cc gushidi.com gushiji.cc gushiju.net +gushiwen.org gushufang.com gusiyuan.com gusspro.com @@ -42552,31 +42008,24 @@ guyuehome.com guyuenglish.com guyungame.com guzhang.com +guzhangting.com guzhenm.com guzhongtrade.com guziyy.com guzuci.com guzwiayz.com -guzzoni-apple-com.v.aaplimg.com -guzzoni.apple.com -guzzoni.smoot.apple.com +gvcr9zaemdzh.com gvg-redsun.com gvi-tech.com gvlocalization.com +gvmocpc.com gvnpjzn.com gvoiceplat.com -gvt1-cn.com gvt2-cn.com -gvvbd.com -gvvedashb6.fun +gvwyuik.com gvzen.com -gw-dv.vip gw-ec.com gw.craft.moe -gw2cddpt2hao.asia -gw2cddpt2hao.cloud -gw2cddpt2hao.online -gw2cddpt2hao.site gw2sc.com gw4.cc gw66.vip @@ -42603,6 +42052,7 @@ gwin-cn.com gwinbody.com gwjakzzx.com gwjinan.com +gwkvepgc.com gwm-global.com gwmapp-h.com gwmfc.com @@ -42694,6 +42144,7 @@ gxaxjy.com gxaxpc.com gxayn.com gxazfw.com +gxb.io gxbaichen.com gxbaidu.net gxbaidutg.com @@ -42732,7 +42183,6 @@ gxblfs.com gxbltz.com gxbml.com gxbmmy.com -gxbn88.com gxbngs.com gxbochi.com gxboning.com @@ -42811,7 +42261,6 @@ gxcj.cc gxcj.net gxcjcl.com gxcjgt.cc -gxcjjt.com gxcjn.com gxcjtc.com gxclkj.com @@ -42820,7 +42269,6 @@ gxcmgr.com gxcmicc.com gxcmkfm.com gxcncec.com -gxcnjs.com gxcnjx.com gxcodemaker.com gxcors.com @@ -42837,7 +42285,6 @@ gxcro.com gxcrzxgs.com gxcschem.com gxcscm.com -gxcsf.com gxcsfc.com gxcskj.com gxcsmed.com @@ -42859,7 +42306,6 @@ gxcxhb.com gxcxxny.com gxcxyx.com gxcyaq.com -gxcygs.com gxcyhjt168.com gxcyzs.com gxcz88.com @@ -42900,7 +42346,6 @@ gxdig.com gxdingyi.com gxdingyu.com gxdkjmy.com -gxdkx.com gxdkyr.net gxdljz.com gxdltech.com @@ -42940,7 +42385,6 @@ gxdx5.com gxdxbj.com gxdxcredit.com gxdxdt.com -gxdxgc.com gxdxjs.com gxdxlk.com gxdxlxs.com @@ -42966,7 +42410,6 @@ gxept.com gxeqjx.com gxeqx.com gxer.net -gxerke.com gxeszx.com gxevc.com gxewa.com @@ -43153,6 +42596,7 @@ gxguojingjiuye.com gxguoyang.com gxguyu.com gxgwmb.com +gxgwuxe.com gxgwyw.org gxgxjc.com gxgxncplm.com @@ -43184,7 +42628,6 @@ gxhbs.com gxhc120.com gxhc18.com gxhc365.com -gxhcgroup.com gxhcht.com gxhclw.com gxhcmr.com @@ -43202,14 +42645,12 @@ gxhefei.com gxheguan.com gxhejia.com gxhengda.com -gxhengxjc.com gxheyumaoyi.com gxhezhixin.com gxhfba.com gxhfdl.com gxhfdqsb.com gxhfyy.com -gxhfzx.com gxhg.net gxhghg.com gxhgjm.com @@ -43218,7 +42659,6 @@ gxhgx.net gxhgzb.com gxhgzc.com gxhh.com -gxhhb.com gxhhgc.com gxhhgs.com gxhhhb.com @@ -43247,7 +42687,6 @@ gxhkjt.com gxhl.com gxhlc.com gxhljx.com -gxhlqzj.com gxhlun.com gxhlx.net gxhly168.com @@ -43276,7 +42715,6 @@ gxhqxmgl.com gxhrcjz.com gxhrkj.com gxhsba.com -gxhsdc.xyz gxhsjgs.com gxhsltd.com gxhsry.com @@ -43351,6 +42789,7 @@ gxhzzgx.com gxi.ink gxiang.org gxibvc.net +gxic.club gxic.net gxicc.net gxicpa.com @@ -43664,7 +43103,6 @@ gxljh.com gxljjt.com gxljjz.com gxljxs.com -gxljyt.com gxlk.net gxlke.com gxlkjy.com @@ -43707,7 +43145,6 @@ gxlvtong.com gxlvwang.com gxlwdsslgy.com gxlwjx.com -gxlwjz.com gxlwlc.com gxlwt.com gxlxgg.com @@ -43742,7 +43179,6 @@ gxlztz.com gxlzwl.com gxlzxrmyy.com gxlzxt.com -gxlzyq.com gxlzzc.com gxlzzh.net gxma123.com @@ -43806,7 +43242,6 @@ gxndcxswyxgs.com gxnddq.com gxndgg.com gxnewen.com -gxnftwny.com gxnfxny.com gxnfyk.com gxnhjk.com @@ -43899,7 +43334,6 @@ gxpikaqiu.com gxpingen.com gxpinn.com gxpjzs.com -gxplanet.com gxpljt.com gxpnzp.com gxpost.com @@ -43949,7 +43383,6 @@ gxqs.org gxqszl.com gxqtgroup.com gxqtszxc.com -gxqxxf.com gxqygc.com gxqyjy.com gxqykj.com @@ -43984,7 +43417,6 @@ gxrczc.net gxrdgroup.com gxrdjy.com gxrenheng.com -gxrfjt.com gxrfy.com gxrfys.com gxrgjd.com @@ -44001,7 +43433,6 @@ gxrongpin.com gxrongwang.com gxrongxin.com gxrongzheng.com -gxrqmb.com gxrqsjhz.com gxrsjc.com gxrskyy.com @@ -44009,7 +43440,6 @@ gxrsmllab.com gxrtbtc.com gxruiheng.com gxruipai.com -gxruisheng.com gxruizhen.com gxrunteng.com gxrxdt.com @@ -44021,8 +43451,6 @@ gxrzgczx.com gxsad.net gxsag.com gxsailian.com -gxsamwell.com -gxsanan.com gxsanchuan.com gxsanleng.com gxsanli.com @@ -44112,7 +43540,6 @@ gxsksy.com gxsl.com gxslbj.com gxslcc.com -gxslty.com gxslyj.com gxslyy.com gxsme.net @@ -44128,9 +43555,7 @@ gxsrkj.com gxsrtz.com gxsrwl.com gxsrxlzxyxzrgs.com -gxssjz.com gxssmg.com -gxssnn.com gxssrs.com gxstarship.com gxstd.com @@ -44144,7 +43569,6 @@ gxsunwin.com gxsut.com gxsuyun.com gxswgd.com -gxswim.com gxswsw.com gxswzps.com gxsxbj.com @@ -44167,7 +43591,6 @@ gxtaishi.com gxtaiyinuo.com gxtalc.com gxtangmi.com -gxtc2018.com gxtcdpp.com gxtckj.com gxtcq.com @@ -44272,7 +43695,6 @@ gxwgjf.com gxwhsy.com gxwhwy.com gxwjkj.com -gxwjky.com gxwjs.com gxwjwswkj118.com gxwjxl.com @@ -44352,7 +43774,6 @@ gxxiangxing.com gxxiangyi88.com gxxiaofu.com gxxiaolong.net -gxxie.com gxxielang.com gxxijiang.com gxxilin.com @@ -44366,7 +43787,6 @@ gxxinrui.net gxxinxiang.com gxxinye.com gxxinyi.com -gxxinyuruilin.com gxxinzhihai.com gxxiyuanep.com gxxjchem.com @@ -44396,8 +43816,6 @@ gxxrf.com gxxrwl.com gxxrxmgl.com gxxrzb.com -gxxshj.com -gxxsn.com gxxstz.com gxxsy.com gxxszx.com @@ -44464,7 +43882,6 @@ gxyhjgjt.com gxyhjt.com gxyhkaolin.com gxyhmy.net -gxyhtyy.com gxyhtz.com gxyhxx.com gxyicheng.com @@ -44501,10 +43918,8 @@ gxylnews.com gxyls.com gxylsjsp.com gxylswkj.com -gxylwszkjjt.com gxympay.com gxymyl.com -gxynjt.com gxynjx.com gxynlts.com gxyoj.com @@ -44522,7 +43937,6 @@ gxyqjc.com gxysbt.com gxysbz.com gxysccsh.com -gxyshg.com gxyskz.com gxyslkj.com gxysqj.com @@ -44552,7 +43966,6 @@ gxyx1688.com gxyxdl.com gxyxjt.com gxyxlx.com -gxyxph.com gxyxsh.com gxyxtkj.com gxyxxny.com @@ -44591,7 +44004,6 @@ gxzdyg.com gxzecai.com gxzepu.com gxzero.com -gxzesen.com gxzfjg.com gxzfnz.com gxzfqj.com @@ -44599,19 +44011,16 @@ gxzfzx.com gxzfzy.com gxzgdl.com gxzggc.com -gxzggs.com gxzghsp.com gxzgsy.com gxzgt.com gxzgtz.com gxzh.ltd gxzh666.com -gxzhanyi.com gxzhdq.com gxzhenghua.com gxzhenhang.com gxzhentao.com -gxzhenyue.com gxzhgz.com gxzhicui.com gxzhihui.com @@ -44648,7 +44057,6 @@ gxzljx.net gxzlnm.com gxzls.com gxzlsb.net -gxzlzw.com gxzm.vip gxzmjg.com gxzmlm.com @@ -44711,7 +44119,6 @@ gxzzd.com gxzztkj.com gxzzxin.com gy-ggy.com -gy.com gy120.net gy1688led.com gy2025.com @@ -44725,7 +44132,6 @@ gyb086.com gybcq.com gybsn.com gybyscy.com -gybyxsy1588.com gycfst.com gycharm.com gycode.com @@ -44798,7 +44204,6 @@ gystars.com gystatic.com gystc.com gystjt.com -gysuces.com gyswzys.com gytcwb.com gytsg.net @@ -44833,12 +44238,10 @@ gz-chengkao.com gz-cjjl.com gz-cmc.com gz-cube.com -gz-data.com -gz-dazo.com gz-ejoy.com gz-goam.com gz-gree.com -gz-haoxiang.com +gz-haohushan.com gz-hipower.com gz-huayuan.com gz-hz.com @@ -44870,12 +44273,10 @@ gz304.com gz360.com gz4399.com gz4u.net -gz51la.com gz528.com gz583.com gz91.com gzac.org -gzads.com gzanquan.com gzap.net gzaptech.net @@ -44919,7 +44320,6 @@ gzchupai.com gzci.net gzcihui.com gzcjjs.com -gzcl999.com gzcmer.com gzcmjl.com gzcn.net @@ -44993,7 +44393,6 @@ gzgayy.com gzgccs.com gzgccxkj.com gzgcg.com -gzgcsmart.com gzgdkq.com gzgdwl.com gzgelandi.com @@ -45007,7 +44406,6 @@ gzglgcjt.com gzgljx.com gzgmjcx.com gzgongsizhuce.com -gzgreatsun.com gzguangjia.com gzguidian.com gzgx020.com @@ -45031,7 +44429,6 @@ gzhe.net gzhengdian.com gzhengdou.com gzhfschool.com -gzhfydgc.com gzhifi.com gzhkl.com gzhkzyyy.com @@ -45073,7 +44470,6 @@ gzj568.com gzjbjx.com gzjbwm.com gzjc2016.com -gzjdgj.com gzjeeseng.com gzjgpy.com gzjhotel.com @@ -45123,7 +44519,6 @@ gzkaiyue.com gzkangyuan.com gzkcsj.com gzkcsjw.com -gzkeeyun.com gzking.com gzkint.com gzkmbg.com @@ -45142,7 +44537,6 @@ gzliancun.com gzlib.org gzlig.com gzlight.com -gzlingli.com gzliyuanhb.com gzljsl.com gzlnholdings.com @@ -45205,7 +44599,6 @@ gzpg.net gzpgroup.com gzpgs.com gzph.net -gzpinda.com gzpma.com gzpoint.com gzpoly.com @@ -45348,7 +44741,7 @@ gzv6.com gzvstc.net gzw.net gzwanbao.com -gzwangshang.com +gzwanju.com gzwanzhou.com gzwarriortech.com gzwaterinvest.com @@ -45367,6 +44760,7 @@ gzwrjt.com gzwshd.com gzwswjc.com gzwtqx.com +gzwynet.com gzwzhw.com gzxdd.com gzxdf.com @@ -45390,7 +44784,6 @@ gzxulang.com gzxwtjy.com gzxxm.com gzxxtiyu.com -gzxxty168.com gzxy.net gzxyh.com gzxyprint.com @@ -45398,7 +44791,6 @@ gzxzjy.com gzyajs.com gzyancheng.com gzyangai.com -gzyat.relmeetingapp.lenovo.com gzycdy.com gzych.vip gzycsjgs.com @@ -45409,6 +44801,7 @@ gzydwh.com gzyfjsjt.com gzyflw.com gzyhg.vip +gzyiagu.com gzyilongprinting.com gzyitsy.com gzylhyzx.com @@ -45491,6 +44884,7 @@ h2o-china.com h2os.com h2vm.com h2weilai.com +h389.com h3c.com h3c.com.hk h3cfuwuqi.com @@ -45505,7 +44899,6 @@ h5-share.com h5-x.com h5-yes.com h5.net -h51.com h51h.com h5495.com h554.com @@ -45552,13 +44945,13 @@ h5youxi.com h5yunban.com h5zhifu.com h61889.com -h6295.com h6688.com h6969.com h6app.com h6room.com h6ru.net h7ec.com +h803w.com h863.com h99998888.com h99999999.com @@ -45588,6 +44981,7 @@ hackhome.com hackhp.com hackhw.com hacking-linux.com +hackinn.com hackjie.com hacknical.com hackp.com @@ -45596,6 +44990,7 @@ hackrf.net hackroad.com hackyh.com hacori.com +hacpai.com haczjob.com hadax.com hadewu.com @@ -45638,7 +45033,6 @@ haianw.com haianyaoye.com haianzhuangshi.com haibao.com -haibao123.xyz haibaobaoxian.com haibaofoods.com haibaoptech.com @@ -45672,7 +45066,6 @@ haidii.com haidilao.com haidilao.net haidilao.us -haidimao.com haidubooks.com haidutouzi.net haier-ioc.com @@ -45724,7 +45117,6 @@ haikouwater.com hailanchem.com hailanggroup.com hailea.com -haili-spitzer.com hailiang.com hailiangbio.com hailiangedu.com @@ -45748,7 +45140,6 @@ haiman.io haimao.cc haimaoji.com haimawan.com -haimeilight.com haimeng01.com haimi.com haimian.com @@ -45757,6 +45148,7 @@ haimini.com haimosic.com haina.com hainajc.com +hainan.com hainan.net hainan0898.net hainanairlines.com @@ -45908,8 +45300,8 @@ haiymobi.com haiyong.site haiyuangabion.com haiyuangabiou.com +haiyuetechltd.com haiyun.me -haizhangs.com haizhanweb.com haizhenzhu.com haizhikj.com @@ -45960,10 +45352,10 @@ han-ju.cc hanamichi.wiki hanas.com hanascitygas.com -hanbaodawang.com hanbige.com hanboshi.com hanbridge.org +hanchacha.com hanchao9999.com hancibao.com hancloud.com @@ -46040,7 +45432,6 @@ hangxinyiqi.xin hangxun100.com hangyan.co hangyang.com -hangye365.com hangyecloud.com hangzhiqiao.com hangzhouboiler.com @@ -46093,7 +45484,6 @@ hankemaoyi.com hanking.com hankinggroup.com hankunlaw.com -hanlanad.com hanlei.org hanlin-tech.net hanlin.com @@ -46101,7 +45491,6 @@ hanlin.press hanlindong.com hanlinedu.com hanlinzhijia.com -hanlinzhijia.net hanlka.com hanlongpiju.com hanlunjx.com @@ -46109,7 +45498,6 @@ hanmaa.com hanmads.com hanmaidj.com hanmaker.com -hanmara.com hanmeilin.com hanmembrane.com hanmozhai.com @@ -46132,10 +45520,10 @@ hanshinkiki-xuzhou.com hansholdings.com hanshow.com hansight.com -hansiji.com hanslaser.com hanslaser.net hansme.com +hansong-china.com hanspower.com hanspub.org hansrobot.com @@ -46160,13 +45548,13 @@ hanvonmfrs.com hanvontouch.com hanwa-ch.com hanweb.com +hanwei1234.com hanweimetal.com hanweiqizhong.com hanwenzhongyi.com hanwujinian.com hanwujinian.net hanximeng.com -hanxin.me hanxinsheng.com hanxuew.com hanyanggroup.com @@ -46211,14 +45599,12 @@ hao123.sh hao12306.com hao123img.com hao123n.com -hao1258.com hao1358.com hao136.com hao163.com hao184.com hao1cm.com hao22.com -hao222.com hao222.net hao224.com hao2345.com @@ -46239,13 +45625,11 @@ hao5.net hao528.com hao568.com hao6.com -hao61.net hao695.com hao7188.com hao753.com hao76.com hao774.com -hao7766.com hao86.com hao9669.com haoad.org @@ -46289,7 +45673,6 @@ haodf.org haodiany.com haodiaoyu.com haodingdan.com -haodir.net haodisoft.com haodiy.net haodns123.cc @@ -46324,7 +45707,6 @@ haofs.com haofz.com haoge500.com haogedu.com -haoghost.com haogj8.com haogongzhang.com haohaizi.com @@ -46336,7 +45718,6 @@ haohanjx.com haohanpower.tech haohanstar.com haohao8888.com -haohaomao.com haohaomy.com haohaotuan.com haohaowan.com @@ -46370,7 +45751,6 @@ haojixiong.com haoju5.com haojue.com haojue163.com -haojunbest.com haojushe.com haoka88.com haokale.com @@ -46379,7 +45759,6 @@ haokan123.com haokan5.com haokanbu.com haokanqq.com -haokanshipin.com haokanzhan.com haokebang.net haokebio.com @@ -46442,6 +45821,7 @@ haoqu.net haoqu99.com haor233.com haoranbio.com +haorantech.com haorc.com haoread.com haoreagent.com @@ -46483,10 +45863,12 @@ haososou.com haosou.com haosou.net haosou123.com +haosou360.com haoss.vip haost.com haostay.com haosulu.com +haote.com haotengly.com haotgame.com haotianhuyu.com @@ -46495,12 +45877,12 @@ haotijin.com haoting.com haotm.com haotonggg.com -haotongjixie.com haotoufa.com haotougao.com haotougu.com haotoys.com haott.com +haotu3.com haotui.com haotyn.com haouc.com @@ -46565,6 +45947,7 @@ haoyuanxiao.com haoyue.com haoyue28.com haoyuepu.com +haoyun.life haoyun13.com haoyun56.com haoyunbb.com @@ -46583,7 +45966,6 @@ haozhexie.com haozhihs.com haozhougroup.com haozhuan.vip -haozhuangji.com haozhuji.net haozi.net haozi.xyz @@ -46598,13 +45980,16 @@ hapco-cn.com hapg-hitachi.com hapi123.net hapids.com +hapierxia.com hapingapp.com +hapipixia.com +hapiyixia.com +hapjs.org haplat.net happi123.com happigo.com happiness9999.com happy-ti.com -happy-vpn.com happy88.com happycodeboy.com happydino.com @@ -46626,7 +46011,6 @@ happystudy.cc happytimenet.com happywalk.net happyya.com -hapying.com haqu.com haquan.cc harbin-electric.com @@ -46636,14 +46020,12 @@ hardcc.com hardcoresir.net hardkr.com hardspell.com -hardware.deploy.akamai.com hardware114.com hareonsolar.com hariogame.com harj120.com harmay.com harmight.com -harmo.cc harmony-et.com harmony3.com harmony4s.com @@ -46665,14 +46047,12 @@ harvestpawn.com harworld.com harzone.com hasaf.com -hasanye.com hasbyk.com hasco-group.com hasea.com hasee.com hasee.net hasen-cn.com -hashnest.com hashyrmyy.com hasivo.com haskqyy.com @@ -46712,6 +46092,7 @@ haxdjx.com haxm.com haxwx.cc hayao.com +hayaoym.com hayeen.com hayge.com haygo.com @@ -46756,7 +46137,6 @@ hbahwy.com hbahyy.com hbairport.com hbanbao.com -hbaog.com hbapia.vip hbasstu.net hbbaidu.com @@ -46783,7 +46163,6 @@ hbccza.com hbcdc.com hbcdyz.com hbcg.cc -hbchaozhuo.com hbchen.com hbchufeng.com hbcjh.net @@ -46791,7 +46170,6 @@ hbcjkcfwjt.com hbcjlq.com hbcjw.com hbcjxx.com -hbcl.ltd hbclgg.com hbcljyc.com hbclqcw.com @@ -46858,13 +46236,11 @@ hbgj.com hbgk.net hbglky.com hbglobal.com -hbgmxxjcyxgs.com hbgr.net hbgrb.net hbgroups.com hbgsetc.com hbgswl.com -hbguohua.com hbgwy.org hbgydxw.com hbgzfx.com @@ -46881,7 +46257,6 @@ hbhml.com hbhmxx.com hbhongrunxwy.com hbhqzyc.com -hbhtbn.com hbhtcm.com hbhtgroup.com hbhtxx.com @@ -46958,7 +46333,6 @@ hbldwx.com hblhfrp.com hblhnykj.com hbliti.com -hbljzz.com hblq.com hblryz.com hblszzs.com @@ -47005,7 +46379,6 @@ hbqnb.com hbqndc.com hbqtgg.com hbqydz.com -hbqyj.org hbqyl.com hbqyxy.com hbr-caijing.com @@ -47031,7 +46404,6 @@ hbryzx.net hbrzkj.com hbs-nd.com hbscd.com -hbscsb.com hbsczx.com hbsczzxy.com hbsdenterprise.com @@ -47056,7 +46428,6 @@ hbsmservice.com hbsmtxh.com hbsmwljt.com hbsocar.com -hbsoft.net hbsogdjt.com hbsql.com hbsrjt.com @@ -47085,7 +46456,6 @@ hbszlcc.com hbszsv.com hbsztv.com hbszxyjhyy.com -hbszzd158.com hbszzk.com hbszzx.com hbtcmu.com @@ -47163,7 +46533,6 @@ hbyunyang.net hbyybwff.com hbyysw.com hbzaxh.com -hbzbjxzz.com hbzbw.com hbzcmy.com hbzcpg.com @@ -47176,7 +46545,6 @@ hbziwei.com hbzjjk.com hbzjrx.com hbzjzb.com -hbzkj.com hbzknet.com hbzkw.com hbzkzxw.com @@ -47199,7 +46567,6 @@ hc-ph.com hc-software.com hc-sre.com hc-testing.com -hc-zhongtong.com hc01.com hc121.com hc12306.com @@ -47221,23 +46588,18 @@ hcc11.com hcccia.com hcciot.com hcclhealthcare.com -hccoeutg.com hccpcba.com hcdamai.com hcdblg.com hcdiy.com -hcdsctq.com hcdyhr.com hceia.com -hcenc.com hcepay.com -hcesal.com hcfac888.com hcfang.net hcfc168.com hcftyy.com hcgaokong.com -hcgbhq.com hcglzj.com hcgroup.com hcgtravels.com @@ -47245,13 +46607,10 @@ hch518.com hchbblg.com hchbsb.com hchezhu.com -hchig.com -hchik.com hchina.com hchlidc.com hchliot.com hchongren.com -hci.lenovo.com hcicloud.com hcinfo.tech hcj1952.com @@ -47267,7 +46626,6 @@ hcpharm.com hcqixinhb.com hcqxbj.com hcrlm.com -hcs.globalsign.com hcs360.com hcschengtou.com hcsd123.com @@ -47277,7 +46635,6 @@ hcshangwu.com hcsilk.com hcsjddc.com hcsound.com -hcsvipc.com hcswgx.com hcsyjt.com hct-test.com @@ -47288,7 +46645,6 @@ hcwebsite.com hcwh.ltd hcwhjd.com hcwiki.com -hcwljy.com hcx123.com hcx99.com hcxcw.com @@ -47316,7 +46672,6 @@ hczsbj.com hczshb.com hczxmr.com hczyw.com -hczzw.com hd-dwr.com hd-english.com hd-english.net @@ -47337,14 +46692,16 @@ hd8y.com hdabc.com hdanc.com hdanheng.com -hdashui.com hdavchina.com hdb.com hdbaichuan.com hdbeta.com hdbgjt.com +hdbits.org hdbp.com hdbus.net +hdchina.org +hdcmct.org hdcms.net hdcolorant.com hdcy123.com @@ -47353,6 +46710,7 @@ hddata.net hddgood.com hddid.com hddlion.com +hddolby.com hddznet.com hdeexpo.com hdeso.com @@ -47362,6 +46720,7 @@ hdfybjy.com hdgetters.com hdh.im hdhjtz.com +hdhome.org hdhosp.com hdhospital.com hdhsjt.com @@ -47413,7 +46772,6 @@ hdsmgw.com hdtgtm.com hdtonghe.com hdtyre.com -hduic.com hduofen.com hdurl.me hduzplus.xyz @@ -47426,12 +46784,10 @@ hdwebpyqe.com hdwjc.com hdwtpay.com hdwzz.com -hdxdbj.com hdxing.net hdxweb.com hdxxg.com hdxxw.com -hdxyj.icu hdxynet.com hdyanke.com hdyfy.com @@ -47456,12 +46812,9 @@ he-edu.com he-ku.com he-nan.com he-one.com -he.deploy.akamai.com he17.com he1j.com he29.com -he2d.com -he8k.com heacn.net head-way.com headconsultant.com @@ -47474,7 +46827,6 @@ heag.com healforce.com healrna.com health-china.com -health.citic healthan.net healthbbs.net healthcareol.net @@ -47502,7 +46854,6 @@ hebbc.org hebbr.com hebca.com hebcar.com -hebdsmn.com hebdtp.com hebecc.com hebeeb.com @@ -47517,6 +46868,7 @@ hebeihazhi.com hebeihualang.com hebeijd.com hebeijia.com +hebeijiaxin.com hebeilyxh.com hebeiminglan.com hebeinongzi.com @@ -47576,7 +46928,6 @@ hecai360.com hecaijing.com hecdn.com hecdn.net -hechaji.com hechangquan.com hechangshipin.com hechangtech.com @@ -47596,7 +46947,6 @@ hedaoapp.com hedaozi.com hedasudi.com hedaweb.com -hedesoft.com hedgehogbio.com hedgehogrock.com hedongli.com @@ -47633,12 +46983,9 @@ heheshouyou.com hehesy.com hehewan.com heheyx.com -hehongcn.com hehooo.com hehouse.com -hehu.com hehuapei.com -hei-tong.com hei.red heibai.net heibai.org @@ -47655,6 +47002,7 @@ heibaowuliu.com heibian.com heicha.com heicheng51.com +heidaotxt1.com heidaren.com heidiankeji.com heigaga.com @@ -47676,7 +47024,6 @@ heilongjianggames.com heiluo.com heima.com heima010.com -heima8.com heimabao.com heimac.net heimadao.com @@ -47684,13 +47031,10 @@ heimadata.com heimai666.com heimajijin.com heimalanshi.com -heimaohui.com heimaoseo.org heimaoseojishu.com heimaoshe.com -heimayijiancai.com heimaying.com -heimdallr.dji.com heimeiai.com heimeng.net heimizhou.com @@ -47711,7 +47055,6 @@ heitaosan.com heitiane123.com heitu.com heitukeji.com -heiviek.com heiwahospital.com heiwangke.net heixi.com @@ -47843,6 +47186,7 @@ henan100.com henanart.com henanbojin.com henance.com +henancme.net henanfucai.com henangames.com henaninfo.com @@ -47850,14 +47194,12 @@ henanjianling.com henanjiqiren.com henanjubao.com henanjuchuang.com -henanlaili.com henanrc.com henansha.com henanshengtang.com henansyj.com henanyikayi.com henanyixue.com -henanzhulongjx.com henanzsb.com henau.net henbt.com @@ -47894,8 +47236,8 @@ hengfujz.com henggufood.com henghe-group.com henghe666.com +henghengmao.com henghongjixie.com -henghuicjcn.com hengjiafish.net hengjianyy.com hengjiatouzi.com @@ -47948,6 +47290,7 @@ hengyuanzn.com hengyudata.com hengyuefund.com hengyulighting.com +henha.com henhaoji.com henizaiyiqi.com henku.com @@ -48003,6 +47346,7 @@ heroje.com heroone.com herosanctuary.com heroskate.com +herostart.com heroworld.net herrel.com herrywatch.com @@ -48011,7 +47355,6 @@ herta.space herton.net hertzhu.com heryipharma.com -heryt111.fun hescna.com heshanghuitong.com heshdity.com @@ -48090,11 +47433,11 @@ heycomrades.com heycross.com heycsm.com heydayinfo.com -heyeca.com heygears.com heyi.com heyiguangye.com heyiguoyuan.com +heyimiao.com heyingcn.com heyingedu.com heyinguanli.com @@ -48120,7 +47463,6 @@ heythings-iot.com heytime.com heyuanstone.com heyuanxw.com -heyuedi.com heyuhongfang.com heyun100.com heyunnet.com @@ -48176,7 +47518,6 @@ hfcentury.com hfchosp.com hfchzyy120.com hfcsbc.com -hfcxyly.com hfdaoyuan.com hfdedu.com hfdsgs.com @@ -48198,20 +47539,17 @@ hfhwbgyp.com hfhyw.com hfi-health.com hfish.net -hfisngksng.com hfjnxh.com hfjnz.com hfjscn.com hfjsj.com hfjtjt.com -hfjy.com hfjzzsxh.com hfkeheng.com hfkenfan.com hfkjsd.com hfkktt.com hfksmdl.com -hfktyy120.com hflbysm.com hfleda.net hflengku.com @@ -48260,7 +47598,6 @@ hfx.net hfxcfiberoptic.com hfxczj.com hfxg.net -hfxst.com hfxyjx.com hfyestar.com hfykd.com @@ -48285,14 +47622,12 @@ hg12333.com hg2693.com hg5177.com hg568.com -hg56999.com hg80022.com hg87.com hg8880.org hg9895.com hga994.com hgaas.com -hgame.com hgcapsule.com hgcha.com hgchess.com @@ -48320,6 +47655,14 @@ hgmai.com hgmri.com hgmsjt.cc hgnc.net +hgo06070uyi.com +hgo06071uyi.com +hgo06080uyi.com +hgo06081uyi.com +hgo06090uyi.com +hgo06091uyi.com +hgo06101uyi.com +hgo06111uyi.com hgobox.com hgoqi.com hgptech.com @@ -48358,7 +47701,6 @@ hh-wi.com hh.global hh010.com hh112233hh.com -hh6666.com hh88hh.com hhaqpx.com hhax.org @@ -48426,10 +47768,10 @@ hhrcw.com hhrdc.com hhrsks.com hhsilk.com -hhsoftinfo.com hhsw6688hxcdn.com hhtmm.com hhtravel.com +hhtravel.com.tw hhtv.cc hhup.com hhusz.com @@ -48440,7 +47782,6 @@ hhvv.com hhwenjian.com hhwindowmesh.com hhwl88.com -hhwyjnsb.com hhxfqc.com hhxnycl.com hhxnyqc.com @@ -48471,11 +47812,11 @@ hi-techspring.com hi-trend.com hi0755.net hi138.com +hi169.net hi1718.com hi2000.com hi2000.net hi772.com -hi9377.com hiaiabc.com hiao.com hiapk.com @@ -48494,7 +47835,9 @@ hibor.net hibor.org hibt.net hibtc.org +hibusiness.com hibuzz.net +hiby.cd hiby.com hibymusic.com hic.cloud @@ -48523,9 +47866,9 @@ hicp.net hicsharp.com hicss.net hiczp.com +hid98ys.com hidery.com hidesigncloud.com -hidist.com hiditie.com hidna.net hidreamai.com @@ -48552,15 +47895,14 @@ hifkw.com hifkw.xin hifly.mobi hifly.tv +hifortune.net hifpga.com hifreud.com hifuntv.com hifuture.com -higame123.com higer.com higeshi.com higgmm.net -high-defense-163.com high-genius.com high20-playback.com high21-playback.com @@ -48578,6 +47920,7 @@ highlightoptics.com highlionceramic.com highlm.com highly.cc +highpriceddatinguk.com highsharp.com highstar.com hightac.com @@ -48597,9 +47940,7 @@ hihonorcdn.com hihonorcloud.com hihope.org hii-go.com -hiido.com hiido.net -hiifong.cc hiigame.net hiiibrand.com hiiyun.com @@ -48648,10 +47989,12 @@ hiloletswin.com hilonggroup.com hiloong.com hilqq.com +hiluluke.com hilunwen.com hima.auto himado.com himaker.com +himalaya.com himalaya.cool himanufacture.com himarking.com @@ -48664,15 +48007,12 @@ himile.com himin.com himisw.com himmpat.com -himofi.com himorfei.com -himve.com hin.cool hinabian.com hinabiotech.com hinavi.net -hindlish.com -hingecloud.com +hindiabp-lh.akamaihd.net hinocn.com hinotravel.com hinpy.com @@ -48708,7 +48048,6 @@ hirossz.com hirtk.com hirunsport.com his.sh -his2nd.life hisaka-china.com hisavana.com hiscene.com @@ -48777,7 +48116,6 @@ hiwechats.com hiweixiu.com hiwelcom.com hiwemeet.com -hiwifi.com hiwiyi.com hiworld.com hiwuhuan.com @@ -48802,6 +48140,7 @@ hizom.com hizyw.com hizyy.com hj-bits.com +hj-dog.com hj-ienergy.com hj-mail.com hj-pack.com @@ -48809,8 +48148,6 @@ hj.vc hj01.com hj110.com hj1951.com -hj217.com -hj8gf.icu hjapi.com hjasiancenter.com hjbbs.com @@ -48831,7 +48168,6 @@ hjdns.net hjdshop.cc hjdzn.com hjenglish.com -hjf56.com hjg365.com hjgcd.com hjgrp.com @@ -48891,7 +48227,6 @@ hk0523.com hk2875.com hk515.net hk603.hk -hk662.com hk8668.com hkaco.com hkaima.com @@ -48911,18 +48246,20 @@ hkcts.com hkctshotels.com hkctsmembers.com hkcwdc.com +hkd82.com hkdcn.com hkdfc.com hkdfgroup.com hkdqgroup.com hkdzxs.com -hkeig.com hkexpressworld.com hkfc.hk hkfcchina.com hkfdi.com hkfe.hk hkfljt.com +hkg3g299r4.com +hkgcloudcs.com hkgcr.com hkgj07.com hkgjcz.com @@ -48960,13 +48297,12 @@ hkroyal.com hkrsoft.com hksc888.com hkscxh.com +hkserversolution.com hkslg520.com hkstv.tv -hkszetsair.com hkt4.com hktheone.com hktidg.com -hktv10.com hku-szh.org hkvisen.com hkwb.net @@ -48977,11 +48313,9 @@ hky360.com hkyukai.vip hkyxfgs.com hkyykq.com -hkyymn.com hkzlcm.com hl-bandao.com hl-brushes.com -hl-bxg.com hl-cat.com hl-epay.com hl-hengsheng.com @@ -49034,7 +48368,6 @@ hlhqdj.com hlhs.cc hlhyc.com hlideal.com -hljbcgs.com hljcqjy.com hljdata.net hljgvc.com @@ -49090,11 +48423,17 @@ hlpretty.net hlqiaojia.com hlqxj.com hlread.com +hls-1.wamu.org +hls-video01.cdnvideo.ru +hls.cdn.ua +hls.kqed.org +hls.qguiyang.com +hls.qxtv0763.com +hls.wlrn.mobi hlschina.com hlsdq.com hlshihui.com hlsimu.com -hlstlyy.com hltmsp.com hltx.net hlupr.com @@ -49109,14 +48448,12 @@ hlxstipark.com hlxsykd.com hlxsz.com hlxy.com -hly.com hlybar.com hlyds.com hlyiq.com hlytec.com hlyy8.com hlyykp.com -hlzad.com hlzaojia.com hlzq.com hlzqgs.com @@ -49159,7 +48496,6 @@ hmltec.com hmly666.cc hmmachine.com hmmryk.com -hmnjf.com hmnst.com hmoe.link hmplay.com @@ -49167,7 +48503,6 @@ hmqg.com hmqjsb.com hmr12.com hmrczp.com -hmreuj.com hmrsrc.com hmsem.com hmsemi.com @@ -49175,7 +48510,6 @@ hmszkj.com hmtgo.com hmting.com hmtnew.com -hmtoday.com hmtrhf.com hmus.net hmwdj.com @@ -49200,11 +48534,11 @@ hn-coach.com hn-fa.com hn-hwqjxh.com hn-medical.com -hn-pc.com hn-xqlhw.com hn0746.com hn165.com hn21z.com +hn4nn.com hn8868.com hn96520.com hn9mu.com @@ -49239,7 +48573,6 @@ hnbntv.com hnbrush.com hnbsq.com hnbtcy.com -hnbwsd.com hnccpit.org hnceg.com hncfa.com @@ -49347,7 +48680,6 @@ hnhjjx.com hnhlpp.com hnhnled.com hnhp.com -hnhrsw.com hnhsjt.com hnht56.com hnhtdg.com @@ -49376,7 +48708,6 @@ hnjianshe.com hnjing.com hnjing.net hnjinmaizi.com -hnjixiao.net hnjkjn.com hnjkw.net hnjme.com @@ -49406,7 +48737,6 @@ hnliangku.com hnlipu.com hnlis.com hnlshm.com -hnltcw.com hnlxq.com hnlyy.com hnlzhd.com @@ -49445,17 +48775,16 @@ hnoak.com hnoceanrace.com hnoexpo.com hnofc.com -hnol.net hnoscar.com hnpdig.com hnpfw.com hnpic.com +hnplanedu.com hnpm.cc hnpolice.com hnpta.com hnptschool.net hnpwholesale.com.au -hnpysf.com hnqczy.com hnqfseed.com hnqinshi.com @@ -49528,7 +48857,6 @@ hnstjsjt.com hnswljt.com hnswsjy.com hnswxy.com -hnsxnet.com hnsyda.com hnsygroup.com hnsyhj.com @@ -49555,12 +48883,12 @@ hntican.com hntkg1.com hntky.com hntlxh.com +hntncdn.com hntobacco.com hntqb.com hntv.tv hntxcd.com hntxxy.com -hntymg.com hntzyy.com hnubbs.com hnucc.com @@ -49603,7 +48931,6 @@ hnxttv.com hnxunch.com hnxuntang.com hnxxc.com -hnxxt.net hnxxyz.com hnyanglao.com hnyaoshan.com @@ -49617,7 +48944,6 @@ hnyingfang.com hnyinhan.com hnyixiao.com hnyl.xyz -hnylstone.com hnysfww.com hnytgt.com hnyuanhong.com @@ -49626,6 +48952,7 @@ hnyuedu.com hnyunji.com hnyunsutong.com hnyunzhiyi.com +hnyuyuhui.com hnyydg.com hnyygroup.com hnyyws.com @@ -49644,7 +48971,6 @@ hnzhijiang.com hnzhongzhuan.com hnzhouyi.com hnzhy.com -hnzjdc.com hnzjgdkj.com hnzjip.com hnzjj.com @@ -49665,7 +48991,6 @@ hnztfs.com hnztqzjx.com hnzxyy.com hnzycfc.com -hnzyfs.com hnzyfy.com hnzywh.xyz hnzyxckj.com @@ -49698,7 +49023,6 @@ hogatoga.net hogesoft.com hoghu.com hogon17.com -hogyp.com hoho123.com hoho666.com hohode.com @@ -49720,6 +49044,7 @@ holine.com holkx.com holleykingkong.com hollischuang.com +hollisterco.com hollwingroup.com hollycrm.com hollysource.com @@ -49729,15 +49054,11 @@ hollywant.com holmesbio.com holmesian.org holoalpha.com -holoway.lenovo.com -holowaytest.lenovo.com holsauto.com holteksupport.com holyfunny.com holymalls.com holyxiongan.com -home-cn.htcsense.com -home.htcsense.com home0311.com home0538.com home0668.com @@ -49758,7 +49079,6 @@ homecenter-mori.com homed.me homedgroup.com homedo.com -homeedgeserver.lenovo.com homeindus.com homeinframes.com homeinmists.com @@ -49790,6 +49110,7 @@ homylogistics.com homyu.com honaenergy.com honbro.com +honchmedia.com honco88.com honda-sundiro.com honder.com @@ -49836,7 +49157,6 @@ hongfeihr.com hongfengye.com hongfuloi.com hongganshebei.net -honggebang.com hongguogame.com hongguoyouxi.com honghaibengye.com @@ -49899,7 +49219,6 @@ hongqiaochina.com hongqimold.com hongqipharma.com hongqipress.com -hongqiw.com hongrenyiyuan.com hongrenzhuang.site hongrida.com @@ -49908,8 +49227,7 @@ hongrizi.com hongru.com hongruihuanjing.com hongruike.com -hongruikt.com -hongruiyanmo.com +hongsanban.com hongsat.com hongsebanji.com hongsegs.com @@ -49922,7 +49240,6 @@ hongsheng-group.com hongshengxieye.com hongshi88.com hongshigroup.com -hongshikai.com hongshipaint.com hongshizi.org hongshn.xyz @@ -49940,7 +49257,6 @@ hongtaiscp.com hongtaiwy.com hongtastock.com hongtelecom.com -hongteng.xyz hongtong588.com hongtongtube.com hongttel.com @@ -49948,6 +49264,7 @@ hongtu-xinghan.com hongtu.net hongtu56.com hongtucad.com +hongtunetwork.com hongvv.com hongwenfeh.com hongwu.com @@ -49967,6 +49284,7 @@ hongyangxiezi.com hongyanhr.com hongyanjin.com hongyanliren.com +hongyans.com hongyantruck.com hongyaomall.com hongyawang.com @@ -49997,6 +49315,7 @@ hongze.net hongze365.com hongzerc.com hongzetai.com +hongzhengchem.com hongzhentextile.com hongzhigongzuowang.com hongzhiwanju.com @@ -50011,6 +49330,7 @@ honlyu.com honor.com honorfair.com honorfile.com +honorofkings.com honpc.com honpery.com honsea.com @@ -50018,7 +49338,6 @@ honson-china.com honsonch.com honstarmemory.com honsuntec.com -hontont.com honyanwl.com honycapital.com honyfunds.com @@ -50044,7 +49363,6 @@ hoopugames.net hoosho.com hooshun.com hoosuntec.com -hoouoo.com hooya.hk hooyagroup.com hooyoo.com @@ -50124,7 +49442,6 @@ hostadm.net hostbbs.net hostbuf.com hostdie.com -hostedocsp.atlas.globalsign.com hostgw.net hostidc.net hostkvm.com @@ -50137,14 +49454,12 @@ hotalk.com hotata.com hotborn.com hotchenghong.com -hotcoin.com hotdb.com hoteamsoft.com hoteastday.com hotel-ochsen-hardheim.com hotelbaijin.com hotelcis.com -hoteldig.com hotelgg.com hoteljianguo.com hotelpanpacific.com @@ -50156,13 +49471,13 @@ hotent.xyz hotgamehl.com hotgopark.com hotiis.com -hotkd.com hotkey123.com hotkidclub.com hotking.com hotlcd.com hotlinegames-jp.net hotnewx.com +hotone.com hotoneaudio.com hotoos.com hotpotstq.com @@ -50188,6 +49503,7 @@ hotxf.com hotyihao.com hou5.com houcaller.com +houdao.com houdao.net houdask.com houdewl.com @@ -50221,17 +49537,18 @@ house365.com house5.net house510.com house86.com +houseimg.com houshaoan.com housoo.com houwenfei.com houwuedu.com houxue.com houyicaiji.com +houyuantuan.com houzhibo.com houzhiwang.com houzi8.com houzislkdjfkldsdsd.com -hov15.icu hovfree.com howardwchen.com howbuy.com @@ -50254,16 +49571,13 @@ hoyi-tech.com hoyibox.xyz hoyip.com hoyo.link -hoyoverse.com hozest.com hozin.com hozonauto.com -hozzs.hk hp-marathon.com hp.com hp123.com hp888.com -hp8g6.icu hpbgb.com hpbjy.com hpblog.net @@ -50272,6 +49586,7 @@ hpccake.com hpccube.com hpcssc.com hpculturegroup.com +hpearx.com hpeft.com hpepea.com hpgamestream.com @@ -50279,6 +49594,7 @@ hpglw.com hpgzf.com hph123.com hphuishou.com +hphwa.com hpicorp.net hpigc.com hpjd.com @@ -50300,7 +49616,6 @@ hpwxc.com hpyiqi.com hpyk.com hpzhatu.com -hpzyl.com hq-mart.com hq-minerals.com hq0564.com @@ -50319,6 +49634,7 @@ hqcg1984.com hqchip.com hqcr.com hqdlsn.com +hqdoc.com hqdoor.com hqengroup.com hqepay.com @@ -50376,6 +49692,7 @@ hqyzx.com hr-channel.com hr-mp.com hr-self.com +hr-welink.com hr002.com hr025.com hr0571.com @@ -50474,11 +49791,9 @@ hrsteelpipe.com hrtechchina.com hrtfin.com hrtn.net -hrtsea.com hrtx.com hruikang.com hrvouge.com -hrvvtbv.com hrwuu.com hrxiongan.com hrxz.com @@ -50498,7 +49813,6 @@ hs499.com hs5g.com hs65.com hs85.com -hs86735.com hsakyy.com hsay.com hsayi.com @@ -50523,7 +49837,6 @@ hsddyy.com hsdfzp.com hsdjxh.org hsdjz.com -hsdmall.com hsdprefabcontainerhouse.com hseda.com hsehome.com @@ -50549,7 +49862,6 @@ hshton.com hshuiyi.com hshw.com hshy.net -hsigus.com hsjk.com hsjkaoyan.com hsjlrhy.com @@ -50606,7 +49918,6 @@ hstczkj.com hstd.com hstong.com hstpizza.com -hstpnetwork.com hstspace.com hstypay.com hstyre.com @@ -50628,7 +49939,6 @@ hsxt.com hsxt.net hsxxad.com hsy188.com -hsy2.com hsyaguanjg.com hsyanyi.com hsybyh.com @@ -50702,8 +50012,6 @@ htgjjl.com htgkdz.com htguosheng.com htgwf.com -htgz456.com -hthvc.icu hti-instrument.com htidc.com htimgs.com @@ -50759,17 +50067,17 @@ htths.com httingshu.com httpcanary.com httpcn.com -httpdns.pro +httpdvb.slave.ttcatv.tv httpsok.com httpssl.com htucloud.com htudata.com +htudns.com hturl.cc htv123.com htvaas.com htwcq.com htwed.com -htwjo.com htwx.net htx.cc htxgcw.com @@ -50781,9 +50089,9 @@ htycs.com htyduck.com htyhm.com htyou.com -htyrh.com htys.cc htys123.com +htyssdf.com htyswzzgw.com htyunwang.com htzdj.com @@ -50799,6 +50107,7 @@ hua.com hua1000.com hua168.com huaaiangel.com +huaan-cpa.com huaao-trust.com huaaojiaoyu.com huaaoranqi.com @@ -50810,7 +50119,6 @@ huaban.com huaban.net huabanimg.com huabanpro.com -huabaolou.com huabbao.com huabeicw.com huabeishiyou.com @@ -50869,8 +50177,8 @@ huafaih.com huafajituan.com huafang.com huafangdichan.com -huafangzhou.com huafasports.com +huafatech.com huafeimould.com huafeng-al.com huafeng.com @@ -50902,7 +50210,6 @@ huahtc.com huahua777.com huahuacaocao.com huahuahua.net -huahuaka.com huahuamaoyi.com huahuan.com huahuihealth.com @@ -50984,7 +50291,6 @@ hualiuniversity.com hualong-sz.com hualongholding.com hualongxiang.com -hualu.live hualu5.com hualumedia.com hualuwood.com @@ -51014,20 +50320,17 @@ huananfanyi.com huananyiyao.com huananzhi.com huanbao.com -huanbao5.com huanbaoscx.com huanbearing.com huanbeieloan.com huanbeiloan.com huanbeipic.com -huancaicp.com huandie.com huandonglg.com huane.net huanenet.com huanergy.com huanfeng580.com -huang-biao.com huang-jerryc.com huang-jiang.com huangbaoche.com @@ -51091,7 +50394,6 @@ huanju.net huanjutang.com huanjuyun.com huankkk.com -huanlang.com huanle.com huanle800.com huanlecdn.com @@ -51123,7 +50425,6 @@ huanqiuw.com huanqiuyimin.com huanqu-tec.com huanqunquan.com -huanrong2010.com huansengifts.com huanshoulv.com huante.com @@ -51180,6 +50481,7 @@ huarui1952.com huaruiaero.com huaruicom.com huaruidns.com +huaruisales.com huas.co huash.com huashan-neurosurgery.com @@ -51216,7 +50518,6 @@ huashu-inc.com huashui.com huashuitax.com huashunxinan.net -huashuowork.com huasimtour.com huasiwood.com huasongwang.com @@ -51257,23 +50558,29 @@ huawei.eu huawei.ru huaweiacad.com huaweiapaas.com +huaweiapi.com huaweicloud-dns.com huaweicloud-dns.net huaweicloud-dns.org huaweicloud-idme.com +huaweicloud-koophone.com huaweicloud-smn.com huaweicloud-smn.net huaweicloud.com huaweicloudapis.com +huaweicloudlive.com huaweicloudsite.com huaweicloudwaf.com huaweidevice.com huaweidun.com +huaweielab.com +huaweifile.com huaweiief.com huaweiita.com huaweils.com huaweimall.com huaweimarine.com +huaweimarketplace.com huaweimossel.com huaweioneaccess.com huaweirtc.com @@ -51285,7 +50592,6 @@ huaweistatic.com huaweiuniversity.com huaweiyun.com huaweizdl.com -huawenfanyi.com huawenwin.com huawo-wear.com huawote.com @@ -51354,10 +50660,11 @@ huayinhealth.com huayinjapan.com huayinlab.com huayinyiliao.com -huayishebei.com huayitaitech.com huayitongtai.com +huayiweibo.com huayiwork.com +huayiyuan.com huayou.com huayoumengze.com huayoutianyu.com @@ -51366,7 +50673,6 @@ huayuanlcd.com huayuchaxiang.com huayue119.com huayueivf.com -huayuejob.com huayufilter.com huayug.com huayuhua.com @@ -51422,10 +50728,8 @@ hubeiyanjiusheng.com hubeiyongtai.com hubeizhengao.com hubiao168.com -hubiazhi.com hubing.online hubinlu.com -hubpd.com hubsound.com hubstudio.vip hubulab.com @@ -51505,7 +50809,6 @@ huicaishui.net huiche.com huiche100.com huicheimg.com -huichenbz.com huichenghuijia.com huichengip.com huichengy.com @@ -51547,7 +50850,6 @@ huifengzhuzao.com huifenqi.com huifu.com huifudashi.com -huifuhuo.com huifusihai.com huifutz.com huifuzhinan.com @@ -51603,7 +50905,6 @@ huiliangapp.com huilianyi.com huililong.com huilintyre.com -huilitao.com huilitc.com huiliu.net huiliubao.com @@ -51613,6 +50914,7 @@ huilongsen.com huilongtech.com huilunbio.com huilv8.com +huilvbiao.com huilvwang.com huilvyankuang.com huilw.com @@ -51621,8 +50923,6 @@ huim.com huimaiche.com huimaihs.com huiman.net -huimee.com -huimee.net huimei.net huimeijiaozi.com huimeisports.com @@ -51666,7 +50966,6 @@ huishangol.com huishantech.com huisheng.fm huishengaudio.com -huishenghuiying.com huishenghuo.ink huishengqianzhushou.com huishida.com @@ -51691,14 +50990,12 @@ huisucn.com huisuoping.com huitao.net huitaoche.com -huitaodang.com huitaoyouhui.com huitengpipe.com huitongqingsuan.com huitou51.com huitoubj.com huitouche.com -huitoukao.com huitoukefood.com huitouyan.com huitouyu.com @@ -51707,7 +51004,6 @@ huitu.com huitu.tech huitu8.com huitun.com -huiun.com huiurl.com huivo.com huiwang.net @@ -51725,7 +51021,6 @@ huixineducation.com huixinggroup.com huixingsoft.com huixinli.com -huixinmed.com huixinyiyuan.com huixinyt.com huixinyun.com @@ -51734,7 +51029,6 @@ huixueba.net huiyan315.com huiyangranqi.com huiyankan.com -huiyanzhi.com huiyaohuyu.com huiybb.com huiyda.com @@ -51747,7 +51041,6 @@ huiyiai.net huiyicq.net huiyihealth.com huiyijh.com -huiying.shop huiyingdai.com huiyingde.com huiyinxun.com @@ -51766,7 +51059,6 @@ huiyunsec.xyz huiyutools.com huize.com huizecdn.com -huizeyoupin.com huizhaofang.com huizhek.com huizhengmachinery.com @@ -51793,13 +51085,16 @@ hujiang.com hujianggroup.com hujibbs.com hujingnb.com -hujinjj.com huke88.com hukeck.com hukecs.com hukecwx.com +hukefjb.com +hukehyh.com hukelc.com hukenb.com +hukesxm.com +hukewq.com hukexyy.com hukou021.com hukou365.com @@ -51808,7 +51103,6 @@ hulai.com hulianfang.com hulianmaibo.com hulianwangchuangye.com -hulichuang.mobi huliku.com hulinhong.com hulixin.com @@ -51828,7 +51122,6 @@ huluwa8.com huluxia.com huluxia.net huluzc.com -huluzena.com humaiyouxi.com humanplustech.com humanrights-china.org @@ -51853,14 +51146,11 @@ hunangy.com hunanhaihong.com hunaniptv.com hunanjz.com -hunanliantong.com hunanpea.com hunantv.com hunanyuneng.com -hunanzhibo.com hunanzp.com hunanzy.com -hunational.com hunau.net hunbei.com hunbei1.com @@ -51879,7 +51169,6 @@ hundx.com hunger-valley.com hungfei.com hunheji.org -hunjuwang.com hunli100.com hunlian100.com hunlihu.com @@ -51908,7 +51197,6 @@ huobanimg.com huobanjs.com huobanmall.com huobanniu.com -huobanxietong.com huobaowang.com huobaoweishang.com huobaoyx.com @@ -51925,11 +51213,11 @@ huocheci.com huochehuan.com huochepiao.com huochepiao.net +huocheso.com huodao.hk huodong.org huodong.store huodong5.com -huodonghezi.com huodonghui.net huodongjia.com huodongju.com @@ -51984,9 +51272,13 @@ huosdk.com huoshan.cc huoshan.club huoshan.com +huoshancdn.com +huoshangroup.com huoshanimg.com huoshanlive.com +huoshanparty.com huoshanstatic.com +huoshante8.com huoshanvideo.net huoshanvod.com huoshanxiaoshipin.net @@ -52002,11 +51294,11 @@ huotan.com huowan.com huowanes.com huoxiaoyi.com +huoxing.com huoxing24.com huoxingyu.com huoxingzi.com huoxun.com -huoxun.wang huoyan.com huoyan.io huoyanio.com @@ -52014,7 +51306,6 @@ huoyantu.com huoyanyunying.com huoyfish.com huoying.com -huoying666.com huoyuan.mobi huoyugame.com huoyuyan.com @@ -52026,14 +51317,14 @@ hupo.com hupo.tv hupozhidao.com hupu.com +hupu.gg hupu.io hupucdn.com +hupujrs.com hupun.com hur05100kns.com -hur05101kns.com hur05111kns.com hur05120kns.com -hur05121kns.com hurbai.com hurom.vip hurricane618.me @@ -52097,7 +51388,6 @@ huxiu.com huxiu.link huxiucdn.com huya.com -huyahaha.com huyajs.com huyall.com huyanapp.com @@ -52166,6 +51456,7 @@ hwclouds.mobi hwclouds.net hwclouds.org hwcloudsite.com +hwcloudvis.com hwclzq.com hwcpb.com hwcrazy.com @@ -52179,11 +51470,13 @@ hwht.com hwj.com hwjm-mold.com hwjyw.com +hwlchain.com hwlifting.com hwlpz.com hwocloud.com hwoled.com hworld.com +hwpan.com hwrecruit.com hwshu.com hwsupplychain.com @@ -52192,6 +51485,7 @@ hwtrip.com hwtzdl.com hwwt2.com hwwt8.com +hwxc.com hwxda.com hwxfc.com hwxjp.com @@ -52248,6 +51542,7 @@ hxepawn.com hxf111.com hxfilm.com hxfjw.com +hxfy888.com hxfzzx.com hxgame.net hxgqw.com @@ -52264,6 +51559,7 @@ hxiangjia.com hxing.com hxinq.com hxjbh.com +hxjhcloud.com hxjinqiao.com hxjiot.com hxjiqi.com @@ -52289,7 +51585,6 @@ hxlhjt.com hxlife.com hxljjt.com hxlot.com -hxlover.com hxlsw.com hxltcj.com hxlxx.com @@ -52312,7 +51607,6 @@ hxqgczx.com hxqnj.org hxqssc.com hxqtedu.com -hxqu.com hxr100.com hxrc.com hxsd.com @@ -52334,7 +51628,6 @@ hxtxxw.com hxtzgroup.com hxweb.net hxwglm.com -hxwybc.com hxwzhs.com hxx.net hxxkw.org @@ -52371,7 +51664,6 @@ hy1234567.com hy163.com hy1862.com hy2046.com -hy233.tv hy4.cc hy628.com hy8881.com @@ -52415,7 +51707,6 @@ hyeycg.com hyflc.com hyfutures.com hyfxbj.com -hyfyuan.com hygdbq.com hyggfx.com hygkit.com @@ -52426,7 +51717,6 @@ hygy361.com hyham.com hyhcdn.com hyhdtg.com -hyhfsj.com hyhhgroup.com hyhjzc.com hyhl66.com @@ -52438,7 +51728,6 @@ hyht.fun hyhuo.com hyhxt.net hyhy.cc -hyhy2.fun hyhyn.com hyilp.com hyimmi.com @@ -52459,7 +51748,6 @@ hylandslaw.com hylicreate.com hylik.net hylname.com -hylyl.club hymake.com hymall.net hymater.com @@ -52474,7 +51762,6 @@ hynews.net hyngj.com hynixic.com hynpay.com -hynuantong.com hynyw.com hyocr.com hyouda.com @@ -52486,9 +51773,7 @@ hypercachenet.com hypercachenode.com hypergryph.com hypergryph.net -hypers.com hypersilicon.com -hypersnap.net hyperstrong.com hyphencargo.com hyplc.com @@ -52501,7 +51786,6 @@ hyqdxcl.com hyrainbow.com hysbz.com hysdbxg.com -hysdknb.com hysec.com hyseim.com hyshengnian.org @@ -52517,13 +51801,9 @@ hytbj.com hytcshare.com hytd.com hytera.com -hytgj.com -hyth74.fun hytzqb.com hyundai-chhm.com hyundai-hmtc.com -hyunke.com -hyutyo.shop hyuuhit.com hyuvpw.com hywater.net @@ -52600,7 +51880,6 @@ hzamcare.com hzaoz.com hzapu.com hzapuqi.com -hzarx.com hzaygb.com hzazh.com hzbcdp.com @@ -52621,7 +51900,6 @@ hzboxing.com hzboxuan.com hzbpm.com hzbx.com -hzbxm.com hzc.com hzcables.com hzcbparking.com @@ -52694,7 +51972,6 @@ hzfucai.net hzfuturehos.com hzfwq.com hzfzxh.com -hzgangdun.com hzgcec.com hzgcgl.com hzggfw.com @@ -52709,7 +51986,6 @@ hzgrys.net hzgthb.com hzguode.com hzguojiao.com -hzgwbn.com hzgwzn.com hzgxr.com hzgymd.com @@ -52748,7 +52024,6 @@ hzhr.com hzhssy.com hzhstb.com hzhtlh.com -hzhuang.wang hzhuning.com hzhuti.com hzhx.com @@ -52811,7 +52086,6 @@ hzkjn.com hzkln.com hzklyy.com hzkqyyjt.com -hzkshx.com hzkszx.com hzlange.com hzlczx.com @@ -52844,6 +52118,7 @@ hzmixc.com hzmkdq.com hzmobius.com hzmogo.com +hzmrcar.com hzmsholding.com hzmt001.com hzmtg.com @@ -52856,15 +52131,12 @@ hznet.tv hznetwk.com hznewface.com hznews.com -hznk91.com hznkg.com hznlxs.com hznrkj.com hznsh.com hzntjt.com -hznuodalaowu.com hznzcn.com -hzodfwxs.com hzok.net hzorganicchem.com hzou.net @@ -52882,7 +52154,6 @@ hzqszl.com hzqvod.com hzqx.com hzqxbg.com -hzqxj.net hzqyhydrogen.com hzr1.com hzragine.com @@ -52964,7 +52235,6 @@ hztx.com hztx2020.com hztygd.com hztzkj.net -hzuic.com hzvillas.com hzvtc.net hzwan.com @@ -52998,9 +52268,7 @@ hzxiangbin.com hzxiangshang.com hzxiaoya.com hzxinglong-ip.com -hzxinshen.com hzxiyuege.com -hzxma.com hzxqf.com hzxsjgxx.com hzxsjtzt.com @@ -53026,15 +52294,16 @@ hzyoumai.com hzyoushu.com hzyqys.com hzyread.com +hzyuejie.com hzyuewan.com hzyunding.com -hzyuw.com hzywinf.com hzyxart.com hzyxuart.com hzyye.com hzyys.com hzyz.net +hzyzhp.com hzyzxx.net hzzbco.com hzzckg.com @@ -53063,10 +52332,10 @@ hzzuyin.com hzzx365.com hzzxyjhyy.com hzzxyy.com +hzzzpt.com i-27.name i-520.net i-bei.com -i-bestmind.com i-bigdatas.net i-click.com i-conference.org @@ -53107,7 +52376,8 @@ i-xinnuo.com i-xoron.com i-z-e.com i.dell.com -i.survey.lenovo.com +i.ipinyou.com +i.pki.goog i007.vip i027.com i0349.com @@ -53120,20 +52390,17 @@ i0766.com i0898.org i11r.com i121.net -i1236.net i133.com i1608.com i16949.com i171.com i1758.com i1766.com -i1dian.com i1r.cc i2863.com i2abc.com i2eas.com i2finance.net -i2wq4.icu i2ya.com i360mall.com i369.com @@ -53163,13 +52430,14 @@ i5tea.com i66wan.com i6879.com i72.com +i77p94y6yi.com i7car.com i7fh.com i7gg.com i7ol.com i7play.com +i7txt.cc i7txt.com -i7wx.com i8001.com i8956.com i8cn.com @@ -53187,8 +52455,6 @@ iacstar.com iaddata.com iadmob.com iadmore.com -iadpush.com -iadsdk.apple.com iadtracker.com iaeac.org iai-robot.com @@ -53199,7 +52465,6 @@ iajl.org ialicdn.com ialloc.com iamabio.com -iambanban.com iambocai.com iameduwork.com iamfisher.net @@ -53217,11 +52482,9 @@ iamxiaoming.net iamxk.com ianbaby.com iandun.com -iangs.com ianvisa.com ianxing.com iaocwbk.com -iaosua.com iaoyou.com iaozi.com iaozu.com @@ -53229,11 +52492,12 @@ iape-js.com iapijy.com iapkk.com iapolo.com +iappad.com iappdaily.com -iapple123.com -iappler.net +iapprank.com iapps.im iappsafe.com +iappsign.com iappstoday.com iapptry.com iarlejz.com @@ -53247,7 +52511,6 @@ iaskgo.com iaskhot.com iasmr.cc iat-auto.com -iauto.wang iautodaily.com iautodraw.com iautopress.com @@ -53303,7 +52566,6 @@ ibianma.com ibicn.com ibidian.com ibiji.com -ibimuyu.com ibingniao.com ibiquge.info ibiquge.la @@ -53330,10 +52592,12 @@ ibluefrog.com ibluesocial.com iblwl.com ibm-dns.com +ibmcampus.com ibmfwqdl.com ibmhz.com ibmnb.com ibmwclub.com +ibobscs.com ibodao.com ibodyhome.com iboohee.com @@ -53347,6 +52611,7 @@ ibossay.com ibox.art iboxpay.com ibreader.com +ibreeno.com ibribery.com ibrilife.com ibroadlink.com @@ -53380,6 +52645,7 @@ icafe28.net icafe8.com icafe8.net icai.vip +icaidao.com icaifu.com icaile.com icall.me @@ -53404,14 +52670,42 @@ icbc-uk.com icbc-us.com icbc.ae icbc.be +icbc.co.id +icbc.co.jp +icbc.co.kr +icbc.co.nl +icbc.com.au +icbc.com.es +icbc.com.kh +icbc.com.kw +icbc.com.la +icbc.com.mm +icbc.com.mo +icbc.com.mx +icbc.com.pe +icbc.com.pk +icbc.com.qa +icbc.com.sg +icbc.com.vn +icbc.de +icbc.eu icbc.jp +icbc.lu +icbcalmaty.kz icbcamg.com icbcasia.com +icbcbr.com.br +icbci.com.hk +icbcina.com icbcindia.com icbcit.com icbcleasing.com +icbclondon.com icbcme.ae +icbcmoscow.ru icbcmy.com +icbcnz.com +icbcpanama.com icbcparis.fr icbcpl.com icbcstandard.com @@ -53419,11 +52713,12 @@ icbcstandardbank.com icbcstandardresources.com icbcstandardsecurities.com icbcswiss.com +icbcthai.com icbcwallet.com icbeexpo.com +icbkfs.com icbkus.com icbuy.com -icc.lenovo.com icc.link icc365.com iccchina.com @@ -53447,6 +52742,7 @@ ice138.com iceasy.com icebear.me icebound.cc +icecast-ruvr.cdnvideo.ru icecloud-car.com icedropper.com iceflowsoft.com @@ -53457,11 +52753,12 @@ icekylin.online icemle.org icentown.com icepie.net -iceplant.hk iceread.com iceriverbj.com icesimba.com icesofts.com +icetorrent.org +icevirtuallibrary.com icevpn.org icewingcc.com icewoo.com @@ -53470,15 +52767,16 @@ icfcc.com icfgblog.com icfqs.com icfusions.com +icg.cc icgbl.org icgoo.net icgu.com ich8.com -ichabar.com ichacha.com ichanfeng.com ichang8.com ichangtou.com +ichangyan.com ichanyu.com ichaoqi.com ichaoshangyue.com @@ -53496,6 +52794,7 @@ ichengsi.com ichengyun.net ichennan.com icheruby.net +icheshi.com ichezhan.com ichika.cc ichinaceo.com @@ -53530,9 +52829,7 @@ iclicash.com iclickstatic.com icliexpo.com icljt.com -icloud-cdn.icloud.com.akadns.net icloud-power.com -icloud.cdn-apple.com icloudcity.com icloudgslb.com icloudnative.io @@ -53552,12 +52849,10 @@ icncpc.com icnjob.com icnkr.com icntv.tv -icntv.xyz icntvcdn.com ico-deli.com icoat.cc icoc.bz -icoc.cc icoc.in icoc.me icoc.vc @@ -53566,6 +52861,7 @@ icodelogic.com icoderobot.com icofchina.com icolor8.com +icomuimi.com iconntech.com icoolby.com icoolxue.com @@ -53594,10 +52890,11 @@ icpisp.net icpkuaiban.net icplishi.com icpmii.com +icqmwrhm.com icqone.com icrazyidea.com -icrosschina.com ics-sec.com +ics.design icshanghai.com icsisia.com icslx.com @@ -53639,8 +52936,10 @@ iczhiku.com iczoom.com id-bear.com id-photo-verify.com -id6.me +id4r.com +id4r.net ida-a.org +idaasksyun.com idachu.com idacn.org idadt.com @@ -53652,7 +52951,6 @@ idangyang.com idanpianji.com idaocao.com idaotuo.com -idasai.com idatacube.com idataforces.com idatage.com @@ -53691,7 +52989,7 @@ idcd.com idcdoc.com idceb.com idcfengye.com -idchh.com +idcgcloudcs.com idchz.com idchz.net idcicp.com @@ -53711,6 +53009,7 @@ idcsp.com idcspy.com idcspy.net idcss.com +idctalk.com idctq.com idcug.com idcum.net @@ -53723,7 +53022,6 @@ idcys.com idcyunwei.org idczone.net idd1.com -iddddg.com ideabody.com ideacarbon.org ideacms.net @@ -53750,11 +53048,9 @@ ideerled.com idejian.com idejian.net iden123.com -ideng.com idepu.org idesktopcal.com idevbase.com -idevkit.com idevz.org idgeeks.net idgou.com @@ -53767,7 +53063,6 @@ idiaoyan.com idigi.net idlegog.com idloves.com -idmchina.net idmzj.com idn100.com idname.com @@ -53785,8 +53080,8 @@ idom.me idong.ren idongde.com idongdong.com -idongmai.com idongniu.com +idonguapi.com idongzhi.com idooshu.com idosend.com @@ -53823,6 +53118,7 @@ iduodou.com iduokan.net iduomi.cc idux-vw.com +idwzs.com idwzx.com idx365.com ie13.com @@ -53848,16 +53144,16 @@ iecool.com iecworld.com ieduchina.com ieduglobe.com -iee5.com ieechina.com ieee-jas.net +ieee.org ieeepower.com ieeewifi.com -ieeod0.com ieepa.org ieevchina.com iefang.com iefans.net +ieffect.cc ieforever.com iefrd.com iefxz.com @@ -53875,7 +53171,6 @@ ieltsonlinetests.com iemailforce.com iemate.com iemblog.com -iemiq.com iemnet.xyz iemouepk.com ienglish.store @@ -53885,7 +53180,6 @@ iepcn.com iepose.com ieppcn.com ieqkypcq.com -ieryt111.fun ierze.com iesdouyin.com iesdouyin.net @@ -53899,7 +53193,6 @@ ietdata.com ietheivaicai.com ietheme.com ietrcd.com -ieurop.net ievision.com iewb.net iewie.org @@ -53914,7 +53207,6 @@ if1f.com ifabao.com ifabiao.com ifaclub.com -ifactz.com ifanbei.com ifangarden.com ifangka.com @@ -53922,7 +53214,10 @@ ifanpu.com ifanr.com ifanr.in ifanrcloud.com +ifanrprod.com +ifanrprod.net ifanrusercontent.com +ifanrx.com ifareast.com ifatrabbit.com ifaxin.com @@ -53956,7 +53251,6 @@ ifenxiang.cc ifere.com ifeve.com iffline.com -iffobi.xyz ifindever.com ifintechnews.com ifireeye.com @@ -53964,10 +53258,12 @@ ifireflygame.com ifitbox.com ifjing.com ifkeji.com +ifkz256x3p.com iflix.com iflow.work iflowercity.com iflyaiedu.com +iflyauto-solution.com iflydatahub.com iflydocs.com iflygse.com @@ -54013,8 +53309,6 @@ ifundstore.com ifunmac.com ifutest.com ifutureworks.com -ifuyun.com -ifxsb.com ifxtx.com ifzxs.cc ifzzw.com @@ -54023,6 +53317,7 @@ igame007.com igame58.com igamecj.com igandan.com +iganggu.com igao7.com igaoda.com igaokaopai.com @@ -54036,7 +53331,6 @@ igeak.com igeciku.com igeekbar.com igeekys.com -igehuo.com igeidao.com igelou.com igenetech.com @@ -54044,14 +53338,13 @@ igengmei.com igeshui.com igetget.com igetmall.net -igetui.com igevin.info -igexin.com igimu.com igkbroker.com iglda.com iglqh.com igo180.com +igo52.com igocctv.com igome.com igomkt.com @@ -54096,6 +53389,7 @@ ihaier.com ihailanjiang.net ihaima.com ihaique.net +ihaitiao.com ihaiu.com ihaiyan.com ihanbridge.com @@ -54105,6 +53399,7 @@ ihanhua.com ihani.tv ihansen.org ihanshi.com +ihaohaoxuexi.com ihaoma.icu ihaoqu.com ihaoxi.com @@ -54155,7 +53450,6 @@ ihstatic.com ihtcboy.com ihtmlcss.com ihuaben.com -ihuajian.com ihuan.me ihuang.org ihuanling.com @@ -54201,6 +53495,7 @@ iiaq.net iiast.com iibechina.com iibq.com +iic6o.com iicall.com iicats.com iicha.com @@ -54211,10 +53506,8 @@ iidns.com iidx.fun iieii.com iiesz.com -iiewl.com iieye.cc iigs9.com -iigushi.com iii80.com iiiaaa.com iiiddd.com @@ -54232,6 +53525,7 @@ iiong.com iipcloud.com iipiano.com iirii.com +iirpwigs.com iis7.com iis7.net iis8.com @@ -54269,7 +53563,6 @@ ijie.com ijiebao.com ijiedian.com ijiela.com -ijieo.com ijindun.com ijingdi.com ijinshan.com @@ -54311,6 +53604,7 @@ ikaoguo.com ikaolaa.com ikaowu.com ikaros.run +ikb.vc ikcd.net ikcest.org ikck.com @@ -54339,11 +53633,11 @@ ikongjun.com ikonke.com ikoori.com ikozn.com +ikqtcbva.com iksea.com ikuai8-wifi.com ikuai8.com ikuaicai.com -ikuailian.com ikuaimi.com ikuaiyue.com ikuajing.com @@ -54357,7 +53651,6 @@ ikvoaxzw.com ikx.me ikyy.cc ikzybf.com -il8r.com ilab-x.com ilabilab.com ilaisa.com @@ -54387,20 +53680,17 @@ iliangcang.com ilianwo.com ilianyue.com ilibrand.com -ilidu.com ilidubj.net ilieqi.net ilifesmart.com ilikecp.com ilikemanga.com -ilinekesy.com ilingdai.com ilinki.net ilinkmall.com ilinkone.com ilinksure.com ilinuxkernel.com -ilinye.com ilinyi.net ilishi.net iliuliu.com @@ -54409,7 +53699,6 @@ ilivehouse.com ilixiangguo.com iliyu.com ilkeji.com -ilkwork.com illl.xyz illumpaper.com ilmgq.com @@ -54424,8 +53713,6 @@ ilovebarcode.com ilovechao.com ilovefishc.com ilovey.live -iloveyouxi.com -iloveyouzhong.com ilovezuan.com ilovezz.com ilsungf.com @@ -54442,7 +53729,6 @@ ilxdh.com ilxtx.com ilydjk.com ilz.me -ilzies.com im-cc.com im-ch.com im.ci @@ -54453,11 +53739,11 @@ im323.com im520.com im577.com im5i.com +im9.com imaccn.com imachina.com imaegoo.com image-tech.vip -image.dji.com imageaccelerate.com imageedu.com imagehub.cc @@ -54467,18 +53753,17 @@ imageplusplus.com imageplusplus.net imagepy.org imagerjt.com +images-amazon.com images-cache.com -images.apple.com.edgekey.net.globalredir.akadns.net +images-cn-8.ssl-images-amazon.com +images-cn.ssl-images-amazon.com images.samsung.com -images3.tripcdn.com imagestoryai.com -imageter.com imagetotxt.com imagewa.com imagiclouds.com imaginde.com imagineadtech.com -imags-google.com imahui.com imaibo.net imaijia.com @@ -54494,14 +53779,13 @@ imaojiang.com imarketchina.com imarkr.com imaschina.com -imasdk.googleapis.com imatlas.com imayitxt.com -imazingchina.com imbackr.com imbeiyu.com imblog.in imbtk.com +imcapptest.com imcart.com imcclinics.com imcec.org @@ -54515,6 +53799,7 @@ imdo.co imdodo.com imdst.com imedao.com +imedcloudimage.com imedera.com imedicalai.com imedlab.net @@ -54539,7 +53824,7 @@ imelai.com imeme.tv imetacloud.com imeyahair.com -imfg.lenovo.com +imf.org imfirewall.com imfooww.com img-space.com @@ -54548,8 +53833,6 @@ img.beauty img.ink img.run img.samsungapps.com -img.samsungapps.com.akadns99.net -img.videos.dji.net img.vin img001.com img005.com @@ -54558,14 +53841,16 @@ img168.net img16888.com img3266781992.com img4399.com +img4me.com img6444389787.com +img6857783384.com img88391511.cc img898.com img9490563646.com img9580903245.com +img9879125675.com imgbed.link imgcdc.com -imgcdn2.com imgchr.com imgcook.com imgdd.cc @@ -54607,7 +53892,6 @@ imifun.com imigu.com imiker.com imile-inc.com -imindmap.cc imitui.com imixpark.com imjiayin.com @@ -54620,6 +53904,7 @@ imlb2c.com imlianai.com imliuyi.com immeee.com +immersivetranslate.com immfast.com immi520.com immiexpo.com @@ -54631,14 +53916,10 @@ immotors.com immune-path.com immusician.com immviragroup.com -imndl.icu imnerd.org -imniel.com imnight.com imnks.com imobile-ent.com -imochen.com -imoduo.com imoe.me imoe.tech imoeer.com @@ -54671,9 +53952,7 @@ imperialsprings.com imperialspringsforum.org impk.cc impnails.com -impolo.com importingtochina.com -improd.works improve-ai.com improve-medical.com impta.com @@ -54692,14 +53971,13 @@ imsle.com imsun.net imtaweb.net imtics.com -imtmp.net -imtte.com imtuan.com imtyimages.vip imudgame.com imugeda.com imuke.com imummybiz.com +imusicking.com imvictor.tech imvtc.com imwaco.com @@ -54708,6 +53986,7 @@ imweb.io imweia.com imwexpo.com imwork.net +imwukong.com imwzh.com imx365.net imxh.com @@ -54734,16 +54013,16 @@ in-driving.com in-en.com in-freight.com in-int.com +in.th in001.com in66.com in800.com in853.com in955.com inabr.com -inad.com inaink.com +inanguapi.com inanrenbang.com -inapi.lenovo.com inbeing.net inbilin.com inbooker.com @@ -54790,7 +54069,6 @@ inengyuan.com inesa-it.com inesa.com inetech.fun -inetgoes.com inetmaster.net inewhope.com inewoffice.com @@ -54801,6 +54079,7 @@ inferoey.com infertilitybridge.com infimotion.com infineon-autoeco.com +infineon.com infini-ai.com infinisign.com infinitescript.com @@ -54811,7 +54090,6 @@ info-insur.com info-monitor.com info-onesky.com info.cc -info.support.web02.huawei.akadns99.net info10.com info110.com info35.com @@ -54827,6 +54105,7 @@ infoldgames.com infomorning.com infong.net infoobs.com +infoq.com infoq.io infoqstatic.com inforbus.com @@ -54869,18 +54148,11 @@ inibiru.com inicoapp.com inidc.net ininin.com -init-kt.apple.com -init-p01md-lb.push-apple.com.akadns.net -init-p01md.apple.com -init-p01st-lb.push-apple.com.akadns.net -init-p01st.push.apple.com -init-s01st-lb.push-apple.com.akadns.net -init-s01st.push.apple.com -init.ess.apple.com initff.com initialview.com initpp.com initroot.com +initvv.com initxx.com inja.com injectionmachine.com @@ -54890,7 +54162,6 @@ inkankan.com inkanke.com inkcc.net inkcn.com -inkcrane.com inke.com inke.tv inkeygo.com @@ -54904,14 +54175,12 @@ inlaylink.com inlighting.org inlishui.com inliuzhou.com +inluckcalendar.com inmeng.net -inmense.site inmuu.com inmyshow.com innatek.com innity-asia.com -innity.com -innity.net innnnnn.com inno3d.cc innobm.com @@ -54953,8 +54222,6 @@ inovance-automotive.com inovogen.com inovppg.com inovpu.com -inpetusgames.com -inping.com inpla.net inplayable.com inputmore.com @@ -54963,11 +54230,9 @@ inqan.com inrice.com inrice.zone inrugao.com -ins.citic ins110.com insagee.com insarticle.com -insenz.com inshion.com inshotapp.com insidestuffs.com @@ -55032,6 +54297,7 @@ intimerent.com intlgame.com intlqydd.info intlscdn.com +intltencentcos.com intmedic.com intmes.com intohard.com @@ -55053,7 +54319,6 @@ inuobi.com inuorui.com inuu6.com inuyasha.love -inveno.com inverter.so invescogreatwall.com invest-data.com @@ -55077,7 +54342,6 @@ inzone-auto.com inzotek.com ioa365.com ioage.com -iocdn.cc iocrest.com ioe-times.com iofange.com @@ -55085,6 +54349,7 @@ ioffershow.com ioffice100.com iofomo.com ioigamer.net +ioikypzw.com ioiosafe.com ioiox.com ioiox.net @@ -55100,6 +54365,7 @@ iooao.com iooeoo.com iooiooi.com iooqoo.com +iop.org iopenhec.com iophthalmology.net iopiopl.com @@ -55110,7 +54376,6 @@ iornnl.xyz ios-auto.net ios222.com ios98.com -iosapps.itunes.g.aaplimg.com iosask.com ioser.fun iosfengwo.com @@ -55123,6 +54388,7 @@ iosyyds.com ioszc.com ioszn.com iot-cas.com +iot-tencent.com iot.moe iot0.net iot1001.com @@ -55134,7 +54400,9 @@ iotfair.net iotku.com iotmag.com iotmore.com +iotmrvr.com iotpai.com +iotronic.tech iotrouter.com iots.vip iotsafe.net @@ -55146,11 +54414,12 @@ iotxx.com iotyeas.com iotyes.com iouluo.com -iovia-pmj.com ioxray.com ioxunyun.com +ip-cdn.com ip-guard.net ip-soc.com +ip.istatmenus.app ip.la ip008.com ip138.com @@ -55189,7 +54458,6 @@ ipason.com ipay.so ipaylinks.com ipbaohe.com -ipcdn.apple.com ipcelou.com ipcfun.com ipchaxun.com @@ -55216,7 +54484,6 @@ ipeijiu.com ipengchen.com ipengtai.com ipengtao.com -iper2.com iperson.xyz ipetct.com ipexp.com @@ -55224,16 +54491,13 @@ ipfeibiao.com ipfen.com ipfsbit.com ipgoal.com -ipgpassport.lenovo.com ipguishu.com -iphone-ld.apple.com -iphone-ld.origin-apple.com.akadns.net iphonediule.com +ipidea.io ipin.com ipinba.com ipingke.com ipingyao.com -ipinyou.com ipip.net ipjingling.com ipjisuanqi.com @@ -55264,6 +54528,8 @@ ipple.net ipplus360.com ippsport.com ippzone.com +ipqcrhf.com +ipr007.com ipr114.net ipr123.com iprchn.com @@ -55290,9 +54556,9 @@ ipuu.net ipv4.host ipv4dns.com ipv6dns.com +ipv6radar.com ipv6testingcenter.com ipwuji.com -ipyhf.icu ipyy.com ipzuiduo.com iq.com @@ -55305,7 +54571,6 @@ iqdedu.com iqdii.com iqdnet.com iqhmh.com -iqi4l.icu iqianggou.com iqianjin.com iqianyue.com @@ -55326,6 +54591,7 @@ iqinshuo.com iqinzhou.com iqishu.la iqiyi.com +iqiyi.demo.uwp iqiyiedge.com iqiyiedge.net iqiyih5.com @@ -55333,7 +54599,6 @@ iqiyipic.com iqnew.com iqoo.com iqr.cc -iqshw.com iqtianshanmw.com iquanba.com iquanben.net @@ -55353,7 +54618,6 @@ iqushai.com iqxbf.com iqxedu.com iqyun.cc -ir91.com irain.in irainone.com iranmahanair.com @@ -55364,8 +54628,10 @@ irc-risk.com ircmnr.com ireader.com ireader.live +ireader.mobi ireadercity.com ireaderm.com +ireaderm.net ireadweek.com ireadyit.com irealbest.com @@ -55384,7 +54650,6 @@ iresearchchina.com irest.tv irestapp.com irexy.com -irf.cc iridescent.ink irisdt.com irisdt.net @@ -55403,9 +54668,6 @@ ironghui.com irootech.com irouteros.com irrichina.com -irs01.com -irs01.net -irs03.com irskj.com irsnp.com irtouch.com @@ -55417,22 +54679,9 @@ irukou.com irunner.mobi iryoucai.com is-programmer.com -is-ssl.mzstatic.com-cn-lb.itunes-apple.com.akadns.net -is02041qqp.xyz -is02050qqp.xyz -is1-ssl.mzstatic.com -is1.mzstatic.com -is2-ssl.mzstatic.com -is2.mzstatic.com -is3-ssl.mzstatic.com -is3.mzstatic.com +is00g.com is36.com -is4-ssl.mzstatic.com -is4.mzstatic.com is404.com -is5-ssl.mzstatic.com -is5.mzstatic.com -is686.com isa-hsse.com isa1751.com isagzfls.com @@ -55449,11 +54698,13 @@ isawhis.com isawhs.com isawuhan.com isay365.com +isay365.hk isay365.net +isay365.org isayabc.com isbdai.org iscanchina.com -iscrv.com +isd.com isdox.com isdpp.com iseacat.com @@ -55486,7 +54737,6 @@ ishaohuang.com isharebest.com isharepc.com isheely.com -isheet.net isheji.com isheji5.com ishell.cc @@ -55579,6 +54829,7 @@ isozhijia.com isp.cx ispcache.net ispecial.xyz +ispqcloud.com isrcb.com isres.com iss-ms.com @@ -55587,9 +54838,7 @@ issconline.com issedu365.com issjj.com issks.com -issues.deploy.akamai.com ist-zl.com -istarshine.com istartsurf.com istcw.com istimer.com @@ -55634,11 +54883,11 @@ it322.com it376.com it399.com it478.com -it5.cc it506.com it525.com it528.com it578.com +it610.com it666.com it689.com it707.com @@ -55647,6 +54896,7 @@ it8g.com it918.com it985.com it9g.com +ita-alliance.com itab.link itacademy.download.prss.microsoft.com itacademyuat.download.prss.microsoft.com @@ -55655,6 +54905,7 @@ itaic.org itailai.com itaiping.com itakeeasy.com +itakutf.com italentclc.com italyvisacenterd.com itamt.com @@ -55671,7 +54922,6 @@ itaoke.org itaokecms.com itaored.com itaotuo.com -itaoxiaoshuo.com itasci.com itav-gz.com itavcn.com @@ -55718,7 +54968,6 @@ itedou.com iteer.net itek-training.com itelecloud.com -itemarket.com itensoft.com iter168.com itest.info @@ -55782,6 +55031,7 @@ itmanager.club itmanbu.com itmind.net itmoocs.com +itmop.com itmuch.com itmuke.com itmyhome.com @@ -55852,7 +55102,6 @@ itsoku.com itsto.com itsun.com itsvse.com -ittaels.com ittellyou.com ittft.com ittime.com @@ -55862,9 +55111,6 @@ ituad.com ituchong.com itugo.com ituite.com -itunes-apple.com.akadns.net -itunes.apple.com -itunesconnect.apple.com ituopeng.com iturco.com itutu.tv @@ -55880,7 +55126,6 @@ itwork.club itwsms.com itxe.net itxia.club -itxinrou.com itxp365.com itxst.com itxtbook.com @@ -55909,9 +55154,12 @@ iucars.com iucdn.com iuctrip.com iufida.com +iuhtg8.com iuinns.com iuiu.site iujkegbpo.xyz +iujkm.com +iuktb.com iumemo.com iuni.com iunv.com @@ -55926,6 +55174,7 @@ iv2i.com iva-schmetz.com ivali.com ivanli.cc +ivaoqph.com ivban.com ivcheng.com ivdchina.org @@ -55945,12 +55194,14 @@ ivistang.com ivixivi.com ivknow.com ivolces.com +ivqamtkr.com ivrwan.com ivsky.com ivtfx.com ivu4e.com ivvajob.com ivvui.com +ivweb.io ivwen.com ivxiaoyuan.com ivy-school.org @@ -55973,7 +55224,6 @@ iwangding.com iwangnan.com iwangzha.com iwanoutdoor.com -iwanshang8.asia iwanshow.com iwanws.com iwanyl.com @@ -55988,6 +55238,7 @@ iwe.la iwebad.com iwebchoice.com iwecan.net +iwecxafv.com iweeeb.com iweek.ly iweekapi.com @@ -56004,6 +55255,7 @@ iwenson.com iwewin.net iwgame.com iwhalecloud.com +iwhqmk.com iwhr.com iwhr.org iwin10.net @@ -56020,7 +55272,6 @@ iwordnet.com iwordshow.com iwosai.com iwpai.com -iwpkp.xyz iwshang.com iwte-expo.com iwteexpo.com @@ -56029,6 +55280,7 @@ iwulei.com iwurexs.info iwurexs.net iwurexs.org +iwuyou189.com iwwwwwi.com iwxapi.com iwyv.com @@ -56038,21 +55290,20 @@ iwztc.com iwzwh.com iwzwy.com ix-edu.com -ixacztl.com ixbk.fun ixbk.net ixbren.net -ixbua.xyz ixdc.org +ixdzs.com ixfc.net -ixh861.com +ixgvideo.com ixianlai.com ixiaochengxu.cc ixiaoma.com ixiatxt.com ixiede.com ixigua.com -ixiguan.com +ixiguapi.com ixiguavideo.com ixilou.com iximo.com @@ -56076,7 +55327,6 @@ ixizang.com ixkw5.cc ixmu.net ixpsge.com -ixpub.net ixs.la ixsch.com ixsz.com @@ -56090,6 +55340,7 @@ ixunke.com ixxzx.com ixy68.com ixywy.com +ixzgkzps.com ixzzcgl.com iy-cd.com iy51.com @@ -56105,7 +55356,6 @@ iyb.tm iybtv.com iycdm.com iycsky.com -iycwl.com iydsj.com iydu.net iyeeda.com @@ -56124,11 +55374,11 @@ iyitu.com iyiyu.com iymark.com iyocloud.com +iyoimar.com iyong.com iyongpdf.com iyooread.com iyoou.com -iyoowi.com iyoubo.com iyoucai.com iyoudui.com @@ -56144,12 +55394,12 @@ iyouxun.com iyruan.com iysj.com iytc.net +iytcdn.com iyuan.ltd iyuanpei.cc iyue.pub iyuedan.com iyuedian.com -iyuey.com iyuezhang.net iyun.com iyunbao.com @@ -56178,6 +55428,7 @@ izb.pub izdatatech.com izenith.co izestchina.com +izetvetv.com izgfu.com izhailong.com izhanchi.com @@ -56203,12 +55454,14 @@ izihun.com iziyo.com izjj.com izmzg.com +izobrt.com izpan.com izpec.com izqdn.com izstz.com izsvip.com izt8.com +iztigcpk.com izto.com iztwp.com iztzq.com @@ -56219,7 +55472,6 @@ izuciw.com izuichun.com izuiyou.com izumicn.com -izuts.com izywang.com izyz.org izz.cc @@ -56230,22 +55482,20 @@ j-smu.com j-techcnc.com j-test.com j-ui.com -j.people.com.cn.akadns99.net +j03og.app j0g0.com j1998.com j1health.com j2ee.cc j2up.com -j3677.com j3cx.com j4321.com -j45.xyz j5.cc j5757.com j5k6.com j66.net -j7994.com -j7c16.icu +j6n29.com +j881p924q2.com j8j9.com j95a.com j99h8.com @@ -56254,11 +55504,9 @@ j9pic.com ja-cloud.com jaadee.com jaadee.net -jab88.com jabizb.com jabpark.com jabrehoo.com -jaccsz.com jacheng.com jackeylea.com jackon.me @@ -56285,7 +55533,10 @@ jaeger-hello.com jaeosc.com jaf-china.com jafeney.com +jafie.org jafron.com +jafronclub.com +jafroninternational.com jagjj.com jaguar-guangdong.com jaifang.com @@ -56298,6 +55549,7 @@ jakehu.me jakobzhao.online jalorsoft.com jamalube.net +jamanetwork.com jamcz.com jamidol.com jammyfm.com @@ -56311,6 +55563,7 @@ janezt.com jangho.com janpn.com janrain.biz +janrainservices.com jansonco.com japanhr.com japansoufun.com @@ -56320,7 +55573,6 @@ jarhu.com jarods.org jarvisw.com jasangroup.com -jasnk.com jasolar.com jason-z.com jason5.xyz @@ -56333,6 +55585,7 @@ jasperxu.com jasuoenergy.net jatcochina.com java-er.com +java.com java1234.com java2000.net java2class.net @@ -56344,6 +55597,7 @@ javaer.xyz javaeye.com javamilk.org javanav.com +javascriptcn.com javashuo.com javatang.com javawind.net @@ -56363,17 +55617,16 @@ jayumovie.com jayxhj.com jaz581.com jazlxs.com -jazze.hk jazzyear.com jb100.com jb1000.com -jb51.cc jb51.com jb51.net jbaier023.com jbaobao.com jbb.one jbbzcorp.com +jbcz.tv jbddoors.com jbdhome.com jbdkj.com @@ -56391,7 +55644,6 @@ jblogistics.com jbote.com jbpmhk.com jbpzs.com -jbrmyy.com jbryun.com jbs-kj.com jbsd008.com @@ -56447,6 +55699,7 @@ jcf94.com jcgcn.com jcgcw.com jcgjb.com +jchat.io jchl.com jchla.com jchunuo.com @@ -56461,10 +55714,13 @@ jclegend.com jcloud-cache.com jcloud-cache.net jcloud-cdn.com +jcloud-live.com +jcloud-oss.com jcloud.com jcloudcache.com jcloudcache.net jcloudcs.com +jclouddn.com jclouddns.com jclouddns.net jcloudec.com @@ -56476,7 +55732,9 @@ jcloudimg.com jcloudimg.net jcloudlb.com jcloudlb.net +jcloudlive.com jcloudlv.com +jcloudoss.com jcloudresolve.com jcloudresolve.net jcloudss.com @@ -56512,7 +55770,6 @@ jcszhtc.com jctmj.net jctrans-shantou.com jctrans.com -jcu.cc jcvba.com jcwcn.com jcwgk.com @@ -56549,8 +55806,11 @@ jd-hospital.com jd-link.com jd-zd.com jd.co +jd.co.th jd.com jd.hk +jd.id +jd.ru jd.shop jd0817.com jd100.com @@ -56559,7 +55819,6 @@ jd123.vip jd360.hk jd37.com jd5.com -jd8jd7jcjahcjaskcsksc.com jdair.net jdallianz.com jdapi.com @@ -56577,7 +55836,6 @@ jdbusiness.com jdcache.com jdcaipu.com jdcapital.com -jdccie.com jdcdn.com jdcloud-api.com jdcloud-api.net @@ -56614,6 +55872,7 @@ jdcloudshop.com jdcloudsite.com jdcloudstatic.com jdcloudstatic.net +jdcloudstatus.com jdcloudstatus.net jdcloudvideo.com jdcloudvideo.net @@ -56627,9 +55886,8 @@ jdctky.com jdd-global.com jdd-hub.com jddaojia.shop -jddaw.com +jddapeigou.com jdddata.com -jddebug.com jddglobal.com jddj.com jddmoto.com @@ -56652,7 +55910,6 @@ jdfw1.com jdfybjy.com jdfzm.com jdgogo.com -jdgsgl.com jdgslb.com jdgslb.net jdgwdq.com @@ -56710,7 +55967,6 @@ jdt-precision.com jdtiot.com jdtjy.com jdtxgc.com -jduiv.com jdunion.com jdv794.vip jdvisa.com @@ -56755,7 +56011,6 @@ jdzs.com jdzwang.com jea-asia.com jeacar.com -jeagine.com jean.cd jeanphy.online jeanssalon.com @@ -56777,7 +56032,6 @@ jeejen.com jeepay.com jeepay.vip jeeplus.org -jeepyy.com jeequan.com jeerun.com jeesci.com @@ -56794,12 +56048,14 @@ jeffreyitstudio.com jeflon.com jegotrip.com jehudf.com +jekeen.com jelleybrown.com jellow.club jellow.site jellymoo.com jellythink.com jemincare.com +jemoic.com jenno-cn.com jenomc.com jeom.org @@ -56811,13 +56067,9 @@ jereh-network.com jereh.com jerei.com jeremycn.com -jerrytom.xyz jerryzou.com -jerust.com -jeryt111.fun jescard.com jesdatools.com -jesgoo.com jesie.org jesiro.com jesoncom.com @@ -56839,8 +56091,8 @@ jetmobo.com jetneed.com jetsum.com jetsum.net +jeulover.com jeuronghotels.com -jev0n.com jevolpu.com jewellery.gold jewellworld.com @@ -56898,14 +56150,12 @@ jfz.com jfzhiyao.com jg058.com jg1060.com -jg1668.com jg1994.com jg91.com jgcarbide.com jgcgmb.com jgchat.net jgcjjt.com -jgcqgf.com jgcysgz.com jgdq.org jgdun.com @@ -56916,19 +56166,15 @@ jgg.hk jgg09.com jggame.net jggjj.com -jghcy.com jghstar.com jgjapp.com -jgjdcq.com jgjsoft.com -jgkto.com jglh.com jglm.cc jgs-ds.com jgscct.com jgsdaily.com jgsemicon.com -jgstny.com jgstour.com jgsxfw.com jgtc315.com @@ -56954,7 +56200,6 @@ jh011.com jh0516.com jh3737.com jh3j.com -jh3pin.com jh597.com jh5l.com jh8k.com @@ -56971,7 +56216,6 @@ jhddsz.com jhdmro.com jhdpower.com jhdxjk.com -jhedu.tv jhenten.com jhfl.com jhforever.com @@ -56989,7 +56233,6 @@ jhjt.xyz jhjunda.com jhjy.net jhkao.com -jhkj.work jhkuajing.com jhlppacking.com jhltsl.com @@ -57018,6 +56261,7 @@ jhszyy.com jhtcgroup.com jhtmsf.com jhtong.net +jhu.edu jhuishou.com jhvsr.com jhwaimai.com @@ -57088,6 +56332,8 @@ jiafuda.com jiagedan.com jiagela.com jiagle.com +jiagoo.com +jiagoo.net jiagouyun.com jiaguanlaw.com jiaguboshi.com @@ -57112,7 +56358,6 @@ jiajia.tv jiajiagroup.com jiajiakt.com jiajiangcake.com -jiajianhudong.com jiajiao114.com jiajiao400.com jiajiaoban.com @@ -57121,6 +56366,7 @@ jiajingink.com jiajiyp.com jiaju.cc jiaju.com +jiajuimg.com jiajuketang.com jiajumi.com jiajurenwu.com @@ -57143,7 +56389,6 @@ jialez.com jialiangad.com jialianzg.com jialinep.com -jialingmm.net jialiwood.com jialiyoukuang8.com jialongsports.com @@ -57172,7 +56417,6 @@ jianai360.com jianavi.com jianbaizhan.com jianbangchem.com -jianbangjiaoyu.com jianbaolife.com jianbihua.cc jianbihua.com @@ -57204,7 +56448,6 @@ jianeryi.com jianfc.com jianfei.com jianfei.net -jianfei19.com jianfeiba.com jianfeibaike.com jianfeidaren.com @@ -57235,7 +56478,6 @@ jiangjizhong.com jiangkk.com jianglinminingindustry.com jiangmama.net -jiangmg.com jiangmike.com jiangmin.com jiangnan-group.com @@ -57255,6 +56497,7 @@ jiangshi.org jiangshi99.com jiangsudanzhao.com jiangsuedu.net +jiangsufilm.com jiangsufootball.org jiangsugqt.org jiangsugwy.org @@ -57262,15 +56505,16 @@ jiangsukj.com jiangsulvhe.com jiangsumobile.com jiangsurc.com +jiangsurhi.com jiangsusx.com jiangsuzhongpin.com jiangtai.com jiangtuoedu.com jianguo.tv jianguoby.com +jianguopuzi.com jianguoyun.com jiangweishan.com -jiangxing.pub jiangxinkeji.club jiangxiol.com jiangxirc.com @@ -57286,6 +56530,7 @@ jiangzidushu.com jiangzikanshu.com jiangziyuedu.com jiangzuoku.net +jianhangcaifu.com jianhaobao.com jianhuagroup.com jianhuasheng.com @@ -57308,7 +56553,6 @@ jianke.cc jianke.com jianke.net jiankong.com -jiankongbao.com jiankunchina.com jianlc.com jianlc.net @@ -57336,7 +56580,7 @@ jianniang.com jianpaimeiye.com jianpeicn.com jianpian.info -jianpu2.com +jianpu.net jianpu8.com jianpu99.net jianpuku.com @@ -57355,6 +56599,7 @@ jianshen8.com jianshenmi.com jianshiapp.com jianshiduo.com +jianshihui.net jianshionline.com jianshu.com jianshu.io @@ -57369,7 +56614,6 @@ jiantufuwu.com jiantuku.com jianwang360.com jianweidata.com -jianweisn.com jianweitv.com jianwenapp.com jianwulian.com @@ -57377,7 +56621,6 @@ jianxi-materials.com jianxinchemical.com jianxinyun.com jianxiyasi.com -jianxuzuo.com jianyanjia.com jianyechina.com jianyefans.com @@ -57394,6 +56637,7 @@ jianzhan580.com jianzhanbao.net jianzhangongsi.com jianzhe.com +jianzhi8.com jianzhian.com jianzhiba.net jianzhibao.com @@ -57406,6 +56650,7 @@ jianzhiwangzhan.com jianzhiweike.net jianzhiyixin.com jianzhong-edu.com +jianzhusheying.com jiao15.com jiaoben.net jiaobu365.com @@ -57418,7 +56663,6 @@ jiaodj.com jiaodong.net jiaodonghr.com jiaofei123.com -jiaohezhen.com jiaohuilian.com jiaohusheji.net jiaojiang.com @@ -57429,7 +56673,6 @@ jiaomai.com jiaonan.net jiaonan.tv jiaonizuocai.com -jiaopei.com jiaoping.com jiaoqiuqingxi.net jiaoshirencai.com @@ -57460,7 +56703,6 @@ jiaoyuz.com jiaozhou.net jiapin.com jiapu.tv -jiapujidi.com jiapuvip.com jiaqiangban.com jiaqianglian.com @@ -57487,6 +56729,7 @@ jiasu.work jiasubook.com jiasucai.com jiasufei.com +jiasuhui.com jiasule.com jiasule.net jiasule.org @@ -57521,7 +56764,6 @@ jiaxinkg.com jiaxinxuetang.com jiaxiweb.com jiaxuanwl.com -jiaxue.xyz jiaxuejiyin.com jiaxun.com jiay.press @@ -57529,7 +56771,6 @@ jiayans.net jiayaw.com jiayi56.com jiayin618.com -jiayiss.com jiayougo.com jiayoujsq.com jiayouxueba.com @@ -57552,17 +56793,14 @@ jiazhi.online jiazhichem.com jiazhongkeji.com jiazhoulvke.com -jiazhua.com jiazhuang.com jiazhuang6.com jiazile.com -jiazunwj.com jiazuo.cc jibai.com jibao.online jibencaozuo.com jibi.net -jibie.net jibing57.com jibite.fun jicaibao.com @@ -57589,6 +56827,7 @@ jide.com jidekan.com jideos.com jidi.com +jidian.im jidiancdn.com jidianwang.com jidivr.com @@ -57596,7 +56835,6 @@ jidiw.com jidubook.com jidujiao.com jidujiasu.com -jidukeji.com jieanjiaotong.com jiebai.com jiebanchuyou.com @@ -57610,10 +56848,8 @@ jiechengcehui.com jiechengcloud.com jiechikeji.com jiechuang.com -jiedaibao.com jiededy.com jiediankeji.com -jiedu.fun jiefadg.com jiefanglinli.net jiefu.com @@ -57628,14 +56864,12 @@ jiehuapharma.com jiehuigroup.com jiehun021.com jiehun027.com -jiehunmishu.com jiejichengshi.com jiejiecup.com jiejing.fun jiekenmould.com jiekon.com jiekou.ltd -jieku.com jielaigroup.com jielibj.com jieligo.net @@ -57647,7 +56881,6 @@ jielong.com jielongcorp.com jielongdaquan.com jielongguanjia.com -jielou.net jiemaiyang.com jiemeng.cc jiemeng.tw @@ -57661,7 +56894,6 @@ jiemoselect.com jienyl.com jiepai.net jiepaids.com -jiepang.com jiepei.com jieqi.com jieqian.co @@ -57672,7 +56904,6 @@ jieri2.com jierili.com jieruchaosheng.com jieruitech.info -jiese.fun jiese.org jiesen365.com jieshangwei.com @@ -57694,12 +56925,10 @@ jiexing.cc jiexitz.com jiexiuyiyuan.com jiexunyun.net -jieyan110.com jieyang.la jieyanri.com jieyigroup.net jieyitong.net -jieyixiu.com jieyou.com jieyou.pro jieyougame.com @@ -57709,6 +56938,7 @@ jieyuechina.com jieyuechina.net jifang360.com jifang365.com +jifang369.com jifenapp.com jifencity.com jifenfu.net @@ -57730,7 +56960,6 @@ jihai8.com jihaoba.com jihe119.com jihegui.com -jihehuaban.com jihex.com jihexian.com jiheyun.com @@ -57769,6 +56998,7 @@ jike.city jike.com jike.info jike800.com +jikecdn.com jikedata.com jikefan.com jikegou.net @@ -57797,19 +57027,17 @@ jilinmarathon.com jilinshuiwu.com jilinwula.com jilinxiangyun.com -jiliw.com jiliyun.com jilongsw.com jilu.info jiluchengshi.com +jiluer.com jilulijob.com -jiluzhe.net jilvfaka.com jimagroup.com jimakj.com jimay.com jimei-cn.com -jimeilm.com jimeisilk.com jimeius.com jimeng.com @@ -57830,7 +57058,6 @@ jimu.com jimubox.com jimuc.com jimucake.com -jimuhezi.com jimujiazx.com jimuyk.com jin-huang.net @@ -57891,6 +57118,7 @@ jinding.cc jindingfm.com jindongneng.com jindongsoft.com +jindoushiqi.com jinducw.com jindun007.net jindunfan.com @@ -57964,15 +57192,13 @@ jinggui.com jinggumofang.com jinghaishop.com jinghangapps.com -jinghangedu.com -jinghanxuexiao.com jinghesh.net jinghonggroup.com jinghongmedical.com jinghongsh.com jinghua.com jinghuans.com -jinghuazhijia.com +jinghuaqimo.com jinghudianqi.com jinghuitang.com jingjia.net @@ -57995,7 +57221,6 @@ jingkaiyuan.com jingkan.net jingkaowang.com jingkebio.com -jingkebz.com jingkeleici.com jingkeyiqi.com jingkids.com @@ -58029,12 +57254,12 @@ jingpinhui.com jingpinke.com jingpt.com jingqizhitongche.com -jingqu.wang jingrongshuan.com jingruigroup.com jingsailian.com jingsh.com jingshanbus.com +jingshibang.com jingshibianhuren.com jingshicd.com jingshifang.net @@ -58047,7 +57272,6 @@ jingtang.xyz jingtanggame.com jingtao58.com jingtuitui.com -jingtuliutongchu.work jingtum.com jingua168.com jinguanauto.com @@ -58059,7 +57283,6 @@ jingvo.com jingwacenter.com jingwah.com jingwei.link -jingwei.net jingweizhichuang.com jingwuhui.com jingwxcx.com @@ -58068,6 +57291,7 @@ jingxi.net jingxiang.work jingxianglawfirm.com jingxinad.com +jingxinclass.com jingyakt.com jingyanben.com jingyanbus.com @@ -58136,11 +57360,11 @@ jinjiang.tv jinjianghotels.com jinjianginns.com jinjiangwater.com +jinjiaomh.com jinjie.tech jinjiedu.com jinjieshengwu.com jinju8.com -jinjunmei.net jinkaijia.com jinkan.org jinkanghospital.com @@ -58200,7 +57424,6 @@ jinming.net jinmixuetang.com jinmogame.com jinmuinfo.com -jinnibaokj.com jinnong.cc jinnun.com jinpacs.com @@ -58251,6 +57474,7 @@ jinruism.com jinruitc.com jinrunsoft.com jins-cn.com +jinse.com jinsebook.com jinsehuaqin.com jinsenforestry.com @@ -58303,7 +57527,6 @@ jinti.com jintianjihao.com jintiankansha.me jintone.com -jintonghua.com jintouep.com jintouwangdai.com jintuituiapp88.com @@ -58373,6 +57596,7 @@ jiqike.com jiqimao.com jiqirenku.com jiqish.com +jiqizhixin.com jiqrxx.com jirehhz.com jirengu.com @@ -58382,7 +57606,6 @@ jiri28.com jirong.com jirongyunke.net jirou.com -jirry.me jisapower.com jisec.com jisheyun.com @@ -58402,7 +57625,6 @@ jishusongshu.com jishux.com jishuzf.com jisi17.com -jisiedu.com jisikaer.com jissbon.com jisu-cnd.com @@ -58425,6 +57647,8 @@ jisupdf.com jisupdfeditor.com jisupdftoword.com jisupe.com +jisuqiang.com +jisuqiang.net jisutodo.com jisutp.com jisuts.com @@ -58469,7 +57693,6 @@ jiuanyy.com jiub.net jiubaju.com jiubawan.com -jiubuhua.com jiucaicaijing.com jiucaigongshe.com jiucaishuo.com @@ -58481,10 +57704,8 @@ jiucool.org jiudafu.com jiudaifu.com jiuday.com -jiudianhudong.com jiudianjiu.com jiudianrong.com -jiudianxing.com jiudianyongpin.com jiudingcapital.com jiudinggroup.com @@ -58514,11 +57735,8 @@ jiujiuyunhui.com jiujiuzu.com jiujun.net jiujunqifu.com -jiujy5r3.fun jiukaicable.com -jiuku.cc jiuku.com -jiuku.pw jiulesy.com jiuligroup.com jiulku.com @@ -58664,7 +57882,6 @@ jiyixcx.com jiyou-tech.com jiyoujia.com jiyouwang.com -jiyuanfangchan.com jiyuantour.com jiyue-auto.com jiyuncn.com @@ -58696,7 +57913,6 @@ jj-inn.com jj00.com jj0833.com jj20.com -jj55.com jj59.com jj831.com jj99.icu @@ -58704,11 +57920,13 @@ jjbang.com jjbank.net jjbbs.com jjbctv.com +jjbdns.com jjbearings.com jjbhn.com jjbisai.com jjblogs.com jjbnews.xyz +jjbzhx.com jjcbw.com jjccb.com jjcclt.com @@ -58778,7 +57996,6 @@ jjsedu.org jjshome.com jjsip.com jjtang.com -jjtfyjy.com jjtianshangi.com jjtonline.com jjtravel.com @@ -58793,13 +58010,12 @@ jjwxc.org jjxxk.com jjxyls.com jjy118.com +jjycc.cc jjycw.net jjydp.com jjygym.com -jjyl12349.com jjypyz.com jjys188.com -jjyx.com jjyz.net jjyz360.com jjzc168.com @@ -58819,13 +58035,11 @@ jk37du.com jk3a.com jk51.com jk520.net -jk724.com jk725.com jk90.com jkangbao.com jkapi.com jkb7.com -jkbdw.net jkbexp.com jkbl.com jkc8.com @@ -58852,16 +58066,15 @@ jkl6.com jkllbd.com jklsjm.com jknanotech.com -jknmthwd.xyz jkouu.com jkpan.cc jkpj.com jkqdl.com jkqingman.com jkrcw.net +jksdhgu.com jktcom.com jktong.com -jktopia.com jktower.com jkunbf.com jkuntp.com @@ -58902,7 +58115,6 @@ jlbhtc.com jlbjcs.com jlbkjt.com jlbry.com -jlbtrip.com jlc-3dp.com jlc-bbs.com jlc-cad.com @@ -58918,6 +58130,8 @@ jlc-gw.com jlc-jh.com jlc-layout.com jlc-pcb.com +jlc-smt.com +jlc-zh.com jlc.com jlcar.net jlcca.com @@ -58930,6 +58144,7 @@ jlcecad.com jlceda.com jlcerp.com jlcfa.com +jlcmc.com jlcops.com jlcsj.com jlcsmt.com @@ -58962,10 +58177,8 @@ jljzzs.com jlkfapp.com jlkgj.com jlkj.cc -jlkja.com jlkjgroup.com jllihua.com -jlltxgbxyjy.com jllyzxyy.com jlmhk.com jlmhw.com @@ -58978,7 +58191,6 @@ jlpay.com jlq.com jlqsugar.com jlrcom.com -jlrfx.com jlriza.com jlrtvu.com jlscjrkf.com @@ -59016,7 +58228,6 @@ jlwlw.com jlxfw.com jlxhyy.com jlxtxny.com -jlxzt.com jlylwater.com jlysgjzx.com jlytzk.com @@ -59044,6 +58255,7 @@ jmd-china.com jmd-leatherbag.com jmdedu.com jmdna.com +jmdns.com jmed.com jmeii.com jmeizs.com @@ -59052,7 +58264,6 @@ jmgle.com jmglg.com jmgo.com jmgsgs.com -jmgxcc.com jmhaofa.com jmhapp.com jmhd8.com @@ -59071,7 +58282,6 @@ jmkx.com jmkxjt.com jmlanguan.com jmlfood.com -jmlk.co jmmsn.com jmmuseum.com jmnk300.com @@ -59150,7 +58360,6 @@ jnhfsl.com jnhi.com jnhongyun9.com jnhouse.com -jnhwcw.com jnhwjt.com jnhxzc.com jnhyyy.com @@ -59208,6 +58417,7 @@ jnxtzdh.com jnxydefsxx.com jnyczx.com jnydgm.com +jnyjfdz.com jnyng.com jnyyjt.com jnzcsyj.com @@ -59215,11 +58425,9 @@ jnzhuoxin.com jnzjzx.net jnzl.com jnzongchi.com -jnzqcj.com jnzwgzs.com jnzx.cc jnzycw.com -jo4.icu jo43.com joaquinchou.com job-sky.com @@ -59270,6 +58478,7 @@ jobhuaibei.com jobi5.com jobidc.com jobinhe.net +jobjm.com jobjy.com jobloser.com jobosoft.vip @@ -59327,7 +58536,6 @@ joinway.com joinwaylawfirm.com joinwee.com jojo000.vip -jojog.com jojoread.com jojoreading.com jojy.net @@ -59338,9 +58546,10 @@ joker.li jolimark.com jollerge.com jollylifelhq.com -jollyspring.com joloplay.com +jomocdn.net jomodns.com +jomodns.net jomoxc.com jomoxd.com jongtay.com @@ -59403,6 +58612,8 @@ joyami.com joyanglab.com joyapi.com joyargroup.com +joybuy.com +joybuy.es joydin.com joyes.com joyfire.net @@ -59426,7 +58637,6 @@ joyncleon.com joynext.com joyochem.com joyocosmetics.com -joyog.com joyoget.com joyoucnc.com joyoung.com @@ -59464,12 +58674,12 @@ jozne.com jp-daigou.com jp-moco.com jp.com -jp.globalsign.com jp.run jp0663.com jp95.com jpanj.com jpbeta.net +jpcec.com jpchinapress.com jpcoalboss.com jpcq666666.com @@ -59491,12 +58701,13 @@ jpjc315.com jpkankan.com jpkix.com jpmetro.com +jpmorganchina.com jpmsg.com jpnettech.com jpnlink.xyz jpnxcn.com +jpopsuki.eu jpplanking.com -jpqgxy.com jprtyun.com jpsdk.com jpseek.com @@ -59508,8 +58719,7 @@ jpsto.com jptab.com jpthome.com jptoe.com -jpush.io -jpushoa.com +jpts.sinovision.net jpvat.com jpwb.cc jpwb.net @@ -59519,12 +58729,12 @@ jpwky.com jpwxapp.com jpxm.com jpxs.org -jpxssl.com jpxue.com jpxww.com jpyoo.com jpyssc.com jpzx.net +jpzy01.com jq-school.com jq22.com jq33.com @@ -59533,7 +58743,6 @@ jqcool.net jqdzw.com jqgc.com jqgcw.com -jqhjqc.com jqhtml.com jqkgjt.com jqlv.com @@ -59644,7 +58853,6 @@ js11183.com js118114.com js165.com js178.com -js22f.net js3.org js3n.com js7xc.com @@ -59654,17 +58862,17 @@ js9499.com js96008.com js96777.com jsadkg.com -jsadt.com jsaeit.com +jsaes.com jsafc.net jsahj.com -jsaik.com jsanbo.com jsaopa.com jsape.com jsarchi.com +jsartcentre.org +jsase.com jsatcm.com -jsb-cn.com jsb-syleasing.com jsbaidu.com jsballs.com @@ -59677,6 +58885,7 @@ jsbexam.com jsbfgg.com jsbgj.com jsblj.com +jsboxbbs.com jsbsxh.com jsbzwh.com jscba.org @@ -59690,11 +58899,10 @@ jschahua.com jschanglong.com jschangshou.com jsche.net -jschuangnuo.com jschunxing.com +jschy.com jscj-elec.com jscj.com -jsckjqr.com jsckw.org jsclearing.com jscmjt.com @@ -59718,14 +58926,16 @@ jsd2021.com jsdagua.com jsdas.com jsdcly.com +jsddbs.com jsddhjt.com jsddz.net jsdebang.com jsdehui.com -jsdepin.com jsdesign1.com jsdesoft.com +jsdfz.com jsdgb.com +jsdghfw.com jsdhjssyjt.com jsdjwood.com jsdkdzw.com @@ -59738,7 +58948,9 @@ jsduopin.net jsdyyt.com jsdz16.com jsdzb.com +jsdzgc.com jsdzlm.com +jseconomy.com jsedu114.com jseduinfo.com jseea.com @@ -59753,6 +58965,7 @@ jser.io jsessh.com jsexpressway.com jsf666.com +jsfish.net jsfj.net jsfls.com jsfmly.com @@ -59779,6 +58992,7 @@ jsgdsb.com jsgerrard.com jsggwhy.com jsgh.org +jsghfw.com jsghle.com jsgho.com jsgho.net @@ -59797,6 +59011,7 @@ jsgsyy.com jsguohua.com jsguolv.com jsgwyw.org +jsgx.net jsgxgf.com jsgyrcb.com jsgzgz.com @@ -59860,7 +59075,6 @@ jshzfzjt.com jshzzx.com jsi.cc jsifa.org -jsinfo.net jsinnopharm.com jsiport.com jsirfe.com @@ -59875,6 +59089,7 @@ jsjdrcb.com jsjdzf.com jsjeda.com jsjffj.com +jsjfz.com jsjgbxg.com jsjgtz.com jsjhtz.com @@ -59889,6 +59104,7 @@ jsjj120.com jsjjedu.com jsjjy.com jsjkx.com +jsjky.com jsjkzx.com jsjljg.com jsjljy.com @@ -59939,7 +59155,6 @@ jslpk.com jslszz.com jsltgcjt.com jslvzhigu.com -jslwzk.com jslxs.com jsly001.com jslyjc.com @@ -59956,11 +59171,10 @@ jsmodeling.com jsmolfa.com jsmrmf.com jsmsg.com +jsmuseum.com jsmxgs.com -jsmxkj.com jsmxw.com jsnaier.com -jsncke.com jsnewexpo.com jsningyi.com jsnjck.com @@ -59990,13 +59204,13 @@ jspcinc.com jspdg.com jspeople.com jspesz.com -jspetro.com jsph.net +jsphjr.com jsphp.net jsplayground.net jspoh.com jspp.com -jsptpd.com +jspwc.com jspxcms.com jsq886.com jsqcyjsq.com @@ -60017,10 +59231,11 @@ jsrea.com jsrenshi.com jsrgjy.net jsrhzh.com -jsrmzscl.com +jsright.com jsrongjin.com jsrpebh.com jsrrcb.com +jsrsks.com jsrsrc.com jsruifeng.net jsruiyin.com @@ -60034,15 +59249,14 @@ jssalt.com jssbaoxian.com jssbjt.com jssc.cc -jsscn.org jsscsj.com jssczxh.com -jssddz.com jssdezyy.com jssdh.com jssem.com jssfgl.com jssfx.com +jssfzg.com jssgjjt.com jssgjs.com jsshasczzyy.com @@ -60058,7 +59272,9 @@ jssia.org jssihuan.com jssjchyxh.com jssjiu.com +jssjrfw.com jssjxgyw.com +jssks.com jssling.com jssltz.com jssnrcb.com @@ -60066,6 +59282,7 @@ jssoar.com jssqwx.com jsssha.com jsssrj.com +jsssy.com jsstgs.com jsstt.com jsstyt.com @@ -60078,6 +59295,7 @@ jsswordshop.com jssyj.com jssylawfirm.com jssytc.com +jssyyy.net jstcm.com jstedu.com jstex.com @@ -60093,11 +59311,15 @@ jstjjs.com jstlcyy.com jstlgn.com jstljs.com +jstor.org jstore.site jstour.com jstoys.net +jstsks.com jstti.com +jstucdn.com jstv.com +jstve.org jstxb.com jstxdm.com jstxrcb.net @@ -60113,6 +59335,7 @@ jstzloveyuebao.com jstzrcb.com jstzzg.net jsuc.com +jsuedc.net jsuhuzhi.com jsure.com jsurehealth.com @@ -60123,6 +59346,7 @@ jswb.com jswcc.com jswch.net jswebcall.com +jsweiqi.com jsweixiu.com jswel.com jswenguang.com @@ -60191,7 +59415,6 @@ jsycport.com jsycsy.com jsyczls.com jsyd139.com -jsyefc.com jsyes123.com jsyf88.com jsyfxcl.com @@ -60227,6 +59450,7 @@ jsz120.com jszbtb.com jszc0773.com jszca.com +jszcqy.com jszdlssws.com jszf.org jszfy.com @@ -60242,6 +59466,9 @@ jszjgroup.com jszjrqrd.com jszjscl.com jszjsx.com +jszjw.com +jszjxh.com +jszjzf.com jszkrz.com jszks.com jszlgjg.com @@ -60266,10 +59493,12 @@ jt-it.com jt000.com jt111.com jt120.com +jt26wzz.com jt56w.com jt62.com jt91.com jta-travel.org +jtamac.com jtamc.com jtbole.com jtbtech.com @@ -60323,7 +59552,6 @@ jtuzdhc.com jtv123.com jtwmall.com jtxa.net -jtxh.net jtxmtxy.com jtxys8.com jtyjy.com @@ -60333,18 +59561,14 @@ jtzjedu.com jtzyjt.com ju-jingyi.com ju1212.com -ju33.com ju3x3so.com ju51.com ju53.com ju81.cc juaiyou.com -jualjaket-id.com juanbao.com -juandou.com juangua.com juanpi.com -juanta.com juanyunkeji.com juaq.com jubaihuijia.com @@ -60379,7 +59603,6 @@ juedui100.com jueduilingyu.com juefeng.com juehuo.com -juejin.im juejinchain.com juejinqifu.com juemei.com @@ -60401,11 +59624,9 @@ jufeng313.com jufengcap.com jufengcompany.com jufenginfo.com -jufengputao.com jufengshang.com jufengwuxi.com jufoinfo.com -jugao.com jugezi.com jugongdan.com juguang.com @@ -60424,11 +59645,9 @@ juhepen.com juheweb.com juhomai.com juhome.net -juhuaren.com juhuasuan.com juhui581.com juhuicloud.com -juhuisuan.com juhuiwan.com juhuiwan.net jui.org @@ -60476,11 +59695,10 @@ juliang8.com juliangcili.com julianghttp.com juliangyinqing.com -julieabrown.com +juliangyinqing.net julifenti.com juligroup.com julihuang.com -julingzk.com julink.net julisjj.com julive.com @@ -60497,6 +59715,7 @@ jumanhua.com jumanlou.com jumbo-wpc.com jumbot.net +jumdfd.com jumei.com jumeinet.com jumengco.com @@ -60509,6 +59728,7 @@ jumin.cc juming-xz.com juming.com jumingwang.com +jumo2.icu jumold.com jumore.com jump-center.com @@ -60547,15 +59767,12 @@ juneyaoair.com juneyaoairlines.com junezx.com junfalipin.com -junfengzl.com -junfull.com jungewang.com junhaocn.com junhe.com junhegroup.com junhunxiaoshuo.com juniontech.com -junjiahao.com junjing.net junjingsuodao.com junjue888.com @@ -60598,7 +59815,6 @@ junshipharma.com junshis.com junshishu.com junshitt.com -junshizhanlue.com juntec.com juntu.com juntuan.net @@ -60636,13 +59852,14 @@ juquanquanapp.com jurcc.net juren.com jurenqi.com +jurilisheng.com juroku.net jurongfangchan.com jurongrencai.com +jurp.net jusdasr.com juseey.com jusen2008.com -jusha.com jushen.co jushequ.net jushequan.com @@ -60650,8 +59867,6 @@ jushewang.com jushi.com jushigj.com jushihui.com -jushihuikeji.com -jushikk.com jushiwangedu.com jushri.com jushtong.com @@ -60685,7 +59900,6 @@ justsy.com justtop.com justwe.site jutao.com -jutaoshe.com jutean.com jutengjiqi.com jutingshop.com @@ -60694,8 +59908,6 @@ jutongbao.online jutubao.com jutuike.com jutuilian.com -juturn.com -juuhe.com juvefans.com juwa.net juwan.com @@ -60706,6 +59918,7 @@ juwanshe.com juwanzhuan.com juwed.com juweixin.com +juwuxian.com juxia.com juxian.com juxiang3d.com @@ -60729,7 +59942,6 @@ juyisuliao.com juyoubao.com juyoukuaisong.net juyouqu.com -juyouquan.net juyoutang.com juyoutv.cc juyouxi.com @@ -60752,7 +59964,6 @@ juzifenqi.com juzijiudian.com juzikong.com juzilicai.com -juzilm.com juzimi.cc juzioo.com juziseo.com @@ -60793,10 +60004,10 @@ jwfun.com jwgb.net jwgf.com jwick-switch.com +jwinks.com jwipc.com jwkj.site jwl100.com -jwocc.com jwsaas.com jwsem.com jwshy.com @@ -60819,11 +60030,9 @@ jx139.com jx163-cname.com jx163.com jx188.com -jx1999.com jx3box.com jx3mogu.com jx3pve.com -jx3tong.com jx3yymj.com jx4.com jx530.com @@ -60842,10 +60051,10 @@ jxcar.com jxcat.com jxcb.net jxcc.com -jxcca.net jxccb.com jxcdkjfz.com jxcfs.com +jxch12333.com jxchaguan.com jxcsedu.com jxcua.com @@ -60856,7 +60065,6 @@ jxdhhbhg.com jxdiguo.com jxdinfo.com jxdlzy.com -jxdown.com jxdx.com jxdxxt.com jxdyf.com @@ -60900,6 +60108,7 @@ jxhmxxjs.com jxhswhcb.com jxhuahang.com jxhxmed.com +jxhyxx.com jxiaolan.com jxic.com jximage.com @@ -60922,6 +60131,7 @@ jxkp.com jxksw.net jxlgjd.com jxln.com +jxlog.istreamsche.com jxlong.com jxlpjt.com jxlsxy.com @@ -60972,6 +60182,7 @@ jxshangyou.com jxshyzhx.com jxsilkpark.com jxsj-vtech.com +jxsj2sy.com jxsjgjt.com jxsjxh.com jxsjypt.com @@ -61021,7 +60232,6 @@ jxwz.net jxx7.com jxxdf.com jxxdxy.com -jxxfzx.com jxxhdn.com jxxhsd.com jxxnyqc.com @@ -61057,13 +60267,11 @@ jy-sz.net jy.cc jy0604.com jy0832.com -jy135.com jy163.net jy1991.com jy339.com jy391.com jy510.com -jy5201.com jy6d.com jyacg.com jyacht.com @@ -61101,6 +60309,7 @@ jygsdyrmyy.com jyguagua.com jygyl.com jygz.com +jygz.org jyh.com jyh007.com jyhcd.com @@ -61116,7 +60325,6 @@ jyjhkj.com jyjjc.com jyjk.com jyjxtech.com -jykclm.com jykm88.com jykss.com jykuaidi.com @@ -61133,7 +60341,6 @@ jynews.net jynongye.com jynyrc.com jyoptical.com -jyoptics.com jypc.org jypecdn3.com jypipes.com @@ -61176,7 +60383,6 @@ jytcdq.com jytech.info jytek.com jytjsgyp.com -jytjw.com jytmachinery.com jytrump.com jytwp.com @@ -61190,7 +60396,9 @@ jyxdyzx.com jyy010.com jyykyy.com jyyun.com +jyzb01.com jyzc.com +jyzz666.com jyzzdq.com jyzzx.com jz-hy.com @@ -61204,7 +60412,6 @@ jz177.com jz182.com jz26666.com jz36666.com -jz4u1.icu jz5u.com jz6.com jz6868.com @@ -61248,13 +60455,10 @@ jzj2009.com jzj9999.com jzjgift.com jzjt.com -jzkapp.com -jzke.com jzkelida.com jzking.com jzkjjt.com jzkoo.net -jzlnzs.com jzlt100.com jzmbti.com jzmlzy.com @@ -61319,7 +60523,6 @@ k-boxing.com k-kbox.com k-res.net k.biz -k.sohu k0898.com k0rz3n.com k12.vip @@ -61329,7 +60532,6 @@ k12zx.com k165.com k166.org k18.com -k1815.com k1u.com k1wave.com k22.xyz @@ -61342,8 +60544,8 @@ k3cdn.com k3yes.com k518.com k5n.com -k5uj.icu k61.org +k623.pics k666.com k6uk.com k73.com @@ -61351,16 +60553,15 @@ k780.com k7h.lol k8.com k8008.com +k8azeicxy4idx.com k8k8k8.com +k8ser.com k8sj.com k8smeetup.com k8stech.net k913.com -k99.cc -k99p.com k9techsupport.com ka20.com -ka5188.com kaa88888.cc kaaass.net kaadas.com @@ -61445,6 +60646,8 @@ kaimen360.com kaimg.com kaimitech.com kaipanla.com +kaipuyun.com +kaipuyun.net kaiqiancq.com kaiqiu.cc kaiqsz.com @@ -61487,7 +60690,6 @@ kaixinguopiaowu.net kaixinhui.com kaixinhui.net kaixinit.com -kaixinjiehun.com kaixinlu.com kaixinvv9.com kaixinzuqin.com @@ -61498,13 +60700,11 @@ kaiyi.cool kaiyihome.com kaiyinedu.com kaiyuan.me -kaiyuan308.vip kaiyuanbusiness.com kaiyuancn.com kaiyuangroup.cc kaiyuanhospital.com kaiyuanhotels.com -kaiyuantp.vip kaiyuanweilaikeji.com kaiyuedoors.com kaiyueyun.com @@ -61542,6 +60742,7 @@ kaliorg.com kalugaqueen.com kaluli.com kamaqc.com +kameng98.com kamenwang.com kamfat.net kami.vip @@ -61550,7 +60751,6 @@ kamidox.com kamisamak.com kammtown.com kamoasia.com -kamokamogo.com kamopos.com kamtao.com kamwu.com @@ -61569,6 +60769,7 @@ kandegang.net kandehotelhuizhou.com kandian.com kandian.net +kandian.tv kandian5.com kandianbao.com kandianshi.com @@ -61579,9 +60780,7 @@ kanfangjilu.com kanfeidie.com kang-li.com kang-zhuo.com -kang08.com kang7.com -kangagws.com kangai8.com kangame.tv kangangchang.com @@ -61599,6 +60798,7 @@ kangdalawyers.com kangdamed.net kangdexin.com kangdns.com +kangehao.com kangepian.com kangerfugroup.com kangfenhui.com @@ -61621,6 +60821,7 @@ kangkang.com kanglaohui.com kangle.net kanglepharm.com +kanglisha.com kanglu.com kangnai.com kangpeining.com @@ -61656,7 +60857,6 @@ kanjia.com kanjian.com kanjianlishi.com kanjianxinli.com -kanjuba1.com kankan.com kankan.run kankan365.cc @@ -61677,13 +60877,12 @@ kankun-smartplug.com kanlele.com kanman.com kanmeinv.com -kannb.com kanniao.com kanong.com kanongyun.com kanqibao.com +kanqinpu.com kanqiye.com -kanqizw.com kanqq.com kanqu.com kanrang.com @@ -61709,7 +60908,6 @@ kanwuye.com kanwz.net kanxue.com kanyaji.com -kanyihui.com kanyijie.com kanyixue.com kanyouxi.com @@ -61723,7 +60921,6 @@ kao750.com kao8.cc kao910.com kaoaa.com -kaobangzhu.com kaobeitu.com kaochong.com kaochongqing.com @@ -61799,9 +60996,9 @@ kap666.com kapokshenzhen.com kaquanbao.com karatetrend.com +karger.com kargocard.com karl-led.com -karlxy.xyz karlzhou.com karrytech.com kartlover.com @@ -61812,6 +61009,7 @@ kashen8.com kashengauto.com kasitesoft.com kaslyju.com +kaspersky-labs.com kasscloud.com kataliya.net kate-kanebo.net @@ -61856,7 +61054,6 @@ kblcdn.com kblin.com kbmlifesci.com kbn-zhejiang.com -kbngy.com kbnhp.com kbnqy.com kbobo.com @@ -61866,11 +61063,9 @@ kbscloud.com kbsml.com kbspheres.com kbyun.com -kbzs88.com kc-keycool.com kc0011.net kc87.com -kcaiwu.com kcbebank.com kccidc.com kccn.net @@ -61892,6 +61087,7 @@ kcpseo.com kcqcjt.com kcrcb.com kcrea.cc +kcrw.streamguys1.com kcsgx.com kctgov.com kcwiki.org @@ -61909,7 +61105,6 @@ kd69.vip kd9000.com kdadj.com kdaec.com -kdaole.com kdatacenter.com kdatu.com kdcloud.com @@ -61918,7 +61113,6 @@ kdcnu.com kdefu.com kdf.ink kdgcsoft.com -kdgjsf.com kdhj-edu.net kdige.com kdkefu.com @@ -61936,7 +61130,6 @@ kdslife.com kdt.im kdued.com kdweibo.com -kdx.mobi kdzs.com kdzwy.com kdzxedu.com @@ -61945,6 +61138,7 @@ ke-chuang.com ke.com ke51.com ke6.com +ke6payux9q4pih.com ke82.com ke86.com ke8u.com @@ -61961,6 +61155,7 @@ kebi.biz kebide.com kebingzao.com kebitpiano.com +keboyunxiao.com kebvalves.com kechengbiao.net kechengkeli.com @@ -61989,17 +61184,19 @@ keduxinxi.com kedwyz.com keede.com keejuu.com +keem6.com keen-dental.com keenbow.com keenonrobot.com keensky.com keep.com +keep999.com keepc.com keepcdn.com keepchen.com keeper.work keepfightinghxz.xyz -keepinggoing.fun +keepfrds.com keepke.com keepmobi.com keepnight.com @@ -62015,7 +61212,6 @@ kefayuan.com kefeijn.com kefenxi.com kefoo.com -kefusoft.com kefutoutiao.com kefuzu.com kege.com @@ -62027,19 +61223,17 @@ kehua360.com kehuaapp.com kehuan-upward.com kehuda.com -kehuduan.com kehuzhichi.com kehuzhichi.net keil345.com -keilfcy.com keinsci.com keithbo.com -kejet.com -kejet.net keji100.net kejian.design kejianx.com +kejibear.net kejicut.com +kejids.com kejihai.com kejijie.net kejik.com @@ -62063,7 +61257,6 @@ keke289.com kekebaby.com kekedj.com kekegold.com -kekejp.com kekenet.com kekeshici.com kekexueba.com @@ -62071,7 +61264,6 @@ kekeyuyin.com kekkyy.com kekoku.com keky.org -kel99.com keladuoww.com keladuoyy.com kelaisz.com @@ -62110,7 +61302,6 @@ kemavip.com kemiaotai.com kemicro.com kemike888.com -kemmars.com kemosi.com kemov.com ken-tools.com @@ -62145,12 +61336,12 @@ kenweini.com kenxon.com kenzochina.com keoaeic.org +keouaxbw.com keovo.net kepusky.com keputech.com kepuyanxue.com keqiaojob.com -keqii.com kequcps.com ker58.com kercan.net @@ -62173,6 +61364,7 @@ keruiiai.com keruilai.com keruilait.com keruisifan.com +keruknowledge.com kerun2010.com keruna.com kerundegroup.net @@ -62181,7 +61373,6 @@ keruyun.com keruyun.net kery-pharm.com kerysoft.com -keryt111.fun kesci.com kesheng.com keshenwei.com @@ -62194,7 +61385,6 @@ kesong520.com kesonic.com ketangpai.com ketechdigital.com -ketianguanye.com ketingkeji.com ketingzhuangxiu.com kevinems.com @@ -62202,6 +61392,7 @@ kevinjiang.info kevinlq.com kevke.com kewu.cc +kewucool.com kexianggroup.com kexin001.com kexinbiotech.com @@ -62225,10 +61416,8 @@ keycom-ip.com keydak.com keydatas.com keyde.com -keydot.net keyfc.net keygotech.com -keyi.mobi keyibao.com keyigroup.com keyingchem.com @@ -62239,7 +61428,6 @@ keymedbio.com keymoe.com keyoou.com keyray-hk.com -keyshot.cc keyshot.pro keytherapharma.com keyto168.com @@ -62258,12 +61446,10 @@ kezhaozhao.com kezhi.tech kf.ai kf155yy.com -kf3msfm.com kf5.com kf911.com kf9977.com kfadx.tech -kfand.com kfang.xin kfb126.com kfb163.com @@ -62271,7 +61457,6 @@ kfcbest.com kfcdn.com kfchiheng.com kfcjrl.com -kfd3sm2c.com kfd9999.com kfdcc.com kffcww.com @@ -62307,15 +61492,13 @@ kgipr.com kgnmkj.com kgogame.com kgou.cc -kguaq.com +kgrestrg.com kgzyy.com kh-zx.com kh84.com -khaiu.com khdatasolutions.com khdyly.com khfwedu.com -khhlw.com khhospital.com khidi.com khly.com @@ -62329,6 +61512,8 @@ khworidtour.com khysct.com ki-pa.com kiaic.com +kiana.love +kiapmyf.xyz kibinggroup.com kickoffo.site kicontech.com @@ -62345,7 +61530,6 @@ kidsthomas.com kidsyun.com kidulte.com kidulty.com -kiees.com kiiik.com kiijoy.com kiinii.com @@ -62412,6 +61596,7 @@ kingfu-china.com kingfulai.com kinggoo.com kinggrid.com +kinghelm.net kinghomechina.com kingidc.net kinginfo.com @@ -62455,6 +61640,7 @@ kingst.org kingstarmedical.com kingstartech.com kingston.group +kingstronbio.com kingsunedu.com kingsungmedical.com kingsunpower.com @@ -62487,6 +61673,7 @@ kinzhan.com kinzoncap.com kiomodesign.com kira.cool +kireidoll.com kirgen.com kiriko-china.com kirin-tech.com @@ -62512,12 +61699,13 @@ kitontech.com kitstown.com kituin.fun kivend.net -kivo.fun kiwa-tech.com kiwenlau.com kiwifarms.net kiwifarms.st +kiwimoore.com kiwisec.com +kiyuu.club kizfarm.com kj-ic.com kj-pcb.com @@ -62529,7 +61717,6 @@ kj400.com kj521.com kjb2c.com kjcdn.com -kjcenter.com kjchina.com kjchuang.com kjcity.com @@ -62538,8 +61725,8 @@ kjcxpp.com kjcyfz.com kjdb.org kjdsnews.com +kjdvsg.com kjeport.com -kjfhe.com kjfns.com kjgcl.com kjghyjy.com @@ -62571,6 +61758,7 @@ kjtbao.com kjtianshanxu.com kjtong.com kjtpay.com +kjutf-uejfncpo72u.com kjw.cc kjwlxt.com kjwugx.com @@ -62584,6 +61772,7 @@ kjzj.com kjzpg.org kjzx.net kjzxtk.com +kjzz.streamguys1.com kk-china.com kk1.vip kk169.com @@ -62641,6 +61830,7 @@ kktijian.com kktv1.com kktv5.com kktv8.com +kkuryat.com kkuu.com kkwafdns.com kkwan.cc @@ -62651,6 +61841,7 @@ kkxxiazai.com kkyoo.com kkyp.shop kkyuedu.com +kkzhan.com kkzj.com kkzs.io kkzycdn.com @@ -62665,21 +61856,17 @@ klclear.com klcsb.com kldhq.com kldjy.com -kldmm.com -kldsq.com klgkm.com klhpw.com klhuyan.com klianfa.com klicen.com klingai.com -klingxai.com klinlee.com klisedu.com kliwu.com kljiyou.com kljtc.com -klkk66.fun kllife.com klmnf.com klmy118114.com @@ -62708,7 +61895,6 @@ klxsw.com klxuexi.com klzhlogistics.com km.com -km080.com km10z.net km169.net km18.net @@ -62757,9 +61943,8 @@ kmmdkj.com kmoe0.com kmplayercn.com kmpp7.com -kmppoly.org +kmpwgxzy.com kmqcwx.com -kmqianneng66.com kmqsaq.com kmread.com kmrfidtag.com @@ -62778,6 +61963,7 @@ kmtlfckyy.com kmtrh.org kmtxzs.com kmvtc.net +kmvxwedy.com kmw.cc kmw.com kmwatersupply.com @@ -62838,6 +62024,7 @@ knvps.com knxchina.org knzlcq.com ko0.com +koagzrxt.com koal.com koalacam.net koalareading.com @@ -62864,7 +62051,6 @@ koinocn.com koioawq.com kojtech.com kok.plus -kokojia.com kolarmy888.com kolcc.com kole8.com @@ -62902,7 +62088,6 @@ kongqinengrebeng.com kongquecheng.com kongqueyuzd.cc kongrong.com -kongruan.com kongtiao163.com kongtiao365.com kongwu2022.com @@ -62934,13 +62119,10 @@ koolproxy.com koolyun.com koomao.com koopass.com -koopei.com koorun.com kooshui.com kooteam.com koovin.com -koovoo.com -koowo.com kooxoo.com kopebe.com kopisee.com @@ -62951,14 +62133,16 @@ kopperchem.com koreabt.com koreaxin.com koreaxing.com -koreniztreh.net korirl.com kormee.com +kornsweets.com koronsoft.com korosensei.com +korqqr1l13.com korrun.com kortatb.com kortrong.com +kotaqkew.com kotei-info.com kotek.tel koto.com @@ -62992,6 +62176,7 @@ kouqiangba.com koushare.com kouss.com kouxin.com +kouxin.net kouyijia.com kouyu100.com kouzi.com @@ -63003,6 +62188,7 @@ kox.moe koyuki.cc kpanda.wiki kpblw.com +kpbs-wowza.streamguys1.com kpdhk.com kpfans.com kpfcw.com @@ -63020,6 +62206,7 @@ kprepublic.com kpt5.com kptour.com kpwcmb.com +kpxmsbtw.com kpyy239.com kpzip.com kpzip.net @@ -63043,6 +62230,8 @@ kqjtj.net kqlink.com kqmmm.com kqnyw.com +kqopg.app +kqpgstxx.com kqqy.com kqw.com kqwh231122.com @@ -63052,8 +62241,8 @@ kr-cell.com kr.com kr126.com krahag.com +kraken19-at.cc krbk.com -krbulhb.com krd168.com krdrama.com krenzheng.com @@ -63070,6 +62259,7 @@ krszf.com krtdl.com krxz.com krzb.net +krzwymfr.com krzzjn.com ks-cdn.com ks-cdn1.com @@ -63097,11 +62287,14 @@ kscdns.com kschuangku.com kscloudapi.com ksco.cc +kscord.com ksdedu.com +ksdhgy.com ksdown.com ksdq0514.com ksecit.com ksedt.com +ksehs.com kseibitools.com ksense.com ksfang.com @@ -63119,7 +62312,6 @@ ksjgs.com ksjhaoka.com ksjhp.com ksjxgs.com -kskwai.com kslccb.com kslyt.com ksmend.com @@ -63128,6 +62320,7 @@ ksmingl.com ksmjmj.com ksmmed.com ksmobile.com +ksmobile.net ksmq5a9kxzmr.com ksndsa.com ksnows.com @@ -63144,7 +62337,6 @@ ksrenfan.com ksria.com ksrmtzx.com ksrmyy.org -ksrsy.com ksruanjian.com kss4.com kssip.msi.com @@ -63176,11 +62368,14 @@ ksyun.com ksyun.net ksyunad.com ksyuncdn-k1.com +ksyuncdn-k2.com ksyuncdn.com +ksyuncdnv6.com ksyuncs.com ksyungslb.com ksyungslb2.com ksyunv5.com +ksyunv6.com ksyunv7.com ksyunwaf.com ksyxmc.com @@ -63188,7 +62383,6 @@ kszhuanjia.com kszlzz.com kszpw.com kszxzsxh.com -kt.lenovo.com kt007.com kt10000.com kt286.com @@ -63220,6 +62414,7 @@ ktmap.com ktmv.com ktmwan.net ktokib.com +ktovztie.com ktplay.com ktrcn.com ktrlight.com @@ -63235,24 +62430,21 @@ ktvme.com ktvsky.com ktwap.net ktxuexi.com -kty235.com ktyunlianjie.com ku25.com ku33a.net -ku6.com ku6.net ku6cdn.com ku6img.com +ku6vms.com ku82.com ku90.com -ku9377.com ku968.com ku987.com kua365.com kuaaa.com kuabaobao.com kuacg.com -kuacode.com kuadu.com kuafuai.net kuafugame.com @@ -63260,11 +62452,18 @@ kuai-fei.com kuai-ying.com kuai.ma kuai65.com +kuai666aa8e43gomqhzeg.com kuai666bj7tu65rkdz82.com kuai666bjeve6ks43qyw4vc8.com kuai666bjs3gsymi6v4h5pz.com +kuai666e9rqs5wumk7at3.com +kuai666gki3osg54rx7a.com +kuai666gkq3semv1r34.com +kuai666i4rmp7c5i16hb.com kuai666kysktrxmwici27.com +kuai666m6vgmorxw77vb5.com kuai666ogv754urmpb4.com +kuai666trqtauks5ht6x.com kuai666vs5aq9o3ytdgp.com kuai7.com kuai8.com @@ -63292,6 +62491,7 @@ kuaiduwen.com kuaiex.com kuaifaka.com kuaifaka.net +kuaifan.shop kuaifawu.com kuaifeng.com kuaifuinfo.com @@ -63302,6 +62502,7 @@ kuaiguohui.com kuaih5.com kuaihaodai.com kuaihecaishui.com +kuaihou.com kuaihuoyun.com kuaihz.com kuaiji.com @@ -63333,6 +62534,7 @@ kuailebz.com kuailedo.com kuailekaishi.com kuailelunwen.com +kuailepipixia.com kuailetongyao.com kuailexs.com kuailexue.com @@ -63366,7 +62568,6 @@ kuaishouapps.com kuaishouba.com kuaishougroup.com kuaishoupay.com -kuaishouzt.com kuaishu.net kuaishuru.net kuaisouwifi.com @@ -63391,7 +62592,6 @@ kuaiyingyong.vip kuaiyizu.net kuaiyong.com kuaiyoujia.com -kuaiyoumei.net kuaiyouxi.com kuaiyu.com kuaiyuepu.com @@ -63404,8 +62604,6 @@ kuaizhe.com kuaizhihui.com kuaizhou123.com kuaizi.co -kuaizip.com -kuaizitech.com kuaizitech.net kuaizupu.com kuaizy.com @@ -63454,7 +62652,6 @@ kuashou.com kuashuonk.com kuayuegroup.com kubady2.com -kubenyizhan.com kubercloud.com kubey.cc kubikeji.com @@ -63491,7 +62688,6 @@ kugouyouth.com kuguanyi.com kugz.com kuhao360.com -kuheju.com kuhii.com kuhimalayandp.com kuicc.com @@ -63506,7 +62702,6 @@ kuishiba.com kujiale.com kujiang.com kujiang.net -kuk8.com kuka-xj.com kuka001.com kukagroup.com @@ -63517,9 +62712,9 @@ kuke.com kuke99.com kukecloud.com kukseo.com +kuku123.com kukuda.net kukulv.com -kukumai.com kukupig.com kukushouhou.com kukushow.com @@ -63543,7 +62738,9 @@ kumao2018.com kumaoyun.com kumeiwp.com kumhosunny.com +kumi.com kumiao.com +kumiao.tv kumiao.vip kumifeng.com kun-pharm.com @@ -63613,7 +62810,6 @@ kuozhan.net kupaisky.com kupan.cc kupao.com -kuqi.com kuqin.com kuraboshanghai.com kureader.com @@ -63633,12 +62829,12 @@ kusdk.com kusen888.com kushanfudaojixie.com kushe.net -kushou.com kushouwang.net kushuzw.com kusnc17.com kuso.xyz kusouji.com +kut-hls.streamguys1.com kut3974vc.com kutianxia.com kutianxia.net @@ -63646,7 +62842,6 @@ kutinai.com kutj.com kutongji.com kutuan.com -kuuad.com kuuke.com kuv97t.xyz kuvun.com @@ -63660,6 +62855,7 @@ kuwwz.com kuxi100.com kuxiaoji.com kuxiaomiao.com +kuxiaomiao.net kuxiaoshuo.com kuxiaozhu.com kuxiuktv.com @@ -63676,22 +62872,28 @@ kuyiyun.com kuyoo.com kuyouyun.com kuyumall.com -kuyun.com +kuyunbo.club kuzhange.com kuzhazha.com kuzhengame.com kuzu.com kv-kva.com +kv6om4zs5i47.com +kvamerfx.com kvenjoy.com kvfumdr.com -kvhee.com kviso.com kvogues.com kvov.com kvps85.com +kvrmicit.com kvucxko.com kw007.com kwai-group.com +kwai-pro.com +kwai.com +kwai.net +kwai.xyz kwai666.com kwaiadapp.com kwaiads.com @@ -63699,6 +62901,8 @@ kwaibusiness.com kwaicdn.com kwaicdnx.com kwaie65eu4gvs1943.com +kwaiekow98icxsp7fz.com +kwaiesovc9xgzfcmt.com kwaigobuy.com kwaigroup.com kwailai.com @@ -63707,6 +62911,9 @@ kwailbs.com kwailine.com kwailocallife.com kwailocation.com +kwairga8upiycbiv.com +kwairia4qs5e76v52z.com +kwairpoewaum3s9z41.com kwairr9aw56vso581r.com kwairtc.com kwaisczway7r4tz7m8.com @@ -63716,8 +62923,10 @@ kwaishouapp.com kwaishouapp.net kwaitalk.com kwaitv.com +kwaiww7t3qi8x217.com kwaixiaodian.com kwaiying.com +kwaiymx64war5a7f.com kwaizt.com kwangfeng.com kwgaewsl.shop @@ -63727,6 +62936,7 @@ kwinbon.com kwise-log.com kwkf.com kwmachineworks.com +kwmu-flash.streamguys1.com kwniu.com kwong-tech.com kws123.com @@ -63734,9 +62944,11 @@ kwt56.com kwtgs.com kwtzn.com kwudor.com +kwwblcj.com kwx.gd kwxcj.com kwxjh.net +kwxpobrw.com kx-turbo.com kx001.com kx139.com @@ -63745,7 +62957,6 @@ kx1d.com kx2222.com kx778.com kx7p.com -kxapp.com kxapps.com kxb100.com kxbox.com @@ -63757,14 +62968,13 @@ kxdao.com kxdao.org kxdpm.com kxdw.com -kxhie.com kxiaoshuo77.com kxinyk.com kxji.com kxjlzx.com kxjsys.com +kxkzrcke.com kxl100.com -kxla.xyz kxlc.com kxll.com kxload.com @@ -63775,6 +62985,7 @@ kxphy.com kxq520.com kxqo2ev.com kxscience.com +kxstykrgx8z3.com kxt.com kxtjt.com kxtoo.com @@ -63792,10 +63003,8 @@ kxyyf.com ky-cable.com ky-express.com ky.live -ky0688.cc ky0ip30.com ky393834.com -ky595images.com ky5yx.com ky6yx.com ky7yx.com @@ -63835,17 +63044,16 @@ kylinos.com kylinpet.com kylpharm.com kymjs.com -kynwg.com kyo.hk kyoceraconnect.com kyppt.com kyrcw.com -kyshyyzc.com kysjhx.com kyslb.com kysnxt.com kysygs.com kytijian.com +kyubwsx1g5.com kyuedu.com kyv5.com kyw4y0s.com @@ -63854,7 +63062,6 @@ kyxdloan.com kyxh.com kyxsw.org kyy6.com -kyzf.net kyzhpt.com kyzs.com kyzyj.com @@ -63862,8 +63069,6 @@ kz.cc kz321.com kz8yx.com kzcpm.com -kzeaa.com -kzgry.com kzgui.com kzjtv.com kzk1.com @@ -63871,7 +63076,6 @@ kzmyhome.com kzrcw.com kzread.com kzrqicae.com -kzsha.com kztpms.com kztsjj.com kzwr.com @@ -63882,13 +63086,12 @@ l.biz l069.com l0v0.com l1yu.com -l2-uberproxy.corp.google.com l2cn.com l2h.site l2t7.cc l3gt9.com -l63gz.com l68.net +l799vk4qe2.com l7audiolab.com l85r.com l99.com @@ -63913,7 +63116,6 @@ labi.com labisart.com labixiao.xin labno3.com -laborlawtime.com labpyx.com labuladong.online labview.help @@ -63927,20 +63129,17 @@ lacngs.com lacocrea.com ladiyoga.com ladjzs.com -lady177.com lady361.com lady75.com lady8844.com ladybirdedu.com ladydaily.com ladyhua.com -ladymetro.com ladyol.com ladyw.com ladyw.net laey.net laf.run -lafacw.xyz lafaso.com lafayettewines.com lafy.org @@ -63948,7 +63147,6 @@ lafybjy.com lagou.com lagouevents.com lagoujobs.com -lagowang.com laguaba.com laguke.com lahuashanbx.com @@ -63974,7 +63172,6 @@ laifeng.com laifeng.net laifenqi.com laifu.net -laigame7.com laigame7.net laigaokao.com laigong.com @@ -64029,7 +63226,6 @@ laixs.com laixueedu.com laixuexi.cc laiyagushi.com -laiyanan.com laiyang58.com laiye.com laiyifen.com @@ -64068,7 +63264,6 @@ lampbi.com lampouomo.com lamsg.net lamuba.com -lamwatch.com lamyu.com lan-bridge.com lan-lin.com @@ -64104,6 +63299,7 @@ landed.cc landhonor.com landi.com landian.vip +landian.xyz landiannews.com landing-med.com landingbj.com @@ -64199,12 +63395,10 @@ lanhuapp.com lanhuasoft.com lanhuhu.com lanhui.com -lanhusoft.com lanin.tech lanindex.com lanjie100.com lanjie520.com -lanjing5.com lanjingads.com lanjinger.com lanjingerp.com @@ -64262,7 +63456,6 @@ lansancn.com lanscn.com lansedir.com lansedongli.com -lansha.tv lanshan.com lanshanae.com lanshanweb.com @@ -64289,7 +63482,6 @@ lanwa.net lanwei.org lanwoncloudfilm.com lanwuzhe.com -lanxiangji.com lanxinbase.com lanxincn.com lanxincomputing.com @@ -64330,6 +63522,7 @@ lanzoum.com lanzouo.com lanzoup.com lanzouq.com +lanzous.com lanzout.com lanzouu.com lanzouv.com @@ -64338,6 +63531,7 @@ lanzoux.com lanzouy.com lanzov.com lanzun.net +lanzv.com lao.si laobaicai.net laobaigan-hs.com @@ -64368,7 +63562,6 @@ laoge.xyz laogongshuo.com laogu.cc laogu.com -laogu.wang laohaoren.com laohu.com laohu8.com @@ -64387,19 +63580,17 @@ laoliang.net laoliboke.com laolieren.com laolieren.shop -laolinow.com laolishi.cc laoliuceping.com laoma.cc laomaoniu.com -laomaotao.com -laomaotao.net laomaotao.org laomaotaopan.com laomatou.com laomo.me laomoe.com laomu.net +laomuji.club laonanren.cc laonian100.com laoniushuju.com @@ -64448,6 +63639,7 @@ larkapp.com larkcloud.com larkcloud.net larkfn.com +larkmeetings.com larkoffice.com larkofficeapp-boe.com larkofficeapp-pre.com @@ -64458,14 +63650,23 @@ larkofficeimg.com larkofficepkg.com larkofficepre.com larkroad.com +larkrooms.com +larksuite-pre.com larksuite.com +larksuite.com.ttdns1.com +larksuite.com.ttdns2.com +larksuitecdn.com larksuiteimg-boe.com larksuiteimg-pre.com +larksuiteimg.com +larkvc.com larkworld.com larmace.com larryms.com larscheng.com +larsonlimited.com laruence.com +lasashengdi.com laschina.org lascn.net laser-dhc.com @@ -64543,7 +63744,6 @@ layoutad.com laysky.com layui.com layuicdn.com -layundns.com layz.net lazada.co.id lazada.co.th @@ -64557,16 +63757,17 @@ laze.cc lazyaudio.com lazybios.com lazycat.cloud +lazycatmicroserver.com lazycomposer.com lazydim.com lazymap.com lazyren.com lazystones.com lb-yz.com +lb.streaming.sk lb0398.com lb5.com lbaihua.com -lbaij.com lbbb.cc lbbee.com lbbniu.com @@ -64598,7 +63799,6 @@ lbojwsy.com lbrencai.com lbsdermyy.com lbsdmy.com -lbspays.com lbsrmyy.com lbswjt.com lbszx.com @@ -64630,7 +63830,6 @@ lc1001.com lc123.net lc1618.com lc365.net -lc442.com lc787.com lcang.com lcatgame.com @@ -64683,15 +63882,12 @@ lcofjp.com lcofo.com lcoss.com lcouncil.com -lcp.gtm.lenovo.com -lcp.lenovo.com lcpdu.com lcpumps.com lcqixing.com lcqjsjxxx.com lcqwdz.com lcrcbank.com -lcread.com lcrq.net lcseo1688.com lcsepu.com @@ -64751,8 +63947,6 @@ ldkj-zs.com ldkqyy.com ldmap.net ldmnq.com -ldplayer.net -ldqiztr.com ldqxn.com ldrcw.com ldseals.com @@ -64766,7 +63960,6 @@ ldteq.com ldwxiao.com ldwxkj.com ldxiang.com -ldxzi.com ldycdn.com ldydh.com ldygo.com @@ -64775,16 +63968,15 @@ ldzcgs.com ldzqkj.com ldzxyy.com le-feng.com -le-reporting.lenovo.com le-wan.com le.com le365.cc le4.com -le4le.com le5le.com le8.com le855.com le890.com +leacloud.net leacol.com leadal.com leadal.net @@ -64827,7 +64019,6 @@ leadwaytk.com leadyo.com leadzees.com leaferjs.com -leafol.com leaforbook.com leafword.com leagcard.com @@ -64884,6 +64075,7 @@ lechengdz.com lechinepay.com lechuangzhe.com lecloud.com +lecloudapi.com lecloudapis.com lecoinfrancais.org lecomposites.com @@ -64892,10 +64084,8 @@ leconiot.com lecoo.com lecreperoyaloak.com lecu8.com -lecuiwangluo.com lecuntao.com led-zulin.com -led228.com led661.com ledanji.com ledcax.com @@ -64924,6 +64114,7 @@ leefanmr.com leehomcn.com leehon.com leeleo.vip +leenzee.com leenzhu.com leeon.me leepoint.net @@ -64938,7 +64129,6 @@ leeuu.com leevol.com leevy.net leewiart.com -leeyuoxs.com lefang365.com lefanglj.com lefeng.com @@ -64955,10 +64145,8 @@ legendsec.com legendsemi.com legendtkl.com legion.com.hk -legionzone.lenovo.com legou456.com legowechat.com -legozu.com legu.cc legu168.com leguyu.com @@ -65020,7 +64208,6 @@ leiue.com leixiaofeng.net leixinbuild.com leixue.com -leiyanhui.com leiyunge.com leiyunge.net lejiachao.com @@ -65033,7 +64220,6 @@ lejiashu.com lejj.com leju.com lejucaijing.com -lejuliang.com lejunwl.com lekan.com lekannews.com @@ -65065,6 +64251,7 @@ lemeitu.com lemeng.center lemengcloud.com lemengfun.com +lemicp.com lemiwan.com lemiyigou.com lemo360.com @@ -65082,7 +64269,6 @@ lempstack.com lemurbrowser.com lenauth.com lenbenelectric.com -lenbpreturns.lenovo.com lenciel.com lendy520.com lenfocus.com @@ -65097,12 +64283,15 @@ lengxiaohua.com lengxiaohua.net lengyankj.com lengzzz.com -lening100.com leniugame.com leniy.org lenogo.com lenosoft.net lenovator.com +lenovo.com +lenovo.com.cdn.cloudflare.net +lenovo.net +lenovocloudos.com lenovoconnect.com lenovoeservice.com lenovofile.com @@ -65112,7 +64301,6 @@ lenovohuishang.com lenovoimage.com lenovomm.com lenovomobile.com -lenovomobilesupport.lenovo.com lenovonetapp.com lenovonowgo.com lenovopoc.com @@ -65128,7 +64316,6 @@ lenschine.com lensuo.com lenwoo.com lenzhao.com -leo.moe leoao-inc.com leoao.com leocode.net @@ -65140,7 +64327,6 @@ leopardtale.com leopump.com leozwang.com lepaicm.com -lepalacegt.com lepanshoping.com lepiaoyun.com leptv.com @@ -65152,7 +64338,6 @@ leqiaobhyy.com leqiku.com leqiuba.com lequ.com -lequ7.com lequanip.com lequgo.com lequji.com @@ -65167,7 +64352,6 @@ lers168.net lersang.com lertao.com lerye.com -leryt111.fun lesejie.com leshangzs.com leshangzx.com @@ -65175,7 +64359,6 @@ leshanvc.com leshi123.com leshiguang.com leshow.com -leshu.com leshuatech.com leshuazf.com leshuwu.com @@ -65188,15 +64371,14 @@ lesonccl.com lesoon.com lesou.net lespark.us -lespetitsfiguiers.com lesports.com less-bug.com less-more.net +lesscode.work lesso.com lestcg.com letabc.com letang666.com -letao.com letaofang.net letaoren.com letbonchina.com @@ -65223,6 +64405,7 @@ letsvisa.com lettercloud.net letuinet.com letuixiaokefu.com +leturich.org letushu.com letv.com letv8.com @@ -65231,11 +64414,13 @@ letvcdn.com letvcloud.com letvimg.com letvlb.com +letvlive.com letvstore.com letwind.com letwx.com letyo.com leuok.com +levc.com levcauto.com levect.com level8cases.com @@ -65266,6 +64451,7 @@ lexin001.com lexinchina.com lexpq.com lexuat.download.prss.microsoft.com +lexue-cloud.com lexue.com lexueying.com lexun.com @@ -65331,7 +64517,6 @@ lfcharge.com lfcmw.com lfdjex.com lfex.com -lffilter.com lffloor.com lfggzz.com lfhacks.com @@ -65343,7 +64528,6 @@ lfjx88.com lfkjgh.com lfksqzj.com lfmxc.com -lfouz.com lfppt.com lfqysm.com lfrczp.com @@ -65358,7 +64542,6 @@ lfywood.com lfyx.ink lfyzjck.com lfzhaopin.com -lfzll.com lg-lg.com lg-pump.com lg1024.com @@ -65389,7 +64572,6 @@ lgpm.com lgrcbank.com lgrgzs.com lgshouyou.com -lgstatic.com lgtzkg.com lguohe.com lgvf.com @@ -65433,13 +64615,13 @@ lhjdfs.com lhjol.com lhjws.com lhjy.net +lhjyw.vip lhjyy.com lhjzlw.com lhkaye.com lhkgs.com lhl.zone lhl7.com -lhlnx.com lhmj.com lhmp.cc lhnic.com @@ -65455,7 +64637,6 @@ lhs99.com lhsdjxy.com lhsoso.com lhszyxx.com -lhtonline.com lhulan.com lhwill.com lhwytj.com @@ -65553,7 +64734,6 @@ liankebio.com liankenet.com lianku.xin liankuaiche.com -lianle.com lianli168.com lianlian.com lianlianchem.com @@ -65589,7 +64769,6 @@ liantu.com liantuobank.com liantuofu.com lianty.com -lianwangtech.com lianwen.com lianwifi.com lianwo8.com @@ -65600,7 +64779,6 @@ lianxinapp.com lianxing.org lianxinkj.com lianyi.com -lianyi.wang lianyins.com lianyiwater.com lianyuannongye.com @@ -65650,6 +64828,7 @@ libawall.com liberlive-music.com libertynlp.com libforest.com +libguides.com libinx.com libiotech.com libisky.com @@ -65701,8 +64880,6 @@ lidamicron.com lidar360.com lideapower.com lidebiotech.com -lidebo.com -lidecheng.com lidepower.com lidg-fueltank.com lidianchizu.com @@ -65717,7 +64894,6 @@ liebao.live liebaoh5.com liebaoidc.com liebaopay.com -liebaovip.com liebiangou.com liebiao.com liebigwatch.com @@ -65732,13 +64908,13 @@ liehuo.net liehuosoft.com liejin99.com lieju.com +lieketao.com lielema.com liemingwang.com lienew.com liepin.com liepin8.com liepincc.com -lieqituan.com lierda.com lierfang.com liermusic.com @@ -65753,11 +64929,13 @@ liewen.cc liewen.la liexing-ai.com liexing.com +liexiulive.com lieyingjt.com lieyou.com lieyouqi.com lieyuncapital.com lieyunpro.com +lieyunwang.com liezhe.com liezhen442.com liezhun.com @@ -65811,6 +64989,7 @@ lightingchina.com lightinit.com lightky.com lightlygame.com +lightonus.com lightpassport.com lightstrade.com lightxi.com @@ -65859,6 +65038,7 @@ lijizhong.com lijjj.com likamao.com likangwei.com +like.video like996.icu likeacg.com likebuy.com @@ -65903,7 +65083,6 @@ limabaoxian.com limaoqiu.com limax.com limebenifit.com -limei.com limeiltd.com limian.com limiku.com @@ -65936,7 +65115,6 @@ linelayout.com linestartech.com linewell.com linewow.com -linezing.com linfan.com linfeicloud.com linfen365.com @@ -65955,7 +65133,6 @@ lingceu.com lingd.com lingdai.name lingdi.net -lingdiancaishui.com lingdianksw.com lingdong.net lingdongweilai.com @@ -65967,6 +65144,7 @@ lingduzuji.com lingdz.com lingfengyun.com lingganjia.com +linggao.vip linggu.com linghanggroup.com linghit.com @@ -65981,7 +65159,6 @@ lingjiptai.com lingjoin.com lingjuad.com lingkaba.com -lingkawaii.ltd lingkebang.com lingkou.com lingkou.xyz @@ -66015,9 +65192,9 @@ lingshenxl.com lingshi.com lingshimiyu.com lingshou.com +lingshoujia.com lingshulian.com lingshunlab.com -lingsiqiwu.com lingsky.com lingsoul.com lingti.com @@ -66028,7 +65205,6 @@ lingtong.info lingtool.com lingtu.com lingtuan.com -lingualeo.com lingumob.com linguoguang.com lingw.net @@ -66083,7 +65259,6 @@ linjunlong.com link-ai.tech link-nemo.com link-trans.com -link.dji.com link27.com link2lib.com link2shops.com @@ -66118,7 +65293,6 @@ linkfunny.com linkgou.com linkh5.com linkh5.xyz -linkhaitao.com linkheer.com linkiebuy.com linkingcloud.com @@ -66132,10 +65306,10 @@ linkon.me linkontek.com linkpai.com linkpro.tech +linkr.com linkrall-trk.com linkresearcher.com links-china.com -linkscue.com linksdao.com linksfield.net linksgood.com @@ -66152,7 +65326,6 @@ linktt.com linkudp.com linkunbin.com linkunjc.com -linkvans.com linkvfx.com linkwebll.com linli580.com @@ -66178,7 +65351,6 @@ linruanwangluo.com lins-bros.com linshang.com linshi.cc -linshig.com linshigong.com linshimuye.com linshiyongling.com @@ -66198,7 +65370,6 @@ linuo.com linuopv.com linuoshi.com linuottc.com -linuozhiyao.xyz linuser.com linux-code.com linux-ren.org @@ -66240,7 +65411,6 @@ linyang.com linyekexue.net linyi.net linyibus.net -linying114.com linyiren.com linyizhizhiyuan.com linyouquan.net @@ -66256,7 +65426,6 @@ lionkingsoft.com lionmobo.com lionmobo.net lionsgx.com -lipheak.com lipian.com lipiji.com lipilianghang.com @@ -66273,6 +65442,7 @@ lipuxixi.com liqinet.com liqinyi.com liquan.com +liqucn.com liquidnetwork.com liqun.org liqun.vip @@ -66290,19 +65460,17 @@ lisenergy.com lisheng.gold lishengstone.com lishi-test.com -lishi5.com lishi6.com lishi7.com lishibk.com -lishibu.com lishichunqiu.com lishicloud.com lishiip.com lishiming.net +lishimingren.com lishixinzhi.com lishiyixue.com lishizhishi.com -lishugoucun.com lishuhang.me lishuhao.ltd lishui.com @@ -66324,11 +65492,9 @@ listenvod.com listong.com lisure.com lisz.me -litaizs.com litangkj.com litaow.com litaparking.com -litchiads.com litchon.com lite-miniprogram-1.com lite-miniprogram-5.com @@ -66373,7 +65539,6 @@ liubaocha.com liubo.live liucao.vip liuchengguanli.com -liuchengming.com liuchengtu.com liuchengtu.net liuchenkeji.com @@ -66389,7 +65554,6 @@ liudon.com liudon.org liudu.com liufanggroup.com -liufenghua.com liugejava.com liugezhou.online liugj.com @@ -66399,8 +65563,6 @@ liugongac.com liugongam.com liugonggroup.com liuguofeng.com -liuhangjx.com -liuhanyu.com liuhaolin.com liuhubang.com liujiagd.com @@ -66430,13 +65592,11 @@ liulianglf.com liuliangmima.vip liuliangzu.com liulianqi123.com -liuliguo.com liulin.cc liulingu.com liulishuo.com liulishuo.work liuliushe.net -liuliuxing.com liulixuexiao.com liulj.com liulv.net @@ -66450,23 +65610,21 @@ liunianbanxia.com liupuzhuo.net liuqh.icu liurq.com -liurust.com liushen.fun liushidong.com +liushuishiyin.com liusibo.com liusteel.com liusu-kyimm.com liusu.me liusuping.com -liut.xyz liuts.com -liuvv.com liuweihotel.com liuwo.com liuxianan.com liuxianjt.com +liuxiaoer.com liuxiaofan.com -liuxiaotong.com liuxing.com liuxingw.com liuxinli.com @@ -66476,7 +65634,6 @@ liuxue114.com liuxue360.com liuxue86.com liuxuegang.site -liuxuehksg.com liuxuehr.com liuxuekw.com liuxueshijie.com @@ -66495,7 +65652,6 @@ liuyimin4.com liuyixiang.com liuyua.xyz liuyuechuan.com -liuyun.name liuyunliumeng.com liuyuntian.com liuzaoqi.com @@ -66514,12 +65670,30 @@ liuziyoudu.com liuzongyang.com liuzy88.com livanauto.com +live-350k.streamingfast.net +live-echotv.cdnvideo.ru live-era.com live-helps.com live-voip.com +live.hnzzzzzdst.com +live.lxzc.net +live.ntdimg.com +live.qinyangtv.com +live.sccxtv.com +live.sichuanmianning.com +live.streamingfast.net +live.tvbaoji.com +live.ugratv.cdnvideo.ru +live.zhihuizq.com +live02.rfi.fr +live1.jcbctv.com live123.cc +live2.ntdimg.com live800.com +liveanevia.mncnow.id liveapp.ink +livecdn.fptplay.net +livecdnh2.tvanywhere.ae livecdnstatic.com livechina.com livecourse.com @@ -66564,7 +65738,6 @@ lixianedu.net lixiang.com lixiangcaifu.com lixianghuanbao.com -lixiangmo.com lixiangoa.com lixiangshu.net lixianhezi.com @@ -66599,6 +65772,7 @@ liyinewmaterial.com liyingfei.com liyingtech.com liyinka.com +liyjx.net liyu8.com liyuan1999.com liyuan99.com @@ -66627,7 +65801,6 @@ lizhi.fm lizhi.io lizhi.shop lizhi110.com -lizhidaren.com lizhifilm.com lizhifm.com lizhiinc.com @@ -66646,6 +65819,7 @@ liziqiche.com lizitongxue.com liziwu.net lizixin.cool +liziyuan.com lizq.host lj-audio.com lj-bank.com @@ -66658,11 +65832,12 @@ ljclz.work ljflavor.com ljhjgc.com ljhjny.com +ljhks.com +ljhks.net ljia.com ljia.net ljimg.com ljjcyy.com -ljjhfw34.fun ljjlb.net ljjq.com ljjyjt.com @@ -66682,10 +65857,8 @@ ljrbw.com ljs.fun ljsdk.com ljsy2017.com -ljth.hk ljtx.com ljutdu.xyz -ljvc0.icu ljw113.com ljwebs.com ljwit.com @@ -66724,7 +65897,6 @@ lkme.cc lkong.com lkong.net lkpc.com -lkqaq.icu lkqihang.com lkshu.com lksmarttech.com @@ -66746,7 +65918,6 @@ llever.com llewan.com llgjx.com llgkm.com -llguandongyan.com llguangli.com llguangli30.com llhlkftzjt.com @@ -66758,7 +65929,6 @@ lljsq.net lljyx.com llku.com lllcn.com -llliii.com llllx7.com lllomh.com lllpv.com @@ -66776,13 +65946,10 @@ llsserver.com llssite.com llsttapp.com llsun.com -lltckjyxgs.com lltllt.com lltoken.com lltskb.com -llttc.com llumar-cn.com -llvez.com llwx.net llx168.com llxj119.com @@ -66796,9 +65963,6 @@ llyy.org llyyx.com llzg.com llzxedu.net -lm-sa.csc.edu.cn.akadns99.net -lm-studyinchina.csc.edu.cn.akadns99.net -lm-www.csc.edu.cn.akadns99.net lm263.com lm335.com lm9999.com @@ -66814,28 +65978,22 @@ lmdk01.com lmdouble.com lmeee.com lmengcity.com -lmeurbnjs.com -lmf9.com lmfdt.com lmjd2.app lmjfy.com lmjtgs.com lmjx.net -lmjy.us lmjzd.com lmkggf.com lmkzx.com lmlc.com -lmlmvip.com lmlq.com lmm8.com -lmmob.com lmnano.com lmnsaas.com lmonkey.com lmparcel.com lmqt.com -lms.lenovo.com lms.pub lmschina.net lmscp.com @@ -66843,7 +66001,6 @@ lmsdjskfn.com lmtutou.com lmtw.com lmu5.com -lmubbs.com lmwlhh.com lmwljz.com lmwmm.com @@ -66874,7 +66031,6 @@ lndxpt3.com lneab.com lnemci.com lnenergy.net -lnenz.com lnes.net lnest.com lnfdcxh.org @@ -66886,7 +66042,6 @@ lngtuqv.com lngwy.org lnhddq.com lnhotels.com -lnhsjob.com lnhygy.com lnicc-dl.com lnicp.com @@ -66894,14 +66049,13 @@ lninfo.com lnjfyc.com lnjmlnykjfzyxzrgs.com lnjpedu.com -lnjzxh.com lnjzxy.com -lnk0.com -lnk8z.com lnkdjt.com lnlawyers.net lnlc2.net +lnlc3.net lnldsw.com +lnlib.net lnlon-zdh.com lnlotto.com lnmtc.com @@ -66923,13 +66077,11 @@ lnsgczb.com lnsqxj.xyz lnsrmyy.com lnsslhyxh.com -lnsyrjwz.com lnsysc.com lnsyzx.com lnsyzx.net lnszyjt.com lntenghui.com -lntnyhgaq.com lntvu.com lntycp.com lnvipsoft.com @@ -66958,6 +66110,7 @@ loadingbay.com loan163.com loansliml.com local-ip.online +localizecdn.com locatran.com locez.com lockchat.app @@ -66982,22 +66135,16 @@ lofter.com loftshine.com lofu.net log-research.com -log-smart.lenovo.com log77.com logacg.com logclub.com -logger-dev.corp.google.com -logger.corp.google.com loghao.com logi.im logi100.com logicdsp.com -login.cdnetworks.com -login.corp.google.com logiseasy.com logisteed-sc.com logistics-ea.com -logistics.deploy.akamai.com logisticstech.com logo-emblem.com logo123.com @@ -67012,11 +66159,9 @@ logodashi.com logohhh.com logoly.pro logoqq.com -logoquan.com logory.com logoshe.com logosheji.com -logoshejishi.com logosj.com logovps.com logowk.com @@ -67033,13 +66178,13 @@ lohkahhotels.com loho88.com lohu.info loioo.com -loispp.com loj.ac loji.com loke123.com lokenchem.com lokyi.name lol99.com +lolaroseglobal.com lolbuku.com loldan.com loldk.com @@ -67047,6 +66192,7 @@ lolgo.net loli.by loli.cloud loli.ee +loli.net loliapi.com lolicon.team loliloli.moe @@ -67058,7 +66204,6 @@ lollipopo.com lolmax.com lolmf.com lolmz.com -lolopool.com lolphp.com loltmall.com lolxy.com @@ -67147,6 +66292,7 @@ longmen.net longmenedutech.com longmeng.com longming.com +longmingdns.com longnanke.com longo.ltd longoo.com @@ -67186,7 +66332,6 @@ longwisepr.com longwx.com longxi-tech.net longxia.com -longxialjkashdiuhozhjksadlkfj.com longxianwen.net longxinglong.com longxingweilai.com @@ -67264,7 +66409,6 @@ looquan.com loorin.com loovee.com loowoo.com -looyu.com looyuoms.com looyush.com lopetech.net @@ -67279,7 +66423,6 @@ loring.xyz lorzeal-zj.com losergogogo.com lossyou.com -lostali.com lostdeer.xyz lostphp.com lostsakura.com @@ -67296,7 +66439,6 @@ lotsmv.com lottery-sports.com lotusair.net lotusdata.com -lotuseed.com lotusfr.com lotut.com lou86.com @@ -67344,7 +66486,6 @@ lovelacelee.com lovelezu.com lovelian.com loveliao.com -lovelive.tools lovellacountry.com lovelyping.com lovelytooth.com @@ -67366,13 +66507,10 @@ loveu.life loveuav.com lovev.com lovewith.me -lovezx.net -lovfp.com lovgiin.com lovingedmond.com lovol.com lovology.com -lowestquoteonline.com loxpo.com loxue.com loyalvalleycapital.com @@ -67384,7 +66522,6 @@ lp.fyi lp006.com lp023.com lp025.com -lp1901.com lp91.com lpaec.com lpcheng.com @@ -67393,9 +66530,7 @@ lpd8888.com lpetl.com lpgjkd.com lph119.com -lpjxzs.com lpllol.com -lpos.lenovo.com lpou.online lppoll.com lppsw.com @@ -67408,7 +66543,6 @@ lpsckf.com lpsign88.com lpspt.com lpswz.com -lpszl.com lpszstv.com lptiyu.com lpxinjuhui.com @@ -67469,8 +66603,6 @@ lrnya.com lrs001.com lrscloud2.com lrscloud3.com -lrsrv.lenovo.com -lrswl.com lrt-tech.com lrts.me lrvin.com @@ -67524,10 +66656,8 @@ lsjnwxly.com lsjo.com lsjrcdn.com lsjtjs.com -lsjvip.com lsjxck.com lsjxww.com -lsjyhy520.com lskejisoft.com lskem.com lskjkf.com @@ -67539,6 +66669,7 @@ lslihai.com lslkkyj.com lsmaps.com lsmtjy.com +lsmzt.cc lsnm.com lsoli.com lsoos.com @@ -67546,12 +66677,12 @@ lspjy.com lsplayer.com lsqcjjt.com lsqedu.com +lsqmx.com lsqpay.com lsqqy.com lsqx.com lsqy398.com lsrbs.net -lsrc114.com lsrfzy.com lsrmyy.com lssggzy.com @@ -67582,7 +66713,6 @@ lsup.net lswfw.com lswgy.com lswld.com -lswlsw.com lswqw.com lsxjbxx.com lsxnm.com @@ -67632,6 +66762,7 @@ ltkgjt.com ltkqjt.com ltl5210.com ltld.net +ltlmjx.com ltly.so ltnic.com ltoit.com @@ -67698,12 +66829,14 @@ luchentech.com luchenwater.com luchuang.com luchuanquan.com -luci.lenovo.com luciaz.me lucifer.ren +lucifr.com luck-number.com luckao.com luckeeinc.com +luckforcalendar.com +luckincalendar.com luckincdn.com luckincoffee.co luckincoffee.com @@ -67716,6 +66849,7 @@ luckxh.com lucky286.com lucky8k.com luckyair.net +luckychipsmaster.com luckycoffee.com luckyop.com luckysf.net @@ -67749,12 +66883,12 @@ lueyue.com luezhi.com lufahouse.com lufangjia.com -lufax.com lufaxcdn.com lufengwuliu.net lufengzhe.com luffy.cc luffycity.com +lufhb.com lufunds.com lugangsoft.com lugick.com @@ -67819,7 +66953,6 @@ lungai.com lunhuaxiei.com lunkuokeji.com lunlunapp.com -lunt.cx lunwen000.com lunwenf.com lunwengo.net @@ -67829,7 +66962,6 @@ lunwenstudy.com lunwentong.com lunwenxiazai.com lunzima.net -luo8.com luobo020.com luobo360.com luobotou.org @@ -67843,6 +66975,7 @@ luodw.cc luoergai.com luofan.net luofk.xyz +luoganpump.com luogu.org luohanacademy.com luohanyu.cc @@ -67859,14 +66992,13 @@ luolaoguai.com luolatu.com luoli.net luolicloud.com -luolikong.net luoluoluoluo.xyz luomanxincai.com luomanyueqi.com luomapan.com -luomi.com luomor.com luoniushan.com +luoo.net luoohu.com luooqi.com luopan.com @@ -67889,7 +67021,6 @@ luotuobang.net luotuoshop.net luowandianzi.com luowave.com -luox.online luoxiang.com luoxiangcheliang.com luoxiaozi.com @@ -67914,7 +67045,6 @@ luqidong.com luqq.net lure123.com lurefans.com -lurefq.com lurelogs.com lurenshuwx.com lurun68.com @@ -67941,16 +67071,14 @@ luteng888.com lutongda.com lutonggroup.com lutongnet.com -luunels.com luv66.com luwei.me -luweiteng.xyz luweiwater.com luwoff.com -luxads.net luxe.cc luxe.co luxemon.com +luxenixa.com luxiangba.com luxiangdong.com luxiangwu.net @@ -68041,7 +67169,6 @@ lvjieplus.com lvjinsuo.com lvjitangbao.com lvjiwang.com -lvjoe.pw lvjuelaw.com lvjuf.com lvjunzx.com @@ -68054,6 +67181,7 @@ lvluowang.com lvlvlvyou.com lvmae.com lvmall.com.tw +lvmama.com lvmenglvye.com lvmifo.com lvmotou.com @@ -68071,7 +67199,6 @@ lvruanhome.com lvsan.com lvsanxia.com lvse.com -lvsemao.com lvsenbao.com lvsetxt.com lvsexitong.com @@ -68136,6 +67263,7 @@ lwgsw.com lwguitar.com lwhouse.com lwinst.com +lwjhql.com lwjl.com lwjt.net lwjy.net @@ -68147,12 +67275,11 @@ lwnews.net lwons.com lwork.com lwrcb.com -lwsay.com lwshanghai.org lwshuku.info lwsy.org lwtylqx.com -lwvrv.icu +lwurl.to lwwandong.com lwxgds.com lwxs.com @@ -68162,7 +67289,6 @@ lx.cok.elexapp.com lx.pub lx.run lx138.com -lx167.com lx3.cok.elexapp.com lx598.com lxapk.com @@ -68173,6 +67299,7 @@ lxccl.com lxcdns.com lxcsc.com lxcvc.com +lxdas.com lxdfs.com lxdms.com lxdns.com @@ -68182,7 +67309,10 @@ lxdns.org lxdp.net lxdus.com lxdvs.com +lxdvs.info +lxdvs.org lxdvsss.com +lxdws.com lxf.me lxg2016.com lxgcf.com @@ -68202,18 +67332,15 @@ lxkj2022.com lxlinux.net lxns.net lxny.vip -lxr.xn--6qq986b3xl lxrcsc.com lxsales.com lxsec.com lxsk.com lxtianhu.com -lxting.com lxtuig77.com lxtuyoo.com lxtuyoogame.com lxtuyou.com -lxw1234.com lxway.com lxway.net lxwlcn.com @@ -68232,6 +67359,7 @@ lxyl539.com lxyl954.com lxyllawfirm.com lxyswl.com +lxzjjt.com lxzrmyy.com lxzwedu.com ly-eps.com @@ -68269,7 +67397,6 @@ lyd-china.com lyd56.co lyd6688.com lydaas.com -lydconn.com lydezx.net lydfyy.com lydhb888.com @@ -68351,22 +67478,22 @@ lyjyfw.net lyjyjt.com lyjys.com lylangchao.com +lyldhg.com lylhkq.com lylme.com +lylseo.com lylxjxc.com lymarathon.com lymy1684.com lynkco-test.com lynkco.com lynlzqy.com -lynr.com lyobs.com lyou123.com lyouoa.com lypb.com lypd.com lypdl.com -lyplay.net lypower.com lyps.net lypyxx.com @@ -68457,7 +67584,6 @@ lzbank.com lzbaosteel.com lzbcjt.com lzbhmy.com -lzbzzc.com lzc369.com lzcasting.com lzcbnews.com @@ -68510,7 +67636,6 @@ lzhanghai.com lzhaoteng.com lzhdtk.com lzhean.com -lzhesc.com lzhf.com lzhg.xyz lzhhuinong.com @@ -68526,7 +67651,6 @@ lzhuali.com lzhuinong.com lzhygame.com lzhyjd.com -lzida.com lzihospital.com lziig.com lzimall.com @@ -68539,7 +67663,6 @@ lzjianlong.com lzjiechuang.com lzjingda.com lzjldj.com -lzjmw.com lzjoy.com lzjp.net lzjufeng.com @@ -68548,7 +67671,6 @@ lzjyy.com lzkajc.com lzkczy.com lzkjedu.com -lzkjwyxx.com lzklkqyy.com lzknpco.com lzkojj.com @@ -68556,7 +67678,6 @@ lzky.com lzl98.com lzlatc.com lzlcba.com -lzlczg.com lzlgyy.com lzlhpq.com lzlj.com @@ -68669,7 +67790,6 @@ lzygpm.com lzyhcy.com lzyhdyf.com lzyhjg.com -lzyhny.com lzyisheng.com lzyizhu.com lzylkf.com @@ -68681,7 +67801,6 @@ lzyts.com lzyuantong.com lzyun.vip lzyxfs.com -lzyxfs.net lzyxsoft.net lzyyy.com lzyz.fun @@ -68706,14 +67825,9 @@ lzzyy.com m-edu.com m-finder.com m-hero.com -m-mall-origin.icbc.perf.akadns99.net m-rainbow.com +m.567it.com m.biz -m.dji.com -m.dji.net -m.mall.icbc.com.cn.icbcweb.akadns99.net -m.skypixel.com -m.sohu m.travelzoo.com m1.run m123.com @@ -68734,13 +67848,23 @@ m3-cloud.com m3guo.com m3kaiye.com m3mk7nyo17.com +m3u8.channel.luzhoubs.com +m3u8.channel.yatv.tv +m3u8.file.leshantv.net +m3u8.lschannel.yatv.tv +m3u8.mschannel.yatv.tv +m3u8.smchannel.yatv.tv +m3u8.ycchannel.yatv.tv +m3u8.yjchannel.yatv.tv m448.com -m4pgay.com +m4vmsozi62ifz.com m531.cc m5bn.com +m5m6x0vh.com m5stack.com m6.run m68mm.com +m6tza3ip7x8zr1.com m7686d7aw5.com m7hwocyo67.com m8.com @@ -68748,6 +67872,7 @@ m818.com m9.run m937.com m999.com +m9c7ayme59tp.com ma-china.com ma.run ma3office.com @@ -68801,9 +67926,7 @@ macmao.com macmicst.com macno1.com macocn.com -macos.space macoshome.com -macosx-aam.upgrade.akamai.com macpeers.com macrolake.com macroprocess.com @@ -68845,13 +67968,15 @@ madissonline.com madmalls.com madouer.com madouvip.com -madserving.com +madsrevolution.net maemo.cc maerdancdn.com mafa.tech +mafadns.com mafengs.com mafengwo.com mafengwo.net +mafengwoo.com maff.com mag10000.com mag998.com @@ -68884,10 +68009,14 @@ maguang.net magvision.com mahailushu.com mahambn.com +mahjongai.net +mahjongcup.com +mahjongcup.net mahoupao.com mahua.com mahuatalk.com mai.com +mai.tn maianhao.com maibaapp.com maibaihuo.com @@ -68907,7 +68036,6 @@ maidangao.com maidelong.com maidengju.net maideyi.com -maidi.me maidiancy.com maidige.com maidingmao.com @@ -68927,7 +68055,6 @@ maihaojiu.com maihaome.com maihaowan.com maihaoyou.com -maihehd.com maihengqi.com maihuominiapps.com maihuwai.com @@ -68939,8 +68066,9 @@ maijichuang.net maijiemedia.com maikami.vip maikongjian.com -mail.lenovo.com +maikr.com mail163.com +mail4399.com maila88.com mailbusinfo.com maileds.com @@ -68949,7 +68077,6 @@ mailejifen.com mailetian.com mailianou.com mailiku.com -mailinglists.akamai.com mailixing.com mailizc.com mailpanda.com @@ -68979,9 +68106,6 @@ maipu.com maiqun.vip maiqunwang.com mairoot.com -mairuan.com -mairuan.net -mairuanwang.com maisanqi.com maiscrm.com maiseed.com @@ -69016,6 +68140,7 @@ maiya91.com maiyadi.com maiyanju.com maiyaole.com +maiyayk.com maiyuesoft.com maiyuren.com maizer.pw @@ -69045,7 +68170,6 @@ makeapp.co makeblock.com makecn.net makedie.me -makeding.com makeeu.com makefang.com makefont.com @@ -69062,7 +68186,6 @@ makeronsite.com maketion.com makeweiyuan.com making.link -makuwang.com mala123.com malabeibei.com malagis.com @@ -69082,7 +68205,6 @@ maliquankai.com maliuliu.com mall-builder.com mall.com -mall044.com mallchina.net mallchina.org mallcoo.net @@ -69094,7 +68216,6 @@ mallzhe.com mallzto.com malmam.com malong.com -malong.plus malsmiles.com maltm.com mama100.com @@ -69102,7 +68223,6 @@ mamabaobao.com mamacn.com mamahao.com mamahuo.com -mamamiya.wang mamayz.com mambasms.com mambike.com @@ -69115,7 +68235,6 @@ mamsh.org mamumall.com man6.org managershare.com -manaiyi.com manamana.net manben.com manboker.com @@ -69134,14 +68253,15 @@ mandian.com mandiankan.com mandudu.com manduhu.com -manduwu.com manew.com manewvr.com manfen.net manfen5.com manfred-auto.com manfrottoclub.com +mangacopy.com mangafuna.xyz +mangafunb.fun manganesenanhai.com mangg.com mangguo.com @@ -69176,15 +68296,8 @@ manhualang.com manhuama.net manhuang.org manhuapi.com -manhuaren.com manhuatai.com manhuayang.com -manhuayin.com -manifest-assets-staging.razerzone.com -manifest-assets.razerzone.com -manifest-sophie-pro.razerapi.com -manifest.razerapi.com -manifest3.razerapi.com manjiwang.com mankebao.com mankewenxue.cc @@ -69226,7 +68339,6 @@ manxiu-law.com manyacan.com manylaw.com manyoo.net -manyou.com manyoujing.net manyoukeji2024.com manyoumao.com @@ -69252,6 +68364,7 @@ maogang.com maogepingbeauty.com maogepingedu.com maogp.com +maogua.com maogumaogu.com maogx.win maoha.com @@ -69266,7 +68379,6 @@ maolog.com maolvtv.com maomaoche.com maomaojie.com -maomaotang.com maomaoxue.com maomaoyuanma.com maomijiaoyi.com @@ -69298,12 +68410,13 @@ maoye-smd.com maoyi.biz maoyidi.com maoyigu.com -maoyihu.com maoyingaipu.com maoyisw.com maoyiwang.com maoyouxi.com maoyun.com +maoyun.tv +maoyuncloud.com maozhishi.com maozhuar.com maozhuashow.com @@ -69324,7 +68437,6 @@ maplef.net mapmapping.com mappn.com maproelec.com -maps-icloud.today maptalks.com mapvq.com maqingbo.com @@ -69337,7 +68449,6 @@ marazziguide.com marchinfo.com marco-bj.com marcopolochina.com -mariamoralesactriz.com mariedalgar.com marine-dancer.com marinedancer.com @@ -69362,7 +68473,6 @@ marknum.com markorchem.com markorhome.com marksmile.com -markson.hk marljoy.com marmorheizplatten.com marmot-cloud.com @@ -69449,6 +68559,7 @@ matchvs.com mate.vip mateair.com mater-rep.com +material.istreamsche.com matfron.com math168.com mathartsys.com @@ -69472,10 +68583,10 @@ matrixchuang.com matrixerse.com matrixsens.com matsubayashi-op.com +matsuri.icu matsuri.site matt33.com matthewdays.com -mattia88.com mattressmachinery.net mauu.me mawei.live @@ -69542,6 +68653,7 @@ mayiangel.com mayicms.com mayihr.com mayiic.com +mayikt.vip mayima.net mayipk.com mayishebao.com @@ -69564,7 +68676,6 @@ mayunbj.com maywant.com maywonenergy.com mazakii.com -mazarine-ap.com mazc.org mazey.net mazhan.com @@ -69580,12 +68691,10 @@ mbabao.com mbachina.com mbadashi.com mbadbaedu.com -mbaik.com mbajs.com mbajyz.com mbalib.com mbanggo.com -mbaobao.com mbatrip.com mbazl.com mbazsw.com @@ -69597,25 +68706,26 @@ mbcloud.com mbd.pub mbdkjsw.com mbestway.com +mbg06290pg.com +mbg06301pg.com mbgo.com mbian.com mbiaohui.com -mbiek.com mbigfish.com mbimc.com mbinary.xyz +mbiosh.com mbksh.com mblaudio.com mbldbb.com mblog.club mblu.com -mbmyopia.com mbo-china.com mbokee.com mbs.download.prss.microsoft.com mbsifu.com +mbti16cc.com mbwxzx.hk -mbxt.net mbysrobot.com mbzhu.net mc-biolab.com @@ -69626,7 +68736,6 @@ mc-test.com mc-xborder.com mc.cc mc1314.com -mc361.com mc520.com mc91.com mc9y.net @@ -69637,12 +68746,12 @@ mcbao.com mcbbs.co mcbbs.jp mcbbs.net +mcbe-dev.net mcbeam.pro mcc0.com mcc460.pub.3gppnetwork.org mccbim.com mccchina.com -mcchcdn.com mcchina.com mccshhospital.com mcd.cc @@ -69657,7 +68766,6 @@ mcfound.net mcfsji.com mcfun.tv mcfxw.com -mcgnb.com mcgsjt.com mchanmai.com mchat.com @@ -69692,7 +68800,6 @@ mcpeach.cc mcpemaster.com mcpmaid.com mcqy.net -mcqyy.com mcsafebox.com mcsgis.com mcshuo.com @@ -69727,7 +68834,6 @@ mdapp.tv mdaxue.com mdbchina.com mdbimg.com -mdckj.com mdclub.org mdddg.com mddj.com @@ -69738,7 +68844,6 @@ mdex.co mdex.com mdfkyiyuan.com mdfors.com -mdfull.com mdhky.com mditie.com mdj2y.com @@ -69772,10 +68877,10 @@ mdymedical.com mdyseducation.org mdyuepai.com mdzgjx.com -mdzwxm.com mdzx.net me-city.com me-game.com +me.com me1.ltd me360.com me361.com @@ -69790,6 +68895,7 @@ mebo.com mebtf.com mebyk.com mechatim.com +mechina.org mechr.com mechrevo.com mecoxlane.com @@ -69811,9 +68917,11 @@ meddatas.com medebound.com medejob.com medeming.com +media.fantv.hk +media.joycorp.co.kr +mediaprima.rastream.com mediastory.cc mediatek.com -mediav.com mediavorous.com mediaxinan.com medical-union.com @@ -69871,15 +68979,14 @@ meetwhale.com meetxian.com meetyoumuseum.com meetzoom.net -meexx.xyz mefcl.com mefenglife.com +mefenlife.com megaemoji.com megaer.com megagamelog.com megagenchina.com megahugo.net -megajoy.com megalithwatch.com megarobo.com megawords.cc @@ -69892,7 +68999,6 @@ megvii-inc.com megvii.com meheco.com mehecointl.com -mei-q.com mei-shu.com mei-shu.net mei.com @@ -69903,7 +69009,6 @@ meianclean.com meianjuwang.com meiaoju.com meiba.com -meibai14.com meibaiwu.com meibanla.com meibaohome.com @@ -69946,7 +69051,6 @@ meigongyun.com meiguanjia.net meiguiauto.com meiguiwxw.com -meiguixs.net meiguo-qianzheng.com meiguogouwu.com meiguoxiaoxue.com @@ -69994,6 +69098,7 @@ meijutime.com meijutt.com meijutt.tv meijuwuye.com +meika360.com meikai1979.com meikanguo.com meikankeji.com @@ -70023,7 +69128,6 @@ meilishuo.com meilishuo.net meilisite.com meiliworks.com -meiliwu.com meiljiaqi.com meilunmeijia.com meilvtong.com @@ -70052,7 +69156,7 @@ meipian.me meipian2.com meipingmeiwu.com meipuapp.com -meiqia.com +meipvip.net meiqiausercontent.com meiqinedu.com meiqiu.me @@ -70094,7 +69198,6 @@ meitanjianghu.com meitanwang.com meite.com meitegou.com -meiti1.net meitianhui.com meitianzuche.com meitie.com @@ -70131,6 +69234,7 @@ meitumobile.com meitumv.com meitun.com meituncdn.com +meituo.shop meitupaipai.com meitupic.com meitupingzi.com @@ -70139,7 +69243,6 @@ meiturom.com meitushop.com meitushouji.com meitusnap.com -meitustat.com meitustatic.com meitustore.com meitutaotao.com @@ -70208,7 +69311,6 @@ meldingcloud.com melizhi.com mellowgroups.com melon-eptc.com -melon.cdnetworks.com melon.icu melotgroup.com memblaze.com @@ -70242,7 +69344,6 @@ mengaite.com mengarchitects.com mengat.com mengbige.com -mengchenghui.com mengchongzu.com mengdian.com mengdie.com @@ -70262,7 +69363,6 @@ menglan.com menglechong.com menglegame.com menglu.com -mengmax.fun mengmayw.com mengmei.org mengniang.tv @@ -70273,15 +69373,11 @@ mengou.net mengqingpo.com mengqiuju.com mengsang.com -mengshitec.com mengso.com -mengtaisuoli.org mengte.online mengtian.com mengtuiapp.com -mengtuoshi.wang mengvlog.com -mengwuji.net mengxi.com mengxiang.com mengxiangeka.com @@ -70305,13 +69401,13 @@ menshiny.com mentamob.com mentorsc.com mentrends.com +menu-static.gog-statics.com menubarx.app menwee.com menww.com menwww.com menxue.com menyuannews.com -meooe.com meovse.com meow.plus meowcat.org @@ -70322,7 +69418,6 @@ meppon.com merach.com mercedes-benzarena.com merchaincargo.com -merchant-partners.org mercitime.com mereith.com mergeek.com @@ -70330,23 +69425,19 @@ merklechina.com merkpd.com merlinexh.com merlinmedicine.com -mernrza.com mero-db.com merries-china.com merroint.com merryhome.com -meryt111.fun mescroll.com meshiot.com mesince.com mesnac.com +mesonart.com mesou.net mesowe.com mesresearch.com messecloud.com -mesu-cdn.apple.com.akadns.net -mesu-china.apple.com.akadns.net -mesu.apple.com mesule.com met.red met169.com @@ -70359,6 +69450,7 @@ metal-min.com metal-tube.com metal.com metalchina.com +metalrevolution.com metalsinfo.com metalyoung.com metaoptronics.com @@ -70369,9 +69461,10 @@ metastudioxr.com metastudy.vip metasyun.com metatai.xyz +metatrader4.com +metatrader5.com metatube.pro metavatar.cc -metaversemolecule.com metawalle.com metax-tech.com metayuanjing.com @@ -70383,11 +69476,9 @@ meteric.com metersbonwe.com metin520.com metispharma.com -metmt.com metnews.net metong.com metools.info -metrics.deploy.akamai.com metro-3d.com metroer.com metrofastpass.com @@ -70403,7 +69494,6 @@ mevionchina.com mew.fun mewx.art mexicopanama.com -meximexi.me mexingroup.com mexontec.net mexue.com @@ -70411,6 +69501,7 @@ mexxum.com meyet.net meyoufreight.com meyum1688.com +mezamca.com mezhiyu.com mezw.com mf-y.com @@ -70423,6 +69514,7 @@ mfbuluo.com mfcad.com mfcad.net mfcpx.com +mfcteda.com mfcyun.com mfdl666.com mfdns.com @@ -70443,7 +69535,6 @@ mfpad.com mfpay.net mfpjrj.com mfqqx.com -mfqwdz.com mfqyw.com mfsj1908.com mftianshanam.com @@ -70457,8 +69548,9 @@ mg-cdn.com mg-pen.com mg21.com mg3721.com -mgc-games.com +mgaqehzm.com mgcan.com +mgcmehzt.com mgd5.com mgdq.net mgdzz.com @@ -70481,12 +69573,10 @@ mgmovie.net mgmtg.com mgmusic.vip mgnav.com -mgnewvision.com -mgogo.com mgongkong.com mgplay.com.tw mgpyh.com -mgs123.com +mgryekby.com mgsdk.com mgslb.com mgslb.net @@ -70495,8 +69585,8 @@ mgsp.fun mgszl.com mgtv.com mgtv2025.com +mgugaklive.nowcdn.co.kr mgw999.com -mgwcn.com mgwxw.com mgxf.com mgxzsy.com @@ -70516,7 +69606,6 @@ mhacn.net mhaoma.com mhbras.com mhcharging.com -mhdlll.com mhealth100.com mhfotos.com mhhf.com @@ -70541,22 +69630,22 @@ mhtes.com mhtyd.com mhtzjt.com mhukasx.com -mhuos.com mhv2.net mhw315.com mhwck.com mhwh168.com mhwmm.com mhwy2.com -mhwy6.icu mhxk.com mhxzhkl.com mhystatic.com mhyun.net mhzd.cc mhzd.net +mi-ae.com mi-ae.net mi-cache.com +mi-cdn.com mi-customer.com mi-dong.com mi-dun.com @@ -70572,7 +69661,6 @@ mi-img5.com mi-static.com mi.com mi0.cc -mi1.cc mi72.net mia.com mian520.com @@ -70601,6 +69689,7 @@ miao-lang.com miao15777790078.com miaobe.com miaobige.com +miaobolive.com miaoche.com miaocode.com miaodiyun.com @@ -70616,7 +69705,6 @@ miaokan.com miaokan100.com miaolaoshi.com miaole1024.com -miaolejieshui.com miaolianyunapp.com miaolingbio.com miaomaicar.com @@ -70654,11 +69742,11 @@ miaoyun.link miaozanba.com miaozao.com miaozhan.com -miaozhen.com miaozhu888.com miaozhun.com miaozhunjing.net miaozuo.com +miawycxs.com miaxis.com miaxis.net miazhiyou.com @@ -70690,10 +69778,6 @@ micro-bee.com micro-bridge.com micro-game-client.com micro-x.net -microad-cn.com -microad.jp -microad.net -microadinc.com microbeee.com microbell.com microbt.com @@ -70702,7 +69786,7 @@ microcardio.com microchampion.com microdiag.com microdreams.com -microfog.me +microesim.com microfotos.com microfountain.com microlz.com @@ -70710,7 +69794,6 @@ micronetpay.com microrui.net microsate.com microsoft-ware.com -microsoftuwp.com microstarsoft.com microstern.com microsword.net @@ -70734,6 +69817,7 @@ midainc.com midanyi.com midasbuy.com midea-buy.com +midea-hotwater.com midea.com midea.com.tr mideabiomedical.com @@ -70757,7 +69841,6 @@ midongtech.xyz midu.com miduiedu.com midukanshu.com -miduoke.net midureader.com midust.com midway.run @@ -70781,16 +69864,17 @@ mifengzd.com mifengzhibo.com mifenlife.com mifispark.com +mifjhgq.xyz mifpay.com mifwl.com migames.com -mige.tv migelab.com miglioriorologi.com migood.net migucloud.com migufm.com migufun.com +migugk.com migugu.com miguku.com migumaotrip.com @@ -70810,7 +69894,6 @@ mihua.net mihuangame.com mihuashi.com mihuatown.com -mihui.com mihui365.com mihulu.com mihuwa.com @@ -70832,7 +69915,7 @@ mijian360.com mijiannet.com mijiayou.com mijiayoupin.com -mijifen.com +mijisou.com mijwed.com mika123.com mike-x.com @@ -70899,7 +69982,6 @@ milvzn.com milyf.com mimangfei.com mimayun.com -mimeihui.com mimi123.vip mimi518.com mimidi.com @@ -70908,13 +69990,11 @@ mimimeu.com mimiteng.com mimixiaoke.com mimiyc.net -mimo.skypixel.com mimo51.com mimomim.com mimoprint.com mimouse.net mimvp.com -minanfw.com minapp.com mincache.com mincdn.com @@ -70927,11 +70007,11 @@ mindcherish.com mindcontroles.com mindechem.com mindmanagerchina.com -mindmapper.cc mindmm.com mindpin.com mindray.com mindshow.fun +mindstore.io mindsun.com mindway-sz.com minebbs.com @@ -70944,7 +70024,6 @@ mineplugin.org mineraltown.net minerfun.com minerhome.com -minesage.com minewtech.com minfengtianfu.com minfufa.com @@ -70988,13 +70067,13 @@ minghezhi.com minghg.com minghuatang.com minghuaxinda.com -minghui.com minghuishijia.com mingin.com mingji001.com mingjiachina.com mingjian.com mingjian365.com +mingjian365.net mingjignfang.com mingjinglu.com mingjiudu.com @@ -71048,7 +70127,6 @@ mingyuanclub.com mingyuanfund.com mingyuanmuye.com mingyuanyun.com -mingyueqingfengshe.com mingzhi-tech.com mingzhucable.com mingzhujs.com @@ -71073,6 +70151,7 @@ minidaxue.com minidso.com minieye.cc minieye.tech +minigameam.com minigui.com minigui.org minihaowan.com @@ -71161,7 +70240,6 @@ miraclelaser.com miracleplus.com miraclevision.com miraclevision.net -miraclewallpaper.com miracomotor.com miratama.com miravia.es @@ -71195,7 +70273,6 @@ misstar.com missyuan.net misuland.com misunly.com -mitaliquor.com mitalk.com mitang.com mitangbao.com @@ -71207,9 +70284,8 @@ mitay.net miteno.com mitertec.com mitesi.com -mitest.lenovo.com -mitiplus.com mitotoo.com +mitpgxvm.com mitsubishielectric-mesh.com mitsuha.space mitsuiplastics-shanghai.com @@ -71229,7 +70305,6 @@ miutrip.com miwaimao.com miwap.com miwifi.com -miwolieba.com miwuzhentan.com mix-planet.com mix.moe @@ -71261,9 +70336,9 @@ miyoushe.com miyouu.com miyuangz.com miyun-ecomarathon.com +miyun.com miyun360.com miyuncms.com -mizalle.com mizhai.com mizhe.com mizhiji.com @@ -71275,6 +70350,9 @@ mizone.cc mizuda.com mizuki2.com mj110.net +mj365.club +mj365.site +mj365.vip mj567.com mj85.com mjasoft.com @@ -71290,9 +70368,7 @@ mjjcn.com mjjq.com mjlong.com mjlsh.com -mjmj8.net mjmjm.com -mjmobi.com mjoys.com mjqishi.com mjsdgs.com @@ -71317,8 +70393,9 @@ mk2048.com mk5.xyz mkaq.org mkb0898.com -mkbaobao.wang +mkdata.top mkf.com +mki7rxcwmfe7c.com mkjump.com mkkcn.com mklimg.com @@ -71346,14 +70423,12 @@ mkzhan.net mkzhou.com mkzoo.com ml-kq.com -ml.cdn-apple.com mlabc.com mlairport.com mlbaikew.com mlbuy.com mlc.cc mldgoing.com -mlearningcenter.lenovo.com mlexpo.com mlfjnp.com mlfkc.net @@ -71420,7 +70495,6 @@ mm111.net mm131.kim mm1357.com mm138.com -mm1qj.icu mm2hservices.com mm3yy.com mm52.net @@ -71429,6 +70503,7 @@ mm9177.com mmall.com mmaqa.com mmarket.com +mmarket6.com mmbang.com mmbang.info mmbang.net @@ -71445,7 +70520,6 @@ mmduo.com mmegg.com mmfad.com mmfj.com -mmfusheng.com mmgl.net mmgo.com mmgogo.com @@ -71458,8 +70532,6 @@ mmj.vip mmjbh.com mmjynet.com mmjzxh.com -mmkkiivv.com -mmlala.com mmlessin.com mmllllasjd.com mmloo.com @@ -71482,10 +70554,8 @@ mmscoo.com mmsfw.com mmsk.com mmssai.com -mmstat.com mmt3000.com mmtch.com -mmtrix.com mmtx.net mmuaa.com mmww.com @@ -71506,25 +70576,23 @@ mnbvbqw.com mnbvdfg.com mnbvtgv.com mnclighting.com +mndqlib.net mnengine.com mnihyc.com mnjj.group -mnkan.com -mnnmnn.com mnpc.net -mnptinibfbv.com mnwww.com -mnxhj.com mo-co.com -mo-tuo.com mo298.com mo2g.com mo7.cc mo9.com +moa06181ju.com +moa06211ju.com +moa06240ju.com +moa06250ju.com moage.com -mob.com mob55.com -mobaders.com mobaibox.com moban.com mobanhao.com @@ -71547,21 +70615,16 @@ mobcent.com mobcloud.mobi mobdna.com mobeehome.com -mobgi.com mobgroupbuy.com +mobhui.com mobiapp.cloud mobibao.com mobibrw.com -mobifobi.com mobike.com mobile-ease.com -mobile.dlms.lenovo.com +mobile.ccdntech.com mobileanjian.com -mobileapp-assets-dev.razerzone.com -mobileapp-assets-staging.razerzone.com -mobileapp-assets.razerzone.com mobilebone.org -mobiledissector.com mobilegamebase.com mobilegamecdn.com mobilelegends.com @@ -71569,9 +70632,7 @@ mobilemgr-global.com mobileppp.com mobiletrain.org mobileztgame.com -mobilpengantin.net mobispeaker.com -mobjump.com mobjz.com mobkeeper.com mobking.biz @@ -71589,7 +70650,6 @@ mobvoi.com mobwan.com mocache.com mocafilm.com -mocafilm.tv mocartoon.com moccaanimation.com mocdn.xyz @@ -71615,6 +70675,7 @@ modashi.net modb.cc modb.pro modelarts-infer.com +modelarts-maas.com modelevel.com modelltd.com modelones.com @@ -71675,6 +70736,7 @@ moeyuuko.com moeyy.xyz moezx.cc mofacdnode.com +mofadns.online mofahou.com mofang.com mofang.jp @@ -71684,7 +70746,7 @@ mofanghr.com mofangshe.com mofangwang.com mofangyu.com -mofashi1.com +mofanodes.com mofavideo.com mofazhu.com moffettai.com @@ -71694,6 +70756,10 @@ mofmicrosoft.com mofoun.com mofunenglish.com mogao.com +mogecloud.com +mogecloud.net +mogengyun.com +mogengyun.net mogezhouyi.com mogher.com mogoedit.com @@ -71713,7 +70779,6 @@ mogujie.com mogujie.org mogujielive.com mogumiao.com -moguproxy.com mogutong.com moguv.com moguvet.com @@ -71721,6 +70786,7 @@ moguyun.com moh.cc moh7.com mohangkeji.net +mohjdvh.com mohou.com mohu.org mohuishou.com @@ -71745,10 +70811,12 @@ mojitok-c.com mojocube.com mojusteel.com mojy.xyz +mok8uptsmk19.com mokahr.com mokamrp.com mokatyper.com mokayuedu.com +moke.com moke9.com mokeyjay.com moko.cc @@ -71758,6 +70826,7 @@ molbase.net molcoo.com moldinginductor.com moldnano.com +moleecel.com molefitting.com molegu.com molerose.com @@ -71771,14 +70840,12 @@ molihuadami.com molilian.com molilier.com molimoli.tech -molinsoft.com moliplayer.com molipy.com moliqiji.com molixiangce.com molizm.com mollervilla.com -molpmh.xyz molwater.com molygoo.com mom001.com @@ -71787,7 +70854,6 @@ mombuybuy.com moment.fun momentad.com momentcake.com -momentum.akamai.com momhui.com momishi.com mommygf.com @@ -71801,8 +70867,8 @@ momotn.com momoyu.cc momoyu.com momoyuyouxi.com -momself.club momzs.com +monadyneed.com monaite.com monarch-sw.com moneak.com @@ -71815,6 +70881,7 @@ monhun.fun monidai.com monidata.com monitoring.qpdp1.net +monkeylsp.com monknow.com monolink.net monph.com @@ -71823,7 +70890,6 @@ montage-tech.com monternet.com montnets.com montres8.com -montylee.cc monv.com monxin.com moocollege.com @@ -71831,11 +70897,9 @@ mooctest.net moodmoon.com moodoon.com moof87.com -moogos.com mooiee.com moojing.com moojnn.com -mookob.com moolsun.com moomoo.com moomooequity.com @@ -71846,7 +70910,6 @@ moonbio.com moonbitlang.com moonbt.com mooncell.wiki -mooncoalition.com moonfly.net moongood.com mooninbox.com @@ -71857,19 +70920,18 @@ moonsees.com moonstatistics.com moonton.com moontonapp.com +moontontech.net moonvy.com moooc.cc mooooc.com mooool.com mooore.net moooyu.com -moorburn.com moore.ren moore8.com moorecat.com mooreelite.com mooreiot.com -mooreren.com moorext.com moowo.com mooyuu.com @@ -71887,7 +70949,6 @@ mopo.com mopoint.com mopsky.com mopxz.com -moqdy.icu moqie.com moqiehome.com moqifei.com @@ -71898,7 +70959,6 @@ moqingtk.com moqipobing.com moqiwanba.com moqu8.com -moquanad.com moquseo.com moraex.com morange.shop @@ -71906,9 +70966,9 @@ mordernstone.com more-fish.com morechinese.cc moreck.com -mored.com moredian.com morefood.com +morefreegame.com morefun-philippines.com moregy.com moreless.io @@ -71919,10 +70979,12 @@ morequick.com morequick.net moresing.com morestep.com +morethan.tv moretickets.com morevfx.com morewis.com morewiscloud.com +morganstanleyhuaxin.com morgendesign.com morihei.net morilady.com @@ -71937,6 +70999,7 @@ morninginn.com morningwhistle.com morong-elec.com morstar.net +moschat.com moseacg.com moseeker.com mosesenglish.com @@ -71948,7 +71011,6 @@ moshengliang.com moshike.com moshou.com moshua.net -moshuqiqiu.com mosoga.net mossimo.net mossle.com @@ -71978,7 +71040,6 @@ motormade.com motowoo.com motuo2.com mou.ge -mouaa.com mougor.com mouldbbs.com mouldnews.com @@ -71991,11 +71052,13 @@ moushei.com mousycoder.com mout.me moutaichina.com +mova-tech.com movcam.com movebroad.com movelaser.com movesee.com movesky.net +movie.mcas.jp movie365.tv moviemore.com moviereviewtoday.com @@ -72008,7 +71071,6 @@ mox.moe moxfive.xyz moxiai.com moxian.com -moxiang.plus moxiaoying.com moxidongman.com moxin.me @@ -72020,6 +71082,7 @@ moxiu.com moxiu.net moxiwh4.com moxuangenet.com +moxz.net moyangmoyang.com moyann.com moye.me @@ -72029,7 +71092,6 @@ moypk.com moyubuluo.com moyude.ren moyugroup.com -moyult.com moyunteng.com moz8.com mozartsemi.com @@ -72048,7 +71110,6 @@ mp17.com mp3-switch.com mp4ba.com mp4cn.com -mp4us.com mpaascloud.com mpacc.cc mpacc.com @@ -72061,6 +71122,7 @@ mpcloudapp.com mpdaogou.com mpdn.fun mpdsj.com +mpg.de mph11.com mphdx.com mpiano.com @@ -72081,7 +71143,6 @@ mpyit.com mqant.com mqc168.com mqcoffee.com -mqgpo.com mqguitar.com mqhospital.com mqikan.com @@ -72090,8 +71151,6 @@ mqqurl.com mqqy.com mqrouter.com mqsyr.com -mqtt-mtls.cnno1.uds-sit.lenovo.com -mqtt.cnno1.uds.lenovo.com mqttdkx.vip mqttx.app mquan.fans @@ -72132,6 +71191,7 @@ mroall.com mrobao.com mrpyq.com mrqf.com +mrqoxfvs.com mrqxs.com mrsdgg.com mrsingsing.com @@ -72142,9 +71202,7 @@ mrts.com mru-taste.com mrutaste.com mrvcdn.com -mrw.so mrwish.net -mrxcys.com mrxiao.net mrxwlb.com mryunwei.com @@ -72154,14 +71212,13 @@ ms08067.com ms211.com ms315.com ms6666111.com +ms7caryw5i48t.com msanjia.com msbank.com msbcluray.com mscbsc.com mscdntrip.com -mschcdn.com mscodecloud.com -mscto.com msd-facing.com msddp.com msdn.download.prss.microsoft.com @@ -72175,6 +71232,8 @@ msfpay.com msftonlinelab.com msgamego.com msgcarry.com +msgr.dlservice.microsoft.com +msgruser.dlservice.microsoft.com msgtjj.com msh2020.com mshandong.com @@ -72192,7 +71251,6 @@ msits.com msjingmi.com msjpay.com msjy123.com -mskjf.com mskoo.com msltbio.com mslzk.com @@ -72206,24 +71264,19 @@ mspace.cc mspacecd.com mspharm.com msproduct.download.prss.microsoft.com -msrtvu.net msstatic.com mst-jc.com mst2018.com mstatik.com mstchina.com -mstmsbz.com mstxx.com msudz.com msunland.com msvod.com -msw9.net msweekly.com msxf.com msxf.net msxh.com -msxiaobing.com -msxiaoice.com msxt.com msxxg.com msy5.com @@ -72243,6 +71296,7 @@ mt-bbs.com mt-viki.com mt-wire.com mt180.com +mt22q4s3w5.com mt3.com mt77.com mt888vip.com @@ -72291,6 +71345,7 @@ mtmss.com mtmssdn.com mtmssdn0.com mtmt.tech +mtmyg.com mtmyw.com mtn-db.com mtnets.com @@ -72312,7 +71367,6 @@ mtwine.com mtwl.net mtxgx.com mtxshop.com -mtxsk.com mtxyx.com mtxzs.com mtyun.com @@ -72352,7 +71406,6 @@ mufengyue.com muftc.com muge.info mugeda.com -muguacdn.com muguang.me muguayuan.com muhai.net @@ -72395,6 +71448,7 @@ mungerlab.net muniao.com munling.com munue.com +muomou.com mupao.com mupceet.com muqianyun.com @@ -72415,7 +71469,6 @@ museradio.net musestudio.net musetransfer.com mushafa.net -music.apple.com music4x.com musicchina-expo.com musiccia.com @@ -72448,6 +71501,7 @@ muwaifanzhiliao.com muwenxi.com mux5.com muxell.com +muxia.fun muxin.fun muxiulin.com muyangkuaibao.com @@ -72471,19 +71525,20 @@ muzhibot.com muzhicao.com muzhifm.com muzhigame.com +muzhiwan.com muzhun.com -muzi999.com muziang.com muzijie.com muzisoft.com muziyueqiu.com -muzsj.com muzuhui.com -mvad.com mvashanghai.org mvcat.com mvhere.com +mvmaster.com mvoicer.com +mvopri5ac153.com +mvorgexv.com mvote.net mvpdj.com mvpmeta.com @@ -72492,21 +71547,21 @@ mvpsky.com mvs-intel.com mvtianshanlr.com mvwchina.com -mvwitz.xyz mvyxws.com mw.com mw1950.com mwadx.com mwave.tech +mwcdns.com mwclg.com mwcloudcdn.com mwcloudcdn.info mwcname.com mweda.com +mwemp.com mwjournalchina.com -mwjpk.com mwkhjc.com -mwm.moe +mwquicio.com mwrf.net mwrfabc.com mwsbwcl.com @@ -72537,6 +71592,7 @@ mxdmf.com mxdpark-gs.com mxdraw.com mxdraw3d.com +mxdx.net mxdzlk.com mxeosbvt.com mxew.com @@ -72547,13 +71603,10 @@ mxhaitao.com mxhichina.com mxhthw.com mxifund.com -mxitie.com mxivi.com -mxj.cx mxjd.com mxjsjx.com mxjtedu.com -mxjyw.com mxjyxx.com mxk.cc mxkjai.com @@ -72568,7 +71621,6 @@ mxomo.com mxpharm.com mxqe.com mxria.com -mxs.com mxsyzen.com mxtcn.com mxtronics.com @@ -72587,9 +71639,8 @@ my-cpaas.com my-imcloud.com my-le.com my-ndns.com +my-qcloud.com my-summit.com -my.akamai.com -my.dji.com my.st.com my0511.com my0511.net @@ -72631,6 +71682,7 @@ myalirtc.com myallvalue.com myanjian.com myanmarembassy.com +myanonamouse.net myapp.com myapp.ltd myaqsh.com @@ -72659,10 +71711,10 @@ mycdn-cache.com mychery.com mychery.net mychinaevent.com +mychinaunicom.com mychuguan.com mychunyan.net myckjr.com -mycleanmymac.com mycloudstudy.com myclub2.com mycnc.org @@ -72697,7 +71749,6 @@ mydigi.net mydigit.net mydigitex.com mydiyclub.com -mydjiflight.dji.com mydnns.com mydns114.net mydns8.com @@ -72706,6 +71757,7 @@ mydnspod.net mydnsw.com mydoc.io mydoc123.com +mydor.com mydown.com mydrivers.com mydyt.com @@ -72714,13 +71766,13 @@ myechannel.com myechinese.com myeclipsecn.com myekp.net +myelasticsearch.com myeriri.com myex.cc myezdns.com myfans.cc myfdmg.com myfhospital.com -myfreshnet.com myfrfr.com myfun7.com myfund.com @@ -72736,7 +71788,6 @@ myguancha.com mygymchina.com mygzb.com myhaowai.com -myhard.com myhayo.com myhc.net myherocn.com @@ -72758,12 +71809,14 @@ myhuaweicloud-obs.com myhuaweicloud.com myhuilv.com myhwcdn.com +myhwcloudlive.com myhwclouds.com myhwclouds.net myidc.club myider.com myie.me myie9.com +myilibrary.com myimis.com myip.la myiplay.com @@ -72797,7 +71850,6 @@ mylightsite.com mylike.cc mylike.com mylike120.com -mylikechat.com mylikesz.com mylikeyk.com mylinkapp.hk @@ -72846,7 +71898,6 @@ mypharma.com mypian.com mypiao.com mypiaojia.com -mypikpak.com mypikpak.net mypitaya.com mypity.com @@ -72867,12 +71918,12 @@ myrb.net myreadcloud.com myreadme.com myrice.com +myrightone.com myriptide.com myroome.com myrqjt.com myrrcar.cc myrrcar.com -myrtb.net myrunners.com mysbaojie.com mysecretrainbow.com @@ -72880,11 +71931,9 @@ mysemlife.com myseot.com myshipjob.com myshoptago.com -myshou.com +myshow360.net myshow800.com myshown.com -myshxz.com -mysinablog.com mysinamail.com mysipo.com mysiteres.com @@ -72911,7 +71960,6 @@ mysuperdns.com mysvw.com myt126.com mytaizhou.net -mytanwan.com mytaofun.com mythbird.com mythcall.com @@ -72927,6 +71975,7 @@ mytju.com mytokenapi.com mytokenpocket.vip mytoptown.com +mytqwpe.com mytrix.me myttjp.com mytv365.com @@ -72938,6 +71987,7 @@ myuclass.com myujob.com myun.tv myunke.com +myunlu.com myunying.com myusmile.online myvipsalon.com @@ -72977,11 +72027,9 @@ myzte.com myztxyy.com myzxsx.com myzxyy.com -myzybo.com myzyy.com myzyzy.com mz-oneacg.com -mz0759.com mz186.com mz52.com mz6.net @@ -72989,7 +72037,6 @@ mz99.com mzbei.com mzbkw.com mzboss.com -mzcsdf.com mzdscm.com mzeyes.com mzfanyi.vip @@ -73010,12 +72057,14 @@ mzjiacheng.com mzjinyan.com mzjzs.com mzklg.com +mzksgmex.com mzli.club mzlwxw.com mzlx88.com mzlxcl.com mzmjyy.com mznnyud.com +mznznj.com mzone.site mzqbt.com mzrcw.com @@ -73028,6 +72077,7 @@ mzsky.cc mzsmn.com mzsrmyy.com mzssysmyxgs.com +mzstatic.com mzsvn.com mztgame.com mztspa.com @@ -73037,10 +72087,10 @@ mzuimg.net mzwu.com mzxjzp.com mzxstar.com -mzxun.com mzy0.com mzyege.com mzyfz.com +mzyispmc.com mzyjfcn.com mzyoudao.com mzyun.ren @@ -73055,16 +72105,17 @@ n0808.com n0vadesktop.com n12345.com n13.club +n18.rcs.revma.com n1b.com n2017.com n21.cc n21ce.com +n283nser4cjz.com n2ij46poes.shop n3sd.com n459.com n5w.com n63.com -n69.com n7433.com n802.com n8soft.com @@ -73072,12 +72123,10 @@ n9z.net na.ci na1r.com na2sib.com -na7.cc naadou.com naaln.com nabluemedia.com naboyi.com -nabucuo.com nac88.com nachuan.com nacuiwei.com @@ -73133,11 +72182,9 @@ nalanchuanmei.com nalanxi.com nalati.com nalichi.com -nalook.com name1688.com name2012.com name321.net -namedq.com nameidi.com namejin.com namepre.com @@ -73180,7 +72227,6 @@ nanfang-pump.com nanfangfood.com nanfen.com nanfu.com -nangongmall.com nanguache.com nanguakexue.biz nanguakexue.com @@ -73260,9 +72306,7 @@ nanpua.com nanputuo.com nanqi.org nanqiangbusiness.com -nanrenshang.com nanrentu.cc -nanrenvip.cc nanrenwa.com nanrenwo.net nanrenzhi.com @@ -73277,7 +72321,6 @@ nantongfeixu.com nantonghua.net nantoujituan.com nanvi.com -nanwangdianlanjt.com nanwoo.com nanxi.me nanxiang.info @@ -73288,12 +72331,12 @@ nanxunfb.com nanyangcable.com nanyangcn.net nanyangdianlan.com +nanyangpt.com nanyangzb.com nanyinwealth.com nanyuecloud.com nanyuenews.com nanyuetong.com -nanzao.com nanzhao1.com nanzhougroup.com naobaocun.com @@ -73309,7 +72352,6 @@ naozhong.net naozhong.org napengzn.com napiantian.com -napthetocchien.com naqing-tech.com naquan.com naquan.org @@ -73333,7 +72375,6 @@ nasfreight.com nasge.com nasgetinfo.com nashwork.com -nasimobi.com nasinet.com naslab.club nastcorp.com @@ -73351,6 +72392,7 @@ natconn.com natergy.com natertech.com natfrp.com +natgmj.com natiandj.com nationalchip.com nationalee.com @@ -73363,6 +72405,7 @@ naturali.io naturaltfc.com naturalvision.org nature-museum.net +nature.com natureholisticwellness.com naturesvariety-china.com natywish.com @@ -73391,6 +72434,7 @@ nb0817.com nb160.com nb301.xyz nb591.com +nba.com nba98k.com nbabm.com nbahero.com @@ -73407,7 +72451,6 @@ nbaqx.com nbaxiaoshuo.com nbbiao.com nbbjack.com -nbbull.com nbbuxiutie.com nbcbd.com nbcentre.com @@ -73433,7 +72476,6 @@ nbenl.com nbfeyy.com nbfkgs.com nbfox.com -nbfzsj.com nbgdjt.com nbginnovations.com nbgj.net @@ -73448,6 +72490,7 @@ nbhao.org nbhechang.com nbhhgroup.com nbhky.com +nbhuke.com nbhxmr.com nbhysj.com nbidifund.com @@ -73468,7 +72511,6 @@ nbkaisheng.com nbkc-rp.com nbkdl.com nbkjcx.com -nbkjjx.com nbkqyy.com nblhlyy.com nblhwy.com @@ -73501,7 +72543,6 @@ nbren.net nbrj.com nbrlzy.com nbruili.com -nbsason.com nbscxh.com nbsdjyy.com nbsfgy.com @@ -73521,7 +72562,6 @@ nbstrans.com nbsz.com nbszgd.com nbt.ren -nbtdd.com nbtlwl.com nbtobacco.com nbtzjd.com @@ -73582,7 +72622,6 @@ ncfz.com ncgprq.com nch-bg.com nchq.cc -nchte.com nchtech.com nchycw.com ncidbj.com @@ -73594,6 +72633,7 @@ ncmem.com ncmtkj.com ncmtr.com ncnynl.com +ncore.cc ncpa-classic.com ncpc.biz ncpqh.com @@ -73612,13 +72652,13 @@ nctzsj.com ncu.me ncvt.net ncvtmi.com -ncwckj.com ncwsxh.org ncwsxx.com ncxb.com -ncxhc.com ncxhrc.com +ncxinshou.com ncxuw.com +ncyrqs.com ncyscb.com ncyunqi.com nczfgjj.com @@ -73674,7 +72714,6 @@ ne01.com ne21.com ne365.com ne56.com -nealee.com neapme.com nearcharge.com nearsnet.com @@ -73684,6 +72723,7 @@ neat-reader.com neatifyapp.com nebulogy.com neccsh.com +necgokr2-724.acs.wecandeo.com necool.com nedfon.co nedigitals.com @@ -73696,10 +72736,12 @@ neets.cc neeu.com nefertitiware.com nefficient.co.kr +neffkb.com nei-mao.com nei.tm neigou.com neihan.net +neihancommunity.com neihancommunity.net neihandiantai.com neihanfly.com @@ -73746,10 +72788,11 @@ neolee.com neolix.net neomodulus.com neoremind.com +neoscholar.com +neoschool.com neosey.com neoyon.com nep-logistics.com -nephele.tripcdn.com neptcn.com neptunus.com neqtahotelshanghai.com @@ -73761,7 +72804,6 @@ nerocats.com nerochat.com nerve-corp.com nervepotato.com -neryt111.fun nes-auto.com nesbbs.com nesoso.com @@ -73787,7 +72829,6 @@ netac.com netandtv.com netat.net netbian.com -netbirds.com netbooo.com netchina100.com netcoc.com @@ -73826,16 +72867,15 @@ netpoint25.com netposa.com netqd.com netreds.com -netrf.wang netsmell.com netspreading.com netstatic.net netsun.com netswise.com netsyq.com +nettvpro.live netvp.net -network.deploy.akamai.com -networkbench.com +network-hk.com networkesl.com networklo.com netzonesoft.com @@ -73868,7 +72908,6 @@ newaircloud.com newamigo.net newamstar.com newansha.com -newapi.com newaq.com newasp.com newasp.net @@ -73943,7 +72982,6 @@ newnanbao.com newnewle.com newniu.com newoasis.cc -newoer.com newoo.com neworiental.org nework360.com @@ -73952,13 +72990,14 @@ newposture.vip newqjsteel.com newrathon.com newrizon.com -news-cdn.site news18a.com +newsapp01.com newsccn.com newscctv.net newseasoft.com newsgd.com newsgu.com +newshengwei.com newshs.com newsighting.com newsing.com @@ -73975,7 +73014,6 @@ newsmy.com newsmyshop.com newsn.net newspluse.com -newspress.name newssc.net newssc.org newstarpress.com @@ -73989,6 +73027,7 @@ newsxcar.com newsxy.com newsyc.com newszjk.com +newtab123.com newtalentaward.com newtimeai.com newtimevalve.com @@ -74006,7 +73045,6 @@ newvr.com newwatchesale.com newxing.com newxitong.com -newxry.com newxue.com newyanshamall.com newyiben.com @@ -74033,6 +73071,7 @@ nextstudios.com nexttao.com nexttix.net nextvid.net +nextworkshop.net nextyu.com nexus-holding.com nexus.dell.com @@ -74058,13 +73097,13 @@ nfdx.net nffq.net nffund.com nfgjhr.com -nfkos.com nflchina.com nflsxl.com nfmedia.com nfmrtfv.com nfmz168.com nfnews.com +nfoservers.com nfpeople.com nfqbyp.com nfs-china.com @@ -74087,6 +73126,7 @@ ng021.com nga.wiki ngaa.info ngaa.shop +ngaa.top ngaacdn.com ngaacdn.net ngaagslb.com @@ -74111,7 +73151,6 @@ ngjjtg.com ngkjjt.com ngksz.com ngmap.com -ngmco.net ngmyt.com ngngf.com ngnice.com @@ -74137,15 +73176,16 @@ nhcec.com nhcilab.com nhcsw.com nhd-mart.com +nhdacrw.xyz nhdia.com nhdmd.com nhfyyy.com nhganggeban.com nhhongyi.com nhjjlt.com -nhjn788.fun -nhjnw78.fun nhkaiyang.com +nhkw-zh-hlscomp.akamaized.net +nhkwlive-xjp.akamaized.net nhlq.com nhmuni.com nhnexpo.com @@ -74191,8 +73231,8 @@ nibaku.com nibiye.com nibj.com nibomu.com -nic.citic nic.ren +nic.xin nicaicheng.com nicaifu.com nicaifu.net @@ -74208,7 +73248,6 @@ niceinno.com niceios.com niceisp.com nicekid.com -nicelabel.cc niceloo.com nicenergy.com nicesnow.com @@ -74252,7 +73291,6 @@ nihaotv.net nihaotw.com nihaowang.com nihil.cc -nihuwo.asia niiam.com niiceda.com niiddm.com @@ -74265,11 +73303,8 @@ nikebiji.com nikefans.com niketracking.com nikke-de.com -nikke-en.com nikke-fr.com nikke-global.com -nikke-jp.com -nikke-kr.com nikke-sea.com nikkisoft.com nikkiup2u2.com @@ -74277,6 +73312,7 @@ nikkon-china.com nilai.com nileloan.com nilend.com +nim-lang-cn.org nimitzvac.com nimolife.com nimotion.com @@ -74298,7 +73334,6 @@ ningbocat.com ningboenlighten.com ningboexport.com ningbofy.com -ningbojipiao.com ningborunner.com ningbotianxia.com ningbotm.net @@ -74342,6 +73377,7 @@ niparts.com nipei.com nipic.com nipponcore.com +nis.stream.publicradio.org nischina.org nishuoa.com nissmi.com @@ -74352,8 +73388,6 @@ niu-tu.com niu.com niua.com niuacc.com -niuaimian.com -niuaniua.com niuap.com niubalun.com niubb.net @@ -74370,7 +73404,6 @@ niucodata.com niudai120.com niudashu.com niudie.cc -niudu88.com niufang.net niufun.com niug8.com @@ -74401,10 +73434,8 @@ niutoushe.com niutrans.com niuwatch.com niuwk.com -niuxgame77.com niuxiaoer.net niuxyun.com -niuyan8.com niuyou5.com niuyuan.com niuza.com @@ -74416,7 +73447,6 @@ nivtc.com niwangwang.com niwodai.com niwodai.net -niwota.com niwoxuexi.com nixi.win nixin99.com @@ -74513,6 +73543,7 @@ njcjszyy.com njcjzz.com njcky.com njcl-gear.com +njclwlkj.com njcmotor.com njcmsj.com njcnmc.com @@ -74527,7 +73558,6 @@ njcyt99.com njd1.com njdapaidang.com njdatang.com -njdcrc.com njdewo.com njdftl.com njdfwb.com @@ -74541,6 +73571,7 @@ njdqgytg.com njdtyx.com njdyfr.com njdzjcyq.com +njdzn.com njeport.com njfdyy.com njfjkj.com @@ -74588,7 +73619,6 @@ njguotong.com njguoxuan.com njgy.net njgyjx.com -njgyxx.com njgzm.com njhanrui.com njhbyl.com @@ -74637,7 +73667,6 @@ njicia.com njiec.com njiig.com njimi.com -njjbrmyy.net njjbsc.com njjcbio.com njjcpm.com @@ -74659,7 +73688,6 @@ njjnwzyy.com njjnzc.com njjrc.com njjrkj.com -njjrlf.com njjspzx.com njjst.com njjsxy.com @@ -74764,7 +73792,6 @@ njpmp.com njpuao.com njpud.com njpujiang.com -njq.net njqchyxh.com njqhjy.net njqifu.com @@ -74930,7 +73957,6 @@ njyysf.net njyz.net njyzdl.com njyzgz.com -njyzjaz.com njyzmj.com njzb.net njzb.org @@ -74960,16 +73986,13 @@ njzxxyy.com njzychemical.com njzztyl.com nk-sh.com -nkdgnsfsk.com nkf-pharma.com nkiec.com nkjy.com nks1688.com -nkscdn.com nkshw.com nkuytzv.com nkygty.com -nkyp.com nkzy.com nlark.com nlbgt.com @@ -74986,7 +74009,6 @@ nlscan.com nlteck.com nlttms.com nlww168.com -nlxdsy.com nlxfybjy.com nlxn.com nlyiren.com @@ -75011,7 +74033,6 @@ nmgatdj.com nmgbaiju.com nmgchigang.com nmgchina.cc -nmgcysm.com nmgczx.com nmgd.com nmgfood.net @@ -75139,7 +74160,6 @@ nnduyi.com nndwjc.com nndya.com nndylm.com -nndzsw1.com nnedqp.com nnedu.com nnewn.com @@ -75148,7 +74168,6 @@ nnfcch.com nnfcetyy.com nnfcxx.com nnfdys.com -nnfiy.com nnflkyz.com nnflzyyy.com nnfrp.com @@ -75168,7 +74187,6 @@ nngljc888.com nngreenscm.com nngrhj.com nngtbw.com -nngtjx.com nnguphoto.com nngxqscy.com nngyds.com @@ -75201,7 +74219,6 @@ nnhwxh.com nnhxgg.com nnhxwygs.com nnhytyy.com -nnhywh.com nnhzkj888.com nnhzt.com nnicv.com @@ -75222,7 +74239,6 @@ nnjingda.com nnjingyuan.com nnjioko.com nnjiuji.com -nnjiurun2018.com nnjiuzhidu.com nnjj120.com nnjjk.com @@ -75269,7 +74285,6 @@ nnlib.com nnljhb.com nnljoa.com nnljsw.com -nnljyx.com nnlqg.com nnlsbl.com nnlvdu.com @@ -75298,7 +74313,6 @@ nnnen.com nnnews.net nnnfsy.com nnngs.com -nnnjjn.com nnnntv.com nnnuo.com nnpckj.com @@ -75306,7 +74320,6 @@ nnpma.com nnpml.com nnpnzx.com nnpp.vip -nnpurapple.com nnqbhb.com nnqh.net nnqianfan.com @@ -75341,7 +74354,6 @@ nnshzhg.com nnsirui.com nnsjcgs.com nnsjl.com -nnsl88.com nnslx.com nnslzy.com nnsmk.com @@ -75440,7 +74452,6 @@ nnzhp.com nnzhuoli.com nnzjjckj.com nnzjqc.com -nnzkck.com nnzksy.com nnzkzs.com nnzljx.com @@ -75496,7 +74507,6 @@ noeic.com nohup.cc noipto.host noirphoenix.studio -nois5gj.xyz noizztv.com nokeeu.com nokia-sbell.com @@ -75593,13 +74603,13 @@ normanes.com normar8888.com normcore.com normstar.net -normugtog.com norroybioscience.com norsencn.com north30degrees.com northbundforum.com northdy.com northernlights.ink +northgun.com northland-bio.com northsoar.com northtexascribs.com @@ -75618,9 +74628,7 @@ note52.com notedeep.com notetao.com notetech.org -notevm.com notidc.com -notification-list.com notonlymoon.com notrisk.com nouoo.com @@ -75644,6 +74652,7 @@ novelquickapp.com novelquickapppic.com novelsee.com novemideas.com +novipnoad.com novo-auto.com novo-biotech.com novocool.com @@ -75652,6 +74661,8 @@ novodriv.com novogene.com novosns.com novotelcitygate.com +novotrail.com +novotrails.com novots.com novtecgroup.com novtium.com @@ -75674,11 +74685,11 @@ nowscore.com nowtop.net nowwon.xyz nowxz.com +noxagile.duapp.com noxgroup.com -noxue.com +noxnny.com noxxxx.com noyes88.com -np176.com npbbs.net npbdp.com npbeta.com @@ -75702,6 +74713,7 @@ npp-battery.com npp.cc npqx.com nprc.net +nprnat-i.akamaihd.net npsdyyy.com npsel.com nptpark.com @@ -75714,6 +74726,7 @@ npz.com nq6.com nqctek.com nqez.com +nqiief.com nqjt.com nqlai.com nqmoui.com @@ -75746,6 +74759,7 @@ ns8d.com nsbdjssy.com nsbeta.info nsccsc.com +nschctw.com nscloudwaf.com nscscc.com nscscc.org @@ -75779,6 +74793,8 @@ nsm-electrical.com nsmodel.com nsmovie.com nsoad.com +nsqtlcdn.cc +nsqtlcdn.info nsrcup.com nsrfww.com nsrjlb.com @@ -75806,7 +74822,7 @@ nt.app nt.cc nt56.net nt6y.com -ntalker.com +nt7fck19y3.com ntaow.com ntc-lft.com ntc.sh @@ -75821,6 +74837,7 @@ ntdsyy.com ntdvf.com ntefyxq.com ntes53.com +ntes53.net ntescdn.com ntesmail.com ntesunn.com @@ -75829,7 +74846,6 @@ ntfan.com ntfegd.xyz ntfhgj.com ntflk.com -ntfsformac.cc ntfssh.com nthaiheng.com nthcl.com @@ -75867,8 +74883,8 @@ ntrc.com ntrcb.com ntrun.com ntsanxin.com +ntservicepack.microsoft.com ntsgx.com -ntsloadcell.com ntsuye.com nttui.com ntwikis.com @@ -75905,7 +74921,6 @@ nubia.mobi nucc.com nucleisys.com nuctech.com -nudaopws.com nuedc-ti.com nuedcchina.com nufans.net @@ -75951,7 +74966,6 @@ nuoyasite.com nuoye.xyz nuozhan.com nuozhensh.com -nupktsz.com nuptec.com nuqixi.com nuqk.com @@ -75979,7 +74993,6 @@ nv2118.com nvans.com nvcam.net nvcong.com -nvdiao.com nvdisngg-sdfsdy.com nvepu.com nvgate16.nvidia.com @@ -75991,10 +75004,8 @@ nvkul.com nvpuse.com nvpuwo.com nvsay.com -nvshenfan.com nvsheng.com nvshengjie.com -nvshuyun.com nvsip.com nvwangg.com nvwu.com @@ -76008,6 +75019,7 @@ nwct.me nwdlink.com nwell.net nweon.com +nwncd.com nwshotel.com nwswn.com nx-sc.com @@ -76015,7 +75027,6 @@ nx.cm nx5.com nxadmin.com nxcells.com -nxcm.cc nxcrb.com nxdiaosu.com nxdns.net @@ -76024,12 +75035,10 @@ nxeduyun.com nxengine.com nxez.com nxgangyi.com -nxggzyjy.org nxgjbyy.com nxgqt.org nxgtjt.com nxgyzb.com -nxhh.net nxhongshanhe.com nxin.com nxist.com @@ -76054,7 +75063,6 @@ nxstjt.com nxsyy.com nxtf.net nxtianshangb.com -nxwly.com nxxdns.com nxxh.net nxxhr.com @@ -76090,9 +75098,6 @@ nyedu.net nyefy.com nyfzx.com nygczx.com -nyhdv.com -nyhnx.com -nyhpyq.com nyjvbs.xyz nylhck.xyz nylingshang.com @@ -76145,11 +75150,9 @@ o-home.com o-hr.com o-netcom.com o-star.cc +o.pki.goog o0-2.com -o02220aokk.com -o02231aokk.com -o02251aokk.com -o02260aokk.com +o014148q7p.com o03011aokk.com o03080aokk.com o0310o.com @@ -76171,13 +75174,11 @@ o2owhy.com o2packs.com o2ting.com o37o.net -o3community.web03.huawei.akadns99.net o3ndix.com o571.com o5zyk9vu2d.com o6s.net -o7h.net -o8zoz.icu +o790l1uw6q.com oa025.com oa0351.com oa7day.com @@ -76189,7 +75190,6 @@ oabg.net oachn.net oacrm.com oact.net -oadz.com oafocus.net oahelp.com oahelp.net @@ -76209,6 +75209,7 @@ oasistry.com oatenglish.com oatos.com oauto.com +oayqwkhg.com oaz.cc ob-park.com obagame.com @@ -76248,6 +75249,7 @@ oceanaircorp.com oceanbase.com oceanbites123.com oceancloudapi.com +oceancus.com oceandatas.com oceanengine.com oceanhood.com @@ -76258,6 +75260,7 @@ oceanplayable.com ocent.net ocetest.com ocfess.com +ocft.com ochirly.com ocic-static.com ocici.com @@ -76266,20 +75269,10 @@ ocimg.com oclean.com oclkj.com ocn187.com -ocngs.globalsign.com -ocnttv.com ocochome.info ocpuritech.com -ocr.lenovo.com ocsjs.com -ocsp-lb.apple.com.akadns.net -ocsp.apple.com -ocsp.globalsign.com ocsp.pki.goog -ocsp.us.cdnetworks.com -ocsp2-lb.apple.com.akadns.net -ocsp2.apple.com -ocsp2.globalsign.com oct-asia.com oct-cts.com octbay.com @@ -76300,8 +75293,8 @@ octsszj.com octsunshine.com octwuhan.com oculist.net -ocuwyfarlvbq.com ocwms.com +ocwuaibq.com odaily.news odalong.com odao.com @@ -76317,6 +75310,7 @@ odyzj.com oealy.com oeasy.org oec365.com +oecd-ilibrary.org oecr.com oedtech.com oedun.com @@ -76331,12 +75325,12 @@ oempromo.com oemresource.com oemsoc.download.prss.microsoft.com oemsocuat.download.prss.microsoft.com +oemssl.cn.cdn.cloudflare.net oeob.net +oepamvxq.com oepkgs.net oepkgs.org -oeryt111.fun oesell.com -oesnw.com oetsi.com of3d.com ofcard.com @@ -76346,7 +75340,6 @@ ofenka.com offcn.com offer-wow.com offersloc.com -offerstrack.net office-cn.net office-kagu1.com office-peixun.com @@ -76361,7 +75354,6 @@ officectrl.com officemkt.download.prss.microsoft.com officemktuat.download.prss.microsoft.com officese.com -officesoftcn.com officeweb365.com officewj.com officezhushou.com @@ -76373,6 +75365,7 @@ ofgame.net ofidc.com ofo.com ofo2025.com +ofopp.com ofpay.com ofpay365.com ofuns.com @@ -76381,7 +75374,11 @@ ofweek.net ofyoo.com ogame3.com ogaoxiao.com +ogaqcbfi.com ogccdn.com +ogivzztz.com +ogsoyxg.com +ogxeidiv.com oh100.com oh4k.com ohaotian.com @@ -76395,7 +75392,6 @@ ohqly.com ohtly.com ohtoai.com ohtpc.com -ohuam.com ohyee.cc oi-wiki.com oi-wiki.org @@ -76427,7 +75423,6 @@ oinbag.com oincp.com oineed.com oinva5yl.com -oiocklg.com oioidesign.com oioj.net oishi-tm.com @@ -76438,7 +75433,6 @@ ojhdt.com ojidacp.com ojkjt.com ojpal.com -ojues.com ojz457.com ok-meeting.com ok0415.com @@ -76451,7 +75445,6 @@ ok165.com ok168.com ok183.com ok206.com -ok365.com ok3w.net ok619.com ok888883.com @@ -76462,7 +75455,6 @@ okad.com okada-china.com okadwin.com okair.net -okajax.com okaoyan.com okayapi.com okaybio.com @@ -76479,14 +75471,10 @@ okcxo.com okdai.com okdcc.com okdd.net -okead.com okemu.com okex.vip -okex.win -okey06.com okeycar.com okfang.com -okfhn.com okfumu.com okgoes.com okhimalayanzi.com @@ -76499,7 +75487,6 @@ okjike.com okjk.co okk123.com okki.com -okkkk.com okktee.com oklaapp.com oklink.com @@ -76510,15 +75497,9 @@ okmifeng.com okmyapp.com okng.com okoer.com -okokw.com okooo.com okoooimg.com okplife.com -okpp01021.xyz -okpp01030.xyz -okpp01031.xyz -okpp01040.xyz -okpp12311.xyz okpush.com okr.com okrecovery.com @@ -76536,7 +75517,6 @@ okuma-byjc.com okvnet.com okweb.info okwuyou.com -okx.re okxr.com okyueche.com ol-cdn.com @@ -76546,7 +75526,7 @@ olacio.com olakeji.com olami.ai olatop.com -olcdn.com +olatop.net oldboyedu.com oldcat.me oldding.net @@ -76558,7 +75538,6 @@ oldpan.me ole-vod.com olecn.com oleoad.com -olgrae.com oli-wolong.com oliannews.com olidun.com @@ -76566,7 +75545,6 @@ olinone.com olipharma.com oliver.ren oliveryang.net -oliyi.com ollomall.com olo4.com olokitchen.com @@ -76591,8 +75569,8 @@ omeet.cc omegatravel.net omegaxyz.com omen.com +omgaixm.com omgxy.com -omheth.com omiaozu.com omicsclass.com omicshare.com @@ -76604,7 +75582,6 @@ omlzx.com omlzz.com ommoo.com omni-pharma.com -omnibeautylux.com omnijoi.com omnivision-group.com omnshoes.com @@ -76623,12 +75600,11 @@ omso2o.com omycar.cc omyerp.com omz.me -omzxutfm.com on-sun.com -on5ga.icu onaliyun.com oncanyin.com onccc.com +oncdp.com onceai.com onceoa.com onche.net @@ -76637,10 +75613,8 @@ one-all.com one-netbook.com one-punch.win one.edu.kg -one.lenovo.com one918.com onealert.com -oneapm.com oneasp.com onebash.com onebiji.com @@ -76653,6 +75627,7 @@ onedict.com onedns.net oneflys.com onefoot365.com +onegg.site onegobrand.com onegreen.net onehome.me @@ -76669,7 +75644,6 @@ onekeyrom.com oneleafchina.com onelife-love.com onelinkplus.com -onelnk.com onemob.mobi onenice.tech oneniceapp.com @@ -76677,6 +75651,7 @@ onenoter.com oneonewrite.com onephper.com oneplus.com +oneplus.net oneplus6666.com oneplusbbs.com oneplusmobile.com @@ -76703,7 +75678,6 @@ oneway.mobi onewedesign.com onewo.com onewsimg.com -onewsvod.com onewtech.com onexinli.com onexmail.com @@ -76727,8 +75701,10 @@ onlineding.com onlinedown.net onlinekr.com onlinenic.net +onlinesjtu.com onlinexijiang.com onlly.com +onloon.net only-memory.com only-moment.com only4.work @@ -76756,6 +75732,7 @@ ontall.com ontheroadstore.com onthetrip.com onthink.com +onwaf.com onwear.net onwsw.com onyealink.com @@ -76763,13 +75740,10 @@ onyi.net onyuan.com onyxcina.com onyxwater.net +onyy255q8c.com oo14.com oo365.com -oo3z.icu oobao.net -oobe.cnno1.uds.lenovo.com -oobe.naea1.uds.lenovo.com -oobe.uds.lenovo.com oocct.com oocheoo.com ooclab.com @@ -76781,12 +75755,12 @@ oohdear.com oohmark.com ooiii.com oojsq.com +ooklaserver.net oolap.com oomake.com -oomyv.com -ooniu.com oonne.com oooccc.com +ooofoo.com ooogo.com oooiove.com ooomm.com @@ -76795,7 +75769,9 @@ ooooo.run oooooooooo213.com ooopic.com oopswow.com +oopz.vip oortgslb.com +oortos.tech ootu.cc oouee.com oouyan.com @@ -76815,7 +75791,6 @@ opcns.net opcool.com opdown.com opectek.com -open-adx.com open-ct.com open-douyin.com open-falcon.com @@ -76823,10 +75798,12 @@ open-falcon.org open-open.com open-search.org open-verify.cc +open.cd open1024.com open147.com open189.net open3s.cloud +openaboc.com openadx.com openailab.com openanolis.org @@ -76855,11 +75832,12 @@ opengcc.org opengslb.com openharmonyproject.com openinstall.com -openinstall.io openintelliedge.tech openke.net +openkylin.top openlanguage.com openlayers.vip +openlearning.com openlink.cc openloong.org openloongson.org @@ -76870,6 +75848,7 @@ openmv.cc openos.org openqa.com openrasp.com +openrasp.info openrasp.net openrasp.org openredcloud.com @@ -76899,6 +75878,10 @@ opp2.com oppein.com opplestore.com oppo.com +oppo.mobi +oppocolor.com +oppocoloros.com +oppodigital.com oppoer.me oppofind.com oppojia.com @@ -76916,32 +75899,31 @@ opshields.com opskb.com opskumu.com opsnote.com +opstatics.com opstatistics.com opstool.com -opszt.com opt-os.com -optaim.com optbbs.com opticaimago.com opticres.com opticsjournal.net -optimix.asia optimized-ai.com -optimus.lenovo.com optinetchina.com optmv.com optol.net optomedic.com optuk2.com optzmx.com -opus-gaming.com +opuzswk5tbt25.com opwill.com opython.com oqrstu.com oqss.com or-sun.com or77.net -oradbca.com +oracle-tencent.com +oracle-tencent.net +oracle.com oraev.com orafl.com oralpractice.com @@ -77007,6 +75989,8 @@ orientzr.com orifound.com orig-download.msi.com orig-liveupdate.msi.com +origin-a.akamaihd.ne +origin-a.akamaihd.net originalimg.com originalkindergarten.com originalstatic.com @@ -77033,37 +76017,37 @@ orstatic.com orsun.cc ortc.cc ortmk.com +orvaegao.com orvibo.com orz.asia orz520.com orz6.com +orzoupri.com orztip.com os-easy.com +os-lb.com os-os.com os-v.com os7blue.com osaaa.com osakacopyshop.com +osapublishing.org osase.net -osaws.com osbean.com osbkj.com osbzr.com oscaches.com oscarzhoud.com -oscdn.apple.com -oscdn.origin-apple.com.akadns.net oschina.com oschina.io oschina.net oscs1024.com -osd.lenovo.com -osdxx.com osechina.com osedu.net osee-dig.com oseminfo.com oserror.com +osf5xep778.com osfipin.com osgchina.org osgervirtual.com @@ -77083,7 +76067,6 @@ oslaw.net osm-pearls.com osmanbio.com osmundacn.com -osndy.com osnovacompany.com oso6.com osogoo.com @@ -77101,18 +76084,17 @@ oss.link oss.so ossdshxh.com osslan.com +osuxrq.com osvlabs.com osw3c.com oswdj.com oswhy.com osx.cx -osxapps.itunes.g.aaplimg.com osxxy.com osyunwei.com -ota-cn-sdc.blurdev.com -ota.lenovo.com otbmall.com otc-china.com +otcaumiu.com otcgd.com otcms.com otkglass.com @@ -77124,10 +76106,11 @@ otome.me otomedream.com otosaas.com otp-express.com -otp.lenovo.com otpub.com otqyzk7mx2t8.com +ott-live.olympicchannel.com ott4china.com +ottclub.com ottcn.com ottcn.help ottffss.net @@ -77145,6 +76128,7 @@ ouchgzee.com oucuibo.com oudapay.com oudas.tech +oudianyun.com oufa-travel.com oufengblog.com oufusoft.com @@ -77179,12 +76163,12 @@ ouou.com ouou.icu ououbet.com ouougo.com +oup.com oupa-tech.com oupaigroup.com oupeng.com oupeng9.com oupengcloud.net -ouplc.icu oupula.com oupuzw.com our100.net @@ -77193,11 +76177,13 @@ ourai.ws ourail.com ourats.com ouravr.com +ourbits.club ourbloom.com ourbluecity.com ourcargo.com ourcdns.com ourchem.com +ourcloudsec.com ourcm.net ourdian.com ourdlbs.com @@ -77205,19 +76191,24 @@ ourdomains.com ourdvs.com ourdvs.info ourdvs.net +ourdvsss.com ourdvsssvip.com +ourdvsvip.com ourdxz.com ourdxz.info ourdxz.org oureman.com ourep.com +ourfdn.com ourgame.com ourger.com ourglb.com +ourglb.net ourglb0.com ourglb0.info ourglb0.net ourglb0.org +ourglb0vip.com ourhf.com ourhlb.com ourhlb.info @@ -77229,6 +76220,7 @@ ourjg.com ourjiangsu.com ourjs.com ourjz.com +ourl.co ourleadchina.com ourlife365.com ourltc.com @@ -77255,6 +76247,7 @@ ourwebcdn.com ourwebcdn.info ourwebcdn.net ourwebcdn.org +ourwebcdnvip.com ourwebhttps.com ourwebpic.com ourwebpic.info @@ -77271,7 +76264,6 @@ oushisheng.com oushivoyages.com oushiyimulayou.com ousweixin.com -outdoorarmysurplus.com outerinfo.com outes.com outfit7.com @@ -77296,22 +76288,23 @@ ouzhaorj.com ouzhou.cc ouzhougoufang.com ov.gs -ov8ct.icu ovalechina.com +ovaqrzcw.com +ovcgegxa.com ovcreative.com ovdlb.com ovdream.com +ove3bi5rpn.com ovear.info ovellpump.com -overlook.fun oversea-ks-cdn.com overseaspharm.com overtrue.me -overturechina.com ovglass.com ovhlb.com ovhlb.net ovicnet.com +ovid.com ovital.com ovital.net ovmgc.com @@ -77341,9 +76334,12 @@ owseals.com owsgo.com owspace.com owulia.com -ox11.com +ox5tis8cm7zg82.com oxbridgedu.org oxerr.net +oxfordartonline.com +oxfordbibliographies.com +oxfordmusiconline.com oxfordtdr.com oxiang.com oxiaohua.com @@ -77355,6 +76351,7 @@ oya365.com oyalee.com oyewifi.com oygnqmj.xyz +oygteapq.com oym56lm.com oyohyee.com oyonyou.com @@ -77364,30 +76361,35 @@ oyoumo.com oyqqan.xyz oysd.com oywtv.com +oyxdwx.com oyya.com oyzdbsx.com +oyzns.com oz138.com ozmvpbhc.com ozocenter.com ozonabc.com ozonbigsell.com ozoninfo.com +ozouckzr.com ozsmartbuy.com ozsp.com -ozxw.com ozzyad.com p-an.com +p-bstarstatic.akamaized.net p-dragon.com p-e-china.com p-er.com p-pass.com p.biz +p.bstarstatic.com p.cdn.persaas.dell.com p007fyt3.group p023.com p0371.com p0431.com p04e.com +p0kc9ym05p.com p0y.com p1.com p12345.com @@ -77406,13 +76408,15 @@ p2psearchers.com p2ptouhang.com p2pxing.com p3-china.com +p33t5y8b97.com p3q0tt.com +p4pfile.com p4pp.com -p555.cc +p4ws8zptrrdc6.com +p4wtpoqzihi8v.com p5w.net p6air.com p6sai.com -p77777777.com p7game.com p8games.com p99998888.com @@ -77437,24 +76441,25 @@ packetmania.net packsky.com packtom.com packty.com +pacmantwo.com pacs-plus.com pactera.com padao.org padasuo.net +padddy.vip paddlepaddle.org paddlewaver.com padh.net +padns.com padtf.com pafj.net pafwl.com pagd.net -pagead-googlehosted.l.google.com pageadmin.net -pagechoice.com -pagechoice.net pagescube.com pageseagle.com pagetu.com +pahhhf.com pahou.com pahx.com pahys.com @@ -77492,6 +76497,7 @@ paipai.com paipai123.com paipaibang.com paipaiimg.com +paipay.net paipianbang.com pairmb.com paishi.com @@ -77542,7 +76548,6 @@ pamahotel.com pamica.com pamss.net pan-good.com -pan-gulf.com pan-key.com pan131.com pan58.com @@ -77555,8 +76560,6 @@ panasonicmall.com panawincn.com panbaidu.net panbrake.com -pancake.apple.com -pancake.cdn-apple.com.akadns.net panchinasports.com panchip.com panchuang.net @@ -77576,12 +76579,12 @@ pandaminer.com pandapaint.net pandara.xyz pandaremit.com +pandarzli.com pandateacher.com pandatv.com pandax.wiki pandolia.net panduoduo.net -panel-cn.com pangbo51.com pangbu.com pangcheng.com @@ -77600,8 +76603,6 @@ pangniao.net pangod.com pangodsxbj.com pangoing.com -pangolin-dsp-toutiao-b.com -pangolin-dsp-toutiao.com pangolin-sdk-toutiao-b.com pangolin-sdk-toutiao.com pangolin-sdk-toutiao1.com @@ -77643,8 +76644,6 @@ panothers.com panpanfood.com panpanzsw.com panpay.com -panplayable-toutiao-b.com -panplayable-toutiao.com panqiincs.me panqishu.com panruikj.com @@ -77695,6 +76694,7 @@ paoshuba.cc paoshuba.org paoxq.com paoxue.com +paozw.org papa21.com papa91.com papago.hk @@ -77716,6 +76716,7 @@ paperccb.com paperclipclub.net paperclipglobal.com papercool.com +paperdb.com papereasy.com paperfreehome.com paperge.com @@ -77771,12 +76772,10 @@ parkyardhotel.com parsein.com partinchina.com partner-group.com -partner.cdnetworks.com partnerboost.com party68.com pascalmorio.com paschermontre.to -pasco.cc pasertech.com pashu5.org pasos2.com @@ -77784,7 +76783,7 @@ pass7.cc passer-by.com passion120.com passiongroupltd.com -passport.lenovo.com +passthepopcorn.me passwordkeyboard.com pat-edu.com pat-edu.org @@ -77797,7 +76796,6 @@ patexplorer.com patfun.com patheagames.com pathologycn.com -pats.lenovo.com patsev.com patsnapglobal.com patv123.com @@ -77815,8 +76813,6 @@ paxini-robot.net pay-in.com pay-lakala.com pay-ly.com -pay.djicdn.com -pay288.com paybaike.com paydxm.com payeco.com @@ -77828,12 +76824,13 @@ paympay.com paynews.net paypaytech.com payrao.com +paytm-pay.net pb89.com -pba0.apple.com pbc-dcep.com pbcan.com pbcedu.net pbcft.com +pbchizhou.com pbdpw.com pbiso.com pbkrs.com @@ -77865,10 +76862,11 @@ pc521.net pc5210.com pc528.net pc55.com +pc6.com pc699.com pc6a.com -pc768.com pc89.com +pc8h.com pc9.com pcapqz.com pcasl.com @@ -77904,7 +76902,6 @@ pcfphs.com pcfreetime.com pcgeshi.com pcgogo.com -pcgplmmobile.lenovo.com pcgta.cc pch.pub pchealthcheck.net @@ -77934,7 +76931,6 @@ pcsee.org pcsfc.com pcshou.com pcsjsm.com -pcsupport.lenovo.com pct86.com pctutu.com pctutu.net @@ -77958,7 +76954,6 @@ pdafans.com pdai.tech pdb2.com pdbeta.com -pdcuo.com pdd-fapiao.com pdd.net pddcdn.com @@ -77970,7 +76965,6 @@ pddugc.com pddxfd.com pddzj.com pdeepmatrix.com -pdetails.com pdf.la pdf00.com pdf1122.com @@ -77978,7 +76972,6 @@ pdfangchan.com pdfbianji.com pdfdo.com pdfdowell.com -pdfexpert.cc pdffsy.com pdfjia.com pdflibr.com @@ -78017,9 +77010,7 @@ pdxxg.com pdzls.com pe-exhibition.com pe.vc -pe2022.com pe314.com -pe8.com pe898.com peace-monkey.com peace-read.com @@ -78027,7 +77018,6 @@ peacebird.com peaceboat.net peacekang.com peacepetro.com -peaceshotel.com peaceticket.com peacha.net peacockedu.com @@ -78061,10 +77051,10 @@ peihao.space peihu-lyjkgl.com peihuyi.com peijiamedical.com +peijian.com peijian8.net peikua.com peilian.com -peilian365.com peiluming.com peiluyou.com peipusci.com @@ -78104,7 +77094,6 @@ pellucid.art pelorseating.com pemap.com pemch.com -pemt.org penavicoxm.com penbbs.com pending-renewal-domain.com @@ -78134,6 +77123,7 @@ pengxinziyuan.com pengyaou.com pengyihotel.com pengyou.com +pengyoudewu.com pengyoukan.com pengyuanled.com pengyucpa.com @@ -78151,7 +77141,6 @@ pentalaser.com pentaq.com pentatomic.com pentiw.com -penxiangge.com penyouw.com penzai.com penzealcn.com @@ -78180,13 +77169,11 @@ perfecttradinghk.com perfectwatchen.com perfertw.com perfma.net -performanceparameters.googleapis.com peropero.net peroperogames.com persagy.com personpsy.org perspectivar.com -peryt111.fun pescms.com pesiv.com pesrmyy.com @@ -78229,6 +77216,7 @@ pf178.com pfcexpress.com pfhoo.com pfinno.com +pfmcchina.org pfmmedicalchina.com pft12301.cc pftianshanno.com @@ -78236,8 +77224,6 @@ pfwx.com pfzhiliao.com pg-leak.com pg114.net -pg2bk.icu -pg8090.com pgbee.com pgc.tv pgcaststone.com @@ -78262,12 +77248,15 @@ pgsql.tech pgxqw.net pgxxw.com pgy6.com +pgyer.cc pgyer.com +pgyer.im pgyidc.com pgyy.com pgzs.com pgzx.net ph-fc.com +ph365.bond ph66.com phaenothera.com phaetonsemi.com @@ -78290,11 +77279,9 @@ phaser-china.com phb01.com phb123.com phbang.net -phcoal.com phedu.net phemu.net phenom-sem.com -pheqae.com phezzan.com phhongyu.com phicomm.com @@ -78316,6 +77303,7 @@ phodal.com phoemix.net phoenix-ea.com phoenixfilters.net +phoenixos.com phoenixtea.org phoenixtv.com phoent.com @@ -78343,7 +77331,6 @@ photoncounts.com photonpay.com photops.com photosks.vip -photozoomchina.com php-note.com php-oa.com php100.com @@ -78353,7 +77340,6 @@ php318.com phpbbchina.com phpbloger.com phpchina.com -phpcj.org phpcom.net phpcomposer.com phpconchina.com @@ -78383,6 +77369,8 @@ phpwc.com phpwc.info phpweb.net phpweblog.net +phpwind.com +phpwind.net phpxs.com phpyun.com phsb.com @@ -78421,19 +77409,17 @@ piaode.ren piaodian.net piaododo.com piaodown.com -piaogj.com piaogroup.com piaohomeinn.com piaohua.com -piaojie168.com piaojubao.com piaolia.com +piaoliang.com piaoliusan.com piaoniu.com piaoqianqian.com piaoquantv.com piaoshen.com -piaososo.co piaotian.org piaotongyun.com piaowutong.cc @@ -78447,14 +77433,12 @@ piaozone.com piasy.com pic-cname.cc pic-png.com -pic.tripcdn.com pic16.com pic21.com pic315.com pic3733.com pic720.com picacgp.com -picacgy.com picatown.com picbling.com picc.com @@ -78509,14 +77493,12 @@ pihitech.com pihmh.com piimg.com piios.com -pikacn.com pikoplay.com pil0txia.com pilaipiwang.com pilidns.com pilifu.com pilimeng.com -pilipala.info pimaoji.com pimax.com pimei.com @@ -78534,7 +77516,6 @@ pinbayun.com pinble.com pinble.net pinbu.cc -pincai.com pinchain.com pinchedashi.com pinchetang.com @@ -78551,7 +77532,6 @@ pinfun.com ping-an.net ping-jia.net ping-qu.com -ping.ubnt.com ping99.com pingan.com pingan.com.hk @@ -78571,7 +77551,6 @@ pingcode.com pingcode.tech pingcoo.com pingdingshan.me -pingdu168.com pingdurc.com pingevip.com pingfangx.com @@ -78599,6 +77578,7 @@ pingpingw.com pingpingze.com pingplusplus.com pingpongx.com +pingpongx.org pingshu365.com pingshu8.com pingshuku.com @@ -78627,7 +77607,6 @@ pinjiaolian.com pinjie.cc pinjieqicai.com pinjiesj.com -pinjin.net pinjinholdings.com pinkecity.com pinkehao.com @@ -78653,7 +77632,6 @@ pinpointloc.com pinpopt.site pinqugongxiangktv.com pinqukeji.com -pinshan.com pinshu.com pinsuodesign.com pintangshi.com @@ -78661,7 +77639,6 @@ pintechpharma.com pintreel.com pintu360.com pintuan.com -pintuang.com pintuanya.com pintuer.com pintuju.com @@ -78704,6 +77681,7 @@ pipipifa.com pipishu.com pipiti.com pipix.com +pipixiaha.com pipsemi.com pipuda.com piqs.com @@ -78716,6 +77694,7 @@ pivotautomotive.com pixbe.com pixcakeai.com pixcakes.com +pixe44lrifted.com pixelauth.com pixelgame.net pixepf.sbs @@ -78731,12 +77710,9 @@ pj-road.com pj.com pj00001.com pj39800.com -pj50.com pj57.com -pjb9gv9.xyz pjbest.com pjche.com -pjcn.org pjf.name pjgear.com pjgjg.com @@ -78747,7 +77723,6 @@ pjjyzx.com pjlyds.com pjob.net pjtime.com -pjy55d.com pk10088.com pk106.com pk137.com @@ -78767,7 +77742,6 @@ pkfj.xyz pkfun.com pkgame.com pkgklk.com -pki-goog.l.google.com pki.plus pkm360.com pkma.cc @@ -78815,7 +77789,6 @@ pkutourism.com pkuxue.com pkvs.com pkwenku.com -pl520.com pl999.com plaidc.com plalzhang.com @@ -78833,7 +77806,6 @@ plas-cn.com plasdata.com plastics-machinery-equipment.com plasway.com -plat.smartedu.lenovo.com plateno.cc plateno.com platenogroup.com @@ -78847,6 +77819,9 @@ play-cdn14.com play-cdn16.com play-cdn20.com play.craft.moe +play.jinnantv.top +play.scrstv.com +play.sngdxsn.com play68.com play700.com play910.com @@ -78857,13 +77832,14 @@ playcomet.jp playcool.com playcrab.com playdanji.com +playdisorder.com +player.200877926.top playerinfinite.com playezu.com playfifa.com playgm.cc playhousemag.com playlu.com -playnail.com playorcas.com playpangu.com playsm.com @@ -78882,6 +77858,7 @@ plcent.com plchinese.com plcjs.com plcloud.com +plctlab.com plentypolymer.com plesk-cn.com plex2.com @@ -78896,7 +77873,6 @@ plpwz.com plsbd.com plsdeyy.com plsfybjy.com -plsmy.com pltgd.com plumcrk.com pluosi.com @@ -78904,8 +77880,6 @@ pluralitycn.com plures.net plus-chem.com plus-space.com -plus-us.djicdn.com -plus.dji.com plus3gallery.com plusco-tech.com plusgantt.com @@ -78954,8 +77928,6 @@ pmparkchina.com pmph.com pmphai.com pmphmooc.com -pmpm123.com -pmpm123.net pmptuan.com pmquanzi.com pmr66.com @@ -78971,12 +77943,14 @@ pmyes.com pmyuanxing.com pn1waq.com pn7yv9y.xyz +pnas.org pnetp.org pnfang.com pnfq.com png.pub pngbag.com pngsucai.com +pniao.com pnkzg.com pnol.net pnshicha.com @@ -78992,6 +77966,7 @@ pnxseykj.com pnxyrykj.com pnzpw.com po.co +po7ryumvkx34.com pobaby.net pobasoft.com pochanguanliyanjiu.com @@ -78999,6 +77974,7 @@ pochezu.com pocketcloud.vip pocketdigi.com pocketuni.net +pockpower.com pocomagnetic.com pocosite.com pocsuite.org @@ -79010,18 +77986,20 @@ podunjiasu.com poem88.com poemlife.com poemschina.com -pofang.com pohaier.com pohover.com poikm.com poinesttia.com point-memory.com poiuytw.com +poizon-inner.com +poizon-inner.net +poizon-support.com poizon.com +poizon.net poj.org pojianyunfu.com poke203.com -poke88.com pokemmc.com pokemon-unitepgame.com pokemon.vip @@ -79030,7 +78008,6 @@ pokermate.net poketb.com poketrg.com polaris-vc.com -polaris.lenovo.com polariton.life polars.cc polarxiong.com @@ -79060,7 +78037,6 @@ polywuye.com polyxfb.com pomears.com pomeloyun.com -pomkl.com pomoho.com pondernext.com ponkong.com @@ -79090,12 +78066,12 @@ pop-fashion.com pop-shoe.com pop136.com pop365.com -pop800.com popasp.com popcj.com popcustoms.com popdg.com popgo.org +popincdn.com popkart.tv popkx.com poploli.com @@ -79105,11 +78081,9 @@ popoho.com popoim.com popovivi.com popoxiu.com -poppur.com popqiu.com popsoft.com popss.biz -popsvg.xyz popumed.com popupgrade.com poputar.com @@ -79119,13 +78093,6 @@ porlockz.com porquesifiestas.com port-m.com portablesoft.org -portal.cnno1.thinkreality-qa.lenovo.com -portal.cnno1.thinkshield-qa.lenovo.com -portal.cnno1.uds.lenovo.com -portal.euwe1.uds.lenovo.com -portal.naea1.uds.lenovo.com -portal.uds.lenovo.com -portalcdn.cdnetworks.com portcontainer.com porthebei.com portjs.com @@ -79188,7 +78155,6 @@ powerchinaleasing.com powerchinanewenergy.com powerchinashow.com powerchinayun.com -powercx.com powerde.com powereasy.net powerex1.com @@ -79215,10 +78181,10 @@ powertradepro.com powervision.me powerworldgd.com powerxene.com +powpegxw.com powzamedia.com poxiaowy.com poxiaoxinxi.com -poyang.com pozou.com pp.cc pp100.com @@ -79234,9 +78200,7 @@ pp540.com pp63.com pp66.cc pp77.com -pp8.com pp918.com -pp9kk.com pp9l.com ppad.com ppadssi.com @@ -79267,7 +78231,6 @@ ppgg.in ppgmm.com ppgslb.com pphimalayanrt.com -pphqq.com ppia-china.com ppinfra.com ppio.cloud @@ -79280,8 +78243,10 @@ ppkjinc.com ppkoo.com pplib.net pplive.com +pplive.net pplm1996.com pplock.com +pplp.info ppm-htv.com ppm2.com ppmake.com @@ -79353,15 +78318,19 @@ ppurl.com ppvi.net ppwan.com ppwang.com +ppwenda.com ppwfa.com ppwow.cc ppwwyyxx.com ppx520.com ppxclub.com +ppxhhh.com ppxiaoshuowang.com +ppximg.com ppxm.com ppxmw.com ppxs.net +ppxstatic.com ppxsw.co ppxvod.com ppxwo.com @@ -79379,6 +78348,7 @@ pqwww.com pqyhigh.com pqylow.com pqymiddle.com +pqyvzr56aceitx.com pqzhichan.com pr020.com pr027.com @@ -79386,10 +78356,10 @@ pr0771.com pr1bg.com pradabao.com pratic-cnc.com +prayaya.com prcedu.com prcee.org prcfe.com -prclogistics.lenovo.com prcvalve.com precise-test.com precise2.net @@ -79406,6 +78376,7 @@ prettech.com preyp.net prfc-cn.com prfog.com +prhljt.com pricl.com primadiagnostic.com primarychina.com @@ -79423,17 +78394,16 @@ printhome.com printhr.com printidea.art printlake.com +privatehd.to privatess.win privspace.net prjdrj.com prkfyy.com -prm.lenovo.com prnewspress.com pro001.com pro400.com proangela.com proav-china.com -probe.siri.apple.com procar.cc processedmetals.com processon.com @@ -79443,16 +78413,11 @@ prociss.com procivi.net prod-controlbe.floonet.goog prod-databe.floonet.goog -prod-support.apple-support.akadns.net prod.databe.floonet.goog prodcam.cc prodcutmodel.com -product-cn.dji.com -product1.djicdn.com -product2.djicdn.com -product4.djicdn.com +productcard.gog-statics.com productivity.wiki -profile.globalsign.com proginn.com programfan.com programmer.group @@ -79463,6 +78428,7 @@ progress-cn.com progressingeography.com project-oa.com project-snow.com +project.ai projectaker.com projector-jl.com projector-window.com @@ -79475,17 +78441,19 @@ promisingedu.com promptchoose.com pronax.tech pronetway.com -propsad.com +proquest.com proresearch.org pros-view.com prositsole.com prostar-cn.com protect-file.com +protong.com protontechcn.com proup.club providence-chemicals.com prowine-shanghai.com -proxyconfig.corp.google.com +proximabeta.com +proxypass.net proya-group.com proya.com proyy.com @@ -79497,6 +78465,7 @@ prteco.com prts.wiki prttech.com prvchina.com +prwlyy.com prxxff.com pryk0755.com przhushou.com @@ -79514,7 +78483,6 @@ psald.com psb888.com psbc-ubank.com psbc.com -psbxg.net psc4d.com pscddos.com psd.net @@ -79536,7 +78504,6 @@ psoneart.com psp99.com psr-china.com psrar.com -psrefstuff.lenovo.com psrss.com pstatp.com pstips.net @@ -79552,7 +78519,6 @@ psznh.com pszwatch.com pszx.com pszxw.net -pt-bus.com pt-link.com pt597.com pt791.com @@ -79567,7 +78533,7 @@ ptbus.com ptc-asia.com ptcxmy.com ptdsh.com -pteman.com +pterclub.com ptfdc.com ptfe-rod.com ptfish.com @@ -79577,7 +78543,6 @@ pthb668.com pthc1.com pthc8.com pthceshi.com -pthejzb.com pthksw.com pthxuexi.com pthxx.com @@ -79586,8 +78551,7 @@ ptimg.org ptkckj.com ptkill.com ptlhzx.com -ptmind.com -ptmzr.com +ptmezkgg.com ptnrjt.com ptools.fun ptorch.com @@ -79625,15 +78589,14 @@ pubbcsapp.com pubchn.com pubg.plus pubg8x.com +pubghelper.com pubgkam.com -public6.com -publicassets.cdn-apple.com +pubgtool.com publiccms.com publicdns.cc pubmed007.com pubmedplus.com pubone.cc -pubrain.com pubtian.com pubukeji.com pubwinol.com @@ -79690,6 +78653,7 @@ pumpzc.com punaide.com punanhospital.com punchbox.info +pungboo.com puoke.com puppetchina.com puppy888.com @@ -79721,8 +78685,6 @@ pusa123.com pusa365.com push-herbchem.com push2u.com -pushauction.com -pushcfg.com pushgrid.net pushi-ngp.com pushigao.com @@ -79735,7 +78697,6 @@ pushtime.net pushyzheng.com pusicapital.com pusupvc.com -pusure.com putaoa.com putaocdn.com putaogame.com @@ -79767,11 +78728,10 @@ pv001.com pv001.net pv138.com pv265.com -pv4b.com +pvacegurmbz3e.com pvc-diban.net pvc123.com pvcliping.com -pvk2e.icu pvkj.com pvmeng.com pvpin.com @@ -79779,11 +78739,9 @@ pvxmqp.xyz pvz.moe pw-partners.com pw1999.com -pw2ct1.asia pw65.cc pw88.com pwand.com -pwjhg.com pwjt.com pwkss.com pwmat.com @@ -79791,10 +78749,12 @@ pwmis.com pwmqr.com pword.net pwrd.com +pwrdoverseagame.com pwrdoverseas.com pwsannong.com pwsz.com pwypx.com +pwypyq.com px0571.com px0769.com px1039.com @@ -79807,8 +78767,6 @@ pxcn168.com pxcoex.com pxdier.net pxemba.com -pxene.com -pxhuiben.com pxrczpw.com pxsfybjy.com pxsrmyy.com @@ -79816,6 +78774,7 @@ pxtbhb.com pxtcm.com pxtu.com pxtx.com +pxtzirma.com pxuiamz.com pxvps.com pxwsemi.com @@ -79857,6 +78816,7 @@ pymh.com pyneo.com pyou.com pypt020.com +pyral07m8m.com pysdsysc.com pyshszh.com pyskl.com @@ -79902,7 +78862,6 @@ pzds.com pzedu.net pzfc.com pzfcw.com -pzgmj.com pzhccb.com pzhdahe.com pzhedu.com @@ -79933,26 +78892,27 @@ q-supreme.com q.biz q047.com q1.com -q1bp.icu q1cm.com -q1qfc323.com q2ak.com q2cdn.com q2d.com -q2usj.icu q2zy.com +q49d4486xg.com +q4yvu50kh2.com q5.com q6haqi.com -q6q.cc q6u.com q77777777.com +q78s5.com q7kyzxq4nj.com q88b.net q88c.net -q8q.icu +q89850n302.com qa114.com qacctv.com qacn.net +qae3orq9we9t7.com +qaeczbxr.com qafone.cc qagpublic.qatp1.net qahzp.com @@ -79964,8 +78924,6 @@ qanhnvb.com qapi.cc qaqgame.com qaros.com -qas-cnlogistics.lenovo.com -qas-leshop.lenovo.com qast.com qaxanyu.com qaxanyuv6.com @@ -79983,12 +78941,9 @@ qbaobei.com qbb6.com qbboss.com qbd888.com -qbdgame.com -qbenu.com qbewux.xyz qbfnp.com qbgxl.com -qbhmz3.com qbide.com qbihui.com qbiqu.com @@ -80002,11 +78957,13 @@ qbox.net qbtxt.net qbtzjt.com qbview.com +qbxs.com qbxz.com qbxzywyh.com qc-hr.com qc-shanghaipathology.com qc101.com +qc188.com qc1h.com qc6.com qc99.com @@ -80025,6 +78982,8 @@ qcds.com qcdy.com qcdyj.com qcenglish.com +qcers.com +qcers.net qcgm.net qcgq168.com qchcm.com @@ -80032,10 +78991,9 @@ qcheng.cc qches.com qchouses.com qchxt.com -qcixkb1.xyz -qcjslm.com qckuaizhi.com qclc.com +qcloud-edumall.com qcloud.com qcloud.la qcloudapps.com @@ -80047,13 +79005,17 @@ qcloudecdn.com qclouder.com qcloudestate.com qcloudgme.com +qcloudgslb.com qcloudimg.com +qcloudipv6.com qcloudmail.com qcloudmarket.com qcloudns.com +qcloudsmartiot.com qcloudtcic.com qcloudteo.com qcloudtiw.com +qcloudtrip.com qcloudtt.com qcloudwaf.com qcloudwzgj.com @@ -80085,7 +79047,6 @@ qct100.com qctm.com qctsw.com qctx88.com -qcut.dji.com qcwan.com qcwh2021.com qcwhxx.com @@ -80101,7 +79062,6 @@ qcy.com qcymall.com qcyoung.com qczb.app -qczj.xyz qd-dy.com qd-metro.com qd-mls.com @@ -80128,7 +79088,6 @@ qdcars.com qdccb.com qdccdl.com qdcloudsolution.com -qdcode.com qdcu.com qdcykg.com qdcz.com @@ -80143,7 +79102,6 @@ qddsjx.com qddsta.com qdeastsea.net qdedu.net -qdeia.com qderzhong.net qdexam.com qdf0605.com @@ -80174,8 +79132,8 @@ qdhw.com qdhwjs.com qdingnet.com qdipc.com -qdjcwh.com qdjimo.com +qdjingchengyiqi.com qdjjwsjf.com qdjttzjt.com qdjunyi.com @@ -80210,8 +79168,6 @@ qdpr.com qdqehb.com qdqihang.com qdqs.com -qdqunweite.com -qdrc.net qdrcsc.com qdreads.com qdsay.com @@ -80236,6 +79192,7 @@ qdtianxintai.com qdtrrh.com qdtxdzgc.com qduhwq.com +qdwebim.com qdwenxue.com qdwxnet.com qdxct.com @@ -80254,17 +79211,14 @@ qdyuzhengtang.com qdyxbyy.com qdyztang.com qdzhengkang.com -qdzhongli.com qdzhv.com qdzkmj.com qdzls.com qdznjt.com qdzx.net qdzxyy.com -qdzyspjx.com qdzz.com qe32.com -qebgcdcjr000.fun qebk.com qechu.com qeebike.com @@ -80276,19 +79230,16 @@ qeeniao.com qeerd.com qefee.com qegcdn.com -qekgcdcjr000.fun qeoagphm.com qeodns.com qeodns.net -qeogcdcjr000.fun +qeopzvgm.com qeqnet.com qera.online qerwsoft.com -qeryt111.fun qeteshcn.com qeto.com qetoken.com -qeugcdcjr000.fun qeyopxb.com qf-meter.com qfang.com @@ -80309,7 +79260,6 @@ qfpq.com qfrost.com qfrxyl.com qfsh.com -qfsq777.vip qfsyj.com qftouch.com qfull.com @@ -80319,6 +79269,7 @@ qfwl.com qfxcha.com qg.net qg108.com +qg3oed7882.com qgadmin.qcpp1.net qgb2b.com qgbnzb.com @@ -80326,18 +79277,18 @@ qgbzyzl.com qgcyjq.org qgenius.com qgfund.com -qgg7e.icu qgggxxw.com qggj.com qggzszk.org qgjcjyzb.com qgjzsc.com qgkjacc.com +qgnvbc.com qgpx.com qgqc.shop -qgqc168.com qgqy.com qgren.com +qgswvza.com qgsydw.com qgtong.com qgtql.com @@ -80345,9 +79296,11 @@ qgvps.com qgw.tm qgwzjs.com qgxl.org +qgyksr.com qgyqshz.com qgysj.org qgyyzs.net +qgzb.net qgzxx.com qgzzz.com qh-cdn.com @@ -80355,16 +79308,17 @@ qh-dl.com qh-hospital.org qh-lb.com qh-opto.com +qh.dlservice.microsoft.com qh24.com qh4321.com qh6bc.com qh9y.com -qhaif.com qhangyun.com qhass.org qhball.com qhbtv.com qhcby.com +qhcdn-lb.com qhcdn.com qhch520.com qhchcb.com @@ -80375,7 +79329,6 @@ qhd-marathon.com qhd.net qhdast.com qhdatongnews.com -qhdfxkj.com qhdgjj.com qhdglc.com qhdjgyy.com @@ -80392,8 +79345,6 @@ qhdzyy.com qhea.com qhee-ma.com qhee.com -qhestrad.com -qhftp0971.com qhfx.net qhfzcp.com qhg7.com @@ -80438,16 +79389,12 @@ qhsklw.com qhsrmyy.com qhssyy.com qhstatic.com -qhsteel.com qhsxf.net qhtf-china.com qhtibetan.com qhtui.com qhtycp.com qhtyzx.com -qhuade.com -qhuik.com -qhupdate.com qhwgz.com qhwmw.com qhwptyn.com @@ -80466,7 +79413,6 @@ qi-auto.com qi-che.com qi-ju.com qi-wen.com -qi.lenovo.com qi10.com qi18.com qi58.com @@ -80507,6 +79453,7 @@ qiandeups.com qiandianyf.com qianduan.com qianduanheidong.com +qiandunvpn.com qiandw.com qianfan.tv qianfan123.com @@ -80528,9 +79475,11 @@ qiangka.com qianglihuifu.com qiangmi.com qiangqiang5.com +qiangren.com qiangsenhg.com qiangshengyanhua.com qiangtou.net +qiangumeitan.com qiangungun.com qianguyihao.com qiangyingjituan.com @@ -80607,7 +79556,7 @@ qianshuoshuo.com qiansiw.com qiant.net qiantangke.com -qiantubao.asia +qiantianchayuan.com qiantucdn.com qianvisa.com qianwa.com @@ -80631,6 +79580,7 @@ qianxuntrip.com qianyan.biz qianyan001.com qianyanchefang.com +qianyanjiu.com qianye88.com qianyierp.com qianyikeji.com @@ -80659,7 +79609,6 @@ qiaoclouds.com qiaodan.com qiaofangyun.com qiaofanxin.com -qiaofu.shop qiaogu.com qiaoh.com qiaohewei.cc @@ -80730,7 +79679,6 @@ qichequan.net qichetansuo.com qichetong.com qichewo.com -qichexin.com qichexl.com qichezhan.net qichuang.com @@ -80763,11 +79711,9 @@ qidongcha.com qidongmao.com qidongnews.com qidongyx.com -qidou.com qidulp.com qiduo.net qie.tv -qiecaifu.com qiecdn.com qieerxi.com qiekao.com @@ -80782,7 +79728,6 @@ qieyou.com qiezibenpao.com qiezic.com qiezip.com -qifake.com qifan1.com qifandianlansh.com qifangw.com @@ -80795,7 +79740,6 @@ qifenxiao.com qifu.me qifub.com qifuip.com -qifun.com qigonggate.com qigongworld.net qigousoft.com @@ -80807,13 +79751,13 @@ qihanbio.com qihangcrrc.com qihangw.com qihaoip.com -qihaoqu.com qihaxiaoshuo.com qihejy.com qihepaimai.com qihihi.com qihoo.com qihoo.net +qihu-lb.com qihu.com qihu.org qihuangpuji.com @@ -80908,13 +79852,13 @@ qimingzi.net qiminzi.com qimodesign.com qimser.com +qin.io qinbei.com qinbing.com qincai.com qincaigame.com qinchacha.com qinchuan.com -qinchugudao.com qincj.me qinco.net qindaohotel.com @@ -80962,10 +79906,8 @@ qingdaoport.net qingdaoren.com qingdaoshenghao.com qingdelan.com -qingdou.ltd qingdou.net qingdouw.com -qinger.name qingf001.com qingfanqie.com qingfeichina.com @@ -80976,7 +79918,6 @@ qingful.com qingfuwu.com qingfuwucdn.com qingfuwucdn.net -qingfuyun.com qingge666.com qinggl.com qinggonggroup.com @@ -80985,8 +79926,6 @@ qinghaigames.com qinghaihuaer.com qinghe-sh.com qinghe.tv -qinghejing.com -qinghua.cc qinghua2017.com qinghuajiajiao.com qinghuan.com @@ -81022,6 +79961,7 @@ qinglue.net qinglvpin.com qingly.ink qingmail.com +qingmang.me qingmang.mobi qingmayun.com qingmei.me @@ -81041,7 +79981,6 @@ qingqikeji.com qingqin.com qingqingmedia.com qingqj.com -qingquanan.com qingqujie.com qingquyp.com qingr.com @@ -81053,7 +79992,6 @@ qingshanzl.com qingshigame.com qingshou.online qingshow.net -qingshu.live qingshuo.com qingshuxuetang.com qingsong123.com @@ -81077,6 +80015,7 @@ qingting123.com qingtingfm.com qingtingip.com qingtingjh.com +qingtingtrip.com qinguanjia.com qingui123.com qinguishipin.com @@ -81104,18 +80043,23 @@ qingzhanshi.com qingzhicheng.com qingzhifeng.com qingzhiwenku.com +qingzhou.biz +qingzhou.ltd +qingzhou.pro qingzhou5.com qingzhouaote.com qingzhouip.com -qingzichan.net qinheng.com qinhuaiziyun.com +qiniu-enterprise.com +qiniu-solutions.com qiniu.co qiniu.com qiniu.in qiniu.io qiniu.org qiniu.us +qiniu.work qiniuapi.com qiniuapp.com qiniublob.com @@ -81126,6 +80070,8 @@ qiniucs.com qiniudn.com qiniudns.com qiniudns.net +qiniudns2.com +qiniug.com qiniuimg.com qiniuinc.com qiniuio.com @@ -81140,7 +80086,6 @@ qinlake.com qinlaobo.com qinlaoke.net qinlinad.com -qinlingshui.com qinlinkeji.com qinms.com qinnongbank.com @@ -81156,12 +80101,13 @@ qinronmedia.com qinronread.com qinrun.com qins.com +qinshantang.com qinshihu.com qinsilk.com qinsmoon.com qinsuanbazi.com -qinto.com qinwanghui.com +qinxiand.com qinxing.xyz qinxue.com qinxue100.com @@ -81192,7 +80138,6 @@ qipayuan.com qipeipu.com qipeiren.com qipeng.com -qipie.com qipinshangji.com qiqao.com qiqi2000.com @@ -81243,11 +80188,9 @@ qitaijiuye.com qiti88.com qitian-tech.com qitianchina.com -qitiancom.com qitianpower.com qitongxq.com qituowang.com -qitxt.com qiu-ai.com qiuball.com qiubiaoqing.com @@ -81276,7 +80219,6 @@ qiushu.cc qiushu.info qiushubang.com qiushuzw.com -qiusuoge.com qiutan.com qiutianaimeili.com qiutiangear.com @@ -81295,6 +80237,7 @@ qiuyueli.com qiuzhang.com qiuzhijiangtang.com qiuziti.com +qiwang2025.com qiwangming.com qiwei.com qiweido.com @@ -81302,7 +80245,7 @@ qiwenhui.com qiwenqi.com qiwenya.com qiwiotch.com -qiwo.cc +qixayrvo.com qixia.ltd qixiangsepu.com qixiangwang.com @@ -81354,7 +80297,6 @@ qiyimusic.com qiyipic.com qiyitianbao.com qiyiw.com -qiyou.com qiyoubangbang.com qiyouji.com qiyoujiage.com @@ -81377,13 +80319,11 @@ qiyujiasu.com qiyujoy.com qiyukf.com qiyukf.net -qiyuniot.com qiyuns3.com qiyuntong.com qiyutech.tech qiyutianxia.com qizhanming.com -qizhao.com qizheplay.com qizhidao.com qizhihaotian.com @@ -81399,7 +80339,6 @@ qj023.com qj175.com qj26.com qj99.net -qj9zn3qd2dj2ck00.app qjbchina.com qjbwgh.com qjbxw.com @@ -81428,7 +80367,6 @@ qjslngy.com qjsmartech.com qjtjp.com qjtourism.com -qjueu.com qjwenming.com qjwh.xyz qjwhzs.com @@ -81480,19 +80418,15 @@ qldz.store qldzj.com qledu.net qlelectrons.com -qlgpy.com qlhimalayantm.com qlidc.com qlife-lab.com -qliksense.lenovo.com -qling.com qlinyun.com qlippie.com qlivecdn.com qll-times.com qlmoney.com qlnonwoven.com -qloer.com qlotc.net qlrc.com qlrc114.com @@ -81511,7 +80445,6 @@ qlyyqd.com qlzygs.com qm119.com qm120.com -qm2.icu qm41.com qm69.com qm989.com @@ -81534,6 +80467,8 @@ qmjianli.com qmjzdscj.com qmmgo.com qmniu.com +qmoji.mobi +qmoji.net qmqm.net qmrobot.com qmsea.com @@ -81550,16 +80485,15 @@ qmxrmt.com qmxyc.com qmyc.ltd qmyq.com -qmyvps.com qmyyl.com qmz5.com -qmz931.com qmzhibo.com qmzs.com qnali.com qnapcn.com qnbar.com qncd.com +qncha.com qnche.com qncyw.com qndb.net @@ -81589,6 +80523,7 @@ qnvod.net qnw.cc qnydns.com qnydns.net +qnyglobal.com qnzhdf.com qnzrmyy.com qnzyy.com @@ -81596,7 +80531,6 @@ qoaao.com qolai.com qooboo.com qoocc.com -qooic.com qooioo.com qookar.com qookkagames.com @@ -81605,7 +80539,6 @@ qoros.com qorosauto.com qosnet.xyz qosq.com -qovunx.com qp108.com qp110.com qp46.com @@ -81623,29 +80556,32 @@ qpjylm.com qpkaifa.com qplcinfo.com qplus.com +qpmwg68cre9pci.com qpoc.com qpstar.com qpvuqfha.com qpwater.com -qpx.googleflights.net qpxiaoshuo.com qpz.com qpzq.net qq-xmail.com qq.cc +qq.cn.com qq.com +qq.design qq.do qq.md qq.net -qq.wang qq123.xin qq1398.com qq163.cc qq163.com +qq163.net qq190.com qq190.net qq260.com qq3366.net +qq3xkm64kavh.com qq499.com qq5.com qq52o.me @@ -81655,7 +80591,6 @@ qq717.com qq745.com qq7c.com qq933.com -qq937.com qq999q.com qq9v.com qqai.net @@ -81668,22 +80603,25 @@ qqbibile.com qqcdn.com qqcg.com qqcjw.com +qqcrvpv.com qqdcw.com qqddc.com qqder.com qqdiannao.com qqdiannaoguanjiadl.com qqdna.com -qqdwz.com qqdzzb.win qqe2.com qqeml.com qqeo.com qqexmail.net +qqgameapp.com +qqgamedesign.com qqgames.com qqgb.com qqgd.com qqgexing.com +qqgexingqianming.com qqgfw.com qqgpw.com qqgx.com @@ -81694,6 +80632,7 @@ qqhelper.net qqhjy.com qqhn.net qqhot.com +qqhrch12333.com qqhrnews.com qqhubei.com qqhwb.com @@ -81707,12 +80646,12 @@ qqjswang.com qqju.com qqkj66.com qqkjj.com -qqkk8.net qqkkb.com qqkrmotors.com qqku.com -qqkuyou.com qqkw.com +qqkwsitu.com +qqlivepull.seedata.top qqmail.com qqmail.email qqmc.com @@ -81730,7 +80669,6 @@ qqpifu.com qqpj.org qqppt.com qqq.tv -qqq937.com qqqiyemail.com qqqiyeyouxiang.com qqqmmm.com @@ -81741,13 +80679,13 @@ qqrer.com qqride.com qqrizhi.com qqro.com -qqryt111.fun qqscb.com qqsgame.com qqsgjy.com qqsgmob.com qqsgplay.com qqshidao.com +qqshuoshuo.com qqsj168.cc qqsk.com qqski.com @@ -81785,7 +80723,6 @@ qqwmly.com qqwwr.com qqwxmail.com qqwys.net -qqxi6.icu qqxmail.com qqxs.la qqxs5200.com @@ -81815,7 +80752,6 @@ qqzimu.net qqzl.cc qqzmly.com qqzshc.com -qqzu.com qqzyw.com qqzywang.com qqzzz.net @@ -81836,14 +80772,13 @@ qs5.org qs71lc6.xyz qs921.com qsap-group.com +qsb.browser.miui.srv qsbank.cc qsbbs.net qsbdc.com qsboy.com -qsbz2011.com qscharge.com qschou.com -qscvli.com qsebao.com qsedu.com qsedus.com @@ -81852,7 +80787,6 @@ qsfcw.com qsfm.net qsgx-pt.com qshang.com -qshcsy8.com qshealth.com qshlh.com qsiedu.com @@ -81875,10 +80809,12 @@ qssec.com qstatic.com qstbg.com qstcorp.com +qstkizve.com qstsking.com qsw.la qswk.com qswnet.com +qsxezgai.com qsxiaoshuo.com qsxiu.com qsxuke.com @@ -81916,6 +80852,7 @@ qtkj.love qtlcdn.com qtlcdn.net qtlcdn360.info +qtlcdn360.top qtlcdn360.xin qtlcdn360.xyz qtlcdncn.info @@ -81926,17 +80863,17 @@ qtlglb.info qtlgslbcn.com qtlgslbcn.info qtlgslbcn.net -qtmojo.com qto-pay.com qtonghua.com qtool.net -qtroytj33.fun +qtqsaadp.com qtrun.com qtshe.com qtshisan.com qtshu.com qtshu.la qtsyw.com +qtsyzfc.com qttc.net qttunion.com qtu8.com @@ -81951,6 +80888,7 @@ qu247.com qu67.com qua.com qualcomm-challenge.com +qualcomm.cn.cdn.cloudflare.net qualtekgz.com qualysapi.qatp1.net qualysguard.qpdp1.net @@ -81958,7 +80896,6 @@ quan.mx quan007.com quan365.com quanaichina.com -quanbailing.com quanben.com quancang.com quandashi.com @@ -81986,14 +80923,12 @@ quanjuwuye.com quankexia.com quanlaoda.com quanlego.com -quanlingtouzi.com quanlitu.com quanlv66.com quanma51.com quanmaigo.com quanmaihuyu.com quanmama.com -quanmama.net quanmamaimg.com quanmamaonline.com quanmeipai.com @@ -82026,6 +80961,7 @@ quantongfu.com quantuantuan.com quantum-etc.com quantum-info.com +quanup.com quanwai100.com quanwiki.com quanxi.cc @@ -82053,9 +80989,6 @@ qubaike.com qubaobei.com qubiankeji.com qucai.com -qucaiad.com -qucaidd.com -qucaigg.com qucaiti.com qucanzhan.com quce001.com @@ -82065,7 +80998,6 @@ qucheng.com quchew.com quclouds.com qudaiji.com -qudajie.com qudao.biz qudao.com qudao168.com @@ -82326,7 +81258,6 @@ qufumarathon.com qufushi.com qufutuan.com qugame.com -qugongdi.com quguonet.com quhaidiao.com quheqihuo.com @@ -82360,11 +81291,11 @@ qujiangyizhong.com qujianpan.com qujie365.com qujingm.com -qujishu.com qujunde.com quk.cc qukaa.com qukan.cc +qukanok.com qukanshu.com qukantoutiao.net qukanvideo.com @@ -82383,7 +81314,6 @@ qumaihuishou.com qumaishu.com qumaiyao.com qumaw.com -qumi.com qumifeng.com quming.com qumingdashi.com @@ -82438,14 +81368,13 @@ qunzhuquan.com qunzou.com qupeiyin.com qupingce.com -qupuji.com quqi.com quqike.com quqiuhun.com ququabc.com ququpei.com ququyou.com -ququzhu.com +quqxphdm.com qusem.com qushiw.com qushixi.net @@ -82456,8 +81385,8 @@ qushuiying.net qutaiwan.com qutanme.com qutanup.com +qutao.com qutaojiao.com -qutaovip.com quthing.com qutianshanav.com qutingting.com @@ -82467,6 +81396,7 @@ qutu.com qutuancan.com qutuiwa.com qutuly.com +quumibao.com quumii.com quvisa.com quwan.com @@ -82494,19 +81424,17 @@ quyiyuan.com quyou.net quyouhui.net quyu.net -quyuancn.com quyundong.com quzhiwen.com quzhuanxiang.com quzhubao.com +quzwamx.com quzz88.com quzzgames.com qvdv.net qvip.net qvkanwen.com qvlz.com -qvpublish.com -qvxtzi.xyz qvxz.com qvyue.com qw5599.com @@ -82516,6 +81444,7 @@ qweather.com qweather.net qwen.ai qwenlm.ai +qwerdns.com qwerhost.com qwfync.com qwgg.com @@ -82523,18 +81452,18 @@ qwgt.com qwimm.com qwing.com qwpo2018.com +qwps.com qwps.net qwq.link qwq.moe qwq.ren qwq.trade +qwqfzl.com qwqk.net qwqoffice.com qwrmt.com qwsy.com -qwvv.com qwwz.com -qwxcs.com qx-era.com qx-kj.com qx-semi.com @@ -82567,6 +81496,8 @@ qxkjjt.com qxkp.net qxlib.com qxllq.com +qxme.com +qxmewmgr.com qxmugen.com qxnav.com qxndt.com @@ -82574,11 +81505,14 @@ qxnecn.com qxnic.com qxnzx.com qxqing.com +qxqkeak.com +qxqtwmgz.com qxqxa.com qxrcw.com qxs.la qxsdq.com qxsfjq.com +qxshucai.com qxswk.com qxteacher.com qxtongcheng.com @@ -82587,7 +81521,6 @@ qxtxt.com qxueyou.com qxw.cc qxw18.com -qxwoiv.com qxwz.com qxxsjk.com qxxzf.com @@ -82608,6 +81541,7 @@ qy2s.com qy57.com qy58w.com qy6.com +qy7v7nn96e.com qyaninfo.com qybc.com qybhl.com @@ -82635,7 +81569,6 @@ qyglzz.com qyhgsb.com qyhl.vip qyhr.org -qyhxths.com qyhxy365.com qyiliao.com qyins.com @@ -82676,8 +81609,6 @@ qyx888.com qyxby.com qyxxpd.com qyxzfw.com -qyyljt.com -qyyqyj.com qyyt.com qyzba.club qyzc.net @@ -82725,6 +81656,7 @@ qzgcdl.com qzgchj.com qzgfyy.com qzgjjp.com +qzgkwy.com qzh56.com qzhaite.com qzhlkj.net @@ -82762,9 +81694,8 @@ qzld.com qzldkj.com qzljjq.com qzlo.com -qzlog.com qzlwnm.com -qzmhnk.com +qzmayouquan.com qzmktjt.com qzmtgs.com qznovel.com @@ -82817,7 +81748,6 @@ qzxkeji.com qzxx.com qzyb.com qzyckhzx.com -qzylyp.com qzynhhmm.com qzynx.com qzyonyou.com @@ -82831,7 +81761,6 @@ qzzhedu.com qzzhonghan.com qzzhwk.com qzzjchy.com -qzzljx.com qzzn.com qzzpw.net qzzres.com @@ -82841,7 +81770,6 @@ qzzzg.net r-china.net r-tms.net r.bing.com -r.cert.corp.google.com r12345.com r147emh.com r17.com @@ -82852,12 +81780,17 @@ r2coding.com r2yx.com r302.cc r369.co +r3lhl.com r435.com r51.net r5g.cc r5k.com r5tao.com +r61lsi5tje.com +r6d7345371.com +r75y8c2628.com r77777777.com +r79xqa8r7e93.com r9t1.com ra022.com ra216.com @@ -82903,6 +81836,7 @@ rail-transit.com railcn.net rails365.net railsctc.com +railshj.com railwaybill.com railworkschina.com raina.tech @@ -82934,17 +81868,19 @@ rajax.me rajyj.com rakinda-aidc.com rakinda-xm.com +rakpqgk.com rakutabichina.com +rakuyoudesu.com ramadaplaza-ovwh.com ramboplay.com ramostear.com +rampingup.com ramventures.com ramwaybat.com rancat.im randengseo.com randongma.com randyandtheresa.com -ranfenghd.com rangercd.com rangnihaokan.com rango.fun @@ -82977,7 +81913,7 @@ rap-pro.com rapidppt.com rapoo.com rapospectre.com -rapture-prod.corp.google.com +rarbg.to rarbt.fun rarcbank.com rarelit.net @@ -82988,6 +81924,7 @@ raspigeek.com rastargame.com rat3c.com rate2003.com +ratingtoken.net rationalwh.com ratogh.com ratoo.net @@ -83000,6 +81937,7 @@ ray-joy.com ray1988.com ray8.cc raycham.com +raychase.net raycloud.com raycom-inv.com raycuslaser.com @@ -83035,23 +81973,20 @@ rayvision-tech.com rayvision.com raywit.com rayxxzhang.com -razer-customer-swassets.razerzone.com -razerid-assets-staging.razerzone.com -razerid-assets.razerzone.com +razerapi.com razersynapse.com +razerzone.com razrlele.com raztb.com rb-parking.com rb139.com rb400.com rbi-china.com -rbift.icu rbischina.org rbkwater.com rbladycrusaders.com rbotai.com rbqq.com -rbsr0.icu rbtxw.com rbz1672.com rbzarts.com @@ -83066,8 +82001,6 @@ rc3cr.com rc775.com rc86.net rcads.net -rcaiu.com -rcaiv.com rcbc888.com rcbuying.com rcbxsr.xyz @@ -83098,7 +82031,6 @@ rcpx.cc rcss88.com rcsxzx.com rcuts.com -rcw0375.com rcwl.net rcxxt.net rcyd.net @@ -83115,6 +82047,7 @@ rdacs.com rdadiy.com rdamicro.com rdbuy.com +rdcnzz.com rdcolg.net rddesign.cc rddoc.com @@ -83158,7 +82091,6 @@ react.mobi read678.com readboy.com readceo.com -readdsp.com readend.net reader8.com readers365.com @@ -83186,16 +82118,21 @@ readu.net ready4go.com reai120.com realape.com +realapp.xin realbiogroup.com +realcybertron.com realforcechina.com realibox.com realks.com reallct.com realliniot.com realmax-sh.com +realme.com +realme.net realmebbs.com realmedy.com realmemobile.com +realmeservice.com realor.net realsee-cdn.com realsee.com @@ -83212,9 +82149,7 @@ reardatchina.com reasonclub.com rebang.today rebatesme.com -rebdy.com rebo-group.com -rebozj.pro recaptcha-cn.net recaptcha.net rechaos.com @@ -83222,15 +82157,15 @@ rechulishebei.com recitymedia.com recodeal.com recolighting.com +reconova.com recordpharm.com recovery-soft.com recovery-transfer.com recoye.com recuvachina.com recycle366.com -red-apple.net red-yellow.net -redapplechina.com +redacted.ch redatoms.com redbaby.com redbascket.com @@ -83256,10 +82191,6 @@ rediao.com redicecn.com redidc.com redirector.bdn.dev -redirector.c.chat.google.com -redirector.c.mail.google.com -redirector.c.pack.google.com -redirector.c.play.google.com redirector.c.youtubeeducation.com redirector.gcpcdn.gvt1.com redirector.gvt1.com @@ -83309,7 +82240,6 @@ refineidea.com refire.com refond.com reformdata.org -reg.lenovo.com reg007.com regal-marathon.com regal-raptor.com @@ -83318,8 +82248,6 @@ regenchem.com regengbaike.com regexlab.com regexr-cn.com -regist.alphassl.com -regist.globalsign.com reglogo.net regltd.com regtm.com @@ -83346,7 +82274,6 @@ rela.me relangba.com relangbang.com relangdata.com -relay-service.djicdn.com relaychina.org relayx.io relenger.com @@ -83354,7 +82281,6 @@ reliabiotech.com reliangbiao.com reliao.tv rellet.com -relmeetingapp.lenovo.com reloadbuzz.com relxtech.com relxyanyou.com @@ -83385,7 +82311,6 @@ rencaijia.com rencaijob.com rencheng1991.com rendajingjiluntan.com -rendaovip.com renderbus.com renderincloud.com rendeyixue.com @@ -83453,21 +82378,17 @@ rensheng123.com renshikaoshi.net renshouks.com rent.work -rentaihr.com renwen.com renwenyishu.com renwuduo.com renwuji.com renwumatou.com renwuyi.com -renxingganwu.com -renxixi.com renyiwei.com renzaoshu.com renzhemao.com repai.com repaiapp.com -repair.dji.com repair5g.com repanso.com repian.com @@ -83497,23 +82418,18 @@ repliquesuisse.co repont.com reportify.cc reportrc.com -repository.lenovo.com reprogenix.com reptilesworld.com reqable.com -reqwevf3.fun +reqgvheo.com rergdfh.com -reryt111.fun reseetech.com resemi.com -reserve-backend.dji.com -reserve-prime.apple.com reservehemu.com resheji.com resistor.today resnics.com resnowshop.com -resouxs.com resowolf.com respect-lab.com respondaudio.com @@ -83521,7 +82437,6 @@ respusher.com resset.com resturbo.com resuly.me -retail.lenovo.com retailo2o.com retalltech.com retiehe.com @@ -83532,24 +82447,19 @@ returnc.com reveetech.com revefrance.com revenuads.com -revenuenetwork.com reviosky.com revolut.ltd revy.asia rew65.com rewnat.xyz reworlder.com -rewrwrt4.fun rewuwang.com rexcdn.com rexdf.org rexinyisheng.com rexsee.com -rexuecn.com rexueqingchun.com reyinapp.com -reyoo.com -reyun.com rezhanwang.com rf-bed.com rf-china.com @@ -83558,6 +82468,8 @@ rf.hk rfaexpo.com rfc2cn.com rfchina.com +rfchost.com +rfcmedia.streamguys1.com rfcreader.com rfdl88.com rfeyao.com @@ -83570,11 +82482,11 @@ rfidfans.com rfidnfk.com rfidtech.cc rfilter.com +rfimonde-lh.akamaihd.net rfjd.com rfjq.com rfk.com rfmwave.com -rfndpbq.com rfthunder.com rfylyp.com rg-gd.net @@ -83584,6 +82496,7 @@ rg950.com rgaxobcs.com rgb128.com rgble.com +rgezppvk.com rgkjyp.com rgoo.com rgrcb.com @@ -83593,9 +82506,9 @@ rgtjf.com rgtygroup.com rgxw.com rgyh6t.com -rgyun.com rgzbgroup.hk rgznaj.com +rgzxraiu.com rh31.com rh98.com rhce.cc @@ -83647,7 +82560,6 @@ richiecn.com richinfer.net richkays.com richlandsfarm.com -richlifeads.ru richong.com richseafood.com richsuntrade.com @@ -83668,7 +82580,6 @@ rigen-bio.com rigerna.com rigger-micro.com rightknights.com -rightmatching.com rightpaddle.com rigol.com rigouwang.com @@ -83702,6 +82613,7 @@ rippletek.com riqicha.com risc-v1.com riscv-mcu.com +riscv-summit.com riscv.club risde.com rise99.com @@ -83736,6 +82648,7 @@ rivergame.net riverinepm.com riverlimittech.net riveryun.com +rivocean.com riwise.com rix-dl.com riya.cc @@ -83744,7 +82657,6 @@ riyuandianzi.com riyuexing.org riyuezhuan.com riyugo.com -riyurumen.com riyutool.com rizbbs.com rizdvc.com @@ -83785,7 +82697,6 @@ rjxzjx.com rjzxw.com rk-light.com rk120.com -rk6h3.icu rkanr.com rkaq110.com rkckth.com @@ -83795,10 +82706,9 @@ rkeji.com rkgaming.com rkkgyy.com rklive888.com -rklzpo.com +rkrcemei.com rksec.com rkvir.com -rkwxfi.xyz rkzxhyy.com rl-consult.com rl-seo.com @@ -83811,20 +82721,23 @@ rlnk.net rlreader.com rlsofa.net rltdxt.com +rlw27.com rlydw.com rlyl.net rlzdh.com rlzki31dgypt.com rlzyxa.com -rm-static.djicdn.com rm.run rmb.sh rmbbk.com +rmbgame.net +rmbgd.com rmburl.com rmcaribbean.com rmcteam.org rmcvqq.sbs rmejk.com +rmgvx.com rmhospital.com rmjiaju.com rmjtxw.com @@ -83837,7 +82750,9 @@ rmrun.com rmryun.com rmsznet.com rmttjkw.com +rmtv24hweblive-lh.akamaihd.net rmtyun.com +rmwxgame.com rmxiongan.com rmysjzx.com rmzs.net @@ -83854,7 +82769,9 @@ rnhy.net rnmachine.com rnmgn.net rnw7f6jfk8.vip +ro.com ro50.com +ro8qwpaikd4kx.com road-group.com roadhb.com roadjava.com @@ -83874,7 +82791,9 @@ roborock.com robosense.ai robot-ai.org robot-china.com +robot301.net robotech-log.com +roboticsurg301.net robotime.com robotkang.cc robotphoenix.com @@ -83890,6 +82809,7 @@ rockbrain.net rockdata.net rockemb.com rockerfm.com +rocketmq.cloud rockflow.tech rockjitui.com rocklogistic.com @@ -83911,12 +82831,14 @@ roguelitegames.com rohm-chip.com rohs-china.com roidmi.com +roii.cc roiland.com rojewel.com rokeyyan.com rokid.com rokidcdn.com rokub.com +rokxyecc.com roland-china.com rolipscn.com rollingstone.net @@ -83961,7 +82883,6 @@ rongded.com rongdeji.com rongdipipe.com rongechain.com -rongfuhuitong.com ronggangcity.com ronggongyeya.com rongguang-sh.com @@ -83983,7 +82904,6 @@ rongledz.com rongmaowl.com rongmei.net rongnav.com -rongnews.com rongqiguan.com rongqu.net rongroad.com @@ -83999,7 +82919,6 @@ rongtongworld.com rongwenest.com rongwengroup.com rongxingroup.com -rongxinzh.com rongxuancast.com rongyan.cc rongyanshe.com @@ -84009,6 +82928,7 @@ rongyi.com rongyihzp.com rongyilian.net rongyimao.com +rongyitechnology.com rongyizhaofang.com rongyuechem.com rongzhitong.com @@ -84023,20 +82943,20 @@ rooderscooters.com rooee.com roof325.com roogames.com -rookmemorizevoluntary.com roosur.com root-servers.world root1111.com rootcloud.com rootguide.org rootintech.com +rootjl.com rootop.org rootopen.com rootzhushou.com roouoo.com ropefitting.com ropinsite.com -roqairs.com +roqwq.com ror-game.com rorotoo.com ros-lab.com @@ -84050,13 +82970,13 @@ rosedata.com rosefinchfund.com rosepie.com rosesandgold.fun -rosettastone.com rosewin.com rosin-china.com rosirs-edu.com rosmontis.com rosnas.com rosoo.net +rosoyp.com rossoarts.com rossoarts.net rossopharm.com @@ -84064,6 +82984,7 @@ rossroma.com roswiki.com roszj.com rotai.com +rotiyfhp.com rotom-x.com rotora-china.com rotorgroup.com @@ -84114,7 +83035,7 @@ rqkr.com rqmw.com rqrcw.com rqrlxx.com -rqroytj33.fun +rquyzhda.com rqyy.com rqyz.com rr-sc.com @@ -84130,7 +83051,6 @@ rrcp.com rrdiaoyu.com rrdtz.com rree.com -rrfccx.com rrfed.com rrfmn.com rrimg.com @@ -84150,9 +83070,9 @@ rrscdn.com rrsurg.com rrswl.com rrting.net +rrtoibg.com rrtv.vip rruu.com -rrweiguo.com rrwtp.com rrxf.online rrxh5.cc @@ -84162,6 +83082,9 @@ rrxiu.net rrxiuh5.cc rrys.net rrys.tv +rrys2019.com +rrys2020.com +rrysapp.com rrzsb.com rrzu.com rrzuji.com @@ -84170,6 +83093,7 @@ rrzxw.net rs-xrys.com rs485.net rsachina.org +rsc.org rscala.com rscazvdbfpbyzqdvpy1m.com rscazvdbfpbyzqdvpylm.com @@ -84192,8 +83116,8 @@ rsl.cc rslg-china.com rslicai.com rsm.download.prss.microsoft.com +rsnmxd.com rsnschina.com -rsohvot.xyz rsplcdcs.com rspwj.com rsq111.com @@ -84226,13 +83150,11 @@ rt-thread.org rtahengtai.com rtalink.com rtb5.com -rtbasia.com rtbbox.com rtbpb.com rtbtmc.com rtc-web.com rtc-web.io -rtc.smartedu.lenovo.com rtcdeveloper.com rtdsoft.com rtf1688.com @@ -84240,16 +83162,18 @@ rtfcode.com rtfcpa.com rtfund.com rtfzfl.com +rthklive1-lh.akamaihd.net +rthklive2-lh.akamaihd.net rthpc.com rti-investor.com rtjxssj.com rtmap.com rtmobi.cc -rtroytj33.fun rtrrx.com rtsaas.com rtsac.org rtsc-gift.com +rtvcdn.com.au rtxapp.com rtxonline.com rtxplugins.com @@ -84261,10 +83185,9 @@ ru5sq.com ru9911.com rua93.online ruan.cloud -ruan88.com +ruan8.com ruancan.com ruanchaomin.com -ruancq.xyz ruanduo.com ruandy.com ruanfujia.com @@ -84298,6 +83221,8 @@ rubaoo.com rubbervalley.com rubinn.com ruby-china.com +ruby-china.org +rubyconfchina.org rubyer.me rubyfoods.com rucedu.net @@ -84322,6 +83247,7 @@ ruhnn.com ruhousw.com rui.plus ruian.com +ruianchayuan.com ruianfang.com ruianrz.com ruiantuan.com @@ -84353,10 +83279,8 @@ ruifengzhaoming.com ruifuwatch.com ruige.com ruigedf.com -ruigezx.com ruigushop.com ruihaimeifeng.com -ruihaonongye.com ruihaozhanlan.com ruihenghs.com ruihengyiliao.com @@ -84393,7 +83317,6 @@ ruishengseal.com ruisilc.com ruisizt.com ruisong.tv -ruisu.cc ruit56.com ruitairt.com ruite-tec.com @@ -84444,12 +83367,11 @@ rulesofsurvivalgame.com rumeibox.com rumodesign.com rumosky.com -rumt-sg.com -rumt-zh.com runbaijia.com runboyun.com runca.net runcmd.com +runcobo.com runcome.com runda8888.com rundamedical.com @@ -84523,6 +83445,7 @@ ruozedata.com ruozhu.shop ruqimobility.com ruralwomengd.org +ruseer.com rusforest-sh.com rushan.com rushb.net @@ -84533,7 +83456,6 @@ rushiwowen.org rushmail.com rushui.net russellluo.com -russian.people.com.cn.akadns99.net rustc.cloud rustfisher.com rustvnt.com @@ -84544,7 +83466,6 @@ ruu6373.com ruubypay.com ruvar.com ruvisas.com -ruxianke.com ruxiaoyi.com ruyig.com ruyigou.com @@ -84573,12 +83494,16 @@ rvmcu.com rwb66.com rwd.hk rwdls.com +rwjiankang.com rwjtgc.com +rwkv.com +rwrvthca.com rwtext.com rwxqfbj.com rwys.com rx-copper.com rx-semi.com +rx4wiug6ec6r.com rxbj.com rxftw.com rxgl.net @@ -84650,24 +83575,24 @@ rzaide.com rzbxgc.com rzcdc.com rzcdz2.com -rzcsassets.razerzone.com rzfanyi.com rzfdc.com rzfyu.com rzglgc.com -rzhexing.com rzhr.com rzhushou.com rzhybh.com -rzinfo.net rzkj999.com rzline.com rzltech.com rzmeijia.com +rzmoizmk.com rzok.net rzport.com +rzrc114.com rzsf.com rzspx.com +rzsuetrx.com rzszp.com rzv5.com rzv7.com @@ -84687,8 +83612,7 @@ s-ts.net s-xsenyuan.com s-yue.com s-zone.com -s.mzstatic.com -s019.com +s.zampdsp.com s0599.com s10000.com s135.com @@ -84708,13 +83632,13 @@ s3she5k7sm.com s4g5.com s4yd.com s575.com +s57o79552f.com s5ex.com s5s5.me s6uu.com s72c.com -s8.pw +s7y3.com s8dj.com -s8x1.com s936.com s9377.com s95r.com @@ -84747,12 +83671,10 @@ saec.cc saegedu.com saen.com saf158.com -saf588.com safbon.com safdsafea.com +safe-lb.com safeb2b.com -safebrowsing-cache.google.com -safebrowsing.googleapis.com safecenter.com safeglp.com safehoo.com @@ -84764,12 +83686,11 @@ safetyimg.com safetystatic.com safetyvod.com safround.com -sagetrc.com +sagepub.com sagigame.net sagw.com sahcqmu.com saheo.com -sahqoo.com saibeiip.com saibeinews.com saibo.com @@ -84853,7 +83774,6 @@ salasolo.com sale8.com saleenauto.com saleforin.com -sales.lenovo.com salesdish.com salesman-bd.com salg-sichuanair.com @@ -84866,6 +83786,7 @@ sam-jeong.net sam-tec.com samanhua.net samanlehua.com +samasty.com same-tech.com samebar.com sameled.com @@ -84878,6 +83799,7 @@ samool.com sampux.com samsph.com samsrchina.com +samsuncn.net samsunganycar.com samsungcloudcn.com samsungconnectivity.com @@ -84954,6 +83876,7 @@ sanguohero.com sanguoq.com sanguosha.com sanguows.com +sanguowudi.com sanguozz.com sangxingxi.com sangxuesheng.com @@ -84996,7 +83919,6 @@ sankuai.com sankumao.com sanlan123.com sanlei.net -sanleiglassfiber.com sanlengbio.com sanlian-cn.com sanlian-group.com @@ -85028,7 +83950,6 @@ sansanyun.com sansg.com sanshiok.com sanshua.com -sanshua.net sansitech.com sansky.net santaihu.com @@ -85042,6 +83963,7 @@ santiyun.com santongit.com santostang.com sanvo.com +sanway.tech sanweihou.com sanweimoxing.com sanweiyiti.org @@ -85061,10 +83983,8 @@ sanxige.com sanxin-med.com sanxinbook.com sanxing.com -sanxingzp.com sanxinwin.com sanxinzgjx.com -sanya1.com sanyaairport.com sanyachloe.com sanyajob.com @@ -85083,9 +84003,7 @@ sanygroup.com sanyhi.com sanyibao.com sanyichemical.com -sanyilq.com sanyipos.com -sanyiyuntong.com sanyouco.com sanyoudq.com sanyougame.com @@ -85122,6 +84040,7 @@ saoshu.org saoso.com saowen.net saoxiankeji.com +saoztfii.com sap-nj.com sap1000.com sapphiretech.store @@ -85133,6 +84052,7 @@ sasecurity.com sass.hk sasscss.com sasseur.com +sassywind.shop sast.fun sast.net sat0.net @@ -85149,12 +84069,10 @@ saveatsma.com savilehotelgroup.com savokiss.com savouer.com -sawadeca.com sawenow.com sawuatsurgical.com saxydc.com saxyit.com -saxysec.com sayabear.com sayatoo.com sayll.com @@ -85170,7 +84088,6 @@ sbf56.com sbfbzj.com sbh15.com sbhimalayanml.com -sbird.xyz sbjd88.com sbjxyq.com sbk-h5.com @@ -85212,7 +84129,6 @@ sc-xngs.com sc.gg sc115.com sc119.cc -sc126.com sc157.com sc1588.com sc1618.com @@ -85224,6 +84140,7 @@ sc2p.com sc2yun.com sc518.com sc666.com +sc66t.com sc788.com sc946.com sc96655.com @@ -85246,18 +84163,15 @@ scbh15.com scbid.com scbnrq.com scbotai.com -scbt.asia scbuilder.com scbxmr.com scbyx.net scbz120.com -scc.lenovo.com sccbj.com sccchina.net scccyts.com sccea.net sccens.net -sccflc.com sccia8888.com sccin.com sccjjtjy.com @@ -85333,10 +84247,11 @@ scdneufe.com scdnf3v6.com scdnf80r.com scdnfu51.com -scdng.com scdng8js.com scdnga.com +scdnga.net scdngc.com +scdngc.net scdngs0h.com scdnguqg.com scdnh957.com @@ -85426,7 +84341,6 @@ scensmart.com scetop.com scezju.com scfeihu.com -scfex.com scflcp.com scfsino.com scfzbs.com @@ -85486,6 +84400,7 @@ scidict.org sciecure.com sciedu.org sciencecity.net +sciencedirect.com sciencehr.net sciencep.com sciengine.com @@ -85496,7 +84411,6 @@ scies.org scievent.com scifans.com scigy.com -scihuns.com sciimg.com sciirc.com scijet.com @@ -85531,7 +84445,6 @@ scjjrb.com scjk.com scjmm.com scjrm.com -scjtfh.xyz scjty.com scjuchuang.com scjy168.com @@ -85546,11 +84459,9 @@ scjzjyjc.com scjzy.net sckrskj.com sckxjd.com -sckyf.com scl-cn.com sclanyingkj.com sclf.org -sclive.net scll.cc sclrjc.com sclsnk.com @@ -85573,6 +84484,7 @@ scmylike.com scmyns.com scncbus.com scncgz.net +scncrc.com scnj.tv scnjnews.com scnjw.com @@ -85583,12 +84495,12 @@ scnufl.com sco-marathon.com scodereview.com scoee.com -scoldak.com scommander.com scomper.me scoowx.com +scopus.com scoregg.com -scothomereport.com +scowqbfk.com scpgj.com scpgroup.com scpidi.com @@ -85604,7 +84516,7 @@ scrc168.com scrcnet.org scrcu.com scredcross.com -scriptcat.org +scrft.com scriptjc.com scrm.so scrmtech.com @@ -85676,7 +84588,6 @@ scwj.net scwlylqx.com scwmwl.com scwqxh.com -scwxzk.com scwy.net scwyzx.com scxd56.net @@ -85686,12 +84597,12 @@ scxjyw.com scxsls.com scxtj.com scyanzu.com +scyarui.com scybjc.com scybxx.com scyc.cc scych.org scyesz.com -scygy.com scylzx.net scymob.com scyongqin.com @@ -85716,6 +84627,7 @@ sczw.com sczxmr.com sczycp.com sczyh30.com +sczytx.com sd-cancer.com sd-cellbank.com sd-chengdasteel.com @@ -85795,7 +84707,6 @@ sdcoke.com sdcpd.com sdcqjy.com sdcqjyjt.com -sdcsso.lenovo.com sdcxgk.com sdcxjl.com sdcxsc.com @@ -85851,16 +84762,16 @@ sdfscm.com sdfscx.com sdftc.com sdfuer.net -sdfxcv.com sdfxyoule.com sdfybj.com sdfz.net sdfztz.com sdg-china.com +sdg53.com sdgakj.com sdgckg.com +sdgcnai.com sdgdwljt.com -sdgdxl.com sdgdxt.com sdgh.net sdgho.com @@ -85888,7 +84799,6 @@ sdguguo.com sdgw.com sdgwy.org sdgxdb.com -sdgxjy.com sdgxzn.com sdgykg.com sdgyslfz.com @@ -85981,16 +84891,13 @@ sdjuming.com sdjushu.com sdjuxiang.com sdjwg.com -sdjxbzf.com sdjxgj.com sdjys.org sdjzgt.com sdjzhc.com sdjzsemi.com sdkamaiduo.com -sdkangnida.com sdkbalance.com -sdkclick.com sdkdch.com sdkeli.com sdkjjt.com @@ -86035,7 +84942,6 @@ sdmctech.com sdmdcm.com sdmecl.com sdmic.com -sdmingjun.com sdmingquan.com sdmingshan.com sdmjkc.com @@ -86044,6 +84950,7 @@ sdmtfy.com sdmuhua.com sdmuseum.com sdmyzsgs.com +sdn-global-live-streaming-packager-cache-3qsdn.akamaized.net sdnci.com sdndzb.com sdnfv.org @@ -86076,7 +84983,6 @@ sdqcpc.com sdqljh.com sdqlkr.com sdqmy.com -sdqoi2d.com sdqsqx.com sdqte.com sdqu.com @@ -86096,7 +85002,7 @@ sdrunfujia.com sdrunping.com sdrunse.com sdrxtf.com -sdrzzg.com +sdrz12333.com sdsaifute.com sdsalt.com sdsansen.com @@ -86129,7 +85035,6 @@ sdsmartlogistics.com sdsmefina.com sdspyyy.com sdsrhb.com -sdss99.fun sdssiliao.com sdstdc.com sdsteel.cc @@ -86203,7 +85108,6 @@ sdxietong.com sdxinboao.com sdxinglu.com sdxingya.com -sdxitong.com sdxjnrqjt.com sdxjpc.com sdxl.com @@ -86228,7 +85132,6 @@ sdyizhibi.com sdylhg.com sdyndcjx.com sdysjcc.com -sdytsh.com sdyuanbao.com sdyxmall.com sdyyebh010.com @@ -86237,7 +85140,6 @@ sdyypt.net sdyzzyzdh.com sdzamy.com sdzbcg.com -sdzbsw.com sdzckj.com sdzdb.com sdzdxm.com @@ -86268,7 +85170,8 @@ sea-gullmall.com seaarea.com seacatcry.com seacxy.com -seaflame.xyz +seafile.com +seaflysoft.com seafrom.com seagull-digital.com seagulllocker.com @@ -86276,8 +85179,6 @@ seagullwatch.com seagullwatches.com seahisun.com seaide.com -seal.alphassl.com -seal.globalsign.com sealaly.net sealand100.com sealandtableware.com @@ -86318,13 +85219,12 @@ seavo.com seayao.net seayee.com seazor.com -sebfq.com +seb.sason.top seblong.com sebug.net sec-in.com sec-motor.com sec-wiki.com -sec.lenovo.com secaibi.com secbug.cc secbug.org @@ -86351,12 +85251,8 @@ secrui.com secshow.net secsilo.com sectigochina.com +sectigochina.com.cdn.cloudflare.net secu100.net -secure.alphassl.com -secure.globalsign.com -secure.staging.alphassl.com -secure.staging.globalsign.com -secure2.alphassl.com secureqin.net securitycn.net securityeb.com @@ -86372,9 +85268,6 @@ seebon.com seebug.org seecmedia.net seed-china.com -seed-sequoia.siri.apple.com -seed-swallow.siri.apple.com -seed.siri.apple.com seedasdan.org seedchina.com seeddsp.com @@ -86383,6 +85276,7 @@ seedit.com seedland.cc seedlandss.com seedsufe.com +seeed.cc seegif.com seehealth.net seehu.net @@ -86453,10 +85347,10 @@ sekede.net sekorm.com selboo.com selectdataset.com +selet4.com selfiecity.com selfservicechina.com selinuxplus.com -sell66.com sellerspace.com sellersprite.com sellfox.com @@ -86465,7 +85359,6 @@ sellingexpress.net selypan.com sem123.com sem17.com -sem9.com semem99.com semeye.com semgz.com @@ -86527,7 +85420,6 @@ senra.me sensate.hk sense-hk.com senseagro.com -sensecn.com senselock.com senseluxury.com senser.group @@ -86549,7 +85441,6 @@ sentcss.com senteauto.com senthink.com sentosemi.com -sentry-io.djiops.com sentuxueyuan.com sentyeasy.com senwas.com @@ -86597,9 +85488,7 @@ septwolves-group.com septwolves.com sepu.net sepumps.com -sepyra.com sequ.biz -sequoia.apple.com sequoiacap.com sequoiadb.com sereypath.com @@ -86608,9 +85497,6 @@ seridc.com servasoft.com serverless-devs.com serverproof.net -service-adhoc.dji.com -service.dji.com -service.djicdn.com service.urchin.com service86.com servicemesher.com @@ -86641,7 +85527,6 @@ sewise.com sexytea2013.com sey.ink seyaose.net -seyingwumei.com seyoo.net seyuma-cn.com sf-airlines.com @@ -86661,6 +85546,7 @@ sf-jf.com sf-js.com sf-laas.com sf-pay.com +sf-saas.com sf-zs.net sf007.com sf024.com @@ -86675,15 +85561,16 @@ sfata.com sfb-100.com sfbest.com sfbuy.com +sfcar.hk sfccn.com sfcdn.org sfcservice.com sfddj.com +sfdiban.com sfdrums.com sfdy13168.com sfdzh.com sfecr.com -sfesdef6.fun sffdj.com sfgj.org sfgroup.cc @@ -86728,7 +85615,6 @@ sfvip1.com sfwl.co sfwljt.com sfwxf.com -sfxd.cc sfy-gmc.com sfyb.com sfybee.com @@ -86748,8 +85634,7 @@ sg163.com sg169.com sg888.vip sg91.net -sg92.com -sgad.site +sgameglobal.com sgamer.com sgautomotive.com sgbll.com @@ -86760,10 +85645,9 @@ sgcec.com sgcgis.com sgchangxun.com sgchinese.com -sgcizt.com +sgcqscgu.com sgcyjy.com sgda.cc -sgdmobile.com sge.sh sgfsm.com sghxz.com @@ -86794,6 +85678,7 @@ sgqd.com sgqqxh.org sgrbcm.com sgrcw.com +sgrsvakz.com sgshero.com sgsic.com sgsotools.com @@ -86812,7 +85697,9 @@ sgwjjc.com sgwk.info sgy-it.com sgyaogan.com +sgyeyou.com sgyhux.com +sgyouxi.com sgyscom.com sgyzyun.club sgzb2.com @@ -86858,6 +85745,7 @@ sh-hitech.com sh-hlrubber.com sh-holfer.com sh-holiday.com +sh-hs.com sh-hting.com sh-huate.com sh-huayang.com @@ -86887,7 +85775,6 @@ sh-nemoto.com sh-oca.com sh-pet.com sh-pn.com -sh-pod2-smp-device.apple.com sh-pp.com sh-printing.com sh-prosperity.com @@ -86929,7 +85816,6 @@ sh-ybxhz.com sh-yichen.com sh-yuai.com sh-yuy.com -sh-yzkj.com sh-zbfm.com sh.com sh002.com @@ -86955,7 +85841,6 @@ sha-steel.com sha2777.com sha990.com shaangu.com -shaanxi56.com shaanxigas.com shaanxiiot.com shaanxirk.com @@ -87002,6 +85887,7 @@ shancemall.com shanchuangjiaoyu.com shancui1688.com shanda960.com +shandacasual.com shandacasual.net shandagames.com shandaz.com @@ -87040,6 +85926,7 @@ shang-ma.com shang-xia.com shang0898.com shang168.com +shang360.com shangair.com shangame.com shanganzixun.com @@ -87148,7 +86035,6 @@ shanghaivast.com shanghaivet.com shanghaiwater.com shanghaiweicon.com -shanghaixianhuadian.com shanghaixs.com shanghaixuejia.com shanghaiyinyang.com @@ -87222,12 +86108,10 @@ shangxueba.com shangyejihua.com shangyekj.com shangyexinzhi.com -shangyicanyin.com shangyijs.com shangyouxuan.com shangyouze.com shangyu-marathon.com -shangyuan.ltd shangyuan029.com shangyubank.com shangyuer.com @@ -87251,7 +86135,6 @@ shanjianzhan.com shanjingyuan.com shanjinqh.com shankaisports.com -shankejingling.com shanks.link shanliao.com shanliaoapp.com @@ -87279,6 +86162,7 @@ shanshanku.com shanshantech.com shanshengchongdian.com shanshoufu.com +shanshuihotel.com shanshuiwl.com shansteelgroup.com shante.me @@ -87333,6 +86217,7 @@ shanzhen.com shanzhen.me shanzhildq.com shanzhonglei.com +shanzhuyou.com shaoanlv007.com shaoerbc.org shaoerwushu.org @@ -87374,6 +86259,8 @@ sharegog.com shareinstall.com shareinstall.net shareintelli.com +sharejoytech.com +sharejs.com sharelogis.com sharemoon.club shareoneplanet.org @@ -87399,8 +86286,6 @@ shasx.com shatian.org shautomuseum.com shavingbrush-china.com -shavpn.amd.com -shavpn2.amd.com shawdo.com shawdubie.com shawnzeng.com @@ -87408,11 +86293,9 @@ shaxian.biz shayugg.com shayujizhang.com shayuweb.com -shazam-insights.cdn-apple.com shazc.com shb.ltd shb02.com -shbaimeng.com shbangde.com shbangdian.com shbaoli.com @@ -87504,7 +86387,6 @@ shdsd.com shdsn.com shdsqs.com shdszc.com -shdunjiusy.com shdwdz.com shdxgraphene.com shdxk.com @@ -87567,16 +86449,15 @@ shelive.net shellpub.com shellsec.com shelter-china.com +shelterdome.net shelwee.com shen-grh.com shen-nao.com shen321.com shenanhui.com -shenbabao.com shenbinghang.com shenbingyiyuan.org shenbisheji.com -shenbiwu.com shencai-china.com shencaiceshi.com shenchai.com @@ -87590,7 +86471,6 @@ shenda-group.com shendatong.com shendiaoqzj.com shendoow.com -shendu.cc shendu.com shendu123.com shendugho.com @@ -87621,7 +86501,6 @@ shengejing.com shengenqianzheng.com shengenv.com shengfajiaohua.com -shengfang.me shengfanwang.com shenggift.com shenghan.org @@ -87653,6 +86532,7 @@ shenglongit.com shengmaapp.com shengmage.com shengming.net +shengmingfa.com shengminghitech.com shengniuuz.com shengpay.com @@ -87692,7 +86572,6 @@ shengyi.biz shengyizhuanjia.com shengyuan.com shengyuancc.com -shengzehr.com shengzhaoli.com shengzhujiage.com shenhaoinfo.com @@ -87702,7 +86581,6 @@ shenheyuan.net shenhongfei.com shenhongmao.com shenhua.cc -shenhua188.com shenhuachina.com shenhudong.com sheniaoren.com @@ -87716,13 +86594,13 @@ shenkai.com shenkelong.com shenkexin.com shenkong.net +shenlan02.com shenlanbao.com shenlaohr.com shenling.com shenliyang.com shenma-inc.com shenma.com -shenma4480.cc shenmabaike.com shenmadsp.com shenmapay.com @@ -87765,7 +86643,6 @@ shenshuo.net shenshuw.com shensuantang.com shensuokeji.com -shensuw.com shenta.net shentongchina.com shentongdata.com @@ -87790,7 +86667,6 @@ shenyinhudong.com shenyou.tv shenyu.me shenyuanquan.com -shenyunkeji.com shenyunlaw.com shenyunmedical.com shenyunwang.com @@ -87807,7 +86683,6 @@ shenzhenbianhua.com shenzhenew.com shenzheninvestment.com shenzhenjgw.com -shenzhenjia.net shenzhenlianhua.com shenzhenmakerfaire.com shenzhenshimandishiyeyouxiangongsi.com @@ -87832,11 +86707,9 @@ sherlockkk.com sherlocky.com sherowm.com sheshui.com -shestieh.com sheui.com shevdc.org shewang.net -shewantea.com sheweikeji.com shexcloud.com shexgrp.com @@ -87853,7 +86726,6 @@ shfa120.com shfamily.com shfangshui.com shfayy.com -shfc365.com shfcw.com shfeikuang.com shffjt.com @@ -87923,7 +86795,6 @@ shholdingeu.com shhorse.com shhqgc.com shhrp.com -shhs-tw.com shhtqn.com shhuaerkang.com shhuayi.com @@ -87941,24 +86812,24 @@ shhxbk.com shhxf119.com shhxpx.com shhxyy.com +shhxzq.com shhyanqing.com shhyhy.com shhzcj.com shi-ming.com -shianxin.net shianzhixuan.com shibaili.com shibangchina.com shibangsy.com shibei.com shibeiht.com -shibeiou.com shibolm.com shibor.org shicai.biz shicaidai.com shicaizhanlan.com shicaotangchina.com +shicehao.com shichang.biz shichangbu.com shichengbao.com @@ -88047,7 +86918,6 @@ shijqq.com shiju.cc shijue.me shijuecanyin.com -shijuechuanda.com shijuehaian.com shijueju.com shijuenian.com @@ -88093,7 +86963,6 @@ shimodev.com shimoko.com shimolife.com shimonote.com -shimonote.net shimotx.com shimowendang.com shinco.com @@ -88167,6 +87036,7 @@ shisanzhi.com shiseidochina.com shishacharcoal.net shishagame.com +shishangd.com shishangfengyun.com shishangweilai413.com shishenmegeng.com @@ -88186,11 +87056,9 @@ shitibaodian.com shitoc.com shitou.com shitouboy.com -shitoulm.com shitourom.com shitsu.co.jp shituyikao.com -shiwan.com shiwanbaijiu.com shiwang1688.com shiwangyun.com @@ -88234,6 +87102,7 @@ shiyiyx.com shiyong.com shiyongjun.biz shiyou-electric.com +shiyou.me shiyouflooring.com shiyouhome.com shiyousan.com @@ -88248,8 +87117,8 @@ shiyus.com shiyutianqi.com shizhanxia.com shizhihome.com -shizhongruyi.com shizhuang-inc.com +shizhuang-inc.net shizhuolin.com shizhuonet.com shj6789.com @@ -88280,7 +87149,6 @@ shjsrg.com shjsst.com shjstl.com shjsxh.com -shjsxx.com shjt.net shjtos.com shjtw.com @@ -88380,7 +87248,6 @@ shneuro.org shneweye.com shnmnm.com shnne.com -shnphntqg.com shnsyh.com shnti.com shoasis.net @@ -88401,15 +87268,14 @@ sholaser.com shollper.com shomop.com shomyq.com +shonfer.com shootmedia.net shop-isv.com -shop.globalsign.com -shop265.com shop2cn.com shopbackdrop.com -shopbindi.com shopchaoren.com shopeesell.com +shopeesz.com shopex123.com shopimgs.com shopin.net @@ -88418,7 +87284,6 @@ shoplazza.com shopmaxmb.com shopnc.net shoppingchain.net -shoppkk.com shopplus.vip shoprobam.com shopss.com @@ -88426,6 +87291,7 @@ shoptop.com shopwatchus.com shopwind.net shopxo.net +shopxo.vip shopxx.net shopyy.com shorcut88.com @@ -88507,7 +87373,6 @@ shouxi.com shouxi.net shouxieti.com shouxihu.net -shouxintec.com shouxiphotos.com shouyao.com shouyao8.com @@ -88543,7 +87408,6 @@ showerlee.com showfay.com showgame.com showing9.com -showji.com showjoy.com showkey.com showl.com @@ -88558,7 +87422,6 @@ showstart.com showtao.com showxiu.com showxue.com -showyes.org showyu.com shoyoo.com shpans.com @@ -88571,7 +87434,6 @@ shpedi.com shpenquan.com shpgt.com shpgx.com -shphome.com shphschool.com shpiano.com shpingda.com @@ -88610,7 +87472,6 @@ shrgjt.com shrlig.com shrmpump.com shrmw.com -shrobotpark.com shrrjt.com shrtlnks.com shruanjie.com @@ -88665,7 +87526,6 @@ shsot.com shsparkwater.com shspdq.com shsportschool.com -shspt.com shsq.vip shssac.com shssdc.com @@ -88726,7 +87586,6 @@ shuajb.com shuaji.com shuaji.net shuajibao.com -shuajige.net shuajizhijia.net shuakazhijia.com shuame.com @@ -88786,7 +87645,6 @@ shudaojt.com shudaowl.com shudaxia.com shudc.com -shudi8.com shudianwang.com shudongpoo.com shudouzi.com @@ -88849,9 +87707,7 @@ shuidixy.com shuidyd.com shuifuhuanbao.com shuigongye.com -shuiguo.com shuiguobang.com -shuihulu.com shuihuoibm.com shuijing100.com shuijingcn.com @@ -88894,7 +87750,6 @@ shuiyuwenquan.com shuizhi360.com shuizhifenxi.com shuizhili.com -shuizhiyuncaishui.com shuizilong.com shujiangweike.com shujiariji.com @@ -88907,13 +87762,13 @@ shujubang.com shujubo.com shujujishi.com shujulin.com -shujupie.com shujutang.com shujuwa.net shujuwu.com shujuxian1688.com shujuzhentan.com shukeba.com +shukebox.com shukeju.com shukemobile.com shukingfashion.com @@ -88957,7 +87812,6 @@ shunchangzhixing.com shunchaojinshu.com shuncom.com shunde-marathon.com -shunde.net shundecity.com shundehr.com shundeplus.com @@ -88987,12 +87841,13 @@ shuntian.cc shuntongtong.com shunwang.com shunwoit.com -shunxindt.com shunyagroup.com shunygroup.com shunyoubio.com shunyuwater.com shuo66.com +shuoba.com +shuoba.me shuoba.org shuobao.com shuobozhaopin.com @@ -89027,14 +87882,12 @@ shuqiaozt.com shuqiapi.com shuqiread.com shuqireader.com -shuqistat.com shuquge.com shuquge.la shuqun.com shuquta.com shuquxs.com shuquzw.la -shuqw.com shuren100.com shushangai.com shushangyun.com @@ -89069,7 +87922,6 @@ shuyang.tv shuyangba.com shuye.com shuyeedu.com -shuyewl.xyz shuyfdc.com shuyong.net shuyuanchina.org @@ -89083,7 +87935,6 @@ shuzibao.com shuzigd.com shuziguanxing.com shuzijihuo.com -shuzilm.com shuzisharing.com shuziw.com shuzixiaoyuan.com @@ -89114,7 +87965,7 @@ shwxtw.com shwyky.net shwzjt.com shwzoo.com -shx11.xyz +shwzsh.com shxaby.com shxayy.com shxbe.com @@ -89213,6 +88064,7 @@ shzaiguan.com shzbc.com shzbh.com shzbkj.com +shzch12333.com shzf.com shzfsy.com shzfzz.net @@ -89238,7 +88090,6 @@ shzksg.com shzkvalve.com shzkw.org shzm.org -shzn-group.com shzq.com shzrx.com shzs2013.com @@ -89257,12 +88108,12 @@ si-en.com si-era.com si-in.com si-win.com -si9377.com sia1995.net siad-c.com siaedu.net siaiyun.com sialiagames.com.tw +siam.org sian.cc siaoao.com sias-sha.com @@ -89274,6 +88125,7 @@ sibida.net sibinwave.com sibpt.com sibuzyn.com +sic8d.net sicarrier.com sicc.cc sicent.com @@ -89285,7 +88137,6 @@ sichuanbh.com sichuanbojiesports.com sichuancancer.org sichuangwy.org -sichuanmianning.com sichuannpo.com sichuanyunzhan.com sichw.com @@ -89301,7 +88152,6 @@ sidike.com sidlgroup.com sidri.com sidvc.com -siebel.akamai.com siec-ccpit.com siengine.com sienwater.com @@ -89309,7 +88159,6 @@ sieredu.com sieryun.com sif.com sifalu.com -sifang.info sifang123.com sifangbazhu.tech sifangclub.com @@ -89332,7 +88181,6 @@ siglff.com sigmachip.com sigmamed.net sigmastarsemi.com -sigmob.com sigmoblive.com sign-say.com signage911.com @@ -89377,7 +88225,6 @@ sijiweinong.com sikantech.com sikem.net sikiedu.com -sikncs.com sikuwu.com sikuyun.net silanggame.com @@ -89392,6 +88239,7 @@ siliaobaba.com siliaokelijixie.com silicon-magic.com siliconchina.org +silicongo.com siliconvisionlabs.com silikron.com silinchen.com @@ -89402,6 +88250,7 @@ silkpresent.com silkroad-ec.com silkroad24.com silkroadtechnologies.com +silkroddream.com silksong.me silktrek.com sillumin.com @@ -89415,14 +88264,13 @@ siluke.cc siluke.info silukex.com siluwu.com -sim.djicdn.com -sim.lenovo.com +silverlight.dlservice.microsoft.com +silverxq.love sim800.com simaek.com simagic.com simaguo.com simanuo.com -simapple.com simat-sh.com simbajs.com simcere.com @@ -89434,7 +88282,7 @@ simcomm2m.com simcu.com simei.cc simei.vip -simengadx.com +simei8.com simengqifu.com simglo.com simhaoka.com @@ -89447,6 +88295,7 @@ simiki.org simingcun.net simingkuai.com simingtang.com +simkeway.com simmtime.com simochina.com simon96.online @@ -89483,18 +88332,20 @@ sinaemc.com sinaft.com sinaif.com sinaimg.com +sinajs.com sinalog.com sinaluming.com sinan.fun sinanet.com +sinanode.com sinanya.com sinaquyong.com sinas3.com +sinas3.net sinashow.com sinastorage.com sinasws.com sinauda.com -sinawap.com sinawf.com sinbam.com sincetech.com @@ -89520,8 +88371,6 @@ singdown.com singfosolar.com singfun.com singhead.com -single-test-2.cert-test.akamai.com -single-test-3.cert-test.akamai.com singlecool.com singmaan.com singoo.cc @@ -89609,6 +88458,7 @@ sinofusite.com sinog2c.com sinogeo.com sinoglorygroup.com +sinogslb.com sinogslb.net sinogt.com sinohb.com @@ -89652,6 +88502,7 @@ sinoo.cc sinooceangroup.com sinooceanland.com sinopatho.com +sinopec-usa.com sinopec.com sinopecgroup.com sinopecgx.com @@ -89681,6 +88532,8 @@ sinoqy.com sinorda.com sinoreagent.com sinort.com +sinorusfocus.com +sinorussian21st.org sinosam.com sinoshan.com sinosig.com @@ -89746,6 +88599,7 @@ sinzk.com siobp.com siomxity.com siomxity.net +siozqkt.com sipai.com sipaphoto.com sipatsaw.com @@ -89771,6 +88625,7 @@ sir3.com sir66.com siranbio.com sireda.com +sirenyouxiang.com sirfang.com siryal.com siryin.com @@ -89787,7 +88642,6 @@ sishuxuefu.com sisi-smu.org sisigad.com sisijiyi.com -sisiqiqrcficf.asia sisp-china.com sissiok.com sisuts.com @@ -89813,7 +88667,6 @@ situdata.com siud.com siudz.com sivlab.com -sivps.com siwaman.com siweidaotu.com siweiearth.com @@ -89840,7 +88693,6 @@ siyrcw.com siyuan.cc siyuan.me siyuanedu.com -siyuanmall.com siyuanren.com siyuanyl.com siyuefeng.com @@ -89855,7 +88707,6 @@ sj-lawyer.com sj-marathon.com sj-tmdi.com sj0763.com -sj11hb.com sj123.com sj33.net sj3g.com @@ -89891,7 +88742,6 @@ sjhfkhgut009.com sjhfrj.com sjhgo.com sjhl.cc -sjhly.com sjhoffice.com sjhong.net sjhuatong.com @@ -89934,6 +88784,7 @@ sjsrm.com sjsydq.com sjszt.com sjtickettech.com +sjtm.me sjtug.org sjtusummer.org sjtxt.com @@ -89946,6 +88797,7 @@ sjwt.net sjwtlm.com sjwx.info sjwxzy.com +sjwyx.com sjxinxiwang.com sjxqn.com sjxs.la @@ -90032,6 +88884,7 @@ skatehere.com skcto.com skd6.com skd62.com +skdj5.com skdlabs.com ske.cc skeo.net @@ -90084,6 +88937,7 @@ skyallhere.com skyao.io skyapp1.tv skyard.com +skyart.site skybility.com skybluek.com skybright-group.com @@ -90118,6 +88972,7 @@ skynicecity.com skynj.com skype-china.net skype-tom.com +skypixel.com skypuretech.com skyray-instrument.com skyray-water.com @@ -90130,6 +88985,7 @@ skysgame.com skysriver.com skysrt.com skyton123.com +skyts.net skytv.cc skyue.com skyw.cc @@ -90152,7 +89008,6 @@ skyworthlighting.com skyworthnj.com skyworthznxyj.com skyxinli.com -skyxvpn.com skyyin.org skyzhan.com skznsb.com @@ -90177,6 +89032,7 @@ slcad.com slchos.com slcyber.icu sldhc.com +sldns1.com slduntong.com sle.group sleele.com @@ -90196,7 +89052,8 @@ slink8.com slinli.com slinuxer.com sliun.com -sljkj.com +slive.ytn.co.kr +slja2.com sljob88.com slk1.net slkg1949.com @@ -90207,7 +89064,6 @@ slodon.net sloer.com slofdoro.com slogra.com -slooti.com slot-china.com slot4.net slovakia-visacenter.com @@ -90230,6 +89086,7 @@ sltgj.com slthxx.com sltv.net sltxantonline.com +slupdate.dlservice.microsoft.com slwh-dfh.com slwwedding.com slybjp.com @@ -90244,13 +89101,13 @@ sm0.fun sm160.com sm160.net sm3s.com -sm517.com sm597.com sm96596.com small-master.com smallfighter.com smalljun.com smallpdfer.com +smallppt.com smallyuan.com smarch.com smarchit.com @@ -90288,7 +89145,6 @@ smartjoygames.com smartlifein.com smartlinkio.com smartlinku.com -smartmad.com smartmapx.com smartmidea.net smartmore.com @@ -90297,18 +89153,14 @@ smartont.net smartpigai.com smartpoweriot.com smartqilu.net -smartrecruiter.lenovo.com smartroomcn.com smarts-isoftstone.com smartsenstech.com smartshotblasting.com -smartssc.lenovo.com smartsteps.com smartstudy.com -smartsupport.lenovo.com smarttaixing.com smartwebee.com -smartworkplace.lenovo.com smartx-cn.com smartx.com smartxiantao.com @@ -90322,10 +89174,10 @@ smasmj.com smaty.net smb956101.com smbinn.com -smbpaasadmin.lenovo.com smbxw.com smc18.com smc3s.com +smcalia.com smcalib.com smcec.com smcic.net @@ -90392,17 +89244,16 @@ smogfly.net smogflycloud.com smogflycloud.net smohan.net -smokeliq.com smoothgroup.cc smoreroll.com smovie168.com smowo.com -smp-device-content.apple.com smpg888.com smppw.com smq.ltd smqh.com smrmyy.com +sms.imagetasks.com sms18.com sms9.net smsbao.com @@ -90437,13 +89288,11 @@ smtul.com smtvip.com smtw.com smtworld.com -smucdn.com smudc.com smuszh.com smuszsh.com smvip8.com smwd.tech -smwenxue.com smxdiy.com smxgh.com smxgjj.com @@ -90483,6 +89332,8 @@ snailshub.com snailsleep.net snailyun.com snap-buy.com +snapany.com +snapdrop.net snapemoji.net snapgenshin.com snaplabdevelop.com @@ -90495,6 +89346,7 @@ snapplay.com snappmaps.ir snaptube.app snbcnyjt.com +snbiopharm.com snbkf34.com sncoda.com snctaa.com @@ -90514,6 +89366,7 @@ sndzrg0.org sneac.com sneb3.com snedu.com +sneducloud.com sneia.org snfic.com snfzsw.com @@ -90539,7 +89392,6 @@ snlxgk.com snmandarin.com snmi.com snmxzls.com -snnd.co snobten.com snodehome.com snoone.com @@ -90569,20 +89421,17 @@ snsggzy.com snsii.com snsnb.com snsqw.com -snssdk.com snsyhg.com snsyx.com sntba.com snto.com -snuoen.com snupg.com snv1.com +snwx.com snxw.com snycloud.com snynas.com -snyu.com snyun.com -snzfj.net snzhao.com snzhny.com snzhz.com @@ -90598,15 +89447,11 @@ so138.com so50.com so666gslb.com so8848.com -so9l.com -soa.lenovo.com soapphoto.com soar-chem.com soarpower.com soarwatch.com soaryoof.com -soaus-test.lenovo.com -soaus.lenovo.com soauto.com sobaidupan.com sobereva.com @@ -90627,7 +89472,6 @@ socchina.net soche8.com sochengyi.com sochips.com -social-touch.com socialark.net socialbasecustomercontent.com socialbaseusercontent.com @@ -90650,7 +89494,6 @@ sodasoccer.com sodayang.com sodc8.com sodexo-cn.com -sodhef.com sodianwan.com sodiao.cc sodig.com @@ -90729,7 +89572,6 @@ soho3q.com soho8.net sohoblink.com sohochina.com -sohochinair.com sohodd.com sohonow.com sohotask.com @@ -90737,9 +89579,11 @@ sohu-inc.com sohu.com sohu.net sohuapps.com +sohucao.duapp.com sohucs.com sohuhistory.com sohuiw.com +sohumail.com sohunjug.com sohuns.com sohuora.com @@ -90816,12 +89660,11 @@ someonegao.com something8.com sometracking.com somo.so -somode.net +somode.com somsds.com somuchrain.com sonbest.com soncci.com -song001.com songcn.com songcwh.com songduwuye.com @@ -90840,7 +89683,6 @@ songjiangjituan.com songker.com songlei.net songlicnc.com -songlongtech.com songma.com songmaogroup.com songmiao.net @@ -90890,7 +89732,9 @@ sonkwo.hk sonoscapebrasil.com sonoschina.com sontan.net +sony.com sonybbs.com +sonyentertainmentnetwork.com sonyong.com sonyselect.net soo56.com @@ -90906,6 +89750,7 @@ soogif.com soohaid.com soojs.com sooker.com +soolinen.com soolou.net soolun.com soomal.com @@ -90933,9 +89778,9 @@ sooyooj.com soozhu.com soozhuozhou.com sopaidea.com -soperson.com sophgo.com sophgo.vip +sopic.org sopowcore.net sopraysolar.com soq.com @@ -90979,13 +89824,9 @@ sotongwang.com sotouv.com sotoy.net sotu114.com -sotunet.com sotwm.com sou-yun.com sou.com -sou58.com -soua.com -souacode.com souaiche.com souajki.com souajki.net @@ -91014,7 +89855,6 @@ sougu001.com souha.net souho.cc souho.net -souid.com souidc.com souidc.org soukecheng.net @@ -91034,6 +89874,7 @@ soundconch.com soundems.com soundgroup.com soundnybio.com +soundpeats.com soundstay.com soupan.info soupf.net @@ -91065,7 +89906,6 @@ southbeauty.com southbeautygroup.com southchip.com southcn.com -southeasternfoxbodies.com southei.com southernfund.com southernmindict.net @@ -91122,25 +89962,21 @@ soyx123.com sozdata.com sozhe.com sozhen.com -sozhi123.com sozyb.com sozyx.shop -sp-webfront.skypixel.com sp.cc sp168.com sp588.cc sp588.net sp888.net sp910.com -space-pek4.welink.web03.huawei.akadns99.net space1688.com spacechina.com spaceestar.com spacei.net spacemit.com spacesystech.com -spahelani.com -spainbestholidays.com +spacety.com spamc.com spanishknow.com sparenode.com @@ -91151,7 +89987,6 @@ sparkeducdn.com sparkgis.com sparkletour.com spasvo.com -spawatervip.net spawor.com spay365.com spbao.com @@ -91160,12 +89995,13 @@ spbycdn.biz spbycdn.com spbycdn.info spc365.com -spcapsules.com spcc-cn.com spcc-silk.com spccmc.com spcdntip.com -spcn-webfront.skypixel.com +spcdntipbak.com +spcloudhw.com +spcloudhw.net spcywang.com spdbh5.com spdbuser.com @@ -91178,6 +90014,7 @@ spdydns.com spdyidea.com specchemind.com specialcdnstatus.com +spectorfilm.com spectreax.com spectreax.site speechless.pw @@ -91185,6 +90022,9 @@ speed-hz.com speedaf.com speedcdns.com speedcdns.info +speedcdns.org +speedcdnsvip.com +speedin.shop speedmanager.net speednt.com speedpdf.com @@ -91201,7 +90041,6 @@ spfosd.com spg-ls.com spgacmotorsc.com spgcw.com -spgnux.com spgykj.com sph00852.com sphcchina.com @@ -91219,6 +90058,7 @@ spicgx.com spicgxnp.com spicgz.com spicjs.com +spiedigitallibrary.org spiiker.com spin-view.com spirit-doll.net @@ -91226,7 +90066,6 @@ spirithy.com spischolar.com spiveytechnologies.com spiwcn.com -spjc8.com spjxcn.com splaybow.com splayer.work @@ -91240,7 +90079,6 @@ spnchinaren.com spochikj.com spoience.com spointdesign.com -spokenenglish.smartedu.lenovo.com sportman.cc sportnanoapi.com sportq.com @@ -91263,7 +90101,10 @@ spring4all.com spring56.com springairlines.com springcocoon.com +springer.com +springerlink.com springpharma.net +springsunday.net springtour.com sprint-tech.com sprixin.com @@ -91325,6 +90166,7 @@ sqlsec.com sqluck.com sqmarathon.com sqphb.com +sqpx.org sqqmall.com sqqmtj.com sqqnh.org @@ -91340,13 +90182,11 @@ sqsjt.net sqstudio.com sqswjt.com sqsyy.com -sqtest.lenovo.com squarecn.com squarefong.com squirrelboiler.com sqwenhua.com sqwyhys.com -sqxrjg.com sqxww.com sqyai.com sqyhw.com @@ -91360,6 +90200,7 @@ srcbcz.com srcbeijing.com srcgsre.com srcmsh.com +srcqeece.com sre.ink srell.com srfip.com @@ -91371,12 +90212,9 @@ srichina.org srici.com sritsoft.com srixon-china.com -srkl.pw srlfl.com srlzzp.com -srm.dji.com srmpump.com -srmscp.lenovo.com srmyy.com srrcw.com srrsh.com @@ -91385,7 +90223,6 @@ srschool.net srslyy.com srsq.club srt365.com -srtljs.com srtong.com srun.com srvbus.com @@ -91427,7 +90264,6 @@ ssby66.com ssc-mcc.com sscanmou.com sscct.com -sscefsol.com sscejia.com sscha.com sschengtou.com @@ -91451,7 +90287,6 @@ ssffx.com ssgedm.com ssgeek.com ssggg.com -ssgushi.com ssgxwq.com ssgz.com sshce.com @@ -91460,12 +90295,12 @@ sshzhuangshipin.com ssia.cc ssidc.net ssidc.org -ssif1.globalsign.com ssine.cc ssine.ink ssipex.com ssis.asia ssish.com +ssixvo9gaybkp5.com ssjjss.com ssjjtt.com ssjlicai.com @@ -91476,9 +90311,7 @@ sskc360.com sskgame.com sskoo.com ssky123.com -ssl-google-analytics.l.google.com ssl-zs.cc -ssl.gstatic.com sslaaa.com sslad.com sslawy.com @@ -91490,9 +90323,7 @@ ssldun.com ssldun.vip ssleye.com sslibrary.com -sslir.icu sslnode.com -sslredirect.corp.google.com sslso.com ssltgm.com ssmc-sz.com @@ -91506,7 +90337,6 @@ ssmysh.com ssnewyork.com ssnm.xyz ssnuo-ch.com -sso.lenovo.com ssofair.com ssoffo.com ssoouu.com @@ -91526,7 +90356,6 @@ ssqzj.com ssrcdn.com ssrcr.com ssreader.com -ssrj.net ssrjzs.com ssrlzy.net sss.wiki @@ -91537,7 +90366,6 @@ ssslgs.com sssmro.com sssmy.com ssso.com -ssswpxzx.com sssyyy.com sst-ic.com sst-sd.com @@ -91578,15 +90406,14 @@ st-recovery.com st001.com st12121.net st123.com -st123.info st180.com stacf.com +stachina.org stackboom.xin stackcc.com stackoom.com stackoverflow.club stackoverflow.wiki -stag-terra-1-g.djicdn.com stage1st.com stage3rd.com staginfo.com @@ -91594,7 +90421,6 @@ staging-controlbe.floonet.goog staging-databe.floonet.goog staging.databe.floonet.goog staidson.com -stanbt.com standard-groups.com standardcn.com standardshop.net @@ -91606,6 +90432,7 @@ stapharma.com star-elink.com star-engine.com star-kid.com +star-linear.com star-meeting.com star-new-material.com star-pos.com @@ -91614,9 +90441,9 @@ star365.com star65.com star7game.com star7th.com -star8.net stararc-coating.com starbaby.cc +starbaby.com starbaysoft.com starbrightpet.com stardata360.com @@ -91628,10 +90455,10 @@ stardust2000.com starduster.me starfishcloud.com starfivetech.com -stargame.com starhalo.mobi staringos.com starkai.com +starlakelab.com starlott.com starlu.com starm.cc @@ -91642,7 +90469,6 @@ starpack-group.com starpainters.net starpiao.com starrails.com -starredvs.com starrockinvest.com starrtc.com starrydyn.com @@ -91651,23 +90477,25 @@ starrymed.com starrysurvey.com stars-one.site starschina.com +starschinalive.com starscube.com starsharbor.com starsino.com starsmicrosystem.com starsshine1.com +starsshine2.com starstech.cc starsuki.net starswar.org -start.dji.com -start.htcsense.com startcarlife.com +startcomca.net startdt.com startech.ltd starting2000.com startogether1.com startos.com startos.org +startssl.com startup-partner.com starwarschina.com starway.net @@ -91681,24 +90509,20 @@ staryea.com stat-nba.com stat08.com stat18.com -stater-tc.com -static.cdnetworks.com -static.djicdn.com +static-login.gog-statics.com static.eprintsw.com -static.gc.apple.com -static.tripcdn.com static163.net staticaa.com staticdn.net staticec.com -staticfile.net -staticfile.org statickksmg.com statics.cc +staticsdd.com staticsoe.com staticsoem.com staticswin.com -statistical-report.djiservice.org +stationpc.com +stats.ipinyou.com statsinstall.xyz statuslarkoffice.com stay-bullish.com @@ -91723,11 +90547,12 @@ stdout.pub stdwp.com ste56.com stea2008.com +steam302.xyz steambang.com steambig.com steamboxs.com -steamchina.com steamcn.com +steamcommunity-a.akamaihd.net steamdd.com steamhost.info steammm.com @@ -91746,6 +90571,8 @@ steelphone.com steelsearcher.com stefg.org stegameskins.com +steinberg-cn.com +stelinno.com stellarplayer.com stemceltech.com step-by-step.tech @@ -91755,10 +90582,7 @@ stepsigriner.com steriguardmed.com stevelanasa.com stfile.com -stg-certified-timestamp.globalsign.com -stg8.com stgiantfilms.com -stgowan.com sthchem.com sthforme.com sthfsteel.com @@ -91775,7 +90599,6 @@ stmaoyi.com stmbuy.com stmjsociety.com stmybj.com -stnew.xyz stnn.cc stnts.com sto-express.com @@ -91783,8 +90606,6 @@ stocke.com stockhn.com stockradar.net stockren.com -stocks-sparkline-lb.apple.com.akadns.net -stocks-sparkline.apple.com stockstar.com stockwei.com stointl.com @@ -91807,12 +90628,6 @@ stonexp.com stor-age.com storage-asset.msi.com storcezon.com -store.apple.com -store.apple.com.edgekey.net -store.apple.com.edgekey.net.globalredir.akadns.net -store.dji.com -store.storeimages.apple.com.akadns.net -store.storeimages.cdn-apple.com store12.com storeapi.net storecorefulfillment.download.prss.microsoft.com @@ -91820,10 +90635,6 @@ storeedgefd.dsx.mp.microsoft.com stork-games.com storkapp.me stormorai.com -stormsend.dji.com -stormsend1.djicdn.com -stormsend2.djicdn.com -stormsend4.djicdn.com story520.com storyboardworld.com storyren.com @@ -91832,22 +90643,35 @@ stourweb.com stourweb.net stovol.club stoyard.com +stozxmveui4pvr.com stpolice.com stpos.net stqiyuan.com stql.com stql.org str-mo.com -stragmik.com straitchain.com strangerbell.com strategy-sight.com stray-soul.com +stream.dybtv.com +stream.guihet.com +stream.houstonpublicmedia.org +stream.nbbltv.com +stream.rcs.revma.com +stream.superfm99-1.com.tw +stream.wbez.org +stream.xctv.news +stream.ysbtv.net +stream.zhystv.com +stream0.tv41.ru +stream01.dqtv123.com +stream1.shopch.jp +stream2.cprnetwork.org streamax.com streamaxtech.com streamcomputing.com -streaming-uberproxy-rotation.corp.google.com -streaming-uberproxy.corp.google.com +streamipcf.akamaized.net streamlakeapi.com streffy.com strong-light.com @@ -91855,10 +90679,8 @@ strong-study.com strongfc.com strongflc.com strongled.com -struhuts.com stshuizhi.com stsmt.com -stsproxy.lenovo.com stssugar.com stswjx.com stszcm.com @@ -91894,12 +90716,12 @@ stuky.net stulip.org stuliving.com stuln.com -stunkrins.com stunnel.vip stupid77.com stupidet.com stuq.com sturgeonnews.com +sturmdcp.com stutimes.com stvf.com stvgame.com @@ -91915,7 +90737,6 @@ stylechina.com stylecho.com stylemafiadaily.com styles-sys.com -stymqd.xyz styst.net styuanhua.com stzc.com @@ -91934,7 +90755,6 @@ suanjuzi.com suanlitou.com suanpin.com suansheng.com -suansjq.com suanst.com suansuangua.com suanya.com @@ -91986,7 +90806,6 @@ sudaoa.com sudasuta.com sudawuye.com suddenfix.com -sudduo.com sudecoating.com sudoinfotech.com sudu-67ph.com @@ -92006,9 +90825,7 @@ sudu-y94k.com sudu123.net suducha.com sududa.com -suduncdn.com sudundns.com -sudunwaf.com sudupower.net sudusite.com suease.com @@ -92066,7 +90883,6 @@ suitaichem.com suiunited.com suixianwang.net suixin8.com -suixinfei.icu suixingpay.com suixinzulin.com suixkan.com @@ -92075,7 +90891,6 @@ suiyichong.com suiyifa.com suiyiju.com suiyuanjian.com -suiyueyule.com suizhoushi.com suizui.net sujh.net @@ -92091,7 +90906,6 @@ suki.club suki.moe sukiu.net sukkaw.com -sukneyu.com sukoshi.xyz sukoutu.com sukvm.com @@ -92126,7 +90940,6 @@ sumkoo.com sumkoo.net sumly.net summall.com -summeng.com summercampschina.com summerfarm.net summerlight.com @@ -92172,7 +90985,6 @@ sundayfloor.com sundayvision.net sundns.com sundray.com -sundxs.com sunear.net sunease.net sunemc.com @@ -92209,11 +91021,14 @@ suninfo.com suning.com suningbank.com suningcdn.com +suningcdn.net suningcloud.com suningdns.com +suningdns.net suningestate.com suninggslb.net suningholdings.com +suninghotel.com suninghotels.com suningmail.com suningpay.com @@ -92289,6 +91104,7 @@ sunrisegroupcn.com sunrisenan.com sunrisesha.com sunrizetech.com +sunrtb.com sunrtnet.com sunsea.net sunseekerpower.com @@ -92301,7 +91117,6 @@ sunsilu.com sunsine.com sunspotfund.com sunstarasia.com -sunstateactivist.org suntech-metal.com suntech-power.com suntechospital.com @@ -92322,6 +91137,7 @@ sunwatt.com sunwaygas.com sunwayland.com sunwaypharm.com +sunways-portal.com sunwayworld.com sunwayx.com sunweihu.com @@ -92364,10 +91180,6 @@ suosihulian.com suotn.com suoxin5.com suoyiren.com -sup-ssh-relay.corp.google.com -sup-ssh-relay2.corp.google.com -sup.corp.google.com -sup.l.google.com supaq.com suparc.com supcname.com @@ -92395,6 +91207,7 @@ supercachenode.com supercalnow.com supercare168.com supercarrier8.com +supercell.com supercodepower.com supercopy2020.com supercrm.com @@ -92403,11 +91216,9 @@ superfix.com superhcloud.com superic.com superiorscope.com -superjj.online superjq.com superlib.com superlib.net -superlifetechnology.com superlink.mobi superlinkscm.com superlitetech.com @@ -92451,14 +91262,7 @@ suporgroup.com suporpharm.com supplierlist.com supplywater.com -support-chat.dji.com -support-china.apple-support.akadns.net support-cn.samsung.com -support.amd.com -support.apple.com -support.dji.com -support.globalsign.com -support.lenovo.com supreme-oe.com supuvalve.com supwisdom.com @@ -92470,14 +91274,12 @@ suqishi.com suqnn.com suqun-group.com surely.cool -suremotoo.site surerp.com surface.download.prss.microsoft.com +surface.downloads.prss.microsoft.com surfacetreatmentgroup.com surfacetreatmenttechnology.com surfcg.com -surfertracker.com -surge.run surgerii.com surgerycast.com surgi-plan.com @@ -92522,6 +91324,7 @@ suujee.com suuny0826.com suv-trip.com suv666.com +suwen.org suxiangsj.com suxiazai.com suxieban.com @@ -92538,7 +91341,6 @@ suyun.net suyunj.com suyutech.com suyuzz.com -suz-vpn.amd.com suzhongyy.com suzhou-marathon.com suzhou-otsuka.com @@ -92560,11 +91362,9 @@ suzhousj.com suzhouyabao.com suzip.com suzport.com +suzu365.com suzuki-china.com suzuki-shanghai.com -sv.lenovo.com -sv2fo.icu -sv5nm.icu svconcloud.com sve.cc svell.net @@ -92573,12 +91373,12 @@ svfrrg.com svgoptronics.com svimeng.com svinsight.com -svip5-applefix.com svip51.com svipdog.com svipduihuan.com svipgulr.com sviping.com +svk3o97xmyid93.com svlik.com svmuu.com svmxxaq.com @@ -92586,6 +91386,7 @@ svn999.com svnbucket.com svnspot.com svp6.com +svqsokp.com svrvr.com svw-volkswagen.com svwuc.com @@ -92596,10 +91397,8 @@ sw0013.com sw163.com sw2008.com sw996.com -swad332.fun swakopuranium.com -swallow-apple-com.v.aaplimg.com -swallow.apple.com +swan366.com swanchemical.com swang8.com swangwx.com @@ -92613,15 +91412,9 @@ swat-js.com swatou.com swbbsc.com swc-china.com -swcatalog-cdn.apple.com.akadns.net -swcatalog.apple.com -swcdn.apple.com -swcdn.g.aaplimg.com swceb.com swchina.org swckc.com -swdist.apple.com -swdist.apple.com.akadns.net swdyz.com sweet-data.com sweetalkos.com @@ -92655,10 +91448,8 @@ swip.group swirebev.com swirecocacola.com swisdom.cc -swissbestwatch.com swissclonewatches.com swissgenie.com -swissluxreplica.com swissrepicass.com swissreplicamall.com swissreplicaonline.com @@ -92678,7 +91469,6 @@ swkedou.com swkong.com swliuxue.com swltools.com -swlz.net swnic.com swofcare.com swomc.net @@ -92691,9 +91481,8 @@ swotbbs.com swpubar.com swq242xc54.com swrjzxw.com +swrtxtb.com swsbw.com -swscan-cdn.apple.com.akadns.net -swscan.apple.com swsegroup.com swskj.com swsm.net @@ -92705,7 +91494,6 @@ swtpu.com swufe-online.com swupdl.adobe.com swwy.com -swxhn.com swxk.cc swxxvr.com swyun.net @@ -92741,7 +91529,6 @@ sxcd-gyl.com sxcgzh.com sxchangshengjt.com sxcig.com -sxcits.com sxcitygas.com sxcjys.com sxclassiclighting.com @@ -92762,7 +91549,6 @@ sxdkj.com sxdrkx.com sxds.com sxdygbjy.com -sxdyrq.com sxdz029.com sxdzyp.com sxepa.org @@ -92819,7 +91605,6 @@ sxjdpm.com sxjf8789.com sxjg-wl.com sxjgkg.com -sxjh88.com sxjhzsgc.com sxjianli.com sxjinfengjiuye.com @@ -92852,8 +91637,6 @@ sxmty.com sxmxwh.com sxmyh.com sxncb.com -sxnfss.com -sxnxl.com sxnxs.com sxnxxny.com sxnycl.com @@ -92875,7 +91658,6 @@ sxrcw.net sxrczx.com sxrekord.com sxri.net -sxrmxwk.com sxrom.com sxrqrlxh.com sxrqxny.com @@ -92912,7 +91694,6 @@ sxsslz.net sxssyh.com sxstdl.com sxswfzjt.com -sxswjkgs.com sxsyyxh.com sxsyyxh.net sxsztv.com @@ -92932,19 +91713,19 @@ sxtybook.com sxudqg.com sxuyr2nx.com sxvtc.com +sxwao4zi6dgp.com sxwbedu.com sxwbs.com sxwetalent.com sxwlyhzp.com sxworker.com sxwpyx.com +sxwq.com sxwstcm.com sxwtdyd.com sxww.com -sxxca.com sxxdll.com sxxfj.com -sxxjdz.com sxxl.com sxxrmyy.com sxxsmjh.com @@ -92962,13 +91743,12 @@ sxycrb.com sxycys.com sxygsj.com sxyj.net +sxyqgs.asia sxyrxb.com sxyxqk.com sxyyc.net sxyyzcj.com sxzb.app -sxzcrq.com -sxzdyl.com sxzhaobiao.com sxzhongfei.com sxzhyy.com @@ -92991,6 +91771,7 @@ sy17.com sy1994.com sy1z.com sy2k.com +sy2mc.com sy2z.com sy3.com sy76.com @@ -93000,8 +91781,8 @@ syberos.com syberq.com sybj.com sybygx.com +syc738gtwihc2.com sycaijing.com -sycbbs.com sycdtz.com sychlon.com sycreader.com @@ -93017,7 +91798,6 @@ sydimg.com sydjwl.com sydkidsedu.com sydneyglobaltimes.com -sydswxx.com sydtgd.com sydw.net sydw8.com @@ -93042,7 +91822,6 @@ sygjzx.com syglyg.com sygnew.com syh666.com -syh9961.com syhccs.com syhfxsh.com syhhidc.com @@ -93056,11 +91835,9 @@ syhsfzl.com syhsxb.com syhuayang.com syhzdj.net -syhzgc.com syhzml.com syhzx.com syhzzf.com -syiae.com syiptv.com syitgz.com syjcly.com @@ -93087,7 +91864,6 @@ sylm2022.com sylmny.com sylnyx.com syltgl.com -sylvan.apple.com symama.com symarathon.com symboltek.com @@ -93095,13 +91871,6 @@ symf-crm.com symtc.com syn-tron.com syn029.com -synacast.com -synapse-x-assets-dev.razerzone.com -synapse-x-assets-staging.razerzone.com -synapse-x-assets.razerzone.com -synapse3ui-common-dev.razerzone.com -synapse3ui-common-staging.razerzone.com -synapse3ui-common.razerzone.com synball.com sync.sh syncedoffplanet.com @@ -93180,7 +91949,6 @@ sysydianji.com sysyhfj.com sysysjnk.com syt1000.com -syt77777.com sytcke.com sytfgroup.com sythealth.com @@ -93221,7 +91989,6 @@ syyyj.com syyyking.com syyykj.xyz syyzhpc.com -syzdbxg.com syzdhyb.com syzjjt.com syzlzz.com @@ -93366,7 +92133,6 @@ szbazx.com szbbs.org szbcase.com szbcfurniture.com -szbdyd.com szbdzs.com szbeilu.com szbeilu888.com @@ -93422,6 +92188,7 @@ szcp.com szcsot.com szcssx.com szcswater.com +szctch.com szctkj.net szcttlab.com szctyx.com @@ -93461,7 +92228,6 @@ szdwyy.com szdx189.com szdxexpo.com szdxfsrhyy.com -szdxjf.com szdy168.com szdyx8.com szdz123.com @@ -93515,7 +92281,6 @@ szftzy.com szfutong.com szfuture.com szfw.org -szfwzl.com szfx.com szfxdev.com szfyhd.com @@ -93551,6 +92316,7 @@ szgztg.com szh.com szha.org szhaian.com +szhaicao.com szhailan.com szhaochuang.com szharmony.com @@ -93561,7 +92327,6 @@ szhenglian.com szhetai.com szhfwd.com szhgh.com -szhgmd.com szhgong.com szhightondz.com szhiross.com @@ -93646,6 +92411,7 @@ szjinhuanyu.com szjinke.com szjinxinzh.com szjitu.com +szjjedu.com szjkhd.com szjkp.com szjkxh.com @@ -93730,7 +92496,6 @@ szlsnk.com szltech.com szltlh.com szltour.com -szltwl.com szltwlw.com szlunhua.com szluxon.com @@ -93768,7 +92533,6 @@ szmil.com szmjd.com szmjlcd.com szmkd.com -szmom.com szmrcd.com szmsjs.com szmslaser.com @@ -93795,10 +92559,10 @@ szngdz.com szniego.com szniushi.com szniute.com -sznj91.com sznnhg.com szns-marathon.com sznsyy.net +sznumberone.com szny189.com sznyfz.com sznyyznnj.com @@ -93832,7 +92596,6 @@ szprl.com szptxx.com szputy.com szpxe.com -szqcz.com szqf.org szqhlx.com szqhtkyy.com @@ -93850,6 +92613,7 @@ szqzsd.com szrba.org szrc-hr.com szrcaj.com +szrcb.com szrcfw.com szrch.com szrfdq.com @@ -93869,7 +92633,6 @@ szrunning.com szryc.com szrzxfpc.com szrzxh.com -szs10000.com szs189.com szsaibao.com szsailong.com @@ -93949,7 +92712,6 @@ sztaijier.com sztalent.org sztanzo.com sztara.com -sztbjs.com sztc.com sztcg.com sztd123.com @@ -94034,7 +92796,6 @@ szxcxkf.com szxcyl.com szxdfpr.com szxdhj.com -szxf4.icu szxfgcw119.com szxhdz.com szxihu.com @@ -94042,7 +92803,6 @@ szxijili.com szxinghe.net szxinjiaxin.com szxinjicheng.com -szxinst.com szxinyixin.com szxiot.com szxlga.com @@ -94054,7 +92814,6 @@ szxtiot.com szxuanxiao.com szxuexiao.com szxuw.com -szxxg.com szxxj.com szxxtx.com szxxw.com @@ -94068,6 +92827,7 @@ szyazhi.com szybio.com szycil.com szyclmarathon.com +szydtx.com szydxx.net szydyy.com szyfai.com @@ -94155,9 +92915,10 @@ t-t.live t-v.com t-workshop.com t.biz -t.sohu t.tt t0001.com +t00ls.cc +t00ls.net t00y.com t0377.com t086.com @@ -94168,8 +92929,10 @@ t12.com t123yh.xyz t139.com t1networks.com +t1qq.com t1tms.com t1y4.com +t1y5.com t20000.com t2audio.net t2cn.com @@ -94177,7 +92940,6 @@ t2rswy.com t2uu.com t3315.com t3j4.com -t3p58.com t3yanzheng.com t49cdn.com t4x3.com @@ -94197,6 +92959,7 @@ t7y8.com t7z.cc t85.net t855vao.com +t8703hd304.com t888w.com t8f.com t8tcdn.com @@ -94217,9 +92980,7 @@ tabbywork.com tableauxmly.com tabuzhe.com tabxexplorer.com -tac.googleapis.com tachangxing.com -tacool.com tacpvc.com tactan.net tadgkj.com @@ -94230,7 +92991,6 @@ taeapp.com taeee.com tafeihu.com tag.gg -tagcommander.com tagen-pm.com tagjjt.com taglyst.com @@ -94240,7 +93000,6 @@ tagphi.net taguage.com taguxdesign.com tahoecn.com -tahsj.com tahua.net tai-liang.com tai1000.com @@ -94281,6 +93040,7 @@ taihaikj.com taihainet.com taihe-hr.com taihe.com +taihealthcare.com taihecap.com taihechengjian.com taihehospital.com @@ -94311,11 +93071,13 @@ taikaibyq.com taikaihuanbao.com taikancnc.com taikang.com -taikang.xn--ses554g taikang100.com taikanginv.com taikangjsnc.com taikanglife.com +taikanglife.net +taikangonline.com +taikangonline.net taikangph.com taikangzhijia.com taikeji.com @@ -94342,7 +93104,6 @@ taiqigame.com taiquan.com tairock.com tairui-ad.com -tairuixing.com tais3.com taisantech.com taisenfurniture.com @@ -94353,7 +93114,6 @@ taishanxq.com taishanyy.com taisuyun.com taitonglj.com -taiwan-enclosure.com taiwandao.tw taiwanwii.com taiweiholding.com @@ -94388,6 +93148,7 @@ takungpao.com takusogroup.com takwang.net tal-china.com +tal.com talbrain.com talebase.com talegenes.com @@ -94401,19 +93162,17 @@ talicai.com taliove.com taljdns.com talk-fun.com -talk853.com +talk.ai talk915.com talkgw.com talkie-ai.com talkingchina.com -talkingdata.com -talkingdata.net -talkinggame.com -talkingnews.net -talkop.com talkwithtrend.com talkxj.com talkyun.com +talldns.com +talldns.net +tallgu.com talmdhome.com taluo.com taluo5.com @@ -94436,13 +93195,14 @@ tan8.com tanapk.com tanbao178.com tanbaoe.com +tanbj7wflr.com tanbo.name tanboer.com tancdn.com tanchinese.com tancy.net -tandaenergy.com tandehao.com +tandfonline.com tanewmaterial.com tang-lei.com tanganlingshi.com @@ -94458,7 +93218,6 @@ tangdouimg.com tangeche.com tangfc.com tanggu11g.com -tangguanchuanmei.com tangguoxian.com tanghu.net tanghushi.com @@ -94474,6 +93233,7 @@ tangqingtuia1.com tangrenmedia.com tangruiqian.com tangsanshu.com +tangsem.com tangshan-marathon.com tangshanliulin.net tangshijun.com @@ -94516,16 +93276,14 @@ tantanapp.com tantu.com tantu.info tantuw.com -tanv.com tanwan.com tanwan123.net tanwanmao.net -tanwanyx.com tanweime.com tanwuapp.com -tanx.com tanxingfuli.com tanxinyu.work +tanxlog.istreamsche.com tanxuling.com tanyu.mobi tanyuantech.com @@ -94556,16 +93314,16 @@ taobao.global taobao.net taobao.org taobao.tw -taobao.wang taobao1111.com taobao2136.com taobao92.com taobaocdn.com taobaocity.com -taobc.com +taobaotest.com +taobaotesting.com taobeihai.com -taobeike.com taobiaozu.com +taobizhong.com taobz.com taoc.cc taocange.com @@ -94578,14 +93336,12 @@ taocibao.com taocijiaju.com taocloudx.com taocz.com -taodabai.com taodake.com taodang8.com taodaso.com taodaxiang.com taodianjia.com taodianla.com -taodiantong.com taodingzhi.cc taodiqupu.com taodocs.com @@ -94602,9 +93358,11 @@ taofen8.com taofont.com taogede.com taogegou.com +taogepian.com taogouxingxuan.com taogula.com taogutang.com +taohaikeji.net taohao6.com taohaoba.com taohaobang.com @@ -94640,7 +93398,6 @@ taoku.com taokuaibiao.com taolale.com taoliangroi.com -taolinks.cc taolinzhen.com taolvtong.com taolx.com @@ -94648,7 +93405,6 @@ taomanhua.com taomee.com taomeiju.com taomeixie.com -taomike.com taoming.com taomingshi.com taomingyan.com @@ -94686,13 +93442,14 @@ taosj.com taotae.com taotao.com taotaocar.com -taotaogeren.xyz taotaoit.com taotaosports.com taoth.com taotian.com taotiwang.com taotu8.net +taotv.com +taotv.net taou.com taourl.com taoweng.site @@ -94719,24 +93476,24 @@ taozhuo.com taozhutu.com taozoucheng.com tap-ad.com +tapafun.com tapai.com +tapaijiu.com tapapis.com -tapas.net tapbooster.net tapdata.net -tapdb.com -tapdb.net tapenjoy.com tapimg.com +tapimg.net tapotiexie.com tappile.com tapque.com tapsvc.com taptap-api.com taptap.com +taptap.io taptapcode.com taptapdada.com -tapulsads.ru taraniss.com tarcoist.com tarczp.com @@ -94767,6 +93524,7 @@ tataxingqiu.com tatazu.com taterli.com tatfook.com +tatiqrf.com tatjt.com tatstm.com tattoo77.com @@ -94777,6 +93535,7 @@ taurus66.com taurusxin.com tav-global.com tavsiktlig.com +tawk.link tax-edu.net tax.vip tax100.com @@ -94785,7 +93544,6 @@ taxdata.tax taxjiangkewang.com taxksec.com taxnote.org -taxrh.com taxspirit.com taxuspharm.com taxwen.com @@ -94798,17 +93556,15 @@ tb51.net tb58.net tbadc.com tbadesign.org -tbaip.com tbaiq.com tbankw.com tbapp.com tbcache.com +tbcdn.com tbh5.com tbhcc.com tbhelper.com tbi-osk.com -tbinq.com -tbjfw.com tbjt18.com tbjtss.com tbk-app.com @@ -94824,7 +93580,6 @@ tboxn.com tbpark.com tbq168.com tbqjx.com -tbqqq.com tbreeden.com tbs321.com tbsandbox.com @@ -94838,9 +93593,7 @@ tburl.net tbuser.com tbwyl.com tbxsw.com -tbxt.com tbyfsoft.com -tbyfz.xyz tc-21.com tc-mining.com tc-semi.com @@ -94856,19 +93609,26 @@ tc58.net tc666.com tc880.com tc9011.com -tc911.vip tc930.com tccfjt.com tccrtzyxgs.com tccxfw.com tcdinfo.com tcdj.com +tcdlive.com +tcdneo.com tcdnext.com +tcdnhw.com +tcdnkcbak.com tcdnlive.com tcdnlivebak1.com +tcdnlivebak2.com tcdnos.com +tcdnos.net +tcdntip.com tcdnv3.com tcdnvod.com +tcdnvodbak.com tcdnvp.com tcdushi.com tcdxt.com @@ -94876,6 +93636,7 @@ tcecps.org tceic.com tceratronix.com tcfhty.com +tcfmglobal.com tcgcardgame.com tcggkj.com tcgke.com @@ -94886,7 +93647,6 @@ tchong.com tchzt.com tchzx.com tciplay.com -tciqgx.xyz tcisct.com tcjdcapital.com tcjx688.com @@ -94905,8 +93665,12 @@ tcloud19.com tcloudbase.com tcloudbase.net tcloudbaseapp.com +tcloudbi.com +tclouddrive.com +tcloudedu.com tcloudfamily.com tcloudhw.com +tcloudhw.net tcloudit.com tcloudit.net tcloudscdn.com @@ -94916,7 +93680,6 @@ tclyjg.com tcm100.com tcm360.com tcm361.com -tcmdz.com tcmer.com tcmfrj.com tcmmh.com @@ -94933,6 +93696,7 @@ tcrcsc.com tcs-y.com tcsae.org tcsasac.com +tcsdk.com tcsdzz.com tcseny.com tcsisu.com @@ -94940,7 +93704,6 @@ tcsnake.com tcspbj.com tcstzg.com tcsurg.org -tctask.com tctip.com tctong.com tctpwebank.com @@ -94949,7 +93712,6 @@ tctpxwebank.com tctran.com tctz.com tcvywoh.com -tcwcs.com tcwt.net tcxfjc.com tcxmt.com @@ -94980,7 +93742,7 @@ tdbbj.com tdbbs.net tdchats.us tdchatvip.us -tddmp.com +tdd.la tdfcw.com tdgod.com tdiac.com @@ -94993,21 +93755,35 @@ tdmall.cc tdmoli2.com tdmta.com tdnsv1.com +tdnsv1.net +tdnsv10.com +tdnsv10.net tdnsv11.com tdnsv11.net tdnsv12.com +tdnsv12.net tdnsv13.com tdnsv13.net tdnsv14.com tdnsv14.net +tdnsv15.com +tdnsv15.net tdnsv2.com +tdnsv2.net tdnsv3.com +tdnsv3.net tdnsv4.com +tdnsv4.net tdnsv5.com tdnsv5.net tdnsv6.com +tdnsv6.net tdnsv7.com +tdnsv7.net tdnsv8.com +tdnsv8.net +tdnsv9.com +tdnsv9.net tdnsx1.com tdotapp.com tdpress.com @@ -95046,6 +93822,7 @@ teallang.com tealui.com teamall.cc teambition.com +teambition.io teambition.net teambitionapis.com teamlogs.com @@ -95077,7 +93854,6 @@ tech-sonic.net tech002.com tech1024.com tech110.net -tech126.com tech2ipo.com tech2real.com tech4joy.com @@ -95121,7 +93897,6 @@ tecochina.net tecolighting.com tecompharma.com tecreal.com -tecunonline.com tecyle.com teda-veolia.com tedagas.com @@ -95138,9 +93913,11 @@ teeqee.com tefact.com tefl-china.net tefscloud.com +tefscloud.net tefshipping.com tegongji.com tegoushe.com +tegvzpvz.com tehang.com tehub.com tehuituan.com @@ -95148,6 +93925,7 @@ teilei.com tejiabiao.com tejiawang.com tek-asia.com +tekkenthree.com tekshanghai.com tekuaijie.com tel01.com @@ -95155,12 +93933,10 @@ tel139.com telaideyouxue.com teld.net telecok.com -telecom-info.com telecomhb.com telecomhr.com telecomjs.com telefen.com -telegramcn.co telegramyug.cc telehr.com teleinfoo.com @@ -95193,7 +93969,9 @@ temch.net temedical.com temox.com temp.im +temyee.com tenag.com +tenant-zone-dev.com tenbilliongame.com tencdns.com tencdns.net @@ -95201,8 +93979,10 @@ tencenst.com tencent-blackboard.com tencent-cloud.com tencent-cloud.net +tencent-gcloud.com tencent-gf.com tencent-stock.com +tencent.co.id tencent.com tencent.com.hk tencent.design @@ -95210,47 +93990,52 @@ tencent.net tencentads.com tencentapigw.com tencentapps.com -tencentbbs.com +tencentbyod.com tencentcc.com tencentcdb.com tencentclb.com +tencentcloud-aiot.com tencentcloud.com tencentcloudapi.com tencentcloudbase.com +tencentcloudclub.com tencentcloudcr.com tencentcloudmarket.com tencentcloudns.com +tencentcloudsec.com +tencentcloudses.com tencentcos.com tencentcs.com tencentdayu.com tencentdb.com tencentdevices.com +tencentdigitalassistant.com +tencentdms.com +tencenteiam.com tencentelasticsearch.com tencenticp.com +tencentid.com +tencentidentity.com tencentipv6.com tencentlog.com tencentmail.com tencentmeeting.com -tencentmind.com tencentmusic.com tencentproxy.com tencentrio.com +tencentstart.com tencentsuite.com tencenttds.com +tencenttid.com tencentwemeet.club tencentwepark.com tencentwm.com tencentyun.com tenchii.com tendacn.com -tendata.com -tendata.net tendawifi.com tendbcluster.com -tendcloud.com tendcode.com -tenddata.com -tenddata.net tendfo.com tendis.net tendrones.com @@ -95268,7 +94053,6 @@ tengdazuche.com tengen.com tengfang.net tengfangyun.com -tengfeidn.com tengfeijob.com tengfeizhida.com tengfun.com @@ -95339,7 +94123,6 @@ teo-rum.com teown.com tepcb.com tepin.hk -tequanma.com terabuy.com terapark.com terapines.com @@ -95349,15 +94132,11 @@ teridge.com terminal.icu terminus.io terose.com -terra-1-g.djicdn.com -terra-2-g.djicdn.com -terra-cn.djiservice.org terran.tech terransforce.com terratribes.com terrytec.com teruide.net -teryt111.fun tese5.com tesele.com tesery.com @@ -95369,18 +94148,15 @@ tesiro.com tesolsh.com tesoon.com test-cignacmb.com -test-relay-service.djicdn.com -test.codata.lenovo.com test.gbugs-qa.chromium.org -test.qi.lenovo.com testbird.com testcoo.com testeb.com testeck.com testerhome.com testict.com +testin.im testingpai.com -testjp.globalsign.com testlrq.com testroad.org testrust.com @@ -95395,8 +94171,12 @@ teteyu.com tetrisone.com tetuijiudian.com teuhui.com +teuxipet.com tevachem.com +tewsiext.com tex68.com +texasholdemcup.com +texasholdemcup.net texnologynano.com texpage.com texpro-group.com @@ -95432,7 +94212,6 @@ tfgas.com tfgvb.com tfhj.com tfidc.net -tfiph.com tfkj.games tfkyj.com tflzhongkongban.com @@ -95452,7 +94231,6 @@ tfvisa.com tfwka.com tfxqrmyy.com tfyum.net -tfzah.icu tfzikao.com tfzq.com tg-vision.com @@ -95460,7 +94238,6 @@ tg-vision.net tg0123.com tg1234.com tg138.com -tgb1l.icu tgbus.com tgcid.org tgcondo.com @@ -95468,6 +94245,7 @@ tgcook.com tgcyber.com tgect.com tgeosmart.com +tggypn.com tgjh.com tgking.net tgkjjg.com @@ -95476,6 +94254,7 @@ tgljw.com tglxh.com tgnet.com tgovcloud.com +tgprocs.net tgr365.com tgshiguan.com tgslsst.com @@ -95484,6 +94263,7 @@ tgtenty.com tgtest.site tgtianshanga.com tguangxue.com +tgxuwgdi.com tgy365.com tgzhz.com tgzwmk.xyz @@ -95491,11 +94271,8 @@ th-sjy.com th-water.net th.app th.bing.com -th21333.com th38.com th99.com -thacreks.com -thaicn.com thailycare.com thaivor.com thaiyellowpagesusa.com @@ -95511,7 +94288,6 @@ thatinterpreter.net thatsmags.com thatsmandarin.com thatwind.com -thavrils.com thboiler.com thcad.net thcantech.com @@ -95538,7 +94314,6 @@ thebizark.com thebuddycreative.com thecfa.info thechois.cc -thecode.me thecodeway.com thedatasys.com thederma.com @@ -95549,13 +94324,13 @@ thefastfile.com thefastimg.com thefastmake.com thefastvideo.com -thefatherofsalmon.com thefilehosting.com thefrodo.com thegiac.com thegraduation.store thegreatwall-china.com thehanshow.com +theheirism.com theicstock.com thejamy.com thejiangmen.com @@ -95579,10 +94354,8 @@ then9.com thenburn.com thenew123.com thenewhotel.com -thenewstreams.com thenextravelmarket.com theoborn.com -theoptc.com theorychina.org thepeak.com.my thepoemforyou.com @@ -95603,6 +94376,7 @@ thetongji.com thetoplab.com thetype.cloud thevaldezfamily.com +thevideosworld.com theweina.com thewestinpazhou.com thewhitedragons.com @@ -95610,7 +94384,6 @@ thewowa.com thexinji.com thexnode.com theytree.com -theyun.com thfdc.net thfdcsoft.com thffc.com @@ -95636,6 +94409,7 @@ thinkerx.com thinkindrupal.com thinkive.com thinkjs.org +thinkpad.com thinkprinter.net thinkraz.com thinksns.com @@ -95675,10 +94449,10 @@ threadcn.com threatbook.com threatbook.net threetong.com +threewater.net thrive-chemicals.com thronechina.com thrrip.space -thruudrad.com ths123.com ths8.com thseoer.com @@ -95712,24 +94486,21 @@ thxddb.com thxdx.com thxedu.com thxflt.com -thxnr.com thxy.org thxyy.com thyoo.com thyuu.com thz56.com thzab.com -thztv.net thzu.cc ti-node.com ti-solar.com +ti.com ti0s.com -ti4la.icu tiamaes.com tian-gang.com tian-jie.com tian-run.com -tian-ting.ink tian10.com tianai391.com tianan-cyber.com @@ -95760,7 +94531,6 @@ tianchy.com tiancichina.com tiancity.com tiancitycdn.com -tiandi.com tiandirenfarm.com tianditao.com tianditu.com @@ -95789,7 +94559,6 @@ tianhao.vip tianhaohz.com tianhebus.com tianhejiayi.com -tianhelife.com tianheoil.com tianheplaza.com tianhetech.com @@ -95831,7 +94600,6 @@ tianlan.net tianli-blog.club tianlian.com tianlijianshe.com -tianlin001.com tianliwindpower.com tianlongshop.com tianlun.net @@ -95846,7 +94614,6 @@ tianmapharma.com tianmarketing.com tianmawx.com tianmaying.com -tianmidian.com tianmimiclub.com tianmu.mobi tianmu.net @@ -95854,9 +94621,8 @@ tianmumusic.com tianmunews.com tianmupe.com tiann90.com -tiannbo.com tiannengcarbon.com -tianning.xyz +tiannilaw.com tianninghr.com tiannucoating.com tiannv.com @@ -95904,7 +94670,6 @@ tianshi2.net tianshiyiyuan.com tianshizhisheng.net tianshugame.com -tianshuge.com tianshuizhaopin.com tianshungroup.com tiansu-china.com @@ -95924,15 +94689,12 @@ tiantexing.com tianti.com tiantianbannixue.com tiantiancaipu.com -tiantianedu.net tiantianfm.com tiantianfunds.com tiantianleshuiguo.com tiantianquce.com tiantianqutao.com -tiantiansoft.com tiantiantiaosheng.com -tiantianwailian.com tiantianxieye.com tiantianxuexi.com tiantingfm.com @@ -95967,7 +94729,9 @@ tianya.com tianya.tv tianya66.com tianya999.com +tianyablog.com tianyabook.com +tianyaclub.com tianyaluedu.com tianyancha.com tianyancha.net @@ -95987,10 +94751,8 @@ tianyisc.com tianyitop.com tianyiwangxiao.com tianyiwenkong.com -tianyizhihui.com tianyon.com tianyongcheng.com -tianyuan-c.com tianyuanfishing.com tianyuanjiudian.com tianyuanpet.com @@ -96019,11 +94781,12 @@ tiaomama.com tiaomaruanjian.com tiaona.com tiaooo.com -tiaotiao.store tiaotiaotang.net tiaovon.com tiaoyue.xyz +tiaozao.me tiaozhanbei.net +tiapi.net tiatiatoutiao.com tibaitong.com tibet3.com @@ -96046,11 +94809,15 @@ ticketdashi.com ticketmars.com ticp.io ticp.net +ticpayidr.com ticpsh.com ticstore.com ticwear.com +tidaas.com +tidb.ai tidb.io tidb.net +tidbcloud.com tide-china.com tide.fm tidejd.com @@ -96063,7 +94830,6 @@ tiduyun.com tieamisu.com tieba.com tiebaimg.com -tiebamm.com tiebaobei.com tiechui.cc tiedan2019.com @@ -96087,7 +94853,6 @@ tiemu.com tieniujixie.com tiens.com tiepishihu.com -tiequangame.com tieque.net tiesan.com tieshuwang.net @@ -96096,7 +94861,6 @@ tietieapp.com tietuku.com tieweishi.com tieww.com -tiexing.com tiexing.net tiexiuyugudao.com tiexue.net @@ -96121,7 +94885,6 @@ tigersecurities.com tigeryun.com tigr.link tiham.com -tiimg.com tijian001.com tijian123.com tijianbao.com @@ -96133,14 +94896,13 @@ tijox.com tijox.hk tijox.net tijox.org -tik-tokapi.com tik2019.com -tikane.com tikersport.com tiko.ink tiktoknewaccount.com tiktokrow-cdn.com tikuol.com +tikv.org tile100.com tileywy.com tillcn.com @@ -96148,7 +94910,7 @@ tillglance.com timanetworks.com time-weekly.com time-year.com -time.izatcloud.net +time.xtracloud.net timecloud.us timecoo.com timedg.com @@ -96180,10 +94942,13 @@ timev.com timewelder.com timez.com timi78.com +timibase.com timing360.com timipc.com timitime.com +timiwc.com timjx.com +timmerse.com timzuu.com tinavi.com tinengwang.com @@ -96206,6 +94971,7 @@ tinghen.com tinghongzz.com tingjia.com tingjiandan.com +tingkanbao.com tingke8.com tingkez.com tinglifangs.com @@ -96224,12 +94990,12 @@ tingshuowan.com tingsonglaw.com tingtao.net tingtingfm.com +tingtingwo.com tingvision.com tingxi8.com tingxiangzu.com tingxiaoyou.com tingyulou.com -tingyun.com tingyutech.net tiniangroup.com tinigame.xyz @@ -96252,11 +95018,13 @@ tinywan.com tinyyuan.com tipaipai.com tipask.com +tipdim.org tipdm.com +tipdm.org tipray.com tiprpress.com tipsoon.com -tiqcdn.com +tiqakcrxmyca6i.com tiqiaa.com tiqianle.com tiqinpu.com @@ -96311,10 +95079,10 @@ tj-hcdz.com tj-htjh.com tj-kingdee.com tj-model.com -tj-pod1-smp-device.apple.com tj-un.com tj-zt.com tj0573.com +tj1-miui-bn-stage01.kscn tj20.com tj2022.com tj316bxg.com @@ -96328,7 +95096,6 @@ tjbearing.com tjbh.com tjbhnews.com tjboai.com -tjboyu.com tjbpi.com tjbsq.com tjbus.com @@ -96372,7 +95139,6 @@ tjhtcpvc.com tjhyzyxy.com tjian.com tjinsuo.com -tjj.com tjjfrh.com tjjhqyy.com tjjiaotong.com @@ -96404,7 +95170,6 @@ tjpa-china.org tjpma.org tjpme.com tjportnet.com -tjq.com tjqiqiu.com tjqq.cc tjrenliziyuan.com @@ -96430,6 +95195,8 @@ tjubbs.net tjucar.com tjumc.com tjupdi.com +tjupt.org +tjuzj.com tjwatergroup.com tjwch.com tjwch.org @@ -96440,7 +95207,6 @@ tjxdzhonda.com tjxinshunda.com tjxinyu.com tjxiqi.com -tjxja.com tjxunlei888.com tjxxcl.com tjxz.cc @@ -96480,9 +95246,9 @@ tkmedicare.com tkoubei.com tkpension.com tkplusemi.com +tkqpggvx.com tkrlab.com tktjwhyy.com -tkvtkvktvktv.net tkw.cc tkwcn.com tkww.hk @@ -96493,6 +95259,7 @@ tkxyy.com tky001.com tkyfw.com tkyks.xyz +tkzqv.com tl-finechem.com tl-self.com tl-shida.com @@ -96500,6 +95267,7 @@ tl-tek.com tl-vogue.com tl100.com tl2y.com +tl4su.com tl50.com tl88.net tlang.com @@ -96514,6 +95282,7 @@ tldczgs.com tlfw.net tlfzkj.com tlgas.com +tlgslb.com tlhjjc.com tlhmhd.com tlightsky.com @@ -96528,6 +95297,7 @@ tlivednsv1.com tlivemcdn.com tliveplay.com tlivepush.com +tlivesdk.com tlivesource.com tliveupload.com tlivewebrtc.com @@ -96569,7 +95339,6 @@ tm312.com tm51.com tm5ad.com tmaill.com -tmall.casa tmall.com tmall.hk tmall.ru @@ -96577,6 +95346,7 @@ tmallalicdn.com tmallgenie.com tmallgenieapi.com tmallplay.net +tmalltv.com tmallvvv.com tmaotech.com tmbbs.com @@ -96601,6 +95371,8 @@ tmkjcx.com tmkoo.com tmmini.com tmoxrobot.com +tmqd.me +tmqd.so tmqmqj.com tmrcw.com tmrenergy.com @@ -96621,15 +95393,17 @@ tmtsmartlife.com tmtsmartrun.com tmtsp.com tmuaih.com +tmusoft.com tmuyun.com tmwcn.com -tmwjm.com tmwxxcx.com tmwzs.com tmxmall.com tmxxw.com +tmxz.me +tmyirick.com +tmzvps.com tn2000.com -tnarzc.com tnblog.net tnblt.com tnbz.com @@ -96637,10 +95411,7 @@ tnccdn.com tnedu.com tnettms.com tnfn.net -tnfno.icu tngcjx.com -tnjly.com -tnkjmec.com tnodenow.com tnong.com tnsou.com @@ -96649,9 +95420,9 @@ tnzuwu.com to-future.net to2025.com to4f.com -to8to.com to999.com toalan.com +toaobg.com toaseancn.com toast.pub toaw.net @@ -96663,13 +95434,13 @@ tobetopone.com tobnews.com tobo1688.com tobosu.com -tobosu.net tobsnssdk.com tochgo.com tochinajob.com tocomtech.com tocosc.com tocreating.com +today.ai today36524.com today99.com todaycache.net @@ -96711,7 +95482,6 @@ tohosting.net tohours.com toidea.com toiue.com -tokay.pro tokcoder.com tokeiaat.com tokeimall080.com @@ -96722,7 +95492,6 @@ tokenet.site tokenglish.com tokensky.net tokimekiclub.org -tokyo.skypixel.com tol24.com tom.cat tom.com @@ -96735,8 +95504,6 @@ tomax.xyz tomdiy.com tomley.com tommsoft.com -tomonline-inc.com -tomotoes.com tompda.com tomson-group.com tomson-riviera.com @@ -96755,14 +95522,12 @@ tongbanjie.com tongbanjie.info tongbaoyun.com tongbb.net -tongbu.com tongbulv.com tongbupan.com tongbusj.com tongceyiliao.com tongchaba.com tongcheng.cc -tongcheng360.com tongchengbx.com tongchengchaku.com tongchengir.com @@ -96776,7 +95541,6 @@ tongdaonews.com tongdaotv.com tongdayun.com tongdelove.com -tongdiaocn.com tongdinggroup.com tongdun.net tongdy.com @@ -96789,15 +95553,13 @@ tongfugroup.com tonggao.info tongguanbao.net tonghanguav.com -tonghuaji.com tonghuan.com tonghuiqiye.com tongji.com -tongji.info +tongji.linezing.com tongjia.com tongjiai.com tongjijs.com -tongjiniao.com tongjipf.com tongleer.com tonglei.com @@ -96887,7 +95649,6 @@ tonitech.com tonki-tpms.com tonksz.com tonlyele.com -tonnn.com tonnp.com tonsontec.com tontian.com @@ -96912,12 +95673,10 @@ toolmall.com toolmao.com toolnb.com toolonline.net -tools.deploy.akamai.com -tools.google.com -tools.gss.akamai.com -tools.l.google.com +tools.team toolscat.com tooltt.com +toolwa.com tooming.com toomoss.com toon.mobi @@ -96987,8 +95746,10 @@ topku.com toplanit.com toplee.com toplevel.ink +toplife.com toploong.com topmba.mobi +topmediai.com topnfactory.com topnic.net topomel.com @@ -97006,8 +95767,6 @@ toprocn.com topsage.com topscan.com topsedu.com -topsem.com -topsex.cc topsim.cc topsmartinfo.com topsmt.com @@ -97024,7 +95783,6 @@ topthink.net toptiao.com toptopn.com toptopone.com -toptourservice.com toptubeco.com topuc.com topunix.com @@ -97065,6 +95823,7 @@ tosunk.com totainfo.com totalacg.com totenchina.com +totheglory.im totiot.com totochina.com totodi.com @@ -97090,13 +95849,10 @@ touchjoin.com touchjoint.com touchmark.art touchpal.com -touchrom.com touchsh.com touchsprite.com touchsprite.net touchstudio.net -touchxd.com -touclick.com touduyu.com toufu321.com tougongjiao.com @@ -97110,6 +95866,7 @@ touker.com toumiao.com toupb.com toupiaoapp.com +touqikan.com tour110.com tourboxtech.com tourenwang.com @@ -97123,9 +95880,8 @@ tourscool.com tourunion.com tourye.com tourzhenjiang.com -toushibao.com +tourzj.com toushivip.com -toutanymm.asia toutiao.com toutiao.org toutiao11.com @@ -97147,12 +95903,12 @@ toutiaohao.net toutiaoimg.com toutiaoimg.net toutiaojingyan.com +toutiaojisu.com toutiaolite.com toutiaolite1.com toutiaolite2.com toutiaoliving.com toutiaonanren.com -toutiaopage.com toutiaopan.com toutiaopanapi.com toutiaopic.com @@ -97183,7 +95939,6 @@ towavephone.com towelltech.com tower.im towinor.com -towmfs.com towmy.com towngasenergy.com towngasvcc.com @@ -97192,6 +95947,7 @@ townsungroup.com towntour.net towords.com towry.me +towyzcxc.com toxingwang.com toybaba.com toycloud.com @@ -97231,6 +95987,7 @@ tpstatic.net tpsxs.com tpszw.com tpturang.com +tpua.vip tpuda.com tpumlir.org tpy100.com @@ -97240,15 +95997,17 @@ tpykyy.com tpyzq.com tpzlj.com tqads.com +tqapp.com tqcj.com tqcp.net tqcrane.com tqcto.com tqdianbiao.com tqedu.net -tqeferty33.fun tqgxb.com tqhj88.com +tqiangg.com +tqiangg.net tqiantu.com tqip.com tqkgjt.com @@ -97265,7 +96024,6 @@ tqrobodrive.com tqschool.net tqshfw.com tqshfw.net -tquspo.com tquyi.com tqw5.com tqwqq.com @@ -97281,7 +96039,7 @@ tracegd.com traceint.com tracestour.com tracevision.tv -trackingio.com +tracker.ink trackingmore.com tracup.com tracyclass.com @@ -97299,18 +96057,13 @@ tradevv.com tradew.com tradingcomps.com tradinghero.com -traditionallyobjectlessblinked.com tradow.com -tradplus.com -tradplusad.com trafficmasterz.net -trafstore.com traineexp.com trainingipv6.com trainnets.com trainsimchina.com trait-wholesale.com -traktalent.com tranbbs.com tranlion.com tranplanet.com @@ -97324,7 +96077,6 @@ transfarchem.com transfarzl.com transformer-cn.com transformers.run -transformu.lenovo.com transfriend.com transfu.com transfun.net @@ -97364,9 +96116,9 @@ treehousesub.com treesir.pub treetwins.com treeyee.com -treferty33.fun trekin.space trekiz.com +trellocdn.com trend6.com trendiano.com trendingstar.tech @@ -97391,18 +96143,20 @@ trhui.com trhxt.com trickypen.com triggerdelivery.com -trimmoits.com trinasolar.com trinitigame.com trinova-tech.com trioisobardev.com triolion.com triopen.com +triorder.com triowin.com +trip.com trip169.com trip8080.com tripbaba.com tripbe.com +tripcdn.com triphr.com tripleuuu.com triplexservice.com @@ -97430,7 +96184,6 @@ trkjbj.com trleader.com trli.club trmedical.net -trmnsite.com trnjm.com trnox.com troika-design.com @@ -97441,8 +96194,10 @@ tronixin.com tronlife.com tronlong.com tronly.com +tronsmart.com tropcdn.com troxchina.com +trpcdn.com trpcdn.net trqjrp.xyz trrtv.com @@ -97455,9 +96210,10 @@ trswtz.com trt.hk trtb.net trtc.io +trtcanlitv-lh.akamaihd.net trthealth.com -trtos.com trtpazyz.com +trtquxro.com trucker365.com trucklc.com trueart.com @@ -97487,6 +96243,7 @@ trust400.com trusta-lawyer.com trustasia.com trustcn.com +trustcommander.net trustdecision.com trustedsign.com trustexporter.com @@ -97496,7 +96253,6 @@ trustlife.com trustmo.com trustmover.com trustmta.com -trustutn.org trustwe.com trutes.com truthsinfo.com @@ -97523,7 +96279,6 @@ ts-precision.com ts.cc ts0775.com ts100.com -ts166.net ts16949px.com ts16949rz.org ts3.hk @@ -97599,6 +96354,7 @@ tsmtkj.com tsorder.com tsp-system.com tsp189.com +tsparkling.com tspf120.com tspsy.com tspweb.com @@ -97621,12 +96377,14 @@ tsubakichina.com tsukistar.fun tsunbull.com tswjn.com +tswjs.org tswljt.com tswmb.com tswnanning.com tswuby.com tsxcfw.com tsxcx.xyz +tsxgedz.com tsxjt.com tsxtgj.com tsxw66.com @@ -97664,7 +96422,6 @@ ttdailynews.com ttdown.com ttdsw.com ttechhk.com -tteferty33.fun ttfa8.com ttfly.com ttfuav.com @@ -97692,21 +96449,19 @@ ttjisu.com ttkaiche.com ttkdex.com ttkefu.com -ttklg.net ttkuan.com -ttkxh.com ttll.cc ttlock.com ttlsa.com ttmark.com ttmass.com ttmd5.com +ttmeiju.com ttmeishi.net ttmm.vip ttmn.com ttmnq.com ttmv.com -ttmyopia.com ttn8.com ttnaoli.com ttnea.com @@ -97726,14 +96481,13 @@ ttppoo.com ttpx.net ttq.com ttq.so +ttqiadar.com ttriqi.com -ttroytj33.fun tts8.com ttshengbei.com ttship.com ttshuba.cc ttshuba.net -ttsic.net ttsmk.com ttstream.com ttsz8.com @@ -97749,8 +96503,8 @@ tttuangou.net tttxf.com tttz.com ttunion.com +ttvmexmk.com ttwanjia.com -ttwebview.com ttwifi.net ttwqw.com ttwx.com @@ -97774,8 +96528,6 @@ ttyongche.com ttyqm.com ttysq.com ttyuyin.com -ttyyuuoo.com -ttz.com ttzcw.com ttzubao.com ttzw365.com @@ -97799,12 +96551,10 @@ tuanduishuo.com tuang.club tuangai.com tuangouba.com -tuanhuiwang.com tuanidc.net tuanimg.com tuanitgx.com tuanjiebao.com -tuanjinan.com tuanjuwang.com tuankezhan.com tuanlin.net @@ -97815,9 +96565,7 @@ tuanping.com tuanshan.com tuantuangame.com tuantuanshou.com -tuanwen.com tuanxue360.com -tuanxue360.net tuanyanan.com tuanyougou.com tuanyuan520.com @@ -97830,6 +96578,7 @@ tubaobaoqm.com tubaoveneer.com tubaoyz.com tubatu.com +tube-cat.com tubebbs.com tubiaoxiu.com tubiaozu.com @@ -97880,16 +96629,15 @@ tuiaaae.com tuiaaaf.com tuiaaag.com tuiabq.com -tuiapple.com tuibear.com tuiberry.com tuiclick.com +tuicool.com tuidaniu.com tuidc.com tuideli.com tuidragon.com tuifeiapi.com -tuifish.com tuifrog.com tuiguang91.com tuiguangdns.com @@ -97909,7 +96657,6 @@ tuilixy.net tuimob.com tuimotuimo.com tuimy.com -tuinei.com tuipeanut.com tuipear.com tuipinpai.com @@ -97923,32 +96670,30 @@ tuishuge.com tuishujun.com tuisnake.com tuistone.com -tuitiger.com -tuitui.info tuitui99.com tuituifang.com tuituisoft.com tuituitang.com +tuiwen.net tuixue.online tuiyi.cc tuizx.com tujia.com tujiacdn.com tujian.com +tujiandan.com tujidu.com tujiwar.com tujixiazai.com tujuren.com tuke8.com tuke88.com -tukeai.com tukedu.com tukkk.com tuku.com tukucc.com tukujia.com tukuppt.com -tukveks.com tulading.com tulaoshi.com tuleminsu.com @@ -97960,7 +96705,6 @@ tumajewelry.com tumanfen.com tumanyi.com tumchina.com -tumeinv.com tumengtech.com tumicomm.com tumormed.com @@ -98011,7 +96755,6 @@ tuopaishedecta.com tuopan808.com tuopu.com tuoren.com -tuoshuohulan.com tuotoo.com tuotuozu.com tuoweisi.com @@ -98026,7 +96769,6 @@ tupian114.com tupian1234.com tupian365.com tupiancunchu.com -tupianjp.com tupiankucdn.com tupianyun.com tupianzj.com @@ -98045,7 +96787,6 @@ turingdi.com turinggear.com turingtopia.com turnitin.org.in -turnitincn.com turnitinuk.net turtle-sir.com turui-robots.com @@ -98093,7 +96834,6 @@ tutuim.com tutupan.com tuvrblog.com tuwan.com -tuwan21.com tuwandata.com tuwangwang.com tuwanjun.com @@ -98120,6 +96860,7 @@ tuyou.me tuyougame.com tuyoujp.com tuyoumi.com +tuyouvpn.com tuyouxinxi.net tuyusheji.com tuzhan.com @@ -98133,13 +96874,13 @@ tuzhongit.com tuzi123.com tuzi8.com tuziip.com -tv.sohu +tv.cnbeijing.xyz +tv.nknews.org tv0001.com tv002.com tv189.com tv373.com tvandnet.com -tvants.com tvapk.com tvapk.net tvbbj.com @@ -98164,6 +96905,7 @@ tvnwang.cc tvoao.com tvos.com tvt.im +tvuctgze.com tvxio.com tvzhe.com tvzn.com @@ -98174,19 +96916,18 @@ tw93.fun twanxi.com twatchesmall.com twatchmall.com -twcczhu.com twcoal.com twd.icu twd2.me twd2.net twdxdl.com tweakcube.com -twh5.com twheixiong.com twinkledeals.com twinsel.com twinsenliang.net twk.cc +twmsuf.com twoarmy.com twoear.com twowestcondos.com @@ -98206,9 +96947,10 @@ twwtn.com twwtn.net twyuxin.com twyxi.com +twz1t32lzy.com twzgn.com twzilla.com -twzui6.com +tx-exhibition.com tx-livetools.com tx-streetlights.com tx-trans.com @@ -98219,13 +96961,13 @@ tx29.com tx321.com tx365.com tx5d.com -tx8869.com tx8j.com tx9968.com txbanche.com txbapp.com txbimg.com txbond.com +txbyod.com txcap.com txcdns.com txcfgl.com @@ -98236,6 +96978,7 @@ txcmapp.com txcx.com txcx.tech txcxpt.com +txczawlfpj5.com txdai.com txdl1.com txdyt.com @@ -98247,12 +96990,8 @@ txfund.com txga.com txgirl1.com txgirl2.com -txh00.com -txhfgwgkwt7.asia -txhfgwgkwt8.asia txhsya.com txhy1699.com -txie.club txitech.com txjhqh.com txjscl.com @@ -98283,14 +97022,13 @@ txstatic.com txt101.com txt321.com txt81.com -txtanghu.com txtbbs.com txtduo.com txtelsig.com txtshuku.org txttgj.com txttool.com -txtxr.com +txtyxg.com txvat.com txvlog.com txwb.com @@ -98378,12 +97116,12 @@ typecho.work typechodev.com typechx.com typeeasy.net +typhoon.vip typicalchn.com typrotech.com tyqian.com tyqxzx.com tyr8.com -tyrantdb.com tyrantg.com tyrbl.com tyrbw.com @@ -98394,7 +97132,9 @@ tysih.com tysj365.com tysjyjy.com tyst.cc +tysurl.com tyszy.com +tytgigty.com tytlj.com tytuyoo.com tytzy.com @@ -98402,7 +97142,6 @@ tytzyyy.com tytzzy.com tyuanlv.com tyue.net -tyuetxt.com tyust.net tyututy.com tyuyan.com @@ -98422,9 +97161,7 @@ tyzhjx.com tyzhyun.com tyzs8.com tyzspy.com -tz-dsp.com tz-water.com -tz.cc tz100.com tz121.com tz12306.com @@ -98447,20 +97184,18 @@ tzfeilu.com tzfeize.xyz tzfile.com tzfpa.com -tzfxkj.com tzgcjie.com tzggzj.com tzgjjt.com +tzgkuci.com tzgsjc.com tzhledu.net tzhospital.com tzhuaya.com -tzhubo.com tzhwcc.com tzjizhou.com tzjob.com tzjufeng.com -tzjwrml.com tzjxl.com tzjyjt.com tzjzsw.com @@ -98471,6 +97206,7 @@ tzlmt.com tzm66.com tzme.net tzmem.com +tzmpqcfr.com tzpaper.com tzqby.com tzqingzhifeng.com @@ -98511,6 +97247,7 @@ tzzszb.com tzzx.net u-camera.com u-cdn.com +u-cdn.net u-lights.com u-link.org u-mro.com @@ -98522,12 +97259,10 @@ u-softtech.com u-speedex.com u-workshop.com u.biz -u.dji.com u.sb u.tools u005.com u0351.com -u05.xyz u0537.com u062.com u10010.com @@ -98546,27 +97281,27 @@ u2sz.com u3dc.com u3dcn.com u3dol.com +u3l120di51.com +u3v1adybl4.com u3v3.com -u4ccj.icu u4u5.com u4u5.tv u51.com -u51.me u520.net u58.com u581.com -u5ps5.icu u5wan.com u69cn.com u6ex.com u72.net -u7u9.com +u8164i46a4.com u88.com -u8ad.com +u8dnv.net u8e.com u8p2swz.xyz u8see.com u8sy.com +u8yb16b993.com u8yx.com u966.com u9baoku.xyz @@ -98577,12 +97312,14 @@ u9u9.com u9wan.com uaff7j.com uahh.site -uakwj.com +uakwezgc.com uancf.com uandi-wireless.com uangee.com uao-online.com uao.so +uaomprvw.com +uat1.bfsspadserver.8le8le.com uauc.net uavtjxh.com uavvv.com @@ -98591,27 +97328,20 @@ ub-os.com ub.cc ub8020.com ubaiyi.com -ubalh.com ubangmang.com ubao.com ubc-bearing.com ubccn.com ubeethiesemo.com ubeihai.com -uberproxy-debug4.corp.google.com -uberproxy.corp.google.com -uberproxy6.corp.google.com ubesh.com ubestkid.com ubetween.com ubgame.com -ubibibi.com ubicdn.com -ubijoy.com ubiquant.com ubismartparcel.com ubixai.com -ubixioe.com ubja.vip ublese.com ubmconlinereg.com @@ -98622,16 +97352,15 @@ uboxol.com ubs001.com ubssdic.com ubsshows.com -ubt.tripcdn.com ubtrobot.com ubuant.com ubuntukylin.com ubuuk.com ubuylogi.com +uc-test.com uc-union.com uc003.com uc108.com -uc123.com uc129.com uc138.com uc1z.com @@ -98640,10 +97369,8 @@ uc23.net uc56.com uc666.com uc669.com -uca6.com ucacc.com ucai123.com -ucaii.com ucaiyuan.com ucaiyun.com ucancs.com @@ -98660,7 +97387,10 @@ uccpd.com ucdchina.com ucdok.com ucdrs.net -ucfly.com +ucgslb.com +ucgslb.info +ucgslb.net +ucgslb.top uchangdi.com uchiha.ltd uchis.com @@ -98675,15 +97405,21 @@ ucloud365.com ucloudadmin.com ucloudapi.com ucloudgda.com +ucloudnaming.com ucloudnaming.info +ucloudnaming.net +ucloudoss.com uclouds3.com ucloudstack.com ucloudstack.net ucloudstor.com +uclouduewaf.com +ucloudufile.com ucly.net ucmmine.com ucnaming.com ucnaming.info +ucnaming.net ucnano.com ucnest.com ucpaas.com @@ -98693,7 +97429,6 @@ ucren.com ucsanya.com ucsded.com ucss.ninja -uctrac.com uctwydx.com ucun.tech ucuntech.com @@ -98702,10 +97437,8 @@ ucw.pub ucweb.com ucxsw.com ucying.com -uczhidao.com -uczzd.com -uczzd.net udache.com +udacity.com udalogistic.com udamall.com udangjia.com @@ -98719,7 +97452,6 @@ udecig.com udelivrs.com udeskcs.com udfspace.com -udheansv.com udiannet.com udid.vin udns.dev @@ -98727,7 +97459,6 @@ udonmai.com udows.com udragons.com udream.com -udrig.com udsdown.xyz udship.com udsstudio.com @@ -98740,8 +97471,6 @@ uedbet.bet uedbox.com uedna.com ueeshop.com -ueg.cc -uegsjnk.com uehchina.com uehtml.com ueibo.com @@ -98775,31 +97504,26 @@ ufileos.com ufirefly.com ufizl.com ufkwm.com -uflowx.com ufo.club ufo110.net ufoer.com -ufojia.com ufojoy.com -ufolm.com uformwater.com ufotm.com ufsoo.com -uftcfo.xyz ufyct.com +ug.link ug888.com ugainian.com ugapi.com ugapk.com ugbb.com ugdesk.com -ugdtimg.com ugediao.com uggame.com uggd.com ugirls.tv ugmars.com -ugmcd.com ugmjd.com ugnas.com ugnx.net @@ -98815,19 +97539,18 @@ ugshare-img.com ugslb.com ugslb.info ugslb.net +ugslb.top ugslb2.net ugsnx.com ugsvscw.com +ugtemfeu.com ugubl.net ugxsd.com -uhabo.com uhaom.com uhaozu.com uhasadmin.com uhbthn.com uhcmu.com -uhi02121uik.xyz -uhi02130uik.xyz uhomecp.com uhomes.com uhomesplus.com @@ -98835,7 +97558,6 @@ uhouzz.com uhp.cc uhs68.com uhsea.com -uhuf56.fun uhuibao.com uhuitong.com uhuocn.com @@ -98852,7 +97574,6 @@ uibmm.com uicats.com uicmall.com uicom.net -uicool123.com uid75.com uidec.com uidev.tech @@ -98888,7 +97609,6 @@ uiusc.com uiwow.com ujakn.com ujia007.com -ujian.cc ujianchina.net ujiao.net ujiaoshou.com @@ -98925,13 +97645,13 @@ ukubang.com ukui.org ukupu.com ukusk12.com +ukve4smo9gapv.com ukvisacenterd.com ukworldsale.com ulab360.com ulanzou.com ulaojiu.com ulapia.com -uldaens.com ule.com ule.hk uleapp.com @@ -98949,14 +97669,12 @@ ulikepic.com ulikestatic.com ulinix.com ulinix.tv -ulink.cc ulinkcollege.com ulixirglobal.com ulpay.com ultracachenode.com ultraeda.com ultramanol.com -ultrapay.net ultrarisc.com ultrarobin.com ulucu.com @@ -98966,6 +97684,7 @@ um.run umajor.net umaman.com umasoft.com +umaszdc.com umate.net umb.ink umbpay.com @@ -98995,29 +97714,24 @@ uml-tech.com umlchina.com umlife.net umpay.com -umphek.com umpxkvtt.com ums86.com umsamd.com -umsns.com -umtrack.com umtrack0.com umtrack1.com umtrack2.com -umv0.com -umv5.com umva-china.com umvcard.com umvsoft.com -umyai.com un-bug.com +un.org un10086.com un1c0de.xyz una-ad.com una-campaign.com unachina.org -unafeed.com unaming.info +unaming.net unasdwarfs.com unbank.info unbcomm.com @@ -99039,16 +97753,16 @@ uncoverman.com und188.com under-5.shop underfill.cc -undoifyouwant.site uneatclean.com uneed.com -uneede.com unfish.net ungifts.com +uni-bielefeld.de uni-cent.com uni-forest.com uni-perfect.com uni-ubi.com +uni6rtmp.tulix.tv uniaipdz.com unibeauty.net unibizp.com @@ -99080,6 +97794,7 @@ unilumin.com unimasdata.com unimtx.com uninf.com +uning.com uninstall-tools.com uninto.com uniny.com @@ -99087,19 +97802,14 @@ union-4.com union-game.com union-net.com union-tio2.com -union-wifi.com -union178.com union400.com union555.com -unioncom.cc unioncyber.net -unionli.com unionpay.com unionpay.net unionpay95516.cc unionpayintl.com unionpaysecure.com -unionsy.com uniontech.com unionwebpay.com uniostay.com @@ -99131,6 +97841,7 @@ united-bearing.com united-imaging.com united-sqwater.com united-water.com +united1991.com unitedbank.ltd unitedds.com unitedmoney.com @@ -99154,7 +97865,6 @@ uniview.com univista-isg.com univsport.com uniwaf.com -uniworldgroup.asia unixhot.com unixidc.com unjmz.com @@ -99163,7 +97873,6 @@ unlcn.com unlgroup.com unlimax.com unlimithealth.com -unlitui.com unmou.com unn114.com unncahs.net @@ -99186,15 +97895,16 @@ unyx.com unzg.com uoboc.com uochen.com -uodoo.com uodzhx.com uoeee.com +uoevtxmx.com uoften.com uoj.ac uoko.com uokon.com uomg.com uomo.cc +uomrcipa.com uonline-sh.com uonline-sh.net uono4521.com @@ -99239,12 +97949,8 @@ upchina.com upchinapro.com upchinaproduct.com upd.kaspersky.com -update.crashlytics.com -update.googleapis.com +update.microsoft.com update8.com -updates-http.cdn-apple.com -updates-http.cdn-apple.com.akadns.net -updates.cdn-apple.com updeals.com updf.com updrv.com @@ -99265,17 +97971,20 @@ upin.com upkao.com upkk.com upkuajing.com +uplaypc-s-ubisoft.cdn.ubi.com uplookedu.com uplooking.com upluck.cc upnono.com +upos-bstar-mirrorakam.akamaized.net +upos-bstar1-mirrorakam.akamaized.net +upos-hz-mirrorakam.akamaized.net upowerchain.com uppershop.hk upppt.com upqzfile.com upqzfilebk.com uprimer.net -ups.ksmobile.net ups001.com ups88.net upsapp.com @@ -99333,9 +98042,7 @@ urbtix.hk urcb.com urcove-hotels.com urgaffel.com -urgc.net urhimalayanak.com -uri6.com uril6.com uriminzokkiri.com urit.com @@ -99343,7 +98050,9 @@ uritebio.com uritest.com uriwh.com url.cy +url7.me urlos.com +urmuyhz.com uroandrologyseries.com urocancer.org urology.wiki @@ -99351,6 +98060,7 @@ urongda.com urovo.com urovo.net urovoworld.com +urpwcei.com urq7wvyumzfdi5.com urs-china.com ursb.me @@ -99359,7 +98069,7 @@ urtrust.com urumqi-air.com urumqimarathon.com urumqimtr.com -us-ag2-api.dji.com +urwkcgpt.com us-ex.com us-qianzheng.com us0.me @@ -99397,7 +98107,6 @@ userhostting.com userresearch.net useryun.net useso.com -ushaqi.com ushendu.com ushengame.com ushinef.com @@ -99414,7 +98123,6 @@ usjticketing.com uslawchina.com uslk.net usmile.com -usn.cc usniuku.com usnook.com usocialplus.com @@ -99426,7 +98134,6 @@ usplanking.com usportnews.com usqiaobao.com usryinc.com -usst.store ustack.com ustalk.com ustarl.com @@ -99441,7 +98148,6 @@ uszcn.com ut8d.com utan.com utanbaby.com -utaole.com utbon.com utc-ic.com utcbag.com @@ -99463,17 +98169,19 @@ utopiafar.com utoppromo.com utourworld.com utovr.com +utowekcr.com utrainee.com utransm.com utrustamc.com utsource.net uttjhu.xyz +utuqafcr.com utvhk.com +utvmuvpi.com uu-baidu.com uu-proxy.com uu-xs.net uu.cc -uu.me uu1.com uu11.com uu11441.com @@ -99481,9 +98189,6 @@ uu11661.com uu1314.com uu178.com uu2024.com -uu22112.com -uu22332.com -uu22662.com uu32500.com uu37.com uu375.com @@ -99495,13 +98200,16 @@ uu6o.com uu89.com uu898.com uuaa.net -uuboos.com uucall.com +uucc.cc uucin.com uucl.vip uucnn.com +uucqrdmk.com +uueasy.com uuecs.com uuedutech.com +uufbacad.shop uufund.com uufuns.com uug22.com @@ -99515,7 +98223,6 @@ uuimg.com uuiop.com uukkuu.com uuliaoning.com -uulucky.com uulux.com uumachine.com uume.com @@ -99545,7 +98252,6 @@ uustv.com uutils.com uutop.com uutrip.net -uutytp.com uuu.ovh uuu9.com uuujjj.com @@ -99566,11 +98272,9 @@ uuxs.info uuxs.la uuxs.tw uuyoyo.com -uuysiaq.com uuzham.com uuzhufu.com uuzo.net -uuzu.com uuzuonline.com uuzuonline.net uuzz.com @@ -99580,9 +98284,10 @@ uvcdns.com uvecca.com uviewui.com uvledtek.com -uvoisbg.xyz +uvlv75moy8.com uvsec.com uvwhd.com +uw36gicu5xav.com uw3c.com uw8888.com uw9.net @@ -99590,19 +98295,21 @@ uwa4d.com uwan.com uwaysoft.com uwenku.com +uwn.com uwntek.com uworter.com +uwparking.com +uwsa4.com ux18.com -ux6.com ux87.com uxacn.com uxdc.net uxdzpmz.com +uxengine.net uxiangzu.com uxianhu.com uxicp.com uxier.com -uxigo.com uxin.com uxin001.com uxingroup.com @@ -99627,13 +98334,12 @@ uyess.com uyhjnm.com uyi2.com uyiban.com +uyiqggpa.com uyou.com uyouii.cool uyouqu.com uyshipin.com -uyueread.com uyun-cdn.com -uyunad.com uyunbaby.com uyuncdn.net uyunce.com @@ -99645,8 +98351,9 @@ uzhika.com uzhuangji.net uzing.net uzise.com +uzkqymgs.com +uzosibzk.com uzshare.com -uzy.xyz uzzf.com v-56.com v-beautysalon.com @@ -99654,19 +98361,19 @@ v-danci.com v-lz.com v-mate.mobi v-mo2012.com -v-pack.net v-simtone.com -v-vay.com v.biz -v.sohu v.to v007.net +v0668tm614.com v0719.com +v1.one-tv.com v114.com v15cdn.com v15i.com v1h5.com v1kf.com +v1l1b.com v1lady.com v1pin.com v1tv.cc @@ -99675,20 +98382,19 @@ v1zhushou.com v2b3.com v2ex.cc v2kt.com -v2make.com v2vm.com v3.com v3best.com v3edu.org +v3kyo4wb8i.com v3mh.com v4.cc v479.com -v4dwkcv.com v5.cc v5.com v5.net v50307shvkaa.art -v583.cc +v5875.com v5cg.com v5dun.net v5fox.com @@ -99699,7 +98405,6 @@ v5shop.com v5tv.com v5waf.com v61.com -v66v66.com v6c.cc v6eq34ykhek5.com v6lvs.com @@ -99707,13 +98412,16 @@ v6ok.com v6vip.com v78q.com v814.com +v84z6a854d.com v89.com +v8a5rasf64.com v8gb.com v9022f162g.com v977.com v9b5n91.com va-etong.com vaakwe.com +vacepcvu.com vacmic.com vadxq.com vaedu.net @@ -99724,8 +98432,6 @@ vaillant99.com vailogchina.com vakku.com valiant-cn.com -valid.apple.com -valid.origin-apple.com.akadns.net valinbl.com valinresources.com valogin.com @@ -99734,6 +98440,7 @@ value500.com valuecome.com valuedshow.com valuepr.net +valueq-sea.com valueq.com valueur.com valurise.com @@ -99750,6 +98457,7 @@ vanchip.com vanchiptech.com vanchu.com vancl.com +vanclimg.com vancss.com vanda.cc vandream.com @@ -99776,7 +98484,6 @@ vansungroup.com vanvps.com vanward.com vanwardsmart.com -vanwarmgroup.com vanyee.net vanzol.com vaopo.com @@ -99785,11 +98492,11 @@ vaptcha.com vaptcha.net varena.com variflight.com +varlt.com varmilo.com varsalmed.com vart.cc varygroup.com -vas.ink vasdgame.com vasee.com vaslco.com @@ -99804,20 +98511,15 @@ vattenvalve.com vauoo.com vautoshow.com vayakid.com -vaycaptoc-vn.com vaydeer.com vayol.com vayuan.com vazyme.com vazymemedical.com -vbaiu.com vbango.com -vbaof.com vbaoxian-cib.com vbbobo.com vbidc.com -vbieu.com -vbinu.com vbio-pharma.com vbiquge.com vbmnmy.com @@ -99825,14 +98527,13 @@ vbsemi.com vc800.com vcarepharmatech.com vcbeat.net +vcc808.site vcchar.com vcd.io -vcdfsf99.fun vcdnga.com vcg.com vchangyi.com vchello.com -vchiy.com vcimg.com vcinchina.com vckbase.com @@ -99841,12 +98542,17 @@ vcled.com vcloud-byte.com vcloudapi.com vcloudgtm.com +vcloudgtm.net +vcloudstc.com +vcloudstc.net +vcloudvod.com vclusters.com vcnews.com vcode.cc vcomic.com vcomputes.com vconew.com +vconew3.com vcooline.com vcore.hk vcpdemo.com @@ -99858,15 +98564,9 @@ vcspark.com vctianshanvs.com vcudu.com vcxpe.com -vcxv73.fun -vcxv787.fun vdaye.com -vdazz.net vdbet.com -vdfbjd-qwurnf-gsmgb.com vdfly.com -vdfvdf33q.fun -vdhf042.fun vdiagnostic.com vdian.com vdisk.me @@ -99874,12 +98574,13 @@ vdlya.com vdncache.com vdncloud.com vdndc.com +vdnplus.com +vdnplus.net vdnsv.com vdnyuwwq.com vdobiotech.com vdolady.com vdongchina.com -vdsdsf2.fun vdson888.com vdx9.com vdyoo.com @@ -99890,6 +98591,7 @@ ve70.com vearne.cc vebaike.com vec-contracting.com +vecdnlb.com vecentek.com veckinc.com veclightyear.com @@ -99935,10 +98637,10 @@ velledq.com velocaps.com vemarsdev.com vemarsstatic.com +vemarsweb.com vemic.com vemte.com vemvm.com -venbbs.com vendue.vip venlvcloud.com ventoy.net @@ -99976,11 +98678,12 @@ verydoc.net verydu.net verydz.com veryevent.com -veryfast.site +veryfb.com verygrass.com verygslb.com verygslb.net veryhappy.pw +veryhuo.com veryide.com veryitman.com verykuai.com @@ -99992,7 +98695,6 @@ verypan.com verysource.com verystar.net verysync.com -veryt111.fun veryvp.com veryweibo.com verywind.com @@ -100010,13 +98712,12 @@ vesystem.com vetoolchain.com vetscloud.com vevor.net +vevsmize.com vez.me vf5c.com vfcdnrd.com vfcpay.com vfcsz.com -vfdvdfv77.fun -vfdvdg67.fun vfe.cc vfinemusic.com vfocus.net @@ -100025,13 +98726,11 @@ vfuiov.sbs vfuke.net vfund.org vfvdf.com -vfvdsati.com -vfvdvd99.fun vfx123.com vg.com vg173.com +vg89qeas3xagd.com vgabc.com -vgaom.com vgbaike.com vgctradeunion.com vgemsys.com @@ -100055,13 +98754,14 @@ vhallyun.com vhao123.com vhengdata.com vhiphop.com +vhisxs.com vhong.com vhostcp.com vhostgo.com vhshub.com +vhsinsurtech.com vhxaw.com vhzhaopin.com -vi-mayman.com vi21.net vi586.com via-cert.com @@ -100092,11 +98792,11 @@ vicpv.com vicrab.com vicsdf.com vicsz.com -victim.xn--vuq861b victory-inflight.com victorybio.com viczz.com vida-bio.com +vidalith.com viday.org videaba.com videasoft.com @@ -100107,7 +98807,8 @@ videocc.net videofty.com videohupu.com videoincloud.com -videojj.com +videomind.cloud +videomind.net videotomp3.site videougc.com videoxiaoyouxi.com @@ -100118,7 +98819,6 @@ vidmatefilm.org viecoo.com vieg.net vientao.com -viethu.com vietnambesthotel.com viewstock.com viewtool.com @@ -100126,6 +98826,7 @@ viewtrans.com vifaka.com vigogroup.com vigorgb.com +vigorousxy.com vigtel.com vigtm-meeting-tencent.com viigee.com @@ -100164,7 +98865,6 @@ vinehoo.com vinetreetents.com vingoojuice.com vingoostation.com -vingroupinvestment.com vinjn.com vinkdong.com vinlion.com @@ -100181,14 +98881,13 @@ vip10000.club vip120.com vip1280.net vip150.com -vip3-kisdofodl-iusfio.com vip800.com vip8849.com +vip888.kuyun99.com vip97.net vip9982.net vipabc.com vipabcyun.com -vipads.live vipappsina.com vipbaihe.com vipbcw.com @@ -100196,7 +98895,6 @@ vipbla.com vipbuluo.com vipcaocao.com vipchina.com -vipcn.com vipcto.com vipdlt.com vipersaudio.com @@ -100208,7 +98906,6 @@ vipfenxiang.com vipfinal.com vipflonline.com vipglobal.hk -vipgogo123.site vipgouyouhui.com vipgs.net vipgslb.com @@ -100262,7 +98959,6 @@ vipxdns.info vipxdns.net vipxf.com vipxs.la -vipyaya.com vipyl.com vipyyzz.com vipyz-cdn1.com @@ -100273,7 +98969,6 @@ vircloud.net virosin.org virscan.org virtaicloud.com -virtual.lenovo.com virtualevent.net virtupharmako.com virusdefender.net @@ -100331,20 +99026,19 @@ vistastory.com visu-autotec.com visualchina.com visvachina.com -visvn.com vitagou.com vitagou.hk vitalgen.com vitalxyz.com vitamio.net +vitamio.org +vitamio.tv vitarn.com vitechliu.com viterbi-tech.com vitesexpo.com vitian.vip -vivachina.co vivantecorp.com -vivaylien.com vivcms.com vivebest.com vividict.com @@ -100364,19 +99058,17 @@ viwik.com viwipiediema.com vixiu.com vixue.com -viyouhui.com viyuan.com vjgmcoqs.com vjia.com -vjianshen1688.com vjiazu.com -vjie.com vjifen.com vjread.com vjshi.com vjtchina.com vjzogyz.com vk6.me +vk6oqcevmd1a.com vk8.co vkaijiang.com vkbaby.com @@ -100417,6 +99109,7 @@ vm.sg vm7.com vm888.com vmaes.com +vmall-hw.com vmall.cloud vmall.com vmallres.com @@ -100424,7 +99117,6 @@ vmanhua.com vmartaw.com vmax-lighting.com vmaya.com -vmcnl.xyz vmdns.xyz vmdo.net vmecum.com @@ -100433,7 +99125,6 @@ vmeti.com vmgikpw.com vmic.xyz vmicloud.com -vmiua.com vmkj.net vmlib.com vmoiver.com @@ -100445,9 +99136,7 @@ vmtdf.com vmtnet.com vmvps.com vmylan.com -vnadssb.com vname.com -vnanf.com vnanke.com vndian.com vnet.com @@ -100457,30 +99146,28 @@ vnnox.com vnpy.com vns1.net vns3889.com -vnuuh.icu -vnymvnu.com vnzmi.com +voa-lh.akamaihd.net voa365.com vobao.com voc.ai -voc.lenovo.com vocalmiku.com voccdn.com vocinno.com vod-pro.com vod-qcloud.com +vod.qhdcm.com voddlb.com vodecn.com vodehr.com vodeshop.com vodjk.com vodn-valve.com -vodone.com vodplayvideo.net +vodtcbk.com voguecafebeijing.com voguechinese.com voguelife.net -voh1.com vohringer.com voice9.com voicedic.com @@ -100505,6 +99192,7 @@ volcanospring.com volcautovod.com volcbiz.com volcca.com +volcca.net volccdn.com volccdn1.com volccdn2.com @@ -100521,6 +99209,7 @@ volceapi.com volceapplog.com volcecr.com volcecw.com +volcenginapi.com volcengine-dns.com volcengine-dns.net volcengine.com @@ -100554,6 +99243,7 @@ volcmcdn1.com volcmcdn2.com volcmcdn3.com volcmcdn4.com +volcmcdnalias.com volcmgs.com volcmlt.com volcmusecdn.com @@ -100565,10 +99255,10 @@ volcsirius.com volcsiriusbd.com volcspaceeduc.com volctracer.com -volctrack.com volctraffic.com volctranscdn.com volcvideo.com +volcvideos.com volcvms.com volcvod.com volcwaf.com @@ -100578,8 +99268,10 @@ voleai.com volic.download.prss.microsoft.com volit.com volkswagen-anhui.com +volleyballchina.com volleychina.org voltmemo.com +volvocars.com vomicer.com voming.com vommatec.com @@ -100598,6 +99290,7 @@ voopoo.com voovlive.com voovmeeting.com vortexfun.com +vosvmamt.com vot8.com vote001.com vote8.com @@ -100616,7 +99309,6 @@ vpalstatic.com vpanso.com vpansou.com vpascare.com -vpath.net vpay8.com vpbus.com vpcs.com @@ -100624,7 +99316,6 @@ vpea.ca vpgame.com vpgamecdn.com vpiaotong.com -vpie.net vpimg1.com vpimg2.com vpimg3.com @@ -100646,7 +99337,6 @@ vpsaa.net vpscang.com vpsce.com vpser.com -vpser.net vpshu.com vpsjxw.com vpsno.com @@ -100660,12 +99350,13 @@ vpsvip.com vpsvsvps.com vpszh.com vpszl.com -vq7736.com +vptek.com vqaq.com vqjuice.com vqlai.com vqq.com vqs.com +vqskrzmq.com vqu.show vqudo.com vqudochina.com @@ -100681,8 +99372,6 @@ vrbrothers.com vrbt.mobi vrcfo.com vrdiamondtools.com -vrelai.com -vreqnait.com vrindabg.com vrjie.com vrmajor.com @@ -100703,6 +99392,8 @@ vrwuhan.com vryeye.com vrzb.com vrzhijia.com +vrzwk.com +vrzwk.net vs-gascloud.com vs.cm vs2a.com @@ -100711,23 +99402,24 @@ vsane.com vsaol.com vsbclub.com vsbuys.com +vscenevideo.com vscode.download.prss.microsoft.com vscops.com vsean.net vsearch.club vsens.com +vshabo.com vshangdaili.com vsharecloud.com vsharing.com vshoucang.com vsjwtcdn.com vslai.com -vsnoon.com +vsmquvds.com vsnoon.net vsnoon.org vsochina.com vsocloud.com -vsojfsoj.com vsoon.net vsooncat.com vsooncloud.com @@ -100735,8 +99427,10 @@ vsoontech.com vsping.com vspk.com vsread.com +vss.cbnmtv.com vssou.com vsszan.com +vstarstatic.com vstart.net vstecs.com vstmv.com @@ -100746,13 +99440,11 @@ vstou.com vsuch.com vsun.com vsx10.com -vsxet.com vsxue.com vsyo.com vsyy.net vt-pharm.com vtache.com -vtbfgnf00.fun vtcsy.com vteamgroup.com vtears.com @@ -100776,6 +99468,7 @@ vuepush.com vuevideo.net vulbox.com vulcan.dl.playstation.net +vulcanmaximum.xyz vultr1.com vultrcn.com vultrvps.com @@ -100784,6 +99477,7 @@ vunion.net vurl.link vurl3.vip vutimes.com +vuxmpw.com vuz.me vv-tool.com vv.cc @@ -100799,15 +99493,14 @@ vvebo.vip vvfeng.com vvgroup.com vvhan.com +vvhcwpddaa.com vvhunter.com vvic.com vving.vip vvipcdn.com vviptuangou.com vvjob.com -vvlian.com vvmeiju.com -vvnna.com vvo2o.com vvpgwg.xyz vvpncdn.com @@ -100819,15 +99512,14 @@ vvvdj.com vvvtt.com vvzero.com vw888.com +vwanjia.com vwaycn.com -vweit.com vwhulian.com vwo50.club vwvvwv.com vwwmsd.com vx.com vx56.com -vxcvd67.fun vxe.com vxia.net vxiaocheng.com @@ -100836,7 +99528,6 @@ vxinyou.com vxixi.com vxo7tu.com vxras.com -vxsnk.com vxuepin.com vxuey.com vxv.ink @@ -100844,6 +99535,7 @@ vxwo.com vxxsfxxs.com vxxx.vip vycool.com +vycxvgmk.com vyh64.net vyin.com vynior.com @@ -100863,32 +99555,35 @@ vzhuji.com vzhuo.com vzhushou.com vzidc.com +vzimu.net vzklb.com vzkoo.com vzone.me +vztkoegc.com vzuu.com w-e.cc -w-mai.com -w-pool.com w-zhong.com w.biz w032.com +w03voavpa5.com w0512.com w0663.com w0lker.com +w0x9r0k2l1.com w10a.com w10xitong.com w10zj.com w123w.com w18.net w1989.com -w2008.store w218.com +w24so.com w2985nq.xyz w2bc.com w2gou.com w2n5cu58rn.com w2solo.com +w3.wifijiangyin.com w333.com w3cay.com w3cbus.com @@ -100908,13 +99603,12 @@ w3techservices.com w3tool.com w3tt.com w3xue.com -w59g.icu w5soar.com +w6pdp.com w7.cc w7000.com w7cp.com w7ghost.net -w8q.com w918.com w9188wan.com wa5.com @@ -100941,10 +99635,8 @@ wae-logistics.com waerfa.com waesedu.com waf-website.com -waf.cdnetworks.com wafatea.com wafcn.com -wafsudun.com wafunny.com wafzi.com wagen.cc @@ -100983,8 +99675,8 @@ waimai101.com waimai361.com waimaimingtang.com waimaiwanjia.com -waimao6.com waimaob2c.com +waimaoniu.com waimaoniu.net waimaoribao.com waimaozhuge.com @@ -100998,11 +99690,11 @@ waisnj.com waitingfy.com waitsun.com waiyuedu.com -waiyuku.com waizaowang.com wajiquan.com wajueji.com wajufo.com +wakaligong.com wakatool.com wakeai.tech wakedata.com @@ -101039,6 +99731,7 @@ wallstcn.com wallstreetcn.com wallswitch.com walltu.com +wallyt.net walre.com walsongreenhouse.com walton-xuzhou.com @@ -101050,7 +99743,6 @@ wamila.com wan-ka.com wan.cc wan.com -wan.wang wan1234.com wan123x.com wan160.com @@ -101070,12 +99762,12 @@ wananshan.com wanbaapp.com wanbaoju.com wanbexpress.com +wanbgame.com wanbiao800.com wanbiaogs.com wanbiaohao.com wanbushu.com wanbuyu.com -wancai.com wancaiinfo.com wancaomei.com wanchangerp.com @@ -101085,7 +99777,6 @@ wanche168.com wanchemi.com wancheng168.com wanchengwenku.com -wanchenzg.com wanchuweilai.com wanci.cc wancibp.com @@ -101099,7 +99790,6 @@ wandacm.com wandafilm.com wandahotelinvestment.com wandahotels.com -wandameishi.com wandanji.cc wandaph.com wandaplazas.com @@ -101118,20 +99808,18 @@ wandoer.com wandongli.com wandoudou.com wandouip.com -wandouji.com wandoujia.com wanduoduo.com waneziyuan.com wanfangche.com wanfangdata.com -wanfangs.com wanfangtech.com wanfangtech.net wanfantian.com +wanfayun.com wanfoquan.com wanfucc.com wanfudaluye.com -wanfukang.cc wanfuqianqiu.com wang-li.com wang-nan.com @@ -101158,7 +99846,6 @@ wangdahn.com wangdai114.com wangdai555.com wangdaibdt.com -wangdaibus.com wangdaicaifu.com wangdaidongfang.com wangdaiguancha.com @@ -101173,7 +99860,6 @@ wangdianchaxun.com wangdianmaster.com wangdingcup.com wangdongjie.com -wangdq.com wangdu.site wangduanwifi.com wangeda.com @@ -101246,7 +99932,6 @@ wangsuedge.com wangsuedge.net wangsutong.com wangt.cc -wangtaishipin.com wangtingrui.com wangtongtong.com wangtu.com @@ -101291,14 +99976,12 @@ wangyuwang.com wangzhan123.net wangzhan31.com wangzhan360.com -wangzhan5.com wangzhanbao.cc wangzhanbianji.com wangzhanchi.com wangzhantuiguang.net wangzhanzj.com wangzhe.com -wangzhe.cx wangzhengzhen.com wangzhennan.com wangzhuanz.com @@ -101327,6 +100010,7 @@ wanjiacc.com wanjiachupin.com wanjiaiot.com wanjiashe.com +wanjiashow.com wanjidashi.com wanjiedata.com wanjiedu.com @@ -101359,12 +100043,12 @@ wanmaco.com wanmadajian.com wanmei.com wanmei.net -wanmei888.com wanmeidapei.com wanmeilink.com wanmeilr.com wanmeiyunjiao.com wanmi.com +wanming.com wanmingpiano.com wannaenergy.com wannaexpresso.com @@ -101372,13 +100056,14 @@ wannar.com wanneng56.com wannengxiaoge.com wannengzj.com -wannianli.mobi wannianli.net wannianli3.com wannianli7.com wannianli8.com wannianli9.com +wannianqingjianzhan.com wannuoda.com +wanplus.com wanpufeiliu.com wanqianyun.com wanqiu123.com @@ -101401,7 +100086,6 @@ wanshu.com wanshuiqing.com wanshuiwater.com wanshulou.com -wanshungf.com wanshuyun.com wansixie.com wansongpu.com @@ -101447,13 +100131,11 @@ wanyabox.com wanyan.com wanyanwang.com wanye.cc -wanyi.pw wanyico.com wanyijizi.com wanyiwang.com wanyol.com wanyoo.com -wanyoulu.com wanyouw.com wanyouxi.com wanyouxi7.com @@ -101469,6 +100151,7 @@ wanyumi.com wanyunshuju.com wanyuproperty.com wanyuwang.com +wanyx.com wanzaiwater.com wanzcm.com wanzecc.com @@ -101489,16 +100172,14 @@ wanzjhb.com wanzuile.com waoh.fun waoo.cc -waowao.com -wapadv.com waplih.xyz +wapone.net waptt.com waptw.com war-sky.com waralert.net warchina.com warcraftchina.com -wargamecn.com warhammertech.com warmchina121.com warmjar.com @@ -101571,7 +100252,6 @@ watershowcg.com watertek.com watertu.com wateryx.com -watsonoptics.com watyuan.com wauee.com wauee.net @@ -101592,11 +100272,11 @@ wawlhld.com waxiaoxia.com waxpi.com waxrain.com +waxsivk.com waxxh.me way2solo.com wayboosz.com waycdn.com -waycloud.info wayenbio.com wayhu.cc wayhu8.com @@ -101620,9 +100300,7 @@ wb521.net wb699.com wb86.com wbaie.com -wbaiz.com wbangdan.com -wbanz.com wbb-electric.com wbbcdn.com wbcm55.com @@ -101656,11 +100334,11 @@ wc-soft.com wc0122log.com wc44.com wcansoft.com +wcbygame.com wccbee.com wcccc.cc wccg.tech wcd.im -wcdfxj.xyz wcfang.com wch-ic.com wch17.com @@ -101669,14 +100347,15 @@ wchfgd.com wcjbb.com wcjbb.net wcjm.org -wcjup.com wclbox.com wclog1222.com wcloud.com +wcnc-lh.akamaihd.net wcode.net wcp.hk wcqjyw.com wcsapi.com +wcsapi.net wcsfa.com wcsteasker.com wcuhdi.com @@ -101689,22 +100368,19 @@ wczydns.com wd-ljt.com wd1266.com wdace.com -wdad.cc -wdadj.com wdashi.com wdaveh5game.com +wdazgscbxh2.com wddcn.com wddns.net wddream.com wdeab01.com -wdeie.com wdexam.com wdfangyi.com +wdfok.com wdfxw.net wdgf.com wdghy.com -wdgjx.com -wdiur.com wdiyi.com wdj21.com wdjimg.com @@ -101717,7 +100393,6 @@ wdkud6.com wdldl.com wdmagnet.com wdmcake.com -wdmlearning.com wdmuz.com wdmyksm.com wdnld.com @@ -101731,7 +100406,6 @@ wdres.com wdsdjxh.com wdsjz.com wdsk.net -wdsrc.com wdstory.com wdsz.net wdszb.com @@ -101745,16 +100419,15 @@ wdwlb.com wdxmzy.com wdxtub.com wdxzzx.com -wdy33.com -wdy44.com +wdycenter.com wdyiyuan.com +wdyserver.com wdyxgames.com wdyy.com wdzj.com wdzx.com we-canlogistics.com we.com -we.dji.com we1130.com we123.com we2.name @@ -101774,21 +100447,16 @@ weand.com weaoo.com weapp.com weapp.me -wear.googleapis.com wearemanner.com -weareqy.com wearesellers.com wearosbox.com weartrends.com weasing.com -weather-data.apple.com -weather-data.apple.com.akadns.net -weather-map.apple.com -weather-map2.apple.com +weather-lh.akamaihd.net +weather.com weatherat.com weathercn.com weatherdt.com -weatherkit.apple.com weatherol.com weavatar.com weavi.com @@ -101824,7 +100492,6 @@ webankwyd.com webarch.org webarcx.com webcamx666.com -webdissector.com webdns263.com webetter-ad.com webfalse.com @@ -101847,11 +100514,10 @@ webkaka.com webkdcdn.com webkf.net webkv.com -webmail.akamai.com webmaster.me webmaster5u.com webmulu.com -webnovel.com +webofknowledge.com webok.me webok.net webond.net @@ -101861,7 +100527,6 @@ webportal.cc webportalapi.com webpowerchina.com webqxs.com -webresource.tripcdn.com webrtc.win websaru.net websbook.com @@ -101869,12 +100534,12 @@ websem.cc webseo9.com webshao.com webshu.net +websitecname.com websjcdn.com websjy.com websocket-test.com websoso.com websztz.com -webterren.com webtrncdn.com webui.fun webullbroker.com @@ -101882,12 +100547,6 @@ webullzone.com webuy.ai webuy.vip webview.tech -webvpn.cn.lenovo.com -webvpnauto.lenovo.com -webvpncnhet02.lenovo.com -webvpncnpek01.lenovo.com -webvpncnszx01.lenovo.com -webvpntest.lenovo.com webworker.tech webxgame.com webxin.com @@ -101900,7 +100559,6 @@ wecare-bio.com wecarepet.com wecash.net wecasting.com -wecatch.me wecenter.com weceshi.com wechat.com @@ -101909,6 +100567,7 @@ wechat77.com wechatapp.com wechatify.net wechatlegal.net +wechatos.net wechatpay-global.com wechatpay.com wechatpay.com.hk @@ -101918,7 +100577,6 @@ wecloud.io wecloudx.com wecom.work wecomput.com -wecorretoradeseguros.com wecrm.com wecrm.net wecycling.com @@ -101926,7 +100584,6 @@ wed2008.com wed6.com wedate.me wedcm.com -weddingeeos.com weddingos.com wedengta.com wedfairy.com @@ -101934,7 +100591,6 @@ wedn.net wedoany.com wedoctor.com wedoexpress.com -wedolook.com wedooapp.com wedumedical.com weebei.com @@ -101954,6 +100610,8 @@ weflywifi.com wefunol.com wegame.com wegameapi.com +wegamedeveloper.com +wegameplus.com wegamex.com.hk wegdj.com wegene.com @@ -101964,7 +100622,6 @@ wehefei.com wehelpwin.com weherepost.com wehichina.com -wehoofurniture.com wei-ben.com wei-li.com wei-ze.com @@ -101987,8 +100644,8 @@ weibochem.com weibohelper.com weiboi.com weibolj.com -weibomingzi.com weibopay.com +weibopie.com weiboreach.com weibosci.com weiboums.com @@ -102008,6 +100665,7 @@ weichengchemical.com weicher-sz.com weichewl.com weichuanbo.com +weichuangtech.com weichuming.com weico.cc weico.com @@ -102028,12 +100686,10 @@ weidiancdn.com weidianfans.com weidiango.com weidianmishu.com -weidianyuedu.com weidibio.com weidoufu.com weidown.com weidulinchang.com -weidunewtab.com weiduruanjian.com weiengift.com weifengchina.com @@ -102053,7 +100709,6 @@ weigaoyaoye.com weigay.com weige2006.com weige55.com -weighcb.com weighment.com weigongju.org weiguan.com @@ -102095,7 +100750,6 @@ weikao.com weikaowu.com weikasen.com weike.fm -weike.space weike21.com weikeimg.com weikelink.com @@ -102104,8 +100758,8 @@ weikenhair.com weikeqi-biotech.com weikerifu.com weikuw.com -weilaa.xyz weilai555.com +weilaicaijing.com weilaili.com weilairzdb.com weilaishidai.com @@ -102143,9 +100797,9 @@ weimagroup.com weimai.com weimaitu.com weimaqi.net -weimeidejuzi.com weimeigu.net weimeiyijing.com +weimen.hu weimi24.com weimiaocaishang.com weimibio.com @@ -102173,6 +100827,7 @@ weiot.net weipaitang.com weipano.com weipe.vip +weiphone.com weiphone.net weiphp.com weipinchu.com @@ -102194,7 +100849,6 @@ weiqing120.com weiqingbao.cc weiqiok.com weiqitv.com -weiqudao.net weiqunbuluo.com weiquyx.com weiren.com @@ -102229,7 +100883,6 @@ weisuyun.com weisuyun.net weisyun.com weitehui.com -weitietl.com weitiewang.com weitoupiao.com weituibao.com @@ -102275,7 +100928,6 @@ weixingate.com weixingmap.com weixingon.com weixingongzuoshi.com -weixingshexiangji.net weixingv.com weixinhost.com weixinhow.com @@ -102284,7 +100936,6 @@ weixinjiajia.com weixinju.com weixinkd.com weixinmvp.com -weixinnft.com weixinpy.com weixinqing.com weixinqn.com @@ -102293,7 +100944,6 @@ weixinqz.com weixinrensheng.com weixinsir.com weixinsxy.com -weixinxx.com weixinyanxuan.com weixinyidu.com weixinyunduan.com @@ -102346,6 +100996,7 @@ weizhike.club weizhipin.com weizhishu.com weizhivet.com +weizhiyundong.list weizhoudaoly.com weizhuangfu.com weizhuanji.com @@ -102378,6 +101029,7 @@ welife001.com welife100.com welinkpark.com welk.co +well-dns.com well-js.com well-trust.com wellaide.com @@ -102397,13 +101049,14 @@ wellselectronic.com wellsepoxy.com wellsoon.com welltonhotel.com +welltrend-edu.com wellwhales.com welove520.com welovead.com welqua.com welzek.com +wemagfmp.com wemart.com -wemdsm.com weme.fun wemechat.com wemeche.com @@ -102428,7 +101081,6 @@ wenbothinktank.com wencaischool.com wencan.com wenchain.com -wenda100.net wenda1000.com wenda123.com wendabaike.com @@ -102543,7 +101195,6 @@ wentihu.com wentiquan.net wentiyi.com wentong.com -wenweipo.com wenwen.com wenwo.com wenwu8.com @@ -102555,6 +101206,7 @@ wenxiaoyou.com wenxiaozhan.com wenxiaozhan.net wenxin-ge.com +wenxingonline.com wenxiql.com wenxiu.com wenxuan.news @@ -102565,7 +101217,6 @@ wenxuedu.com wenxuee.com wenxuefan.net wenxuem.com -wenxuemi6.com wenxuemm.com wenxueonline.com wenxuesk.com @@ -102593,9 +101244,7 @@ wenzhouchayuan.com wenzhoumajiang.com wenzhoushuke.com wenzhousx.com -wenzhouzhongyuan.com wenziyuan.com -wenzon.com weoathome.com wepiao.com wepie.com @@ -102606,14 +101255,13 @@ weplayer.cc weplaymore.com weplus.com weproedu.com -weq.me weqoocu.com wereplicawatches.net werewolf.online werfactory.com werkai.com werlchem.com -weryt111.fun +wertalk.com wesane.com wescrm.com wesdom.me @@ -102621,7 +101269,6 @@ weshaketv.com weshequ.com weshine.im weshineapp.com -wesiedu.com wesingapp.com wespme.com west-motion.com @@ -102638,7 +101285,6 @@ westchinago.com westcits.com weste.net westendwell.ca -westernxtheshow.com westfutu.com westinfosoft.com westingz.com @@ -102646,6 +101292,7 @@ westlake-vacuum.com westlakegenetech.com westlakeinst.com westlakeomics.com +westlaw.com westleadfund.com westmining.com westmininggroup.com @@ -102731,7 +101378,6 @@ wfjienuo.com wfjimg.com wfjsd.com wfjtjy.com -wfk168.com wfkji.com wflgjx.com wflps.com @@ -102748,7 +101394,6 @@ wfswjt.com wfsydzxyy.com wfsyzx.net wftdrh.com -wftengjia.com wftvqcm.com wfuyu.com wfy.pub @@ -102771,7 +101416,6 @@ wgm66.com wgmf.com wgmotor.com wgnds.com -wgnpq.com wgoic.com wgos.com wgppt.com @@ -102794,7 +101438,6 @@ wh-haipu.com wh-hsun.com wh-motorshow.com wh-mx.com -wh-qzj.com wh-swhj.com wh-yuanhang.com wh10000.com @@ -102810,7 +101453,6 @@ wh6yy.com wh6z.com wh702g.ren whabl.net -whafwl.com whafxh.org whagcg.com whairport.com @@ -102818,7 +101460,6 @@ whakll.com whale-king.com whale-plus.com whale123.com -whalecloud.com whalecloudexport.com whalefall.space whaleskts.com @@ -102830,9 +101471,9 @@ whampoa-design.com whamspa.com whatbuytoday.com whatchina.com +whatismyip.com whatsns.com whattheybuy.com -whatua.com whaudio.com whbahyxh.com whbaishitong.com @@ -102841,7 +101482,6 @@ whbc2000.com whbcrs.com whbear.com whbec.com -whbek.com whbester.com whbgdt.com whbgy.net @@ -102849,7 +101489,6 @@ whbhst.com whbj88.com whbjdn.com whbjyy.com -whbmy.com whbodywell.com whbsybj.com whbts.com @@ -102876,7 +101515,6 @@ whcibe.com whcjfc.com whcjfq.com whcjkq.com -whckxx.com whcotton.com whcqedu.com whcsfzjt.com @@ -102886,7 +101524,6 @@ whctcii.com whctfcjt.com whctjg.com whctv.com -whctyynk.com whcx.group whcx365.com whcyit.com @@ -102931,7 +101568,6 @@ whggjtjs.com whggvc.net whggzc.com whgh.org -whgh1.icu whghjt.com whgjzt.com whgk.com @@ -102957,6 +101593,7 @@ whhdky.com whhdmt.com whhengchang.com whhexin.com +whhhealth.com whhhxy.com whhjjt.com whhjpharm.com @@ -102978,7 +101615,6 @@ whhuatian.com whhuayou.com whhuiyu.com whhxi.com -whhxnz.com whhxyk.com whhykg.com whhysound.com @@ -102995,6 +101631,7 @@ whidf.com whidy.net whiee.com whiie-expo.com +whimsywarpgame.cc whinfo.net whir.net whisperto.net @@ -103062,6 +101699,7 @@ whlib.com whlido.com whljyl.com whlkwy.com +whlovehome.com whlpa.com whlrhd.com whlynk.com @@ -103088,28 +101726,22 @@ who.cx who2o.com whoami.akamai.net whocool.com -whohas.deploy.akamai.com -whois.deploy.akamai.com whoisreminder.net whoisspy.ai -wholefreshposts.com wholesale-wedding-dresses-gowns.com whongtec.com -whongyue.com whoolala.com whooonline.com whooyan.com whoregamer.com whosedrop.com whovii.com -whp.lenovo.com whpantosoft.com whpanva.com whpcschool.com whplmd.com whpma.org whptc.org -whpu.lenovo.com whpx.net whqcbj.com whqcpx.com @@ -103149,7 +101781,6 @@ whsladz.net whsmzc.com whsql.org whsrc.com -whssxpx.com whsthjtzjt.com whsundata.com whsw.net @@ -103228,6 +101859,7 @@ whwx2018.com whwxxy.com whwybg.com whwz.com +whx0621.com whxcepc.com whxcy.com whxh.com @@ -103278,7 +101910,6 @@ whzglc.com whzh-cw.com whzhanyi.com whzhaopin.net -whzhi.com whzhjty.com whzhongxin.net whzhongzhi.com @@ -103300,7 +101931,7 @@ whzxzls.com whzydz.com whzys.com whzzhb.com -wi1f.icu +wi98a.com wibaidu.com wicep.com wicp.net @@ -103308,19 +101939,18 @@ wicp.vip wicresoft.com widgetable.net widuu.com +wiehna.com wietone.com wifenxiao.com -wifi.com wifi188.com -wifi33.com wifi6667.com wifi8.com wifiapi.net wifibanlv.com wifichain.com wificstia.com +wifidigyy.com wifidog.pro -wifidown.com wifigx.com wifihell.com wifijy.com @@ -103346,7 +101976,6 @@ wiiteer.com wiitrans.com wiiun.com wiiyi.com -wiki.network.akamai.com wikicaring.com wikielife.com wikiimgs.com @@ -103357,6 +101986,7 @@ wildhorde.com wildto.com wildwind.com wildwindpharm.com +wiley.com wilhb.com willapps.com willcdn.com @@ -103375,6 +102005,7 @@ win-an.com win-haoxiang-win.com win-ke.com win-man.com +win007.com win1032.com win1064.com win10cjb.com @@ -103398,14 +102029,13 @@ win7en.com win7qijian.com win7qjb.com win7xzb.com +win8.net win866.com win8china.com win8e.com win8xiazai.com winallseed.com -winasdaq.com winature.com -winbaicai.com winbaoxian.com winbjb.com winbond-ic.com @@ -103414,7 +102044,6 @@ winbywin.com wincellchina.com wincheers.com wincheers.net -wincn.com wincologistics.com wincome.group wincomn.com @@ -103424,7 +102053,6 @@ wind.moe windaka.com windbg.download.prss.microsoft.com windcoder.com -winde.cc windesign.cc windeyenergy.com windfone.com @@ -103433,8 +102061,10 @@ windin.com windmsn.com windoor168.com windows10.pro +windows10zj.com windows11.pro windows7en.com +windowsupdate.microsoft.com windowszj.com windpayer.com winds.red @@ -103489,6 +102119,7 @@ winnerway.com winnet.cc winning11cn.com winningdq.com +winos.me winotes.net winotmk.com winowe.com @@ -103534,7 +102165,6 @@ winxiang.com winxp8.com winxuan.com winxuancdn.com -winxw.com winyoungreading.com winziss.com winzonelaw.com @@ -103573,6 +102203,7 @@ wisedoo.com wisedsp.net wisedu.com wiseetec.com +wisefx.com wisegotech.com wiseimp.com wisekingsurgical.com @@ -103581,6 +102212,7 @@ wiselong.com wisenjoy.com wisentbioproductschina.com wiseqx.com +wisestcloud.com wiseuc.com wisevector.com wisewatercloud.com @@ -103620,16 +102252,13 @@ witmart.net witnew.net witontek.com witrn.com -witschools.com witspring.com +wittf.ink wityx.com -wivo.cc wiwide.com wiwide.net wixdigital.com -wiyun.com wiz03.com -wizards.akamai.com wizitek.com wj-chem.com wj-hospital.com @@ -103659,7 +102288,6 @@ wjeryuan.com wjfcw.com wjfilm.com wjgdyy.com -wjgglm.com wjgslb.com wjhh666.com wjhotelgroup.com @@ -103667,7 +102295,6 @@ wjhouses.com wjhr.net wjhtxx.com wjiaxing.com -wjier.com wjin.cc wjinmiao.com wjjfjt.com @@ -103690,7 +102317,7 @@ wjtr.com wjtzyg.com wjwuqiang.com wjx.com -wjxcdn.com +wjx.top wjy01.com wjyanghu.com wjyh.com @@ -103701,14 +102328,12 @@ wjzpgz.com wk007.com wk2.com wk515.com -wk613.com wk78.com -wka8.com wkai.cc wkandian.com -wkanx.com wkbins.com wkbrowser.com +wkcdn.com wkcmall.com wkcw.net wkddkyy.com @@ -103718,7 +102343,6 @@ wkene.com wkepu.com wkhub.com wkimg.com -wkjhd.com wkkshu.com wklken.me wkmic.com @@ -103734,7 +102358,7 @@ wkyx520.com wkzf.com wkzk.com wkzuche.com -wkzw.me +wl.dlservice.microsoft.com wl369.com wl890.com wlaforum.com @@ -103745,7 +102369,6 @@ wlanbanlv.com wlcbnews.com wlcbw.com wlcxx.com -wlczx.com wld5.com wldbs.com wldlr.com @@ -103783,7 +102406,6 @@ wlmqxht.com wlnh.net wlnmp.com wlol.com -wlouqsz.xyz wlphp.com wlplove.com wlqtpolytheatre.com @@ -103817,6 +102439,7 @@ wlyyjt.com wlzni.com wlzp.com wlzp.vip +wlzz666.com wm-dream.vip wm-imotor.com wm-motor.com @@ -103833,6 +102456,7 @@ wmcn.com wmcnt.com wmdang.com wmfanyi.com +wmgurt9zka425.com wmhcn.net wmiao.com wmidgroup.com @@ -103851,7 +102475,6 @@ wmlip.com wmlunwen.com wmnetwork.cc wmok.com -wmota.htcsense.com wmp169.com wmphp.com wmpic.me @@ -103889,7 +102512,6 @@ wnark.com wnbsq.com wnchengtou.com wncpp.net -wndj.net wndoor.com wndroid.com wndy.cc @@ -103911,7 +102533,6 @@ wnluo.com wnlwedu.com wnnyjx.com wnote.com -wnp.com wnplayer.net wnqianbao.com wnrb.net @@ -103920,7 +102541,6 @@ wns888.com wns8888.com wnshouhu.com wnsqzonebk.com -wnsr25.com wnssedu.com wnszxyy.com wntool.com @@ -103934,6 +102554,7 @@ wnzctc.com wnzhbb.com wnzqc.com wnzy.net +wo-link.tech wo-smart.com wo-voyage.com wo-xa.com @@ -103942,9 +102563,9 @@ wo113.net wo116114.com wo186.tv wo1wan.com -wo685.com wo87.com woa.com +woaanc.com woaap.com woai310.com woaide.com @@ -103952,6 +102573,7 @@ woaidu.org woaifanyi.com woaihaoyouxi.com woaihuahua.com +woaihuoshan.com woailai.com woaipu.com woaiseo.net @@ -103996,11 +102618,11 @@ wodidashi.com wodingche.com wodjob.com wodocx.com +wodown.com wodu518.com wodubao.com wodunyun.com woeoo.com -wofan.net wofang.com wofangwang.com wofficebox.com @@ -104012,6 +102634,7 @@ wogg.net wogoo.com wohenizaiyiqi.com woheschool.com +wohst8.com wohuishou.club woi3d.com woiauto.com @@ -104029,6 +102652,7 @@ wokew.com woko.cc wol.tv wolai.com +wolai.ren wolaidai.com wolaidu1.com wolansw.com @@ -104070,6 +102694,7 @@ womei.org womeifilm.com womeimenye.com women-heart.com +womendedw.com womenjie.com wonadea.com wonder.wiki @@ -104086,7 +102711,6 @@ wondershare.com wondershare.com.br wondershare.jp wondershare.net -wondersmemory.cc wondersmemory.com wonderstar027.com wonderyouxi.com @@ -104109,6 +102733,7 @@ woniutrip.com wonjarobot.com wonmay.com wonmay.net +wonnder.com wononme.com wonote.com wonpearl.com @@ -104133,7 +102758,6 @@ wooqx.com woordee.com woosiyuan.com woosmart.com -wootwood.com woowtcprc.com wooxhome.com wooyun.org @@ -104172,6 +102796,7 @@ world-pet.org world3dmodel.com world68.com worldbangmai.com +worldbank.org worldbearingshub.com worldbuy.cc worldcps.com @@ -104185,11 +102810,10 @@ worldinout.com worldjiasu.com worldmr.net worldnyjx.com -worldofmeetings.com worldpathclinic.com -worldpointinc.com worldpowerliftingchina.com worldrobotconference.com +worldscientific.com worldsteel.net worlduc.com worldwarner.com @@ -104215,6 +102839,7 @@ wosign.com wosigndoc.com woskj2.com woso100.com +wosu.streamguys1.com wotangka.com wotaoka.com wotingpingshu.com @@ -104235,6 +102860,7 @@ wowbbs.com wowcat.net wowchina.com wowenda.com +wowenwen.com wowgf.com wowo6.com wowogroup.com @@ -104254,6 +102880,9 @@ wowqu.cc wowsai.com wowtb.com wowtran.com +wowza-stream.wbur.org +wowza.montevideo.com.uy +wowza.ner.gov.tw wowzx.net woxian.com woxiaoyun.com @@ -104264,6 +102893,7 @@ woxuyuan.com woyao998.com woyaobaoliang.com woyaodayin.com +woyaogexing.com woyaojiaju.com woyaoqiudai.com woyaosai.com @@ -104275,6 +102905,7 @@ woyonghj.com woyoo.com woyouche.com woyouzhuce.com +woyun.work wozaixiaoyuan.com wozhangwan.com wozhishang.com @@ -104286,6 +102917,7 @@ wp-china-yes.net wp-hz.com wp10.cc wpan123.com +wpc.124ce.sigmacdn.net wpceo.com wpcio.com wpcsh.com @@ -104306,6 +102938,7 @@ wpk8.com wporder.com wproedu.com wps-office.net +wps.com wpscdn.com wpsdns.com wpsep.net @@ -104344,6 +102977,7 @@ wqlml.com wqoiyz.com wqop2018.com wqshe.com +wqszwhf.com wqtool.com wqwlmxx.xyz wqxsw.com @@ -104353,11 +102987,9 @@ wqyunpan.com wqzsc36ou356m.com wqzx.net wr88.cc -wrating.com wrcdn.com wrdtech.com wrfou.com -wri.cc wright9.com write-bug.com writebp.com @@ -104371,14 +103003,12 @@ wrltxt.com wrmjk.com wrsa.net wrshg.com -wrsikq.xyz wrsxy.com wrtauto.com wrtnode.cc wrtnode.com wrtsz.com wrxdsm.com -ws.ksmobile.net wsaf.net wsandos.com wsbedu.com @@ -104409,15 +103039,19 @@ wscstrace.com wscvdns.com wsdianzi.com wsdks.com +wsdlb.com +wsdns.top wsdqd56.com wsdtex.com wsdvs.com wsdvs.info +wsdvs.net wsdvs.org wsecar.com wseen.com wselearning.com wselearning.net +wseqtza.com wsf1234.com wsfdl.com wsfdn.com @@ -104436,6 +103070,7 @@ wsglw.net wsgph.com wsgri.com wsgtm1.com +wsgtm2.com wsgtm3.com wsgxsp.com wshang.com @@ -104463,14 +103098,15 @@ wsks.net wskwai.com wslivehls.com wsljf.xyz -wsloan.com wsngb.com wsonh.com +wsoso.com wsoss.com wsound.cc wsoversea.com wsoversea.info wsoversea.net +wsoversea.org wsqejt.com wsrsj.com wsrxw.com @@ -104488,7 +103124,6 @@ wssvs.com wssvs.net wssyun.com wsszzx.com -wstatslive.com wstong.com wstx.com wsukwai.com @@ -104507,7 +103142,6 @@ wsxsdf.com wsy.com wsy400.com wsy7.com -wsyglngy.com wsyhn.com wsysdg.com wsyuanlin.com @@ -104530,6 +103164,7 @@ wtdex.com wtdms.com wtecl.com wtfeng.com +wtg7ew8cvzxbk.com wtiharbin.com wtimm.com wting.info @@ -104547,8 +103182,6 @@ wtojob.com wtoutiao.com wtown.com wtr.cc -wtraff.com -wtroytj33.fun wts999.com wtsimg.com wtsm.net @@ -104567,7 +103200,6 @@ wu.run wu123.com wu35.com wu37.com -wu65.com wu7zhi.com wuage.com wuahihotel.com @@ -104579,6 +103211,7 @@ wuan888.com wubaiyi.com wubaiyi.net wubaiyi.vip +wubashangban.com wubeizi.com wubiba.com wubixuexi.com @@ -104603,16 +103236,17 @@ wudang.cc wudangpai.com wudangshan.com wudao.com +wudao28.com wudaola.com wudaotech.com wudaotv.com wudeli.com wudihan.com wudingfadian.com -wudubook86.cc wuduyi.com wueasy.com wufafuwu.com +wufan88.com wufangzhai.com wufazhuce.com wufun.net @@ -104634,7 +103268,6 @@ wuhanbiennial.com wuhanbus.com wuhanchengqi.com wuhancityofdesign.com -wuhaneca.org wuhanev.com wuhanfuke120.com wuhanfukeyy.com @@ -104671,7 +103304,6 @@ wuhanzhenye.com wuhao13.xin wuhexxg.com wuhongsheng.com -wuhouhaodian.com wuht.net wuhu.cc wuhuagongshui.com @@ -104685,15 +103317,14 @@ wuhuwater.com wuhuzr.com wuhzx.com wui5.com +wuip.com wuji-edu.com wuji.com wujia800.com wujianghongyi.com wujianghr.com wujiangtong.com -wujiangzs.com wujiayi.vip -wujie.net wujiecaifu.com wujiehd.com wujiehuyu.com @@ -104724,7 +103355,6 @@ wukongrom.com wukongsearch.com wukongshuo.com wukongtj.com -wukongwatch.com wukongwenda.com wukongyz.com wukongzhuishu.com @@ -104758,10 +103388,10 @@ wulong365.com wulvxing.com wumai.net wumart.com -wumii.com wumii.tv wuming.com wupdec.com +wuqi-micro.com wuqing.cc wuqiong.info wuqizhen.com @@ -104777,7 +103407,6 @@ wusen.net wuseng.net wusenkj.com wusetu.art -wusfa.xyz wushang.com wushen.com wushidu.com @@ -104806,7 +103435,6 @@ wuthreat.com wutianqi.com wutongchain.com wutongguo.com -wutongip.com wutongtec.com wutongxiang.cc wutongzi.com @@ -104816,9 +103444,9 @@ wuuconix.link wuuxiang.com wuwangnongseed.com wuweijob.com -wuweiqx.com wuweiyou.com wuwenjun.net +wuwm.streamguys1.com wuwuju.com wuxi5h.com wuxi9h.com @@ -104862,6 +103490,7 @@ wuxiworld.com wuxixdc.com wuxixz.com wuxiyishi.com +wuxizazhi.com wuxizazhi.net wuxjob.com wuxs.org @@ -104869,14 +103498,12 @@ wuxue.cc wuxuwang.com wuxzx.com wuyabuluo.com -wuyanauto.com wuyang-honda.com wuyangkeji.com wuyangmotor.com wuyangplatform.com wuyantonglun.org wuyazi.com -wuye3d.com wuyecao.net wuyechaorenrcw.com wuyenews.com @@ -104891,6 +103518,8 @@ wuylh.com wuyongwang.com wuyou.com wuyou.net +wuyou189.com +wuyoudagong.com wuyoufang.com wuyougroup.com wuyoujianding.com @@ -104918,6 +103547,7 @@ wuzhenwic.org wuzhenwucun.com wuzhi.me wuzhicms.com +wuzhii.com wuzhiq.com wuzhiwei.net wuzhong.com @@ -104935,7 +103565,10 @@ wuzhuiso.com wuzi8.com wuzx.com wvidc.com +wvkygvmu.com +wvmrczc.com wvshare.com +wvxkezhg.com ww2bbs.net ww8899.com wware.org @@ -104944,6 +103577,7 @@ wwenglish.com wwenglish.org wwentua.com wwepcbv.com +wweuzgtp.com wwfchina.org wwhlian.com wwjia.com @@ -104963,64 +103597,43 @@ www-376655.com www-4466666.com www-666789.com www-76244.com -www-api.dji.com -www-google-analytics.l.google.com -www-googletagmanager.l.google.com -www-v1.dji.com www.adobe.com -www.akamai.com -www.alphassl.com -www.amd.com -www.analog.com -www.apple.com -www.apple.com.edgekey.net.globalredir.akadns.net -www.cdnetworks.com +www.cbsnews.com www.cg www.com.my www.dell-brand.com www.dell.com www.destinationurl.com -www.dji.com www.djivideos.com -www.epsonconnect.com -www.globalsign.com +www.filmon.com www.gov.mo -www.gstatic.com www.htc.com -www.htcsense.com www.laecloud.com -www.lenovo.net www.microsoft.com -www.netarch.akamai.com www.nike.com -www.nocc.akamai.com www.pxcc.com +www.pxitv.com +www.recaptcha.net www.redhat.com www.samsung.com -www.skypixel.com +www.soundvideostar.com www.st.com +www.szmgiptv.com www.tutorabc.com www.uz0.xyz www.viveport.com -www.volvocars.com -www003xx.com -www1.djicdn.com -www2.djicdn.com +www.yxssp.com www2489.com -www3.djicdn.com -www4.djicdn.com +www4-static.gog-statics.com www48-365365.com -www5.djicdn.com www5929.com www9912.com wwwbuild.net wwwer.net -wwwfabu52.com wwwfkw.com wwwic.net wwwimages.adobe.com wwwimages2.adobe.com -wwwmdzx8.com wwwruhecom.com wwxrmyy.com wwxxg.com @@ -105104,7 +103717,6 @@ wxggxx.com wxgjyy.com wxglyy.com wxgrcpa.com -wxguan.com wxgxjt.com wxgz.net wxhaifa.com @@ -105134,11 +103746,13 @@ wxiao.net wxiaoai.com wxiat.com wxidg.com +wxivzhvp.com wxjava.com wxjcgas.com wxjgxx.com wxjh120.com wxjiaogun.com +wxjieyang.com wxjkedu.com wxjmar.com wxjmsyzdxx.com @@ -105155,7 +103769,6 @@ wxkjwlw.com wxkml.com wxkou.com wxkpharma.com -wxlagame.com wxlele.com wxlight.com wxlivecdn.com @@ -105197,14 +103810,12 @@ wxsell.com wxsemzx.com wxsemzxyy.com wxsgf.com -wxsgxx.com wxshake.com wxshgs.com wxshiteng.com wxshuku.la wxskysy.com wxslzf.com -wxsohu.com wxsswgs.com wxsteed.com wxstztg.com @@ -105224,7 +103835,6 @@ wxtpb.com wxtrirh.com wxtrust.com wxtyjt.com -wxtyue.com wxtyyy.com wxtyzyyy.com wxuse.tech @@ -105256,27 +103866,23 @@ wxzfkj.com wxzhongcai.com wxzpw8.com wxzq.com -wxzrw.com wxzwb.com wxzxw.com wxzzz.com wy000.com wy100.com wy182000.com -wy213.com wy213.net wy2fy.com wy34.com wy6000.com wya1.com wyaoqing.com -wybbao.com wybgs.com wybosch.com wybzdwss.com wycad.com wycfw.com -wycntv.com wycsyyjt.com wydbw.com wydljx.com @@ -105285,6 +103891,7 @@ wyduihua.com wydx88.com wyfluorine.com wyfx2014.com +wygkmitk.com wyh138.com wyhef.com wyhos.fun @@ -105292,7 +103899,6 @@ wyhts.com wyins.cc wyins.net wyjianzhan.com -wyjlh.com wyjsq.com wyk8.com wykefu.com @@ -105319,15 +103925,14 @@ wysls.com wysm88.com wyteam.net wytfsp.com +wytracir.com wytx.net wytype.com wytzgl.com wyuetec.com -wywsdx.com wywy.ltd wywy6.com wywyx.com -wyx365.com wyxh2022.com wyxokokok.com wyxzxyjhyy.com @@ -105350,7 +103955,6 @@ wz16.net wz5.cc wz5.com wzadri.com -wzaigo.com wzbb.com wzbhct.com wzbks.com @@ -105376,13 +103980,11 @@ wzg0898.com wzgbj.com wzgemsmall.com wzghy.com -wzgkfd.com wzguolian.com wzgyjt.com wzgytz.com wzh.kim wzhealth.com -wzhekou.com wzhibo.net wzhibo.tv wzhonghe.com @@ -105407,7 +104009,6 @@ wzjxdyf.com wzjxyq.com wzkelineng.com wzkex.com -wzksw.com wzkuailu.com wzkygroup.com wzlcgf.com @@ -105520,8 +104121,7 @@ x-tetris.com x-vsion.com x-xiangsh.com x0769.com -x0or8.icu -x0y081e.xyz +x1047xv8b4.com x11263.com x11296.com x118.net @@ -105541,10 +104141,11 @@ x3366.com x33699.com x33yq.org x366f.com +x3a37ynn2n.com x3china.com x3cn.com +x3g1.com x431.com -x4d.icu x4dp.com x586di.com x5dj.com @@ -105562,13 +104163,14 @@ x7game.com x7sy.com x7z.cc x81zw.co -x81zw.com x81zw2.com x821.com x86android.com x8ds.com x8sb.com x9393.com +x93r91l460.com +x9gc3siwevbpc.com xa-bank.com xa-expoon.com xa-online.com @@ -105577,14 +104179,12 @@ xa.com xa189.net xa30zx.com xa4.com -xa7j.icu xa8yuan.com -xa9t.com xaaag.com -xaancn.com xaaycz.com xabaotu.com xabbs.com +xabpo.com xacademy.cc xacbank.com xacg.info @@ -105595,6 +104195,7 @@ xachyy.com xacitywall.com xaclcrm.com xacnnic.com +xacpubfs.com xacsjsedu.com xactad.net xacxxy.com @@ -105663,7 +104264,6 @@ xaoji.com xaonline.com xaoyao.com xapcn.com -xapi.lenovo.com xapi.ltd xaqhgas.com xarc.net @@ -105675,7 +104275,6 @@ xarxbio.com xaseastar.com xasfyw.com xasgxy.com -xashangwang.com xashl.com xashuiwu.com xashzhjz.com @@ -105695,7 +104294,7 @@ xatyz.com xatzj.com xauat-hqc.com xaudiopro.com -xavua.com +xauwvhgt.com xawb.com xawdcy.com xawdslzp.com @@ -105705,7 +104304,6 @@ xawscu.com xawyjx.com xaxcgx.com xaxddz.com -xaxsc.com xaxydr.com xaxzlsgs.com xayabx.com @@ -105724,10 +104322,10 @@ xazysoft.net xazyy.com xazzs.com xb.app +xb.dlservice.microsoft.com xb0.cc xb2s.com xba123.com -xbaiv.com xbaixing.com xbaodi.com xbaofun.com @@ -105791,7 +104389,6 @@ xbrl-cn.org xbrother.com xbtest.com xbttgroup.com -xbtw.com xbuwrp.sbs xbuyees.com xbw0.com @@ -105807,7 +104404,7 @@ xc-js.com xc05x.com xc1000.com xc2500.com -xc940.com +xca551hgxm.com xcabc.com xcao.win xcape.cc @@ -105817,14 +104414,13 @@ xcb-family.com xcbank.com xcbbtf.com xcc.com -xccfjt.com xccrugs.com xccy.cc xcdesign.net xcdn.global xcdngyc.vip +xcdntp.vip xcdssy.com -xcdzsw.com xcedu.net xcetv.com xcex.net @@ -105833,7 +104429,6 @@ xcfuer.com xcfunds.com xcgbb.com xcgbie.com -xcggpt.net xcgogo.club xcgogo.site xcgp.com @@ -105859,7 +104454,6 @@ xckpjs.com xckssw.com xckszx.com xclawyers.org -xclient.info xcljs.com xcloudbase.com xcmad.com @@ -105869,20 +104463,16 @@ xcmgmall.com xcmobi.com xcmsports.com xcmwqdvc.com -xcmz999.com xcn457.com xcnchinese.com xcncp.com xcnic.net -xcnmfilm.com xcnv.com xcode.me xcoder.in xcommon.com xcoodir.com xcot.com -xcouj.com -xcouv.com xcpapa.site xcpapa.xyz xcpxssx.com @@ -105894,15 +104484,13 @@ xcrc.net xcrmyy.com xcsc.com xcshaifen.com -xcspcs.com xcstuido.com xcswkj.com xcsyy.com xct168.com xctmr.com -xcultur.com +xcukezmr.com xcurrency.com -xcvdd.xyz xcvec.com xcvmbyte.com xcvvs.com @@ -105935,7 +104523,6 @@ xd57.com xd79.com xd8888.net xda.show -xdadang.com xdapp.com xdbcb8.com xdbin.com @@ -105994,7 +104581,6 @@ xdplt.com xdpvp.com xdrcftv.com xdressy.com -xdrig.com xdrtc.com xdrun.com xdsipo.com @@ -106016,9 +104602,7 @@ xdxiaoshuo.com xdxmsy.com xdxmwang.com xdyanbao.com -xdyjt.com xdystar.com -xdyszx.com xdytuliao.com xdyy.net xdyy100.com @@ -106042,7 +104626,6 @@ xen0n.name xender.com xenium.mobi xepher.fun -xeryt111.fun xesapp.com xescdn.com xesdns.com @@ -106054,13 +104637,13 @@ xetimes.com xetlk.com xetslk.com xev-connectivity.com -xevaix.com xevd.co xevddy.com xewl.xyz xeylon.com xeys.net xf-fund.com +xf-gtm.com xf-world.org xf-yun.com xf.com @@ -106085,6 +104668,7 @@ xfcjn.com xfcn.com xfconnect.com xfcqc.com +xfdown.com xfdp.net xfdwz.com xfdyb.com @@ -106116,6 +104700,8 @@ xfpg119.com xfplay.com xfplay.tv xfprecise.com +xfq.life +xfr3u4lz94.com xfsb119.com xft123.com xftclub.com @@ -106125,6 +104711,7 @@ xfusion.com xfw0594.com xfwdc.com xfwed.com +xfwindow.com xfx168.com xfxb.net xfxglass.com @@ -106135,7 +104722,6 @@ xfyun.com xfzc.com xfzhsf.com xfzllht.com -xfztgxt.com xg-techgroup.com xg1234.com xg38.com @@ -106169,7 +104755,6 @@ xgkwx.com xglgift.com xglist.com xgllreport.com -xgllzy.com xglopto.com xglpa.com xgn-cy.com @@ -106181,8 +104766,6 @@ xgqq.com xgqyy.com xgsdk.com xgsdpm.com -xgshu8.com -xgshuba.com xgss.net xgsxt.net xgsyun.com @@ -106254,11 +104837,11 @@ xhjt.com xhkt.tv xhlaowu.com xhlcsl.com -xhm.pub xhma.com xhmedia.com xhmwxy.com xhnews.net +xhostfire.com xhostserver.com xhpfw.com xhpiano.com @@ -106281,13 +104864,16 @@ xhsyww.com xhtheme.com xhtw.com xhtwb.com +xhtxgroup.com xhtzgg.com xhu2.com xhu218.com xhuaian.com xhup.club xhw520.com +xhw81pr263.com xhwater.com +xhwcdasha.com xhwhouse.com xhwsjc.com xhwtech.com @@ -106316,12 +104902,10 @@ xiabb.chat xiabingbao.com xiabor.com xiabu.com -xiacai.com xiacaopu.net xiache.net xiachufang.com xiada.net -xiadaofeiche.com xiadaolieche.com xiadele.com xiaditu.com @@ -106352,6 +104936,7 @@ xiamenjiyang.com xiamentianqi114.com xiamenwater.com xiami.com +xiami.fm xiami.net xiamo.cc xiamo.fun @@ -106445,10 +105030,10 @@ xiangqiyouxi.com xiangqu.com xiangrikui.com xiangrikuijianzhan.com +xiangrikuisite.com xiangrongtaihe.com xiangruichina.com xiangruizulin.com -xiangshan.cc xiangshang360.com xiangshangban.com xiangshanpark.com @@ -106460,7 +105045,6 @@ xiangshi.cc xiangshi.video xiangshitan.com xiangshuheika.com -xiangshunjy.com xiangsidi.com xiangsw.com xiangtaole.com @@ -106494,10 +105078,9 @@ xiangzhan.com xiangzhiren.com xiangzhuyuan.com xiangzi.ltd -xiangzishop.com +xiangzi.tech xiangzuanjiang.com xiangzukeji.com -xianhetang365.com xianjian.com xianjian10.com xianjiaosuo.com @@ -106506,6 +105089,7 @@ xianjiqun.com xianjzyxh.org xiankan.com xiankantv.com +xianlai.work xianlaicd.com xianlaigame.com xianlaihy.com @@ -106521,13 +105105,12 @@ xianniu.com xianniu.net xianniuzu.com xiannvhu.com +xianousiqi.com xianpinyun.com xianpp.com xianrail.com xianrenzhang.net xianruan.com -xianshangzixun.com -xianshangzixun.net xianshiqiba.com xianshishangmao.com xianshu.com @@ -106546,9 +105129,9 @@ xianxiazhuanjz.com xianxueba.com xianyang888.com xianyer.com -xianyin.net xianyongyong.com xianyouhe.com +xianyu.mobi xianyuange.com xianyudanji.net xianyugame.com @@ -106560,7 +105143,6 @@ xianyuwenhua.com xianyuyouxi.com xianzhanget.com xianzhi.net -xianzhice.com xianzhid.com xianzhongwang.com xianzidaer.com @@ -106577,7 +105159,6 @@ xiaoac.com xiaoaiassist.com xiaoaiscan.net xiaoaisound.com -xiaoangel.com xiaoantech.com xiaoao.com xiaoapp.io @@ -106597,6 +105178,8 @@ xiaobangbaoxian.com xiaobangguihua.com xiaobangtouzi.com xiaobao360.com +xiaobaobianli.com +xiaobaobianli.net xiaobaodt.com xiaobaoming.com xiaobaoonline.com @@ -106646,7 +105229,6 @@ xiaodigu.com xiaoding110.com xiaodingchui.com xiaodiyouxi.com -xiaodongrui.com xiaodongxier.com xiaodoubi.com xiaodoushebao.com @@ -106737,7 +105319,6 @@ xiaoj.com xiaoji.com xiaoji001.com xiaojian.site -xiaojianjian.net xiaojiaokeji.com xiaojiaoyar.com xiaojiaoyu.com @@ -106789,21 +105370,23 @@ xiaolinsi.com xiaolintj.com xiaolinwl.com xiaoliqing.net -xiaoliublog.icu xiaolizhuli.com xiaolizupai.com xiaolong.li xiaolongxy.com xiaoluboke.com xiaoluerhuo.com +xiaoluhaohuo.com xiaolun.net xiaoluxuanfang.com +xiaoluyouxuan.com xiaoluyy.com +xiaoluzhidian.com xiaolvji.com xiaolxiao.com xiaoma.com +xiaoma.io xiaoma.net -xiaoma.wang xiaomachuxing.com xiaomagaojian.com xiaomagouche.com @@ -106819,7 +105402,6 @@ xiaomape.com xiaomark.com xiaomashijia.com xiaomastack.com -xiaomaxitong.co xiaomaxitong.com xiaomayi.co xiaomayi.net @@ -106842,6 +105424,8 @@ xiaomicp.com xiaomidns.com xiaomidns.net xiaomiev.com +xiaomiflash.com +xiaomiinc.com xiaomiinc.net xiaomimobile.com xiaominet.com @@ -106851,6 +105435,7 @@ xiaomingtaiji.cc xiaomingtaiji.com xiaomingtaiji.net xiaominr.com +xiaomiprint.com xiaomiqiu.com xiaomiquan.com xiaomirom.com @@ -106875,7 +105460,6 @@ xiaonei.com xiaonengren.com xiaoni.com xiaonianyu.com -xiaoniaofei.com xiaoniba.com xiaoniu66.com xiaoniuanan.com @@ -106892,7 +105476,6 @@ xiaopi.com xiaopiaoyou.com xiaopinchuxing.com xiaopinw.com -xiaopinwo.com xiaopiu.com xiaoqiandao.com xiaoqiangge.com @@ -106923,13 +105506,16 @@ xiaoshujiang.com xiaoshuo.com xiaoshuo1-sm.com xiaoshuo2-sm.com +xiaoshuo3-sm.com +xiaoshuo4-sm.com +xiaoshuo5-sm.com xiaoshuo520.com xiaoshuob.com xiaoshuoba.com xiaoshuobi.cc +xiaoshuochu.com xiaoshuodaquan.com xiaoshuohui.net -xiaoshuoju.com xiaoshuoli.com xiaoshuomi.cc xiaoshuowu.com @@ -106942,7 +105528,6 @@ xiaotangketang.com xiaote.com xiaote.net xiaotee.com -xiaoten.com xiaotengyouxi.com xiaotiancai.com xiaoting.com @@ -106994,7 +105579,6 @@ xiaoxiongxitong.com xiaoxiongyouhao.com xiaoxiongzhoupu.com xiaoxitech.com -xiaoxiuapp.com xiaoxusd.com xiaoya56.com xiaoyaaa.com @@ -107014,12 +105598,10 @@ xiaoyeren.com xiaoyezi.com xiaoyezu.com xiaoyi.com -xiaoyi.lenovo.com xiaoyiads.com xiaoyida.com xiaoyida.net xiaoyiduoduo.com -xiaoyier.com xiaoying.co xiaoying.com xiaoying.tv @@ -107042,19 +105624,16 @@ xiaoyuanyun2.com xiaoyuanzhao.com xiaoyuanzhaopin.net xiaoyuer.com -xiaoyuer365.com xiaoyujia.com xiaoyun.com xiaoyusan.com xiaoyusanchou.com -xiaoyutiao.com xiaoyuxitong.com xiaoyuzhoufm.com xiaoz.me xiaozhan.cc xiaozhang365.com xiaozhao365.com -xiaozhen.com xiaozhenpaotui.com xiaozhibaoxian.com xiaozhibo.com @@ -107070,18 +105649,15 @@ xiaozhu2.com xiaozhua.com xiaozhuangzhuang.com xiaozhulanjuwei.com -xiaozhuseo.com xiaozhustatic1.com xiaozhustatic2.com xiaozhustatic3.com xiaozlife.com -xiaozoufaxian.com xiaozu365.com xiaozuan8.com xiaozuanbike.com xiaozufan.com xiaozujian.com -xiaozuowen.net xiapac.com xiapilu.com xiaping11.com @@ -107109,6 +105685,7 @@ xiazai126.com xiazai16.com xiazai163.com xiazai22.com +xiazaiba.com xiazaicc.com xiazaijidi.com xiazaiwx.com @@ -107117,7 +105694,6 @@ xiazhougroup.com xibaike.com xibaiwang.com xibanyaqz.com -xibao100.com xibeicanyin.com xibeidev.com xibojiaoyu.com @@ -107167,7 +105743,6 @@ xiefenxiang.com xiegangsir.com xiege.net xiegekt.com -xiehao.me xiehehp.com xiehejx.com xiehekjkf.com @@ -107185,7 +105760,6 @@ xiemm.com xiesk.com xieso.net xietonghuaxue.com -xietui.com xiexiaoyuan.com xiexin.com xiexinbao.com @@ -107195,7 +105769,6 @@ xieyimao.com xieyixs.com xieyudatea.com xiezewen.com -xiezhua.com xiezi.tech xiezilouzulinwang.com xieziqiu.net @@ -107226,7 +105799,6 @@ xiguaji.com xiguang.xyz xiguaplayer.com xiguashipin.net -xiguasuwu.com xiguavideo.net xigushan.com xigushan.net @@ -107236,17 +105808,14 @@ xihachina.com xihaiannews.com xihaianrc.com xihangzh.com -xihawan8.com xihaxueche.com xihazsww.com xihegp.com xiherencai.com xihuan.me -xihuojie.com xihusgh.com xiimoon.com xiinnn.com -xiji-express.com xiji.com xijiangtv.com xijie.com @@ -107267,7 +105836,6 @@ xilaiping.com xilanggufen.com xilddt.com xilehongniang.com -xilele.com xilexuan.com xileyougame.com xili.fan @@ -107328,7 +105896,6 @@ xinboaa.com xinbqg.com xincache.com xincai.com -xincaijie.com xincailiao.com xincainet.com xincaise.com @@ -107357,7 +105924,6 @@ xinchuanbo.com xinchuang-bio.com xinchukj.com xincj.com -xincloudhost.com xincmm.com xincode.com xincomm.com @@ -107414,7 +105980,6 @@ xingbangfl.com xingbangip.com xingbo.tv xingchao1.com -xingchenjia.com xingcheshixian.com xingchiauto.com xingchuangcar.com @@ -107438,7 +106003,6 @@ xingfudu.com xingfufangdai.com xingfulaonian.com xingfulizhaofang.com -xingfulo.com xingfuu.com xinggan.com xinggan.net @@ -107468,11 +106032,12 @@ xingjiaoyun.com xingjiesj.com xingjijy.com xingjimob.com -xingjuhe.com xingjun-group.com xingkec.com +xingkeqi.com xingketech.com xingkong.link +xingkong.run xingkongfy.xyz xingkongmt.com xingkoo.com @@ -107521,6 +106086,7 @@ xingtai0319.com xingtai123.com xingtai163.com xingtaishipping.com +xingtan001.com xingtangzp.com xingtongsw.com xingtu.com @@ -107540,12 +106106,14 @@ xingxingbao.com xingxingjizhang.com xingxingzaixian.fun xingxingzu.com +xingxuanwaimai.com xingyangroup.com xingyao.com xingyaocq.com xingyaomob.com xingyaoss.com xingyaox.com +xingyaoyd.com xingye.work xingye1.com xingyeace.com @@ -107574,10 +106142,10 @@ xingyunxc.com xingyusoft.net xingyutc.com xingyuyouxi.com -xingzai.pub xingzhang.com xingzhean.com xingzhige.com +xingzhiheyi.com xingzhilan.com xingzi-vision.com xingzou.art @@ -107641,7 +106209,6 @@ xiniu3d.com xiniugushi.com xiniushu.com xiniuyun.com -xiniuz.com xinjiadiy.com xinjianggames.com xinjianggou.com @@ -107663,10 +106230,8 @@ xinjunshi.net xinjunshicn.net xinkaiyuanceps.com xinke-semi.com -xinkejiaotong.com xinkenwen.com xinkuai.com -xinkunshan.com xinlanshengbc.com xinle.com xinle366.com @@ -107679,7 +106244,6 @@ xinli001.cc xinli001.com xinli001.xyz xinli001wx.com -xinliangshiguang.com xinliangxiang.com xinliceping.com xinlifudao.com @@ -107747,8 +106311,6 @@ xinquanedu.com xinquji.com xinran1016.com xinranliu.me -xinray.com -xinray.net xinrenxinshi.com xinri.com xinrong88.com @@ -107772,7 +106334,6 @@ xinshengsemi.com xinshi525.com xinshiba.com xinshiji1992.com -xinshijue.com xinshipu.com xinshishen.com xinshoucun.com @@ -107801,7 +106362,6 @@ xintengmenchuang.com xintheme.com xintiandi.com xintianw.com -xintianxia.cc xintianya.net xintiao100.com xintiao80.com @@ -107825,7 +106385,6 @@ xinwen365.com xinwen520.net xinwengao.net xinwengood.com -xinwenke.com xinwenku.com xinwenlianbo.tv xinwo.com @@ -107845,7 +106404,6 @@ xinxifabu.net xinxinapp.net xinxindai.com xinxing-marathon.com -xinxing.org xinxing001.com xinxing100.com xinxing91.com @@ -107854,7 +106412,6 @@ xinxinhot.net xinxinhotel.com xinxinjoy.com xinxinmed.com -xinxisea.com xinxjs.com xinxue-edu.com xinxuejy.com @@ -107888,7 +106445,6 @@ xinyingtec.com xinyingyang.com xinyisemi.com xinyishiji.com -xinyiso.com xinyitt.com xinyo100.com xinyong.net @@ -107919,11 +106475,10 @@ xinyurc.com xinyusanyi.com xinyustone.com xinyutengyuan.com -xinyuwj.com xinzegongshui.com -xinzeholding.com xinzengwj.net xinzheng.cc +xinzhi.com xinzhi.space xinzhibang168.com xinzhibid.com @@ -107942,7 +106497,6 @@ xiongbeng.com xiongbingtianxia.com xiongchuan.com xiongdacn.com -xiongdong.com xiongf.com xiongfengcl.com xiongfenggroup.com @@ -107954,10 +106508,8 @@ xiongmaodangao.com xiongmaojinku.com xiongmaosaohao.com xionguamaqui.com -xiongyin.com xiongying.com xiongyudl.com -xiongzhangad.com xiowo.net xioxix.com xipunet.com @@ -107968,6 +106520,8 @@ xiqiaoshantour.com xiqifun.com xiqinrc.com xiqkj.com +xiqu.me +xiqu001.com xiquebo.com xiquepark.net xiqueqingjian.com @@ -107993,7 +106547,6 @@ xishuashuatuan.com xishuizk.com xishunj.com xisofttec.com -xitang.love xitanhotel.com xitaoinfo.com xite-group.com @@ -108006,9 +106559,9 @@ xitieba.net xitinet.com xitmi.com xitong-tech.com -xitong110.com xitong114.com xitong5.com +xitong8.com xitong86.com xitongbuluo.com xitongcity.com @@ -108016,11 +106569,9 @@ xitongdaquan.net xitonggho.com xitonghe.com xitongjiaocheng.com -xitongku.cc xitongku.com xitongle.com xitongpe.com -xitongqingli.com xitongtiandi.net xitongtiankong.com xitongtu.net @@ -108040,7 +106591,6 @@ xiuai.com xiubiaoshi.com xiubiaozu.com xiucai.com -xiudang.com xiudodo.com xiudtech.com xiufa.com @@ -108061,7 +106611,6 @@ xiulv.com xiumb.com xiumb12.com xiumeilady.com -xiumeiziyuan.com xiumi.us xiumius.com xiumucn.com @@ -108104,7 +106653,6 @@ xiwise.com xiwnn.com xiwuji.com xiwuy.com -xixhx.com xixiangongjiao.com xixianwatergroup.com xixiaoyou.com @@ -108136,7 +106684,6 @@ xiyoo.com xiyou-g.com xiyoucdn.com xiyouchat.com -xiyouence.com xiyouji.com xiyoulink.net xiyoupark.com @@ -108155,7 +106702,6 @@ xizangguolv.net xizangmaoniunai.com xizangqinglv.com xizangshop.com -xizangyougou.com xizangzl.com xizexiao.com xizhang.com @@ -108164,7 +106710,6 @@ xizhi.com xizi.com xizice.com xiziiparking.com -xiziotis.com xiziquan.com xiziwang.net xj-biotech.com @@ -108243,9 +106788,9 @@ xjjhjt.com xjjnjp.org xjjqd154.com xjjsws.com +xjjt.com xjkangjia.com xjks.net -xjkyc.com xjlxw.com xjlxzc.com xjlytz.com @@ -108284,14 +106829,12 @@ xjtsnews.com xjtssw.com xjtucompressor.com xjtudlc.com -xjtxt.cc xju88.com xjweek.com xjwell.com xjwljb.com xjwyglw.com xjxa.com -xjxbdh.xyz xjxbmy.com xjxbx.com xjxdf.com @@ -108312,9 +106855,8 @@ xjzhsh.com xjzlyy.com xjzp.net xjzslr.com -xk-yy.com +xk41v506m7.com xk57.com -xk8090.com xk857.com xk89.com xk9l.com @@ -108325,7 +106867,6 @@ xkbbtang.com xkbjm.com xkcd.in xkcun.com -xkd.hk xkdongman.com xkdywl.com xkeirofiowef.com @@ -108339,18 +106880,17 @@ xkjt.com xkjt.net xkjxcon.com xknow.net +xkoeccrq.com xkonglong.com xkpx.com xksafe.com xksast.com xktech.com xktsz.com -xkunn.com xkunyi.com xkvvv.com xkw.com xkwe.com -xkwo.com xkxs.org xkxsc.com xkyl.vip @@ -108367,7 +106907,6 @@ xl-soft.com xl-vip.com xl18z.com xl2824.com -xl526.com xl5bb.com xl5dd.com xl5du.com @@ -108429,7 +106968,6 @@ xlsxmj.com xltnjslfd.com xltrip.com xltxly.com -xltzgy.com xluuss.com xlvshi.com xlwl95.com @@ -108461,8 +106999,8 @@ xm-clever.com xm-gzf.com xm-olympic-museum.org xm002.com -xm211.com xm51.com +xm5156.com xm680.com xm6wpp.com xm909.com @@ -108490,14 +107028,12 @@ xmcord.com xmcp.ltd xmcwh.com xmcx.net -xmcxz.com xmcy.com xmd5.com xmdh.com xmdianbiao.com xmeasygo.com xmecard.com -xmen.cc xmerak.com xmeye.net xmf.com @@ -108509,6 +107045,7 @@ xmfls.net xmfunny.com xmgd.com xmgltwzhs.com +xmgouemc.com xmgps.com xmgreenrock.com xmgsd.com @@ -108525,7 +107062,6 @@ xmhouse.com xmht.com xmhx.com xmigc.com -xmindchina.net xminfoport.com xming.ai xminnov.com @@ -108550,7 +107086,6 @@ xml-journal.net xmldz4.com xmlheads.com xmlhifi.com -xmliw.com xmlulub.com xmlvbarcode.com xmmade.com @@ -108581,7 +107116,6 @@ xmruiyou.com xmseaview.com xmseeyouyima.com xmsgame.com -xmshqh.com xmsixian.com xmsiyb.com xmsme.com @@ -108590,7 +107124,6 @@ xmsoft.com xmsouhu.com xmsoushu.com xmspace.net -xmsqz.com xmssie.com xmsssyy.com xmsumi.com @@ -108600,8 +107133,6 @@ xmtbang.com xmtyy.net xmuli.tech xmulib.org -xmvxo.xyz -xmw19.com xmwan.com xmwes.com xmwns.com @@ -108629,7 +107160,6 @@ xmzjtjckmy.com xmzmmr.com xmzmy.com xmzs.org -xmzwdgm.com xmzyark.com xmzylh.com xmzzy.net @@ -108637,17 +107167,12 @@ xn--0lqv73m.com xn--0lqwsu2w.com xn--15q53an56b23i4nu0jb.com xn--1bs9ye16ez8b.com -xn--1ct02v9z6a3bg.xn--czr694b xn--1ctq05bvu1a.com xn--1d3a16a.com xn--1lq86ddzrwkhiicdz5d638a.com -xn--1lq90iba455sxghy10a.xn--3ds443g -xn--1lq90iizjqm7afdaz44c.xn--3ds443g xn--1lqq7i4w0acli.com xn--2cyr99a.com xn--2quu5hi8e69p.com -xn--2qux23cs4e63q.com -xn--2ssx2cb4cywb60vkockt5d081a5lm.xn--3ds443g xn--2vra6db.com xn--2vxsp6vi4j.com xn--3bs35yfl6bn8a.ink @@ -108658,7 +107183,6 @@ xn--3bsx54la62v.com xn--3bsz0pskmp89skv3a0zd724b1py.net xn--3lqv74e.com xn--48s50dpwnbh95ah07i.com -xn--49s82db1ewy7adrq1ik.xn--3ds443g xn--4gq0d69oba129b9wd94ey8bs83ji3c3q7hoka.org xn--4gq1d760bszbgdv5p12rhq5bx2yc.net xn--4lwr21d.com @@ -108675,50 +107199,32 @@ xn--5brz4b846h.com xn--5g-t62dq44f.ltd xn--5kv317c.com xn--5kv91jiz2b.com -xn--5ssy8eju9d.xn--czr694b -xn--6fr35ac1xmmm.com xn--6fr61zj8c92fg34d.com -xn--6g3a83ieum.com xn--6kr66fp2ep1ac5edz2hy7s2wq.com xn--6krw3qs7jl59b.com -xn--6m1ao1qznhjja.xn--fiqz9s xn--6oq43md5j.com xn--6oq83hzb922dnorwsomx9dzkb.com -xn--6oru97cy2o.xn--czr694b xn--6qqp94buie2ss.com -xn--6rto6ab3qo15c.com xn--6rtq6phwfhva.com -xn--6rtr6sp1eo1i.xn--3ds443g xn--6xv710dola.net xn--730-l44eu9iitvv9h.com xn--7mqy6dj0brts55e.com xn--7qvz7xssa.com xn--7stv4oc3evv7b.com -xn--7tqu6oc48bfbm.xn--ses554g xn--88-9s0f59z.com xn--8lqrjra071bi0qgga421cs99a4qeqwm.com xn--8ou124e6ek.net xn--8owq8u.com xn--8stx8olrwkucjq3b.com -xn--95572-w91h07x.xn--3ds443g -xn--9iq388crdwc.xn--czr694b -xn--9iqr63a1idgz6e.xn--3ds443g -xn--9iqs25bkvi.xn--czr694b -xn--9kq29i0tjy6b044actm.com xn--9kqx88aa0024cywe.org xn--9kr72kqwe.com -xn--9krr90n.xn--55qx5d +xn--9krv3x413bbyb.com xn--9myo55bi8l.com xn--9pr56vfna007k.com -xn--9swtur5jzql.xn--3ds443g -xn--9wy264ea.xn--6qq986b3xl -xn--api-ot5f948r.xn--3ds443g -xn--app-z69er1jg6opx1e.xn--5tzm5g xn--b0t462i.com xn--b0tn0sxy3ayhj.com xn--b0tp7p3met2a.com xn--b0tp7p3met2a.net -xn--b0tp7pc6a827b.cc xn--b8qi619ujyk.com xn--bbt44m.net xn--blqw4qdtj1zl4x4c.com @@ -108729,17 +107235,12 @@ xn--buxr99dhia.com xn--bxyy83e.net xn--cesx3oukw29l.com xn--cetx7iotgtmgrm7blsf.com -xn--chq044bd1s.com xn--chq7lp8e46htw3g.com xn--chq84ir6vbgn.com xn--chq84itwgrb674blm6f.com -xn--cjr369c422a.xn--ses554g -xn--cjrz24bxjping.xn--czr694b xn--cjztj18l.com xn--cks935disa.com -xn--cnqr5ysyl.xn--czr694b xn--cpqr0dg9g4t0fodaq5c.com -xn--cqur4grqt5a7z4f.com xn--cssw8z54rj2ds2q.com xn--czr93rxry.com xn--czru2dx3eszw3lat53b.com @@ -108753,21 +107254,14 @@ xn--dlq10g6xfkw4a201b.com xn--dlqu6kw2e2n3aolseyrfhn.com xn--dlqw10borzgxh.com xn--dtq23gl66e.com -xn--e1t46na.xn--6qq986b3xl -xn--e6qx8b.xn--3bst00m xn--ebr05n.com xn--eh1a34ykpl.com xn--ehq647i.xn--j6w193g -xn--ekr69hlr1c.xn--3ds443g xn--eltt9g.com -xn--eqrt2g.xn--vuq861b xn--estx4tcsdff9qu37dl78b.com -xn--f5q14tug.xn--6qq986b3xl -xn--f8qs4ctu19zr2eq64ehfmdri.xn--3ds443g xn--fcs316auqlyoe.com xn--fct05uxe304h.com xn--fhq79jyym9nh74hfm8a.com -xn--fhqpn19bl91acha222foe2d.xn--3ds443g xn--fiq03fftg7m2c.com xn--fiq06jqoz14s.com xn--fiq446amrnx0i.com @@ -108775,56 +107269,41 @@ xn--fiq4mgq69drxaiym2g5wnynb77huij0bchq7vj5ay61o3cwdq2ah92mlg9c.com xn--fiq6q20pz51d.com xn--fiq73f39fwr0b4wk.net xn--fiq7v55hnsepqz.net -xn--fiq7vggk68aq1fe49byv8a.xn--zfr164b -xn--fiq8ituh5mn9d1qbc28lu5dusc.xn--vuq861b xn--fiqp15ft6ya.com xn--fiqr9gg1vdha.com xn--fiqrtn9duw9e.cc -xn--fiqs8s5zfwtksc224s.xn--3ds443g xn--fiqs8s60s3soq8cx0uohm.com -xn--fiqs8sn5jp2ezwqiv6b.xn--czr694b -xn--fiqs8sq2ipif.xn--vhquv xn--fiqs8sr9ge7eb4b28vo92a.com xn--fiqu59c0hf2sy.net xn--fiqv1i07mt46b.com xn--fiqv94di0c54ipe.net -xn--fiqw6ovnbbz6a4rqiws.xn--kput3i xn--fiqw8jl3h7xc25m753d.link -xn--fiqwly1fizbw4irky1yrlg.xn--3ds443g xn--fiqx7ci2whnj.com xn--fjq5py34j65v.com xn--flw351e.com xn--g2xt1d91f2xk.com xn--glr604k.com xn--gmq00s1xfuvekuas68k.com -xn--gmq238c5fy.com -xn--gmq65d2wksq4b0bt.xn--czr694b -xn--gmqr38ag3ag6puy9a.com xn--gmqr9gdtrhuf56g.com xn--h0tn34c.cc xn--h6qq3whvbw6a42x4ij.com -xn--h6qyr29eh1buxk3e37mxzkp28b2b8c.xn--3ds443g xn--hdc1eb8be0au3c9hfb.xn--gecrj9c xn--husx9zj2eepau0se83d.com xn--hutn94av9amzg.net xn--i6q33br88fkud.com xn--igt225itqf.com -xn--iiqs04a411ac1w.xn--czr694b xn--jh1a128b.com xn--jhqx3hjuanvm9zbb084ayucqwxhuqzew60ae3xve1fnwybs8a.com xn--jor0b302fdhgwnccw8g.com xn--jpr47zq87axwjc0d.com xn--jvrr72kgma408a.com -xn--kcr304agl5b.xn--czr694b xn--kivq8be3whsi.com xn--l9qya49g86gm9ghpbzy1dwl0fppo.com xn--lt0at3k.com xn--mct72chgrm.net xn--mes380bwhsoec.com xn--mnqs00c24c2pw0ii.com -xn--mnqu8q95yrhveeaz91e.xn--55qx5d xn--mts196b.net -xn--mts60is5y5uk.com xn--muuv52j.com xn--n5q75cia631gba51vx4ag2a008o08l1t0adzay2skp4b.com xn--n6qy1xeobw60f.net @@ -108835,19 +107314,16 @@ xn--ntsp37j.net xn--nyqx17d.com xn--nyqx2gbsm8u0b.com xn--nyw355ejle.com -xn--obym4a85u8ob.xn--ses554g xn--od1a98zlyg68g.com xn--ohqn1dw64cf45c8l9a1ba.com xn--omrvgz6er31au6f.com xn--oorz70c56jtwb49x.net xn--p5t28ylet56a.com -xn--p5tszu92ae3e.com xn--pbt1sj69ag8b.com xn--pss89e6xl72g.com xn--ptua509t.com xn--q20av2y36ac54a.com xn--qkroa335nnol.com -xn--qrq171dxpq.com xn--qruq25bjsj.net xn--qzwx3ij21azka.com xn--r8s65df7admf92a.com @@ -108856,31 +107332,24 @@ xn--rhqt5j7qj6mj.com xn--rht439a44bdyk.com xn--rhtr03fbrm.com xn--riqi041otpd.com -xn--rnq977a.xn--czr694b xn--rss237b.com xn--rss404ac6aj60e.net xn--rsss0ke5ghnj.com xn--ruqs20ac8b5z7av8ir2u.net xn--ruqz9zcojm5sf19a.com -xn--s1ru0x93t.xn--3ds443g xn--s4t325g.com -xn--sdc-l44eu9i.xn--czr694b xn--sgt856gbjl.cc xn--siq0gv77a3c.com xn--sosw2ge0bs10aoq0a.com xn--sss604efuw.com -xn--swt207gl1hzc.net xn--swts8irvtrtr.com -xn--tbtmsj-9x3kw827a.xn--3ds443g xn--tesiro-n17nh93r.net xn--tfr181fg2az43a.com -xn--tfr76a.xn--czr694b xn--tkr55q2oa097dyxe209c.com xn--tlq092au7hsi3a.com xn--tlqp5nt6bb69g.xyz xn--tlqz3aj77agil76ww4ni2k.com xn--tqq89g2tjj5x8xs.com -xn--uis47lp2cp2g.xn--3bst00m xn--uisx71c0r1a.com xn--vcso1ukuz.net xn--vcsu51b3zccpm.com @@ -108888,36 +107357,24 @@ xn--vcsu9p66gy1l9vpnnbk52f.com xn--vhq3m33sbqhpsmtnuxfq.com xn--vhq3mr8b802a.net xn--vhq4ut2dsxd5xqnicjxxo55a756aovhik0aunm.com -xn--vhq58fo0di0bk5p5woykie3bi43ijq0a.xn--3ds443g xn--vhq726a7bz6b628r.net -xn--vhq899b1shv32ayohznc.xn--3ds443g xn--vhqa63bt1h.com -xn--vhqd346fv3m7ggdt2byua.xn--3ds443g xn--vhqqbz2p62hm92e04p.com xn--vhqu1kbz3bnbi.com xn--viq463a.com -xn--vnuqa4644aq5c0si.xn--3ds443g xn--vq3a5gj6c9i.com xn--vuqz86auobw20f.com -xn--vusu0mbusw10a.xn--czr694b xn--w9q313dfn4a.com -xn--w9q675dm1p7em.net -xn--w9q84az17hvpi.xn--ses554g xn--w9qr0k.com xn--w9qy23cc6adz7d.net -xn--wbsy6nk4mnpa575i6fy.xn--3ds443g xn--wbsz85a2a.com xn--wlqw5ebvdhpi5hepihs3c.com xn--wtqs2doz3b.com xn--wxtr44c.live -xn--xcrv5deweeznlnez29a.xn--3ds443g xn--xcry9n251cvcar5xj6r.com xn--xhq60k09cr85at2f494d.com xn--xhq60kzbz07dem6azlu.com xn--xhq8sm16c5ls.com -xn--xhq95newgtxk9sk8k6a9r4ba.xn--3ds443g -xn--xhq9mt12cf5v.ink -xn--xhq9mt12cf5v.ren xn--xhqq2hhv0dkpk.com xn--xhqq4f5vc69qlmk6mva633mwoeiuad9562e.com xn--xhqs8jeim18aoz9bl6fbr0a.com @@ -108927,7 +107384,6 @@ xn--xhqx10kr8o.com xn--xkr26fp82clgt.com xn--xkr999cp4fv97a.com xn--xkrs9ba41r.com -xn--xxv969f.xn--ses554g xn--xys863bov4ac4h.com xn--y6q834d2k3al4h.com xn--y8jhmm6gn.moe @@ -108935,10 +107391,8 @@ xn--yet74fr8g.com xn--ygtp21bwyedsq.com xn--yhqq38bmov17mqxi.com xn--ykr169cm1pskt.com -xn--z3vq3r3u4a.xn--czr694b xn--z4q559dueav8q.com xn--z63a11k.com -xn--zwtr2f7xebqvx24ax9a.xn--3ds443g xn-ck.com xn0.cc xn121.com @@ -108952,7 +107406,6 @@ xndqfw.com xndxfz.com xndyyljt.com xnfyy.com -xnggroup.com xngjbus.com xnh123.com xnh98d9c32om.com @@ -108994,10 +107447,13 @@ xnzn.net xnzxyy.com xnzyyy.com xoao.com +xogekfb.com xoliao.com xooooa.com +xoqeyeti.com xorlink.com xorpay.com +xoss.co xoudou.com xoxv.net xoxxoo.com @@ -109005,16 +107461,12 @@ xoyo.com xoyobox.com xoyocdn.com xoyq.net -xp.apple.com -xp3366.com xp535.com xp6000.com xp61.com -xp666.com xp811.com xp9365.com -xpaoshu88.com -xpaozww.com +xp94.com xpaper.com xpaper.net xpccdn.com @@ -109026,20 +107478,22 @@ xpeae.com xpeng.link xpf.cc xpfood.com +xpgod.com xpgps.cc xphcn.com xpj0066.com xpj16.net xpj6789.com -xpjis.com xpkjpk.com xpkongqipao.com xplaymobile.com xpn.cc xpoy0z.com +xppgsx.com xpsheying.com xpsup.com xpsy.net +xpsy3q9e5kr4.com xptt.com xpu93.com xpw888.com @@ -109082,7 +107536,9 @@ xqppt.com xqsbw.com xqshe.com xqship.com +xqtzigc.com xqu5.com +xqvxifvk.com xqyake.com xqyk024.com xqymuy.com @@ -109090,17 +107546,16 @@ xqypay.com xqzgw.com xr100.net xr818.com -xrain.net xray.cool xrbulk.com xrcch.com xrccp.com -xrd-100.com xrd-fashion.com xrdyl.com xrdzidonghua.com xredu.com xrender.com +xresgrbw.com xrhhg.com xrichengapp.com xrjjk.com @@ -109110,6 +107565,7 @@ xrkmonitor.com xrlmold.com xrpyq.com xrqh.com +xrqorv.com xrso.com xrunda.com xrvm.com @@ -109126,13 +107582,13 @@ xs058.com xs3cnc.com xs52.com xs63.info -xs6po.icu xs7.cc xs7.com xs7.la xs91.net xs920.com xs9999.com +xsa239.com xsappxz.com xsb120.com xsbiquge.com @@ -109143,8 +107599,6 @@ xscbs.com xschu.com xschuban.com xscxzcz.com -xscz.online -xsddy.com xsdma.com xsdmr.com xsdnjl.com @@ -109163,13 +107617,13 @@ xsgrq.com xsgtvacct.com xsh520.com xshdchem.com -xshellcn.com xshengyan.com xshenshu.com xshgsh.com xshgt.com xshhotels.com xshkvip.com +xshmzz.com xshntc.com xshouyou.com xshr.com @@ -109201,6 +107655,7 @@ xsjxyedu.com xsjzsy.com xskhome.com xslb.me +xslb.net xslmed.net xsm818.com xsmaofa.com @@ -109238,7 +107693,6 @@ xsttop.com xstv.net xstx.info xstzgs.com -xsu.cc xsui.com xsuweb.com xswang.com @@ -109262,7 +107716,6 @@ xszrcw.com xszsw.com xszww2.com xszww8.net -xszysc.com xt-gas.com xt-kp.com xt-luyou.com @@ -109272,7 +107725,6 @@ xt12333.com xt3yy.com xt700.com xt7p.com -xt918.com xtadmins.com xtaike.com xtal.cc @@ -109282,6 +107734,7 @@ xtbaoziji.com xtc-edu.com xtcaq.com xtcfjt.com +xtcl010.com xtcrm.com xtdj.cc xtedu.com @@ -109302,13 +107755,14 @@ xtjsxy.net xtjtjs.com xtlitian.com xtlog.com -xtlylkj.com xtmc.net xtmit.com xtmtrj.com +xtomp.com xtong-solar.com xtongs.com xtowork.com +xtqarzip.com xtransfer.com xtrapowercn.com xtrc.net @@ -109317,7 +107771,6 @@ xtrunc.com xtsfuke.com xtsjj.net xtszls.com -xttaff.com xttblog.com xttz.com xtu2.com @@ -109339,10 +107792,9 @@ xtzjup.com xtzpw.com xtzy.com xu1s.com +xu42x.net xu8.fun xu97.vip -xuakn.icu -xuan5.com xuanad.com xuanba.com xuancaizi.com @@ -109355,7 +107807,6 @@ xuandecarpet.com xuanfengge.com xuanhaikuwan.com xuanhao.com -xuanhk.com xuanhuange.com xuanhuange.net xuanjigame.com @@ -109377,7 +107828,6 @@ xuanshu.org xuansiwei.com xuantaikeji.com xuanteng.org -xuanvoyage.com xuanwonainiu.com xuanwu88.com xuanwumobile.com @@ -109389,6 +107839,8 @@ xuanxuangame.com xuanxue.com xuanxuewang.com xuanyang888.com +xuanyaodang.com +xuanyaodang.net xuanyge.info xuanyouwang.com xuanyuanhuangdi.org @@ -109401,7 +107853,6 @@ xuanyutech.com xuanzhi.com xuanzhuanmumatuwen.com xubei.com -xuchangbbs.com xuchangqifu.com xuchencq.com xuchuang.com @@ -109434,7 +107885,6 @@ xueche.com xueche.net xuechebu.com xuechela.com -xuecheyi.com xuechu123.com xuecoo.com xueda.com @@ -109493,7 +107943,6 @@ xuelema.com xueleyun.com xueli9.com xueliedu.com -xuemeibei.com xuemh.com xueming.li xuenarui.com @@ -109595,7 +108044,6 @@ xuexiuwang.com xuexiwa.com xuexizhiwang.com xuexizoo.com -xuexizuowen.com xuexun.com xueya8.com xueyanshe.com @@ -109611,12 +108059,12 @@ xuezhishi88.com xuezhiyou.com xuezhouyi.com xuezizhai.com +xuezozx.com xugaoyang.com xugt.com xuguang.net xuguangwangluo.com xugucn.com -xuhaijun.pw xuhe56.com xuheen.com xuhenghandicraft.com @@ -109630,12 +108078,10 @@ xujingkj.com xujinhuancaishui.com xujun.org xuka.com -xukou.net xulaoshi68.com xuld.net xulihang.me xuliutian.com -xulizui6.com xumenger.com xumengwang.com xumingxiang.com @@ -109664,7 +108110,6 @@ xundns.net xundonglian.com xundupdf.com xunerjie.com -xunfan.net xunfang.com xunfeia.com xunfeib.com @@ -109679,13 +108124,11 @@ xunguagua.com xunguanggame.com xunhuai.com xunhuanshuibeng.com -xunhuoyi.com xunhupay.com xunhuweb.com xunicard.com xunihao.net xuniquan.com -xunjie.fun xunjiecad.com xunjiefanyi.com xunjiepdf.com @@ -109693,11 +108136,9 @@ xunjieshipin.com xunjietupian.com xunjk.com xunkids.com -xunkoo.com xunlanchina.com xunlei.com xunlei.net -xunleigang.com xunleige.com xunleioa.com xunleisvipp.com @@ -109765,13 +108206,11 @@ xupupower.com xuqijt.com xuqyfw.com xuruowei.com -xushenghb.com xushunda.com xusplastic.com xussb.com xusss.com xutour.com -xuugnuits.com xuvol.com xuweidj.com xuwenliang.com @@ -109799,12 +108238,13 @@ xuzhoumuseum.com xuzhounano.com xuzhousports.com xuzhouwater.com +xuzpazms.com xv5.com xvacuum.com xvcdmo.com -xvideo.cc xvista.com xvizubkg.com +xvuikerk.com xvwprdk.com xw-chip.com xw-planning.com @@ -109823,7 +108263,6 @@ xwcool.com xwcx6.com xwcx666.com xwcxgroup.com -xwdsp.com xweb.vip xwei.tv xwfintech.com @@ -109850,7 +108289,7 @@ xwshensuofeng.com xwtcmh.com xwtele.com xwtex.com -xwuad.com +xwuorvhz.com xwx.mobi xwxguan.com xwxwh.com @@ -109871,12 +108310,8 @@ xx5515.com xx667788xx.com xx7z.co xx8g.com -xxad.cc xxadc.com xxahsk.com -xxaks01080sspao.xyz -xxaks01081sspao.xyz -xxaks01091sspao.xyz xxart.net xxazjz.com xxbiquge.com @@ -109890,7 +108325,6 @@ xxcipharm.com xxcmw.com xxdao.com xxdm.cc -xxeden.com xxedu123.com xxfbiaa.xyz xxfqc.com @@ -109902,7 +108336,6 @@ xxgzz.com xxhd-tech.com xxhnanke.com xxhpkwd.com -xxhrd.com xxhyzs.com xxinficity.com xxingclub.com @@ -109948,6 +108381,7 @@ xxshu.com xxskins.com xxspd.com xxsrmyy.com +xxsy.com xxsy.net xxsypro.com xxszxw.net @@ -109965,15 +108399,10 @@ xxwxf.com xxxbiquge.com xxxcsf.com xxxedu.net -xxxfeng.com xxxhhh.com xxxinwen.com -xxxmeng.com xxxoooxxxooo.net -xxxx68xxxx.com -xxxx88xxxx.com xxxx92xxxx.com -xxxx96xxxx.com xxxxxx6.com xxxzzlm.org xxycw.com @@ -109997,14 +108426,12 @@ xxzsgame.com xy-365.com xy-asia.com xy-biochem.com -xy-colomi.com xy-ddh.com xy-dgyx.com xy-display.com xy-invite.com xy-mp.com xy-technology.com -xy.com xy007.net xy120.net xy1212.com @@ -110031,7 +108458,6 @@ xycad.com xycaogen.com xycareer.com xycclass.com -xycdn.com xycdn.net xycgd.com xychyy.com @@ -110059,10 +108485,10 @@ xyffsb.com xyffvip.com xyfinechem.com xyfish.com -xyflcp.com xyfnz.com xyfsy.com xyg100.com +xygdcm.com xygmed.com xygre.com xygsjt.com @@ -110080,7 +108506,6 @@ xyhqsh.com xyhtml5.com xyhygs.com xyict.com -xyimg.net xyj.link xyj321.com xyj618.com @@ -110094,16 +108519,15 @@ xyjyjt.com xyjyy.net xykgjt.net xykmovie.com -xykmthb.com xyktjt.com xyl2002.com xylbsnjx.com xylh888.com -xylhwdu.com xylink.com xylive.tv xylll.com xylmf.com +xylofh.com xymfqb.com xymj.xyz xymlcs.com @@ -110121,11 +108545,9 @@ xypse.com xyqb.com xyqczy.com xyqmall.com -xyqxr.com xyqy88.com xyrbszb.com xyre.com -xyrkl.com xyrsks.com xyrtv.com xysb.com @@ -110135,7 +108557,6 @@ xyshu8.com xyshuk.com xysjg.com xysmart.com -xysnews.com xysstgs.com xystatic.com xystoy.com @@ -110149,13 +108570,11 @@ xytiyu.com xytjcpj.com xytm.art xytqm.com -xytsgt.com xytsoft.com xytsw.com xytzg.com xytzjt.com xyuncloud.com -xyunhui.com xyunjiasu.com xyunqi.com xyusk.com @@ -110184,7 +108603,6 @@ xyxun.com xyxww.com xyxy.com xyxy.net -xyxy01.com xyxyzz.com xyxza.com xyy001.com @@ -110237,6 +108655,7 @@ xz66gxnnjyl.com xz6y.com xz8.com xzairport.com +xzaz.com xzb360.com xzbaorun.com xzbco.com @@ -110343,23 +108762,19 @@ xztdesign.com xztsjf.com xztzb.com xzuan.com -xzvfd.xyz xzw.com xzw.pw xzwanda.com xzwhg.com xzwhlyjt.com -xzwk.hk xzwyxh.com xzx.com xzxjkyy.com xzxkjd.com xzxw.com -xzxwhcb.com xzxx.com xzxxlcp.com xzyhealth.com -xzyituo.com xzyjl.com xzynyy.com xzzh.com @@ -110369,7 +108784,6 @@ xzzlyy.com xzzp.net xzztly.com xzzulin.com -xzzyi.com y-feng.com y-i-y.com y-lotus.com @@ -110377,10 +108791,10 @@ y-os.net y.cool y.to y007.com -y0mwy.icu -y155.cc y1995.com y2002.com +y2374050fo.com +y4rwk6v8s41kr.com y5000.com y55l6.com y56.com @@ -110389,11 +108803,14 @@ y5api.com y5kfpt.com y5news.com y5store.com +y66b1pi5re.com +y6kky.com +y70qeg6506.com y77.cc y78r.com -y7ts.icu y80s.com y8cyx6fvyxk3hs.com +y8kj95k62v.com y8l.com y95.net ya-bo888.com @@ -110414,6 +108831,7 @@ yabyy.com yac8.com yac8.net yace17.com +yach.me yachtsinchina.com yacol.com yacou.net @@ -110461,7 +108879,6 @@ yake5.com yakjhfh.com yakool.com yalayi.com -yalayi.net yalewoo.com yali-electrical.com yalianedu.com @@ -110475,7 +108892,6 @@ yalongbay.net yalongsi.com yalqq8976.com yamaijia.net -yamazakioil.com yameisj.com yamibo.com yan-grh.com @@ -110503,10 +108919,8 @@ yanchupiaojia.com yanchupiaowu.com yancloud.red yandaco.com -yandian58.com yandianying.com yanding.com -yandui.com yanduyiyuan.com yanedu.com yanfabu.com @@ -110534,10 +108948,8 @@ yangguangxinye.com yangguanjun.com yangguiweihuo.com yanghd.com -yanghengjun.com yanghong.art yanghuaxing.com -yanghui.com yangji.com yangjibao.com yangjie.li @@ -110640,11 +109052,9 @@ yanjinews.com yanjingge.com yanjiubaogao.com yanjiuchubanshe.com -yanjiusuo.cc yanjiyou.net yanjob.com yanjun7858.com -yanjunbo.com yankanshu.cc yankay.com yanke360.com @@ -110708,7 +109118,6 @@ yanyin.tech yanyiquan.com yanyiwu.com yanyizc.com -yanyuanzhaopin.com yanyue.net yanyunmail.com yanzhaorc.com @@ -110755,7 +109164,6 @@ yaokantv.com yaokeke.com yaoky.com yaolaifen.com -yaolaivip.com yaolan.com yaolandairy.com yaoliangmi.com @@ -110796,7 +109204,6 @@ yaoyaola.net yaoyedan.net yaoying.vip yaoyitang.com -yaoyl.com yaoyouke.com yaozh.com yaozhigong.com @@ -110807,7 +109214,6 @@ yapodong.com yapp.com yaqilian.com yaqjyj.com -yaranfushi.com yareiot.com yaristyle.com yarncm.com @@ -110838,7 +109244,6 @@ yatiwang.com yato-sh.com yatsenglobal.com yatsoft.com -yatu.tv yatyjx.com yaucn.com yauuy.com @@ -110886,7 +109291,6 @@ yb983.com yb999.com yba120.com ybaby.com -ybanj.com ybaobx.com ybaomall.com ybbonpet.com @@ -110904,8 +109308,6 @@ ybcxz.com ybdbz.com ybdlogistic.com ybe.net -ybeih.com -ybfljs.com ybgkz.com ybgz.com ybhdmob.com @@ -110935,7 +109337,6 @@ ybscpqtlxx.com ybsftd.com ybstjs.com ybstwl.com -ybsyyh.com ybt168.com ybtianshantu.com ybtvyun.com @@ -110948,6 +109349,7 @@ ybword.com ybxww.com ybxx.org yby1953.com +ybyiot.com ybynet.com ybypark.com ybyz.net @@ -110957,7 +109359,6 @@ ybzzgh.org yc-exp.com yc-gc.com yc-petronas.com -yc-rental.com yc-yinhe.com yc-zj.com yc-zyg.com @@ -110982,7 +109383,6 @@ ycbus.com ycc.ink yccar.com yccdl.net -yccdn.com ycclny.com yccn.cc ycczkf.com @@ -110997,7 +109397,6 @@ ycdryy.com ycduile.com ycdz.shop ycdzcc.com -yceno.com yceshop.com ycfang.net ycfanglei.com @@ -111014,7 +109413,6 @@ ycgslb.com ycgwl.com ycgzgame.com ychanfang.com -ychap.com ychcqmu.com ychdzxsh.com ychr.com @@ -111030,7 +109428,6 @@ ycis-bj.com ycis-cq.com ycis-schools.com ycis-sh.com -ycispd-mun.com yciyun.com ycjhjsbyy.com ycjingweiranqi.com @@ -111044,7 +109441,6 @@ ycjt2007.com ycjy-service.com ycjyjt.com ycjzzsw.com -yckamq.xyz yckceo.com yckceo.vip yckjonline.com @@ -111071,11 +109467,9 @@ ycpec.com ycphkj.com ycpinke.com ycpsy.com -ycq.cab ycqin.com ycqq.com ycqsks.com -ycqyhb.com ycrcrs.com ycrcw.net ycrenliu.com @@ -111102,7 +109496,6 @@ yctdyy.com yctxrj.com ycty.org yculblog.com -ycuoj.com ycwalker.com ycwb.com ycwljt.com @@ -111111,7 +109504,6 @@ ycxdryy.com ycxfgroup.com ycxicmall.com ycxinxi.com -ycxjtd.com ycxm.com ycxskw.com ycxy.com @@ -111142,8 +109534,9 @@ yd-data.com yd-jxt.com yd-power.com yd-tec.com -yd126.com yd166.com +yd43s2q51b.com +yda16.me ydalison.com ydamc.com ydbimg.com @@ -111178,12 +109571,10 @@ ydlcdn.com ydlut.com ydmel.com ydmeng.com -ydmob.com ydn5.com ydnanke.com ydnewmedia.com ydniu.com -ydouu.com ydr.me ydsaso.com ydscan.net @@ -111200,10 +109591,28 @@ ydtnotary.com ydtqd.com ydu6.com yduav.com +ydvip00aa.com +ydvip00ab.com +ydvip00ac.com +ydvip00ad.com +ydvip00ae.com +ydvip00af.com +ydvip00ag.com +ydvip00ah.com +ydvip00ai.com +ydvip00aj.com +ydvip00ak.com +ydvip00al.com +ydvip00am.com +ydvip00an.com +ydvip00ao.com +ydvip00ap.com +ydvip00aq.com +ydvip00ar.com +ydvip00as.com ydvip00at.com ydwatch.com ydx2.com -ydxdg.xyz ydxrf.com ydxxt.com ydyb.com @@ -111231,11 +109640,9 @@ yealink.com yealinkvc.com yeaosound.com yeapb.com -yeapcloud.com yeapcloud.net yearlygreen.com yearnfar.com -years10.com yeastar.com yeasturias.com yebaike.com @@ -111290,6 +109697,7 @@ yeeyan.org yeezon.com yefengs.com yegame.com +yegaochemical.com yegenyou.com yegoo.com yegrand.com @@ -111302,20 +109710,19 @@ yeitu.com yejiangye.com yejibang.com yejienet.com -yejing.biz yejuu.com yekyc.com yelanxiaoyu.com yelinmall.com yelishi.net yelixiali.com -yellowjm.com yellowriver.org yelook.com yelot.com yemacaijing.com yemadai.com yemaili.com +yemajun.com yemancomic.com yemaosheji.com yemaosoft.com @@ -111326,19 +109733,16 @@ yemengstar.com yemet.com yemhj.com yenlex.com -yenlm.com yenmon.com yentechnology.com +yeoebyevhq.com yeolar.com yeoner.com yephy.com -yeree.com yeren86.com yergoo.com -yeryt111.fun yes-chinese.com yes-lcd.com -yes115.com yes58.net yes88.com yesacc.com @@ -111360,7 +109764,6 @@ yesidos.com yesilicon.com yeskn.com yesky.com -yeslib.com yeslicake.com yesmyimg.com yesmywine.com @@ -111407,6 +109810,7 @@ yeyo.cc yeyou.com yeyoucdn.com yeyoujia.com +yeyousg.com yeyulingfeng.com yeyun.com yezaifei.com @@ -111425,15 +109829,16 @@ yf-zs.com yf0008168.com yf520.com yf77.com -yfanads.com -yfano.com yfanqie.com yfbudong.com yfbzb.com +yfcache.com +yfcalc.com yfcdn.net yfchuhai.com yfcity.net yfcloud.com +yfcloud.io yfcloud.work yfd.xyz yfdc.net @@ -111482,6 +109887,7 @@ yfjiakao.com yfjnjc.com yfklxz.com yfldocker.com +yflive.net yfm99.com yfmac.com yfmhgf.com @@ -111503,6 +109909,7 @@ yfway.com yfwnm.com yfworld.com yfwpt.vip +yfwqlij.xyz yfycrc.com yfycyboil.com yfygxyy.com @@ -111518,7 +109925,6 @@ ygc711iq.com ygcf.info ygcgfw.com ygcloud.com -ygcn.ltd ygcooler.com ygct.com ygdatabase.com @@ -111544,7 +109950,7 @@ ygmsy.com ygread.com ygrtt.com ygsdmedia.com -ygsm.com +ygsf.com ygsoft.com ygtape.com ygtcpa.com @@ -111561,6 +109967,7 @@ ygym.org ygzt.net yh-group.com yh2000.com +yh31.com yh5291.com yh596.com yh598.com @@ -111589,7 +109996,6 @@ yhdm5.com yhdns.net yhedu.com yhees.com -yhengtech.com yhgfb-cn-static.com yhggroup.com yhgmjf.com @@ -111615,7 +110021,6 @@ yhm11.com yhmob.com yhmsfc.com yhmyi.com -yhouse.com yhpackaging.net yhppk.com yhqapp.com @@ -111641,7 +110046,6 @@ yhtclb.com yhthing.com yhtj2014.com yhtools.cc -yhtuchuang.com yhtx.tv yhtzx.net yhuimall.com @@ -111658,13 +110062,11 @@ yhydl.com yhyhwy.com yhylc71.com yhyyjk.com -yhz18.com yhz2000.com yhz365.com yhz66.com yhzky.net yhzky1.net -yhzm.cc yhzm.com yhzrt.com yhzuche.com @@ -111695,11 +110097,13 @@ yibaixun.com yiban.io yiban1314.com yibaogao.com +yibaojiankang.com yibaotech.com yibei.com yibeiic.com yibeiwangluo.com yibenmanhua.com +yibentushu.com yibiao-sh.com yibite.com yiboard.com @@ -111761,7 +110165,6 @@ yidaointernational.com yidaomall.com yidaomobi.com yidaplay.com -yidaweb.com yide.com yideamobile.com yidejia.com @@ -111781,7 +110184,6 @@ yidianliulan.com yidiansz.com yidianting.xin yidianyuan-wawa.com -yidianzixun.com yidianzx.com yiding-gr.com yidingding3.com @@ -111791,11 +110193,9 @@ yidong-food.com yidonghua.com yidongtimes.com yidontek.com -yidop.com yidoutang.com yidouzhaofang.com yidu-marathon.com -yidu.cc yidubbs.com yiduchuan.com yidugo.com @@ -111847,7 +110247,6 @@ yifum.com yifum.hk yifum.net yifutu.com -yigao.com yigaosu.com yige.org yigeban.com @@ -111876,6 +110275,7 @@ yihaodianimg.com yihaoduozhongduan.com yihaohuoche.com yihaojiaju.com +yihaomall.com yihaomen.com yihaoranjd.com yihaoyunche.com @@ -111886,7 +110286,6 @@ yihegroup.com yihekf.com yihengyt.com yiherubber.com -yihke.com yihong001.com yihong1718.com yihtc.com @@ -111897,7 +110296,6 @@ yihuajiaoyu.com yihuan.org yihuanjt.com yihubaijia.com -yihubaiying.com yihubg.com yihuichuang.com yihuikeji.vip @@ -111930,14 +110328,12 @@ yijiaren3413.com yijiawang.com yijiebuyi.com yijiedai.com -yijifen.com yijimaoyi.com yijinghong.com yijingji.com yijingxiehui.net yijintong.net yijirecovery.com -yijiudongsheng.com yijiupi.com yijiuplus.com yijuedesign.com @@ -112023,7 +110419,6 @@ yimeidaodi.com yimeihui360.com yimeima.com yimeiya.com -yimeizhibo.com yimenapp.com yimenapp.net yimeng.com @@ -112052,7 +110447,6 @@ yiminyy.com yimisoft.com yimitongxue.com yimiyisu.com -yimoueye.com yimuapp.com yimudoor.com yimutian.com @@ -112085,6 +110479,7 @@ yinerda.com yinfeiy.com yinfenggr.com ying-sw.com +ying-ting.com yingbei365.com yingbio.com yingcai.cc @@ -112102,6 +110497,7 @@ yingdev.com yinge.cc yinge.tech yingeda.com +yingeye.com yingfangkeji.com yingfeiyun.com yingfeng.me @@ -112187,7 +110583,6 @@ yingxun56.com yingyang630.com yingyankantu.com yingyecraft.com -yingyeping.com yingyijin.com yingyinglicai.com yingyongbei.com @@ -112197,7 +110592,6 @@ yingyongmiao.com yingyongshichang.com yingyongso.com yingyu.com -yingyuanzhifu.com yingyuchat.com yingyudengji.com yingyuecl.com @@ -112206,6 +110600,7 @@ yingyushijie.com yingyuweb.com yingzaocms.com yingzhongshare.com +yingzi01.com yingzi02.com yingzi8hao.net yingzicms.com @@ -112220,6 +110615,7 @@ yinhangkahao.com yinhangkaoshi.net yinhangzhaopin.com yinhe.com +yinhe.net yinhecn.com yinheyuedu.com yinhu.com @@ -112229,7 +110625,6 @@ yinhuatangyiyao.com yinhuchem.com yinhulaser.com yini.org -yini8.com yinisun.com yinjia.com yinjiabio.com @@ -112237,7 +110632,6 @@ yinjispace.com yinka.co yinlimedia.com yinlingshuyuan.com -yinlt.com yinmakeji.com yinmaojx.com yinmishu.com @@ -112252,7 +110646,6 @@ yinsfinance.com yinsha.com yinshenxia.com yinshua.cc -yinshuahangyewang.mobi yinshuiyu.com yinsuwl.com yintai.com @@ -112263,7 +110656,6 @@ yinuobeidiao.com yinuochina.com yinuoedu.net yinuotech.com -yinvmh.com yinxiang.com yinxiangart.com yinxianggame.com @@ -112279,7 +110671,6 @@ yinxunbiao.com yinyangresin.com yinyangshi.com yinyao168.com -yinyouapp.com yinyue7.com yinyuegf.com yinyueke.net @@ -112289,12 +110680,12 @@ yinyueyouxi.com yinzhaowang.com yinzhijie.com yinzhupharma.com -yinzifang.com yinziyan.com yinzuo100.com yioho.com yioulai.com yiovo.com +yipai.info yipai360.com yipaiming.com yipaogan.com @@ -112333,7 +110724,6 @@ yiqibuduoduo.com yiqicesuan.com yiqichuangxiang.com yiqicms.com -yiqifa.com yiqifa.org yiqifei.com yiqifengtian.com @@ -112363,7 +110753,6 @@ yiqitp.com yiqituodan.com yiqiuu.com yiqiwang.net -yiqiwin.com yiqixiaofei.com yiqixie.com yiqixiegushi.com @@ -112422,6 +110811,7 @@ yishuliuxue.com yishun.fun yishunft.com yishutang.com +yishuyuanxiao.com yishuzhifa.com yishuzi.com yishuzi.org @@ -112451,7 +110841,6 @@ yitechnology.com yiteholdings.com yitel.com yitelish.com -yitengfc.com yitesoft.com yitiangroup.com yitianshidai.com @@ -112466,7 +110855,6 @@ yitongguan.com yitongmedia.com yitongsolar.com yitonyiqi.com -yits055.com yitsoftware.com yituliu.site yitutech.com @@ -112486,14 +110874,12 @@ yiwanlian.net yiwanzhushou.com yiwealth.com yiweb.com -yiweilai168.com +yiweiads.com yiweilaogumin.com yiweishi.com yiwenyida.com yiwenyizhi.com yiwise.com -yiwk.com -yiwomedical.com yiworld.com yiwu56.com yiwubuy.com @@ -112512,6 +110898,7 @@ yixao.com yixao.net yixi.tv yixia.com +yixiaai.com yixianfabu.com yixiangzuji.com yixiansheng.com @@ -112548,7 +110935,6 @@ yixueks.com yixuelunwen.com yixuexianzhi.com yixuezp.com -yixui.com yixun.com yixunjidian.com yixunwu.com @@ -112581,6 +110967,7 @@ yiyifoods.com yiyimh.com yiyisoft.com yiyitech.com +yiyitesco.com yiyiu.com yiyiwawa.com yiyongcad.com @@ -112600,7 +110987,6 @@ yiyuanzhaopin.com yiyukj.com yiyum.com yiyun518.com -yiyunhulian.xyz yiyupack.com yiyusemi.com yiz.vip @@ -112628,7 +111014,6 @@ yizhiwechat.com yizhiweixin.com yizhiws.com yizhixiaogame.com -yizhou158.com yizhoucb.com yizhu-tech.com yizhuan5.com @@ -112643,7 +111028,6 @@ yj-bank.com yj-fun.com yj.ink yj028.com -yj2nf.icu yj36.com yj518.com yjai.art @@ -112651,15 +111035,13 @@ yjbys.com yjbzr.com yjcard.com yjcf360.com -yjcled.com -yjcollege.net yjcp.com yjctrip.com yjdatasos.com yjdzm.com -yjegf.com yjfl.net yjfs8.com +yjfy.com yjgf.com yjgxcx.com yjhbqx.com @@ -112706,6 +111088,7 @@ yjs-cdn9.com yjscloud.com yjsershi.com yjsmodel.com +yjsops.com yjsry.com yjssishisi.com yjsswjt.com @@ -112736,7 +111119,9 @@ yk-fm.com yk0579.com yk211.com yk56.com +yk72e.com ykai.com +ykazgima.com ykccn.com ykccn.net ykcer.com @@ -112752,6 +111137,7 @@ ykjljdcss.com ykkpict.com ykkpict.vip ykmanhua.com +ykmxemho.com ykneng.com ykpjd.com ykplg.com @@ -112774,6 +111160,7 @@ ykugyph.com ykw18.com ykwater.com ykwin.com +ykxwcm.com ykyao.com ykyi.net ykzls.com @@ -112794,12 +111181,10 @@ yl1988.com yl2272.com yl344.com yl9820.com -yladm.com ylallinone.com ylbeef.com ylbloc.com ylbycw.com -ylc.ink ylcapsule.com ylchbyfz.com ylcm.net @@ -112838,6 +111223,7 @@ ylhsrsrc.com ylibi.com ylijh.com ylike.com +ylike.net ylitc.net yliyun.com ylizu.com @@ -112851,7 +111237,6 @@ ylkaite.com ylkbf.com ylkjgame.com ylklyl.com -ylksxyj.com yllhzb.com yllt.icu ylmaterial.com @@ -112901,7 +111286,6 @@ yltvb.com yltwx.com yltxxx.com ylun8.com -ylunion.com yluu.com ylwdec.com ylwl.cc @@ -112945,12 +111329,10 @@ ym.today ym01.tech ym23.com ym3222333.com -ym8p.net ymacg.com ymadly.com ymailcampaign.com ymanz.com -ymapp.com ymark.cc ymars.com ymatou.com @@ -112963,7 +111345,6 @@ ymcart.net ymck.pro ymcsepu.com ymdoctor.com -ymdxl.com ymeasy.com ymechina.com ymeei.com @@ -112978,7 +111359,6 @@ ymhudong.com ymhui.com ymhuwai.com ymhzpx.com -ymima360.com ymiot.net ymisc.com ymj9.com @@ -112998,7 +111378,6 @@ ympc88.com ympcb.com ymraaa.com ymrcw.vip -ymrzr.com yms.cool ymsoft.team ymsss.com @@ -113022,7 +111401,6 @@ ymyun.com ymyxsw.com ymyxzz.com ymzer.com -ymzhifu.com ymzsl.com ymzy.games yn-tcm-hospital.com @@ -113033,11 +111411,8 @@ yn2007.com yn58.com ynaec.com ynairport.com -ynajax.com ynb2dca.com ynbit.com -ynbojie.com -ynbzxh.com ync365.com yncost.com yncun.net @@ -113075,8 +111450,8 @@ ynikon.com ynjgy.com ynjiaoyu.net ynjk120.com +ynjkeji.com ynjkjy.com -ynjkkj.com ynjlgroup.com ynjtt.com ynjttzjt.com @@ -113086,7 +111461,6 @@ ynkgyy.com ynkm88.com ynkmit.com ynkmjj.com -ynlmsc.pw ynlygf.com ynmbwl.com ynmcyl.com @@ -113108,7 +111482,6 @@ ynrcc.com ynrd.com ynrkyy.com ynscgg.com -ynsddbqyzxyy.com ynsdfz.net ynsfhq.com ynshangji.com @@ -113161,15 +111534,16 @@ ynzbxh.com ynzcwl.com ynzg.org ynzp.com +ynzqyc.com ynzrf.com ynzs.com ynztctv.com ynztrq.com -ynztzh.com ynztzxw.com ynzy-tobacco.com ynzzwl.com yo4399.com +yo9.com yoagoa.com yobo.ink yobo360.com @@ -113192,6 +111566,7 @@ yodao.org yodiya.com yodo1.com yodo1api.com +yodou.com yodu.org yoduzw.com yoe365.com @@ -113221,7 +111596,6 @@ yohomars.com yohoshow.com yohui.com yohuu.com -yoiur.com yojcool.com yojochina.com yoju360.com @@ -113235,6 +111609,7 @@ yokmob.com yokong.com yokotop.com yolanda.hk +yolcool.com yolewa.com yolexi.com yolinkmob.com @@ -113258,7 +111633,6 @@ yong-ming.com yong9ai.com yonganyiyuan.com yongaomy.com -yongbangks.com yongchaohuagong.com yongche.com yongche.name @@ -113274,7 +111648,6 @@ yonghe2008.com yongheng.online yongheyl.com yonghongtech.com -yonghuiart.com yonghuivip.com yongjiang.com yongjiezb.com @@ -113344,7 +111717,6 @@ yonyougx.com yonyouny.com yonyouoa.com yonyouup.com -yoo2b.com yoo616.com yoo66.com yoodb.com @@ -113355,7 +111727,6 @@ yoohouse.com yoojia.com yoojing.com yooknet.com -yooli.com yoolin.cc yooojie.monster yoooooooooo.com @@ -113376,6 +111747,8 @@ yopu.co yopwork.com yopye.com yoqoo.com +yoqoo.net +yoqoo.tv yoqu.net yorentown.com york-tech.com @@ -113390,7 +111763,6 @@ you-mi.net you03.com you1ke.com you200.com -youa.net youacc.com youandme123.com youba.com @@ -113404,11 +111776,11 @@ youbeichefu.com youbian.com youbibi.com youbohe.com +youboy.com youboy.net youboyy.com youcaiyun.com youcaizhushou.com -youcan-agritech.com youcareyk.com youcash.com youcha.net @@ -113433,7 +111805,6 @@ youdawangluo.com youde.com youdemai.com youdiancms.com -youdianyinwu.com youdianyisi.com youdianzhishi.com youdingsuit.com @@ -113475,7 +111846,6 @@ youguu.com youhaodongxi.com youhaosoft.com youhaosuda.com -youhaotravel.com youhaoxinxi.com youhro.com youhu.net @@ -113487,12 +111857,10 @@ youhuas.com youhuashu.com youhugmedia.com youhuiduo.net -youhuiguan.com youhundao.com youhuohao.com youhutong.com youideal.net -youimg1.tripcdn.com youinsh.com youj.com youjiagou.com @@ -113503,7 +111871,6 @@ youjiangzhijia.com youjiao.com youjiao365.net youjiao5.com -youjiatechnology.com youjiaus.net youjiawl.com youjiaxiao.com @@ -113526,14 +111893,15 @@ youking.com youkongkan.com youkongwan.com youku-dns.com +youku.cdn2-youku.com youku.com +youku.org youkua.net youkuaiyun.com youkud.com youkupic.com youlai.tech youlanw.com -youle55.com youlechuhai.com youlecn.com youleliwu.com @@ -113566,11 +111934,11 @@ youmanvideo.com youme.im youmeisiji.com youmeng020.com +youmengchuangxiang.com youmengcms.com youmengmob.com youmenr.com youmew.com -youmi.net youmiad.com youmian99.com youmiaoyigou.com @@ -113599,6 +111967,7 @@ youook.com youpengcx.com youpengw.com youpin898.com +youpingame.com youpinhaoche.com youpinimg.com youpinppt.com @@ -113617,10 +111986,10 @@ youqiong.net youqiwu.com youqizhan.com youqo.com +youqoo.net youqu.in youqudao.com youquhui.com -youqunjx.com your-man.com your360loans.com your724sports.com @@ -113711,7 +112080,6 @@ youxiake.net youxiamotors.com youxiangclub.com youxiangyx.com -youxiaoad.com youxiaoge.com youxiaohou.com youxiaxiazai.com @@ -113723,7 +112091,6 @@ youxicdn.com youxichaguan.com youxicheng.net youxicitang.com -youxicool.net youxidaxue.com youxidr.com youxidudu.com @@ -113743,7 +112110,6 @@ youxij.com youxike.com youxila.com youximao.com -youximingzi.wang youximt.com youxin.com youxingapp.com @@ -113769,6 +112135,8 @@ youxixj.com youxizhan.com youxuan.com youxuanan.com +youxuancdn.com +youxuandns.com youxuangu.com youxueke.com youxuetong.com @@ -113841,7 +112209,6 @@ youzijimu.com youziku.com youzikuaibao.com youzipay.com -youziyundns.com youzu.com youzuanmy.vip youzunkj.com @@ -113849,6 +112216,7 @@ yovisun.com yovocloud.com yovole.com yovyuan.com +yowhale.com yowooa.com yoxiha.com yoximi.com @@ -113857,7 +112225,6 @@ yoxuba.com yoxyok.com yoya.com yoybuy.com -yoyi.tv yoyiapp.com yoyiit.com yoyile.com @@ -113898,6 +112265,7 @@ yphbuy.com yphuifu.com ypiao.com ypicw.com +ypjc.cloud ypjiameng.com ypjsgl.com ypkegroup.com @@ -113953,10 +112321,12 @@ yqmb001.com yqmengyou.com yqmh.com yqmls.com +yqmoybz.com yqms.net yqn.com yqok.com yqphh.com +yqqqbm.com yqrc.com yqrcw.com yqrtv.com @@ -113965,6 +112335,7 @@ yqslmall.com yqsn.com yqtc.com yqtg.cc +yqtkgzbk.com yqtsgg.com yqw188.com yqwfpy.com @@ -113972,7 +112343,6 @@ yqwxw.cc yqwyx.xyz yqxiuyoung.com yqxs.cc -yqxs.xyz yqxsg.cc yqxsge.cc yqxsy.com @@ -113980,7 +112350,6 @@ yqxxjy.com yqy021.com yqybzhan.com yqyu.com -yqzhenzhuyan.com yqzww.cc yqzww.la yqzww.net @@ -113997,7 +112366,6 @@ yrdart.com yrglass.com yrgx168.com yrhct.com -yrhjy.com yrmpay.com yrobot.com yrom.net @@ -114011,7 +112379,6 @@ yrw.com yrwy.com yrxitong.com yrxsw.com -yryp123.com yryz.com yryz.net yrz.name @@ -114028,7 +112395,6 @@ ys168.com ys1898.com ys2345.com ys4fun.com -ys630.com ys7.com ys720.com ys8.com @@ -114075,7 +112441,6 @@ ysjf.com ysjgames.com ysjianzhan.com ysjkbk.com -ysjwj.com yskcsj.com yskjnj.com yskjz.com @@ -114087,6 +112452,7 @@ ysljnkj.com yslpaint.com yslqo.com yslw.com +yslyhr.com yslzc.com ysmeet.com ysmiji.com @@ -114095,7 +112461,6 @@ ysmir.net ysn.cc ysnews.net ysnns.com -ysnovo.com ysod.com ysok.net ysol.com @@ -114117,6 +112482,7 @@ ystan.com ystb.com ystbds.com ysten.com +ystencdn.com ystkw.com ysts.cc ystsx.com @@ -114128,14 +112494,12 @@ ysw365.com ysw68.com yswebportal.cc yswh.com -yswhcb.net yswlgame.com yswliot.com yswpq.com yswswkj.com yswu.net yswyyds.com -ysx8.vip ysx9999.com ysxapp.com ysxs8.com @@ -114161,6 +112525,7 @@ yt1998.com yt2.net yt69.com yt698.com +yt98w.com yta-tech.com ytaotao.net ytbainakeji.com @@ -114175,17 +112540,14 @@ ytcj.com ytcnc.net ytcutv.com ytdaily.com -ytdawen.com ytdcloud.com yte1.com ytecn.com ytedi.com -ytelc.com yteng.net ytesting.com ytf8888.com ytfcjy.com -ytfgf.com ytg666.com ytgas.com ytghnb.com @@ -114207,7 +112569,6 @@ ytkj2010.com ytlh120.com ytlvbao.com ytmachinery.net -ytmb888.com ytmedia.tv ytmgz.com ytmingju.com @@ -114234,16 +112595,17 @@ ytphq.com ytport.com ytpowder.com ytpp.com +ytpu.com ytqh-electric.com ytrain.com ytrcw.com ytrdc.com ytrlzyw.com ytrmtzx.com -ytroytj33.fun yts88.com ytsanchuan.com ytsense.com +ytsexrb.com ytsfc.com ytshipin.com ytsyy.com @@ -114269,7 +112631,6 @@ ytzhihui.com ytzq.com ytzww.com yu-electronics.net -yu.gs yu163.com yu4l.com yu72.com @@ -114291,7 +112652,6 @@ yuancdn.com yuancefund.com yuanchang888.com yuanchengroup.com -yuanchengxiezuo.com yuanchuangyinyue.com yuancoder.com yuanda-fm.com @@ -114300,7 +112660,6 @@ yuandaocn.com yuandi.com yuandian.club yuandiancredit.com -yuandong168.com yuandongsl.com yuanf56.com yuanfen.icu @@ -114339,7 +112698,6 @@ yuanmait.com yuanmajiaoyiw.com yuanmatao.com yuanmawu.net -yuanmengjihua.com yuanmengyouxuan.com yuano.cc yuanpanguoji.com @@ -114362,16 +112720,17 @@ yuansikeji2021.com yuansoti.com yuansouti.biz yuansouti.com -yuansudong.net yuant.net yuantaobgjj.com yuanteng.net yuantest.com yuantiku.biz yuantiku.com +yuantiku.xyz yuantongyizhan.com yuantoushuo.com yuantuedu.com +yuantujun.com yuantutech.com yuanu.com yuanweish.com @@ -114381,6 +112740,7 @@ yuanxinbaoxian.com yuanxinjituan.com yuanxuxu.com yuanyaedu.com +yuanyangbj.com yuanyangcoffee.com yuanyangmed.com yuanyeer.com @@ -114423,6 +112783,7 @@ yuchofoodmachine.com yuchuan.org yuchuantech.com yuci998.com +yucne.com yucoolgame.com yucui.org yucunkeji.com @@ -114469,7 +112830,6 @@ yueduwen.com yueduwu.com yueduwuxianpic.com yueduyun.com -yueduyy.com yuegongyutu.com yuegowu.com yuegui.shop @@ -114488,7 +112848,6 @@ yuejob.com yuejuanbao.com yuejuly.com yuejuwang.com -yueka.com yuekenet.com yuekeyun.com yuekuapp.com @@ -114499,7 +112858,6 @@ yuelongdzc168.com yueloo.com yuelu.net yuelun.com -yueluon.com yuelvxing.com yuelxc.com yuemagroup.com @@ -114552,7 +112910,6 @@ yuexiangspace.com yuexindianqi.com yuexing.com yuexingchem.com -yuexinli.com yuexinship.com yuexirc.com yuexiren.com @@ -114577,7 +112934,6 @@ yueyouxs.com yueyq.com yueyu114.com yueyuanzhiye.com -yueyuego.com yueyues.com yueyueworld.com yueyueyd.com @@ -114597,6 +112953,7 @@ yufenjiameng.com yuflc.com yufu365.com yufuid.com +yufuid.net yugaopian.com yugasun.com yugenmed.com @@ -114606,7 +112963,6 @@ yugou1688.com yugudz.com yuguimedia.com yuguo.com -yuguo.us yuguowang.net yugusoft.com yuhaids.com @@ -114625,18 +112981,18 @@ yuhongpharm.com yuhou.com yuhougame.com yuhsoft.com -yuhuads.com yuhuagu.com yuhuaholding.com yuhuanghuagong.com yuhucoldchain.com yuhuijob.com yuhx.com +yui06161shga.com +yui06171shga.com yuiapi.com yuike.com yujia.com yujiahui.com -yujianai520.com yujianpay.com yujiawuliu.com yujiefs.com @@ -114651,7 +113007,6 @@ yukaiprecision.com yukapril.com yukeinfo.com yukexinchem.com -yukhj.com yukicat.net yukicomic.com yukuai.com @@ -114673,7 +113028,6 @@ yuli.be yuliancn.com yuliang-sh.com yulicdn.com -yulidianshang.com yulinapp.com yulincard.com yulinduoduo.com @@ -114711,12 +113065,13 @@ yumaoshu.com yumchina.com yumi.cc yumi.com -yumimobi.com yumingguwen.com yumingyouhui.com yummy.tech yumstone.com yun-ac.com +yun-app.net +yun-dns.com yun-gu.com yun-health.com yun-idc.com @@ -114726,7 +113081,6 @@ yun-jintong.com yun-kai.com yun-live.com yun-qu.com -yun.lenovo.com yun123.com yun5.vip yun61.com @@ -114737,6 +113091,7 @@ yunannet.com yunaq.com yunarm.com yunaw.com +yunba.io yunban.com yunbang.net yunbaofei.com @@ -114753,7 +113108,6 @@ yunbook.vip yunbuzhan.com yuncai5.com yuncaioo.com -yuncaixiaoyuan.com yuncdn.bid yuncdn123.com yuncdn263.com @@ -114801,6 +113155,7 @@ yundui.cc yunduimedia.com yundun.com yundun.shop +yunduncc.com yunduncdn.com yunduncdns.com yunduncname.com @@ -114830,6 +113185,7 @@ yunfalv.com yunfan.com yunfan0739.com yunfancdn.com +yunfancdn.net yunfandns.com yunfangtan.com yunfanka.com @@ -114885,10 +113241,20 @@ yunipo.com yunji.xin yunjian.com yunjian.net +yunjiasu-cdn-dnssec.net +yunjiasu-cdn.com yunjiasu-cdn.net +yunjiasu-dns.com +yunjiasu-dns.net +yunjiasu-test.com yunjiasu.cc -yunjiasu.com yunjiasu360.com +yunjiasucdn.info +yunjiasucdn.net +yunjiasudns.com +yunjiasudns.net +yunjiasupreview.com +yunjiasussl.com yunjiazheng.com yunjichaobiao.com yunjie.art @@ -114926,7 +113292,6 @@ yunliketech.com yunling.me yunlinghang.com yunlitz.com -yunliunet.com yunlsp.com yunlucn.cc yunmai.com @@ -114968,7 +113333,7 @@ yunqiba.com yunqifly.com yunqiju.com yunqikecrm.com -yunqingugm.com +yunqishi.net yunqishi8.com yunqiyqh.com yunque360.com @@ -115001,7 +113366,6 @@ yunshi999.com yunshibuluo.com yunshicloud.com yunshiketang.xyz -yunshipei.com yunshouji123.com yunshow.com yunshtk.com @@ -115075,6 +113439,7 @@ yunxinhi.com yunxinhy.com yunxinrtc.com yunxinshi.com +yunxinsvip.com yunxinsvr.com yunxinvcloud.com yunxinvideo.com @@ -115084,7 +113449,6 @@ yunxs.com yunxuetang.com yunxunmedia.com yunyangwang.com -yunyanit.com yunyi-china.com yunyi-dd.com yunyibiji.com @@ -115136,9 +113500,7 @@ yunzmall.com yunzongnet.com yunzuji.vip yunzujia.com -yunzuowen.com yunzz.net -yunzzz.com yuoucn.com yupao.com yupaowang.com @@ -115188,7 +113550,6 @@ yutai365.com yutainews.com yutaoyouxi.com yuteng.site -yutenghuanwei.com yutennet.com yutian.cc yutianedu.com @@ -115232,6 +113593,8 @@ yuxipark.com yuxitech.com yuxungs.com yuyangtec.com +yuyaoclub.com +yuyaotop.com yuyejt.com yuyicai.com yuyin.tv @@ -115272,8 +113635,8 @@ yuzhuw.com yuzijiaoyu.com yuzmshanghai.org yuzone.net +yuzua.com yuzundaojia.com -yvsy.com yvv.in yvzfgigpiwmofux.com yw020.com @@ -115291,6 +113654,7 @@ yweisugar.com ywfby.com ywfdw.net ywfex.com +ywflls.com ywgc.net ywgd.com ywhack.com @@ -115305,7 +113669,6 @@ ywinf.com ywint.net ywit.xyz ywjinfabag.com -ywjsgc.com ywky.org ywlandport.com ywlm.net @@ -115314,7 +113677,7 @@ ywnz.com ywopt.com ywork.me ywpark.net -ywptk.com +ywputxks.com ywshouyou.com ywshouyou.net ywsoftware.com @@ -115323,9 +113686,9 @@ ywt.com ywtd.xyz ywtds.com ywurl.com +ywvzxeau.com ywwg.net ywwl.com -ywwm.net ywwpay.com ywxue.com ywxww.net @@ -115351,6 +113714,7 @@ yx643.com yx7088.com yx74.com yx7507.com +yx8tya36v8bp.com yx93.com yx988.com yx99.com @@ -115380,7 +113744,6 @@ yxdmgame.com yxdou.com yxdown.com yxdr.com -yxdsgs.com yxduo.com yxdwj.com yxecg.com @@ -115394,7 +113757,6 @@ yxfwai.com yxgcx.com yxgczx.com yxgf.net -yxgfcj.com yxglpjx.com yxgxbike.com yxgxw.com @@ -115435,6 +113797,7 @@ yxjs.org yxjsjg.com yxjuren.com yxjyy.net +yxk120.com yxkfw.com yxkjlcd.com yxkxyghx.org @@ -115452,7 +113815,6 @@ yxm.com yxm.xyz yxmarketing01.com yxmcu.com -yxmspx.com yxmxc.com yxn.fun yxnu.net @@ -115544,12 +113906,13 @@ yyds.pink yyds.space yydsmh.com yydsok.com +yydszp.com yydy.com yydzh.com yyearth.com -yyefao.com yyej.com yyestar.com +yyets.com yyfax.com yyfdcw.com yyfdjn.com @@ -115569,7 +113932,6 @@ yyha168.com yyhao.com yyhh.com yyhn365.com -yyhnj.com yyhybz.com yyi100.com yyijt.com @@ -115586,15 +113948,14 @@ yykpx.com yylending.com yylivens.com yylm.org -yylys.com yymedias.com yyming2.com yymoban.com yynetwk.com yynykj.com +yyos2.com yyouren.com yyoz.com -yyp17.com yypf-china.com yypt.com yyq.com @@ -115682,6 +114043,7 @@ yz2pp.com yz2y.com yz360.cc yz3c.com +yz3l.com yz4l.com yz99999.com yzajz.com @@ -115768,7 +114130,6 @@ yzkhfw.com yzkimage.com yzkjpcb.com yzkos.com -yzlanhan.com yzlngi.com yzlxjt.com yzlyxx.com @@ -115814,6 +114175,7 @@ yzsfuer.com yzshkjxx.com yzshyzz.com yzsljz.com +yzsnen.com yzsrmyy.org yzsszw888.com yzstudio.net @@ -115840,7 +114202,6 @@ yzxingyuan.com yzxw.com yzxxfzy.com yzy-gx.com -yzygo.com yzyhyy.com yzyjhg.com yzyouth.com @@ -115874,6 +114235,7 @@ z12345.com z17.link z1987.com z1cdn.com +z211.top z211.vip z28j.com z2chain.com @@ -115885,7 +114247,7 @@ z3145x0367.com z316.com z318.com z3quant.com -z3zex.icu +z4gwsoqmcvxt.com z574.com z5encrypt.com z5w.net @@ -115895,14 +114257,14 @@ z69427.com z701.com z729.com z7xz.com +z82a3814j5.com z888.net +z8cqv59kh3ip.com z8q.cc z9cdn.com -z9k7.icu za-cosmetics.com za-doctor.com -za5.net -zabrinas925.com +za8g1nx4ft.com zabxib.com zac1993.com zachina.org @@ -115910,7 +114272,9 @@ zack.asia zackku.com zacveh.com zaduonews.com +zaecu.com zaeke.com +zaepi.com zafinsvc.com zafk120.com zagrebdental.com @@ -115964,11 +114328,8 @@ zalljinfu.com zallsoon.com zallxk.com zamcs.com -zampda.net zampdmp.com -zampdsp.com zamplink.net -zamplus.com zan.run zanao.com zanba.com @@ -115983,7 +114344,6 @@ zanggekuangye.com zanghaihuatxt.com zanglikun.com zangto.com -zangtui.com zangx.com zangyitang123.com zangyitong.com @@ -115995,7 +114355,6 @@ zanmeishige.com zanmeizhibo.com zanpic.com zanpu.com -zantainet.com zanyiba.com zaobang.com zaoche168.com @@ -116029,12 +114388,14 @@ zastatic.com zasv.com zasv.net zasysz.com +zasyuhkq.com zat.cc zatan.com zatanb1.com zatest.com zaticdn.com zattc.com +zaucyih.com zawomkv.com zaxdcredit.com zaxisparts.com @@ -116044,7 +114405,9 @@ zazhidang.com zazhipu.com zazsz.com zb-kc.com +zb.dehua.tv zb.live +zb.pzhgd.com zb1.org zb18.net zb580.tv @@ -116053,6 +114416,7 @@ zb800.com zbao.com zbao56.com zbbar.net +zbbm.net zbbus.com zbbx.org zbc.pub @@ -116076,7 +114440,6 @@ zbhot.com zbhouse.com zbhuafx.com zbicg.com -zbieo.com zbii.com zbinfo.net zbintel.com @@ -116113,7 +114476,6 @@ zbpengxuan.com zbqlm.com zbra-inc.com zbrhsc.com -zbrushcn.com zbsfdy.com zbsjzy.com zbsonline.com @@ -116149,6 +114511,7 @@ zbycorp.com zbyinghe.com zbylc.com zbytb.com +zbyun.net zbyz.net zbz.com zbzb.org @@ -116158,16 +114521,14 @@ zbzw.la zc-gs100.com zc-ha.com zc-it.com -zc-jk.com zc-sfy.com zc0317.com zc173.com zc532.com zc61.com zc6sigma.com -zca31.com zcaijing.com -zcand.com +zcawuhvr.com zcbearing.com zcbgy.net zcbm580.com @@ -116283,7 +114644,6 @@ zdcj.net zdcjw18.com zdcs666.com zdctid.com -zdd-9.com zddhr.com zddhub.com zddjq.com @@ -116294,6 +114654,7 @@ zdevo.com zdexe.com zdfans.com zdfdc.com +zdfei.com zdfjgcjs.com zdfx.net zdgkyy.com @@ -116337,6 +114698,7 @@ zdsr.net zdtent.com zdvalves.com zdvc.net +zdwafis.com zdwallcovering.com zdwang.com zdwfy.com @@ -116359,7 +114721,6 @@ ze-invite.com ze-mp.com ze-wx.com ze13.com -ze5.com zeaho.com zealer.com zeali.net @@ -116367,6 +114728,7 @@ zealquest.com zealsafe.net zebangedu.com zebracdn.com +zebraenglish.biz zebraenglish.com zebred.com zecsma.com @@ -116393,11 +114755,11 @@ zeixihuan.com zejiexinxi.com zeju.com zejunpharma.com +zeku.com zekv.com zeldacn.com zelinai.com zemismart.com -zemtvs.com zen-est.com zencheer.com zencre.net @@ -116426,7 +114788,7 @@ zenoven.com zenshine-pharma.com zentao.net zentaopm.com -zenwq.com +zepcc.com zepdi.com zeperd.com zepp.com @@ -116443,7 +114805,6 @@ zeropartner.com zerotogether.net zeruns.com zerustech.com -zeryt111.fun zesee.com zesenjt.com zeshengproject.com @@ -116471,7 +114832,6 @@ zf-8.com zf313.com zf360.net zf3d.com -zfanc.com zfancy.net zfb369.com zfboke.com @@ -116482,7 +114842,6 @@ zfdmkj.com zfemc.com zfengit.com zffan.com -zfgf.cc zfgweb.com zfgy88.com zfhz.org @@ -116505,7 +114864,6 @@ zftime.com zfty.work zfvnet.com zfw.net -zfwgn.icu zfwimg.com zfwlxt.com zfwx.com @@ -116559,7 +114917,6 @@ zgcindex.org zgcjm.org zgcjpx.com zgclease.com -zgclz.com zgclzzc.com zgcmc.com zgcmlm.com @@ -116592,7 +114949,6 @@ zgeyanwo.com zgfllt.com zgfp.com zgfs.cc -zgfszs.com zgfwgj.com zgfxnews.com zgfzh.com @@ -116628,7 +114984,6 @@ zggysyw.com zggzgg.com zggzzk.com zgh.com -zghangzhan.com zghaojiaoyu.com zghaopingche.com zghbxh.org @@ -116780,6 +115135,7 @@ zgshxfw.com zgshyshyxh.com zgsj.com zgsjcn.com +zgsjl8.com zgsjshy.com zgslb.net zgslylw.com @@ -116816,6 +115172,7 @@ zgtygg.com zgtywdysxh.com zgtzc.com zgtzhb.com +zgtzqvk.com zgui.com zguonew.com zgvmxma.com @@ -116823,7 +115180,6 @@ zgw.com zgweimeng.com zgwhfe.com zgwhw.com -zgwlsg.com zgwlwx.com zgwss.com zgwstxc.com @@ -116852,7 +115208,6 @@ zgxytc.com zgxyzx.net zgxzcj.com zgxzhjx.com -zgyanwo.com zgyaohua.com zgybsfxh.com zgycgc.com @@ -116918,15 +115273,12 @@ zh-languan.com zh-longshi.com zh-piao.com zh10.com -zh1144.com zh188.net zh189.com zh30.com -zh51home.com zh818.com zh996.com zha.co -zhads.com zhaeec.com zhai14.com zhaiba.com @@ -116949,6 +115301,7 @@ zhaixue.cc zhale.me zhan.com zhanbanji.com +zhanbuba.com zhanchenyouqi.com zhanchily.com zhanchuang1407.com @@ -116962,7 +115315,6 @@ zhangbj.com zhangbo.org zhangchangfa.com zhangchi.art -zhangchi.work zhangdongxuan.com zhangdu.com zhangdu5.net @@ -116975,15 +115327,16 @@ zhangfupeng.com zhanggang.net zhanggaoyuan.com zhangge.net +zhanghaodaren.com zhanghetianxia.com zhanghonghong.com zhanghongliang.com zhanghuang.com zhangjet.com +zhangjiee.com zhangjinyue.com zhangjunbk.com zhangkai.red -zhangkc.com zhangketong.com zhangkongapp.com zhangkoubei.net @@ -117043,12 +115396,12 @@ zhangzepower.com zhangzhao.me zhangzhengfan.com zhangzhongpei.com -zhangzhongwang.com zhangzhongyun.com zhangzhuo.ltd zhangzidao.com zhangzifan.com zhangziran.com +zhangzishi.cc zhanh.com zhanhi.com zhanhome.com @@ -117057,7 +115410,6 @@ zhanhuiniu.com zhanhuiquan.com zhanhuo.com zhanid.com -zhanjiangletian.com zhankoo.com zhankuaqq.com zhanlingol.com @@ -117066,13 +115418,13 @@ zhanq.net zhanqi.net zhanqi.tv zhanqitv.com +zhanqu.tv zhanruizb.com zhanshaoyi.com zhanshi888.com zhanshifood.com zhanshiren.com zhansu.com -zhantai.com zhantuo.com zhanuan.com zhanxingfang.com @@ -117080,7 +115432,6 @@ zhanyaxi.com zhanyouyun.com zhanyugroup.com zhanzhanbao.com -zhanzhang.net zhanzhangb.com zhanzhangs.com zhao-meng.com @@ -117167,7 +115518,6 @@ zhaosw.com zhaosy.com zhaota8.com zhaotaicaiyin.com -zhaotie.com zhaotu.com zhaouc.com zhaouc.net @@ -117215,7 +115565,6 @@ zhcinema.com zhckw.com zhcommerce.com zhcomputing.com -zhcoo.com zhcsgc.com zhctv.com zhcw.com @@ -117241,13 +115590,16 @@ zhechem.com zhedabingchong.com zhedu.net zhefengle.com +zhefuhua.com zheishui.com zheiyu.com zhejiangcheng.com +zhejiangcircuit.com zhejiangfa.com zhejiangfc1998.com zhejianghanpu.com zhejianglab.com +zhejianglab.org zhejiangliming.com zhejianglong.com zhejiangmuseum.com @@ -117262,8 +115614,8 @@ zhelaoda.com zheli.com zhelibao.com zhelin.me +zhelixin.com zheliyin.com -zhemu.xyz zhen-ao.com zhen.com zhen22.com @@ -117340,7 +115692,6 @@ zhenguo.com zhengwei007.com zhengwutong.com zhengxiaoling.com -zhengxin51.com zhengxinbao.com zhengxing021.com zhengxinghuahui.com @@ -117406,10 +115757,7 @@ zhenxian.fm zhenxiaoshan.com zhenxiliangshi.com zhenxin2014.com -zhenxinet.com zhenxinfu.com -zhenxinfw.xyz -zhenxingkuangchanpin.com zhenxinshengwu.com zhenxipin.net zhenyangshoes.com @@ -117450,7 +115798,6 @@ zhgl.com zhglory.com zhgn.com zhgnj.com -zhgqt.com zhgreens.com zhguoguo.com zhgxjs.com @@ -117472,7 +115819,6 @@ zhi-ming.com zhi-niao.com zhi.hu zhi3.net -zhiad.com zhiaimusic.com zhiangroup.com zhiannet.com @@ -117555,7 +115901,6 @@ zhiguoguo.com zhihang100.com zhihe.link zhihe.mobi -zhihei.com zhiheiot.com zhihejia.com zhihejiaoyu.com @@ -117570,6 +115915,7 @@ zhihua-tech.com zhihuangjin.com zhihudsp.com zhihuichuangyanshi.com +zhihuicn.cc zhihuiep.com zhihuifangdong.net zhihuihongze.com @@ -117589,7 +115935,6 @@ zhihuixl.com zhihuixuexipt.com zhihuiya.com zhihuiyunbo.com -zhihuizeyuan.com zhihuizhangyu.com zhihuizp.com zhihuoseo.com @@ -117642,7 +115987,7 @@ zhilianiot.com zhiliaobiaoxun.com zhiliaocaibao.com zhiliaoke.com -zhilingshidai.com +zhilidata.com zhilingshop.com zhilitraffic.com zhilongtech.com @@ -117655,12 +116000,10 @@ zhimapay.net zhimaruanjian.com zhimatech.com zhimawenda.com -zhimax.com zhimaxkf.com zhimei.com zhimeibot.com zhimeijiankang.com -zhimengad.com zhimengdaren.com zhimg.com zhimi.com @@ -117682,7 +116025,6 @@ zhiniu8.com zhinuoshuzi.com zhinvnetwork.com zhinvxingkeji.com -zhiong.net zhipan.net zhipeix.com zhiper.com @@ -117722,17 +116064,21 @@ zhishengtec.com zhishengxinchuang-food.com zhishi.com zhishi.tech -zhishi9.com +zhishif.com zhishifanli.com zhishifenzi.com +zhishinn.com zhishiq.com zhishisoft.com +zhishiu.com +zhishiv.com zhishiwu.com zhishuedu.com zhishutang.com zhishuyun.com zhisiyun.com zhisuoyi.net +zhisutui.com zhitaiparking.com zhitangvalve.com zhitaosoft.com @@ -117777,6 +116123,7 @@ zhixue.com zhixue.org zhixueyun.com zhixunsy.com +zhiyakeji.com zhiyanxuan.com zhiyazz.com zhiye.com @@ -117834,7 +116181,6 @@ zhizhuyule.com zhizhuyx.com zhizihuan.com zhizihuan.net -zhiziyun.com zhizugz.com zhizunbo.com zhizundun.com @@ -117884,7 +116230,6 @@ zhmag.com zhmedcenter.com zhmeiwen.com zhmf.com -zhmfqm.com zhmodaoli.com zhmold.com zhmu.com @@ -117923,10 +116268,8 @@ zhongchebaolian.com zhongchewuliu.com zhongchoujia.com zhongchouke.com -zhongchouyan.com zhongchuang365.com zhongchuangwenhua.com -zhongchuanjukan.com zhongda021.com zhongdakang.com zhongdazm.com @@ -117939,7 +116282,6 @@ zhongdeschool.com zhongdexc.com zhongdi168.com zhongerp.com -zhongfanxinrong.com zhongfeiqiao.com zhongfu.net zhongfuwatch.com @@ -118003,7 +116345,6 @@ zhongjunstone.com zhongkaiedu.com zhongkao.com zhongkaohelp.com -zhongkaowu.com zhongkecn.com zhongkeguan.com zhongkekc.com @@ -118028,7 +116369,6 @@ zhongluyuntong.com zhongmaohr.com zhongmei.com zhongmeigk.com -zhongmeigk.hk zhongmian.com zhongminenergy.com zhongmingjiaoyu.net @@ -118104,11 +116444,9 @@ zhongxiangdichan.net zhongxiangwang.co zhongxiaole.net zhongxiaoyl.com -zhongxingdc.com zhongxingglove.com zhongxinjzzs.com zhongxinkeji.vip -zhongxinlm.com zhongxinwei.net zhongxinzhongxue.com zhongxisunve.com @@ -118124,7 +116462,6 @@ zhongyangkeji.com zhongyangweixiu.com zhongyao365.com zhongyaokiln.com -zhongyaoyi.com zhongyapeicui.com zhongyasmart.com zhongyejy.com @@ -118179,7 +116516,6 @@ zhongzhoulianhe.com zhongzhoutm.com zhongzhouwater.com zhongzhuang.com -zhongzicili.cc zhongzilu.com zhonshian.com zhou.icu @@ -118220,7 +116556,6 @@ zhouyou360.com zhouyouji.world zhouyuanchao.com zhouzhuang.net -zhoz.com zhpca.com zhpecc.com zhpharm-sh.com @@ -118263,7 +116598,6 @@ zhuanghebm.com zhuangji.net zhuangjiba.com zhuangjinshanhe.com -zhuangjizhuli.net zhuangkou.com zhuangku.com zhuangpeitu.com @@ -118275,10 +116609,9 @@ zhuangxiu.com zhuangxiu567.com zhuangxiubao.com zhuangyanyanglao.com -zhuangyi.com -zhuangyuanhai.com zhuangyuantao.com zhuangzhuang.net +zhuanhuamao.com zhuanhuanqi.com zhuanhuanqi.net zhuaniao.com @@ -118297,6 +116630,7 @@ zhuanyehuabei.com zhuanyejun.com zhuanyepeixun.com zhuanyes.com +zhuanyewanjia.com zhuanyezhidao.com zhuanyizhuanw.com zhuanyun.cc @@ -118335,20 +116669,18 @@ zhuchengdc.com zhuchuang.club zhudai.com zhudianquan.com -zhudiaosz.com zhuding.net zhufaner.com zhufangdianping.com zhufengpeixun.com zhufg.com -zhufushuo.com zhufuyujd.com zhuge.com zhuge888.com zhugeapi.com zhugeapi.net +zhugeculture.com zhugefang.com -zhugeio.com zhugejianzhi.com zhugexuetang.com zhuhai-holitel.com @@ -118364,7 +116696,10 @@ zhuige.com zhuigong.com zhuiguang.com zhuiguangzhe.com +zhuihd.com zhuihuodong.com +zhuimabk.com +zhuimeng8.com zhuimengzhu.com zhuinianqing.com zhuinw.com @@ -118397,7 +116732,6 @@ zhujibaike.com zhujibank.com zhujicankao.com zhujiceping.com -zhujiji.com zhujipindao.com zhujipower.com zhujirc.com @@ -118415,7 +116749,6 @@ zhul.in zhulang.com zhulang.net zhulanli.com -zhulejia.com zhulemei.com zhuli999.com zhulianwines.com @@ -118476,7 +116809,6 @@ zhuolaoshi.net zhuoligk.com zhuomaiyun.com zhuomajidian.com -zhuomengwangluo.com zhuomiles.com zhuomogroup.com zhuoquapp.com @@ -118591,7 +116923,6 @@ zhxwq.com zhxww.net zhxwzx.com zhxy1z.com -zhy333.com zhyccw.com zhycn.com zhyczx.com @@ -118619,13 +116950,11 @@ zhzhkg.com zhzpjt.com zhzxin.com zhzyw.com -zhzzx.com zi-maoqu.com zi.com zi0.cc zi15.com zi5.cc -zi5.me zianwu.com zibaomuye.com zibasset.com @@ -118642,7 +116971,6 @@ zibozhongxue.com zibsc.com zichanjie.com zichen.zone -zichenit.com zicini.com zicp.fun zicp.vip @@ -118652,10 +116980,10 @@ zidanduanxin.net zidg.com zidian8.com zidiankeji.com +zidianqu.com zidianwang.com zidoo.tv zidootv.com -ziedwr.com zifandiaosu.com zifumao.com zigaokj.com @@ -118684,6 +117012,7 @@ zijieapi.com zijieapi.net zijiecdn.com zijiecdn.net +zijiedj.com zijieimg.com zijieimg.net zijiejiaodian.com @@ -118706,6 +117035,7 @@ zikao5.com zikaobm.com zikaocqi.com zikaogd.com +zikaoj.com zikaoshu.net zikaoshu.vip zikaosw.com @@ -118726,17 +117056,16 @@ zilongshanren.com zilrms.com ziluolanh.com zimaa.org -zimacaihang.com zimilan.com -zimingdh.com zimudashi.com zimufy.com zimuism.com zimujiang.com zimuzu.com +zimuzu.io +zimuzu.tv zindall.com zine.la -zinewow.com zinffer.com zing-api.com zingfront.com @@ -118749,14 +117078,12 @@ zinsight-tech.com zintao.com zintow.com zinyon.com -zio8.icu zionpharma.com ziooc.com zip118.com zipadc.com zipjpg.com ziqingi.com -ziqoixtv.com ziquyun.com zircite.com ziroom.com @@ -118796,7 +117123,6 @@ ziwanyouxi.com ziweicn.com ziweifu.com ziweihuan.com -ziweuu.com ziwojianding.net ziwoyou.net ziwufang.com @@ -118823,7 +117149,6 @@ ziyanfoods.com ziyanmm.com ziyaokj.com ziye66.com -ziye8.com ziyexing.com ziyi-health.com ziyimall.com @@ -118846,7 +117171,6 @@ ziyuanm.com ziyuanniao.com ziyuanshare.cc ziyuantun.com -ziyuantx.com ziyuanxiyanly.com ziyuanyuan.com ziyuen.com @@ -118854,8 +117178,6 @@ ziyun.com ziyunshanju.com zizaike.com zizailvyou.com -zizcy.com -zizdlp.com zizdog.com zizhengfang.com zizhigx.com @@ -118869,6 +117191,7 @@ zizi2000.com zizige.com zizizaizai.com zizizizizi.com +zizyw.com zizzs.com zj-art.com zj-ccmi.com @@ -118910,8 +117233,10 @@ zj1996.com zj2460.com zj2car.com zj31.net +zj315.org zj32.com zj339.com +zj8t5.com zj9.co zj9.com zj93zp.com @@ -118933,6 +117258,7 @@ zjamp.com zjanchor.com zjanyy.com zjaqxy.com +zjart.com zjasem.com zjautoparts.com zjaxyx.com @@ -118942,12 +117268,12 @@ zjbanger.com zjbar.com zjbdc.com zjbdfood.com -zjbdt.com zjbeacon.com zjbelong.com zjbhi.com zjbicycle.com zjbinya.com +zjblab.com zjblast.com zjbolunfilter.com zjbuc.com @@ -118970,7 +117296,6 @@ zjchina.org zjchuanning.com zjchuguo.com zjchunhui.com -zjcic.net zjcio.org zjcjjt.com zjcjwh.com @@ -118983,7 +117308,6 @@ zjcrcgas.com zjcrjzj.com zjcshjt.com zjct56.com -zjctct.com zjctm.net zjcuhb.com zjcxbank.com @@ -119015,6 +117339,7 @@ zjdpco.com zjdsgroup.com zjdsz.com zjdtkg.com +zjdxghy.com zjdxjs.com zjdybank.com zjdydlc.com @@ -119022,6 +117347,7 @@ zjdyjob.com zjdzqt.com zje.com zjeagles.com +zjeav.com zjeclean.com zjecredit.org zjedps.com @@ -119033,13 +117359,16 @@ zjeq.com zjerg.com zjetc.net zjevt.com +zjfangchan.com zjfcdn.com zjfdc.net zjfengli.com +zjfish.org zjfj.net zjfm.com zjfszhsw.com zjft.com +zjftu.org zjfujiu.com zjfurnace.com zjg-edu.com @@ -119052,10 +117381,8 @@ zjgeyi.com zjgf88.com zjgfjt.com zjgfls.com -zjgiso.com zjgj.com zjgjj.com -zjgjsc.com zjgkg.com zjgmwl.com zjgqt.org @@ -119126,30 +117453,27 @@ zjhzgy.com zjhzjt.com zjhzjtjt.com zjhzkq.com -zjhzwjl.com zjhzxc.com zji.net -zjia8.com zjian.net -zjib0.icu zjibao.com zjiec.com zjiecode.com zjiekai.com +zjiii.org zjiis.com zjim.org zjimc.com -zjipai.com zjipc.com zjitc.net zjivy.com zjj-holiday.com +zjjaxx.com zjjcbdt.com zjjd.org zjjedu.com zjjfl.com zjjfpharm.com -zjjgcyz.com zjjgy.com zjjgylydjc.com zjjgzdh.com @@ -119186,6 +117510,7 @@ zjjxjt.com zjjy.com zjjy.net zjjytyt.com +zjjyxx.net zjjyzx.com zjjzxgj.com zjjzyxh.com @@ -119219,7 +117544,6 @@ zjlcwg.com zjldrcb.com zjledfbd.com zjlepu.com -zjleyi.com zjlfdq.com zjlianchi.com zjlianhua.com @@ -119234,6 +117558,7 @@ zjlvjie.com zjlxjs.com zjlxtx.com zjlzgg.com +zjma.org zjmaerfj.com zjmaiou.com zjmana.com @@ -119251,6 +117576,7 @@ zjminghong.com zjmingzhen.com zjmingzhuang.com zjminong.com +zjmj.org zjmjtec.com zjmkzx.com zjmobile.com @@ -119287,6 +117613,7 @@ zjplan.com zjpmw.com zjpoetry.com zjpost.com +zjpse.com zjptcc.com zjpubservice.com zjqichuang.com @@ -119326,6 +117653,7 @@ zjscs.com zjsdbjt.com zjsdjlkj.com zjseaport.com +zjsee.org zjsfkj.com zjsftc.com zjsgjs.com @@ -119349,6 +117677,7 @@ zjsjtz.com zjskgr.com zjskjt.com zjslep.com +zjslzh.com zjsmhg.com zjsms.com zjspas.com @@ -119356,6 +117685,7 @@ zjssjt.com zjsszsjy.com zjsta.org zjstar-electric.com +zjstm.org zjstv.com zjsuntek.com zjsuntex.com @@ -119371,6 +117701,7 @@ zjszbank.com zjszjz.com zjszrc.com zjszsyy.com +zjszyyxh.com zjszzs.com zjt2017.com zjtaa.net @@ -119382,10 +117713,12 @@ zjtcn.com zjtcpm.com zjtdw.com zjtdyl.com +zjtea.com zjteam.com zjtggroup.com zjthealth.com zjtic.com +zjtjw.com zjtkdz.com zjtlcb.com zjtmb.com @@ -119428,6 +117761,7 @@ zjwhhly.com zjwhyis.com zjwiki.com zjwit.net +zjwjrc.com zjwk.com zjwmw.com zjwqw.com @@ -119486,6 +117820,7 @@ zjyq.cc zjysgroup.com zjystec.com zjytxl.com +zjyxzzs.com zjyyc.com zjyygy.com zjyzpcxx.com @@ -119493,6 +117828,7 @@ zjza.com zjzajsjt.com zjzcec.com zjzcen.com +zjzcj.com zjzdgj.com zjzfj.com zjzfjs.com @@ -119512,6 +117848,7 @@ zjzjjx.com zjznk.com zjzoneng.com zjzramc.com +zjzrzyjy.com zjzs.net zjzsa.com zjzsco.com @@ -119617,7 +117954,6 @@ zl56.com zl99.org zlbaba.com zlbagx.com -zlbkj.com zlca.org zlcool.com zldatas.com @@ -119655,7 +117991,6 @@ zlkj20.com zlm4.com zlmlt.com zlnewlife.com -zlongad.com zlongame.com zlook.com zlprc.com @@ -119690,7 +118025,6 @@ zlygu.com zlysgl.com zlyzs.com zlzlzsl.com -zlzpdemo.cube.lenovo.com zlzscq.com zlzt.com zm-assemble.com @@ -119737,7 +118071,6 @@ zmirrordemo.com zmister.com zmjiudian.com zmjm.com -zmkma.com zmkmex.com zmlearn.com zmmek.com @@ -119759,7 +118092,6 @@ zmqmt.com zmren.com zmrenwu.com zmrgame.com -zmrmbc.xyz zmsq.com zmssh.com zmt.me @@ -119776,6 +118108,13 @@ zmxiu.com zmxph.com zmye5vly.com zmyui.com +zmz001.com +zmz002.com +zmz003.com +zmz004.com +zmz2019.com +zmzapi.com +zmzapi.net zmzb.com zmzjk.com zmzjt.com @@ -119852,6 +118191,7 @@ znznet.net znztool.com znzyf.com zo-station.com +zo5yap5sdc.com zoassetmanagement.com zobmxcfw.com zocai.com @@ -119890,7 +118230,6 @@ zoneben.com zoneidc.com zoneker.com zonelo.tech -zonemore.com zonen-tech.com zoneray56.com zoneve.com @@ -119922,7 +118261,6 @@ zongyiphone.com zongyixun.com zonhen.com zonsengroup.com -zonst.com zontes.com zoocer.com zoocoffee.com @@ -119933,6 +118271,7 @@ zooioo.com zookingsoft.com zookparts.com zoolnasm.com +zoom3g.com zoomad.net zoomerstudio.com zoomeye.org @@ -119940,23 +118279,23 @@ zoomla.net zoomlion.com zoomwo.com zoopda.com -zoosnet.net zoossoft.com -zoossoft.net zooszyservice.com zootope.ink zooyoo.cc zopomobile.com zoqlan.com -zora-living.com zoranchem.com zoroli.com zorrospray.com zorun.com zoscape.com zoshow.com +zosurrdc.com zotiser.com +zotrppzv.com zotrus.com +zotumgxr.com zotye.com zou.la zouaw.com @@ -119973,11 +118312,11 @@ zoukankan.com zoular.com zouming.cc zoutu.com +zouzhi.world zouzhiqiang.com zovps.com zowoyoo.com zox3ue.com -zoxoo.com zoxun.com zoyoo.net zoyse.com @@ -119987,7 +118326,6 @@ zozen.com zp.cc zp.do zp0716.com -zp0737.com zp114.net zp365.com zp515.com @@ -120008,7 +118346,6 @@ zpgd.net zphit.com zphlkj.com zphospital.com -zphuagong.com zpidc.com zpjiashuo.com zpjkcy.com @@ -120023,6 +118360,7 @@ zpstar.com zpt966033.com zptq.com zpug.net +zpwamdew.com zpwcb.com zpwz.net zpxrmyy.com @@ -120031,7 +118369,6 @@ zq12369.com zq235.com zq2mqo.com zq6.com -zq84.com zqagr.com zqaqxh.com zqase.com @@ -120089,7 +118426,6 @@ zrahh.com zran88.com zrblog.com zrblog.net -zrbn.ltd zrbx.com zrcaifu.com zrcbank.com @@ -120104,8 +118440,6 @@ zrkjy.com zrlyyy.com zrmm.com zrmsv7.com -zrmxswrl.com -zrnle2550.vip zrpta.com zrpwxgp.com zrtechnology.com @@ -120114,11 +118448,9 @@ zrtg.com zrthink.com zrtjt.com zrway.com -zrwhartongroup.com zrwjk.com zrxdsj.com zry97.com -zrys.xyz zrzhpt.com zs-ah.com zs-e.com @@ -120157,6 +118489,7 @@ zscbd.com zscch.com zsceta.com zschem.com +zsciupd.com zscjjt.com zscollege.com zsctgroup.com @@ -120187,7 +118520,6 @@ zsgzc.com zsh.com zsh8.com zshandsome.com -zshangtai.com zshc12306.com zshcx.com zshgsoft.com @@ -120214,12 +118546,10 @@ zsjcxh.com zsjdxh.org zsjhsjy.com zsjhx.com -zsjiaoxie.com zsjinqi.com zsjjob.com zsjjyp.com zsjuchuang.com -zsjxwj.com zsjz.com zskoubei.com zsksdw.com @@ -120268,7 +118598,9 @@ zswcn.com zswebao.shop zswj.com zswmailbox.com +zswpqfep.com zswtjt.com +zswyprkq.com zsxfsy.com zsxgzn.com zsxinsha.com @@ -120300,7 +118632,6 @@ zt24j.com ztautoparts.com ztbeijixing.com ztbest.com -ztcadx.com ztcdata.com ztcexam.com ztch.ltd @@ -120311,12 +118642,13 @@ ztcpa.com ztdgroup.com ztdli.com ztdsp.com -ztdzgf.net zte.net ztedevice.com ztedevices.com ztedu.com ztedu8.com +ztehotel.com +ztehotel.net ztemall.com ztemap.com ztems.com @@ -120326,15 +118658,14 @@ ztfsec.com ztfssc.com ztgame.com ztgcglzx.com -ztgha.xyz ztgy.org zthrv.com zthsqx.com zthx.com zthx2004.com -ztidu.com ztinfoga.com ztjczx.com +ztjhuyu.com ztjinchi.com ztjoin.com ztjttz.com @@ -120447,7 +118778,6 @@ zui5.com zui88.com zuiben.com zuibook.com -zuiceshi.net zuicool.com zuidabao.com zuidaima.com @@ -120464,10 +118794,10 @@ zuijiao.net zuik.ren zuiku.com zuikzy.com +zuikzy.win7i.com zuimeia.com zuimeiqidai.com zuimeitianqi.com -zuimeix.com zuiqiangyingyu.net zuishidai.com zuitang.com @@ -120570,7 +118900,6 @@ zupuk.com zupulu.com zuqiuba.com zuqiuba.net -zuqiuju.com zusan.com zushouji.com zushoushou.com @@ -120584,7 +118913,6 @@ zuxiaoyi.com zuyaxi.com zuyizhan.com zuyouzu.com -zuysfr.com zuyunfei.com zuyushop.com zuzher.com @@ -120595,15 +118923,19 @@ zuzuche.com zuzuqueen.com zviewcloud.com zving.com +zvr1f.com +zvryuq7xg31x5g.com zvstapp.com zvsts.com zvv.me +zvvxsco.com zw110.com zw3dp.com zw69.com zw885.com zwads.com zwayoptik.com +zwaztizp.com zwba.net zwbdata.com zwcad.com @@ -120639,6 +118971,7 @@ zwjl.net zwk999.com zwkf.net zwlhome.com +zwmrxd.com zwoasi.com zwoptical.com zwoptics.com @@ -120748,13 +119081,12 @@ zxnic.net zxnrh.com zxoid.com zxopen.com -zxpaa.xyz +zxpcloud.com zxpec.com zxpmq.com zxqfjt.com zxqg.com zxrcfw.com -zxrtb.com zxs-coffee.com zxsauto.com zxsctf.com @@ -120773,7 +119105,6 @@ zxtnetwork.com zxttax.com zxtw168.com zxw1.com -zxw51.com zxwcbj.com zxwindow.com zxww1984.com @@ -120788,9 +119119,7 @@ zxydss.com zxyee.com zxyingyangyou.com zxz.ee -zxzhengxin.com zxzhijia.com -zxziyuan.com zxzls.com zxzmail.com zxzt123.com @@ -120819,6 +119148,7 @@ zyauct.com zyautoe.com zybang.com zybaoan.com +zybest.com zybird.com zybk6.com zybtp.com @@ -120853,15 +119183,14 @@ zyfchina.com zyfj.com zyfsz.net zygames.com -zygdbc.com zygg.cc zygj.net zygjtzjt.com zygs.com zygthg.com +zygvqivs.com zygx8.com zygxxs.com -zygxy.online zyh365.com zyhao.com zyhbjt.com @@ -120870,7 +119199,6 @@ zyhobby.com zyholding.com zyhot.com zyict.net -zyiis.net zying.net zyip.com zyiwater.com @@ -120879,7 +119207,6 @@ zyixinx.com zyiz.net zyjhzyy.com zyjiajiao.com -zyjiajuw.com zyjjt.com zyjkwh.com zyjoygame.com @@ -120924,7 +119251,6 @@ zyqzyyy.com zyrack-china.com zyrb.com zyrc168.com -zyrfanli.com zyrj.org zyrm.com zyrykbiandao.com @@ -120943,6 +119269,7 @@ zytuozhan.com zyucan.com zyue.com zyun.vip +zyvqb.com zywjw.com zywsw.com zywtc.com @@ -120965,7 +119292,6 @@ zyyimin.com zyykj168.com zyylee.com zyz119.com -zyzaojiao.com zyzhan.com zyzkb.net zyzl120.com @@ -120988,11 +119314,9 @@ zz8j.com zz91.com zz96269.com zz9ivb.com -zzad.com zzairport.com zzay.net zzbaike.com -zzbaowen.com zzbbs.com zzbcmx.com zzbd.org @@ -121013,16 +119337,15 @@ zzcjxy.com zzcm1.com zzcm2.com zzcm5.com -zzcmjn.com zzcomm.com zzcrcgas.com zzd.pub -zzded.com zzdengji.com zzdh.net zzdjw.com zzdkdz.com zzdl.com +zzdnews.com zzdsj.com zzdtec.com zzect.com @@ -121047,7 +119370,6 @@ zzhaofang.com zzhaoz.com zzhbgs.com zzhfkm.com -zzhszj.com zzhuanruan.com zzhx56.com zzhybz.com @@ -121072,6 +119394,7 @@ zzlcjj.xyz zzlgxy.net zzliot.com zzlirui.com +zzlive.zzc-media.com zzllq.com zzlt.net zzlt0.com @@ -121088,17 +119411,18 @@ zzmxbc.com zzmy.net zzmyt.com zznah001.com -zznid.com +zznst.com zznyy.com zzpn.net +zzprotect.com zzptech.com zzpuke.com zzpzh.com +zzq12345.gearhostpreview.com zzqckj.com zzqfte.com zzqiyou.com zzqklm.com -zzqqhb.com zzqss.com zzquan9.com zzqudu.com @@ -121106,7 +119430,6 @@ zzqxs.com zzqzz.com zzrc.net zzrcw.net -zzrcz.com zzrmyy.com zzrseng.com zzs5.com @@ -121147,7 +119470,6 @@ zztxt.net zztyscl.com zzun777.com zzusah.com -zzvips.com zzw-hb.com zzwah.com zzwanshou.com diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute index 24b504e88d..f37a59cfa2 100644 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute @@ -165,6 +165,9 @@ 101.246.0.0/15 101.246.172.0/22 101.246.176.0/20 +101.247.0.0/18 +101.247.64.0/19 +101.247.96.0/20 101.248.0.0/15 101.251.0.0/22 101.251.128.0/17 @@ -236,7 +239,6 @@ 101.96.16.0/20 101.96.8.0/22 101.99.96.0/19 -103.1.158.0/24 103.1.168.0/22 103.1.20.0/22 103.1.24.0/22 @@ -435,7 +437,6 @@ 103.116.228.0/22 103.116.40.0/22 103.116.64.0/22 -103.116.72.0/22 103.116.76.0/22 103.116.92.0/22 103.117.16.0/22 @@ -443,7 +444,6 @@ 103.117.220.0/22 103.117.248.0/22 103.117.72.0/22 -103.117.72.0/24 103.117.88.0/22 103.118.173.0/24 103.118.192.0/22 @@ -499,7 +499,6 @@ 103.122.176.0/22 103.122.192.0/22 103.122.240.0/22 -103.122.243.0/24 103.122.48.0/22 103.123.116.0/22 103.123.176.0/22 @@ -537,7 +536,7 @@ 103.126.208.0/22 103.126.44.0/22 103.13.12.0/22 -103.13.12.0/23 +103.13.12.0/24 103.13.124.0/22 103.13.144.0/22 103.13.196.0/22 @@ -580,7 +579,6 @@ 103.133.176.0/22 103.133.232.0/22 103.133.40.0/22 -103.134.136.0/22 103.134.196.0/22 103.134.232.0/23 103.135.124.0/22 @@ -693,7 +691,6 @@ 103.146.124.0/23 103.146.126.0/23 103.146.138.0/23 -103.146.230.0/23 103.146.236.0/23 103.146.252.0/23 103.146.72.0/23 @@ -717,7 +714,6 @@ 103.149.244.0/22 103.149.244.0/23 103.149.246.0/23 -103.149.248.0/23 103.149.44.0/23 103.149.6.0/23 103.15.16.0/22 @@ -755,7 +751,6 @@ 103.151.228.0/23 103.151.4.0/23 103.151.44.0/23 -103.151.5.0/24 103.152.112.0/23 103.152.120.0/23 103.152.122.0/23 @@ -939,15 +934,13 @@ 103.18.212.0/22 103.18.224.0/22 103.180.108.0/23 -103.180.109.0/24 103.180.226.0/23 103.181.164.0/23 103.181.234.0/23 103.181.234.0/24 -103.182.96.0/24 103.183.122.0/23 103.183.124.0/23 -103.183.218.0/23 +103.183.218.0/24 103.183.26.0/23 103.183.66.0/23 103.184.46.0/23 @@ -959,6 +952,7 @@ 103.186.112.0/23 103.186.136.0/23 103.186.158.0/23 +103.186.158.0/24 103.186.162.0/23 103.186.228.0/23 103.186.4.0/23 @@ -1040,7 +1034,7 @@ 103.196.168.0/22 103.196.204.0/22 103.196.64.0/22 -103.196.64.0/23 +103.196.64.0/24 103.196.72.0/22 103.196.88.0/21 103.196.88.0/22 @@ -1429,8 +1423,10 @@ 103.217.16.0/22 103.217.168.0/22 103.217.180.0/22 +103.217.184.0/21 103.217.184.0/22 103.217.188.0/22 +103.217.192.0/20 103.217.192.0/22 103.217.196.0/22 103.217.20.0/22 @@ -1972,6 +1968,7 @@ 103.239.156.0/22 103.239.180.0/22 103.239.184.0/22 +103.239.184.0/24 103.239.192.0/22 103.239.196.0/22 103.239.204.0/22 @@ -2065,7 +2062,6 @@ 103.247.212.0/22 103.248.0.0/23 103.248.100.0/22 -103.248.102.0/23 103.248.124.0/22 103.248.152.0/22 103.248.168.0/22 @@ -2814,7 +2810,6 @@ 103.50.240.0/22 103.50.244.0/22 103.50.248.0/22 -103.50.252.0/23 103.50.36.0/22 103.50.44.0/22 103.50.48.0/22 @@ -3144,13 +3139,14 @@ 103.70.252.0/22 103.70.8.0/22 103.71.0.0/22 -103.71.120.0/21 103.71.120.0/22 103.71.124.0/22 103.71.128.0/22 103.71.144.0/22 103.71.196.0/22 103.71.200.0/22 +103.71.200.0/23 +103.71.202.0/24 103.71.232.0/22 103.71.48.0/22 103.71.68.0/22 @@ -3164,11 +3160,9 @@ 103.72.12.0/22 103.72.120.0/22 103.72.124.0/22 -103.72.128.0/21 103.72.128.0/22 103.72.132.0/22 103.72.148.0/22 -103.72.16.0/20 103.72.16.0/22 103.72.172.0/22 103.72.172.0/24 @@ -3184,12 +3178,10 @@ 103.72.248.0/22 103.72.252.0/22 103.72.28.0/22 -103.72.32.0/20 103.72.32.0/22 103.72.36.0/22 103.72.40.0/22 103.72.44.0/22 -103.72.48.0/21 103.72.48.0/22 103.72.52.0/22 103.73.0.0/22 @@ -3219,7 +3211,6 @@ 103.73.48.0/24 103.73.8.0/22 103.74.124.0/22 -103.74.125.0/24 103.74.126.0/24 103.74.148.0/22 103.74.152.0/22 @@ -3229,7 +3220,6 @@ 103.74.24.0/21 103.74.24.0/22 103.74.28.0/22 -103.74.32.0/20 103.74.32.0/22 103.74.36.0/22 103.74.40.0/22 @@ -3276,7 +3266,6 @@ 103.78.60.0/22 103.78.64.0/22 103.78.68.0/22 -103.79.120.0/22 103.79.136.0/22 103.79.188.0/22 103.79.192.0/22 @@ -3391,7 +3380,6 @@ 103.86.28.0/22 103.86.32.0/22 103.86.60.0/22 -103.86.80.0/22 103.86.84.0/22 103.87.0.0/22 103.87.132.0/22 @@ -3521,7 +3509,6 @@ 103.94.12.0/22 103.94.160.0/22 103.94.20.0/22 -103.94.20.0/23 103.94.200.0/22 103.94.28.0/22 103.94.32.0/22 @@ -3592,7 +3579,6 @@ 103.97.68.0/22 103.97.72.0/22 103.97.8.0/22 -103.97.80.0/22 103.98.0.0/23 103.98.0.0/24 103.98.100.0/22 @@ -4076,7 +4062,6 @@ 114.119.208.0/20 114.119.224.0/19 114.119.32.0/24 -114.119.36.0/24 114.132.0.0/16 114.135.0.0/16 114.138.0.0/15 @@ -4292,7 +4277,6 @@ 116.254.104.0/22 116.254.108.0/22 116.254.128.0/17 -116.254.192.0/18 116.255.128.0/17 116.4.0.0/14 116.50.0.0/20 @@ -4300,6 +4284,7 @@ 116.56.0.0/15 116.58.128.0/20 116.58.208.0/20 +116.58.208.0/24 116.60.0.0/14 116.62.0.0/15 116.66.0.0/17 @@ -4366,8 +4351,13 @@ 117.48.112.0/20 117.48.128.0/19 117.48.160.0/20 -117.48.192.0/20 -117.48.216.0/21 +117.48.192.0/24 +117.48.195.0/24 +117.48.196.0/22 +117.48.200.0/21 +117.48.216.0/23 +117.48.218.0/24 +117.48.220.0/22 117.48.224.0/20 117.48.64.0/19 117.50.0.0/16 @@ -4443,22 +4433,7 @@ 118.178.0.0/16 118.180.0.0/14 118.184.0.0/17 -118.184.0.0/22 -118.184.104.0/22 118.184.128.0/17 -118.184.30.0/24 -118.184.40.0/21 -118.184.48.0/22 -118.184.52.0/24 -118.184.64.0/24 -118.184.66.0/23 -118.184.69.0/24 -118.184.76.0/22 -118.184.81.0/24 -118.184.82.0/23 -118.184.84.0/22 -118.184.92.0/22 -118.184.96.0/22 118.186.0.0/15 118.186.0.0/19 118.186.112.0/21 @@ -4519,18 +4494,15 @@ 118.191.88.0/21 118.191.96.0/19 118.192.0.0/16 -118.192.0.0/17 +118.192.20.0/24 +118.192.32.0/19 +118.192.64.0/23 +118.192.67.0/24 +118.192.68.0/23 +118.192.70.0/24 +118.192.96.0/19 118.193.0.0/21 118.193.128.0/17 -118.193.128.0/23 -118.193.138.0/24 -118.193.144.0/23 -118.193.152.0/22 -118.193.160.0/23 -118.193.162.0/24 -118.193.164.0/22 -118.193.176.0/24 -118.193.188.0/22 118.193.48.0/21 118.193.8.0/21 118.193.96.0/19 @@ -4678,10 +4650,8 @@ 119.235.138.0/24 119.235.143.0/24 119.235.144.0/23 -119.235.146.0/24 119.235.151.0/24 119.235.160.0/23 -119.235.162.0/24 119.235.167.0/24 119.235.185.0/24 119.248.0.0/14 @@ -4769,6 +4739,23 @@ 119.45.0.0/16 119.48.0.0/13 119.57.0.0/16 +119.57.0.0/21 +119.57.100.0/23 +119.57.102.0/24 +119.57.112.0/20 +119.57.12.0/24 +119.57.128.0/17 +119.57.16.0/21 +119.57.25.0/24 +119.57.28.0/22 +119.57.32.0/21 +119.57.44.0/22 +119.57.51.0/24 +119.57.52.0/22 +119.57.56.0/21 +119.57.64.0/19 +119.57.8.0/23 +119.57.96.0/22 119.58.0.0/16 119.59.128.0/17 119.59.128.0/18 @@ -4801,7 +4788,8 @@ 120.132.0.0/17 120.132.0.0/18 120.132.112.0/24 -120.132.116.0/22 +120.132.117.0/24 +120.132.118.0/23 120.132.120.0/21 120.132.128.0/17 120.132.64.0/19 @@ -4930,7 +4918,9 @@ 121.58.156.0/22 121.58.160.0/21 121.59.0.0/16 +121.59.160.0/20 121.59.17.0/24 +121.59.255.0/24 121.59.4.0/22 121.59.8.0/21 121.60.0.0/14 @@ -5103,7 +5093,6 @@ 123.108.212.0/23 123.108.220.0/22 123.108.88.0/23 -123.108.88.0/24 123.112.0.0/12 123.128.0.0/13 123.136.80.0/20 @@ -5141,7 +5130,7 @@ 123.244.0.0/14 123.249.0.0/16 123.249.0.0/17 -123.253.240.0/22 +123.253.226.0/24 123.254.100.0/22 123.254.96.0/21 123.254.96.0/22 @@ -5149,6 +5138,9 @@ 123.49.128.0/17 123.49.192.0/23 123.49.196.0/24 +123.49.229.0/24 +123.49.230.0/24 +123.49.232.0/24 123.49.240.0/24 123.49.242.0/23 123.50.160.0/19 @@ -5262,7 +5254,6 @@ 124.196.56.0/23 124.196.58.0/24 124.196.61.0/24 -124.196.65.0/24 124.196.66.0/24 124.196.72.0/24 124.196.76.0/23 @@ -5517,6 +5508,8 @@ 140.75.0.0/16 142.70.0.0/16 142.86.0.0/16 +143.20.66.0/24 +143.20.77.0/24 143.64.0.0/16 144.0.0.0/16 144.12.0.0/16 @@ -5525,8 +5518,8 @@ 144.36.146.0/23 144.48.156.0/22 144.48.180.0/22 -144.48.180.0/23 144.48.184.0/22 +144.48.184.0/24 144.48.204.0/22 144.48.208.0/22 144.48.212.0/22 @@ -5607,7 +5600,6 @@ 150.242.96.0/22 150.248.0.0/16 150.255.0.0/16 -151.242.180.0/23 151.242.65.0/24 152.104.128.0/17 152.136.0.0/16 @@ -5618,49 +5610,66 @@ 153.34.0.0/15 153.36.0.0/15 153.99.0.0/16 +154.19.43.0/24 154.208.140.0/22 154.208.144.0/20 154.208.160.0/21 154.208.172.0/23 154.213.4.0/23 154.38.104.0/22 -154.48.227.0/24 154.72.42.0/24 154.72.44.0/24 154.72.47.0/24 154.8.128.0/17 154.91.158.0/23 -155.102.0.0/22 +155.102.0.0/23 155.102.10.0/23 +155.102.111.0/24 +155.102.117.0/24 +155.102.118.0/23 155.102.12.0/22 +155.102.120.0/23 155.102.128.0/22 155.102.132.0/23 155.102.135.0/24 -155.102.136.0/23 -155.102.140.0/22 -155.102.144.0/22 -155.102.149.0/24 -155.102.150.0/23 -155.102.152.0/21 +155.102.136.0/21 +155.102.144.0/20 155.102.16.0/22 -155.102.160.0/23 +155.102.160.0/22 +155.102.165.0/24 +155.102.166.0/24 +155.102.168.0/23 155.102.193.0/24 +155.102.194.0/23 +155.102.196.0/23 +155.102.198.0/24 +155.102.2.0/24 155.102.20.0/24 +155.102.201.0/24 +155.102.204.0/23 +155.102.208.0/23 +155.102.216.0/22 155.102.22.0/23 +155.102.220.0/23 155.102.24.0/24 +155.102.247.0/24 +155.102.248.0/23 155.102.27.0/24 155.102.28.0/22 -155.102.32.0/19 +155.102.32.0/22 +155.102.36.0/23 +155.102.39.0/24 155.102.4.0/23 +155.102.40.0/21 +155.102.48.0/20 155.102.9.0/24 155.126.176.0/23 156.107.160.0/24 156.107.170.0/24 -156.107.178.0/23 -156.107.180.0/23 +156.107.179.0/24 +156.107.181.0/24 156.230.11.0/24 156.231.163.0/24 -156.236.96.0/23 156.237.104.0/23 156.242.5.0/24 156.242.6.0/24 @@ -5722,8 +5731,6 @@ 157.66.92.0/23 157.66.94.0/23 158.140.252.0/22 -158.140.252.0/23 -158.140.254.0/24 158.60.0.0/16 158.79.0.0/16 159.226.0.0/16 @@ -5853,12 +5860,11 @@ 163.181.192.0/23 163.181.196.0/22 163.181.2.0/24 -163.181.201.0/24 -163.181.202.0/23 -163.181.204.0/22 -163.181.208.0/23 +163.181.200.0/21 +163.181.209.0/24 163.181.210.0/24 -163.181.212.0/22 +163.181.212.0/23 +163.181.214.0/24 163.181.216.0/21 163.181.22.0/23 163.181.224.0/23 @@ -5868,19 +5874,14 @@ 163.181.236.0/22 163.181.241.0/24 163.181.242.0/23 -163.181.244.0/23 -163.181.246.0/24 +163.181.244.0/22 163.181.248.0/21 163.181.25.0/24 163.181.26.0/24 -163.181.28.0/24 -163.181.32.0/23 -163.181.35.0/24 -163.181.36.0/22 +163.181.32.0/21 163.181.40.0/24 163.181.42.0/23 -163.181.44.0/23 -163.181.46.0/24 +163.181.44.0/22 163.181.48.0/23 163.181.50.0/24 163.181.52.0/24 @@ -5888,7 +5889,7 @@ 163.181.60.0/23 163.181.66.0/23 163.181.69.0/24 -163.181.70.0/23 +163.181.71.0/24 163.181.72.0/23 163.181.74.0/24 163.181.77.0/24 @@ -5957,8 +5958,14 @@ 163.61.202.0/23 163.61.214.0/23 163.61.62.0/23 -164.155.133.0/24 164.52.0.0/17 +165.101.122.0/23 +165.101.144.0/23 +165.101.170.0/23 +165.101.4.0/23 +165.101.66.0/23 +165.101.70.0/23 +165.101.71.0/24 165.99.4.0/24 165.99.42.0/23 166.111.0.0/16 @@ -6041,7 +6048,6 @@ 175.25.0.0/16 175.26.0.0/16 175.27.0.0/16 -175.29.22.0/23 175.30.0.0/15 175.42.0.0/15 175.44.0.0/16 @@ -6063,7 +6069,7 @@ 180.178.112.0/22 180.178.116.0/22 180.178.192.0/18 -180.178.192.0/19 +180.178.208.0/20 180.178.224.0/21 180.178.248.0/21 180.184.0.0/15 @@ -6247,12 +6253,16 @@ 192.55.68.0/22 193.112.0.0/16 193.119.0.0/19 -193.119.10.0/24 +193.119.10.0/23 193.119.12.0/23 193.119.15.0/24 +193.119.19.0/24 193.119.20.0/23 193.119.25.0/24 +193.119.28.0/24 193.119.30.0/24 +193.119.4.0/24 +193.119.6.0/24 193.119.8.0/24 194.119.13.0/24 194.119.15.0/24 @@ -6333,20 +6343,29 @@ 202.103.64.0/19 202.103.8.0/21 202.103.96.0/21 +202.104.0.0/14 202.104.0.0/15 202.106.0.0/16 202.107.0.0/17 202.107.128.0/17 +202.108.0.0/15 202.108.0.0/16 202.109.0.0/16 +202.110.0.0/16 202.110.0.0/18 202.110.128.0/18 202.110.192.0/18 202.110.64.0/18 202.111.0.0/17 +202.111.128.0/18 202.111.128.0/19 202.111.160.0/19 202.111.192.0/18 +202.111.192.0/19 +202.111.230.0/24 +202.111.240.0/23 +202.111.242.0/24 +202.111.244.0/24 202.112.0.0/13 202.112.0.0/16 202.113.0.0/20 @@ -6548,7 +6567,6 @@ 202.151.128.0/19 202.151.33.0/24 202.152.176.0/20 -202.152.190.0/23 202.153.0.0/22 202.153.48.0/20 202.153.7.0/24 @@ -6764,7 +6782,7 @@ 202.57.192.0/24 202.57.196.0/22 202.57.200.0/22 -202.57.200.0/24 +202.57.200.0/23 202.57.204.0/22 202.57.204.0/23 202.57.212.0/22 @@ -6888,7 +6906,6 @@ 202.84.4.0/22 202.84.8.0/21 202.85.208.0/20 -202.85.76.0/24 202.86.249.0/24 202.86.252.0/22 202.87.80.0/20 @@ -6942,7 +6959,7 @@ 202.94.92.0/22 202.95.0.0/19 202.95.240.0/21 -202.96.0.0/12 +202.96.0.0/13 202.96.0.0/18 202.96.104.0/21 202.96.112.0/20 @@ -7065,7 +7082,6 @@ 203.100.60.0/24 203.100.63.0/24 203.100.80.0/20 -203.100.86.0/24 203.100.92.0/22 203.100.96.0/19 203.104.32.0/20 @@ -7076,6 +7092,7 @@ 203.107.100.0/22 203.107.104.0/22 203.107.108.0/23 +203.107.116.0/22 203.107.13.0/24 203.107.20.0/22 203.107.24.0/24 @@ -7290,7 +7307,6 @@ 203.17.74.0/23 203.17.88.0/23 203.170.58.0/23 -203.170.58.0/24 203.171.0.0/22 203.171.208.0/24 203.171.224.0/20 @@ -7335,7 +7351,7 @@ 203.189.0.0/23 203.189.112.0/22 203.189.113.0/24 -203.189.114.0/23 +203.189.115.0/24 203.189.192.0/19 203.189.240.0/22 203.189.6.0/23 @@ -7506,7 +7522,6 @@ 203.22.99.0/24 203.223.16.0/21 203.223.21.0/24 -203.223.23.0/24 203.23.0.0/24 203.23.107.0/24 203.23.112.0/24 @@ -8079,7 +8094,6 @@ 203.89.136.0/22 203.89.144.0/24 203.89.8.0/21 -203.89.8.0/23 203.9.100.0/23 203.9.108.0/24 203.9.158.0/24 @@ -8155,6 +8169,7 @@ 203.99.24.0/21 203.99.8.0/21 203.99.80.0/20 +204.13.175.0/24 204.52.191.0/24 207.226.153.0/24 207.226.154.0/24 @@ -8182,6 +8197,11 @@ 210.14.192.0/19 210.14.224.0/19 210.14.64.0/19 +210.14.64.0/20 +210.14.80.0/22 +210.14.84.0/24 +210.14.90.0/23 +210.14.92.0/22 210.15.0.0/17 210.15.0.0/19 210.15.128.0/18 @@ -8190,10 +8210,7 @@ 210.15.96.0/19 210.16.104.0/22 210.16.128.0/18 -210.16.180.0/24 -210.16.185.0/24 -210.16.186.0/23 -210.16.188.0/22 +210.16.160.0/19 210.185.192.0/18 210.192.116.0/22 210.192.120.0/21 @@ -8526,6 +8543,7 @@ 211.93.224.0/19 211.94.0.0/15 211.94.128.0/17 +211.94.37.0/24 211.94.64.0/18 211.95.0.0/17 211.95.128.0/19 @@ -8535,6 +8553,7 @@ 211.97.0.0/17 211.97.128.0/19 211.97.160.0/21 +211.97.190.0/24 211.97.192.0/18 211.98.0.0/16 211.99.0.0/18 @@ -8665,6 +8684,7 @@ 218.96.0.0/24 218.96.104.0/22 218.96.108.0/23 +218.96.128.0/24 218.96.241.0/24 218.96.244.0/24 218.96.255.0/24 @@ -8788,6 +8808,8 @@ 220.114.250.0/23 220.152.128.0/17 220.154.0.0/16 +220.154.128.0/22 +220.154.144.0/24 220.155.0.0/16 220.158.240.0/22 220.160.0.0/11 @@ -8988,7 +9010,6 @@ 222.28.0.0/14 222.32.0.0/11 222.35.0.0/16 -222.41.10.0/24 222.42.115.0/24 222.44.0.0/16 222.45.128.0/21 @@ -9075,12 +9096,8 @@ 223.202.131.0/24 223.202.132.0/24 223.202.134.0/23 -223.202.17.0/24 -223.202.20.0/24 -223.202.208.0/24 223.202.211.0/24 223.202.212.0/24 -223.202.25.0/24 223.202.67.0/24 223.203.100.0/24 223.203.3.0/24 @@ -9124,7 +9141,9 @@ 223.64.0.0/11 223.8.0.0/13 223.96.0.0/12 +23.140.100.0/24 23.161.8.0/24 +23.236.111.0/24 27.0.128.0/22 27.0.128.0/24 27.0.130.0/23 @@ -9175,8 +9194,8 @@ 27.98.224.0/19 27.99.128.0/17 31.56.124.0/24 -31.57.182.0/24 -31.57.222.0/23 +31.56.66.0/24 +31.57.248.0/24 36.0.0.0/22 36.0.128.0/17 36.0.16.0/20 @@ -9202,6 +9221,7 @@ 36.213.128.0/18 36.213.192.0/20 36.213.208.0/23 +36.213.210.0/24 36.248.0.0/14 36.254.0.0/16 36.255.116.0/22 @@ -9211,6 +9231,7 @@ 36.255.172.0/22 36.255.176.0/22 36.255.192.0/24 +36.255.194.0/24 36.32.0.0/14 36.36.0.0/16 36.37.0.0/19 @@ -9234,8 +9255,6 @@ 36.96.0.0/11 36.96.0.0/12 38.111.220.0/23 -38.248.21.0/24 -38.76.140.0/23 39.0.0.0/24 39.0.128.0/17 39.0.16.0/20 @@ -9309,6 +9328,10 @@ 42.194.8.0/22 42.195.0.0/16 42.196.0.0/14 +42.199.0.0/17 +42.199.128.0/18 +42.199.192.0/19 +42.199.224.0/20 42.199.240.0/22 42.201.0.0/17 42.201.32.0/19 @@ -9437,7 +9460,6 @@ 43.226.148.0/22 43.226.152.0/22 43.226.156.0/22 -43.226.160.0/21 43.226.160.0/22 43.226.164.0/22 43.226.168.0/22 @@ -9538,7 +9560,6 @@ 43.228.148.0/22 43.228.152.0/22 43.228.16.0/22 -43.228.180.0/24 43.228.188.0/22 43.228.20.0/22 43.228.204.0/22 @@ -9609,7 +9630,6 @@ 43.231.172.0/22 43.231.176.0/22 43.231.180.0/22 -43.231.186.0/24 43.231.32.0/22 43.231.36.0/22 43.231.40.0/22 @@ -10176,6 +10196,7 @@ 43.255.8.0/22 43.255.84.0/22 43.255.96.0/22 +44.30.15.0/24 44.31.216.0/24 44.31.28.0/24 44.31.42.0/24 @@ -10183,8 +10204,6 @@ 44.31.96.0/24 44.32.143.0/24 44.32.188.0/24 -44.32.191.0/24 -44.32.192.0/24 45.112.132.0/22 45.112.188.0/22 45.112.208.0/22 @@ -10256,7 +10275,7 @@ 45.117.252.0/22 45.117.68.0/22 45.117.68.0/24 -45.117.71.0/24 +45.117.70.0/23 45.117.8.0/22 45.119.104.0/22 45.119.105.0/24 @@ -10420,7 +10439,6 @@ 45.147.6.0/24 45.151.47.0/24 45.157.88.0/24 -45.166.67.0/24 45.195.6.0/24 45.197.131.0/24 45.202.209.0/24 @@ -10819,6 +10837,7 @@ 49.128.0.0/24 49.128.2.0/23 49.128.203.0/24 +49.128.220.0/24 49.128.223.0/24 49.128.4.0/22 49.140.0.0/15 @@ -10843,6 +10862,7 @@ 49.4.128.0/22 49.4.64.0/19 49.4.96.0/20 +49.5.13.0/24 49.51.0.0/16 49.52.0.0/14 49.64.0.0/11 @@ -10850,7 +10870,6 @@ 5.10.138.0/23 5.10.140.0/24 5.10.143.0/24 -5.154.136.0/23 52.130.0.0/15 52.80.0.0/15 52.82.0.0/15 @@ -10944,6 +10963,7 @@ 58.68.236.0/24 58.68.247.0/24 58.82.0.0/17 +58.82.0.0/23 58.83.0.0/16 58.83.0.0/17 58.83.128.0/17 @@ -10965,11 +10985,8 @@ 59.111.107.0/24 59.111.108.0/22 59.111.112.0/21 -59.111.124.0/23 59.111.128.0/20 59.111.144.0/24 -59.111.146.0/23 -59.111.148.0/23 59.111.152.0/21 59.111.160.0/21 59.111.168.0/22 @@ -10986,13 +11003,10 @@ 59.111.198.0/23 59.111.203.0/24 59.111.205.0/24 -59.111.208.0/22 59.111.21.0/24 +59.111.211.0/24 59.111.214.0/24 -59.111.217.0/24 -59.111.218.0/24 59.111.22.0/24 -59.111.220.0/22 59.111.224.0/21 59.111.232.0/23 59.111.236.0/24 @@ -11003,7 +11017,6 @@ 59.111.35.0/24 59.111.36.0/24 59.111.40.0/21 -59.111.48.0/20 59.111.64.0/19 59.111.96.0/21 59.151.0.0/17 @@ -11287,11 +11300,13 @@ 8.148.64.0/18 8.149.0.0/16 8.150.0.0/20 +8.150.16.0/21 8.150.64.0/23 8.152.0.0/13 8.160.0.0/15 8.162.0.0/19 8.163.0.0/16 +8.164.0.0/16 8.25.82.0/24 8.38.121.0/24 8.45.176.0/24 diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 index f72e5890cc..c5a85b9762 100644 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/chnroute6 @@ -54,7 +54,6 @@ 2001:df1:61c0::/48 2001:df1:a100::/48 2001:df1:c80::/48 -2001:df1:c900::/48 2001:df1:d180::/48 2001:df1:da00::/48 2001:df1:f480::/48 @@ -281,10 +280,12 @@ 2400:7fc0:2a0::/44 2400:7fc0:2c0::/44 2400:7fc0:4000::/40 +2400:7fc0:6000::/40 2400:7fc0:8000::/36 2400:7fc0::/32 2400:7fc0::/40 2400:7fc0:a000::/36 +2400:7fc0:bb00::/40 2400:7fc0:c000::/36 2400:8080::/32 2400:8200::/32 @@ -347,7 +348,6 @@ 2400:9380:9220::/47 2400:9380:9240::/47 2400:9380:9250::/47 -2400:9380:9252::/48 2400:9380:9260::/48 2400:9380:9271::/48 2400:9380:9272::/48 @@ -393,7 +393,6 @@ 2400:ae00:1981::/48 2400:ae00::/32 2400:b200::/32 -2400:b2c0::/32 2400:b500::/32 2400:b600::/32 2400:b620::/32 @@ -404,15 +403,12 @@ 2400:b9a0::/32 2400:b9c0::/32 2400:ba00::/32 -2400:ba40::/32 -2400:ba41::/32 2400:bac0::/32 2400:be00::/32 2400:be00::/48 2400:bf00::/32 2400:c200::/32 2400:c380::/32 -2400:c800:109::/48 2400:c840::/32 2400:c8c0::/32 2400:c940::/32 @@ -583,7 +579,6 @@ 2401:71c0::/48 2401:7240::/32 2401:7320::/32 -2401:7340::/32 2401:7360::/32 2401:73a0::/32 2401:7580::/32 @@ -632,7 +627,6 @@ 2401:8d00:c::/48 2401:8d00:f::/48 2401:8da0::/32 -2401:8da0::/48 2401:8f40::/32 2401:8fc0::/32 2401:90a0::/32 @@ -729,6 +723,9 @@ 2401:bda0::/32 2401:be00::/32 2401:bf20::/32 +2401:c020:14::/48 +2401:c020:6::/48 +2401:c020:8::/47 2401:c020::/32 2401:c200::/32 2401:c40::/32 @@ -755,6 +752,7 @@ 2401:d0e0::/32 2401:d140::/32 2401:d180:10::/47 +2401:d180:111::/48 2401:d180:2120::/48 2401:d180::/32 2401:d180::/46 @@ -771,7 +769,6 @@ 2401:dbe0::/32 2401:dd20::/32 2401:dd60::/32 -2401:dde0::/32 2401:de00::/32 2401:dfe0::/32 2401:e00::/32 @@ -803,7 +800,9 @@ 2401:f860:90::/47 2401:f860:93::/48 2401:f860::/32 -2401:f860::/44 +2401:f860:ce00::/40 +2401:f860:e::/48 +2401:f860:f100::/40 2401:fa00:40::/43 2401:fa80::/32 2401:fb80::/32 @@ -811,12 +810,15 @@ 2401:fc80::/32 2401:ffc0::/32 2402:1000::/32 +2402:1160::/32 2402:1440::/32 +2402:1460::/32 2402:14c0::/32 +2402:1520::/32 2402:1600::/32 +2402:16e0::/32 2402:1740::/32 2402:19c0::/32 -2402:1ec0::/32 2402:1f80::/32 2402:2000::/32 2402:2280::/32 @@ -1052,7 +1054,6 @@ 2402:f480::/32 2402:f540::/32 2402:f580::/32 -2402:f740::/32 2402:f780::/32 2402:f8c0::/32 2402:f980::/32 @@ -1097,7 +1098,6 @@ 2403:2680::/32 2403:2740::/32 2403:2780::/32 -2403:27c0:c02::/47 2403:28c0::/32 2403:2940::/32 2403:2a00::/32 @@ -1191,8 +1191,8 @@ 2403:6280::/32 2403:62c0::/32 2403:6380:14::/47 -2403:6380:40::/48 -2403:6380:42::/47 +2403:6380:40::/46 +2403:6380:60::/44 2403:6380::/32 2403:6580::/32 2403:6680::/32 @@ -1410,7 +1410,7 @@ 2404:1f40::/32 2404:21c0::/32 2404:2280:105::/48 -2404:2280:107::/48 +2404:2280:106::/47 2404:2280:109::/48 2404:2280:10a::/47 2404:2280:10d::/48 @@ -1450,6 +1450,7 @@ 2404:2280:187::/48 2404:2280:18a::/47 2404:2280:18c::/46 +2404:2280:190::/48 2404:2280:193::/48 2404:2280:196::/48 2404:2280:198::/45 @@ -1481,10 +1482,16 @@ 2404:2280:1f8::/46 2404:2280:1fe::/48 2404:2280:202::/47 -2404:2280:204::/47 +2404:2280:204::/46 2404:2280:208::/46 -2404:2280:20c::/48 +2404:2280:20c::/47 2404:2280:20e::/48 +2404:2280:210::/46 +2404:2280:214::/48 +2404:2280:217::/48 +2404:2280:218::/48 +2404:2280:21a::/48 +2404:2280:271::/48 2404:240::/32 2404:280::/32 2404:30c0::/32 @@ -1507,7 +1514,6 @@ 2404:3bc0::/32 2404:3c40::/32 2404:3f40::/32 -2404:4080::/32 2404:41c0::/32 2404:440::/32 2404:4540::/32 @@ -1604,9 +1610,11 @@ 2404:c2c0:2c0::/44 2404:c2c0:4000::/40 2404:c2c0:501::/48 +2404:c2c0:6000::/40 2404:c2c0:8000::/36 2404:c2c0::/32 2404:c2c0::/40 +2404:c2c0:bb00::/40 2404:c2c0:c000::/36 2404:c300::/32 2404:c3c0::/32 @@ -1892,7 +1900,6 @@ 2405:d280::/32 2405:d4c0::/32 2405:d700::/32 -2405:d740::/32 2405:d80::/32 2405:d900::/32 2405:df40::/32 @@ -1904,7 +1911,6 @@ 2405:ed40::/32 2405:ef40::/30 2405:f340::/32 -2405:f3c0::/32 2405:f580::/32 2405:f6c0::/32 2405:f80::/32 @@ -2080,10 +2086,8 @@ 2406:840:e201::/48 2406:840:e230::/44 2406:840:e260::/48 -2406:840:e268::/48 -2406:840:e500::/47 +2406:840:e2cb::/48 2406:840:e600::/47 -2406:840:e602::/48 2406:840:e608::/46 2406:840:e621::/48 2406:840:e666::/47 @@ -2091,10 +2095,6 @@ 2406:840:e770::/48 2406:840:e777::/48 2406:840:e80f::/48 -2406:840:eab0::/48 -2406:840:eabb::/48 -2406:840:eabc::/47 -2406:840:eabe::/48 2406:840:eb00::/46 2406:840:eb04::/47 2406:840:eb07::/48 @@ -2122,7 +2122,9 @@ 2406:840:fcc0::/44 2406:840:fcd0::/48 2406:840:fd40::/42 -2406:840:fd80::/42 +2406:840:fd80::/44 +2406:840:fd9f::/48 +2406:840:fda0::/43 2406:840:fdc0::/44 2406:840:fdd1::/48 2406:840:fe27::/48 @@ -2176,7 +2178,6 @@ 2406:94c0::/32 2406:9780::/32 2406:9d80::/32 -2406:9e40::/32 2406:9e80::/32 2406:9f80::/32 2406:a080::/32 @@ -2293,6 +2294,7 @@ 2407:2280::/32 2407:2380::/32 2407:23c0::/32 +2407:23c0::/48 2407:2780::/32 2407:2840::/32 2407:2840::/48 @@ -2367,7 +2369,6 @@ 2407:b280::/32 2407:b380:8000::/48 2407:b380::/32 -2407:b380::/33 2407:b580::/32 2407:b680::/32 2407:b780::/32 @@ -2511,6 +2512,7 @@ 2408:8181:a000::/40 2408:8181:a220::/44 2408:8181:e000::/40 +2408:8182:6000::/40 2408:8182:c000::/40 2408:8183:4000::/40 2408:8183:8000::/40 @@ -2541,6 +2543,7 @@ 2408:8256::/31 2408:8258::/30 2408:825c::/31 +2408:825f::/32 2408:8260::/32 2408:8262::/31 2408:8264::/31 @@ -2562,7 +2565,9 @@ 2408:8344::/30 2408:8348::/30 2408:834e::/31 -2408:8350::/29 +2408:8350::/30 +2408:8354::/32 +2408:8356::/31 2408:8358::/30 2408:8360::/30 2408:8364::/31 @@ -2625,50 +2630,50 @@ 2408:8409:1800::/40 2408:8409:180::/42 2408:8409:1900::/41 -2408:8409:1980::/43 +2408:8409:1980::/42 2408:8409:2400::/40 2408:8409:2500::/41 -2408:8409:2580::/43 +2408:8409:2580::/42 2408:8409:3000::/40 2408:8409:3100::/41 -2408:8409:3180::/43 +2408:8409:3180::/42 2408:8409:3c00::/40 2408:8409:3d00::/41 -2408:8409:3d80::/43 +2408:8409:3d80::/42 2408:8409:4800::/40 2408:8409:4900::/41 -2408:8409:4980::/43 +2408:8409:4980::/42 2408:8409:5400::/40 2408:8409:5500::/41 -2408:8409:5580::/43 +2408:8409:5580::/42 2408:8409:6000::/40 2408:8409:6100::/41 -2408:8409:6180::/43 +2408:8409:6180::/42 2408:8409:6c00::/40 2408:8409:6d00::/41 -2408:8409:6d80::/43 +2408:8409:6d80::/42 2408:8409:7800::/40 2408:8409:7900::/41 -2408:8409:7980::/43 +2408:8409:7980::/42 2408:8409:8400::/40 2408:8409:8500::/41 -2408:8409:8580::/43 +2408:8409:8580::/42 2408:8409:9000::/40 2408:8409:9100::/41 -2408:8409:9180::/43 +2408:8409:9180::/42 2408:8409:9c00::/40 2408:8409:9d00::/41 -2408:8409:9d80::/43 +2408:8409:9d80::/42 2408:8409::/40 2408:8409:a800::/40 2408:8409:a900::/41 -2408:8409:a980::/43 +2408:8409:a980::/42 2408:8409:b400::/40 2408:8409:b500::/41 -2408:8409:b580::/43 +2408:8409:b580::/42 2408:8409:c00::/40 2408:8409:d00::/41 -2408:8409:d80::/43 +2408:8409:d80::/42 2408:840c:1100::/40 2408:840c:1a00::/40 2408:840c:1c00::/40 @@ -2910,7 +2915,6 @@ 2408:880c::/30 2408:8810::/30 2408:8814::/31 -2408:8816::/32 2408:8818::/31 2408:882c::/32 2408:883a::/32 @@ -3018,7 +3022,6 @@ 240a:40c1:2000::/43 240a:40c1:4000::/43 240a:40c1:6000::/43 -240a:40c1:8000::/43 240a:40c1::/43 240a:40c1:a000::/43 240a:40c1:c000::/43 @@ -3120,8 +3123,9 @@ 2605:9d80:9092::/48 2804:1e48:9001::/48 2804:1e48:9002::/48 +2a01:f100:100::/48 +2a01:f100:1f8::/48 2a01:ffc7:100::/40 -2a03:5840:11b::/48 2a03:5840:126::/48 2a04:3e00:1002::/48 2a04:f580:8010::/47 @@ -3150,26 +3154,20 @@ 2a04:f580:9290::/48 2a05:1087::/32 2a05:dfc3:ff00::/40 +2a06:1180:1000::/48 2a06:1281:8000::/36 2a06:3606::/31 2a06:9f81:4600::/44 -2a06:9f81:4640::/43 +2a06:9f81:4640::/44 2a06:9f81:4660::/44 -2a06:9f81:5100::/40 -2a06:9f81:6100::/40 -2a06:9f81:640b::/48 -2a06:9f81:6455::/48 -2a06:9f81:6488::/48 -2a06:9f81:64a1::/48 2a06:a005:1c40::/44 2a06:a005:260::/43 2a06:a005:280::/43 2a06:a005:2a0::/44 2a06:a005:8d0::/44 -2a06:a005:9c0::/48 2a06:a005:9e0::/44 2a06:a005:a13::/48 -2a06:a005:e80::/43 +2a06:a005:e9a::/48 2a09:54c6:3000::/36 2a09:54c6:6000::/35 2a09:54c6:b000::/36 @@ -3186,13 +3184,12 @@ 2a0a:6044:7a00::/40 2a0b:2542::/48 2a0b:4e07:b8::/47 -2a0b:b87:ffb5::/48 2a0c:9a40:9e00::/43 -2a0c:9a46:800::/44 2a0c:b641:571::/48 2a0c:b641:d40::/44 -2a0e:8f02:f067::/48 +2a0e:15c1::/32 2a0e:97c0:550::/44 +2a0e:97c0:5ef::/48 2a0e:97c0:83f::/48 2a0e:9b00::/29 2a0e:aa01:1fff::/48 @@ -3215,9 +3212,10 @@ 2a0e:aa07:e160::/47 2a0e:aa07:e162::/48 2a0e:aa07:e16a::/48 -2a0e:aa07:e1a0::/43 -2a0e:aa07:e1e2::/48 -2a0e:aa07:e1e4::/48 +2a0e:aa07:e1a0::/44 +2a0e:aa07:e1e2::/47 +2a0e:aa07:e1e4::/47 +2a0e:aa07:e1e6::/48 2a0e:aa07:e200::/44 2a0e:aa07:e210::/48 2a0e:aa07:e21c::/47 @@ -3230,13 +3228,13 @@ 2a0e:b107:14a0::/44 2a0e:b107:16b0::/44 2a0e:b107:178d::/48 +2a0e:b107:178e::/48 2a0e:b107:272::/48 2a0e:b107:740::/44 2a0e:b107:c10::/48 2a0e:b107:da0::/44 2a0e:b107:dce::/48 2a0f:5707:ac00::/47 -2a0f:7803:dd00::/42 2a0f:7803:e300::/40 2a0f:7803:f5d0::/44 2a0f:7803:f5e0::/43 @@ -3245,34 +3243,31 @@ 2a0f:7803:f7c0::/42 2a0f:7803:f800::/43 2a0f:7803:f840::/44 -2a0f:7803:f860::/44 -2a0f:7803:f8b0::/44 2a0f:7803:fa21::/48 2a0f:7803:fa22::/47 2a0f:7803:fa24::/46 2a0f:7803:faf3::/48 2a0f:7803:fe41::/48 -2a0f:7803:fe42::/48 2a0f:7803:fe44::/46 2a0f:7803:fe4a::/48 2a0f:7803:fe4e::/48 2a0f:7803:fe81::/48 2a0f:7803:fe82::/48 -2a0f:7804:da00::/40 2a0f:7804:f650::/44 2a0f:7804:f9f0::/44 -2a0f:7807::/32 2a0f:7d07::/32 2a0f:85c1:816::/48 2a0f:85c1:b3a::/48 2a0f:85c1:ba5::/48 -2a0f:85c1:bfe::/48 +2a0f:85c1:bba::/48 2a0f:9400:6110::/48 2a0f:9400:6163::/48 2a0f:9400:7700::/48 2a0f:ac00::/29 2a10:2f00:15a::/48 -2a10:cc40:190::/48 +2a10:ccc0:d00::/46 +2a10:ccc0:d0a::/48 +2a10:ccc0:d0c::/47 2a12:f8c3::/36 2a13:1800:10::/48 2a13:1800:300::/44 @@ -3289,9 +3284,8 @@ 2a13:a5c7:2301::/48 2a13:a5c7:2801::/48 2a13:a5c7:2803::/48 -2a13:a5c7:3100::/44 -2a13:a5c7:3110::/47 -2a13:a5c7:3112::/48 +2a13:a5c7:3100::/43 +2a13:a5c7:3307::/48 2a13:aac4:f000::/44 2a14:4c41::/32 2a14:67c1:20::/44 @@ -3299,52 +3293,57 @@ 2a14:67c1:704::/48 2a14:67c1:70::/47 2a14:67c1:73::/48 -2a14:67c1:800::/48 +2a14:67c1:74::/48 2a14:67c1:a010::/44 2a14:67c1:a020::/48 2a14:67c1:a023::/48 2a14:67c1:a024::/48 2a14:67c1:a02a::/48 2a14:67c1:a02f::/48 +2a14:67c1:a040::/48 2a14:67c1:a061::/48 2a14:67c1:a064::/48 -2a14:67c1:a090::/47 -2a14:67c1:a092::/48 +2a14:67c1:a090::/48 +2a14:67c1:a093::/48 +2a14:67c1:a095::/48 +2a14:67c1:a099::/48 2a14:67c1:a100::/43 +2a14:67c1:a121::/48 +2a14:67c1:a125::/48 +2a14:67c1:a127::/48 +2a14:67c1:a141::/48 +2a14:67c1:a142::/48 +2a14:67c1:a150::/44 2a14:67c1:b000::/48 2a14:67c1:b065::/48 -2a14:67c1:b066::/47 +2a14:67c1:b066::/48 2a14:67c1:b068::/47 2a14:67c1:b100::/46 2a14:67c1:b105::/48 -2a14:67c1:b106::/48 -2a14:67c1:b400::/43 -2a14:67c1:b4f0::/44 -2a14:67c5:1000::/39 -2a14:7580:9202::/47 -2a14:7580:9205::/48 +2a14:67c1:b107::/48 +2a14:67c1:b130::/47 +2a14:67c1:b132::/48 +2a14:67c1:b4d0::/44 +2a14:67c1:b4e0::/43 +2a14:67c1:b500::/48 +2a14:67c1:b563::/48 +2a14:67c1:b566::/48 +2a14:67c1:b582::/48 +2a14:67c5:1100::/40 +2a14:67c5:1900::/40 +2a14:7580:9200::/40 2a14:7580:9400::/39 2a14:7580:9600::/46 -2a14:7580:960c::/47 +2a14:7580:960c::/48 2a14:7580:d000::/37 2a14:7580:d800::/39 2a14:7580:e200::/40 -2a14:7580:fa00::/40 +2a14:7580:fa01::/48 2a14:7580:fe00::/40 +2a14:7580:fff4::/48 +2a14:7581:3100::/40 +2a14:7581:3400::/47 2a14:7581:9010::/44 -2a14:7581:b10::/48 -2a14:7581:b30::/48 -2a14:7581:b32::/47 -2a14:7581:b34::/46 -2a14:7581:b40::/48 -2a14:7581:b42::/47 -2a14:7581:b52::/48 -2a14:7581:b60::/48 -2a14:7581:b62::/47 -2a14:7581:b64::/48 -2a14:7581:b72::/48 -2a14:7581:bbb::/48 -2a14:7581:bcd::/48 2a14:7584:9000::/36 2a14:7584::/36 2a14:7c0:4a01::/48 @@ -3354,7 +3353,7 @@ 2c0f:f7a8:8150::/48 2c0f:f7a8:815f::/48 2c0f:f7a8:8211::/48 -2c0f:f7a8:9010::/47 +2c0f:f7a8:9010::/48 2c0f:f7a8:9020::/48 2c0f:f7a8:9041::/48 2c0f:f7a8:9210::/47 diff --git a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/gfwlist b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/gfwlist index 10deea3434..c0a30a8974 100644 --- a/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/gfwlist +++ b/openwrt-passwall/luci-app-passwall/root/usr/share/passwall/rules/gfwlist @@ -1,9 +1,7 @@ 000webhost.com 030buy.com 0rz.tw -10.tt 1000giri.net -100ke.org 10beasts.net 10conditionsoflove.com 10musume.com @@ -21,30 +19,22 @@ 177pic.info 17t17p.com 18board.com -18board.info 18comic.org 18onlygirls.com 18p2p.com 18virginsex.com -1949er.org 1984bbs.com -1984bbs.org -1989report.hkja.org.hk 1991way.com -1998cdp.org -1bao.org 1dumb.com 1e100.net 1eew.com 1lib.sk 1mobile.com -1mobile.tw 1point3acres.com 1pondo.tv 2-hand.info 2000fun.com 2008xianzhang.info -2017.hk 2021hkcharter.com 2047.name 2047.one @@ -54,7 +44,6 @@ 228.net.tw 233abc.com 24hrs.ca -24smile.org 25u.com 2lipstube.com 2shared.com @@ -72,7 +61,6 @@ 3ren.ca 3tui.net 404museum.com -43110.cf 466453.com 4bluestones.biz 4chan.com @@ -92,7 +80,6 @@ 5278.cc 5299.tv 56cun04.jigsy.com -5aimiku.com 5i01.com 5isotoi5.org 5maodang.com @@ -115,9 +102,7 @@ 7capture.com 7cow.com 8-d.com -85cc.net 85cc.us -85st.com 881903.com 888.com 888poker.com @@ -126,8 +111,7 @@ 8964museum.com 8news.com.tw 8z1.net -9001700.com -908taiwan.org +91dasai.com 91porn.com 91porny.com 91vps.club @@ -146,10 +130,8 @@ a5.com.ru aamacau.com abc.com abc.net.au -abc.pp.ru abc.xyz abchinese.com -abclite.net abebooks.co.uk abebooks.com abematv.akamaized.net @@ -157,7 +139,7 @@ abitno.linpie.com ablwang.com aboluowang.com about.me -aboutgfw.com +abplive.com abs.edu acast.com accim.org @@ -189,7 +171,6 @@ adsense.com adult-sex-games.com adult.friendfinder.com adultfriendfinder.com -adultkeep.net advanscene.com advertfan.com advertisercommunity.com @@ -205,8 +186,6 @@ afreecatv.com agnesb.fr agoogleaday.com agro.hk -ai-kan.net -ai-wen.net ai.binwang.me aiosearch.com aiph.net @@ -226,12 +205,10 @@ akiba-web.com akinator.com akow.org al-islam.com -al-qimmah.net alabout.com alanhou.com alarab.qa alasbarricadas.org -alexlur.org alforattv.net alhayat.com alicejapan.co.jp @@ -243,7 +220,6 @@ all4mom.org allcoin.com allconnected.co alldrawnsex.com -allervpn.com allfinegirls.com allgirlmassage.com allgirlsallowed.org @@ -253,7 +229,6 @@ allinfa.com alljackpotscasino.com allmovie.com allowed.org -almasdarnews.com almostmy.com alphaporno.com alternate-tools.com @@ -277,10 +252,9 @@ amnesty.org amnesty.org.hk amnesty.tw amnestyusa.org -amnyemachen.org -amoiist.com ampproject.org amtb-taipei.org +amuletmc.com anchor.fm anchorfree.com ancsconf.org @@ -289,7 +263,6 @@ android-x86.org android.com androidapksfree.com androidify.com -androidplus.co androidtv.com andygod.com angela-merkel.de @@ -311,7 +284,6 @@ anpopo.com answering-islam.org anthonycalzadilla.com anthropic.com -anti1984.com antichristendom.com antiwave.net antpool.com @@ -320,9 +292,7 @@ anysex.com ao3.org aobo.com.au aofriend.com -aofriend.com.au aojiao.org -aolchannels.aol.com aomedia.org aomiwang.com apartmentratings.com @@ -332,14 +302,11 @@ apetube.com api-secure.recaptcha.net api-verify.recaptcha.net api.ai -api.linksalpha.com api.pureapk.com api.recaptcha.net api.steampowered.com apiary.io -apidocs.linksalpha.com apigee.com -apk-dl.com apk.support apkcombo.com apkmirror.com @@ -347,18 +314,13 @@ apkmonk.com apkplz.com apkpure.com apkpure.net -aplusvpn.com app.box.com app.cloudcone.com -app.evozi.com -app.heywire.com app.smartmailcloud.com -app.tutanota.com appadvice.com appbrain.com appdownloader.net appledaily.com -appledaily.com.hk appledaily.com.tw apps.evozi.com appshopper.com @@ -384,12 +346,12 @@ areca-backup.org arena.taipei arethusa.su arlingtoncemetery.mil -army.mil art4tibet1998.org arte.tv artofpeacefoundation.org artstation.com artsy.net +arvanstorage.ir asacp.org asdfg.jp asg.to @@ -398,11 +360,8 @@ asiaharvest.org asianage.com asianews.it asiansexdiary.com -asianspiss.com -asianwomensfilm.de asiaone.com asiatgp.com -asiatoday.us ask.com askstudent.com askynz.net @@ -417,23 +376,18 @@ atchinese.com atgfw.org athenaeizou.com atlanta168.com -atlaspost.com atnext.com auctions.yahoo.co.jp audacy.com auntology.fandom.com authorizeddns.net authorizeddns.org -authorizeddns.us autodraw.com av-e-body.com av.com av.movie -av.nightlife141.com av01.tv avaaz.org -avbody.tv -avcity.tv avcool.com avdb.in avdb.tv @@ -449,10 +403,8 @@ avoision.com avyahoo.com axios.com axureformac.com -azerbaycan.tv azerimix.com azirevpn.com -azubu.tv azurewebsites.net b-ok.cc b.hatena.ne.jp @@ -472,7 +424,6 @@ baijie.org bailandaily.com baixing.me baizhi.org -bakgeekhome.tk banana-vpn.com band.us bandcamp.com @@ -511,26 +462,19 @@ bbs.ecstart.com bbs.hanminzu.org bbs.huasing.org bbs.junglobal.net -bbs.kimy.com.tw bbs.mikocon.com bbs.morbell.com bbs.mychat.to bbs.naixi.net -bbs.netbig.com bbs.nyinfor.com -bbs.ozchinese.com -bbs.qmzdd.com bbs.sina.com bbs.skykiwi.com bbs.sou-tong.org -bbs.tuitui.info bbsdigest.com -bbsfeed.com bbsland.com bbsmo.com bbsone.com bbtoystore.com -bcast.co.nz bcc.com.tw bcchinese.net bcex.ca @@ -548,7 +492,6 @@ behindkink.com beijing1989.com beijing2022.art beijingspring.com -beijingzx.org belamionline.com bell.wiki bemywife.cc @@ -556,7 +499,6 @@ beric.me berlinerbericht.de berlintwitterwall.com berm.co.nz -bestforchina.org bestgore.com bestpornstardb.com bestvpn.com @@ -580,10 +522,8 @@ bgme.me bgvpn.com bianlei.com biantailajiao.com -biantailajiao.in biblesforamerica.org bibox.com -bic2011.org biedian.me big.one bigfools.com @@ -603,13 +543,11 @@ bit-z.com bit.do bit.ly bitbay.net -bitc.bme.emory.edu bitchute.com bitcointalk.org bitcoinworld.com bitfinex.com bithumb.com -bitinka.com.ar bitmex.com bitshare.com bitsnoop.com @@ -623,6 +561,7 @@ bjzc.org bl-doujinsouko.com blacked.com blacklogic.com +blackmagicdesign.com blackvpn.com blewpass.com blinkx.com @@ -633,36 +572,27 @@ blockcn.com blockedbyhk.com blockless.com blocktempo.com -blog.calibre-ebook.com -blog.cnyes.com blog.cryptographyengineering.com blog.de -blog.exblog.co.jp blog.excite.co.jp blog.expofutures.com blog.fizzik.com blog.foolsmountain.com blog.fuckgfw233.org blog.goo.ne.jp -blog.istef.info blog.jackjia.com blog.jp -blog.kangye.org blog.lester850.info blog.martinoei.com blog.pathtosharepoint.com blog.pentalogic.net blog.ranxiang.com blog.reimu.net -blog.sina.com.tw blog.sogoo.org blog.soylent.com -blog.syx86.cn blog.syx86.com blog.taragana.com blog.tiney.com -blog.workflow.is -blog.xuite.net blog.youthwant.com.tw blogblog.com blogcatalog.com @@ -673,9 +603,6 @@ blogimg.jp blogjav.net bloglines.com bloglovin.com -blogs.libraryinformationtechnology.com -blogs.tampabay.com -blogs.yahoo.co.jp blogspot.ae blogspot.al blogspot.am @@ -737,7 +664,6 @@ blogspot.sk blogspot.sn blogspot.tw blogspot.ug -blogtd.net blogtd.org bloodshed.net bloomberg.cn @@ -748,9 +674,7 @@ bloomfortune.com blubrry.com blueangellive.com bmdru.com -bmfinn.com bnbstatic.com -bnews.co bnext.com.tw bnn.co bnrmetal.com @@ -760,7 +684,6 @@ bodog88.com bolehvpn.net bolin.netfirms.com bonbonme.com -bonbonsex.com bonfoundation.org bongacams.com boobstagram.com @@ -771,7 +694,6 @@ bookepub.com books.com.tw booktopia.com.au bookwalker.com.tw -boomssr.com bootstrapcdn.com borgenmagazine.com bot.nu @@ -780,7 +702,6 @@ bowenpress.com boxpn.com boxun.com boxun.tv -boxunblog.com boxunclub.com boyangu.com boyfriendtv.com @@ -789,7 +710,6 @@ boysmaster.com br.hao123.com br.st brainyquote.com -brandonhutchinson.com braumeister.org brave.com bravotube.net @@ -800,11 +720,9 @@ breakgfw.com breaking911.com breakingtweets.com breakwall.net -briefdream.com briian.com brill.com brizzly.com -brkmd.com broadbook.com broadpressinc.com brookings.edu @@ -846,7 +764,6 @@ businesstoday.com.tw businessweek.com busu.org busytrade.com -buugaa.com buzzhand.com buzzhand.net buzzorange.com @@ -854,9 +771,7 @@ buzzsprout.com bvpn.com bwgyhw.com bwh1.net -bwsj.hk bx.in.th -bx.tl bybit.com bynet.co.il bypasscensorship.org @@ -877,7 +792,6 @@ cacnw.com cactusvpn.com cafepress.com cahr.org.tw -caijinglengyan.com calameo.com calebelston.com calendarz.com @@ -895,7 +809,6 @@ cams.org.sg canadameet.com canalporno.com canyu.org -cao.im caobian.info caochangqing.com caoporn.us @@ -919,7 +832,6 @@ castbox.fm catbox.moe catch22.net catchgod.com -catfightpayperview.xxx catholic.org.hk catholic.org.tw cathvoice.org.tw @@ -932,7 +844,6 @@ cbsnews.com cbtc.org.hk cccat.cc cccat.co -ccdtr.org ccfd.org.tw cchere.com ccim.org @@ -948,12 +859,12 @@ ccue.com ccvoice.ca ccw.org.tw cdbook.org -cdcparty.com cdef.org cdig.info cdjp.org cdn-images.mailchimp.com cdn-telegram.org +cdn.arstechnica.net cdn.assets.lfpcontent.com cdn.helixstudios.net cdn.jwplayer.com @@ -967,10 +878,8 @@ cdninstagram.com cdp1989.org cdp1998.org cdp2006.org -cdpa.url.tw cdpeu.org cdpuk.co.uk -cdpusa.org cdpweb.org cdpwu.org cdw.com @@ -989,18 +898,15 @@ cfr.org cftfc.com cgdepot.org cgst.edu -ch.shvoong.com change.org changeip.name changeip.net changeip.org changp.com -changsa.net channelnewsasia.com chanworld.org chaoex.com chaos.social -chapm25.com character.ai chat.lmsys.org chatgpt.com @@ -1010,15 +916,12 @@ checkgfw.com chengmingmag.com chenguangcheng.com chenpokong.com -chenpokong.net chenpokongvip.com chenshan20042005.wordpress.com cherrysave.com chhongbi.org -chicagoncmtv.com china-mmm.jp.net china-mmm.net -china-mmm.sa.com china-review.com.ua china-week.com china.ucanews.com @@ -1028,30 +931,23 @@ china21.com china21.org china5000.us chinaaffairs.org -chinaaid.me chinaaid.net chinaaid.org chinaaid.us chinachange.org chinachannel.hk -chinacitynews.be -chinacomments.org chinademocrats.org chinadialogue.net chinadigitaltimes.net chinaelections.org -chinaeweekly.com chinafile.com chinafreepress.org chinagate.com -chinageeks.org chinagfw.org chinagonet.com -chinagreenparty.org chinahorizon.org chinahush.com chinainperspective.com -chinainterimgov.org chinalaborwatch.org chinalawandpolicy.com chinalawtranslate.com @@ -1067,15 +963,11 @@ chinasoul.org chinasucks.net chinatopsex.com chinatown.com.au -chinatweeps.com chinauncensored.tv chinaview.wordpress.com chinaway.org chinaworker.info -chinaxchina.com chinayouth.org.hk -chinayuanmin.org -chinese-hermit.net chinese-leaders.org chinese-memorial.org chinese.donga.com @@ -1090,7 +982,6 @@ chinesen.de chinesenews.net.au chinesepen.org chineseradioseattle.com -chinesetalks.net chineseupress.com chingcheong.com chinman.net @@ -1105,7 +996,6 @@ chrlawyers.hk chrome.com chromecast.com chromeexperiments.com -chromercise.com chromestatus.com chromium.org chuang-yen.org @@ -1114,30 +1004,27 @@ chubun.com churchinhongkong.org chushigangdrug.ch ci-en.jp +cici.com ciciai.com cienen.com cineastentreff.de cipfg.org -circlethebayfortibet.org cirosantilli.com citizencn.com citizenlab.ca citizenlab.org -citizenscommission.hk citizensradio.org city365.ca city9x.com citypopulation.de citytalk.tw civicparty.hk -civildisobediencemovement.org civilhrfront.org civiliangunner.com civilmedia.tw civitai.com cixiaoya.club ck101.com -cl.d0z.net clarionproject.org classicalguitarblog.net claude.ai @@ -1150,15 +1037,12 @@ clearharmony.net clearsurance.com clearwisdom.net clementine-player.org -cling.omy.sg clinica-tibet.ru clipconverter.cc clipfish.de -cloakpoint.com cloud.dify.ai cloud.mail.ru cloudflare-ipfs.com -cloudfront.net cloudfunctions.net club1069.com clubhouseapi.com @@ -1169,13 +1053,10 @@ cmi.org.tw cmp.hku.hk cms.gov cmule.com -cmule.org cmx.im cn-proxy.com cn.fmnnow.com cn.freeones.com -cn.giganews.com -cn.ibtimes.com cn.nytstyle.com cn.sandscotaicentral.com cn.shafaqna.com @@ -1183,8 +1064,6 @@ cn.streetvoice.com cn.theaustralian.com.au cn.uncyclopedia.wikia.com cn.uptodown.com -cn.voa.mobi -cn2.streetvoice.com cn6.eu cna.com.tw cnabc.com @@ -1200,16 +1079,13 @@ cnproxy.com co.ng.mil coat.co.jp cobinhood.com -cochina.co cochina.org -code1984.com codeshare.io codeskulptor.org cofacts.tw -coin2co.in +coffeemanga.to coinbase.com coinbene.com -coinegg.com coinex.com coingecko.com coingi.com @@ -1227,7 +1103,6 @@ commandarms.com comments.app commentshk.com communistcrimes.org -community.windy.com communitychoicecu.com comparitech.com compileheart.com @@ -1237,7 +1112,6 @@ conoha.jp contactmagazine.net contests.twilio.com convio.net -coobay.com cool18.com coolaler.com coolder.com @@ -1247,7 +1121,6 @@ coolstuffinc.com copilot.microsoft.com corumcollege.com cos-moe.com -cosmic.monar.ch cosplayjav.pl costco.com cotweet.com @@ -1255,6 +1128,7 @@ counter.social coursehero.com coze.com cpj.org +cpu-monkey.com cq99.us crackle.com crazypool.org @@ -1269,7 +1143,6 @@ creativelab5.com cristyli.com crocotube.com crossfire.co.kr -crossthewall.net crossvpn.net crosswall.org croxyproxy.com @@ -1285,26 +1158,23 @@ csuchen.de csw.org.uk ct.org.tw ctao.org -ctfriend.net +ctinews.com ctitv.com.tw ctowc.org cts.com.tw ctwant.com cuhkacs.org -cuihua.org cuiweiping.net culture.tw cumlouder.com curvefish.com cusp.hk -cusu.hk cutout.pro cutscenes.net cw.com.tw cyberghost.natado.com cyberghostvpn.com cynscribe.com -cytode.us d-fukyu.com d.cash d100.net @@ -1323,17 +1193,14 @@ dafoh.org daftporn.com dagelijksestandaard.nl daidostup.ru -dailidaili.com dailymail.co.uk dailymotion.com dailynews.sina.com dailysabah.com dailyview.tw -daiphapinfo.net dajiyuan.com dajiyuan.de dajiyuan.eu -dajusha.baywords.com dalailama-archives.org dalailama.com dalailama.mn @@ -1358,11 +1225,9 @@ danke4china.net daodu14.jigsy.com daolan.net darktech.org -darktoy.net darpa.mil darrenliuwei.com dashlane.com -dastrassi.org data-vocabulary.org data.gov.tw daum.net @@ -1375,7 +1240,6 @@ dcard.tw dcmilitary.com ddc.com.tw ddex.io -ddhw.info ddns.info ddns.me.uk ddns.mobi @@ -1383,7 +1247,6 @@ ddns.ms ddns.name ddns.net ddns.us -de-sci.org deadhouse.org deadline.com deaftone.com @@ -1398,12 +1261,10 @@ definebabe.com deja.com delcamp.net delicious.com -demo.opera-mini.net demo.unlock-music.dev democrats.org demosisto.hk depositphotos.com -derekhsu.homeip.net desc.se desipro.de dessci.com @@ -1416,19 +1277,14 @@ deviantart.net devio.us devpn.com devv.ai -dfas.mil dfn.org dharamsalanet.com dharmakara.net -dhcp.biz diaoyuislands.org difangwenge.org digiland.tw digisfera.com -digitalnomadsproject.org diigo.com -dilber.se -dingchin.com.tw dipity.com directcreative.com discoins.com @@ -1450,7 +1306,6 @@ diyin.org dizhidizhi.com dizhuzhishang.com djangosnippets.org -djorz.com dl-laby.jp dl.box.net dlive.tv @@ -1482,17 +1337,15 @@ doctorvoice.org documentingreality.com dogfartnetwork.com dojin.com -dok-forum.net dolc.de dolf.org.hk -dollf.com domain.club.tw domaintoday.com.au dongtaiwang.com dongtaiwang.net dongyangjing.com dontfilter.us -dontmovetochina.com +doom9.org doosho.com doourbest.org dorjeshugden.com @@ -1503,12 +1356,9 @@ doub.io doubibackup.com doubiyunbackup.com doublethinklab.org -doubmirror.cf douchi.space dougscripts.com -douhokanko.net doujincafe.com -dowei.org download.aircrack-ng.org download.cnet.com dphk.org @@ -1520,24 +1370,18 @@ dragonsprings.org dreamamateurs.com drepung.org drgan.net -drmingxia.org dropbooks.tv dropbox.com dropboxapi.com dropboxusercontent.com -drsunacademy.com drtuber.com dscn.info dsmtp.com dstk.dk -dtdns.net dtiblog.com dtic.mil -dtwang.org -duanzhihu.com dubox.com duck.com -duckduckgo-owned-server.yahoo.net duckduckgo.com duckload.com duckmylife.com @@ -1545,8 +1389,6 @@ duga.jp duihua.org duihuahrjournal.org dumb1.com -dunyabulteni.net -duoweitimes.com duping.net duplicati.com dupola.com @@ -1559,6 +1401,7 @@ dw-world.com dw-world.de dw.com dw.de +dweb.link dwnews.com dwnews.net dynamic-dns.net @@ -1582,14 +1425,13 @@ e-gold.com e-hentai.org e-hentaidb.com e-info.org.tw -e-traderland.net e-zone.com.hk e123.hk +e621.net earlytibet.com earthcam.com earthvpn.com eastasiaforum.org -eastern-ark.com easternlightning.org eastturkestan.com eastturkistan-gov.org @@ -1607,12 +1449,10 @@ echofon.com ecimg.tw ecministry.net economist.com -ecsm.vs.com edgecastcdn.net edicypages.com edmontonchina.cn edmontonservice.com -edns.biz edoors.com edubridge.com edupro.org @@ -1631,7 +1471,6 @@ eksisozluk.com elconfidencial.com electionsmeter.com elgoog.im -ellawine.org elpais.com eltondisney.com emaga.com @@ -1648,13 +1487,11 @@ encrypt.me encyclopedia.com enewstree.com enfal.de -engagedaily.org englishforeveryone.org englishfromengland.co.uk englishpen.org enlighten.org.tw entermap.com -epa.gov.tw epac.to episcopalchurch.org epochhk.com @@ -1667,7 +1504,6 @@ epochtimes.com.tw epochtimes.cz epochtimes.de epochtimes.fr -epochtimes.ie epochtimes.it epochtimes.jp epochtimes.ru @@ -1683,7 +1519,6 @@ eraysoft.com.tr erepublik.com erights.net eriversoft.com -erktv.com ernestmandel.org erodaizensyu.com erodoujinlog.com @@ -1734,18 +1569,15 @@ expressvpn.com exrates.me extmatrix.com extremetube.com -exx.com ey.gov.tw eyevio.jp eyny.com -ezpc.tk ezpeer.com ezua.com f-droid.org f2pool.com f8.com fa.gov.tw -facebook.br facebook.com facebook.de facebook.design @@ -1760,7 +1592,6 @@ facesofnyfw.com facesoftibetanselfimmolators.info factchecklab.org factpedia.org -fail.hk faith100.org faithfuleye.com faiththedog.info @@ -1769,7 +1600,6 @@ fallenark.com falsefire.com falun-co.org falun-ny.net -falun.caltech.edu falunart.org falunasia.info falunau.org @@ -1778,7 +1608,6 @@ falundafa-dc.org falundafa-florida.org falundafa-nc.org falundafa-pa.net -falundafa-sacramento.org falundafa.org falundafaindia.org falundafamuseum.org @@ -1789,16 +1618,13 @@ falunhr.org faluninfo.de faluninfo.net falunpilipinas.net -falunworld.net familyfed.org famunion.com fan-qiang.com fanbox.cc -fangbinxing.com fangeming.com fangeqiang.com fanglizhi.info -fangmincn.org fangong.forums-free.com fangong.org fangongheike.com @@ -1808,7 +1634,6 @@ fanqiang.network fanqiang.tk fanqiangdang.com fanqianghou.com -fanqiangyakexi.net fanqiangzhe.com fanswong.com fantv.hk @@ -1850,7 +1675,6 @@ feeds.fileforum.com feedx.net feelssh.com feer.com -feifeiss.com feitian-california.org feitianacademy.org feixiaohao.com @@ -1868,26 +1692,23 @@ fhreports.net fiddle.jshell.net figprayer.com fileflyer.com -files2me.com fileserve.com filesor.com fillthesquare.org filmingfortibet.org -filmy.olabloga.pl filthdump.com financetwitter.com +financialexpress.com finchvpn.com findmespot.com findyoutube.com findyoutube.net fingerdaily.com -finler.net firearmsworld.net firebaseio.com fireofliberty.info fireofliberty.org firetweet.io -firstfivefollowers.com firstpost.com firstrade.com fish.audio @@ -1896,7 +1717,6 @@ flecheinthepeche.fr fleshbot.com fleursdeslettres.com flexpool.io -flgg.us flgjustice.org flickr.com flickrhivemind.net @@ -1917,32 +1737,23 @@ fnc.ebc.net.tw fochk.org focustaiwan.tw focusvpn.com -fofg-europe.net fofg.org -fofldfradio.org fooooo.com +forbes.com foreignaffairs.com foreignpolicy.com form.new forms.new forum.baby-kingdom.com forum.cyberctm.com -forum.idsam.com -forum.my903.com forum.mymaji.com -forum.omy.sg forum.palmislife.com -forum.setty.com.tw -forum.sina.com.hk forum.slime.com.tw forum.tvb.com forum.xinbao.de forum4hk.com -fotile.me fountmedia.io -fourface.nodesnoop.com fourthinternational.org -foxdie.us foxgay.com foxsub.com foxtang.com @@ -1951,7 +1762,6 @@ fpmt.org fpmt.tw fpmtmexico.org fq.wikia.com -fqok.org fqrouter.com frank2019.me franklc.com @@ -1960,33 +1770,25 @@ free-gate.org free-hada-now.org free-proxy.cz free-ss.site -free-ssh.com free.bg free.com.tw free.fr -free4u.com.ar -freealim.com freebeacon.com freebrowser.org freechal.com freechina.net freechina.news -freechinaforum.org freeddns.com freeddns.org -freedomchina.info freedomcollection.org freedomhouse.org freedominfonetweb.wordpress.com freedomsherald.org freeforums.org -freefq.com -freefuckvids.com freegao.com freehongkong.org freeilhamtohti.org freekazakhs.org -freekwonpyong.org freelotto.com freeman2.com freemoren.com @@ -2011,11 +1813,9 @@ freevpn.nl freewallpaper4.me freewebs.com freewechat.com -freewww.biz freewww.info freexinwen.com freeyellow.com -freeyoutubeproxy.net freezhihu.org friendfeed.com friends-of-tibet.org @@ -2041,12 +1841,10 @@ ftvnews.com.tw ftx.com fucd.com fuchsia.dev -fuckcnnic.net fuckgfw.org fulione.com fullerconsideration.com fullservicegame.com -fulue.com funf.tw funkyimg.com funp.com @@ -2054,19 +1852,14 @@ fuq.com furbo.org furhhdl.org furinkan.com -furl.net futurechinaforum.org futuremessage.org fux.com -fuyin.net fuyindiantai.org fuyu.org.tw fw.cm fxcm-chinese.com fxnetworks.com -fzh999.com -fzh999.net -fzlm.com g-area.org g-queen.com g.co @@ -2083,9 +1876,7 @@ galstars.net game735.com gamebase.com.tw gamejolt.com -gamer-cds.cdn.hinet.net gamer.com.tw -gamer2-cds.cdn.hinet.net gamez.com.tw gamousa.com ganges.com @@ -2093,17 +1884,13 @@ ganjing.com ganjingworld.com gaoming.net gaopi.net -gaozhisheng.net -gaozhisheng.org gardennetworks.com gardennetworks.org gartlive.com -gate-project.com gate.io gatecoin.com gather.com gatherproxy.com -gati.org.tw gaybubble.com gaycn.net gayhub.com @@ -2113,17 +1900,14 @@ gaytube.com gaywatch.com gazotube.com gcc.org.hk -gclooney.com gclubs.com gcmasia.com gcpnews.com gcr.io gdaily.org -gdbt.net gdzf.org geek-art.net geekerhome.com -geekheart.info gekikame.com gelbooru.com generated.photos @@ -2141,7 +1925,6 @@ getastrill.com getchu.com getcloak.com getfoxyproxy.org -getfreedur.com getgom.com geti2p.net getiton.com @@ -2156,9 +1939,7 @@ gettr.com gettrials.com getuploader.com gfbv.de -gfgold.com.hk gfsale.com -gfw.org.ua gfw.press gfw.report gfwatch.org @@ -2180,6 +1961,7 @@ github.io githubassets.com githubcopilot.com githubusercontent.com +gitlab.net gizlen.net gjczz.com glarity.app @@ -2200,31 +1982,23 @@ gluckman.com glype.com gmail.com gmgard.com -gmhz.org gmll.org gmodules.com -gmozomg.izihost.org gmp4.com gnci.org.hk gnews.org -go-pki.com go-to-zlibrary.se -go.nesnode.com go141.com go5.dev goagent.biz -goagent.codeplex.com -goagentplus.com godaddy.com godfootsteps.org -godns.work godoc.org godsdirectcontact.co.uk godsdirectcontact.org godsdirectcontact.org.tw godsimmediatecontact.com gofundme.com -gogotunnel.com gohappy.com.tw gojet.krtco.com.tw gokbayrak.com @@ -2237,14 +2011,11 @@ goldenfrog.com goldstep.net goldwave.com gongm.in -gongmeng.info -gongminliliang.com goo.gl goo.gle goo.ne.jp good.news gooday.xyz -gooddns.info goodhope.school goodnewsnetwork.org goodreaders.com @@ -2463,21 +2234,18 @@ googlegroups.com googlehosted.com googleideas.com googleinsidesearch.com -googlelabs.com googlemail.com googlemashups.com googlepagecreator.com googleplay.com googleplus.com googlescholar.com -googlesile.com googlesource.com googleusercontent.com googlevideo.com googleweblight.com googlezip.net gopetition.com -goproxing.net goreforum.com goregrish.com gospelherald.com @@ -2487,29 +2255,24 @@ gotgeeks.com gotquestions.org gotrusted.com gotw.ca +gov.ir gov.taipei gov.tw gr8domain.biz gr8name.biz grammaly.com grandtrial.org -grangorz.org graph.org graphis.ne.jp graphql.org gravatar.com greasyfork.org -great-firewall.com -great-roc.org greatfire.org greatfire.us7.list-manage.com greatfirewall.biz -greatfirewallofchina.net greatfirewallofchina.org greatroc.org -greatroc.tw greatzhonghua.org -greenfieldbookstore.com.hk greenparty.org.tw greenpeace.com.tw greenpeace.org @@ -2518,36 +2281,28 @@ greenvpn.net greenvpn.org grindr.com grok.com -grotty-monday.com ground.news -groups.google.cn gs-discuss.com gsearch.media gsp.target.com gstatic.com gtricks.com -gts-vpn.com gtv.org gtv1.org gu-chu-sum.org guaguass.com -guaguass.org guancha.org -guaneryu.com guangming.com.my -guangnianvpn.com guardster.com guishan.org gumroad.com gun-world.net gunsamerica.com gunsandammo.com -guo.media guruonline.hk gutteruncensored.com gvlib.com gvm.com.tw -gvt0.com gvt1.com gvt3.com gwins.org @@ -2574,12 +2329,9 @@ halktv.com.tr handcraftedsoftware.org hanime.tv hanime1.me -hanunyi.com hao.news -happy-vpn.com haproxy.org hardsextube.com -harunyahya.com hautelook.com hautelookcdn.com have8.com @@ -2587,7 +2339,6 @@ hbg.com hbo.com hclips.com hd.stheadline.com -hdlt.me hdtvb.net hdzog.com heartyit.com @@ -2597,17 +2348,11 @@ hecaitou.net hechaji.com heeact.edu.tw hegre-art.com -heix.pp.ru helloandroid.com helloqueer.com -helloss.pw -hellotxt.com hellouk.org -help.linksalpha.com helpeachpeople.com -helplinfen.com helpster.de -helpuyghursnow.org helpzhuling.org hentai.to hentaitube.tv @@ -2615,7 +2360,6 @@ hentaivideoworld.com heqinglian.net heritage.org herokuapp.com -heungkongdiscuss.com hexieshe.com hexieshe.xyz hexxeh.net @@ -2629,7 +2373,6 @@ hiccears.com hidden-advent.org hide.me hidecloud.com -hidein.net hideipvpn.com hideman.net hideme.nl @@ -2639,15 +2382,14 @@ hidemycomp.com higfw.com highpeakspureearth.com highrockmedia.com -hihiforum.com -hihistory.net hiitch.com hikinggfw.org hilive.tv himalayan-foundation.org himalayanglacier.com himemix.com -himemix.net +hindustantimes.com +hinet.net hitbtc.com hitomi.la hiveon.net @@ -2663,7 +2405,6 @@ hk.gradconnection.com hk.hao123img.com hk.jiepang.com hk01.com -hk32168.com hka8964.wordpress.com hkacg.com hkacg.net @@ -2679,7 +2420,6 @@ hkcmi.edu hkcnews.com hkcoc.com hkcoc.weather.com.hk -hkctu.org.hk hkdailynews.com.hk hkday.net hkdc.us @@ -2688,17 +2428,13 @@ hkej.com hkepc.com hket.com hkfaa.com -hkfreezone.com hkfront.org hkgalden.com hkgolden.com hkgpao.com -hkgreenradio.org hkheadline.com hkhkhk.com hkhrc.org.hk -hkhrm.org.hk -hkip.org.uk hkjc.com hkjp.org hklft.com @@ -2709,13 +2445,7 @@ hkpeanut.com hkptu.org hkreporter.com hkreporter.loved.hk -hkupop.hku.hk -hkusu.net -hkvwet.com -hkwcc.org.hk -hkzone.org hmoegirl.com -hmonghot.com hmv.co.jp hmvdigital.ca hmvdigital.com @@ -2725,11 +2455,9 @@ hojemacau.com.mo hola.com hola.org hole.thu.monster -holymountaincn.com holyspiritspeaks.org home.saxo home.sina.com -home.so-net.net.tw homedepot.com homeperversion.com homeservershow.com @@ -2741,7 +2469,6 @@ honven.xyz hootsuite.com hoover.org hoovers.com -hopedialogue.org hopto.org hornygamer.com hornytrip.com @@ -2753,13 +2480,11 @@ hotcoin.com hotels.cn hotfrog.com.tw hotgoo.com -hotpornshow.com hotpot.hk hotshame.com hotspotshield.com hottg.com hotvpn.com -hougaige.com howtoforge.com hoxx.com hoy.tv @@ -2771,7 +2496,6 @@ hqmovies.com hqsbnet.wordpress.com hqsbonline.wordpress.com hrcchina.org -hrcir.com hrea.org hrichina.org hrntt.org @@ -2790,14 +2514,12 @@ htl.li html5rocks.com https443.net https443.org -hua-yue.net huaglad.com huanghuagang.org huangyiyu.com huaren.us huaren4us.com huashangnews.com -huaxia-news.com huaxiabao.org huaxin.ph huayuworld.org @@ -2810,14 +2532,12 @@ hugoroy.eu huhaitai.com huhamhire.com huhangfei.com -huiyi.in hulkshare.com hulu.com huluim.com humanparty.me humanrightspressawards.org hung-ya.com -hungerstrikeforaids.org huobi.co huobi.com huobi.me @@ -2835,7 +2555,6 @@ hutong9.net huyandex.com hwadzan.tw hwayue.org.tw -hwinfo.com hxwk.org hxwq.org hybrid-analysis.com @@ -2846,20 +2565,14 @@ i-part.com.tw i-scmp.com i.111666.best i.lithium.com -i1.hk i2p2.de -i2runner.com i818hk.com iam.soy iamtopone.com -iask.bz iask.ca iav19.com iavian.net ibiblio.org -ibit.am -iblist.com -iblogserv-f.net ibros.org ibvpn.com icams.com @@ -2877,14 +2590,10 @@ identi.ca idiomconnection.com idope.se idouga.com -idreamx.com idv.tw -ieasy5.com ied2k.net ienergy1.com -iepl.us ifan.cz.cc -ifanqiang.com ifcss.org ifjc.org ifreechina.wordpress.com @@ -2892,13 +2601,10 @@ ifreewares.com ift.tt igcd.net igfw.net -igfw.tech igmg.de -ignitedetroit.net igoogle.com igotmail.com.tw igvita.com -ihakka.net ihao.org iicns.com iipdigital.usembassy.gov @@ -2910,14 +2616,12 @@ illawarramercury.com.au illusionfactory.com ilove80.be ilovelongtoes.com -im.tv im88.tw imageab.com imagefap.com imageflea.com imageglass.org images-gaytube.com -images.comico.tw imageshack.us imagevenue.com imagezilla.net @@ -2926,6 +2630,7 @@ imb.org imdb.com img.dlsite.jp img.ly +img.picgo.net imgasd.com imgchili.net imgmega.com @@ -2936,7 +2641,6 @@ imlive.com immigration.gov.tw immoral.jp impact.org.au -impp.mn improd.works in-disguise.com in99.org @@ -2944,9 +2648,11 @@ incapdns.net incloak.com incredibox.fr independent.co.uk +india.com indiablooms.com indianarrative.com indiandefensenews.in +indiatoday.in indiemerch.com inews-api.tvb.com info-graf.fr @@ -2955,7 +2661,6 @@ initiativesforchina.org inkbunny.net inkui.com inmediahk.net -innermongolia.org inoreader.com inote.tw insecam.org @@ -2965,7 +2670,6 @@ instagram.com instanthq.com institut-tibetain.org interactivebrokers.com -international-news.newsmagazine.asia internet.org internetdefenseleague.org internetfreedom.org @@ -2974,14 +2678,12 @@ inthenameofconfuciusmovie.com investigating.wordpress.com invidio.us inxian.com -iownyour.biz iownyour.org -ipalter.com ipdefenseforum.com ipfire.org +ipfs.4everland.io ipfs.io iphone4hongkong.com -iphonehacks.com iphonetaiwan.org iphonix.fr ipicture.ru @@ -2994,8 +2696,9 @@ ipredator.se iptv.com.tw iptvbin.com ipvanish.com +irangov.ir iredmail.org -ironbigfools.compython.net +irna.ir ironpython.net ironsocket.com is-a-hunter.com @@ -3019,19 +2722,16 @@ isohunt.com israbox.com issuu.com istars.co.nz -istiqlalhewer.com istockphoto.com isunaffairs.com isuntv.com isupportuyghurs.org -itaboo.info itaiwan.gov.tw italiatibet.org itasoftware.com itemdb.com itemfix.com ithelp.ithome.com.tw -its.caltech.edu itsaol.com itshidden.com itsky.it @@ -3040,7 +2740,6 @@ iu45.com iuhrdf.org iuksky.com ivacy.com -iverycd.com ivonblog.com ivpn.net iwara.tv @@ -3057,10 +2756,7 @@ jamaat.org jamestown.org jamyangnorbu.com jan.ai -jandyx.com -janwongphoto.com japan-whores.com -japanfirst.asianfreeforum.com japanhdv.com japantimes.co.jp jav.com @@ -3091,8 +2787,6 @@ jdwsy.com jeanyim.com jetos.com jex.com -jfqu36.club -jfqu37.xyz jgoodies.com jiangweiping.com jiaoyou8.com @@ -3101,12 +2795,10 @@ jiehua.cz jieshibaobao.com jifangge.com jigglegifs.com -jigong1024.com jihadintel.meforum.org jihadology.net jiji.com jims.net -jinbushe.org jingpin.org jingsim.org jinpianwang.com @@ -3114,7 +2806,6 @@ jinrizhiyi.news jintian.net jinx.com jitouch.com -jizzthis.com jjgirls.com jkb.cc jkforum.net @@ -3136,7 +2827,6 @@ jpl.nasa.gov jpopforum.net jsdelivr.net jtvnw.net -jubushoushen.com judicial.gov.tw juhuaren.com jukujo-club.com @@ -3144,23 +2834,19 @@ juliepost.com juliereyc.com junauza.com june4commemoration.org -junefourth-20.net jungleheart.com juoaa.com justdied.com justfreevpn.com justhost.ru -justicefortenzin.org justmysocks.net justmysocks1.net justmysockscn.com justpaste.it justtristan.com -juyuange.org juziyue.com jwmusic.org jyxf.net -k-doujin.net ka-wai.com kadokawa.co.jp kagyu.org @@ -3171,7 +2857,6 @@ kagyuoffice.org kagyuoffice.org.tw kaiyuan.de kakao.com -kalachakralugano.org kanald.com.tr kankan.today kannewyork.com @@ -3181,7 +2866,6 @@ kanzhongguo.com kanzhongguo.eu kaotic.com karayou.com -karkhung.com karmapa-teachings.org karmapa.org kawaiikawaii.jp @@ -3194,15 +2878,12 @@ kechara.com keepandshare.com keezmovies.com kendatire.com -kendincos.net kenengba.com -keontech.net kepard.com kex.com keycdn.com khabdha.org khatrimaza.org -khmusic.com.tw kichiku-doujinko.com kik.com killwall.com @@ -3252,13 +2933,10 @@ kurashsultan.com kurtmunger.com kusocity.com kwcg.ca -kwok7.com kwongwah.com.my kxsw.life kyofun.com kyohk.net -kyoyue.com -kyzyhello.com kzaobao.com kzeng.info la-forum.org @@ -3280,7 +2958,6 @@ laogai.org laogairesearch.org laomiu.com laoyang.info -laptoplockdown.com laqingdan.net larsgeorge.com lastcombat.com @@ -3299,17 +2976,13 @@ leeao.com.cn lefora.com left21.hk legalporno.com -legaltech.law.com legra.ph legsjapan.com -leirentv.ca leisurecafe.ca leisurepro.com lematin.ch lemonde.fr lenwhite.com -leorockwell.com -lerosua.org lesoir.be letou.com letscorp.net @@ -3345,6 +3018,7 @@ line.me line.naver.jp linear-abematv.akamaized.net linglingfa.com +lingualeo.com lingvodics.com link-o-rama.com linkedin.com @@ -3363,9 +3037,7 @@ listorious.com lists.w3.org litenews.hk liu-xiaobo.org -liudejun.com liuhanyu.com -liujianshu.com liuxiaobo.net liuxiaotong.com livecoin.net @@ -3374,21 +3046,16 @@ liveleak.com livemint.com livestream.com livevideo.com -livingonline.us livingstream.com -liwangyang.com lizhizhuangbi.com lkcn.net -lncn.org load.to lobsangwangyal.com localbitcoins.com localdomain.ws localpresshk.com lockestek.com -logbot.net login.target.com -logiqx.com logos.com.hk londonchinese.ca longhair.hk @@ -3398,7 +3065,6 @@ longtoes.com lookpic.com looktoronto.com lotsawahouse.org -lotuslight.org.hk lotuslight.org.tw lovetvshow.com lpsg.com @@ -3429,31 +3095,24 @@ m-team.cc m.hkgalden.com m.me m.moegirl.org -m.plixi.com -m.slandr.net ma.hao123.com macgamestore.com macrovpn.com -macts.com.tw mad-ar.ch madewithcode.com madonna-av.com madou.club madrau.com madthumbs.com -magazines.sina.com.tw -magic-net.info mahabodhi.org mahjongsoul.com maiio.net mail-archive.com -maildns.xyz main-ecnpaper-economist.content.pugpig.com maiplus.com maizhong.org makemymood.com makkahnewspaper.com -makzhou.warehouse333.com malaysiakini.com mamingzhe.com manchukuo.net @@ -3472,7 +3131,6 @@ maplew.com marc.info marguerite.su martau.com -martincartoons.com martsangkagyuofficial.org maruta.be marxist.com @@ -3487,17 +3145,13 @@ mastodon.social mastodon.xyz matainja.com material.io -mathable.io -mathiew-badimon.com matome-plus.com matome-plus.net matrix.org -matsushimakaede.com matters.news matters.town matthewdgreen.wordpress.com mattwilcox.net -maturejp.com maxing.jp mayimayi.com mcadforums.com @@ -3525,8 +3179,6 @@ mega.io mega.nz megalodon.jp megaproxy.com -megarotic.com -megavideo.com megurineluka.com meizhong.blog meizhong.report @@ -3541,16 +3193,12 @@ mercatox.com mercdn.net mercyprophet.org mergersandinquisitions.com -mergersandinquisitions.org meridian-trust.org -meripet.biz meripet.com merit-times.com.tw -meshrep.com mesotw.com messenger.com meta.com -metacafe.com metafilter.com metart.com metarthunter.com @@ -3565,10 +3213,8 @@ mgoon.com mgstage.com mh4u.org mhradio.org -michaelmarketl.com microvpn.com middle-way.net -mihk.hk mihr.com mihua.org mikanani.me @@ -3578,11 +3224,8 @@ milph.net milsurps.com mimiai.net mimivip.com -mimivv.com mindrolling.org mingdemedia.org -minghui-a.org -minghui-b.org minghui-school.org minghui.or.kr minghui.org @@ -3600,11 +3243,8 @@ mingpaotor.com mingpaovan.com mingshengbao.com minhhue.net -miniforum.org miningpoolhub.com ministrybooks.org -minzhuhua.net -minzhuzhanxian.com minzhuzhongguo.org miraheze.org miroguide.com @@ -3614,9 +3254,7 @@ mirrormedia.mg missav.com missav.ws mist.vip -mitao.com.tw mitbbs.com -mitbbsau.com miuipolska.pl mixero.com mixi.jp @@ -3625,7 +3263,6 @@ mixx.com mizzmona.com mjib.gov.tw mjlsh.usc.cuhk.edu.hk -mk5000.com mlc.ai mlcool.com mlzs.work @@ -3645,11 +3282,9 @@ moeaic.gov.tw moeerolibrary.com moeshare.cc mofa.gov.tw -mofaxiehui.com mofos.com mog.com mohu.club -mohu.ml mohu.rocks mojim.com mol.gov.tw @@ -3670,10 +3305,8 @@ moonbingo.com moptt.tw moresci.sale morningsun.org -moroneta.com mos.ru motherless.com -motiyun.com motor4ik.ru mousebreaker.com movements.org @@ -3683,7 +3316,6 @@ mpettis.com mpfinance.com mpinews.com mponline.hk -mqxd.org mrbasic.com mrbonus.com mrface.com @@ -3695,7 +3327,6 @@ msha.gov mstdn.social mswe1.org mthruf.com -mtw.tl mubi.com muchosucko.com mullvad.net @@ -3703,7 +3334,6 @@ multiply.com multiproxy.org multiupload.com mummysgold.com -murmur.tw musicade.net musixmatch.com muslimvideo.com @@ -3722,14 +3352,12 @@ my.opera.com my.pcloud.com my03.com myactimes.com -myanniu.com myaudiocast.com myav.com.tw mybbs.us mybet.com myca168.com mycanadanow.com -mychinamyhome.com mychinanet.com mychinanews.com mychinese.news @@ -3739,21 +3367,16 @@ mydad.info myddns.com myeasytv.com myeclipseide.com -myforum.com.hk -myforum.com.uk myfreecams.com myfreepaysite.com myfreshnet.com myftp.info -myftp.name myiphide.com myjs.tw mykomica.org mylftv.com -mymediarom.com mymoe.moe mymom.info -mymusic.net.tw mynetav.net mynetav.org mynumber.org @@ -3763,7 +3386,6 @@ mypikpak.com mypop3.net mypop3.org mypopescu.com -myradio.hk myreadingmanga.info mysecondarydns.com myshare.url.com.tw @@ -3785,7 +3407,6 @@ nalandabodhi.org nalandawest.org namgyal.org namgyalmonastery.org -namsisi.com nanopool.org nanyang.com nanyangpost.com @@ -3819,8 +3440,6 @@ nekoslovakia.net nemesis2.qx.net neo-miracle.com neowin.net -nepusoku.com -net-fits.pro netalert.me netbirds.com netcolony.com @@ -3834,7 +3453,6 @@ netsneak.com network54.com networkedblogs.com networktunnel.net -neverforget8964.org new-3lunch.net new-akiba.com new96.ca @@ -3843,6 +3461,7 @@ newcenturynews.com newchen.com newgrounds.com newhighlandvision.com +newindianexpress.com newipnow.com newlandmagazine.com.au newmitbbs.com @@ -3852,20 +3471,18 @@ news.ebc.net.tw news.msn.com.tw news.mt.co.kr news.nationalgeographic.com -news.omy.sg news.seehua.com news.sina.com.hk -news.sina.com.tw news.sinchew.com.my news.singtao.ca news.tvbs.com.tw news.ycombinator.com news1.kr news100.com.tw +news18.com newsancai.com newsblur.com newschinacomment.org -newscn.org newsdetox.ca newsdh.com newsmax.com @@ -3893,16 +3510,15 @@ nflximg.com nflximg.net nflxso.net nflxvideo.net +nftstorage.link nga.mil ngensis.com -ngodupdongchung.com nhentai.net nhi.gov.tw nhk-ondemand.jp nic.cz.cc nic.gov nicovideo.jp -nighost.org nightswatch.top nikke-en.com nikke-jp.com @@ -3913,14 +3529,11 @@ ninecommentaries.com ninjacloak.com ninjaproxy.ninja nintendium.com -ninth.biz nitter.cc nitter.net -nitter.pussthecat.org niu.moe niusnews.com njactb.org -njuice.com nko.navy.mil nlfreevpn.com nmsl.website @@ -3928,9 +3541,7 @@ nnews.eu no-ip.org nobel.se nobelprize.org -nobodycanstop.us nodeseek.com -nofile.io nokogiri.org nokola.com noodlevpn.com @@ -3942,13 +3553,11 @@ nordvpn.com nos.nl notepad-plus-plus.org nottinghampost.com -novelasia.com now.com now.im nownews.com nowtorrents.com noxinfluencer.com -noypf.com npa.go.jp npa.gov.tw npm.gov.tw @@ -3979,7 +3588,6 @@ ntdtv.org ntdtv.ru ntdtvla.com ntrfun.com -ntsna.gov.tw nubiles.net nuexpo.com nukistream.com @@ -3989,17 +3597,13 @@ nutaku.net nutsvpn.work nuuvem.com nuvid.com -nuzcom.com nvdst.com nvquan.org nvtongzhisheng.org nwtca.org -ny.stgloballink.com -ny.visiontimes.com nyaa.eu nyaa.si nybooks.com -nydus.ca nylon-angel.com nylonstockingsonline.com nypost.com @@ -4013,7 +3617,6 @@ nytimes.map.fastly.net nytimg.com nytstyle.com nzchinese.com -nzchinese.net.nz o3o.ca oanda.com oann.com @@ -4022,16 +3625,13 @@ obutu.com obyte.org ocaspro.com occupytiananmen.com -oclp.hk ocreampies.com ocry.com -ocsp.int-x3.letsencrypt.org october-review.org oculus.com oculuscdn.com odysee.com oex.com -offbeatchina.com officeoftibet.com ofile.org ogaoga.org @@ -4039,16 +3639,13 @@ ogate.org ohmyrss.com oikos.com.tw oiktv.com -oizoblog.com ok.ru okayfreedom.com okex.com okk.tw okpool.me okx.com -old-cat.net old.honeynet.org -old.nabble.com olehdtv.com olelive.com olevod.com @@ -4082,17 +3679,14 @@ onmypc.biz onmypc.info onmypc.net onmypc.org -onmypc.us onthehunt.com ontrac.com -oopsforum.com +oojj.de open.com.hk open.firstory.me openai.com -openallweb.com opendemocracy.net opendn.xyz -openervpn.in openid.net openleaks.org opensea.io @@ -4114,10 +3708,8 @@ oricon.co.jp orient-doll.com orientaldaily.com.my orn.jp -orzistic.org osfoora.com otcbtc.com -otnd.org otto.de otzo.com ourdearamy.com @@ -4149,10 +3741,8 @@ pacopacomama.com padmanet.com page.link page2rss.com -pagodabox.com paimon.moe palacemoon.com -paldengyal.com paljorpublications.com paltalk.com panamapapers.sueddeutsche.de @@ -4163,7 +3753,6 @@ pandavpn-jp.com pandavpnpro.com pandora.com pandora.tv -panluan.net panoramio.com pao-pao.net paper.li @@ -4204,15 +3793,12 @@ pdproxy.com pds.nasa.gov peace.ca peacefire.org -peacehall.com -pearlher.org peeasian.com peing.net pekingduck.org pemulihan.or.id pen.io penchinese.com -penchinese.net pendrivelinux.com penthouse.com pentoy.hk @@ -4235,14 +3821,12 @@ phosphation13.rssing.com photodharma.net photofocus.com photonmedia.net -phuquocservices.com piaotia.com picacomic.com picacomiccn.com picasaweb.com picidae.net picturedip.com -pictures.playboy.com picturesocial.com picuki.com pigav.com @@ -4256,7 +3840,6 @@ pinkrod.com pinoy-n.com pioneer-worker.forums-free.com pipii.tv -piposay.com piraattilahti.org piring.com pixeldrain.com @@ -4276,7 +3859,6 @@ playboyplus.com player.fm playno1.com playpcesor.com -plays.com.tw plexvpn.pro plm.org.hk plunder.com @@ -4296,7 +3878,6 @@ points-media.com pokerstars.com pokerstars.net politicalchina.org -politicalconsultation.org politiscales.net poloniex.com polymarket.com @@ -4319,7 +3900,7 @@ pornhd.com pornhost.com pornhub.com pornhubdeutsch.net -pornmm.net +pornmate.com pornoxo.com pornrapidshare.com pornsharing.com @@ -4337,7 +3918,6 @@ post01.com post76.com post852.com postadult.com -postimg.org posts.careerengine.us potato.im potvpn.com @@ -4351,6 +3931,7 @@ prcleader.org premproxy.com presentation.new presentationzen.com +president.ir presidentlee.tw prestige-av.com primevideo.com @@ -4377,19 +3958,14 @@ proxomitron.info proxpn.com proxyanonimo.es proxydns.com -proxylist.org.uk proxynetwork.org.uk -proxypy.net proxyroad.com proxytunnel.net proxz.com proyectoclubes.com -prozz.net -psblog.name pscp.tv pshvpn.com psiphon.ca -psiphon.civisec.org psiphon3.com psiphontoday.com pstatic.net @@ -4412,7 +3988,6 @@ purevpn.com purplelotus.org purpose.nike.com pursuestar.com -pushchinawall.com pussyspace.com putihome.org putlocker.com @@ -4423,7 +3998,6 @@ python.com python.com.tw pythonhackers.com pytorch.org -qanote.com qbittorrent.org qgirl.com.tw qhigh.com @@ -4435,7 +4009,6 @@ qiangwaikan.com qiangyou.org qianmo.tw qidian.ca -qienkuen.org qiwen.lu qixianglu.cn qkshare.com @@ -4445,11 +4018,7 @@ qpoe.com qq.co.za qstatus.com qtrac.eu -qtweeter.com -quannengshen.org -quantumbooter.net questvisual.com -quitccp.net quitccp.org quiz.directory quora.com @@ -4457,7 +4026,6 @@ quoracdn.net quran.com quranexplorer.com qusi8.net -qvodzy.org qxbbs.org qz.com r-pool.net @@ -4474,19 +4042,17 @@ radiohilight.net radioline.co radiovaticana.org radiovncr.com +radmin-vpn.com rael.org raggedbanner.com raidcall.com.tw -raidtalk.com.tw rainbowplan.org raindrop.io raizoji.or.jp rakuten.co.jp ramcity.com.au -rangwang.biz rangzen.net rangzen.org -ranyunfei.com rapbull.net rapidmoviez.com rapidvpn.com @@ -4500,7 +4066,6 @@ rcam.target.com rcinet.ca rconversation.blogs.com rd.com -rdio.com reabble.com read01.com read100.com @@ -4518,7 +4083,6 @@ recordhistory.org recovery.org.tw recoveryversion.com.tw red-lang.org -redballoonsolidarity.org redbubble.com redchinacn.net redchinacn.org @@ -4538,12 +4102,10 @@ relay.com.tw relay.firefox.com releaseinternational.org religionnews.com -religioustolerance.org renminbao.com renyurenquan.org resilio.com resistchina.org -retweeteffect.com retweetist.com retweetrank.com reuters.com @@ -4558,7 +4120,6 @@ rfaweb.org rferl.org rfi.fr rfi.my -rightbtc.com rigpa.org riku.me rileyguide.com @@ -4570,7 +4131,6 @@ rixcloud.us rlwlw.com rmbl.ws rmjdw.com -rmjdw132.info roadshow.hk roboforex.com robustnessiskey.com @@ -4584,12 +4144,10 @@ rolsociety.org ronjoneswriter.com roodo.com rosechina.net -rotten.com rou.video rsdlmonitor.com rsf-chinese.org rsf.org -rsgamen.org rsshub.app rssmeme.com rtalabel.org @@ -4599,7 +4157,6 @@ rthklive2-lh.akamaihd.net rti.org.tw rti.tw rtm.tnt-ea.com -rtycminnesota.org ruanyifeng.com rukor.org rule34.xxx @@ -4612,13 +4169,10 @@ ruten.com.tw rutracker.net rutracker.org rutube.ru -ruyiseek.com rxhj.net s-cute.com s-dragon.org s.yimg.com -s1.nudezz.com -s1heng.com s1s1s1.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com @@ -4629,7 +4183,6 @@ s3.amazonaws.com s3.ap-northeast-2.amazonaws.com s3.eu-central-1.amazonaws.com s3.us-east-1.amazonaws.com -s8forum.com sa.hao123.com sacks.com sacom.hk @@ -4640,7 +4193,6 @@ safeguarddefenders.com safervpn.com sagernet.org saintyculture.com -saiq.me sakuralive.com sakya.org salvation.org.hk @@ -4650,7 +4202,6 @@ sankakucomplex.com sankei.com sanmin.com.tw sapikachu.net -saveliuxiaobo.com savemedia.com savethedate.foo savethesounds.info @@ -4662,7 +4213,6 @@ savetibet.ru savetibetstore.org saveuighur.org savevid.com -say2.info sbme.me sbs.com.au scache.vzw.com @@ -4690,7 +4240,6 @@ secretgarden.no secretsline.biz secure.hustler.com secure.logmein.com -secure.raxcdn.com secure.shadowsocks.nu secureservercdn.net securetunnel.com @@ -4711,23 +4260,19 @@ servehttp.com serveuser.com serveusers.com sesawe.net -sesawe.org sethwklein.net setn.com settv.com.tw sevenload.com -sex-11.com sex.com sex3.com sex8.cc sexandsubmission.com sexbot.com sexhu.com -sexhuang.com sexidude.com sexinsex.net sextvx.com -sexxxy.biz sf.net sfileydy.com sfshibao.com @@ -4736,17 +4281,13 @@ sftuk.org shadeyouvpn.com shadow.ma shadowsky.xyz -shadowsocks-r.com shadowsocks.asia shadowsocks.be shadowsocks.com shadowsocks.com.hk shadowsocks.org -shadowsocks9.com shahit.biz shambalapost.com -shambhalasun.com -shangfang.org shapeservices.com share-videos.se share.america.gov @@ -4754,7 +4295,6 @@ share.ovi.com share.youthwant.com.tw sharebee.com sharecool.org -sharpdaily.com.hk sharpdaily.hk sharpdaily.tw shat-tibet.com @@ -4763,17 +4303,14 @@ sheet.new sheets.new sheikyermami.com shellfire.de -shenshou.org shenyun.com shenyunperformingarts.org shenyunshop.com shenzhoufilm.com shenzhouzhengdao.org -sherabgyaltsen.com shiatv.net shicheng.org shiksha.com -shinychan.com shipcamouflage.com shireyishunjian.com shitaotv.org @@ -4786,7 +4323,6 @@ shop2000.com.tw shopee.tw shopping.com shopping.yahoo.co.jp -showbiz.omy.sg showhaotu.com showtime.jp showwe.tw @@ -4822,8 +4358,6 @@ sinocast.com sinocism.com sinoinsider.com sinomontreal.ca -sinonet.ca -sinopitt.info sinoquebec.com sipml5.org sis.xxx @@ -4831,15 +4365,11 @@ sis001.com sis001.us site.new site2unblock.com -site90.net sitebro.tw sitekreator.com -siteks.uk.to sitemaps.org sites.new six-degrees.io -sixth.biz -sjrt.org sketchappsources.com skimtube.com skybet.com @@ -4871,7 +4401,6 @@ smith.edu smn.news smyxy.org snapseed.com -snaptu.com sndcdn.com sneakme.net snowlionpub.com @@ -4880,7 +4409,6 @@ soc.mil social.datalabour.com social.edu.ci socialblade.com -socialwhale.com socks-proxy.net sockscap64.com sockslist.net @@ -4890,8 +4418,6 @@ softether-download.com softether.co.jp softether.org softfamous.com -softnology.biz -softsmirror.cf softwarebychuck.com softwaredownload.gitbooks.io sogclub.com @@ -4908,26 +4434,21 @@ solidfiles.com solv.finance somee.com songjianjun.com -sonicbbs.cc sonidodelaesperanza.org sopcast.com sopcast.org -sorazone.net sorting-algorithms.com sos.org sosad.fun sosreader.com -sostibet.org soubory.com soul-plus.net soulcaliburhentai.net -soumo.info soundcloud.com soundofhope.kr soundofhope.org soundon.fm soup.io -soupofmedia.com sourceforge.net sourcewadio.com south-plus.net @@ -4948,7 +4469,6 @@ speakerdeck.com specxinzl.jigsy.com speedcat.me speedify.com -spem.at spencertipping.com spendee.com spicevpn.com @@ -4966,33 +4486,26 @@ springboardplatform.com springwood.me sprite.org sproutcore.com -sproxy.info squirly.info squirrelvpn.com srcf.ucam.org -srocket.us ss-link.com -ss.carryzhou.com -ss.levyhsu.com ss.pythonic.life ss7.vzw.com ssglobal.co ssglobal.me -ssh91.com ssl.webpack.de ssl443.org sspanel.net -sspro.ml ssr.tools ssrshare.com ssrshare.us ssrtool.com -sss.camp sstm.moe sstmlt.moe sstmlt.net stackoverflow.com -stage64.hk +standard.co.uk standupfortibet.org standwithhk.org stanford.edu @@ -5002,11 +4515,9 @@ startpage.com startuplivingchina.com stat.gov.tw static-economist.com -static.comico.tw static.shemalez.com static01.nyt.com staticflickr.com -statueofdemocracy.org stboy.net stc.com.sa steamcommunity.com @@ -5028,10 +4539,10 @@ stoptibetcrisis.net storage.yandex.net storagenewsletter.com store.steampowered.com -storify.com storj.io storm.mg stormmediagroup.com +storry.tv stoweboyd.com straitstimes.com stranabg.com @@ -5046,7 +4557,6 @@ strongwindpress.com studentsforafreetibet.org stumbleupon.com stupidvideos.com -subacme.rerouted.org subhd.tv substack.com successfn.com @@ -5056,7 +4566,6 @@ sugobbs.com sugumiru18.com suissl.com sujiatun.wordpress.com -sulian.me summify.com sumrando.com sun1911.com @@ -5069,10 +4578,8 @@ sunskyforum.com sunta.com.tw sunvpn.net sunwinism.joinbbs.net -suoluo.org supchina.com superfreevpn.com -superokayama.com superpages.com supervpn.net superzooi.com @@ -5102,27 +4609,22 @@ szetowah.org.hk t-g.com t.co t.me -t.orzdream.com t35.com t66y.com taa-usa.org taaze.tw tabtter.jp tacc.cwb.gov.tw -tacem.org taconet.com.tw taedp.org.tw tafm.org -tagwa.org.au tagwalk.com tahr.org.tw taipei.gov.tw taipeisociety.org taipeitimes.com taisounds.com -taiwan-sex.com taiwanbible.com -taiwancon.com taiwandaily.net taiwandc.org taiwanhot.net @@ -5138,35 +4640,27 @@ taiwannews.com.tw taiwantp.net taiwantt.org.tw taiwanus.net -taiwanyes.com taiwanyes.ning.com talk853.com talkboxapp.com talkcc.com talkonly.net -tamiaode.tk tanc.org -tangben.com tangren.us taoism.net -taolun.info tapanwap.com tapatalk.com tardigrade.io tarr.uspto.gov -tascn.com.au taup.net taweet.com tbcollege.org tbi.org.hk -tbicn.org tbjyt.org -tbpic.info tbrc.org tbs-rainbow.org tbsec.org tbskkinabalu.page.tl -tbsmalaysia.org tbsn.org tbsseattle.org tbssqh.org @@ -5178,13 +4672,10 @@ tcewf.org tchrd.org tcnynj.org tcpspeed.co -tcpspeed.com tcsofbc.org -tcsovi.org tdm.com.mo teachparentstech.org teamamericany.com -tech2.in.com technews.tw techspot.com techviz.net @@ -5198,7 +4689,6 @@ tehrantimes.com telecomspace.com telega.one telegra.ph -telegram-cdn.org telegram.dog telegram.me telegram.org @@ -5241,11 +4731,11 @@ thediplomat.com thedw.us theepochtimes.com thefacebook.com -thefrontier.hk thegay.com thegioitinhoc.vn thegly.com theguardian.com +thehansindia.com thehindu.com thehun.net theinitium.com @@ -5254,7 +4744,6 @@ thepiratebay.org theporndude.com theportalwiki.com theprint.in -thereallove.kr therock.net.nz thesaturdaypaper.com.au thestandnews.com @@ -5265,7 +4754,6 @@ thetibetmuseum.org thetibetpost.com thetrotskymovie.com thetvdb.com -thevivekspot.com thewgo.org thewirechina.com theync.com @@ -5280,12 +4768,10 @@ thongdreams.com threadreaderapp.com threads.com threads.net -threatchaos.com throughnightsfire.com thuhole.com thumbzilla.com thywords.com -thywords.com.tw tiananmenduizhi.com tiananmenmother.org tiananmenuniv.com @@ -5302,7 +4788,6 @@ tibet-foundation.org tibet-house-trust.co.uk tibet-initiative.de tibet-munich.de -tibet.a.se tibet.at tibet.ca tibet.com @@ -5311,7 +4796,6 @@ tibet.net tibet.nu tibet.org tibet.org.tw -tibet.sk tibet.to tibet3rdpole.org tibetaction.net @@ -5370,7 +4854,6 @@ tibetonline.tv tibetoralhistory.org tibetpolicy.eu tibetrelieffund.co.uk -tibetsites.com tibetsociety.com tibetsun.com tibetsupportgroup.org @@ -5390,7 +4873,6 @@ tiktokv.us tiltbrush.com timdir.com time.com -times.hinet.net timesnownews.com timesofindia.indiatimes.com timsah.com @@ -5398,7 +4880,6 @@ timtales.com tinc-vpn.org tineye.com tingtalk.me -tintuc101.com tiny.cc tinychat.com tinypaste.com @@ -5410,15 +4891,12 @@ tkcs-collins.com tl.gd tma.co.jp tmagazine.com -tmdfish.com tmi.me tmpp.org tn1.shemalez.com tn2.shemalez.com tn3.shemalez.com tnaflix.com -tngrnow.com -tngrnow.net tnp.org to-porno.com togetter.com @@ -5431,9 +4909,7 @@ tokyo-porn-tube.com tokyocn.com tomp3.cc tongil.or.kr -tono-oka.jp tonyyan.net -toodoc.com toonel.net top.tv top10vpn.com @@ -5446,7 +4922,6 @@ topshareware.com topsy.com toptip.ca toptoon.net -tor.blingblingsquad.net tor.updatestar.com tora.to torcn.com @@ -5458,7 +4933,6 @@ torrentkitty.tv torrentprivacy.com torrentproject.se torrenty.org -torrentz.eu tortoisesvn.net torvpn.com tosh.comedycentral.com @@ -5473,14 +4947,11 @@ tparents.org tpi.org.tw tracfone.com tradingview.com -trans.wenweipo.com translate.goog transparency.org treemall.com.tw trendsmap.com -trialofccp.org trickip.net -trickip.org trimondi.de tronscan.org trouw.nl @@ -5488,8 +4959,6 @@ trt.net.tr trtc.com.tw truebuddha-md.org trulyergonomic.com -truth101.co.tv -truthontour.org truthsocial.com truveo.com tryheart.jp @@ -5514,9 +4983,7 @@ tubeislam.com tubepornclassic.com tubestack.com tubewolf.com -tui.orzdream.com tuibeitu.net -tuidang.net tuidang.org tuidang.se tuitwit.com @@ -5533,7 +5000,6 @@ tunsafe.com turansam.org turbobit.net turbohide.com -turbotwitter.com turkistantimes.com turntable.fm tushycash.com @@ -5554,29 +5020,22 @@ tw.hao123.com tw.jiepang.com tw.streetvoice.com tw.tomonews.net -tw.voa.mobi tw01.org twaitter.com twapperkeeper.com twaud.io twavi.com -twbbs.net.tw twbbs.org -twbbs.tw twblogger.com tweepguide.com -tweeplike.me tweepmag.com tweepml.org tweetbackup.com tweetboard.com -tweetboner.biz tweetcs.com tweetdeck.com tweetedtimes.com -tweetmylast.fm tweetphoto.com -tweetrans.com tweetree.com tweettunnel.com tweetwally.com @@ -5601,21 +5060,14 @@ twilog.org twimbow.com twimg.com twimg.edgesuite.net -twindexx.com twip.me twipple.jp twishort.com -twistar.cc twister.net.co -twisterio.com twisternow.com twistory.net -twit2d.com -twitbrowser.net -twitcause.com twitch.tv twitchcdn.net -twitgether.com twitgoo.com twitiq.com twitlonger.com @@ -5638,21 +5090,18 @@ twittertim.es twitthat.com twitturk.com twitturly.com -twitvid.com twitzap.com twiyia.com twkan.com twnorth.org.tw twreporter.org twskype.com -twstar.net twt.tl twtkr.com twtr2src.ogaoga.org twtrland.com twttr.com twurl.nl -twyac.org tx.me txxx.com tycool.com @@ -5666,7 +5115,6 @@ ub0.cc ubddns.org uberproxy.net uc-japan.org -ucdc1998.org uchicago.edu uderzo.it udn.com @@ -5681,7 +5129,6 @@ uighur.narod.ru uighur.nl uighurbiz.net ukcdp.co.uk -ukliferadio.co.uk uku.im ulike.net ulop.net @@ -5704,7 +5151,6 @@ uni.cc unification.net unification.org.tw unirule.cloud -unitedsocialpress.com unix100.com unknownspace.org unmineable.com @@ -5712,13 +5158,11 @@ unodedos.com unpo.org unseen.is unstable.icu -untraceable.us unwire.hk uocn.org updates.tdesktop.com upghsbc.com upholdjustice.org -upload4u.info uploaded.net uploaded.to uploadstation.com @@ -5741,13 +5185,10 @@ uscardforum.com uscg.mil uscnpm.org use.typekit.net -userapi.nytlog.com usercontent.goog users.skynet.be usfk.mil -ushuarencity.echainhost.com usma.edu -usmc.mil usmgtcg.ning.com usno.navy.mil usocctn.com @@ -5755,7 +5196,6 @@ ustibetcommittee.org ustream.tv usus.cc utopianpal.com -uu-gg.com uujiasu.com uukanshu.com uupool.cn @@ -5767,10 +5207,8 @@ uyghur.co.uk uyghuraa.org uyghuramerican.org uyghurbiz.org -uyghurcanadian.ca uyghurcongress.org uyghurpen.org -uyghurpress.com uyghurstudies.org uyghurtribunal.com uygur.fc2web.com @@ -5781,7 +5219,6 @@ v2ex.com v2fly.org v2ray.com v2raycn.com -v2raytech.com valeursactuelles.com van001.com van698.com @@ -5793,7 +5230,6 @@ vaticannews.va vatn.org vcf-online.org vcfbuilder.org -vds.rightster.com vegas.williamhill.com vegasred.com velkaepocha.sk @@ -5805,7 +5241,6 @@ veoh.com vercel.app vermonttibet.org vern.cc -versavpn.com verybs.com vevo.com vewas.net @@ -5817,8 +5252,6 @@ vidble.com video.aol.ca video.aol.co.uk video.aol.com -video.ap.org -video.fdbox.com video.foxbusiness.com videobam.com videodetective.com @@ -5839,7 +5272,6 @@ vinniev.com vip-enterprise.com virtualrealporn.com visibletweets.com -vital247.org viu.com viu.tv vivahentai4u.net @@ -5850,7 +5282,6 @@ vizvaz.com vjav.com vjmedia.com.hk vllcs.org -vlog.xuite.net vmixcore.com vmpsoft.com vn.hao123.com @@ -5891,7 +5322,6 @@ vpncup.com vpndada.com vpnfan.com vpnfire.com -vpnfires.biz vpnforgame.net vpngate.jp vpngate.net @@ -5900,7 +5330,6 @@ vpnhq.com vpnhub.com vpninja.net vpnintouch.com -vpnintouch.net vpnjack.com vpnmaster.com vpnmentor.com @@ -5932,15 +5361,12 @@ vuku.cc vultryhw.com w-pool.com w.idaiwan.com +w3s.link waffle1999.com wahas.com -waigaobu.com waikeung.org -wailaike.net wainao.me -waiwaier.com wallmama.com -wallornot.org wallpapercasa.com wallproxy.com wallsttv.com @@ -5955,7 +5381,6 @@ wangruoshui.net want-daily.com wanz-factory.com wapedia.mobi -warbler.iconfactory.net warroom.org waselpro.com washingtonpost.com @@ -5993,7 +5418,6 @@ webwarper.net webworkerdaily.com wechatlawsuit.com weebly.com -weekmag.info wefightcensorship.org wefong.com wego.here.com @@ -6008,7 +5432,6 @@ welt.de wemigrate.org wengewang.com wengewang.org -wenhui.ch wenxuecity.com wenyunchao.com wenzhao.ca @@ -6019,31 +5442,24 @@ westkit.net westpoint.edu wetplace.com wetpussygames.com -wexiaobo.org -wezhiyong.org wezone.net wforum.com -wha.la whatblocked.com whatbrowser.org whats.new whatsapp.com whatsapp.net -wheatseeds.org wheelockslatin.com whereiswerner.com wheretowatch.com whippedass.com whispersystems.org -whitebear.freebearblog.org -whodns.xyz whoer.net whotalking.com whylover.com whyx.org widevine.com wikaba.com -wiki.cnitter.com wiki.gamerp.jp wiki.jqueryui.com wiki.keso.cn @@ -6071,11 +5487,9 @@ wikiversity.org wikivoyage.org wikiwand.com wiktionary.org -wildammo.com williamhill.com willw.net wilsoncenter.org -windowsphoneme.com windscribe.com wingamestore.com wingy.site @@ -6094,7 +5508,6 @@ witopia.net wizcrafts.net wjbk.org wlcnew.jigsy.com -wlx.sowiki.net wmflabs.org wmfusercontent.org wn.com @@ -6112,47 +5525,36 @@ woopie.tv wordpress.com work2icu.org workatruna.com -workerdemo.org.hk workerempowerment.org workers.dev -workersthebig.net worldcat.org worldjournal.com worldvpn.net -wow-life.net wow.com wowgirls.com wowhead.com -wowlegacy.ml wowporn.com wowrk.com -woxinghuiguo.com woyaolian.org wozy.in wp.com wpoforum.com -wqyd.org wrchina.org wretch.cc writer.zoho.com writesonic.com wsj.com wsj.net -wsjhk.com wtbn.org wtfpeople.com wuerkaixi.com wufafangwen.com wufi.org.tw -wuguoguang.com wujie.net wujieliulan.com -wukangrui.net wunderground.com wuw.red -wuyanblog.com wwitv.com -www.abclite.net www.ajsands.com www.antd.org www.aolnews.com @@ -6168,9 +5570,7 @@ www.idlcoyote.com www.imdb.com www.kindleren.com www.klip.me -www.lamenhu.com www.lib.virginia.edu -www.linksalpha.com www.lorenzetti.com.br www.m-sport.co.uk www.monlamit.org @@ -6178,7 +5578,6 @@ www.moztw.org www.msn.com www.nbc.com www.nodeloc.com -www.orchidbbs.com www.owind.com www.oxid.it www.powerpointninja.com @@ -6188,10 +5587,8 @@ www.shadowsocks.com www.skype.com www.tablesgenerator.com www.taiwanonline.cc -www.taup.org.tw www.thechinastory.org www.wan-press.org -www.wangruowang.org www.websnapr.com www.zensur.freerk.com www1.american.edu @@ -6209,7 +5606,6 @@ x.com x.company x24hr.com x3guide.com -xa.yimg.com xanga.com xbabe.com xbookcn.com @@ -6219,17 +5615,13 @@ xcity.jp xcritic.com xerotica.com xfinity.com -xfm.pp.ru xfxssr.me xgmyd.com xhamster.com xianba.net -xianchawang.net xianjian.tw -xianqiao.net xiaobaiwu.com xiaochuncnjp.com -xiaod.in xiaohexie.com xiaolan.me xiaoma.org @@ -6239,22 +5631,16 @@ xiezhua.com xihua.es xijie.wordpress.com xing.com -xinhuanet.org xinjiangpolicefiles.org xinmiao.com.hk xinqimeng.over-blog.com xinsheng.net xinshijue.com -xinyubbs.net xiongpian.com xiuren.org -xixicui.icu xizang-zhiye.org xjp.cc xjtravelguide.com -xkiwi.tk -xlfmtalk.com -xlfmwz.info xm.com xml-training-guide.com xmovies.com @@ -6274,14 +5660,12 @@ xpud.org xrentdvd.com xsden.info xskywalker.com -xskywalker.net xt.com xt.pub xtube.com xuchao.net xuchao.org xuehua.us -xuzhiyong.net xvbelink.com xvideo.cc xvideos-cdn.com @@ -6295,14 +5679,11 @@ xxx.com xxx.xxx xxxfuckmom.com xxxx.com.au -xxxy.biz xxxy.info xxxymovies.com xys.dxiong.com xys.org xysblogs.org -xyy69.com -xyy69.info y2mate.com yadi.sk yahoo.com @@ -6313,7 +5694,6 @@ yam.com yam.org.tw yande.re yanghengjun.com -yangjianli.com yasni.co.uk yasukuni.or.jp yayabay.com @@ -6337,7 +5717,6 @@ yibaochina.com yidio.com yigeni.com yilubbs.com -yingsuoss.com yinlei.org yipub.com yizhihongxing.com @@ -6363,16 +5742,12 @@ your-freedom.net yourepeat.com yourlisten.com yourlust.com -yourprivatevpn.com yourtrap.com yousendit.com -youshun12.com -youthforfreechina.org youthnetradio.org youtu.be youtube-nocookie.com youtube.com -youtubecn.com youtubeeducation.com youtubegaming.com youtubekids.com @@ -6406,9 +5781,7 @@ z-library.sk zacebook.com zalmos.com zamimg.com -zannel.com zaobao.com.sg -zaozon.com zapto.org zattoo.com zb.com @@ -6419,17 +5792,13 @@ zenmate.com zenmate.com.ru zerohedge.com zeronet.io -zeutch.com zfreet.com -zgsddh.com -zgzcjj.net zh-hans.cfsh99.com zh.ecdm.wikia.com zh.pokerstrategy.com zh.pttpedia.wikia.com zh.uncyclopedia.wikia.com zh.wikiquote.org -zhanbin.net zhangboli.net zhangtianliang.com zhanlve.org @@ -6438,19 +5807,13 @@ zhao.jinhai.de zhenghui.org zhengjian.org zhengwunet.org -zhenlibu.info -zhenlibu1984.com zhenxiang.biz -zhinengluyou.com zhizhu.top zhongguo.ca zhongguorenquan.org zhongguotese.net -zhongmeng.org zhongzidi.com zhoushuguang.com -zhreader.com -zhuangbi.me zhuanxing.cn zhuatieba.com zhuichaguoji.org @@ -6461,7 +5824,6 @@ zim.vn zinio.com ziporn.com zippyshare.com -zkaip.com zmedia.com.tw zmw.cn zodgame.us @@ -6469,7 +5831,6 @@ zodgame.xyz zomobo.net zonaeuropa.com zonghexinwen.com -zonghexinwen.net zoogvpn.com zoominfo.com zooqle.com @@ -6485,11 +5846,9 @@ zuo.la zuobiao.me zuola.com zvereff.com -zynaima.com zynamics.com zyns.com zyxel.com -zyzc9.com zzcartoon.com zzcloud.me zzux.com diff --git a/openwrt-passwall2/luci-app-passwall2/Makefile b/openwrt-passwall2/luci-app-passwall2/Makefile index 525ddf5dac..61863c8415 100644 --- a/openwrt-passwall2/luci-app-passwall2/Makefile +++ b/openwrt-passwall2/luci-app-passwall2/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall2 -PKG_VERSION:=25.7.11 +PKG_VERSION:=25.7.15 PKG_RELEASE:=1 PKG_CONFIG_DEPENDS:= \ diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua index b79348ddef..da2d67805e 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/acl_config.lua @@ -303,7 +303,7 @@ o:depends("remote_dns_protocol", "tcp") o:depends("remote_dns_protocol", "doh") o:depends("remote_dns_protocol", "udp") -o = s:option(Flag, "remote_fakedns", "FakeDNS", translate("Use FakeDNS work in the shunt domain that proxy.")) +o = s:option(Flag, "remote_fakedns", "FakeDNS", translate("Use FakeDNS work in the domain that proxy.")) o.default = "0" o.rmempty = false o:depends("remote_dns_protocol", "tcp") diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua index 4d69d1d1ba..f72d7f3c56 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/global.lua @@ -322,7 +322,7 @@ o.default = "remote" o:value("remote", translate("Remote")) o:value("direct", translate("Direct")) -o = s:taboption("DNS", Flag, "remote_fakedns", "FakeDNS", translate("Use FakeDNS work in the shunt domain that proxy.")) +o = s:taboption("DNS", Flag, "remote_fakedns", "FakeDNS", translate("Use FakeDNS work in the domain that proxy.")) o.default = "0" o.rmempty = false diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua index 154fe5e9e1..192ce96eb5 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/client/type/ray.lua @@ -24,7 +24,7 @@ local ss_method_list = { local security_list = { "none", "auto", "aes-128-gcm", "chacha20-poly1305", "zero" } local header_type_list = { - "none", "srtp", "utp", "wechat-video", "dtls", "wireguard" + "none", "srtp", "utp", "wechat-video", "dtls", "wireguard", "dns" } local xray_version = api.get_app_version("xray") @@ -468,10 +468,13 @@ o:depends({ [_n("tcp_guise")] = "http" }) -- [[ mKCP部分 ]]-- -o = s:option(ListValue, _n("mkcp_guise"), translate("Camouflage Type"), translate('
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)')) +o = s:option(ListValue, _n("mkcp_guise"), translate("Camouflage Type"), translate('
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)
dns: Disguising traffic as DNS requests.')) for a, t in ipairs(header_type_list) do o:value(t) end o:depends({ [_n("transport")] = "mkcp" }) +o = s:option(Value, _n("mkcp_domain"), translate("Camouflage Domain"), translate("Use it together with the DNS disguised type. You can fill in any domain.")) +o:depends({ [_n("mkcp_guise")] = "dns" }) + o = s:option(Value, _n("mkcp_mtu"), translate("KCP MTU")) o.default = "1350" o:depends({ [_n("transport")] = "mkcp" }) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua index 7e8d23e4f2..ff93af46d2 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/model/cbi/passwall2/server/type/ray.lua @@ -19,7 +19,7 @@ local x_ss_method_list = { } local header_type_list = { - "none", "srtp", "utp", "wechat-video", "dtls", "wireguard" + "none", "srtp", "utp", "wechat-video", "dtls", "wireguard", "dns" } -- [[ Xray ]] @@ -294,10 +294,14 @@ o = s:option(DynamicList, _n("tcp_guise_http_path"), translate("HTTP Path")) o:depends({ [_n("tcp_guise")] = "http" }) -- [[ mKCP部分 ]]-- -o = s:option(ListValue, _n("mkcp_guise"), translate("Camouflage Type"), translate('
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)')) + +o = s:option(ListValue, _n("mkcp_guise"), translate("Camouflage Type"), translate('
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)
dns: Disguising traffic as DNS requests.')) for a, t in ipairs(header_type_list) do o:value(t) end o:depends({ [_n("transport")] = "mkcp" }) +o = s:option(Value, _n("mkcp_domain"), translate("Camouflage Domain"), translate("Use it together with the DNS disguised type. You can fill in any domain.")) +o:depends({ [_n("mkcp_guise")] = "dns" }) + o = s:option(Value, _n("mkcp_mtu"), translate("KCP MTU")) o.default = "1350" o:depends({ [_n("transport")] = "mkcp" }) diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua index f0de7e6328..1bcbedd8b0 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/api.lua @@ -194,11 +194,16 @@ function curl_direct(url, file, args) end function curl_auto(url, file, args) - local return_code, result = curl_proxy(url, file, args) - if not return_code or return_code ~= 0 then - return_code, result = curl_direct(url, file, args) + local localhost_proxy = uci:get(appname, "@global[0]", "localhost_proxy") or "1" + if localhost_proxy == "1" then + return curl_base(url, file, args) + else + local return_code, result = curl_proxy(url, file, args) + if not return_code or return_code ~= 0 then + return_code, result = curl_direct(url, file, args) + end + return return_code, result end - return return_code, result end function url(...) @@ -212,8 +217,9 @@ function url(...) return require "luci.dispatcher".build_url(url) end -function trim(s) - return (s:gsub("^%s*(.-)%s*$", "%1")) +function trim(text) + if not text or text == "" then return "" end + return text:match("^%s*(.-)%s*$") end -- 分割字符串 @@ -854,7 +860,7 @@ local function auto_get_arch() end end - return util.trim(arch) + return trim(arch) end local default_file_tree = { @@ -980,7 +986,7 @@ function to_download(app_name, url, size) sys.call("/bin/rm -f /tmp/".. app_name .."_download.*") - local tmp_file = util.trim(util.exec("mktemp -u -t ".. app_name .."_download.XXXXXX")) + local tmp_file = trim(util.exec("mktemp -u -t ".. app_name .."_download.XXXXXX")) if size then local kb1 = get_free_space("/tmp") @@ -1043,7 +1049,7 @@ function to_extract(app_name, file, subfix) return {code = 1, error = i18n.translatef("%s not enough space.", "/tmp")} end - local tmp_dir = util.trim(util.exec("mktemp -d -t ".. app_name .."_extract.XXXXXX")) + local tmp_dir = trim(util.exec("mktemp -d -t ".. app_name .."_extract.XXXXXX")) local output = {} diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua index 85558f5e73..9ce22bf5a2 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_sing-box.lua @@ -1523,6 +1523,18 @@ function gen_config(var) end end end + + if remote_dns_fake and default_dns_flag == "remote" then + -- When default is not direct and enable fakedns, default DNS use FakeDNS. + local fakedns_dns_rule = { + query_type = { + "A", "AAAA" + }, + server = fakedns_tag, + disable_cache = true + } + table.insert(dns.rules, fakedns_dns_rule) + end table.insert(inbounds, { type = "direct", diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua index a8570ef036..ae27871fbb 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/passwall2/util_xray.lua @@ -38,7 +38,7 @@ local function get_domain_excluded() if not content then return nil end local hosts = {} string.gsub(content, '[^' .. "\n" .. ']+', function(w) - local s = w:gsub("^%s*(.-)%s*$", "%1") -- Trim + local s = api.trim(w) if s == "" then return end if s:find("#") and s:find("#") == 1 then return end if not s:find("#") or s:find("#") ~= 1 then table.insert(hosts, s) end @@ -183,7 +183,10 @@ function gen_outbound(flag, node, tag, proxy_table) readBufferSize = tonumber(node.mkcp_readBufferSize), writeBufferSize = tonumber(node.mkcp_writeBufferSize), seed = (node.mkcp_seed and node.mkcp_seed ~= "") and node.mkcp_seed or nil, - header = {type = node.mkcp_guise} + header = { + type = node.mkcp_guise, + domain = node.mkcp_domain + } } or nil, wsSettings = (node.transport == "ws") and { path = node.ws_path or "/", @@ -479,7 +482,10 @@ function gen_config_server(node) readBufferSize = tonumber(node.mkcp_readBufferSize), writeBufferSize = tonumber(node.mkcp_writeBufferSize), seed = (node.mkcp_seed and node.mkcp_seed ~= "") and node.mkcp_seed or nil, - header = {type = node.mkcp_guise} + header = { + type = node.mkcp_guise, + domain = node.mkcp_domain + } } or nil, wsSettings = (node.transport == "ws") and { host = node.ws_host or nil, @@ -1374,8 +1380,13 @@ function gen_config(var) default_dns_server = api.clone(value) default_dns_server.server.tag = default_dns_tag if value.server.tag == remote_dns_tag then - default_dns_server.outboundTag = value.outboundTag or COMMON.default_outbound_tag - default_dns_server.balancerTag = COMMON.default_balancer_tag + if remote_dns_fake then + default_dns_server.server = api.clone(_remote_fakedns) + default_dns_server.server.tag = default_dns_tag + else + default_dns_server.outboundTag = value.outboundTag or COMMON.default_outbound_tag + default_dns_server.balancerTag = COMMON.default_balancer_tag + end end table.insert(dns_servers, 1, default_dns_server) break diff --git a/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm b/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm index ea37c28a33..39f37d82dd 100644 --- a/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm +++ b/openwrt-passwall2/luci-app-passwall2/luasrc/view/passwall2/node_list/link_share_man.htm @@ -257,6 +257,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } else if (v_transport === "mkcp") { v_transport = "kcp"; params += opt.query("headerType", dom_prefix + "mkcp_guise"); + params += opt.query("seed", dom_prefix + "mkcp_seed"); } else if (v_transport === "quic") { params += opt.query("headerType", dom_prefix + "quic_guise"); params += opt.query("key", dom_prefix + "quic_key"); @@ -368,6 +369,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } else if (v_transport === "mkcp") { v_transport = "kcp"; info.type = opt.get(dom_prefix + "mkcp_guise").value; + info.seed = opt.get(dom_prefix + "mkcp_seed").value; } else if (v_transport === "quic") { info.type = opt.get(dom_prefix + "quic_guise")?.value; info.key = opt.get(dom_prefix + "quic_key")?.value; @@ -415,6 +417,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } else if (v_transport === "mkcp") { v_transport = "kcp"; params += opt.query("headerType", dom_prefix + "mkcp_guise"); + params += opt.query("seed", dom_prefix + "mkcp_seed"); } else if (v_transport === "quic") { params += opt.query("headerType", dom_prefix + "quic_guise"); params += opt.query("key", dom_prefix + "quic_key"); @@ -492,6 +495,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin } else if (v_transport === "mkcp") { v_transport = "kcp"; params += opt.query("headerType", dom_prefix + "mkcp_guise"); + params += opt.query("seed", dom_prefix + "mkcp_seed"); } else if (v_transport === "quic") { params += opt.query("headerType", dom_prefix + "quic_guise"); params += opt.query("key", dom_prefix + "quic_key"); @@ -1031,6 +1035,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'quic_key', queryParam.key); } else if (queryParam.type === "mkcp") { opt.set(dom_prefix + 'mkcp_guise', queryParam.headerType || "none"); + opt.set(dom_prefix + 'mkcp_seed', queryParam.seed || ""); } else if (queryParam.type === "grpc") { opt.set(dom_prefix + 'grpc_serviceName', (queryParam.serviceName || queryParam.path) || ""); opt.set(dom_prefix + 'grpc_mode', queryParam.mode || "gun"); @@ -1167,6 +1172,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'quic_key', queryParam.key); } else if (queryParam.type === "kcp" || queryParam.type === "mkcp") { opt.set(dom_prefix + 'mkcp_guise', queryParam.headerType || "none"); + opt.set(dom_prefix + 'mkcp_seed', queryParam.seed || ""); } else if (queryParam.type === "grpc") { opt.set(dom_prefix + 'grpc_serviceName', (queryParam.serviceName || queryParam.path) || ""); opt.set(dom_prefix + 'grpc_mode', queryParam.mode || "gun"); @@ -1277,7 +1283,8 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'quic_security', ssm.securty); opt.set(dom_prefix + 'quic_key', ssm.key); } else if (ssm.net === "kcp" || ssm.net === "mkcp") { - opt.set(dom_prefix + 'mkcp_guise', ssm.type); + opt.set(dom_prefix + 'mkcp_guise', ssm.type || "none"); + opt.set(dom_prefix + 'mkcp_seed', ssm.seed || ""); } else if (ssm.net === "grpc") { opt.set(dom_prefix + 'grpc_serviceName', ssm.path); } @@ -1406,6 +1413,7 @@ local hysteria2_type = map:get("@global_subscribe[0]", "hysteria2_type") or "sin opt.set(dom_prefix + 'quic_key', queryParam.key); } else if (queryParam.type === "kcp" || queryParam.type === "mkcp") { opt.set(dom_prefix + 'mkcp_guise', queryParam.headerType || "none"); + opt.set(dom_prefix + 'mkcp_seed', queryParam.seed || ""); } else if (queryParam.type === "grpc") { opt.set(dom_prefix + 'grpc_serviceName', (queryParam.serviceName || queryParam.path) || ""); opt.set(dom_prefix + 'grpc_mode', queryParam.mode || "gun"); diff --git a/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po b/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po index 9c0a33b080..750a52e3d2 100644 --- a/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po +++ b/openwrt-passwall2/luci-app-passwall2/po/zh-cn/passwall2.po @@ -160,8 +160,8 @@ msgstr "直连查询策略" msgid "Remote Query Strategy" msgstr "远程查询策略" -msgid "Use FakeDNS work in the shunt domain that proxy." -msgstr "需è¦ä»£ç†çš„分æµè§„则域å使用 FakeDNS。" +msgid "Use FakeDNS work in the domain that proxy." +msgstr "需è¦ä»£ç†çš„域å使用 FakeDNS。" msgid "Domain Override" msgstr "域åé‡å†™" @@ -1177,6 +1177,9 @@ msgstr "系统接å£åç§°" msgid "Decimal numbers separated by \",\" or Base64-encoded strings." msgstr "用“,â€éš”开的å进制数字或 Base64 ç¼–ç å­—符串。" +msgid "Camouflage Domain" +msgstr "伪装域å" + msgid "Camouflage Type" msgstr "伪装类型" @@ -1255,8 +1258,11 @@ msgstr "TUIC socks5 æœåС噍å¯ä»¥ä»Žå¤–部接收的最大数æ®åŒ…大å°ï¼ˆä»¥ msgid "Set if the listening socket should be dual-stack" msgstr "设置监å¬å¥—æŽ¥å­—ä¸ºåŒæ ˆ" -msgid "
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)" -msgstr "
none:默认值,ä¸è¿›è¡Œä¼ªè£…,å‘é€çš„æ•°æ®æ˜¯æ²¡æœ‰ç‰¹å¾çš„æ•°æ®åŒ…。
srtpï¼šä¼ªè£…æˆ SRTP æ•°æ®åŒ…ï¼Œä¼šè¢«è¯†åˆ«ä¸ºè§†é¢‘é€šè¯æ•°æ®ï¼ˆå¦‚ FaceTime)。
utpï¼šä¼ªè£…æˆ uTP æ•°æ®åŒ…,会被识别为 BT 下载数æ®ã€‚
wechat-video:伪装æˆå¾®ä¿¡è§†é¢‘通è¯çš„æ•°æ®åŒ…。
dtlsï¼šä¼ªè£…æˆ DTLS 1.2 æ•°æ®åŒ…。
wireguardï¼šä¼ªè£…æˆ WireGuard æ•°æ®åŒ…。(并䏿˜¯çœŸæ­£çš„ WireGuard åè®®)" +msgid "
none: default, no masquerade, data sent is packets with no characteristics.
srtp: disguised as an SRTP packet, it will be recognized as video call data (such as FaceTime).
utp: packets disguised as uTP will be recognized as bittorrent downloaded data.
wechat-video: packets disguised as WeChat video calls.
dtls: disguised as DTLS 1.2 packet.
wireguard: disguised as a WireGuard packet. (not really WireGuard protocol)
dns: Disguising traffic as DNS requests." +msgstr "
none:默认值,ä¸è¿›è¡Œä¼ªè£…,å‘é€çš„æ•°æ®æ˜¯æ²¡æœ‰ç‰¹å¾çš„æ•°æ®åŒ…。
srtpï¼šä¼ªè£…æˆ SRTP æ•°æ®åŒ…ï¼Œä¼šè¢«è¯†åˆ«ä¸ºè§†é¢‘é€šè¯æ•°æ®ï¼ˆå¦‚ FaceTime)。
utpï¼šä¼ªè£…æˆ uTP æ•°æ®åŒ…,会被识别为 BT 下载数æ®ã€‚
wechat-video:伪装æˆå¾®ä¿¡è§†é¢‘通è¯çš„æ•°æ®åŒ…。
dtlsï¼šä¼ªè£…æˆ DTLS 1.2 æ•°æ®åŒ…。
wireguardï¼šä¼ªè£…æˆ WireGuard æ•°æ®åŒ…。(并䏿˜¯çœŸæ­£çš„ WireGuard åè®®)
dns:把æµé‡ä¼ªè£…æˆ DNS 请求。" + +msgid "Use it together with the DNS disguised type. You can fill in any domain." +msgstr "é…åˆä¼ªè£…类型 DNS 使用,å¯éšä¾¿å¡«ä¸€ä¸ªåŸŸå。" msgid "A legal file path. This file must not exist before running." msgstr "ä¸€ä¸ªåˆæ³•的文件路径。在è¿è¡Œä¹‹å‰ï¼Œè¿™ä¸ªæ–‡ä»¶å¿…é¡»ä¸å­˜åœ¨ã€‚" diff --git a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua index f69c22e2b4..a309eb905a 100755 --- a/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua +++ b/openwrt-passwall2/luci-app-passwall2/root/usr/share/passwall2/subscribe.lua @@ -412,12 +412,6 @@ local function UrlDecode(szText) end) or nil end --- trim -local function trim(text) - if not text or text == "" then return "" end - return (sgsub(text, "^%s*(.-)%s*$", "%1")) -end - -- å–æœºåœºä¿¡æ¯ï¼ˆå‰©ä½™æµé‡ã€åˆ°æœŸæ—¶é—´ï¼‰ local subscribe_info = {} local function get_subscribe_info(cfgid, value) @@ -1769,7 +1763,7 @@ local function parse_link(raw, add_mode, add_from, cfgid) if szType == 'ssd' then result = processData(szType, v, add_mode, add_from) elseif not szType then - local node = trim(v) + local node = api.trim(v) local dat = split(node, "://") if dat and dat[1] and dat[2] then if dat[1] == 'ss' or dat[1] == 'trojan' then @@ -1896,7 +1890,7 @@ local execute = function() local f = io.open(tmp_file, "r") local stdout = f:read("*all") f:close() - local raw_data = trim(stdout) + local raw_data = api.trim(stdout) local old_md5 = value.md5 or "" local new_md5 = luci.sys.exec("md5sum " .. tmp_file .. " 2>/dev/null | awk '{print $1}'"):gsub("\n", "") os.remove(tmp_file) diff --git a/small/luci-app-homeproxy/root/etc/homeproxy/scripts/generate_client.uc b/small/luci-app-homeproxy/root/etc/homeproxy/scripts/generate_client.uc index aca025322d..7216779926 100755 --- a/small/luci-app-homeproxy/root/etc/homeproxy/scripts/generate_client.uc +++ b/small/luci-app-homeproxy/root/etc/homeproxy/scripts/generate_client.uc @@ -406,7 +406,7 @@ config.dns = { }, { tag: 'block-dns', - address: 'rcode://name_error' + address: 'rcode://refused' } ], rules: [ diff --git a/small/luci-app-openclash/Makefile b/small/luci-app-openclash/Makefile index 9390809271..efc8267b0b 100644 --- a/small/luci-app-openclash/Makefile +++ b/small/luci-app-openclash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-openclash -PKG_VERSION:=0.46.120 +PKG_VERSION:=0.46.133 PKG_MAINTAINER:=vernesong PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/small/luci-app-openclash/luasrc/controller/openclash.lua b/small/luci-app-openclash/luasrc/controller/openclash.lua index f2b17d7081..92c7d669a0 100644 --- a/small/luci-app-openclash/luasrc/controller/openclash.lua +++ b/small/luci-app-openclash/luasrc/controller/openclash.lua @@ -134,7 +134,34 @@ local function is_start() end local function cn_port() - return uci:get("openclash", "config", "cn_port") + if is_running() then + local config_path = uci:get("openclash", "config", "config_path") + if config_path then + local config_filename = fs.basename(config_path) + local runtime_config_path = "/etc/openclash/" .. config_filename + local ruby_result = luci.sys.exec(string.format([[ + ruby -ryaml -rYAML -I "/usr/share/openclash" -E UTF-8 -e " + begin + config = YAML.load_file('%s') + if config + port = config['external-controller'] + if port + port = port.to_s + if port:include?(':') + port = port.split(':')[-1] + end + puts port + end + end + end + " 2>/dev/null + ]], runtime_config_path)):gsub("%s+", "") + if ruby_result and ruby_result ~= "" then + return ruby_result + end + end + end + return uci:get("openclash", "config", "cn_port") or "9090" end local function mode() @@ -142,13 +169,30 @@ local function mode() end local function daip() - local daip - daip = fs.lanip() - return daip + return fs.lanip() end local function dase() - return uci:get("openclash", "config", "dashboard_password") + if is_running() then + local config_path = uci:get("openclash", "config", "config_path") + if config_path then + local config_filename = fs.basename(config_path) + local runtime_config_path = "/etc/openclash/" .. config_filename + local ruby_result = luci.sys.exec(string.format([[ + ruby -ryaml -rYAML -I "/usr/share/openclash" -E UTF-8 -e " + begin + config = YAML.load_file('%s') + if config + dase = config['secret'] + puts \"#{dase}\" + end + end + " 2>/dev/null + ]], runtime_config_path)):gsub("%s+", "") + return ruby_result + end + end + return uci:get("openclash", "config", "dashboard_password") end local function db_foward_domain() @@ -231,7 +275,7 @@ local function corelv() local core_meta_lv = "" local core_smart_enable = uci:get("openclash", "config", "smart_enable") or "0" if not status then - if fs.access("/tmp/clash_last_version") then + if fs.access("/tmp/clash_last_version") and tonumber(os.time() - fs.mtime("/tmp/clash_last_version")) < 1800 then if core_smart_enable == "1" then core_meta_lv = luci.sys.exec("sed -n 2p /tmp/clash_last_version 2>/dev/null |tr -d '\n'") else @@ -249,15 +293,16 @@ end local function opcv() local v - if opkg and opkg.info("luci-app-openclash") and opkg.info("luci-app-openclash")["luci-app-openclash"] then - v = opkg.info("luci-app-openclash")["luci-app-openclash"]["Version"] - else - if pkg_type() == "opkg" then - v = luci.sys.exec("rm -f /var/lock/opkg.lock && opkg status luci-app-openclash 2>/dev/null |grep 'Version' |awk -F 'Version: ' '{print $2}' |tr -d '\n'") - else - v = luci.sys.exec("apk list luci-app-openclash 2>/dev/null|grep 'installed' | grep -oE '[0-9]+(\\.[0-9]+)*' | head -1 |tr -d '\n'") - end - end + local info = opkg and opkg.info("luci-app-openclash") + if info and info["luci-app-openclash"] and info["luci-app-openclash"]["Version"] then + v = info["luci-app-openclash"]["Version"] + else + if pkg_type() == "opkg" then + v = luci.sys.exec("rm -f /var/lock/opkg.lock && opkg status luci-app-openclash 2>/dev/null |grep 'Version' |awk -F 'Version: ' '{print $2}' |tr -d '\n'") + else + v = luci.sys.exec("apk list luci-app-openclash 2>/dev/null|grep 'installed' | grep -oE '[0-9]+(\\.[0-9]+)*' | head -1 |tr -d '\n'") + end + end if v and v ~= "" then return "v" .. v else @@ -269,7 +314,7 @@ local function oplv() local status = process_status("/usr/share/openclash/openclash_version.sh") local oplv = "" if not status then - if fs.access("/tmp/openclash_last_version") then + if fs.access("/tmp/openclash_last_version") and tonumber(os.time() - fs.mtime("/tmp/openclash_last_version")) < 1800 then oplv = luci.sys.exec("sed -n 1p /tmp/openclash_last_version 2>/dev/null |tr -d '\n'") else action_get_last_version() @@ -854,6 +899,8 @@ function action_rule_mode() else mode = uci:get("openclash", "config", "proxy_mode") or "rule" end + else + mode = uci:get("openclash", "config", "proxy_mode") or "rule" end luci.http.prepare_content("application/json") luci.http.write_json({ @@ -864,30 +911,34 @@ end function action_switch_rule_mode() local mode, info - if is_running() then - local daip = daip() - local dase = dase() or "" - local cn_port = cn_port() - mode = luci.http.formvalue("rule_mode") + local daip = daip() + local dase = dase() or "" + local cn_port = cn_port() + mode = luci.http.formvalue("rule_mode") + + if is_running() then if not daip or not cn_port then luci.http.status(500, "Switch Faild") return end info = luci.sys.exec(string.format('curl -sL -m 3 -H "Content-Type: application/json" -H "Authorization: Bearer %s" -XPATCH http://"%s":"%s"/configs -d \'{\"mode\": \"%s\"}\'', dase, daip, cn_port, mode)) if info ~= "" then luci.http.status(500, "Switch Faild") end + luci.http.prepare_content("application/json") + luci.http.write_json({ + info = info; + }) else - luci.http.status(500, "Switch Faild") + if mode then + uci:set("openclash", "config", "proxy_mode", mode) + uci:commit("openclash") + end end - luci.http.prepare_content("application/json") - luci.http.write_json({ - info = info; - }) + end function action_get_run_mode() if mode() then luci.http.prepare_content("application/json") luci.http.write_json({ - clash = is_running(), mode = mode(); }) else @@ -898,19 +949,16 @@ end function action_switch_run_mode() local mode, operation_mode - if is_running() then - mode = luci.http.formvalue("run_mode") - operation_mode = uci:get("openclash", "config", "operation_mode") - if operation_mode == "redir-host" then - uci:set("openclash", "config", "en_mode", "redir-host"..mode) - elseif operation_mode == "fake-ip" then - uci:set("openclash", "config", "en_mode", "fake-ip"..mode) - end - uci:commit("openclash") + mode = luci.http.formvalue("run_mode") + operation_mode = uci:get("openclash", "config", "operation_mode") + if operation_mode == "redir-host" then + uci:set("openclash", "config", "en_mode", "redir-host"..mode) + elseif operation_mode == "fake-ip" then + uci:set("openclash", "config", "en_mode", "fake-ip"..mode) + end + uci:commit("openclash") + if is_running() then luci.sys.exec("/etc/init.d/openclash restart >/dev/null 2>&1 &") - else - luci.http.status(500, "Switch Faild") - return end end @@ -1174,7 +1222,7 @@ function action_op_mode() local op_mode = uci:get("openclash", "config", "operation_mode") luci.http.prepare_content("application/json") luci.http.write_json({ - op_mode = op_mode; + op_mode = op_mode; }) end @@ -1189,14 +1237,14 @@ function action_switch_mode() end luci.http.prepare_content("application/json") luci.http.write_json({ - switch_mode = switch_mode; + switch_mode = switch_mode; }) end function action_status() luci.http.prepare_content("application/json") luci.http.write_json({ - clash = is_running(), + clash = is_running(), daip = daip(), dase = dase(), db_foward_port = db_foward_port(), @@ -1223,26 +1271,22 @@ end function action_get_last_version() if not process_status("/usr/share/openclash/clash_version.sh") then - luci.sys.call("bash /usr/share/openclash/clash_version.sh &") + luci.sys.call("bash /usr/share/openclash/clash_version.sh &") end if not process_status("/usr/share/openclash/openclash_version.sh") then - luci.sys.call("bash /usr/share/openclash/openclash_version.sh &") + luci.sys.call("bash /usr/share/openclash/openclash_version.sh &") end - luci.http.prepare_content("application/json") - luci.http.write_json({ - status = "success" - }) end function action_update() luci.http.prepare_content("application/json") luci.http.write_json({ - coremetacv = coremetacv(), - coremodel = coremodel(), - opcv = opcv(), - upchecktime = upchecktime(), - corelv = corelv(), - oplv = oplv(); + coremodel = coremodel(), + coremetacv = coremetacv(), + corelv = corelv(), + opcv = opcv(), + oplv = oplv(), + upchecktime = upchecktime(); }) end @@ -1268,21 +1312,21 @@ end function action_opupdate() luci.http.prepare_content("application/json") luci.http.write_json({ - opup = opup(); + opup = opup(); }) end function action_check_core() luci.http.prepare_content("application/json") luci.http.write_json({ - core_status = check_core(); + core_status = check_core(); }) end function action_coreupdate() luci.http.prepare_content("application/json") luci.http.write_json({ - coreup = coreup(); + coreup = coreup(); }) end @@ -1291,7 +1335,7 @@ function action_close_all_connection() end function action_reload_firewall() - return luci.sys.call("/etc/init.d/openclash reload 'firewall' >/dev/null 2>&1 &") + return luci.sys.call("/etc/init.d/openclash reload 'manual' >/dev/null 2>&1 &") end function action_download_rule() @@ -1840,12 +1884,15 @@ function trans_line(data) end function process_status(name) - local ps_version = luci.sys.exec("ps --version 2>&1 |grep -c procps-ng |tr -d '\n'") - if ps_version == "1" then - return luci.sys.call(string.format("ps -efw |grep '%s' |grep -v grep >/dev/null", name)) == 0 - else - return luci.sys.call(string.format("ps -w |grep '%s' |grep -v grep >/dev/null", name)) == 0 - end + local ps_version = luci.sys.exec("ps --version 2>&1 |grep -c procps-ng |tr -d '\n'") + local cmd + if ps_version == "1" then + cmd = string.format("ps -efw |grep '%s' |grep -v grep", name) + else + cmd = string.format("ps -w |grep '%s' |grep -v grep", name) + end + local result = luci.sys.exec(cmd) + return result ~= nil and result ~= "" and not result:match("^%s*$") end function action_announcement() @@ -2320,7 +2367,8 @@ function action_oc_settings() local result = { meta_sniffer = "0", respect_rules = "0", - oversea = "0" + oversea = "0", + stream_unlock = "0" } local function get_uci_settings() @@ -2384,6 +2432,11 @@ function action_oc_settings() else result.oversea = "0" end + + local stream_unlock = uci:get("openclash", "config", "stream_auto_select") + if stream_unlock == "1" then + result.stream_unlock = "1" + end luci.http.prepare_content("application/json") luci.http.write_json(result) @@ -2599,7 +2652,33 @@ function action_switch_oc_setting() if is_running() then luci.sys.exec("/etc/init.d/openclash restart >/dev/null 2>&1 &") end - + elseif setting == "stream_unlock" then + uci:set("openclash", "config", "stream_auto_select", value) + if not uci:get("openclash", "config", "stream_auto_select_interval") then + uci:set("openclash", "config", "stream_auto_select_interval", "10") + end + if not uci:get("openclash", "config", "stream_auto_select_logic") then + uci:set("openclash", "config", "stream_auto_select_logic", "Urltest") + end + if not uci:get("openclash", "config", "stream_auto_select_expand_group") then + uci:set("openclash", "config", "stream_auto_select_expand_group", "0") + end + + uci:set("openclash", "config", "stream_auto_select_netflix", "1") + if not uci:get("openclash", "config", "stream_auto_select_group_key_netflix") then + uci:set("openclash", "config", "stream_auto_select_group_key_netflix", "Netflix|奈飞") + end + + uci:set("openclash", "config", "stream_auto_select_disney", "1") + if not uci:get("openclash", "config", "stream_auto_select_group_key_disney") then + uci:set("openclash", "config", "stream_auto_select_group_key_disney", "Disney|迪士尼") + end + + uci:set("openclash", "config", "stream_auto_select_hbo_max", "1") + if not uci:get("openclash", "config", "stream_auto_select_group_key_hbo_max") then + uci:set("openclash", "config", "stream_auto_select_group_key_hbo_max", "HBO|HBO Max") + end + uci:commit("openclash") else luci.http.status(400, "Invalid setting") return @@ -2619,13 +2698,6 @@ function action_generate_pac() error = "" } - if not is_running() then - result.error = "Proxy service not running" - luci.http.prepare_content("application/json") - luci.http.write_json(result) - return - end - local auth_user = "" local auth_pass = "" local auth_exists = false @@ -3253,21 +3325,66 @@ end function action_config_file_read() local config_file = luci.http.formvalue("config_file") - + if not config_file then luci.http.status(400, "Missing config_file parameter") return end - - if not string.match(config_file, "^/etc/openclash/config/[^/%.]+%.ya?ml$") then - luci.http.prepare_content("application/json") - luci.http.write_json({ - status = "error", - message = "Invalid config file path" - }) - return + + local is_overwrite = (config_file == "/etc/openclash/custom/openclash_custom_overwrite.sh") + + if not is_overwrite then + if string.match(config_file, "^/etc/openclash/[^/%.]+%.ya?ml$") then + local stat = nixio.fs.stat(config_file) + if stat and stat.type == "reg" then + if stat.size > 10 * 1024 * 1024 then + luci.http.prepare_content("application/json") + luci.http.write_json({ + status = "error", + message = "Config file too large (max 10MB)" + }) + return + end + local content = fs.readfile(config_file) or "" + luci.http.prepare_content("application/json") + luci.http.write_json({ + status = "success", + content = content, + file_info = { + path = config_file, + size = stat.size, + mtime = stat.mtime, + readable_size = fs.filesize(stat.size), + last_modified = os.date("%Y-%m-%d %H:%M:%S", stat.mtime) + } + }) + return + else + luci.http.prepare_content("application/json") + luci.http.write_json({ + status = "success", + content = "", + file_info = { + path = config_file, + size = 0, + mtime = 0, + readable_size = "0 KB", + last_modified = "" + } + }) + return + end + end + if not string.match(config_file, "^/etc/openclash/config/[^/%.]+%.ya?ml$") then + luci.http.prepare_content("application/json") + luci.http.write_json({ + status = "error", + message = "Invalid config file path" + }) + return + end end - + if not nixio.fs.access(config_file) then luci.http.prepare_content("application/json") luci.http.write_json({ @@ -3276,7 +3393,7 @@ function action_config_file_read() }) return end - + local stat = nixio.fs.stat(config_file) if not stat or stat.type ~= "reg" then luci.http.prepare_content("application/json") @@ -3286,7 +3403,7 @@ function action_config_file_read() }) return end - + if stat.size > 10 * 1024 * 1024 then luci.http.prepare_content("application/json") luci.http.write_json({ @@ -3295,7 +3412,7 @@ function action_config_file_read() }) return end - + local content = fs.readfile(config_file) if content == nil then luci.http.prepare_content("application/json") @@ -3305,7 +3422,7 @@ function action_config_file_read() }) return end - + luci.http.prepare_content("application/json") luci.http.write_json({ status = "success", @@ -3323,26 +3440,33 @@ end function action_config_file_save() local config_file = luci.http.formvalue("config_file") local content = luci.http.formvalue("content") - + if content then + content = content:gsub("\r\n", "\n"):gsub("\r", "\n") + end + if not config_file then luci.http.status(400, "Missing config_file parameter") return end - + if not content then luci.http.status(400, "Missing content parameter") return end - - if not string.match(config_file, "^/etc/openclash/config/[^/%.]+%.ya?ml$") then - luci.http.prepare_content("application/json") - luci.http.write_json({ - status = "error", - message = "Invalid config file path" - }) - return + + local is_overwrite = (config_file == "/etc/openclash/custom/openclash_custom_overwrite.sh") + + if not is_overwrite then + if not string.match(config_file, "^/etc/openclash/config/[^/%.]+%.ya?ml$") then + luci.http.prepare_content("application/json") + luci.http.write_json({ + status = "error", + message = "Invalid config file path" + }) + return + end end - + if string.len(content) > 10 * 1024 * 1024 then luci.http.prepare_content("application/json") luci.http.write_json({ @@ -3351,7 +3475,7 @@ function action_config_file_save() }) return end - + local backup_file = nil if nixio.fs.access(config_file) then backup_file = config_file .. ".backup." .. os.time() @@ -3365,13 +3489,13 @@ function action_config_file_save() return end end - + local success = fs.writefile(config_file, content) if not success then if backup_file then luci.sys.call(string.format("mv '%s' '%s'", backup_file, config_file)) end - + luci.http.prepare_content("application/json") luci.http.write_json({ status = "error", @@ -3379,13 +3503,13 @@ function action_config_file_save() }) return end - + local written_content = fs.readfile(config_file) if written_content ~= content then if backup_file then luci.sys.call(string.format("mv '%s' '%s'", backup_file, config_file)) end - + luci.http.prepare_content("application/json") luci.http.write_json({ status = "error", @@ -3393,10 +3517,12 @@ function action_config_file_save() }) return end - - luci.sys.call(string.format("chmod 644 '%s'", config_file)) + + if not is_overwrite then + luci.sys.call(string.format("chmod 644 '%s'", config_file)) + end luci.sys.call(string.format("chown root:root '%s'", config_file)) - + if backup_file then luci.sys.call(string.format([[ ( @@ -3407,7 +3533,7 @@ function action_config_file_save() ) & ]], config_file, config_file)) end - + local stat = nixio.fs.stat(config_file) local file_info = {} if stat then @@ -3419,7 +3545,7 @@ function action_config_file_save() last_modified = os.date("%Y-%m-%d %H:%M:%S", stat.mtime) } end - + luci.http.prepare_content("application/json") luci.http.write_json({ status = "success", @@ -3433,6 +3559,19 @@ function action_add_subscription() local name = luci.http.formvalue("name") local address = luci.http.formvalue("address") local sub_ua = luci.http.formvalue("sub_ua") or "clash.meta" + local sub_convert = luci.http.formvalue("sub_convert") or "0" + local convert_address = luci.http.formvalue("convert_address") or "https://api.dler.io/sub" + local template = luci.http.formvalue("template") or "" + local emoji = luci.http.formvalue("emoji") or "false" + local udp = luci.http.formvalue("udp") or "false" + local skip_cert_verify = luci.http.formvalue("skip_cert_verify") or "false" + local sort = luci.http.formvalue("sort") or "false" + local node_type = luci.http.formvalue("node_type") or "false" + local rule_provider = luci.http.formvalue("rule_provider") or "false" + local custom_params = luci.http.formvalue("custom_params") or "" + local keyword = luci.http.formvalue("keyword") or "" + local ex_keyword = luci.http.formvalue("ex_keyword") or "" + local de_ex_keyword = luci.http.formvalue("de_ex_keyword") or "" luci.http.prepare_content("application/json") @@ -3444,10 +3583,54 @@ function action_add_subscription() return end - if not string.find(address, "^https?://") then + local is_valid_url = false + + if sub_convert == "1" then + if string.find(address, "^https?://") and not string.find(address, "\n") and not string.find(address, "|") then + is_valid_url = true + elseif string.find(address, "\n") or string.find(address, "|") then + local links = {} + if string.find(address, "\n") then + for line in address:gmatch("[^\n]+") do + table.insert(links, line:match("^%s*(.-)%s*$")) + end + else + for link in address:gmatch("[^|]+") do + table.insert(links, link:match("^%s*(.-)%s*$")) + end + end + + for _, link in ipairs(links) do + if link and link ~= "" then + if string.find(link, "^https?://") or string.find(link, "^[a-zA-Z]+://") then + is_valid_url = true + break + end + end + end + else + if string.find(address, "^[a-zA-Z]+://") and + not string.find(address, "\n") and not string.find(address, "|") then + is_valid_url = true + end + end + else + if string.find(address, "^https?://") and not string.find(address, "\n") and not string.find(address, "|") then + is_valid_url = true + end + end + + if not is_valid_url then + local error_msg + if sub_convert == "1" then + error_msg = "Invalid subscription URL format. Support: HTTP/HTTPS subscription URLs, or protocol links, can be separated by newlines or |" + else + error_msg = "Invalid subscription URL format. Only single HTTP/HTTPS subscription URL is supported when subscription conversion is disabled" + end + luci.http.write_json({ status = "error", - message = "Invalid subscription URL format" + message = error_msg }) return end @@ -3468,20 +3651,103 @@ function action_add_subscription() return end + local normalized_address = address + if sub_convert == "1" and (string.find(address, "\n") or string.find(address, "|")) then + local links = {} + if string.find(address, "\n") then + for line in address:gmatch("[^\n]+") do + local link = line:match("^%s*(.-)%s*$") + if link and link ~= "" then + table.insert(links, link) + end + end + else + for link in address:gmatch("[^|]+") do + local clean_link = link:match("^%s*(.-)%s*$") + if clean_link and clean_link ~= "" then + table.insert(links, clean_link) + end + end + end + normalized_address = table.concat(links, "\n") + else + normalized_address = address:match("^%s*(.-)%s*$") + end + local section_id = uci:add("openclash", "config_subscribe") if section_id then uci:set("openclash", section_id, "name", name) - uci:set("openclash", section_id, "address", address) + uci:set("openclash", section_id, "address", normalized_address) uci:set("openclash", section_id, "sub_ua", sub_ua) + uci:set("openclash", section_id, "sub_convert", sub_convert) + uci:set("openclash", section_id, "convert_address", convert_address) + uci:set("openclash", section_id, "template", template) + uci:set("openclash", section_id, "emoji", emoji) + uci:set("openclash", section_id, "udp", udp) + uci:set("openclash", section_id, "skip_cert_verify", skip_cert_verify) + uci:set("openclash", section_id, "sort", sort) + uci:set("openclash", section_id, "node_type", node_type) + uci:set("openclash", section_id, "rule_provider", rule_provider) - uci:set("openclash", section_id, "sub_convert", "0") - uci:set("openclash", section_id, "emoji", "false") - uci:set("openclash", section_id, "udp", "false") - uci:set("openclash", section_id, "skip_cert_verify", "false") - uci:set("openclash", section_id, "sort", "false") - uci:set("openclash", section_id, "node_type", "false") - uci:set("openclash", section_id, "rule_provider", "false") - uci:set("openclash", section_id, "convert_address", "https://api.dler.io/sub") + if custom_params and custom_params ~= "" then + local params = {} + for line in custom_params:gmatch("[^\n]+") do + local param = line:match("^%s*(.-)%s*$") + if param and param ~= "" then + table.insert(params, param) + end + end + if #params > 0 then + for i, param in ipairs(params) do + uci:set_list("openclash", section_id, "custom_params", param) + end + end + end + + if keyword and keyword ~= "" then + local keywords = {} + for line in keyword:gmatch("[^\n]+") do + local kw = line:match("^%s*(.-)%s*$") + if kw and kw ~= "" then + table.insert(keywords, kw) + end + end + if #keywords > 0 then + for i, kw in ipairs(keywords) do + uci:set_list("openclash", section_id, "keyword", kw) + end + end + end + + if ex_keyword and ex_keyword ~= "" then + local ex_keywords = {} + for line in ex_keyword:gmatch("[^\n]+") do + local ex_kw = line:match("^%s*(.-)%s*$") + if ex_kw and ex_kw ~= "" then + table.insert(ex_keywords, ex_kw) + end + end + if #ex_keywords > 0 then + for i, ex_kw in ipairs(ex_keywords) do + uci:set_list("openclash", section_id, "ex_keyword", ex_kw) + end + end + end + + if de_ex_keyword and de_ex_keyword ~= "" then + local de_ex_keywords = {} + for line in de_ex_keyword:gmatch("[^\n]+") do + local de_ex_kw = line:match("^%s*(.-)%s*$") + if de_ex_kw and de_ex_kw ~= "" then + table.insert(de_ex_keywords, de_ex_kw) + end + end + if #de_ex_keywords > 0 then + for i, de_ex_kw in ipairs(de_ex_keywords) do + uci:set_list("openclash", section_id, "de_ex_keyword", de_ex_kw) + end + end + end uci:commit("openclash") @@ -3489,8 +3755,10 @@ function action_add_subscription() status = "success", message = "Subscription added successfully", name = name, - address = address, - sub_ua = sub_ua + address = normalized_address, + sub_ua = sub_ua, + sub_convert = sub_convert, + multiple_links = sub_convert == "1" and (string.find(normalized_address, "\n") and true or false) }) else luci.http.write_json({ diff --git a/small/luci-app-openclash/luasrc/view/openclash/config_edit.htm b/small/luci-app-openclash/luasrc/view/openclash/config_edit.htm index aa97ea7e5a..913ce6a1be 100644 --- a/small/luci-app-openclash/luasrc/view/openclash/config_edit.htm +++ b/small/luci-app-openclash/luasrc/view/openclash/config_edit.htm @@ -18,6 +18,42 @@ background: var(--bg-gray); } +.oc[data-darkmode="true"] #config-mode-tabs .mode-tab { + color: var(--text-secondary); +} + +.oc[data-darkmode="true"] #config-mode-tabs .mode-tab:hover { + color: var(--text-primary); + background: rgba(96, 165, 250, 0.1); +} + +.oc[data-darkmode="true"] #config-mode-tabs .mode-tab.active { + background: var(--primary-color); + color: white; +} + +.oc[data-darkmode="true"] #config-mergeview-container .CodeMirror-merge-gap { + background: var(--text-secondary) !important; +} + +.oc[data-darkmode="true"] .oc .config-editor-content { + border-bottom: 1px solid var(--border-light); + border-top: 1px solid var(--border-light); +} + +.oc[data-darkmode="true"] .overwrite-banner { + background: rgba(255,80,80,0.18); +} + +.oc[data-darkmode="true"] .overwrite-banner svg { + stroke: var(--error-color); +} + +.oc[data-darkmode="true"] .overwrite-banner svg circle { + stroke: var(--error-color); + fill: rgba(255,80,80,0.18); +} + .oc .config-editor-modal-overlay { position: fixed; top: 0; @@ -74,6 +110,7 @@ flex-shrink: 0; cursor: move; user-select: none; + min-width: 0; } .oc .config-editor-title { @@ -83,11 +120,22 @@ display: flex; align-items: center; gap: 8px; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + flex: 1 1 auto; } .oc .config-editor-title .config-file-name { color: var(--primary-color); font-weight: 700; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: inline-block; + vertical-align: bottom; + padding: 0; } .oc .config-editor-actions { @@ -96,16 +144,6 @@ gap: 12px; } -.oc .config-editor-size-controls { - display: flex; - align-items: center; - gap: 4px; - padding: 4px 8px; - background: var(--bg-white); - border-radius: var(--radius-sm); - border: 1px solid var(--border-light); -} - .oc .size-btn { width: 24px !important; height: 24px !important; @@ -118,10 +156,22 @@ height: 12px !important; } +#config-mergeview-container { + width: 100%; + height: 100%; + display: block; + position: absolute; + top: 0; left: 0; right: 0; bottom: 0; + background: var(--bg-white); + z-index: 2; +} + .oc .config-editor-content { flex: 1; position: relative; overflow: hidden; + border-bottom: 1px solid var(--border-light); + border-top: 1px solid var(--border-light); } .oc .config-editor-loading { @@ -158,7 +208,6 @@ align-items: center; justify-content: space-between; padding: 12px 20px; - border-top: 1px solid var(--border-light); background: var(--bg-gray); flex-shrink: 0; position: relative; @@ -167,12 +216,20 @@ .oc .config-editor-status { font-size: 12px; color: var(--text-secondary); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 50%; } .oc .config-editor-help { font-size: 11px; color: var(--text-secondary); opacity: 0.8; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 50%; } .oc .config-editor-resize-handle { @@ -204,7 +261,6 @@ border: none; outline: none; resize: none; - font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 14px; line-height: 1.5; padding: 12px; @@ -218,6 +274,83 @@ line-height: 1.5; } +.oc #config-mode-tabs { + display: flex; + justify-content: center; + align-items: center; + padding: 8px; + background: transparent; + border: none; + box-shadow: none; + border-radius: var(--radius-md); +} + +.oc #config-mode-tabs .mode-tabs { + display: flex; + width: 100%; + background: var(--bg-gray); + border-radius: var(--radius-md); + padding: 4px; + gap: 4px; + margin: 0 auto; +} + +.oc #config-mode-tabs .mode-tab { + flex: 1 1 0; + min-width: 0; + width: 0; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + padding: 12px 0; + border: none; + border-radius: calc(var(--radius-md) - 2px); + background: transparent; + color: var(--text-secondary); + font-size: 14px; + font-weight: 500; + cursor: pointer; + transition: all var(--transition-fast); + box-sizing: border-box; +} + +.oc #config-mode-tabs .mode-tab:hover { + color: var(--text-primary); + background: rgba(59, 130, 246, 0.1); +} + +.oc #config-mode-tabs .mode-tab.active { + background: var(--primary-color); + color: white; + box-shadow: var(--shadow-sm); +} + +.overwrite-banner { + display: flex; + justify-content: center; + align-items: center; + gap: 12px; + padding: 10px 20px; + background: rgba(255,80,80,0.12); + font-size: 14px; + text-align: center; +} + +.overwrite-banner svg { + flex-shrink: 0; + display: block; +} + +.overwrite-banner span { + flex: unset; + text-align: center; + display: inline-block; + color: var(--error-color); + line-height: 1.5; + vertical-align: middle; +} + .oc .config-editor-modal .CodeMirror.zoom-75 { font-size: 10.5px; } .oc .config-editor-modal .CodeMirror.zoom-90 { font-size: 12.6px; } .oc .config-editor-modal .CodeMirror.zoom-110 { font-size: 15.4px; } @@ -225,12 +358,51 @@ .oc .config-editor-modal .CodeMirror.zoom-150 { font-size: 21px; } .oc .config-editor-modal .CodeMirror.zoom-200 { font-size: 28px; } +#config-mergeview-container .CodeMirror-merge, +#config-mergeview-container .CodeMirror-merge-pane, +#config-mergeview-container .CodeMirror, +#config-mergeview-container .CodeMirror-scroll { + height: 100% !important; + min-height: 0 !important; + box-sizing: border-box; +} + +#config-mergeview-container .CodeMirror-merge-gap { + height: 100% !important; + min-height: 0 !important; +} + +#config-mergeview-container .CodeMirror-scroll { + overflow-y: auto !important; + overflow-x: hidden !important; +} + +#config-mergeview-container .CodeMirror-merge-pane { + overflow: hidden; +} + +#config-mergeview-container .CodeMirror-merge-r-chunk { + background: #0095ff2e !important; +} +#config-mergeview-container .CodeMirror-merge-r-connect { + fill: #0095ff2e !important; + stroke: #0095ff2e !important; +} + +#config-mergeview-container .CodeMirror-merge { + border: none !important; +} + @media screen and (max-width: 768px) { .oc .config-editor-modal { width: 95vw; - height: 90vh; + height: 80vh; min-width: 320px; } + + .oc .config-editor-actions { + gap: 5px; + } } @@ -239,28 +411,16 @@
- <%:File Edit%>: + <%:File Edit%>: <%:Loading...%>
-
- - -
+
+ + + +
@@ -290,6 +481,7 @@ <%:Loading config file...%>
+
- <%:Press F11 for fullscreen, Esc to exit fullscreen, Ctrl+Mouse Wheel to zoom%> + <%:Press F11 for fullscreen, Esc to exit fullscreen, Ctrl+Mouse Wheel to zoom%>
@@ -346,15 +538,29 @@ var ConfigEditor = { originalContent: '', isModified: false, currentZoom: 100, - isMaximized: false, - isMinimized: false, currentConfigFile: '', zoomLevels: [75, 90, 100, 110, 125, 150, 200], - + isOverwrite: false, + currentViewMode: 'original', + runtimeContent: '', + mergeViewActive: false, + SVG_COMPARE: ` + + + + + `, + SVG_RESTORE: ` + + + + `, + init: function() { this.overlay = document.getElementById('config-editor-overlay'); this.modal = document.getElementById('config-editor-modal'); - + this.mergeViewActive = false; + if (!this.overlay || !this.modal) { return; } @@ -365,14 +571,6 @@ var ConfigEditor = { bindEvents: function() { var self = this; - document.getElementById('config-editor-maximize').addEventListener('click', function() { - self.maximizeWindow(); - }); - - document.getElementById('config-editor-minimize').addEventListener('click', function() { - self.minimizeWindow(); - }); - document.getElementById('config-editor-save').addEventListener('click', function() { self.saveConfigContent(); }); @@ -413,19 +611,75 @@ var ConfigEditor = { } } }); + + var tabOriginal = document.getElementById('tab-original-config'); + var tabRuntime = document.getElementById('tab-runtime-config'); + if (tabOriginal && tabRuntime) { + tabOriginal.addEventListener('click', function() { + if (self.currentViewMode !== 'original') { + self.currentViewMode = 'original'; + self.loadConfigContent(); + self.updateModeTabs(); + } + }); + tabRuntime.addEventListener('click', function() { + if (self.currentViewMode !== 'runtime') { + self.currentViewMode = 'runtime'; + self.loadConfigContent(); + self.updateModeTabs(); + } + }); + }; + + var layoutBtn = document.getElementById('config-editor-layout'); + if (layoutBtn) { + layoutBtn.addEventListener('click', function() { + if (!self.mergeViewActive) { + self.showMergeView(); + self.currentViewMode = 'original'; + layoutBtn.title = "<%:Restore%>"; + layoutBtn.innerHTML = self.SVG_RESTORE; + } else { + self.hideMergeView(); + layoutBtn.title = "<%:Compare%>"; + layoutBtn.innerHTML = self.SVG_COMPARE; + } + }); + }; this.makeDraggable(); this.makeResizable(); }, show: function(configFile) { + this.isOverwrite = false; + + var banner = document.getElementById('overwrite-banner'); + if (banner) banner.style.display = 'none'; + + var tabs = document.getElementById('config-mode-tabs'); + if (tabs) tabs.style.display = 'flex'; + + var layoutBtn = document.getElementById('config-editor-layout'); + if (layoutBtn) layoutBtn.style.display = 'inline-block'; + if (!configFile) { alert('<%:Please select a config file first%>'); return; } - + + this.currentViewMode = 'original'; + this.runtimeContent = ''; this.currentConfigFile = configFile; this.overlay.classList.add('show'); + + this.modal.classList.remove('maximized'); + this.modal.classList.remove('minimized'); + + var editTitle = document.getElementById('editTitle'); + if (editTitle) { + editTitle.textContent = '<%:File Edit%>: '; + } var configNameElement = document.getElementById('config-file-name'); if (configNameElement) { @@ -434,7 +688,45 @@ var ConfigEditor = { this.isModified = false; this.originalContent = ''; - + + this.mergeViewActive = false; + this.hideMergeView(); + this.updateModeTabs(); + }, + + showOverwrite: function() { + this.isOverwrite = true; + + var banner = document.getElementById('overwrite-banner'); + if (banner) banner.style.display = 'flex'; + + var tabs = document.getElementById('config-mode-tabs'); + if (tabs) tabs.style.display = 'none'; + + var layoutBtn = document.getElementById('config-editor-layout'); + if (layoutBtn) layoutBtn.style.display = 'none'; + + this.currentConfigFile = '/etc/openclash/custom/openclash_custom_overwrite.sh'; + this.overlay.classList.add('show'); + + this.modal.classList.remove('maximized'); + this.modal.classList.remove('minimized'); + + var editTitle = document.getElementById('editTitle'); + if (editTitle) { + editTitle.textContent = '<%:Overwrite Edit%>: '; + } + + var configNameElement = document.getElementById('config-file-name'); + if (configNameElement) { + configNameElement.textContent = this.formatDisplayName(this.currentConfigFile); + } + this.isModified = false; + this.originalContent = ''; + + this.mergeViewActive = false; + this.hideMergeView(); + this.loadConfigContent(); }, @@ -442,7 +734,7 @@ var ConfigEditor = { this.overlay.classList.remove('show'); if (this.editorInstance) { - this.editorInstance.toTextArea(); + if (this.editorInstance.toTextArea) this.editorInstance.toTextArea(); this.editorInstance = null; } @@ -452,32 +744,165 @@ var ConfigEditor = { var loadingDiv = document.getElementById('config-editor-loading'); var textarea = document.getElementById('config-editor-textarea'); + var mergeview = document.getElementById('config-mergeview-container'); + var editor_help = document.getElementById('config-editor-help'); if (loadingDiv) loadingDiv.style.display = 'flex'; if (textarea) textarea.style.display = 'none'; + if (mergeview) mergeview.style.display = 'none'; + if (layoutBtn) { + layoutBtn.classList.remove('active'); + layoutBtn.title = "<%:Compare%>"; + layoutBtn.innerHTML = this.SVG_COMPARE; + } + if (editor_help) editor_help.textContent = '<%:Press F11 for fullscreen, Esc to exit fullscreen, Ctrl+Mouse Wheel to zoom%>'; }, formatDisplayName: function(fileName) { if (!fileName) return '<%:Unknown%>'; - var name = fileName.split('/').pop().split('\\').pop(); - - if (name.length > 30) { - name = name.substring(0, 27) + '...'; + if (this.isOverwrite || fileName === '/etc/openclash/custom/openclash_custom_overwrite.sh') { + return 'openclash_custom_overwrite.sh'; } - + + var name = fileName.split('/').pop().split('\\').pop(); + return name; }, + + updateModeTabs: function() { + var tabOriginal = document.getElementById('tab-original-config'); + var tabRuntime = document.getElementById('tab-runtime-config'); + var saveBtn = document.getElementById('config-editor-save'); + if (this.isOverwrite) { + if (tabOriginal && tabRuntime) { + tabOriginal.classList.remove('active'); + tabRuntime.classList.remove('active'); + } + if (saveBtn) { + saveBtn.disabled = false; + saveBtn.style.opacity = '1'; + saveBtn.style.cursor = 'pointer'; + } + return; + } + if (tabOriginal && tabRuntime) { + if (this.currentViewMode === 'original') { + tabOriginal.classList.add('active'); + tabRuntime.classList.remove('active'); + if (saveBtn) { + saveBtn.disabled = !this.isModified; + saveBtn.style.opacity = this.isModified ? '1' : '0.5'; + saveBtn.style.cursor = this.isModified ? 'pointer' : 'not-allowed'; + } + } else { + tabOriginal.classList.remove('active'); + tabRuntime.classList.add('active'); + if (saveBtn) { + saveBtn.disabled = true; + saveBtn.style.opacity = '0.5'; + saveBtn.style.cursor = 'not-allowed'; + } + } + } + }, loadConfigContent: function() { var self = this; var statusText = document.getElementById('config-editor-status-text'); var loadingDiv = document.getElementById('config-editor-loading'); var textarea = document.getElementById('config-editor-textarea'); - + var mergeview = document.getElementById('config-mergeview-container'); + if (mergeview) mergeview.style.display = 'none'; + if (textarea) textarea.style.display = 'block'; + statusText.textContent = '<%:Loading...%>'; - - fetch('/cgi-bin/luci/admin/services/openclash/config_file_read?config_file=' + encodeURIComponent(this.currentConfigFile)) + + var url, mode; + if (this.isOverwrite) { + url = '/cgi-bin/luci/admin/services/openclash/config_file_read?config_file=' + encodeURIComponent('/etc/openclash/custom/openclash_custom_overwrite.sh'); + mode = "text/x-sh"; + } else if (this.currentViewMode === 'runtime') { + var runtimePath = '/etc/openclash/' + encodeURIComponent(this.formatDisplayName(this.currentConfigFile)); + url = '/cgi-bin/luci/admin/services/openclash/config_file_read?config_file=' + runtimePath; + mode = "text/yaml"; + } else { + url = '/cgi-bin/luci/admin/services/openclash/config_file_read?config_file=' + encodeURIComponent(this.currentConfigFile); + mode = "text/yaml"; + } + + function renderEditor(content, mode, readOnly, lint) { + loadingDiv.style.display = 'none'; + textarea.value = content; + textarea.style.display = 'block'; + + if (self.editorInstance) { + if (self.editorInstance.toTextArea) self.editorInstance.toTextArea(); + self.editorInstance = null; + } + self.editorInstance = CodeMirror.fromTextArea(textarea, { + mode: mode, + autoRefresh: true, + styleActiveLine: true, + lineNumbers: true, + theme: "material", + lineWrapping: true, + matchBrackets: true, + foldGutter: true, + lint: lint, + readOnly: readOnly, + gutters: lint + ? ["CodeMirror-linenumbers", "CodeMirror-foldgutter", "CodeMirror-lint-markers"] + : ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: { + "F11": function(cm) { + cm.setOption("fullScreen", !cm.getOption("fullScreen")); + }, + "Esc": function(cm) { + if (cm.getOption("fullScreen")) { + cm.setOption("fullScreen", false); + } + }, + "Tab": function(cm) { + if (cm.somethingSelected()) { + cm.indentSelection('add'); + } else { + var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); + cm.replaceSelection(spaces); + } + }, + "Ctrl-S": function(cm) { + if (!readOnly) self.saveConfigContent(); + } + } + }); + self.editorInstance.setSize('100%', '100%'); + self.editorInstance.setValue(content); + self.editorInstance.refresh(); + if (!readOnly) { + self.editorInstance.on("change", function() { + self.isModified = self.editorInstance.getValue() !== self.originalContent; + self.updateSaveButtonState(); + }); + } + } + + if (!this.isOverwrite) { + if (this.currentViewMode === 'original' && this.originalContent) { + renderEditor(this.originalContent, "text/yaml", false, true); + statusText.textContent = '<%:Ready%>'; + self.updateModeTabs(); + return; + } + if (this.currentViewMode === 'runtime' && this.runtimeContent) { + renderEditor(this.runtimeContent, "text/yaml", true, false); + statusText.textContent = '<%:Runtime config (read only)%>'; + self.updateModeTabs(); + return; + } + } + + fetch(url) .then(function(response) { if (!response.ok) { throw new Error('HTTP error! status: ' + response.status); @@ -485,60 +910,17 @@ var ConfigEditor = { return response.json(); }) .then(function(data) { - loadingDiv.style.display = 'none'; - if (data.content !== undefined) { - self.originalContent = data.content; - textarea.value = self.originalContent; - textarea.style.display = 'block'; - - self.editorInstance = CodeMirror.fromTextArea(textarea, { - mode: "text/yaml", - autoRefresh: true, - styleActiveLine: true, - lineNumbers: true, - theme: "material", - lineWrapping: true, - matchBrackets: true, - foldGutter: true, - lint: true, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter", "CodeMirror-lint-markers"], - extraKeys: { - "F11": function(cm) { - cm.setOption("fullScreen", !cm.getOption("fullScreen")); - }, - "Esc": function(cm) { - if (cm.getOption("fullScreen")) { - cm.setOption("fullScreen", false); - } - }, - "Tab": function(cm) { - if (cm.somethingSelected()) { - cm.indentSelection('add'); - } else { - var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); - cm.replaceSelection(spaces); - } - }, - "Ctrl-S": function(cm) { - self.saveConfigContent(); - } - } - }); - - self.editorInstance.setSize('100%', '100%'); - - self.editorInstance.on("change", function() { - self.isModified = self.editorInstance.getValue() !== self.originalContent; - self.updateSaveButtonState(); - }); - - var savedZoom = localStorage.getItem('config-editor-zoom'); - if (savedZoom && self.zoomLevels.indexOf(parseInt(savedZoom)) !== -1) { - self.updateZoom(parseInt(savedZoom)); + if (self.currentViewMode === 'runtime' && !self.isOverwrite) { + self.runtimeContent = data.content; + renderEditor(self.runtimeContent, "text/yaml", true, false); + statusText.textContent = '<%:Runtime config (read only)%>'; + } else { + self.originalContent = data.content; + renderEditor(self.originalContent, self.isOverwrite ? "text/x-sh" : "text/yaml", false, !self.isOverwrite); + statusText.textContent = '<%:Ready%>'; } - - statusText.textContent = '<%:Ready%>'; + self.updateModeTabs(); } else { throw new Error('Invalid response data'); } @@ -548,7 +930,136 @@ var ConfigEditor = { statusText.textContent = '<%:Load failed%>'; }); }, - + + showMergeView: function() { + var self = this; + if (this.isOverwrite) return; + var container = document.getElementById('config-mergeview-container'); + var textarea = document.getElementById('config-editor-textarea'); + var loadingDiv = document.getElementById('config-editor-loading'); + var tabs = document.getElementById('config-mode-tabs'); + var editor_help = document.getElementById('config-editor-help'); + var statusText = document.getElementById('config-editor-status-text'); + + if (tabs) tabs.style.display = 'none'; + if (textarea) textarea.style.display = 'none'; + if (loadingDiv) loadingDiv.style.display = 'none'; + if (container) container.style.display = 'block'; + if (statusText) statusText.textContent = '<%:Loading...%>'; + if (editor_help) editor_help.textContent = '<%:Press F10 to toggle differences, F11 for fullscreen, Esc to exit fullscreen, Ctrl+Mouse Wheel to zoom%>'; + + var getOriginal = function() { + return new Promise(function(resolve, reject) { + if (self.originalContent) return resolve(self.originalContent); + var url = '/cgi-bin/luci/admin/services/openclash/config_file_read?config_file=' + encodeURIComponent(self.currentConfigFile); + fetch(url).then(function(r){return r.json()}).then(function(data){ + resolve(data.content || ''); + }).catch(function(){resolve('')}); + }); + }; + var getRuntime = function() { + return new Promise(function(resolve, reject) { + if (self.runtimeContent) return resolve(self.runtimeContent); + var runtimePath = '/etc/openclash/' + encodeURIComponent(self.formatDisplayName(self.currentConfigFile)); + var url = '/cgi-bin/luci/admin/services/openclash/config_file_read?config_file=' + runtimePath; + fetch(url).then(function(r){return r.json()}).then(function(data){ + resolve(data.content || ''); + }).catch(function(){resolve('')}); + }); + }; + + let showDifferences = true; + + Promise.all([getOriginal(), getRuntime()]).then(function(contents){ + var original = contents[0] || ''; + var runtime = contents[1] || ''; + container.innerHTML = ''; + if (self.editorInstance && self.editorInstance.toTextArea) self.editorInstance.toTextArea(); + self.editorInstance = CodeMirror.MergeView(container, { + value: original, + orig: runtime, + mode: "text/yaml", + theme: "material", + lineNumbers: true, + autoRefresh: true, + styleActiveLine: true, + lineWrapping: true, + matchBrackets: true, + foldGutter: true, + lint: true, + highlightDifferences: showDifferences, + connect: null, + collapseIdentical: false, + readOnly: false, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter", "CodeMirror-lint-markers"], + extraKeys: { + "F10": function() { + showDifferences = !showDifferences; + if (self.editorInstance && self.editorInstance.setShowDifferences) { + self.editorInstance.setShowDifferences(showDifferences); + } + }, + "F11": function(cm) { + cm.setOption("fullScreen", !cm.getOption("fullScreen")); + }, + "Esc": function(cm) { + if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); + }, + "Tab": function(cm) { + if (cm.somethingSelected()) { + cm.indentSelection('add'); + } else { + var spaces = Array(cm.getOption("indentUnit") + 1).join(" "); + cm.replaceSelection(spaces); + } + }, + "Ctrl-S": function(cm) { + self.saveConfigContent(); + } + } + }); + var leftEditor = self.editorInstance.edit; + if (leftEditor) { + leftEditor.on("change", function() { + self.isModified = leftEditor.getValue() !== self.originalContent; + self.updateSaveButtonState(); + }); + } + if (self.editorInstance.editor) + self.editorInstance.editor().setSize('100%', '100%'); + if (self.editorInstance.rightOriginal && self.editorInstance.rightOriginal()) + self.editorInstance.rightOriginal().setSize('100%', '100%'); + self.mergeViewActive = true; + if (statusText) statusText.textContent = '<%:Compare mode: left(Original Config), right(Runtime Config)%>'; + var layoutBtn = document.getElementById('config-editor-layout'); + if (layoutBtn) layoutBtn.classList.add('active'); + }); + }, + + hideMergeView: function() { + var container = document.getElementById('config-mergeview-container'); + var textarea = document.getElementById('config-editor-textarea'); + var tabs = document.getElementById('config-mode-tabs'); + var editor_help = document.getElementById('config-editor-help'); + var layoutBtn = document.getElementById('config-editor-layout'); + if (container) { + container.innerHTML = ''; + container.style.display = 'none'; + } + if (textarea) textarea.style.display = 'block'; + if (!this.isOverwrite && tabs) tabs.style.display = 'flex'; + this.mergeViewActive = false; + this.loadConfigContent(); + + if (layoutBtn) { + layoutBtn.classList.remove('active'); + layoutBtn.title = "<%:Compare%>"; + layoutBtn.innerHTML = this.SVG_COMPARE; + } + + if (editor_help) editor_help.textContent = '<%:Press F11 for fullscreen, Esc to exit fullscreen, Ctrl+Mouse Wheel to zoom%>'; + }, + saveConfigContent: function() { if (!this.editorInstance || !this.isModified) { return; @@ -560,8 +1071,13 @@ var ConfigEditor = { statusText.textContent = '<%:Saving...%>'; saveBtn.disabled = true; - - var content = this.editorInstance.getValue(); + + var content; + if (this.mergeViewActive && this.editorInstance && this.editorInstance.edit) { + content = this.editorInstance.edit.getValue(); + } else { + content = this.editorInstance.getValue(); + } if (!content) { saveBtn.disabled = false; @@ -571,7 +1087,11 @@ var ConfigEditor = { } var formData = new FormData(); - formData.append('config_file', this.currentConfigFile); + if (this.isOverwrite) { + formData.append('config_file', '/etc/openclash/custom/openclash_custom_overwrite.sh'); + } else { + formData.append('config_file', this.currentConfigFile); + } formData.append('content', content); fetch('/cgi-bin/luci/admin/services/openclash/config_file_save', { @@ -628,11 +1148,21 @@ var ConfigEditor = { return; } - var content = this.editorInstance.getValue(); - var filename = this.formatDisplayName(this.currentConfigFile); - - if (!filename.toLowerCase().endsWith('.yaml') && !filename.toLowerCase().endsWith('.yml')) { - filename += '.yaml'; + var content; + if (this.mergeViewActive && this.editorInstance && this.editorInstance.edit) { + content = this.editorInstance.edit.getValue(); + } else { + content = this.editorInstance.getValue(); + } + + var filename; + if (this.isOverwrite) { + filename = 'openclash_custom_overwrite.sh'; + } else { + filename = this.formatDisplayName(this.currentConfigFile); + if (!filename.toLowerCase().endsWith('.yaml') && !filename.toLowerCase().endsWith('.yml')) { + filename += '.yaml'; + } } try { @@ -666,11 +1196,7 @@ var ConfigEditor = { }, updateSaveButtonState: function() { - var saveBtn = document.getElementById('config-editor-save'); - if (saveBtn) { - saveBtn.style.opacity = this.isModified ? '1' : '0.5'; - saveBtn.style.cursor = this.isModified ? 'pointer' : 'not-allowed'; - } + this.updateModeTabs(); }, closeEditor: function() { @@ -680,7 +1206,7 @@ var ConfigEditor = { return; } } - + this.hideMergeView(); this.hide(); }, @@ -701,8 +1227,6 @@ var ConfigEditor = { this.editorInstance.refresh(); } } - - localStorage.setItem('config-editor-zoom', this.currentZoom); }, zoomIn: function() { @@ -723,42 +1247,6 @@ var ConfigEditor = { this.updateZoom(100); }, - maximizeWindow: function() { - if (!this.isMaximized) { - this.modal.classList.add('maximized'); - this.modal.classList.remove('minimized'); - this.isMaximized = true; - this.isMinimized = false; - } else { - this.modal.classList.remove('maximized'); - this.isMaximized = false; - } - - setTimeout(() => { - if (this.editorInstance) { - this.editorInstance.refresh(); - } - }, 100); - }, - - minimizeWindow: function() { - if (!this.isMinimized) { - this.modal.classList.add('minimized'); - this.modal.classList.remove('maximized'); - this.isMinimized = true; - this.isMaximized = false; - } else { - this.modal.classList.remove('minimized'); - this.isMinimized = false; - } - - setTimeout(() => { - if (this.editorInstance) { - this.editorInstance.refresh(); - } - }, 100); - }, - makeDraggable: function() { var self = this; var header = this.modal.querySelector('.config-editor-header'); @@ -821,6 +1309,65 @@ var ConfigEditor = { document.removeEventListener('mousemove', onMouseMove); document.removeEventListener('mouseup', onMouseUp); } + + header.addEventListener('touchstart', function(e) { + if (e.target.closest('.config-editor-actions')) { + return; + } + if (e.touches.length !== 1) return; + + isDragging = true; + startX = e.touches[0].clientX; + startY = e.touches[0].clientY; + + var rect = self.modal.getBoundingClientRect(); + startLeft = rect.left; + startTop = rect.top; + + self.modal.style.position = 'fixed'; + self.modal.style.left = startLeft + 'px'; + self.modal.style.top = startTop + 'px'; + self.modal.style.margin = '0'; + self.modal.style.transform = 'none'; + self.modal.style.transition = 'none'; + + document.addEventListener('touchmove', onTouchMove, {passive: false}); + document.addEventListener('touchend', onTouchEnd); + + e.preventDefault(); + }); + + function onTouchMove(e) { + if (!isDragging || e.touches.length !== 1) return; + + var deltaX = e.touches[0].clientX - startX; + var deltaY = e.touches[0].clientY - startY; + + var newLeft = startLeft + deltaX; + var newTop = startTop + deltaY; + + var modalRect = self.modal.getBoundingClientRect(); + var maxLeft = window.innerWidth - modalRect.width; + var maxTop = window.innerHeight - modalRect.height; + + newLeft = Math.max(0, Math.min(newLeft, maxLeft)); + newTop = Math.max(0, Math.min(newTop, maxTop)); + + self.modal.style.left = newLeft + 'px'; + self.modal.style.top = newTop + 'px'; + + e.preventDefault(); + } + + function onTouchEnd() { + isDragging = false; + setTimeout(function() { + self.modal.style.transition = 'all 0.3s ease'; + }, 50); + + document.removeEventListener('touchmove', onTouchMove); + document.removeEventListener('touchend', onTouchEnd); + } }, makeResizable: function() { @@ -868,7 +1415,13 @@ var ConfigEditor = { if (self.editorInstance) { requestAnimationFrame(function() { - self.editorInstance.refresh(); + if (self.mergeViewActive && self.editorInstance.editor) { + self.editorInstance.editor().refresh(); + if (self.editorInstance.rightOriginal) + self.editorInstance.rightOriginal().refresh(); + } else { + self.editorInstance.refresh(); + } }); } } @@ -883,7 +1436,86 @@ var ConfigEditor = { if (self.editorInstance) { setTimeout(function() { - self.editorInstance.refresh(); + if (self.mergeViewActive && self.editorInstance.editor) { + self.editorInstance.editor().refresh(); + if (self.editorInstance.rightOriginal) + self.editorInstance.rightOriginal().refresh(); + } else { + self.editorInstance.refresh(); + } + }, 50); + } + } + + resizeHandle.addEventListener('touchstart', function(e) { + if (e.touches.length !== 1) return; + isResizing = true; + startX = e.touches[0].clientX; + startY = e.touches[0].clientY; + + var rect = self.modal.getBoundingClientRect(); + startWidth = rect.width; + startHeight = rect.height; + + self.modal.style.transition = 'none'; + self.modal.style.width = startWidth + 'px'; + self.modal.style.height = startHeight + 'px'; + + document.addEventListener('touchmove', onTouchMove, {passive: false}); + document.addEventListener('touchend', onTouchEnd); + + e.preventDefault(); + }); + + function onTouchMove(e) { + if (!isResizing || e.touches.length !== 1) return; + + var deltaX = e.touches[0].clientX - startX; + var deltaY = e.touches[0].clientY - startY; + + var newWidth = Math.max(320, startWidth + deltaX); + var newHeight = Math.max(200, startHeight + deltaY); + + var maxWidth = window.innerWidth * 0.98; + var maxHeight = window.innerHeight * 0.95; + + newWidth = Math.min(newWidth, maxWidth); + newHeight = Math.min(newHeight, maxHeight); + + self.modal.style.width = newWidth + 'px'; + self.modal.style.height = newHeight + 'px'; + + if (self.editorInstance) { + requestAnimationFrame(function() { + if (self.mergeViewActive && self.editorInstance.editor) { + self.editorInstance.editor().refresh(); + if (self.editorInstance.rightOriginal) + self.editorInstance.rightOriginal().refresh(); + } else { + self.editorInstance.refresh(); + } + }); + } + + e.preventDefault(); + } + + function onTouchEnd() { + isResizing = false; + self.modal.style.transition = 'all 0.3s ease'; + + document.removeEventListener('touchmove', onTouchMove); + document.removeEventListener('touchend', onTouchEnd); + + if (self.editorInstance) { + setTimeout(function() { + if (self.mergeViewActive && self.editorInstance.editor) { + self.editorInstance.editor().refresh(); + if (self.editorInstance.rightOriginal) + self.editorInstance.rightOriginal().refresh(); + } else { + self.editorInstance.refresh(); + } }, 50); } } diff --git a/small/luci-app-openclash/luasrc/view/openclash/config_editor.htm b/small/luci-app-openclash/luasrc/view/openclash/config_editor.htm index da5c997140..98d6743e5c 100644 --- a/small/luci-app-openclash/luasrc/view/openclash/config_editor.htm +++ b/small/luci-app-openclash/luasrc/view/openclash/config_editor.htm @@ -5,18 +5,18 @@ line-height: 150%; resize: both !important; } + .CodeMirror-merge { + border: none !important; + } .CodeMirror-merge-r-chunk { background: #0095ff2e !important; } - .CodeMirror-merge-r-chunk-end { - border-bottom: unset !important; - } - .CodeMirror-merge-r-chunk-start { - border-top: unset !important; - } .CodeMirror-merge-2pane .CodeMirror-merge-gap { height: 700px !important; } + .CodeMirror-merge-gap { + background: #d0cfcf !important; + } .CodeMirror-merge-r-connect { fill: #0095ff2e !important; stroke: #0095ff2e !important; @@ -24,7 +24,14 @@ .CodeMirror-vscrollbar-oc { display: none !important; } - + .CodeMirror, .CodeMirror-line { + width: 100% !important; + max-width: 100% !important; + min-width: 0 !important; + box-sizing: border-box; + word-break: break-all !important; + overflow-wrap: break-word !important; + } diff --git a/small/luci-app-openclash/luasrc/view/openclash/config_upload.htm b/small/luci-app-openclash/luasrc/view/openclash/config_upload.htm index 14a81476f6..79d4483bd0 100644 --- a/small/luci-app-openclash/luasrc/view/openclash/config_upload.htm +++ b/small/luci-app-openclash/luasrc/view/openclash/config_upload.htm @@ -1,103 +1,4 @@ - diff --git a/small/luci-app-openclash/luasrc/view/openclash/myip.htm b/small/luci-app-openclash/luasrc/view/openclash/myip.htm index 79fad46717..700f976f4c 100644 --- a/small/luci-app-openclash/luasrc/view/openclash/myip.htm +++ b/small/luci-app-openclash/luasrc/view/openclash/myip.htm @@ -105,7 +105,7 @@ border-radius: var(--radius-lg); padding: var(--card-padding); box-shadow: var(--shadow-md); - margin: 16px auto; + margin: 12px auto; width: 100%; transition: all var(--transition-fast); } @@ -113,7 +113,7 @@ .oc .myip-content-grid { display: grid; grid-template-columns: 1fr 1fr; - gap: 18px; + gap: 12px; align-items: start; } @@ -133,7 +133,7 @@ font-size: 25px; font-weight: bold; color: var(--text-primary, #111827); - margin: 16px; + margin: 8px; padding: 0; text-align: left; display: flex; @@ -154,13 +154,15 @@ .oc .myip-ip-list { display: grid; grid-template-columns: repeat(2, 1fr); - gap: 12px; + gap: 8px; + margin: auto 8px; } .oc .myip-check-list { display: grid; grid-template-columns: repeat(2, 1fr); - gap: 12px; + gap: 8px; + margin: auto 8px; } .oc .myip-ip-item, @@ -310,11 +312,16 @@ top: 0 !important; margin: 0 !important; font-size: 15px !important; - line-height: 10px !important; + line-height: 20px !important; padding: 0px 10px !important; white-space: nowrap; z-index: 1; color: var(--text-secondary, #6b7280); + overflow: hidden; + text-overflow: ellipsis; + max-width: 100%; + box-sizing: border-box; + text-align: right; } .oc .myip-footer a { @@ -398,7 +405,6 @@ @media screen and (max-width: 1200px) { .oc .myip-main-card { margin: 11px auto; - width: calc(100% - 32px); } } @@ -410,13 +416,10 @@ .oc .myip-content-grid { grid-template-columns: 1fr; - gap: 16px; } .oc .myip-main-card { - padding: 14px; margin: 10px auto; - width: calc(100% - 24px); } .oc .myip-section-title { @@ -427,7 +430,6 @@ .oc .myip-ip-list, .oc .myip-check-list { grid-template-columns: repeat(2, 1fr); - gap: 10px; } .oc .ip-title, @@ -469,16 +471,9 @@ --card-item-min-height: 70px; } - .oc .myip-ip-list, - .oc .myip-check-list { - grid-template-columns: 1fr; - gap: 8px; - } - .oc .myip-main-card { - padding: 12px; + padding: 8px; margin: 8px auto; - width: calc(100% - 16px); } .oc .myip-section-title { @@ -585,7 +580,7 @@

- <%:Website Access Check%> + <%:Access Check%> <%:Router Mode%> diff --git a/small/luci-app-openclash/luasrc/view/openclash/status.htm b/small/luci-app-openclash/luasrc/view/openclash/status.htm index 61324bb40a..6509dea175 100644 --- a/small/luci-app-openclash/luasrc/view/openclash/status.htm +++ b/small/luci-app-openclash/luasrc/view/openclash/status.htm @@ -26,8 +26,8 @@ --transition-fast: 0.15s ease; --transition-normal: 0.3s ease; - --control-height: 36px; - --card-padding: 6px 10px; + --control-height: 32px; + --card-padding: 8px 5px; --gap-size: 10px; --row-1-height: 160px; @@ -111,14 +111,20 @@ color: var(--error-color); } -.oc[data-darkmode="true"] .dashboard-btn { - background: var(--primary-color) !important; - color: rgb(236, 234, 234) !important; +.oc[data-darkmode="true"] .subscription-nav-arrow.left { + border-right-color: var(--text-secondary); } -.oc[data-darkmode="true"] .dashboard-btn:hover { - background: var(--primary-color) !important; - color: white !important; +.oc[data-darkmode="true"] .subscription-nav-arrow.right { + border-left-color: var(--text-secondary); +} + +.oc[data-darkmode="true"] .subscription-nav-arrow.left:hover { + border-right-color: var(--primary-color); +} + +.oc[data-darkmode="true"] .subscription-nav-arrow.right:hover { + border-left-color: var(--primary-color); } .oc[data-darkmode="true"] .dashboard-btn:disabled { @@ -187,12 +193,12 @@ background: var(--bg-white); border: 1px solid var(--border-light); border-radius: var(--radius-lg); - padding: 16px; + padding: 12px; box-shadow: var(--shadow-sm); transition: all var(--transition-fast); display: grid; grid-template-rows: var(--row-1-height) var(--row-2-height) var(--row-3-height) var(--row-4-height); - gap: 12px; + gap: 8px; overflow: visible; grid-row: 2; max-width: 100%; @@ -215,6 +221,7 @@ height: 100%; max-width: 100%; box-sizing: border-box; + min-width: 250px; } .oc .card-row:nth-child(1) { @@ -241,22 +248,16 @@ .oc .card-row.dual-cards { display: grid; grid-template-columns: 1fr 1fr; - gap: 12px; - max-width: 100%; -} - -.oc .card-row.triple-cards { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 10px; + gap: 8px; max-width: 100%; } .oc .card-row.stats-grid { display: grid; grid-template-columns: repeat(4, 2fr); - gap: 6px; + gap: 8px; max-width: 100%; + min-width: auto; } .oc .sub-card { @@ -293,7 +294,7 @@ } .oc .card-title { - font-size: 14px; + font-size: clamp(10px, 2.5vw, 14px); font-weight: 600; color: var(--text-secondary); letter-spacing: 0.5px; @@ -304,6 +305,10 @@ height: 20px; flex-shrink: 0; padding-left: 5px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + min-width: 0; } .oc .version-display-container { @@ -328,7 +333,6 @@ flex-direction: column; gap: 10px; flex: 1; - justify-content: space-between; min-height: 0; } @@ -356,6 +360,7 @@ flex-direction: column; gap: 10px; justify-content: center; + width: 100%; } .oc .card-actions { @@ -385,6 +390,13 @@ gap: 10px; flex: 0 0 auto; min-height: var(--control-height); + overflow: hidden; + min-width: 0; +} + +.oc .core-status-toggle, +.oc .core-control-buttons { + min-width: 0; } .oc .core-status-toggle { @@ -485,7 +497,7 @@ border-radius: 50%; background: var(--error-color); flex-shrink: 0; - animation: gentlePulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite; + animation: gentlePulse 4s cubic-bezier(.17,.67,.83,.67) infinite; } @keyframes gentlePulse { @@ -517,12 +529,13 @@ border-radius: var(--radius-sm); background: var(--bg-white); color: var(--text-primary); - font-size: 13px; + font-size: 15px; appearance: none; cursor: pointer; transition: all var(--transition-fast); box-sizing: border-box; min-width: 0; + margin: 0 auto; } .oc .config-select:hover { @@ -538,7 +551,7 @@ .oc .config-select option { width: 100%; padding: 8px 12px; - font-size: 13px; + font-size: 15px; line-height: 1.4; white-space: nowrap; overflow: hidden; @@ -573,10 +586,10 @@ } .oc .cbi-button-group { - display: inline-flex; + display: flex; background: var(--bg-white); border-radius: var(--radius-sm); - padding: 3px; + padding: 2px; gap: 2px; position: relative; border: 1px solid var(--border-light); @@ -584,7 +597,7 @@ height: var(--control-height); align-items: center; white-space: nowrap; - width: fit-content; + width: 100%; } .oc .cbi-button-group input[type="radio"] { @@ -595,7 +608,8 @@ } .oc .cbi-button-option { - padding: 6px 6px; + flex: 1 1 0; + padding: 5px 5px; font-size: 12px; font-weight: 500; color: var(--text-secondary); @@ -604,7 +618,7 @@ transition: all var(--transition-fast); user-select: none; text-align: center; - min-width: 42px; + min-width: 0; height: calc(var(--control-height) - 6px); display: flex; align-items: center; @@ -624,7 +638,6 @@ } .oc .value-indicator { - font-size: 13px; font-weight: 500; padding: 10px 12px; border-radius: var(--radius-sm); @@ -639,11 +652,12 @@ min-width: 90px; white-space: nowrap; line-height: 1.2; - max-width: 300px; overflow: hidden; + text-overflow: ellipsis; } .oc .value-indicator b { + font-size: 12px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; @@ -688,9 +702,10 @@ cursor: pointer !important; border-radius: var(--radius-md) !important; border: none !important; - background: var(--primary-color) !important; + background: #1473e6; + background-color: var(--primary-color) !important; transition: all var(--transition-fast) !important; - white-space: nowrap !important; + white-space: normal !important; text-align: center !important; text-decoration: none !important; display: flex !important; @@ -700,7 +715,7 @@ flex: 1 !important; height: 42px !important; outline: none !important; - padding: 0 !important; + padding: 2px 1px !important; min-width: 45px; margin: 0 !important; } @@ -810,6 +825,9 @@ font-size: 11px; color: var(--text-secondary); font-weight: 500; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .oc #logo_btn .mihomo-link { @@ -836,6 +854,7 @@ width: 100%; box-shadow: var(--shadow-sm); transition: all var(--transition-fast); + position: relative; } .oc .subscription-info-container:hover { @@ -856,6 +875,8 @@ flex-direction: row; align-items: center; min-height: 24px; + min-width: 0; + gap: 8px; } .oc .subscription-info-details { @@ -864,8 +885,8 @@ gap: 8px; flex: 1; min-height: 80px; - padding-left: 5px; - padding-right: 5px; + padding-left: 20px; + padding-right: 20px; } .oc .subscription-progress { @@ -901,12 +922,13 @@ } .oc .subscription-info-text { - font-size: 12px; + font-size: 13px; color: var(--text-secondary); line-height: 1.4; text-overflow: ellipsis; overflow: hidden; - text-wrap: nowrap; + white-space: nowrap; + display: block; } .oc .subscription-loading, @@ -926,15 +948,61 @@ color: var(--error-color); } +.oc .subscription-nav-arrow { + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 0; + height: 0; + cursor: pointer; + transition: all var(--transition-fast); + z-index: 3; + opacity: 0.6; +} + +.oc .subscription-nav-arrow:hover { + opacity: 1; + transform: translateY(-50%) scale(1.2); +} + +.oc .subscription-nav-arrow.disabled { + opacity: 0.2; + cursor: not-allowed; + pointer-events: none; +} + +.oc .subscription-nav-arrow.left { + left: 8px; + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-right: 8px solid var(--text-secondary); +} + +.oc .subscription-nav-arrow.right { + right: 8px; + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-left: 8px solid var(--text-secondary); +} + +.oc .subscription-nav-arrow.left:hover { + border-right-color: var(--primary-color); +} + +.oc .subscription-nav-arrow.right:hover { + border-left-color: var(--primary-color); +} + .oc .config-file-name { font-size: 20px; font-weight: 600; color: var(--text-secondary); - flex: 1; + flex: 1 1 0%; white-space: nowrap; text-overflow: ellipsis; - max-width: calc(100% - 200px); - padding-left: 5px; + min-width: 0; + max-width: 100%; + padding-left: 20px; overflow: hidden; } @@ -946,21 +1014,77 @@ min-height: var(--control-height); } +.oc .config-file-empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 20px; + padding: 40px 20px; + text-align: center; +} + +.oc .config-file-empty-message { + font-size: 16px; + color: var(--text-secondary); + font-weight: 500; +} + +.oc .config-upload-btn-large { + min-width: 200px !important; + height: 60px !important; + font-size: 16px !important; + font-weight: 600 !important; + padding: 0 30px !important; + border-radius: var(--radius-lg) !important; + background: var(--primary-color) !important; + color: white !important; + border: none !important; + cursor: pointer !important; + transition: all var(--transition-fast) !important; + box-shadow: var(--shadow-md) !important; + display: flex !important; + align-items: center !important; + justify-content: center !important; + gap: 12px !important; +} + +.oc .config-upload-btn-large:hover { + background: #2563eb !important; + transform: translateY(-2px) !important; + box-shadow: 0 8px 25px rgba(59, 130, 246, 0.3) !important; +} + +.oc .config-upload-btn-large svg { + width: 20px !important; + height: 20px !important; +} + +.oc .config-file-content.empty-state .config-file-bottom { + display: none; +} + .oc .file-info { display: flex; flex-wrap: nowrap; flex-direction: row; - gap: 16px; + gap: 8px; font-size: 13px; color: var(--text-secondary); + min-width: 0; + max-width: 30vw; + overflow: hidden; } .oc .file-info-item { - display: flex; + display: block; align-items: center; white-space: nowrap; - padding-right: 5px; - font-size: 12px; + padding-right: 20px; + font-size: 13px; + overflow: hidden; + text-overflow: ellipsis; + max-width: 240px; } .oc .announcement-banner { @@ -1050,48 +1174,6 @@ transform: scaleX(-1); } -.oc .card-value.hidden-radio-de, -.oc #radio-de[style*="display: none"], -.oc #oc-setting-oversea-de[style*="display: none"], -.oc #dns-setting-sniffer-de[style*="display: none"], -.oc #dns-setting-respect-de[style*="display: none"] { - display: none !important; - visibility: hidden !important; - opacity: 0 !important; - position: absolute !important; - height: 0 !important; - margin: 0 !important; - padding: 0 !important; - border: none !important; - overflow: hidden !important; -} - -.oc .sub-card:has(.hidden-radio-de), -.oc .sub-card:has([style*="display: none"]) { - transform: translateZ(0); - will-change: contents; -} - -.oc .sub-card:has(.hidden-radio-de) .card-content, -.oc .sub-card:has([style*="display: none"]) .card-content { - gap: 0 !important; - padding: 0 !important; - margin: 0 !important; - align-items: flex-start !important; -} - -.oc .sub-card:has(.hidden-radio-de) .card-controls, -.oc .sub-card:has([style*="display: none"]) .card-controls { - margin: 0 !important; - padding: 0 !important; - min-height: var(--control-height) !important; - max-height: var(--control-height) !important; -} - -.oc .sub-card:has([style*="display: none"]) .card-value { - min-height: auto; -} - @media screen and (max-width: 1200px) { .oc .main-cards-container { grid-template-columns: 1fr; @@ -1112,7 +1194,6 @@ margin-bottom: 14px; max-width: 100%; width: 100%; - padding: 16px; } .oc .main-card:first-of-type { @@ -1127,17 +1208,10 @@ .oc .card-row.dual-cards { grid-template-columns: 1fr 1fr; - gap: 10px; - } - - .oc .card-row.triple-cards { - grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); - gap: 10px; } .oc .card-row.stats-grid { grid-template-columns: repeat(4, 2fr); - gap: 8px; } .oc .config-selector { @@ -1147,11 +1221,11 @@ .oc .config-select { min-width: 200px; - font-size: 12px; + font-size: 14px; } .oc .config-select option { - font-size: 12px; + font-size: 14px; max-width: 100%; } @@ -1171,7 +1245,6 @@ } .oc .main-card { - padding: 14px; grid-template-rows: auto auto auto auto; } @@ -1184,17 +1257,8 @@ gap: 12px; } - .oc .card-row.dual-cards { - gap: 8px; - } - - .oc .card-row.triple-cards { - gap: 8px; - } - .oc .card-row.stats-grid { - grid-template-columns: repeat(3, 2fr); - gap: 6px; + grid-template-columns: repeat(2, 2fr); } .oc .announcement-banner { @@ -1205,11 +1269,6 @@ .oc .dashboard-btn { font-size: 10px !important; height: 40px !important; - padding: 4px 4px !important; - } - - .oc .card-title { - font-size: 11px; } .oc .card-value { @@ -1245,12 +1304,12 @@ .oc .config-select { min-width: 150px; - font-size: 11px; + font-size: 13px; padding: 4px 10px; } .oc .config-select option { - font-size: 11px; + font-size: 13px; padding: 6px 10px; } @@ -1275,17 +1334,18 @@ .oc .config-file-name { max-width: 100%; - font-size: 15px; + font-size: 18px; } .oc .config-file-bottom { flex-direction: row; align-items: stretch; - gap: 12px; + gap: 8px; } .oc .config-file-bottom .card-actions { justify-content: center; + gap: 5px; } .oc .subscription-info-text { @@ -1293,12 +1353,23 @@ } .oc .file-info { - font-size: 9px; + font-size: 10px; } .oc .file-info-item { font-size: 10px; } + + .oc .config-upload-btn-large { + min-width: 180px !important; + height: 50px !important; + font-size: 14px !important; + padding: 0 24px !important; + } + + .oc .config-file-empty-message { + font-size: 14px; + } } @media screen and (max-width: 575px) { @@ -1309,22 +1380,19 @@ } .oc .main-card { - padding: 12px; + padding: 8px; } .oc .card-row { gap: 10px; } - .oc .card-row.dual-cards, - .oc .card-row.triple-cards { - grid-template-columns: 1fr 1fr; - gap: 6px; + .oc .card-row.dual-cards { + grid-template-columns: 1fr; } .oc .card-row.stats-grid { grid-template-columns: repeat(2, 1fr); - gap: 5px; } .oc .announcement-banner { @@ -1350,9 +1418,8 @@ } .oc .dashboard-btn { - font-size: 6px !important; + font-size: 8px !important; height: 25px !important; - padding: 6px 4px !important; } .oc .cbi-button-group { @@ -1362,7 +1429,7 @@ } .oc input[type="radio"]:checked + .cbi-button-option { - height: 24px; + height: 22px; } .oc .cbi-button-option { @@ -1392,7 +1459,7 @@ } .oc .mode-row .sub-card:first-child .card-content { - flex-direction: column; + flex-direction: row; gap: 8px; } @@ -1404,18 +1471,18 @@ } .oc .config-selector { - min-width: 120px; + min-width: 110px; flex: 1; } .oc .config-select { - min-width: 120px; - font-size: 10px; + min-width: 110px; + font-size: 12px; padding: 4px 8px; } .oc .config-select option { - font-size: 10px; + font-size: 12px; padding: 5px 8px; } @@ -1423,20 +1490,19 @@ right: 8px; } - .oc .card-title { - font-size: 10px; - margin-bottom: 8px; - } - .oc .card-value { font-size: 11px; min-height: 28px; } .oc .value-indicator { - font-size: 9px; - padding: 6px 8px; - min-width: 60px; + padding: 5px 5px; + min-width: 50px; + height: 28px; + } + + .oc .value-indicator b { + font-size: 10px; } .oc .stat-label { @@ -1448,11 +1514,11 @@ } .oc .subscription-info-text { - font-size: 8px; + font-size: 10px; } .oc .config-file-name { - font-size: 13px; + font-size: 15px; } .oc .sub-card { @@ -1498,6 +1564,22 @@ .oc .file-info-item { font-size: 10px; } + + .oc .config-upload-btn-large { + min-width: 160px !important; + height: 45px !important; + font-size: 13px !important; + padding: 0 20px !important; + } + + .oc .config-file-empty-state { + padding: 30px 15px; + gap: 15px; + } + + .oc .config-file-empty-message { + font-size: 13px; + } } @@ -1547,6 +1629,11 @@ +

@@ -1569,8 +1656,8 @@
<%:Running Mode%>
<%:Collecting data...%>
-
-