mcr update and readme #9

Merged
jake merged 1 commits from chore/dependency-bump into main 2025-05-31 15:11:03 +00:00
4 changed files with 20 additions and 15 deletions

View File

@ -1,20 +1,24 @@
# mctl # mctl
mctl is a terminal-friendly remote console client mctl is a terminal-friendly remote console client
## Index # Index
1. [Installation](#installation) 1. [Installation](#installation)
2. [Setup](#setup) 2. [Setup](#setup)
3. [Documentation](#documentation) 3. [Documentation](#documentation)
4. [Security](#security) 4. [Security](#security)
5. [Development](#development) 5. [Development](#development)
## Installation <br />
# Installation
Install mctl using golang Install mctl using golang
```bash ```bash
go install code.jakeyoungdev.com/jake/mctl@main #it is recommended to use a tagged version go install code.jakeyoungdev.com/jake/mctl@main #it is recommended to use a tagged version
``` ```
## Setup <br />
# Setup
### Configuring mctl ### Configuring mctl
mctl requires a one-time setup via the 'config' command before interacting with any servers, password is entered securely from the terminal and encrypted mctl requires a one-time setup via the 'config' command before interacting with any servers, password is entered securely from the terminal and encrypted
```bash ```bash
@ -88,7 +92,9 @@ To clear all fields from the configuration file use:
mctl clear mctl clear
``` ```
## Documentation <br />
# Documentation
### Commands ### Commands
|Command|Description| |Command|Description|
|---|---| |---|---|
@ -100,20 +106,17 @@ mctl clear
|run \<name> args...|runs saved command filling placeholders with supplied args| |run \<name> args...|runs saved command filling placeholders with supplied args|
|clear|clears config file| |clear|clears config file|
### Flags
#### config
|Flag|Shorthand|Required|Description|
|---|---|---|---|
|port|p|yes|RCon port|
|server|s|yes|RCon address|
### Configuration file ### Configuration file
All configuration data will be kept in the home directory and any sensitive data is encrypted for added security All configuration data will be kept in the home directory and any sensitive data is encrypted for added security
## Security <br />
# Security
RCon is an inherently insecure protocol, passwords are sent in plaintext and, if possible, the port should not be exposed to the internet. It is best to keep these connections local or over a VPN. RCon is an inherently insecure protocol, passwords are sent in plaintext and, if possible, the port should not be exposed to the internet. It is best to keep these connections local or over a VPN.
mctl utilizes [govulncheck](https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck) and [gosec](https://github.com/securego/gosec) in workflows to ensure quality, secure code is being pushed. These workflow steps must pass before a PR will be accepted mctl utilizes [govulncheck](https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck) and [gosec](https://github.com/securego/gosec) in workflows to ensure quality, secure code is being pushed. These workflow steps must pass before a PR will be accepted
## Development <br />
# Development
this repo is currently in development and may encounter breaking changes, use a tag to prevent any surprises this repo is currently in development and may encounter breaking changes, use a tag to prevent any surprises

View File

@ -14,7 +14,7 @@ import (
*/ */
type Client struct { type Client struct {
cli *mcr.Client cli mcr.Client
} }
type IClient interface { type IClient interface {

2
go.mod
View File

@ -3,7 +3,7 @@ module code.jakeyoungdev.com/jake/mctl
go 1.24.2 go 1.24.2
require ( require (
github.com/jake-young-dev/mcr v1.3.1 github.com/jake-young-dev/mcr v1.4.0
github.com/spf13/cobra v1.9.1 github.com/spf13/cobra v1.9.1
github.com/spf13/viper v1.20.1 github.com/spf13/viper v1.20.1
golang.org/x/term v0.31.0 golang.org/x/term v0.31.0

2
go.sum
View File

@ -14,6 +14,8 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jake-young-dev/mcr v1.3.1 h1:ELJsrJHwQsMiM09o+q8auUaiGXXX3DWIgh/TfZQc0B0= github.com/jake-young-dev/mcr v1.3.1 h1:ELJsrJHwQsMiM09o+q8auUaiGXXX3DWIgh/TfZQc0B0=
github.com/jake-young-dev/mcr v1.3.1/go.mod h1:74yZHGf9h3tLUDUpInA17grKLrNp9lVesWvisCFCXKY= github.com/jake-young-dev/mcr v1.3.1/go.mod h1:74yZHGf9h3tLUDUpInA17grKLrNp9lVesWvisCFCXKY=
github.com/jake-young-dev/mcr v1.4.0 h1:cXZImkfI8aNIiVPrONE6qP+nfblTGsD2iXpPKTcA25U=
github.com/jake-young-dev/mcr v1.4.0/go.mod h1:74yZHGf9h3tLUDUpInA17grKLrNp9lVesWvisCFCXKY=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=