utils

package
v1.2.13 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2025 License: MIT Imports: 34 Imported by: 1

Documentation

Overview

Package utils fornece utilitários diversos.

Index

Constants

View Source
const (
	// GoFormat é o formato de data e hora padrão do Go.
	GoFormat = "2006-01-02 15:04:05.999999999"
	// Format é o formato de data e hora padrão.
	Format = "2006-01-02 15:04:05"
	// TimeFormat é o formato de hora padrão.
	TimeFormat = "15:04:05"
	// DateFormat é o formato de data padrão.
	DateFormat = "2006-01-02"
	// ShortDateFormat é o formato de data curta.
	ShortDateFormat = "06-01-02"
	// ShortestDateFormat é o formato de data mais curta.
	ShortestDateFormat = "06-1-2"
	// ShortTimeFormat é o formato de hora curta.
	ShortTimeFormat = "15:04"
	// LongTimeFormat é o formato de hora longa.
	LongTimeFormat = "15:04:05"
	// ShortDateTimeFormat é o formato de data e hora curtas.
	ShortDateTimeFormat = "06-01-02 15:04"
	// DateTimeFormat é o formato de data e hora padrão.
	DateTimeFormat = "2006-01-02 15:04"
	// ISO8601Date é o formato de data ISO 8601.
	ISO8601Date = "2006-01-02"
	// ISO8601Time é o formato de hora ISO 8601.
	ISO8601Time = "15:04:05"
	// ISO8601TimeMs é o formato de hora com milissegundos ISO 8601.
	ISO8601TimeMs = "15:04:05.999"
	// ISO8601DateTime é o formato de data e hora ISO 8601.
	ISO8601DateTime = "2006-01-02T15:04:05"
	// ISO8601TZ é o formato de data e hora com fuso horário ISO 8601.
	ISO8601TZ = "2006-01-02T15:04:05-0700"
	// ISO8601TZs é o formato de data e hora com fuso horário (Z) ISO 8601.
	ISO8601TZs = "2006-01-02T15:04:05Z0700"
	// ISO8601TZms é o formato de data e hora com milissegundos e fuso horário ISO 8601.
	ISO8601TZms = "2006-01-02T15:04:05.999-0700"
	// HourMinuteFormat é o formato de hora e minuto.
	HourMinuteFormat = "15:04"
	// HourFormat é o formato de hora.
	HourFormat = "15"
	// FormattedDateFormat é o formato de data formatada.
	FormattedDateFormat = "Jan 2, 2006"
	// DayDateTimeFormat é o formato de data e hora com dia da semana.
	DayDateTimeFormat = "Mon, Aug 2, 2006 3:04 PM"
	// ISO8601Format é o formato de data e hora ISO 8601.
	ISO8601Format = "2006-01-02T15:04:05-0700"
	// CookieFormat é o formato de data e hora para cookies.
	CookieFormat = "Monday, 02-Jan-2006 15:04:05 MST"
	// RFC822Format é o formato de data e hora RFC 822.
	RFC822Format = "Mon, 02 Jan 06 15:04:05 -0700"
	// RFC1036Format é o formato de data e hora RFC 1036.
	RFC1036Format = "Mon, 02 Jan 06 15:04:05 -0700"
	// RFC2822Format é o formato de data e hora RFC 2822.
	RFC2822Format = "Mon, 02 Jan 2006 15:04:05 -0700"
	// RFC3339Format é o formato de data e hora RFC 3339.
	RFC3339Format = "2006-01-02T15:04:05-07:00"
	// RSSFormat é o formato de data e hora RSS.
	RSSFormat = "Mon, 02 Jan 2006 15:04:05 -0700"
	// W3CFormat é o formato de data e hora W3C.
	W3CFormat = "2006-01-02T15:04:05-07:00"
	// UnixFormat é o formato de data e hora Unix.
	UnixFormat = "Mon Jan _2 15:04:05 MST 2006"
	// UnixDate é o formato de data e hora Unix.
	UnixDate = "Mon Jan _2 15:04:05 MST 2006"
	// UnixDate2 é o formato de data e hora Unix.
	UnixDate2 = "Mon Jan 02 15:04:05 MST 2006"
	// UnixDate3 é o formato de data e hora Unix.
	UnixDate3 = "Mon Jan 02 15:04:05 -0700 2006"
	// UnixDate4 é o formato de data e hora Unix.
	UnixDate4 = "Mon Jan 02 15:04:05 -0700 MST 2006"
	// UnixDate5 é o formato de data e hora Unix.
	UnixDate5 = "Mon Jan 02 15:04:05 -0700 (MST) 2006"

	// TimezoneUTC é o fuso horário UTC.
	TimezoneUTC = "UTC"
	// TimezoneGMT é o fuso horário GMT.
	TimezoneGMT = "GMT"
	// TimezoneEST é o fuso horário EST.
	TimezoneEST = "EST"
	// TimezoneEDT é o fuso horário EDT.
	TimezoneEDT = "EDT"
	// TimezoneCST é o fuso horário CST.
	TimezoneCST = "CST"
	// TimezoneCDT é o fuso horário CDT.
	TimezoneCDT = "CDT"
	// TimezoneMST é o fuso horário MST.
	TimezoneMST = "MST"
	// TimezoneMDT é o fuso horário MDT.
	TimezoneMDT = "MDT"
	// TimezonePST é o fuso horário PST.
	TimezonePST = "PST"
	// TimezonePDT é o fuso horário PDT.
	TimezonePDT = "PDT"
	// TimezoneCET é o fuso horário CET.
	TimezoneCET = "CET"
	// TimezoneCEST é o fuso horário CEST.
	TimezoneCEST = "CEST"
	// TimezoneJST é o fuso horário JST.
	TimezoneJST = "JST"
	// TimezoneKST é o fuso horário KST.
	TimezoneKST = "KST"
	// TimezoneSGT é o fuso horário SGT.
	TimezoneSGT = "SGT"
	// TimezoneHKT é o fuso horário HKT.
	TimezoneHKT = "HKT"
	// TimezoneAEST é o fuso horário AEST.
	TimezoneAEST = "AEST"
	// TimezoneACST é o fuso horário ACST.
	TimezoneACST = "ACST"
	// TimezoneAWST é o fuso horário AWST.
	TimezoneAWST = "AWST"
	// TimezoneNZST é o fuso horário NZST.
	TimezoneNZST = "NZST"

	// TimezoneOffsetUTC é o offset do fuso horário UTC.
	TimezoneOffsetUTC = "+0000"
	// TimezoneOffsetGMT é o offset do fuso horário GMT.
	TimezoneOffsetGMT = "+0000"
	// TimezoneOffsetEST é o offset do fuso horário EST.
	TimezoneOffsetEST = "-0500"
	// TimezoneOffsetEDT é o offset do fuso horário EDT.
	TimezoneOffsetEDT = "-0400"
	// TimezoneOffsetCST é o offset do fuso horário CST.
	TimezoneOffsetCST = "-0600"
	// TimezoneOffsetCDT é o offset do fuso horário CDT.
	TimezoneOffsetCDT = "-0500"
	// TimezoneOffsetMST é o offset do fuso horário MST.
	TimezoneOffsetMST = "-0700"
	// TimezoneOffsetMDT é o offset do fuso horário MDT.
	TimezoneOffsetMDT = "-0600"
	// TimezoneOffsetPST é o offset do fuso horário PST.
	TimezoneOffsetPST = "-0800"
	// TimezoneOffsetPDT é o offset do fuso horário PDT.
	TimezoneOffsetPDT = "-0700"
	// TimezoneOffsetCET é o offset do fuso horário CET.
	TimezoneOffsetCET = "+0100"
	// TimezoneOffsetCEST é o offset do fuso horário CEST.
	TimezoneOffsetCEST = "+0200"
	// TimezoneOffsetJST é o offset do fuso horário JST.
	TimezoneOffsetJST = "+0900"
	// TimezoneOffsetKST é o offset do fuso horário KST.
	TimezoneOffsetKST = "+0900"
	// TimezoneOffsetSGT é o offset do fuso horário SGT.
	TimezoneOffsetSGT = "+0800"
	// TimezoneOffsetHKT é o offset do fuso horário HKT.
	TimezoneOffsetHKT = "+0800"
	// TimezoneOffsetAEST é o offset do fuso horário AEST.
	TimezoneOffsetAEST = "+1000"
	// TimezoneOffsetACST é o offset do fuso horário ACST.
	TimezoneOffsetACST = "+0930"
	// TimezoneOffsetAWST é o offset do fuso horário AWST.
	TimezoneOffsetAWST = "+0800"
	// TimezoneOffsetNZST é o offset do fuso horário NZST.
	TimezoneOffsetNZST = "+1200"
)

