Go to file
Kyle Isom 458f3ceaed update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
ahash bazel: updating build files 2023-05-04 15:11:15 -07:00
assert Cut over to Bazel. 2023-05-04 14:00:30 -07:00
cmd cmd/diskimg: new disk imaging tool 2023-05-04 16:06:56 -07:00
config bazel: updating build files 2023-05-04 15:11:15 -07:00
dbg bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
die Cut over to Bazel. 2023-05-04 14:00:30 -07:00
fileutil Cut over to Bazel. 2023-05-04 14:00:30 -07:00
lib bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
logging bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
mwc bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
rand bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
sbuf bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
seekbuf update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
syslog update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
tee Cut over to Bazel. 2023-05-04 14:00:30 -07:00
testio bazel-test: add sizes to all tests. 2023-05-04 16:08:18 -07:00
testutil Cut over to Bazel. 2023-05-04 14:00:30 -07:00
.gitignore Cut over to Bazel. 2023-05-04 14:00:30 -07:00
.travis.yml Update .travis.yml 2020-11-04 05:22:10 -05:00
BUILD.bazel bazel: updating build files 2023-05-04 15:11:15 -07:00
CHANGELOG Add missing format arg. 2018-09-15 16:49:46 -07:00
LICENSE update README/LICENSE 2023-05-04 16:07:34 -07:00
README.md update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
WORKSPACE update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
deps.bzl update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
doc.go Add top-level package documentation. 2015-12-22 20:57:32 -08:00
gazelle.sh Cut over to Bazel. 2023-05-04 14:00:30 -07:00
go.mod update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00
go.sum update dependencies to fix dependabot warnings. 2023-05-04 17:10:41 -07:00

README.md

GOUTILS

This is a collection of small utility code I've written in Go; the cmd/ directory has a number of command-line utilities. Rather than keep all of these in superfluous repositories of their own, or rewriting them for each project, I'm putting them here.

The project can be built with the standard Go tooling, or it can be built with Bazel.

Contents:

ahash/          Provides hashes from string algorithm specifiers.
assert/         Error handling, assertion-style.
cmd/
    atping/     Automated TCP ping, meant for putting in cronjobs.
    certchain/  Display the certificate chain from a
                TLS connection.
    certdump/   Dump certificate information.
    certexpiry/ Print a list of certificate subjects and expiry times
                or warn about certificates expiring within a certain
                window.
    certverify/ Verify a TLS X.509 certificate, optionally printing
                the time to expiry and checking for revocations.
    clustersh/  Run commands or transfer files across multiple
                servers via SSH.
    cruntar/    Untar an archive with hard links, copying instead of
                linking.
    csrpubdump/ Dump the public key from an X.509 certificate request.
diskimg/    Write a disk image to a device.
eig/	    EEPROM image generator.
    fragment/   Print a fragment of a file.
    jlp/        JSON linter/prettifier.
    kgz/        Custom gzip compressor / decompressor that handles 99%
                of my use cases.
parts/	    Simple parts database management for my collection of
	    electronic components.
    pem2bin/    Dump the binary body of a PEM-encoded block.
    pembody/    Print the body of a PEM certificate.
    pemit/      Dump data to a PEM file.
    readchain/  Print the common name for the certificates
                in a bundle.
    renfnv/     Rename a file to base32-encoded 64-bit FNV-1a hash.
    rhash/      Compute the digest of remote files.
    showimp/    List the external (e.g. non-stdlib and outside the
                current working directory) imports for a Go file.
    ski         Display the SKI for PEM-encoded TLS material.
sprox/	    Simple TCP proxy.
    stealchain/ Dump the verified chain from a TLS 
                connection to a server.
stealchain- Dump the verified chain from a TLS 
  server/   connection from a client.
    subjhash/   Print or match subject info from a certificate.
    tlskeypair/ Check whether a TLS certificate and key file match.
    utc/        Convert times to UTC.
    yamll/      A small YAML linter.
config/	    A simple global configuration system where configuration
		    data is pulled from a file or an environment variable
	    transparently.
dbg/	    A debug printer.
die/            Death of a program.
fileutil/       Common file functions.
lib/            Commonly-useful functions for writing Go programs.
logging/        A logging library.
mwc/            MultiwriteCloser implementation.
rand/	    Utilities for working with math/rand.
sbuf/           A byte buffer that can be wiped.
seekbuf/	    A read-seekable byte buffer.
syslog/	    Syslog-type logging.
tee/            Emulate tee(1)'s functionality in io.Writers.
testio/         Various I/O utilities useful during testing.
testutil/       Various utility functions useful during testing.

Each program should have a small README in the directory with more information.

All code here is licensed under the ISC license.