Documentation
¶
Overview ¶
Package utils fornece utilitários diversos.
Index ¶
- Constants
- func AcctTempSsCtx(token string) (string, error)
- func AcctTempSsCtxCheck() (string, error)
- func AcctTempSsCtxClear() error
- func AddFileToTar(tw *tar.Writer, filePath string) error
- func AddFileToZip(zipWriter *zip.Writer, filePath string) error
- func ArchiveOldFiles() error
- func CheckFilePathExists(path string) (bool, error)
- func CheckPathLastAccessTime(path string) (time.Time, error)
- func CheckPortOpen(port string) (bool, error)
- func CheckSecureSignedTempData(tempDir string, tag string) (string, error)
- func ClearScreen()
- func ClosePort(port string) error
- func CommandExists(cmd string) bool
- func CompressData(data string) (string, error)
- func CompressFolder(folderPath string, outputPath string, compressType string) error
- func Contains(slice interface{}, element interface{}) bool
- func ContainsPattern(filename string, patterns []string) bool
- func ConvertAnyDataToType(data interface{}, targetType string) (interface{}, error)
- func ConvertTimezone(timezone string) string
- func ConvertTimezoneOffset(timezone string) string
- func CopyFile(src, dst string) error
- func CreateTarGz(archivePath string, files []string) error
- func DBTypeToGoType(dbType string) string
- func DecodeData(data string) (string, error)
- func DecompressData(data string) (string, error)
- func DecompressFolder(folderPath string, outputPath string) error
- func DecryptData(data, key string) (string, error)
- func EncodeData(data string) string
- func EncryptData(data, key string) (string, error)
- func EnsureDir(path string, perm os.FileMode, userGroup []string) error
- func EnsureDirWithOwner(p string, uid, gid int, mode fs.FileMode) error
- func EnsureFile(path string, perm os.FileMode, userGroup []string) error
- func EnsureFileWithOwner(p string, content []byte, uid, gid int, mode fs.FileMode) error
- func EnsureTempDir() error
- func ExtractDate(s string) string
- func ExtractDateTime(s string, format string) string
- func ExtractTime(s string) string
- func Figlet(title string) error
- func FormatDate(t string) string
- func FormatDateTime(t string, format string) string
- func FormatTime(t string) string
- func GetBootID() (string, error)
- func GetBootTimeMac() (string, error)
- func GetBootTimeWindows() (string, error)
- func GetDefaultBufferSizes() (sm, md, lg int)
- func GetGoType(data interface{}) string
- func GetGroups() ([]string, error)
- func GetHomeDir() (string, error)
- func GetKubexDir() (string, error)
- func GetPrimaryGroup() (string, error)
- func GetPrimaryUser() (string, error)
- func GetTempDir() (string, error)
- func GetTimezoneOffset(timezone string) string
- func GetWeekday(weekday string) string
- func GetWeekdayByAnyType(v interface{}) string
- func GetWeekdayByInt(weekday int) string
- func GetWorkDir() (string, error)
- func HashData(data string) string
- func IsBase62ByteSlice(s []byte) bool
- func IsBase62String(s string) bool
- func IsBase64ByteSlice(s []byte) bool
- func IsBase64ByteSliceString(s string) bool
- func IsBase64ByteSliceStringWithPadding(s string) bool
- func IsBase64String(s string) bool
- func IsIPv6(ip string) bool
- func IsUrlEncodeByteSlice(s []byte) bool
- func IsUrlEncodeString(s string) bool
- func ListFiles(path string, pattern string) ([]string, error)
- func ListOpenPorts() ([]string, error)
- func LoadConfigFile(fileType, configPath string) (any, error)
- func LoadINIConfigFile(configPath string) (interface{}, error)
- func LoadJSONConfigFile(configPath string) (interface{}, error)
- func LoadPrivateKey(path string) (*rsa.PrivateKey, error)
- func LoadPublicKey(path string) (any, error)
- func LoadTOMLConfigFile(configPath string) (interface{}, error)
- func LoadXMLConfigFile(configPath string) (interface{}, error)
- func LoadYAMLConfigFile(configPath string) (interface{}, error)
- func NewHash() hash.Hash
- func OpenPort(port string) error
- func PrintSection(section string)
- func PrintTitle(title string)
- func RemoveFile(path string) error
- func RemoveFiles(paths []string) error
- func SanitizePath(basePath, inputPath string) (string, error)
- func SetSecureSignedTempData(tempDir string, data string, tag string) (string, error)
- func SignData(data string, privateKey *rsa.PrivateKey) (string, error)
- func ValidateHash(data, hash string) bool
- func ValidateWorkerLimit(value any) error
- func VerifyData(data, signature string, publicKey *rsa.PublicKey) error
- func WaitEnter()
- func WaitEnterClear()
- func WatchKubexFiles() error
- type ForwardMode
- type ForwardSpec
- type SSHCred
- type Tunnel
Constants ¶
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 ¶
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 ¶
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 ArchiveOldFiles ¶
func ArchiveOldFiles() error
func CheckFilePathExists ¶
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 ¶
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 ¶
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 ¶
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 ClosePort ¶
ClosePort fecha uma porta específica. port: a porta a ser fechada. Retorna um erro, se houver.
func CommandExists ¶
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 ¶
CompressData comprime dados usando gzip data: dados a serem comprimidos Retorna os dados comprimidos como string e um erro, se houver
func CompressFolder ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 CreateTarGz ¶
func DBTypeToGoType ¶
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 ¶
DecodeData decodifica dados de Base64 data: dados a serem decodificados Retorna os dados decodificados como string e um erro, se houver
func DecompressData ¶
DecompressData descomprime dados previamente comprimidos data: dados a serem descomprimidos Retorna os dados descomprimidos como string e um erro, se houver
func DecompressFolder ¶
func DecryptData ¶
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 ¶
EncodeData codifica dados em Base64 data: dados a serem codificados Retorna os dados codificados como string
func EncryptData ¶
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 ¶
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 EnsureFile ¶
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 EnsureTempDir ¶
func EnsureTempDir() error
EnsureTempDir garante que o diretório temporário exista. Retorna um erro, se houver.
func ExtractDate ¶
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 ¶
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 ¶
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 ¶
Figlet exibe um título estilizado usando o comando `figlet`. title: o título a ser exibido. Retorna um erro, se houver.
func FormatDate ¶
FormatDate formata a data. t: a string que contém a data. Retorna uma string contendo a data formatada.
func FormatDateTime ¶
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 ¶
FormatTime formata a hora. t: a string que contém a hora. Retorna uma string contendo a hora formatada.
func GetBootTimeMac ¶
func GetBootTimeWindows ¶
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 ¶
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 ¶
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 GetPrimaryGroup ¶
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 ¶
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 ¶
GetTempDir obtém o diretório temporário. Retorna o caminho do diretório temporário e um erro, se houver.
func GetTimezoneOffset ¶
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 ¶
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 ¶
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 ¶
GetWorkDir obtém o diretório de trabalho. Retorna o caminho do diretório de trabalho e um erro, se houver.
func HashData ¶
HashData gera um hash SHA-256 dos dados fornecidos data: dados a serem hasheados Retorna o hash dos dados como string
func IsBase62ByteSlice ¶
func IsBase62String ¶
func IsBase64ByteSlice ¶
func IsBase64ByteSliceString ¶
func IsBase64String ¶
func IsIPv6 ¶
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 IsUrlEncodeString ¶
func ListFiles ¶
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 ¶
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 LoadINIConfigFile ¶
func LoadJSONConfigFile ¶
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 ¶
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 LoadXMLConfigFile ¶
func LoadYAMLConfigFile ¶
func OpenPort ¶
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 RemoveFiles ¶
func SanitizePath ¶
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 ¶
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 ¶
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 ¶
ValidateWorkerLimit valida o limite de workers
func VerifyData ¶
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 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 Tunnel ¶
type Tunnel struct {
// contains filtered or unexported fields
}
func SSHConnect ¶
SSHConnect abre a conexão SSH segura validando host key via known_hosts.
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.