Variables

This section is empty.

Functions

func AcctTempSsCtx

func AcctTempSsCtx(token string) (string, error)

AcctTempSsCtx cria um arquivo temporário seguro para um token. token: o token a ser armazenado. Retorna o caminho do arquivo temporário e um erro, se houver.

func AcctTempSsCtxCheck

func AcctTempSsCtxCheck() (string, error)

AcctTempSsCtxCheck verifica se o token é válido. Retorna o conteúdo do token e um erro, se houver.

func AcctTempSsCtxClear

func AcctTempSsCtxClear() error

AcctTempSsCtxClear remove todos os conteúdos antigos do tempDir que contêm "acxtkb" em qualquer parte do nome. Retorna um erro, se houver.

func AddFileToTar

func AddFileToTar(tw *tar.Writer, filePath string) error

func AddFileToZip

func AddFileToZip(zipWriter *zip.Writer, filePath string) error

func ArchiveOldFiles

func ArchiveOldFiles() error

func CheckFilePathExists

func CheckFilePathExists(path string) (bool, error)

CheckFilePathExists verifica se um caminho de arquivo existe. path: caminho do arquivo. Retorna true se o arquivo existir, caso contrário, false e um erro, se houver.

func CheckPathLastAccessTime

func CheckPathLastAccessTime(path string) (time.Time, error)

