General information
Goauld general information
The compilation can be done directly, but it requires some tags:
client:-tags clientmini_agent:-tags mini
The compilation can also be achieved using goreleaser
Optionally required dependencies
garblefor obfuscation (https://github.com/burrowers/garble)upxfor compression https://github.com/upx/upxgoreleaserfor https://github.com/goreleaser/goreleaser
Agent
- Direct compilation
go build -o tealc ./agent
- Using the script wrapper
go run ./scripts/build/ --id agent --goos windows --goarch amd64 --no-seed --gen-age-key=false --gen-access-token=false
- Using the CLI
tealc compile --id agent --goarch amd64 --goos windows
Note: Compiling with the CLI is recommended as it allows passing compile-time variables to the agent (see [How to feed variables])
Server
go run -o goauld_server ./server
- Using the script wrapper
go run ./scripts/build/ --gen-age-key=false --gen-access-token=false --id server --goos linux --goarch amd64 -vvv
Client
go run -tags client -o tealc ./client
- Using the script wrapper
go run ./scripts/build/ --gen-age-key=false --gen-access-token=false --id client --goos linux --goarch amd64 -vvv