30 lines
740 B
Go
30 lines
740 B
Go
package cmd
|
||
|
||
import (
|
||
"github.com/spf13/cobra"
|
||
"path/filepath"
|
||
sw "playbookctl/internal/space_worker"
|
||
"playbookctl/internal/utils/logger"
|
||
)
|
||
|
||
func NewCommandOpenports() *cobra.Command {
|
||
openportsCmd := &cobra.Command{
|
||
Use: "openports",
|
||
Short: "пробрасывает порты с сервера на локалку",
|
||
RunE: openportsRunE,
|
||
}
|
||
|
||
openportsCmd.Flags().StringVar(&flagTargetHost, "target", "", "имя целевого хоста")
|
||
|
||
return openportsCmd
|
||
}
|
||
|
||
func openportsRunE(_ *cobra.Command, _ []string) error {
|
||
workDir, err := filepath.Abs(flagWorkdir)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
spaceWorker := sw.NewSpaceWorker(logger.LogVerbose(flagVerbose), workDir)
|
||
return spaceWorker.Openports(flagTargetHost)
|
||
}
|