CheckPathLastAccessTime verifica o tempo de último acesso de um caminho. path: caminho do arquivo ou diretório. Retorna o tempo de último acesso e um erro, se houver.

func CheckPortOpen

func CheckPortOpen(port string) (bool, error)

CheckPortOpen verifica se uma porta está aberta. port: a porta a ser verificada. Retorna true se a porta estiver aberta, caso contrário, false. Retorna um erro, se houver.

func CheckSecureSignedTempData

func CheckSecureSignedTempData(tempDir string, tag string) (string, error)

CheckSecureSignedTempData verifica se o token armazenado é válido. tempDir: diretório temporário. tag: tag opcional para o arquivo. Retorna o conteúdo do token e um erro, se houver.

func ClearScreen

func ClearScreen()

ClearScreen limpa a tela do terminal.

func ClosePort

func ClosePort(port string) error

ClosePort fecha uma porta específica. port: a porta a ser fechada. Retorna um erro, se houver.

func CommandExists

func CommandExists(cmd string) bool

CommandExists verifica se um comando existe no sistema. cmd: o comando a ser verificado. Retorna true se o comando existir, caso contrário, false.

func CompressData

func CompressData(data string) (string, error)

CompressData comprime dados usando gzip data: dados a serem comprimidos Retorna os dados comprimidos como string e um erro, se houver

func CompressFolder

func CompressFolder(folderPath string, outputPath string, compressType string) error

func Contains

func Contains(slice interface{}, element interface{}) bool

Contains verifica se um elemento está presente em um slice, mapa ou string slice: coleção onde o elemento será procurado element: elemento a ser procurado Retorna true se o elemento estiver presente, caso contrário, false

func ContainsPattern

func ContainsPattern(filename string, patterns []string) bool

ContainsPattern verifica se o nome do arquivo contém um dos padrões fornecidos filename: nome do arquivo a ser verificado patterns: lista de padrões a serem procurados Retorna true se o nome do arquivo contiver um dos padrões, caso contrário, false

func ConvertAnyDataToType

func ConvertAnyDataToType(data interface{}, targetType string) (interface{}, error)

ConvertAnyDataToType converte qualquer tipo de dados para o tipo fornecido data: dados a serem convertidos targetType: tipo alvo para a conversão Retorna os dados convertidos e um erro, se houver

func ConvertTimezone

func ConvertTimezone(timezone string) string

ConvertTimezone retorna o nome completo do fuso horário. timezone: o fuso horário. Retorna uma string contendo o nome completo do fuso horário.

func ConvertTimezoneOffset

func ConvertTimezoneOffset(timezone string) string

ConvertTimezoneOffset retorna o offset do fuso horário no formato UTC. timezone: o fuso horário. Retorna uma string contendo o offset do fuso horário no formato UTC.

func CopyFile

func CopyFile(src, dst string) error

func CreateTarGz

func CreateTarGz(archivePath string, files []string) error

func DBTypeToGoType

func DBTypeToGoType(dbType string) string

