update
All checks were successful
Build Multi-Platform Binaries / build-frontend (push) Successful in 30s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 48s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 48s
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Successful in 58s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 1m47s
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Successful in 57s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Successful in 49s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Successful in 1m5s
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Successful in 50s
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Successful in 45s
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Successful in 58s
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Successful in 51s

This commit is contained in:
Flik
2025-12-29 17:18:26 +08:00
parent e10736e05e
commit 4116d8934c
31 changed files with 1570 additions and 862 deletions

View File

@@ -10,7 +10,7 @@ import (
)
func init() {
RegisterClientPlugin(NewEchoPlugin())
RegisterClient(NewEchoPlugin())
}
// EchoPlugin 回显插件 - 客户端插件示例
@@ -27,8 +27,8 @@ func NewEchoPlugin() *EchoPlugin {
}
// Metadata 返回插件信息
func (p *EchoPlugin) Metadata() plugin.PluginMetadata {
return plugin.PluginMetadata{
func (p *EchoPlugin) Metadata() plugin.Metadata {
return plugin.Metadata{
Name: "echo",
Version: "1.0.0",
Type: plugin.PluginTypeApp,

View File

@@ -2,28 +2,27 @@ package builtin
import "github.com/gotunnel/pkg/plugin"
// 全局插件注册表
var (
serverPlugins []plugin.ProxyHandler
clientPlugins []plugin.ClientHandler
serverPlugins []plugin.ServerPlugin
clientPlugins []plugin.ClientPlugin
)
// Register 注册服务端插件
func Register(handler plugin.ProxyHandler) {
// RegisterServer 注册服务端插件
func RegisterServer(handler plugin.ServerPlugin) {
serverPlugins = append(serverPlugins, handler)
}
// RegisterClientPlugin 注册客户端插件
func RegisterClientPlugin(handler plugin.ClientHandler) {
// RegisterClient 注册客户端插件
func RegisterClient(handler plugin.ClientPlugin) {
clientPlugins = append(clientPlugins, handler)
}
// GetAll 返回所有服务端插件
func GetAll() []plugin.ProxyHandler {
// GetServerPlugins 返回所有服务端插件
func GetServerPlugins() []plugin.ServerPlugin {
return serverPlugins
}
// GetAllClientPlugins 返回所有客户端插件
func GetAllClientPlugins() []plugin.ClientHandler {
// GetClientPlugins 返回所有客户端插件
func GetClientPlugins() []plugin.ClientPlugin {
return clientPlugins
}

View File

@@ -11,7 +11,7 @@ import (
)
func init() {
Register(NewSOCKS5Plugin())
RegisterServer(NewSOCKS5Plugin())
}
const (
@@ -39,8 +39,8 @@ func NewSOCKS5Plugin() *SOCKS5Plugin {
}
// Metadata 返回 plugin 信息
func (p *SOCKS5Plugin) Metadata() plugin.PluginMetadata {
return plugin.PluginMetadata{
func (p *SOCKS5Plugin) Metadata() plugin.Metadata {
return plugin.Metadata{
Name: "socks5",
Version: "1.0.0",
Type: plugin.PluginTypeProxy,

View File

@@ -9,7 +9,7 @@ import (
)
func init() {
Register(NewVNCPlugin())
RegisterServer(NewVNCPlugin())
}
// VNCPlugin VNC 远程桌面插件
@@ -23,13 +23,13 @@ func NewVNCPlugin() *VNCPlugin {
}
// Metadata 返回 plugin 信息
func (p *VNCPlugin) Metadata() plugin.PluginMetadata {
return plugin.PluginMetadata{
func (p *VNCPlugin) Metadata() plugin.Metadata {
return plugin.Metadata{
Name: "vnc",
Version: "1.0.0",
Type: plugin.PluginTypeApp,
Source: plugin.PluginSourceBuiltin,
RunAt: plugin.SideServer, // 当前为服务端中继模式
RunAt: plugin.SideServer,
Description: "VNC remote desktop relay",
Author: "GoTunnel",
RuleSchema: &plugin.RuleSchema{