diff --git a/Dockerfile b/Dockerfile index 958de83..594dd79 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,29 @@ -FROM alpine:3.12 AS permissions-giver +ARG ALPINE_VER=3.16 +ARG GO_VER=1.19 + +FROM alpine:$ALPINE_VER AS permissions-giver # Make sure docker-entrypoint.sh is executable, regardless of the build host. WORKDIR /out COPY docker-entrypoint.sh . RUN chmod +x docker-entrypoint.sh -FROM golang:1.14-alpine3.12 AS builder +FROM golang:$GO_VER-alpine$ALPINE_VER AS builder # Build wuzz WORKDIR /out COPY . . +RUN go mod tidy RUN go build . -FROM alpine:3.12 AS organizer +FROM alpine:$ALPINE_VER AS organizer # Prepare executables WORKDIR /out COPY --from=builder /out/wuzz . COPY --from=permissions-giver /out/docker-entrypoint.sh . -FROM alpine:3.12 AS runner +FROM alpine:$ALPINE_VER AS runner WORKDIR /wuzz COPY --from=organizer /out /usr/local/bin ENTRYPOINT [ "docker-entrypoint.sh" ] \ No newline at end of file diff --git a/README.md b/README.md index a7f853f..745a814 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,21 @@ $ go get github.com/asciimoo/wuzz $ "$GOPATH/bin/wuzz" --help ``` -Note: golang >= 1.10 required. +Note: golang version 1.19 required. [Binary releases](https://github.com/asciimoo/wuzz/releases) are also available. +### Docker + +```bash +docker build -t wuzz:1.19 . +docker run -it wuzz:1.19 http://localhost +``` + +Any valid URL can be used, however, once wuzz is running it can be edited. + + + ### Configuration diff --git a/go.mod b/go.mod index 03516ce..963c1af 100644 --- a/go.mod +++ b/go.mod @@ -1,21 +1,28 @@ module github.com/asciimoo/wuzz -go 1.14 +go 1.19 require ( - github.com/BurntSushi/toml v0.3.1 - github.com/PuerkitoBio/goquery v1.5.1 - github.com/alessio/shellescape v1.2.2 - github.com/andybalholm/cascadia v1.2.0 // indirect - github.com/jroimartin/gocui v0.4.0 - github.com/mattn/go-colorable v0.1.6 // indirect - github.com/mattn/go-runewidth v0.0.9 + github.com/BurntSushi/toml v1.2.1 + github.com/PuerkitoBio/goquery v1.8.0 + github.com/alessio/shellescape v1.4.1 + github.com/jroimartin/gocui v0.5.0 + github.com/mattn/go-runewidth v0.0.14 github.com/mitchellh/go-homedir v1.1.0 - github.com/nsf/termbox-go v0.0.0-20200418040025-38ba6e5628f1 - github.com/nwidger/jsoncolor v0.3.0 - github.com/tidwall/gjson v1.6.0 - github.com/tidwall/pretty v1.0.1 // indirect + github.com/nsf/termbox-go v1.1.1 + github.com/nwidger/jsoncolor v0.3.1 + github.com/tidwall/gjson v1.14.4 github.com/x86kernel/htmlcolor v0.0.0-20190529101448-c589f58466d0 - golang.org/x/net v0.0.0-20200602114024-627f9648deb9 - golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 // indirect + golang.org/x/net v0.2.0 +) + +require ( + github.com/andybalholm/cascadia v1.3.1 // indirect + github.com/fatih/color v1.9.0 // indirect + github.com/mattn/go-colorable v0.1.4 // indirect + github.com/mattn/go-isatty v0.0.11 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.0 // indirect + golang.org/x/sys v0.2.0 // indirect ) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..0010603 --- /dev/null +++ b/go.sum @@ -0,0 +1,48 @@ +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U= +github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI= +github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0= +github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= +github.com/andybalholm/cascadia v1.3.1 h1:nhxRkql1kdYCc8Snf7D5/D3spOX+dBgjA6u8x004T2c= +github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA= +github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/jroimartin/gocui v0.5.0 h1:DCZc97zY9dMnHXJSJLLmx9VqiEnAj0yh0eTNpuEtG/4= +github.com/jroimartin/gocui v0.5.0/go.mod h1:l7Hz8DoYoL6NoYnlnaX6XCNR62G7J5FfSW5jEogzaxE= +github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11 h1:FxPOTFNqGkuDUGi3H/qkUbQO4ZiBa2brKq5r0l8TGeM= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/nsf/termbox-go v1.1.1 h1:nksUPLCb73Q++DwbYUBEglYBRPZyoXJdrj5L+TkjyZY= +github.com/nsf/termbox-go v1.1.1/go.mod h1:T0cTdVuOwf7pHQNtfhnEbzHbcNyCEcVU4YPpouCbVxo= +github.com/nwidger/jsoncolor v0.3.1 h1:5CZXA1TgqCjzKMyWP/WCuxKEzcC6f+HUlmJez9OKsHw= +github.com/nwidger/jsoncolor v0.3.1/go.mod h1:Cs34umxLbJvgBMnVNVqhji9BhoT/N/KinHqZptQ7cf4= +github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= +github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/x86kernel/htmlcolor v0.0.0-20190529101448-c589f58466d0 h1:eViiK7U+LXJuAEcnOdp+5jIDp7j9iE2FE8YfWoLExTE= +github.com/x86kernel/htmlcolor v0.0.0-20190529101448-c589f58466d0/go.mod h1:pUZuomyrQzbA0SQPSwAnDB3TgChnUMfZnSSfcAzpVh8= +golang.org/x/net v0.0.0-20210916014120-12bc252f5db8/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=