DBTypeToGoType converte um tipo de dados de banco de dados para um tipo de dados em Go dbType: tipo de dados do banco de dados Retorna o tipo de dados correspondente em Go como string

func DecodeData

func DecodeData(data string) (string, error)

DecodeData decodifica dados de Base64 data: dados a serem decodificados Retorna os dados decodificados como string e um erro, se houver

func DecompressData

func DecompressData(data string) (string, error)

DecompressData descomprime dados previamente comprimidos data: dados a serem descomprimidos Retorna os dados descomprimidos como string e um erro, se houver

func DecompressFolder

func DecompressFolder(folderPath string, outputPath string) error

func DecryptData

func DecryptData(data, key string) (string, error)

DecryptData descriptografa os dados usando uma chave fornecida data: dados a serem descriptografados key: chave usada para descriptografar os dados Retorna os dados descriptografados como string e um erro, se houver

func EncodeData

func EncodeData(data string) string

EncodeData codifica dados em Base64 data: dados a serem codificados Retorna os dados codificados como string

func EncryptData

func EncryptData(data, key string) (string, error)

EncryptData encripta os dados usando uma chave fornecida data: dados a serem encriptados key: chave usada para encriptar os dados Retorna os dados encriptados como string e um erro, se houver

func EnsureDir

func EnsureDir(path string, perm os.FileMode, userGroup []string) error

EnsureDir garante que um diretório exista, criando-o se necessário. path: caminho do diretório. perm: permissões do diretório. userGroup: lista contendo o usuário e grupo do diretório. Retorna um erro, se houver.

func EnsureDirWithOwner added in v1.2.12

func EnsureDirWithOwner(p string, uid, gid int, mode fs.FileMode) error

func EnsureFile

func EnsureFile(path string, perm os.FileMode, userGroup []string) error

EnsureFile garante que um arquivo exista, criando-o se necessário. path: caminho do arquivo. perm: permissões do arquivo. userGroup: lista contendo o usuário e grupo do arquivo. Retorna um erro, se houver.

func EnsureFileWithOwner added in v1.2.12

func EnsureFileWithOwner(p string, content []byte, uid, gid int, mode fs.FileMode) error

func EnsureTempDir

func EnsureTempDir() error

EnsureTempDir garante que o diretório temporário exista. Retorna um erro, se houver.

func ExtractDate

func ExtractDate(s string) string

ExtractDate extrai a data de uma string. s: a string que contém a data. Retorna uma string contendo a data extraída.

func ExtractDateTime

func ExtractDateTime(s string, format string) string

ExtractDateTime extrai a data e a hora de uma string. s: a string que contém a data e a hora. format: o formato da data e hora a ser extraído. Retorna uma string contendo a data e hora extraída.

func ExtractTime

func ExtractTime(s string) string

ExtractTime extrai a hora de uma string. s: a string que contém a hora. Retorna uma string contendo a hora extraída.

func Figlet

func Figlet(title string) error

Figlet exibe um título estilizado usando o comando `figlet`. title: o título a ser exibido. Retorna um erro, se houver.

func FormatDate

func FormatDate(t string) string

FormatDate formata a data. t: a string que contém a data. Retorna uma string contendo a data formatada.

func FormatDateTime

func FormatDateTime(t string, format string) string

FormatDateTime formata a data e a hora. t: a string que contém a data e a hora. format: o formato da data e hora a ser formatado. Retorna uma string contendo a data e hora formatada.

func FormatTime

func FormatTime(t string) string

FormatTime formata a hora. t: a string que contém a hora. Retorna uma string contendo a hora formatada.

func GetBootID

func GetBootID() (string, error)

func GetBootTimeMac

func GetBootTimeMac() (string, error)

func GetBootTimeWindows

func GetBootTimeWindows() (string, error)

func GetDefaultBufferSizes

func GetDefaultBufferSizes() (sm, md, lg int)

func GetGoType

func GetGoType(data interface{}) string

GetGoType retorna o tipo de dados de uma variável em Go data: variável a ser verificada Retorna o tipo de dados como string

func GetGroups

func GetGroups() ([]string, error)

GetGroups retorna uma lista de IDs dos grupos aos quais o usuário pertence. Executa o comando `id -G` para obter os IDs dos grupos. Retorna uma lista de strings com os IDs dos grupos e um erro, se houver.

func GetHomeDir

func GetHomeDir() (string, error)

