This commit is contained in:
GoEdgeLab
2024-07-27 15:42:50 +08:00
parent d511145bc5
commit c19be78e0d
524 changed files with 1817 additions and 1346 deletions

View File

@@ -3,12 +3,6 @@ package apps
import (
"errors"
"fmt"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
executils "github.com/TeaOSLab/EdgeNode/internal/utils/exec"
"github.com/iwind/TeaGo/logs"
"github.com/iwind/TeaGo/maps"
"github.com/iwind/TeaGo/types"
"github.com/iwind/gosock/pkg/gosock"
"os"
"os/exec"
"path/filepath"
@@ -17,6 +11,13 @@ import (
"strings"
"syscall"
"time"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
executils "github.com/TeaOSLab/EdgeNode/internal/utils/exec"
"github.com/iwind/TeaGo/logs"
"github.com/iwind/TeaGo/maps"
"github.com/iwind/TeaGo/types"
"github.com/iwind/gosock/pkg/gosock"
)
// AppCmd App命令帮助

View File

@@ -1,16 +1,17 @@
package apps
import (
"github.com/TeaOSLab/EdgeNode/internal/utils"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/files"
timeutil "github.com/iwind/TeaGo/utils/time"
"log"
"os"
"runtime"
"strconv"
"strings"
"github.com/TeaOSLab/EdgeNode/internal/utils"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/files"
timeutil "github.com/iwind/TeaGo/utils/time"
)
type LogWriter struct {

View File

@@ -1,4 +1,4 @@
// Copyright 2023 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2023 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package apps

View File

@@ -5,9 +5,10 @@ package caches_test
import (
"errors"
"fmt"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/assert"
"testing"
)
func TestCanIgnoreErr(t *testing.T) {

View File

@@ -1,4 +1,4 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches

View File

@@ -1,8 +1,9 @@
package caches
import (
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
"strings"
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
)
type ItemType = int

View File

@@ -4,15 +4,16 @@ package caches_test
import (
"encoding/json"
"runtime"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
"runtime"
"testing"
"time"
)
func TestItem_Marshal(t *testing.T) {

View File

@@ -5,6 +5,13 @@ package caches
import (
"errors"
"fmt"
"net"
"net/url"
"os"
"runtime"
"strings"
"time"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"github.com/TeaOSLab/EdgeNode/internal/utils/dbs"
@@ -13,12 +20,6 @@ import (
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"github.com/iwind/TeaGo/logs"
"github.com/iwind/TeaGo/types"
"net"
"net/url"
"os"
"runtime"
"strings"
"time"
)
type SQLiteFileListDB struct {

View File

@@ -1,16 +1,17 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/Tea"
_ "github.com/iwind/TeaGo/bootstrap"
"runtime"
"runtime/debug"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/Tea"
_ "github.com/iwind/TeaGo/bootstrap"
)
func TestFileListDB_ListLFUItems(t *testing.T) {
@@ -25,7 +26,7 @@ func TestFileListDB_ListLFUItems(t *testing.T) {
}()
err := db.Open(Tea.Root + "/data/cache-db-large.db")
//err := db.Open(Tea.Root + "/data/cache-index/p1/db-0.db")
// err := db.Open(Tea.Root + "/data/cache-index/p1/db-0.db")
if err != nil {
t.Fatal(err)
}
@@ -149,7 +150,7 @@ func TestFileListDB_Memory(t *testing.T) {
runtime.GC()
debug.FreeOSMemory()
//time.Sleep(600 * time.Second)
// time.Sleep(600 * time.Second)
for i := 0; i < 1_000; i++ {
_, err = db.ListLFUItems(5000)

View File

@@ -1,12 +1,13 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches
import (
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
"math/big"
"sync"
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
)
const HashMapSharding = 31

View File

@@ -1,8 +1,14 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"math/big"
"runtime"
"strconv"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
@@ -11,11 +17,6 @@ import (
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
stringutil "github.com/iwind/TeaGo/utils/string"
"math/big"
"runtime"
"strconv"
"testing"
"time"
)
func TestFileListHashMap_Memory(t *testing.T) {

View File

@@ -1,9 +1,12 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches
import (
"fmt"
"strings"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
"github.com/TeaOSLab/EdgeNode/internal/utils/fnv"
@@ -11,8 +14,6 @@ import (
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"github.com/TeaOSLab/EdgeNode/internal/utils/ttlcache"
"github.com/iwind/TeaGo/types"
"strings"
"testing"
)
const countKVStores = 10

View File

@@ -1,4 +1,4 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches

View File

@@ -1,11 +1,12 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"testing"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/assert"
"testing"
)
func TestItemKVEncoder_EncodeField(t *testing.T) {

View File

@@ -1,16 +1,17 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches
import (
"errors"
"regexp"
"strings"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
"github.com/TeaOSLab/EdgeNode/internal/utils/kvstore"
"github.com/TeaOSLab/EdgeNode/internal/utils/ttlcache"
"github.com/cockroachdb/pebble"
"regexp"
"strings"
"testing"
)
type KVListFileStore struct {

View File

@@ -1,19 +1,20 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"fmt"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/Tea"
_ "github.com/iwind/TeaGo/bootstrap"
stringutil "github.com/iwind/TeaGo/utils/string"
"math/rand"
"strconv"
"sync"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/Tea"
_ "github.com/iwind/TeaGo/bootstrap"
stringutil "github.com/iwind/TeaGo/utils/string"
)
var testingKVList *caches.KVFileList
@@ -295,7 +296,7 @@ func TestKVFileList_Purge(t *testing.T) {
var before = time.Now()
count, err := list.Purge(4_000, func(hash string) error {
//t.Log("hash:", hash)
// t.Log("hash:", hash)
return nil
})
if err != nil {

View File

@@ -5,6 +5,11 @@ package caches
import (
"database/sql"
"errors"
"os"
"strings"
"sync"
"time"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"github.com/TeaOSLab/EdgeNode/internal/utils/dbs"
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
@@ -14,10 +19,6 @@ import (
"github.com/TeaOSLab/EdgeNode/internal/utils/ttlcache"
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
"github.com/iwind/TeaGo/types"
"os"
"strings"
"sync"
"time"
)
const CountFileDB = 20

View File

@@ -3,6 +3,11 @@
package caches_test
import (
"strconv"
"sync"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
@@ -10,10 +15,6 @@ import (
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
stringutil "github.com/iwind/TeaGo/utils/string"
"strconv"
"sync"
"testing"
"time"
)
func TestFileList_Init(t *testing.T) {

View File

@@ -1,8 +1,6 @@
package caches
import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"github.com/iwind/TeaGo/logs"
"net"
"net/url"
"strconv"
@@ -10,6 +8,9 @@ import (
"sync"
"sync/atomic"
"testing"
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"github.com/iwind/TeaGo/logs"
)
// MemoryList 内存缓存列表管理

View File

@@ -2,6 +2,12 @@ package caches_test
import (
"fmt"
"math/rand"
"sort"
"strconv"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/cespare/xxhash/v2"
@@ -9,11 +15,6 @@ import (
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
stringutil "github.com/iwind/TeaGo/utils/string"
"math/rand"
"sort"
"strconv"
"testing"
"time"
)
func TestMemoryList_Add(t *testing.T) {

View File

@@ -2,6 +2,9 @@ package caches
import (
"fmt"
"strconv"
"sync"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
@@ -11,8 +14,6 @@ import (
"github.com/iwind/TeaGo/lists"
"github.com/iwind/TeaGo/types"
"golang.org/x/sys/unix"
"strconv"
"sync"
)
var SharedManager = NewManager()

View File

@@ -1,11 +1,12 @@
package caches_test
import (
"testing"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/Tea"
"testing"
)
func TestManager_UpdatePolicies(t *testing.T) {

View File

@@ -4,16 +4,17 @@ package caches
import (
"fmt"
"path/filepath"
"runtime"
"sync"
"time"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/TeaOSLab/EdgeNode/internal/utils/linkedlist"
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"github.com/fsnotify/fsnotify"
"github.com/iwind/TeaGo/logs"
"github.com/iwind/TeaGo/types"
"path/filepath"
"runtime"
"sync"
"time"
)
const (

View File

@@ -1,13 +1,14 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/types"
"testing"
"time"
)
func TestNewOpenFileCache_Close(t *testing.T) {

View File

@@ -3,10 +3,11 @@
package caches_test
import (
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/rands"
"sync"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/rands"
)
func TestOpenFilePool_Get(t *testing.T) {

View File

@@ -5,9 +5,10 @@ package caches
import (
"bytes"
"encoding/json"
"strconv"
rangeutils "github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
"github.com/iwind/TeaGo/types"
"strconv"
)
// PartialRanges 内容分区范围定义

View File

@@ -1,15 +1,16 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches
import (
"sync"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"github.com/TeaOSLab/EdgeNode/internal/utils/fnv"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"sync"
)
var SharedPartialRangesQueue = NewPartialRangesQueue()

View File

@@ -1,11 +1,12 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"testing"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/assert"
"testing"
)
func TestNewPartialRangesQueue(t *testing.T) {

View File

@@ -6,11 +6,12 @@ import (
"crypto/md5"
"encoding/base64"
"encoding/json"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/iwind/TeaGo/assert"
"github.com/iwind/TeaGo/logs"
"testing"
"time"
)
func TestNewPartialRanges(t *testing.T) {

View File

@@ -1,8 +1,9 @@
package caches
import (
"github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
"io"
"github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
)
type ReaderFunc func(n int) (goNext bool, err error)

View File

@@ -1,4 +1,4 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches

View File

@@ -3,11 +3,12 @@ package caches
import (
"encoding/binary"
"errors"
"io"
"os"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
rangeutils "github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
"github.com/iwind/TeaGo/types"
"io"
"os"
)
type FileReader struct {

View File

@@ -1,4 +1,4 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
//go:build !plus
package caches

View File

@@ -1,11 +1,12 @@
package caches
import (
"os"
"testing"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/Tea"
"os"
"testing"
)
func TestFileReader(t *testing.T) {

View File

@@ -2,8 +2,9 @@ package caches
import (
"errors"
rangeutils "github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
"io"
rangeutils "github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
)
type MemoryReader struct {

View File

@@ -4,10 +4,11 @@ import (
"encoding/binary"
"errors"
"fmt"
"io"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
rangeutils "github.com/TeaOSLab/EdgeNode/internal/utils/ranges"
"github.com/iwind/TeaGo/types"
"io"
)
type PartialFileReader struct {

View File

@@ -6,6 +6,17 @@ import (
"encoding/json"
"errors"
"fmt"
"math"
"os"
"path/filepath"
"regexp"
"sort"
"strconv"
"strings"
"sync"
"syscall"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
@@ -27,16 +38,6 @@ import (
timeutil "github.com/iwind/TeaGo/utils/time"
"github.com/iwind/gosock/pkg/gosock"
"github.com/shirou/gopsutil/v3/load"
"math"
"os"
"path/filepath"
"regexp"
"sort"
"strconv"
"strings"
"sync"
"syscall"
"time"
)
const (

View File

@@ -1,4 +1,4 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
//go:build !plus
package caches

View File

@@ -3,12 +3,6 @@ package caches
import (
"bytes"
"errors"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeNode/internal/utils"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/Tea"
_ "github.com/iwind/TeaGo/bootstrap"
"github.com/iwind/TeaGo/logs"
"io"
"net/http"
"runtime"
@@ -16,6 +10,13 @@ import (
"sync"
"testing"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeNode/internal/utils"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/Tea"
_ "github.com/iwind/TeaGo/bootstrap"
"github.com/iwind/TeaGo/logs"
)
func TestFileStorage_Init(t *testing.T) {

View File

@@ -2,6 +2,14 @@ package caches
import (
"fmt"
"math"
"runtime"
"strconv"
"strings"
"sync"
"sync/atomic"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"github.com/TeaOSLab/EdgeNode/internal/utils"
@@ -14,13 +22,6 @@ import (
"github.com/TeaOSLab/EdgeNode/internal/utils/zero"
"github.com/cespare/xxhash/v2"
"github.com/iwind/TeaGo/types"
"math"
"runtime"
"strconv"
"strings"
"sync"
"sync/atomic"
"time"
)
type MemoryItem struct {

View File

@@ -2,10 +2,6 @@ package caches
import (
"bytes"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/logs"
"github.com/iwind/TeaGo/rands"
"math/rand"
"runtime"
"runtime/debug"
@@ -13,6 +9,11 @@ import (
"sync"
"testing"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"github.com/iwind/TeaGo/logs"
"github.com/iwind/TeaGo/rands"
)
func TestMemoryStorage_OpenWriter(t *testing.T) {

View File

@@ -1,11 +1,12 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches
import (
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
"net"
"strings"
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
)
func ParseHost(key string) string {

View File

@@ -1,14 +1,15 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"fmt"
"strconv"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"github.com/cespare/xxhash/v2"
"github.com/iwind/TeaGo/types"
"strconv"
"testing"
)
func TestParseHost(t *testing.T) {

View File

@@ -3,11 +3,12 @@ package caches
import (
"encoding/binary"
"errors"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/types"
"io"
"strings"
"sync"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/types"
)
type FileWriter struct {

View File

@@ -2,11 +2,12 @@ package caches
import (
"errors"
"sync"
"sync/atomic"
"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
"github.com/cespare/xxhash/v2"
"github.com/iwind/TeaGo/types"
"sync"
"sync/atomic"
)
type MemoryWriter struct {

View File

@@ -1,16 +1,17 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package caches_test
import (
"bytes"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
"github.com/TeaOSLab/EdgeNode/internal/caches"
"math/rand"
"strconv"
"testing"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
"github.com/TeaOSLab/EdgeNode/internal/caches"
)
func TestNewMemoryWriter(t *testing.T) {

View File

@@ -4,11 +4,12 @@ package caches
import (
"encoding/binary"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/types"
"io"
"strings"
"sync"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/types"
)
type PartialFileWriter struct {

View File

@@ -3,12 +3,13 @@
package caches_test
import (
"github.com/TeaOSLab/EdgeNode/internal/caches"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/types"
"os"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/caches"
fsutils "github.com/TeaOSLab/EdgeNode/internal/utils/fs"
"github.com/iwind/TeaGo/types"
)
func TestPartialFileWriter_Write(t *testing.T) {

View File

@@ -1,4 +1,4 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package compressions

View File

@@ -4,9 +4,10 @@
package compressions
import (
"github.com/andybalholm/brotli"
"io"
"strings"
"github.com/andybalholm/brotli"
)
type BrotliReader struct {

View File

@@ -4,10 +4,11 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"io"
"os"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
)
func TestBrotliReader(t *testing.T) {

View File

@@ -4,9 +4,10 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"io"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
)
func TestDeflateReader(t *testing.T) {

View File

@@ -3,8 +3,9 @@
package compressions
import (
"github.com/klauspost/compress/gzip"
"io"
"github.com/klauspost/compress/gzip"
)
type GzipReader struct {

View File

@@ -4,12 +4,13 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
"io"
"strings"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
)
func TestGzipReader(t *testing.T) {

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedBrotliReaderPool *ReaderPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedDeflateReaderPool *ReaderPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedGzipReaderPool *ReaderPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedZSTDReaderPool *ReaderPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
"github.com/klauspost/compress/zstd"
"io"
"github.com/klauspost/compress/zstd"
)
type ZSTDReader struct {

View File

@@ -4,12 +4,13 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
"io"
"strings"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
)
func TestZSTDReader(t *testing.T) {

View File

@@ -4,11 +4,12 @@ package compressions
import (
"errors"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
"io"
"net/http"
"runtime"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
memutils "github.com/TeaOSLab/EdgeNode/internal/utils/mem"
)
type ContentEncoding = string

View File

@@ -1,11 +1,12 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package compressions_test
import (
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"github.com/iwind/TeaGo/assert"
"testing"
)
func TestGenerateCompressLevel(t *testing.T) {

View File

@@ -4,8 +4,9 @@
package compressions
import (
"github.com/andybalholm/brotli"
"io"
"github.com/andybalholm/brotli"
)
type BrotliWriter struct {

View File

@@ -4,11 +4,12 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
stringutil "github.com/iwind/TeaGo/utils/string"
"strings"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
stringutil "github.com/iwind/TeaGo/utils/string"
)
func TestBrotliWriter_LargeFile(t *testing.T) {

View File

@@ -4,9 +4,10 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"strings"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
)
func BenchmarkDeflateWriter_Write(b *testing.B) {

View File

@@ -3,8 +3,9 @@
package compressions
import (
"github.com/klauspost/compress/gzip"
"io"
"github.com/klauspost/compress/gzip"
)
type GzipWriter struct {

View File

@@ -4,8 +4,9 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
)
func BenchmarkGzipWriter_Write(b *testing.B) {

View File

@@ -3,10 +3,11 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"io"
"time"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
)
const maxWriterHits = 1 << 20

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedBrotliWriterPool *WriterPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedDeflateWriterPool *WriterPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedGzipWriterPool *WriterPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"io"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
var sharedZSTDWriterPool *WriterPool

View File

@@ -3,8 +3,9 @@
package compressions
import (
"github.com/klauspost/compress/zstd"
"io"
"github.com/klauspost/compress/zstd"
)
type ZSTDWriter struct {

View File

@@ -4,9 +4,10 @@ package compressions_test
import (
"bytes"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
"strings"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/compressions"
)
func TestNewZSTDWriter_Level0(t *testing.T) {

View File

@@ -2,9 +2,10 @@ package configs
import (
"errors"
"os"
"github.com/iwind/TeaGo/Tea"
"gopkg.in/yaml.v3"
"os"
)
const ConfigFileName = "api_node.yaml"

View File

@@ -1,10 +1,11 @@
package configs_test
import (
"testing"
"github.com/TeaOSLab/EdgeNode/internal/configs"
_ "github.com/iwind/TeaGo/bootstrap"
"gopkg.in/yaml.v3"
"testing"
)
func TestLoadAPIConfig(t *testing.T) {

View File

@@ -1,9 +1,10 @@
package configs
import (
"os"
"github.com/iwind/TeaGo/Tea"
"gopkg.in/yaml.v3"
"os"
)
// ClusterConfig 集群配置

View File

@@ -1,12 +1,13 @@
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package configs_test
import (
"testing"
"github.com/TeaOSLab/EdgeNode/internal/configs"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"gopkg.in/yaml.v3"
"testing"
)
func TestLoadClusterConfig(t *testing.T) {

View File

@@ -1,4 +1,4 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package conns

View File

@@ -1,11 +1,12 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package conns
import (
"github.com/iwind/TeaGo/types"
"net"
"sync"
"github.com/iwind/TeaGo/types"
)
var SharedMap = NewMap()

View File

@@ -1,14 +1,15 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package conns_test
import (
"github.com/TeaOSLab/EdgeNode/internal/conns"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"net"
"runtime"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/conns"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
)
type testConn struct {

View File

@@ -1,7 +1,7 @@
package teaconst
const (
Version = "1.3.9"
Version = "1.4.1"
ProductName = "Edge Node"
ProcessName = "edge-node"

View File

@@ -3,9 +3,10 @@
package teaconst
import (
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
"os"
"strings"
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
)
var (
@@ -18,6 +19,12 @@ var (
NodeIdString = ""
IsMain = checkMain()
// Is301 是否 301 节点
Is301 = false
// BypassMobile 是否过移动
BypassMobile int32 = 0
GlobalProductName = nodeconfigs.DefaultProductName
IsQuiting = false // 是否正在退出

View File

@@ -2,10 +2,11 @@ package errors
import (
"errors"
"github.com/TeaOSLab/EdgeNode/internal/utils"
"path/filepath"
"runtime"
"strconv"
"github.com/TeaOSLab/EdgeNode/internal/utils"
)
type errorObj struct {

View File

@@ -1,8 +1,9 @@
package events
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"sync"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
)
type Callbacks = []func()

View File

@@ -1,8 +1,9 @@
package events_test
import (
"github.com/TeaOSLab/EdgeNode/internal/events"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/events"
)
func TestOn(t *testing.T) {

View File

@@ -8,6 +8,11 @@ import (
"encoding/json"
"errors"
"fmt"
"net"
"strings"
"sync"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ddosconfigs"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
@@ -20,10 +25,6 @@ import (
"github.com/iwind/TeaGo/lists"
"github.com/iwind/TeaGo/types"
stringutil "github.com/iwind/TeaGo/utils/string"
"net"
"strings"
"sync"
"time"
)
var SharedDDoSProtectionManager = NewDDoSProtectionManager()

View File

@@ -3,13 +3,14 @@
package firewalls
import (
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/events"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
"os"
"runtime"
"sync"
"time"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/events"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
)
var currentFirewall FirewallInterface

View File

@@ -1,12 +1,13 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package firewalls
import (
"github.com/iwind/TeaGo/types"
"strings"
"sync"
"time"
"github.com/iwind/TeaGo/types"
)
type BaseFirewall struct {

View File

@@ -4,13 +4,14 @@ package firewalls
import (
"fmt"
"strings"
"time"
"github.com/TeaOSLab/EdgeNode/internal/conns"
"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
executils "github.com/TeaOSLab/EdgeNode/internal/utils/exec"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/iwind/TeaGo/types"
"strings"
"time"
)
type firewalldCmd struct {

View File

@@ -1,4 +1,4 @@
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package firewalls
@@ -6,11 +6,12 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/iwind/TeaGo/maps"
"github.com/iwind/TeaGo/types"
"io"
"net/http"
"net/url"
"github.com/iwind/TeaGo/maps"
"github.com/iwind/TeaGo/types"
)
type HTTPFirewall struct {

View File

@@ -6,6 +6,12 @@ package firewalls
import (
"errors"
"fmt"
"net"
"regexp"
"runtime"
"strings"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/iputils"
"github.com/TeaOSLab/EdgeNode/internal/conns"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
@@ -16,11 +22,6 @@ import (
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/google/nftables/expr"
"github.com/iwind/TeaGo/types"
"net"
"regexp"
"runtime"
"strings"
"time"
)
// check nft status, if being enabled we load it automatically

View File

@@ -6,6 +6,7 @@ package nftables
import (
"bytes"
"errors"
nft "github.com/google/nftables"
"github.com/google/nftables/expr"
)

View File

@@ -4,9 +4,10 @@
package nftables_test
import (
"github.com/TeaOSLab/EdgeNode/internal/firewalls/nftables"
"net"
"testing"
"github.com/TeaOSLab/EdgeNode/internal/firewalls/nftables"
)
func getIPv4Chain(t *testing.T) *nftables.Chain {

View File

@@ -5,6 +5,7 @@ package nftables
import (
"errors"
nft "github.com/google/nftables"
"github.com/iwind/TeaGo/types"
)

View File

@@ -5,9 +5,10 @@
package nftables_test
import (
"testing"
"github.com/TeaOSLab/EdgeNode/internal/firewalls/nftables"
executils "github.com/TeaOSLab/EdgeNode/internal/utils/exec"
"testing"
)
func TestConn_Test(t *testing.T) {

View File

@@ -1,4 +1,4 @@
// Copyright 2023 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2023 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package nftables

View File

@@ -1,14 +1,15 @@
// Copyright 2023 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2023 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
package nftables_test
import (
"github.com/TeaOSLab/EdgeNode/internal/firewalls/nftables"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
"net"
"testing"
"time"
"github.com/TeaOSLab/EdgeNode/internal/firewalls/nftables"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types"
)
func TestExpiration_Add(t *testing.T) {

View File

@@ -1,10 +1,14 @@
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
//go:build linux
package nftables
import (
"fmt"
"os"
"runtime"
"time"
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
"github.com/TeaOSLab/EdgeNode/internal/events"
@@ -12,9 +16,6 @@ import (
executils "github.com/TeaOSLab/EdgeNode/internal/utils/exec"
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
"github.com/iwind/TeaGo/logs"
"os"
"runtime"
"time"
)
func init() {

View File

@@ -5,11 +5,12 @@ package nftables
import (
"errors"
"github.com/TeaOSLab/EdgeNode/internal/utils"
nft "github.com/google/nftables"
"net"
"strings"
"time"
"github.com/TeaOSLab/EdgeNode/internal/utils"
nft "github.com/google/nftables"
)
const MaxSetNameLength = 15

Some files were not shown because too many files have changed in this diff Show More