Compare commits

...

10 Commits

Author SHA1 Message Date
Icedream 0e788c4b73
Add reference to FiveM post. 2022-04-10 03:42:56 +02:00
Icedream 5f38517277
Disable stale workflow for now. 2022-04-10 03:33:06 +02:00
Icedream e327325b27
Fix CVE-2019-11254 by upgrading yaml.v2.
See https://github.com/icedream/icecon/security/dependabot/1.
2022-04-09 16:43:08 +02:00
Icedream ec97251317
Remove Jenkins badge.
We no longer use Jenkins to continuously build and release this app.
2022-04-09 16:40:36 +02:00
Icedream b905774d9d
Update maintenance year. 2022-04-09 16:39:28 +02:00
Icedream 0c690d86c2
Add Docker GitHub workflow. 2022-04-09 16:35:03 +02:00
Icedream 028041236e
Add Docker image files. 2022-04-09 16:27:29 +02:00
Icedream bd8f873d02
Update to Go 1.18. 2022-04-09 16:25:04 +02:00
Icedream 07693583fe
Update go modules. 2022-04-09 16:17:03 +02:00
Icedream 678ba5fc50
Remove submodules. 2022-04-09 16:12:12 +02:00
14 changed files with 121 additions and 44 deletions

33
.dockerignore Normal file
View File

@ -0,0 +1,33 @@
# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so
*.syso
# Folders
_obj
_test
# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
_testmain.go
*.exe
*.test
*.prof
###
*Docker*
*.docker*
#Jenkinsfile
#.github/*

46
.github/workflows/docker.yml vendored Normal file
View File