GetHomeDir obtém o diretório home do usuário. Retorna o caminho do diretório home e um erro, se houver.

func GetKubexDir

func GetKubexDir() (string, error)

func GetPrimaryGroup

func GetPrimaryGroup() (string, error)

GetPrimaryGroup retorna o nome do grupo principal do sistema. Executa o comando `id -gn` para obter o nome do grupo. Retorna o nome do grupo como string e um erro, se houver.

func GetPrimaryUser

func GetPrimaryUser() (string, error)

GetPrimaryUser retorna o nome do usuário principal do sistema. Executa o comando `id -un` para obter o nome do usuário. Retorna o nome do usuário como string e um erro, se houver.

func GetTempDir

func GetTempDir() (string, error)

GetTempDir obtém o diretório temporário. Retorna o caminho do diretório temporário e um erro, se houver.

func GetTimezoneOffset

func GetTimezoneOffset(timezone string) string

GetTimezoneOffset retorna o offset do fuso horário. timezone: o fuso horário. Retorna uma string contendo o offset do fuso horário.

func GetWeekday

func GetWeekday(weekday string) string

GetWeekday retorna o dia da semana a partir de uma string. weekday: a string que representa o dia da semana. Retorna uma string contendo o dia da semana em português.

func GetWeekdayByAnyType

func GetWeekdayByAnyType(v interface{}) string

GetWeekdayByAnyType retorna o dia da semana a partir de qualquer tipo. v: o valor que representa o dia da semana. Retorna uma string contendo o dia da semana.

func GetWeekdayByInt

func GetWeekdayByInt(weekday int) string

GetWeekdayByInt retorna o dia da semana a partir de um inteiro. weekday: o inteiro que representa o dia da semana (0 para Domingo, 1 para Segunda-feira, etc.). Retorna uma string contendo o dia da semana em português.

func GetWorkDir

func GetWorkDir() (string, error)

GetWorkDir obtém o diretório de trabalho. Retorna o caminho do diretório de trabalho e um erro, se houver.

func HashData

func HashData(data string) string

HashData gera um hash SHA-256 dos dados fornecidos data: dados a serem hasheados Retorna o hash dos dados como string

func IsBase62ByteSlice

func IsBase62ByteSlice(s []byte) bool

func IsBase62String

func IsBase62String(s string) bool

func IsBase64ByteSlice

func IsBase64ByteSlice(s []byte) bool

func IsBase64ByteSliceString

func IsBase64ByteSliceString(s string) bool

func IsBase64ByteSliceStringWithPadding

func IsBase64ByteSliceStringWithPadding(s string) bool

func IsBase64String

func IsBase64String(s string) bool

func IsIPv6

func IsIPv6(ip string) bool

IsIPv6 verifica se um endereço IP é um endereço IPv6. ip: o endereço IP a ser verificado. Retorna true se o endereço IP for um endereço IPv6, caso contrário, false.

func IsUrlEncodeByteSlice

func IsUrlEncodeByteSlice(s []byte) bool

func IsUrlEncodeString

func IsUrlEncodeString(s string) bool

func ListFiles

func ListFiles(path string, pattern string) ([]string, error)

ListFiles lista os arquivos em um diretório que correspondem a um padrão. path: caminho do diretório. pattern: padrão a ser procurado nos nomes dos arquivos. Retorna uma lista de arquivos que correspondem ao padrão e um erro, se houver.

func ListOpenPorts

func ListOpenPorts() ([]string, error)

ListOpenPorts lista todas as portas abertas no sistema. Executa o comando `netstat` para obter as portas abertas. Retorna uma lista de strings com as portas abertas e um erro, se houver.

func LoadConfigFile

func LoadConfigFile(fileType, configPath string) (any, error)

func LoadINIConfigFile

func LoadINIConfigFile(configPath string) (interface{}, error)

func LoadJSONConfigFile

func LoadJSONConfigFile(configPath string) (interface{}, error)

func LoadPrivateKey

func LoadPrivateKey(path string) (*rsa.PrivateKey, error)

LoadPrivateKey carrega uma chave privada de um arquivo path: caminho do arquivo contendo a chave privada Retorna a chave privada e um erro, se houver

func LoadPublicKey

func LoadPublicKey(path string) (any, error)

LoadPublicKey carrega uma chave pública de um arquivo path: caminho do arquivo contendo a chave pública Retorna a chave pública e um erro, se houver

