tailscale_plugin

package
v1.2.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitTailscale

func InitTailscale(c TailscaleConfig) error

func RunTailscale

func RunTailscale(e *echo.Echo, c TailscaleConfig) error

RunTailscale 启动Tailscale网络服务器,统一使用echo处理请求

func StopTailscale

func StopTailscale() error

StopTailscale 停止Tailscale服务器

func TailscaleAuthMiddleware

func TailscaleAuthMiddleware() echo.MiddlewareFunc

TailscaleAuthMiddleware 创建Tailscale身份验证中间件

Types

type TailsClientInfo

type TailsClientInfo struct {
	LoginUserName     string    `json:"login_user_name"`     // 登录用户身份
	NodeComputedName  string    `json:"node_computed_name"`  // 节点的机器名
	RequestRemoteAddr string    `json:"request_remote_addr"` // 远程访问地址
	AccessTime        time.Time `json:"access_time"`         // 客户端访问开始、时间
}

type TailscaleConfig

type TailscaleConfig struct {
	Hostname   string
	Port       uint16
	FunnelMode bool
	ConfigDir  string
	AuthKey    string
}

type TailscaleStatus

type TailscaleStatus struct {
	AuthURL          string            // 客户端授权用URL。如果节点已授权,则为空字符串。另外手动移除节点,不会重新生成新的AuthURL,直到下次重新运行tailscaled。
	BackendState     string            // BackendState: "NoState", "NeedsLogin", "NeedsMachineAuth", "Stopped", "Starting", "Running".	// 常见状态为 "Running"  "NeedsLogin"
	Clients          []TailsClientInfo // 曾与此节点连接的Tailscale客户端信息列表。
	OS               string            // "macOS" "windows" "linux" “android”,可能为空""(funnel-ingress-node)
	Online           bool              // 在线状态
	FQDN             string            // FQDN(Fully Qualified Domain Name 完全限定域名) = 子域名 + Domain → www.example.co.jp
	TailscaleIPs     []netip.Addr      // 分配给此节点的 Tailscale IP(s),第一个是 IPv4地址,第二个是 IPv6 地址
	Version          string            // 当前Tailscale版本
	FunnelCapability string            // 是否支持 Funnel 功能 ,字符串:“true” “false” “unknown”
	// contains filtered or unexported fields
}

TailscaleStatus 保存 Tailscale 服务的状态信息

func (*TailscaleStatus) AddClientInfo

func (t *TailscaleStatus) AddClientInfo(tsClient *TailsClientInfo)

AddClientInfo 添加客户端信息到状态中,需要避免重复添加

func (*TailscaleStatus) CheckClientInfoExists

func (t *TailscaleStatus) CheckClientInfoExists(loginUserName, nodeComputedName string, requestRemoteAddr string) bool

func (*TailscaleStatus) GetTailscaleIP

func (t *TailscaleStatus) GetTailscaleIP() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL