From 439f4708255695dd416371263ae85b098a24b9d8 Mon Sep 17 00:00:00 2001 From: Daniel Widerin Date: Sun, 25 Oct 2020 00:01:51 +0200 Subject: [PATCH] Upgrade urfave cli to v2 Signed-off-by: Daniel Widerin --- README.md | 2 +- go.mod | 7 ++-- go.sum | 22 ++++++++----- main.go | 96 ++++++++++++++++++++++++++++--------------------------- 4 files changed, 69 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index f241fa8..8c5adef 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ library which made this wrapper possible. ## Use - docker run -it saily/vnc-recorder --help + docker run -it widerin/vnc-recorder --help NAME: diff --git a/go.mod b/go.mod index 7186ae7..2ec1227 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,9 @@ go 1.13 require ( github.com/amitbet/vnc2video v0.0.0-20190616012314-9d50b9dab1d9 - github.com/sirupsen/logrus v1.6.0 - github.com/urfave/cli v1.22.4 + github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect + github.com/icza/mjpeg v0.0.0-20201020132628-7c1e1838a393 // indirect + github.com/sirupsen/logrus v1.7.0 + github.com/urfave/cli/v2 v2.2.0 + golang.org/x/sys v0.0.0-20201024132449-ef9fd89ba245 // indirect ) diff --git a/go.sum b/go.sum index d2bd2e4..2d6dc86 100644 --- a/go.sum +++ b/go.sum @@ -3,22 +3,28 @@ github.com/amitbet/vnc2video v0.0.0-20190616012314-9d50b9dab1d9 h1:vYU4bpShNx2qw github.com/amitbet/vnc2video v0.0.0-20190616012314-9d50b9dab1d9/go.mod h1:zc4FYPGD82PqOVHtzkQiz7zHHxumVoVQ4Ij0RzvOIJQ= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/icza/mjpeg v0.0.0-20170217094447-85dfbe473743 h1:u5kZEGcjrCRAS99gyW/wptM3KjGYkVv80WKexNvxBuA= github.com/icza/mjpeg v0.0.0-20170217094447-85dfbe473743/go.mod h1:Eja3x31oRrEOzl6ihhsxY23gXaTYWLP3Gwj5nMAJ7m0= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/icza/mjpeg v0.0.0-20201020132628-7c1e1838a393 h1:x6a1h0jKsDMgUqyy0RO2dXOciHY+QWqcZ2Tvb5LStxA= +github.com/icza/mjpeg v0.0.0-20201020132628-7c1e1838a393/go.mod h1:Eja3x31oRrEOzl6ihhsxY23gXaTYWLP3Gwj5nMAJ7m0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= -github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894 h1:Cz4ceDQGXuKRnVBDTS23GTn/pU5OE2C0WrNTOYK1Uuc= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +github.com/urfave/cli/v2 v2.2.0 h1:JTTnM6wKzdA0Jqodd966MVj4vWbbquZykeX1sKbe2C4= +github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201024132449-ef9fd89ba245 h1:GGQcbpn3KsnwsPvzzr1mDsTriyvGNKi9eo2lG3N8YdM= +golang.org/x/sys v0.0.0-20201024132449-ef9fd89ba245/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/main.go b/main.go index 70d3dba..43b7951 100644 --- a/main.go +++ b/main.go @@ -6,8 +6,9 @@ import ( vnc "github.com/amitbet/vnc2video" "github.com/amitbet/vnc2video/encoders" log "github.com/sirupsen/logrus" - "github.com/urfave/cli" + cli "github.com/urfave/cli/v2" "net" + "os" "os/exec" "os/signal" @@ -22,53 +23,54 @@ func init() { } func main() { - app := cli.NewApp() - app.Name = path.Base(os.Args[0]) - app.Usage = "Connect to a vnc server and record the screen to a video." - app.Version = "1.0" - app.Authors = []cli.Author{ - { - Name: "Daniel Widerin", - Email: "daniel@widerin.net", + app := &cli.App{ + Name: path.Base(os.Args[0]), + Usage: "Connect to a vnc server and record the screen to a video.", + Version: "1.0", + Authors: []*cli.Author{ + &cli.Author{ + Name: "Daniel Widerin", + Email: "daniel@widerin.net", + }, }, - } - app.Action = recorder - app.Flags = []cli.Flag{ - cli.StringFlag{ - Name: "ffmpeg", - Value: "ffmpeg", - Usage: "Which ffmpeg executable to use", - EnvVar: "VR_FFMPEG_BIN", - }, - cli.StringFlag{ - Name: "host", - Value: "localhost", - Usage: "VNC host", - EnvVar: "VR_VNC_HOST", - }, - cli.IntFlag{ - Name: "port", - Value: 5900, - Usage: "VNC port", - EnvVar: "VR_VNC_PORT", - }, - cli.StringFlag{ - Name: "password", - Value: "secret", - Usage: "Password to connect to the VNC host", - EnvVar: "VR_VNC_PASSWORD", - }, - cli.IntFlag{ - Name: "framerate", - Value: 30, - Usage: "Framerate to record", - EnvVar: "VR_FRAMERATE", - }, - cli.StringFlag{ - Name: "outfile", - Value: "output.mp4", - Usage: "Output file to record to.", - EnvVar: "VR_OUTFILE", + Action: recorder, + Flags: []cli.Flag{ + &cli.StringFlag{ + Name: "ffmpeg", + Value: "ffmpeg", + Usage: "Which ffmpeg executable to use", + EnvVars: []string{"VR_FFMPEG_BIN"}, + }, + &cli.StringFlag{ + Name: "host", + Value: "localhost", + Usage: "VNC host", + EnvVars: []string{"VR_VNC_HOST"}, + }, + &cli.IntFlag{ + Name: "port", + Value: 5900, + Usage: "VNC port", + EnvVars: []string{"VR_VNC_PORT"}, + }, + &cli.StringFlag{ + Name: "password", + Value: "secret", + Usage: "Password to connect to the VNC host", + EnvVars: []string{"VR_VNC_PASSWORD"}, + }, + &cli.IntFlag{ + Name: "framerate", + Value: 30, + Usage: "Framerate to record", + EnvVars: []string{"VR_FRAMERATE"}, + }, + &cli.StringFlag{ + Name: "outfile", + Value: "output.mp4", + Usage: "Output file to record to.", + EnvVars: []string{"VR_OUTFILE"}, + }, }, }