@ -0,0 +1,46 @@
name: Docker image build
on:
push:
branches:
- 'main'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Check out the repo
uses: actions/checkout@v3
#-
# name: Log in to DockerHub
# uses: docker/login-action@v1
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to GitHub container registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v3
with:
images: |
ghcr.io/${{ github.repository }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View File

@ -9,10 +9,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.12
- name: Set up Go 1.18
uses: actions/setup-go@v1
with:
go-version: 1.12
go-version: 1.18
id: go
- name: Check out code into the Go module directory

View File

@ -1,19 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "0 0 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Stale issue message'
stale-pr-message: 'Stale pull request message'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'

12
.gitmodules vendored
View File

@ -1,12 +0,0 @@
[submodule "vendor/github.com/alecthomas/template"]
path = vendor/github.com/alecthomas/template
url = https://github.com/alecthomas/template
[submodule "vendor/github.com/alecthomas/units"]
path = vendor/github.com/alecthomas/units
url = https://github.com/alecthomas/units
[submodule "vendor/gopkg.in/alecthomas/kingpin.v2"]
path = vendor/gopkg.in/alecthomas/kingpin.v2
url = https://gopkg.in/alecthomas/kingpin.v2
[submodule "vendor/github.com/icedream/go-q3net"]
path = vendor/github.com/icedream/go-q3net
url = https://github.com/icedream/go-q3net.git

View File

@ -10,9 +10,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- Current server address in title bar. (Windows UI)
### Changed
- Binaries are now compiled statically and using Go 1.8.
- Binaries are now compiled statically and using Go 1.18.
- Reuse server address as typed in by the user in connect dialog instead of using resolved IP address. (Windows UI)
- Update copyright text.
- Update several dependencies, including yaml.v2 to fix potential looping resource hog (https://github.com/icedream/icecon/security/dependabot/1).
## [1.0.0] - 2016-05-07
### Added

17
Dockerfile Normal file
View File

@ -0,0 +1,17 @@
FROM golang:1.18-alpine AS build
WORKDIR /usr/src/icecon
COPY go.mod go.sum ./
RUN go mod download
COPY * .
RUN go generate -v ./...
RUN go build -v -ldflags "-s -w" .
###
FROM alpine:3.15
COPY --from=build /usr/src/icecon/icecon /usr/local/bin
STOPSIGNAL SIGTERM
ENTRYPOINT ["/usr/local/bin/icecon"]

View File

@ -1,10 +1,13 @@
# ![Logo](img/logo_32.png) IceCon RCON client
[![Release version](https://img.shields.io/github/release/icedream/icecon.svg?maxAge=2592000)](https://github.com/icedream/icecon/releases) [![Jenkins build status](https://img.shields.io/jenkins/build/https/ci.icedream.tech/job/github/job/icedream/job/icecon/job/develop.svg?maxAge=2592000)](https://ci.icedream.tech/job/github/job/icedream/job/icecon) ![Maintained?](https://img.shields.io/maintenance/yes/2019.svg?maxAge=2592000)
[![Release version](https://img.shields.io/github/release/icedream/icecon.svg?maxAge=2592000)](https://github.com/icedream/icecon/releases)
![Maintained?](https://img.shields.io/maintenance/yes/2022.svg?maxAge=2592000)
*IceCon* is a Q3-compatible RCON client. It can connect to any server that implements RCON over a Q3-compatible network protocol (UDP) and even comes with a nice, straight minimal GUI.
Specifically, this tool has been written for quick administration of modified Modern Warfare 2 ("IW4M") servers. A Windows user could easily set up shortcuts on the desktop that run `icecon.exe -gui <server:port> <password>` which gives you an instant GUI to run commands on your server. Another use case would be scripting on a Linux server by running `icecon -command "<your command here>" <server:port> <password>` to automate specific tasks.
Specifically, this tool has been written for quick administration of modified Modern Warfare 2 ("IW4M") servers but it [is also officially supported for use with FiveM servers](https://forum.cfx.re/t/release-icecon-the-officially-supported-rcon-tool/7558).
A Windows user could easily set up shortcuts on the desktop that run `icecon.exe -gui <server:port> <password>` which gives you an instant GUI to run commands on your server. Another use case would be scripting on a Linux server by running `icecon -command "<your command here>" <server:port> <password>` to automate specific tasks.
![Screenshot 1](img/screenshot1.png)
![Screenshot 2](img/screenshot2.png)

9
go.mod
View File

@ -4,11 +4,12 @@ go 1.12
require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20190910110746-680d30ca3117 // indirect
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
github.com/icedream/go-q3net v0.1.0
github.com/lxn/walk v0.0.0-20190909123447-3b9dbc29e916
github.com/lxn/win v0.0.0-20190910083938-ae3bd9765f46 // indirect
golang.org/x/sys v0.0.0-20190913121621-c3b328c6e5a7 // indirect
github.com/lxn/walk v0.0.0-20210112085537-c389da54e794
github.com/lxn/win v0.0.0-20210218163916-a377121e959e // indirect
golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f // indirect
gopkg.in/Knetic/govaluate.v3 v3.0.0 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6
gopkg.in/yaml.v2 v2.4.0 // indirect
)

11
go.sum
View File

@ -2,6 +2,8 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafo
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20190910110746-680d30ca3117 h1:aUo+WrWZtRRfc6WITdEKzEczFRlEpfW15NhNeLRc17U=
github.com/alecthomas/units v0.0.0-20190910110746-680d30ca3117/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
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=
@ -9,8 +11,12 @@ github.com/icedream/go-q3net v0.1.0 h1:ly5QS55sXAs7HunlCPDsUmS6QLYqP6kGBdupwufai
github.com/icedream/go-q3net v0.1.0/go.mod h1:2Y0epYeaR6uWXDMvapfsUkLDqAXhI8mp/J5LxO86eUU=
github.com/lxn/walk v0.0.0-20190909123447-3b9dbc29e916 h1:Sx/btl5rTwh23BpO9ga0aJhPh8kqL11Eg56cUEP9WGo=
github.com/lxn/walk v0.0.0-20190909123447-3b9dbc29e916/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ=
github.com/lxn/walk v0.0.0-20210112085537-c389da54e794 h1:NVRJ0Uy0SOFcXSKLsS65OmI1sgCCfiDUPj+cwnH7GZw=
github.com/lxn/walk v0.0.0-20210112085537-c389da54e794/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ=
github.com/lxn/win v0.0.0-20190910083938-ae3bd9765f46 h1:irZ+wYKCpwPPsAhaIl4r89ZMCE0pRvgtnrl0EYP0Ps0=
github.com/lxn/win v0.0.0-20190910083938-ae3bd9765f46/go.mod h1:ouWl4wViUNh8tPSIwxTVMuS014WakR1hqvBc2I0bMoA=
github.com/lxn/win v0.0.0-20210218163916-a377121e959e h1:H+t6A/QJMbhCSEH5rAuRxh+CtW96g0Or0Fxa9IKr4uc=
github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk=
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/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@ -21,6 +27,9 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190913121621-c3b328c6e5a7 h1:wYqz/tQaWUgGKyx+B/rssSE6wkIKdY5Ee6ryOmzarIg=
golang.org/x/sys v0.0.0-20190913121621-c3b328c6e5a7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f h1:8w7RhxzTVgUzw/AH/9mUV5q0vMgy40SQRursCcfmkCw=
golang.org/x/sys v0.0.0-20220408201424-a24fb2fb8a0f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/Knetic/govaluate.v3 v3.0.0 h1:18mUyIt4ZlRlFZAAfVetz4/rzlJs9yhN+U02F4u1AOc=
gopkg.in/Knetic/govaluate.v3 v3.0.0/go.mod h1:csKLBORsPbafmSCGTEh3U7Ozmsuq8ZSIlKk1bcqph0E=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
@ -29,3 +38,5 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=

@ -1 +0,0 @@
Subproject commit a0175ee3bccc567396460bf5acd36800cb10c49c

1
vendor/github.com/alecthomas/units generated vendored

@ -1 +0,0 @@
Subproject commit 2efee857e7cfd4f3d0138cc3cbb1b4966962b93a

@ -1 +0,0 @@
Subproject commit 32f4d526c4848c6f0fd8a0a8ffff7b2e9b22a514

@ -1 +0,0 @@
Subproject commit 7f0871f2e17818990e4eed73f9b5c2f429501228