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 TailscaleAuthMiddleware ¶
func TailscaleAuthMiddleware() echo.MiddlewareFunc
TailscaleAuthMiddleware 创建Tailscale身份验证中间件
Types ¶
type TailsClientInfo ¶
type TailscaleConfig ¶
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 GetTailscaleStatus ¶
func GetTailscaleStatus(ctx context.Context) (*TailscaleStatus, error)
GetTailscaleStatus 获取Tailscale服务状态 https://github.com/tailscale/golink/blob/b54cbbbb609ce8425193e7171a35af023cb5066d/golink.go#L787
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
Click to show internal directories.
Click to hide internal directories.