func LoadTOMLConfigFile

func LoadTOMLConfigFile(configPath string) (interface{}, error)

func LoadXMLConfigFile

func LoadXMLConfigFile(configPath string) (interface{}, error)

func LoadYAMLConfigFile

func LoadYAMLConfigFile(configPath string) (interface{}, error)

func NewHash

func NewHash() hash.Hash

func OpenPort

func OpenPort(port string) error

OpenPort abre uma porta específica. port: a porta a ser aberta. Retorna um erro, se houver.

func PrintSection

func PrintSection(section string)

PrintSection exibe uma seção formatada no terminal. section: a seção a ser exibida.

func PrintTitle

func PrintTitle(title string)

PrintTitle exibe um título formatado no terminal. title: o título a ser exibido.

func RemoveFile

func RemoveFile(path string) error

func RemoveFiles

func RemoveFiles(paths []string) error

func SanitizePath

func SanitizePath(basePath, inputPath string) (string, error)

SanitizePath sanitiza um caminho de arquivo, garantindo que ele esteja dentro do caminho base. basePath: caminho base. inputPath: caminho de entrada a ser sanitizado. Retorna o caminho sanitizado e um erro, se houver.

func SetSecureSignedTempData

func SetSecureSignedTempData(tempDir string, data string, tag string) (string, error)

SetSecureSignedTempData criptografa o token e escreve no arquivo tmpfs, assina o arquivo com hash e mantém o hash na memória. tempDir: diretório temporário. data: dados a serem armazenados. tag: tag opcional para o arquivo. Retorna o nome do arquivo temporário e um erro, se houver.

func SignData

func SignData(data string, privateKey *rsa.PrivateKey) (string, error)

SignData assina dados digitalmente usando uma chave privada data: dados a serem assinados privateKey: chave privada usada para assinar os dados Retorna a assinatura dos dados como string e um erro, se houver

func ValidateHash

func ValidateHash(data, hash string) bool

ValidateHash valida se os dados correspondem ao hash fornecido data: dados a serem validados hash: hash a ser comparado Retorna true se os dados corresponderem ao hash, caso contrário, false

func ValidateWorkerLimit

func ValidateWorkerLimit(value any) error

ValidateWorkerLimit valida o limite de workers

func VerifyData

func VerifyData(data, signature string, publicKey *rsa.PublicKey) error

VerifyData verifica a assinatura digital dos dados usando uma chave pública data: dados a serem verificados signature: assinatura a ser verificada publicKey: chave pública usada para verificar a assinatura Retorna um erro se a verificação falhar, caso contrário, nil

func WaitEnter

func WaitEnter()

WaitEnter aguarda o usuário pressionar ENTER para continuar.

func WaitEnterClear

func WaitEnterClear()

WaitEnterClear aguarda o usuário pressionar ENTER e limpa a tela do terminal.

func WatchKubexFiles

func WatchKubexFiles() error

Types

type ForwardMode

type ForwardMode byte
const (
	LocalForward  ForwardMode = 'L'
	RemoteForward ForwardMode = 'R'
)

type ForwardSpec

type ForwardSpec struct {
	Mode   ForwardMode
	Listen string // host:port onde escuta (local p/ L; remoto p/ R)
	Target string // host:port destino (remoto p/ L; local p/ R)
}

ForwardSpec descreve um túnel. Ex.: "L:127.0.0.1:15432->127.0.0.1:5432" (listen local 15432; alvo remoto 5432)

"R:0.0.0.0:5432->127.0.0.1:5432"     (listen remoto 5432; alvo local 5432)

func ParseForwardSpec

func ParseForwardSpec(s string) (ForwardSpec, error)

type SSHCred

type SSHCred struct {
	User       string // ex.: "ubuntu"
	Password   string // opcional se usar chave
	PrivateKey []byte // opcional; PEM

}

type Tunnel

type Tunnel struct {
	// contains filtered or unexported fields
}

func SSHConnect

func SSHConnect(addr string, cred SSHCred, timeout time.Duration) (*Tunnel, error)

SSHConnect abre a conexão SSH segura validando host key via known_hosts.

func (*Tunnel) Close

func (t *Tunnel) Close() error

func (*Tunnel) Start

func (t *Tunnel) Start(specs ...ForwardSpec) (func(), error)

Start inicia N túneis, cada qual numa goroutine. Aceita tanto L quanto R. Retorna função de teardown.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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