Go to file
Kyle Isom 070ffb9dff Cleanup testio. 2018-12-17 18:16:52 -08:00
ahash Fix ahash test Sprintf's. 2017-11-21 13:00:20 -08:00
assert golint cleanups. 2017-11-16 08:32:05 -08:00
cmd Add simple proxy. 2018-12-12 14:57:08 -08:00
dbg Add debug printer. 2018-12-17 18:12:51 -08:00
die Add boolean function to die. 2016-04-28 14:15:22 -07:00
fileutil Add renfnv tool. 2016-08-23 12:59:34 -07:00
lib Add subjhash tool. Minor cleanups. 2017-10-20 12:18:56 -07:00
logging Fix Logger interface. 2017-11-21 12:19:38 -08:00
mwc gofmt cleanups. 2017-11-16 08:32:33 -08:00
sbuf Fix travis errors. 2017-11-21 12:42:53 -08:00
tee gofmt cleanups. 2017-11-16 08:32:33 -08:00
testio Cleanup testio. 2018-12-17 18:16:52 -08:00
testutil Start a testutils package. 2016-04-28 11:33:41 -07:00
.travis.yml Fix golint import path 2018-10-25 09:37:10 -05:00
CHANGELOG Add missing format arg. 2018-09-15 16:49:46 -07:00
LICENSE Initial import. 2015-06-10 16:32:04 -07:00
README.md Update README. 2018-09-15 15:26:42 -07:00
doc.go Add top-level package documentation. 2015-12-22 20:57:32 -08: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, I'm putting them here. Note that for packaging purposes, the goutils-pkg repo should be used: it pins the library versions to working copies and vendors all depdencies. See https://github.com/kisom/goutils-pkg for more details.

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.
    fragment/   Print a fragment of a file.
    jlp/        JSON linter/prettifier.
    kgz/        Custom gzip compressor / decompressor that handles 99%
                of my use cases.
    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.
    showimp/    List the external (e.g. non-stdlib and outside the
                current working directory) imports for a Go 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     Display the external imports in a package.
    ski         Display the SKI for PEM-encoded TLS material.
    stealchain/ Dump the verified chain from a TLS
                connection.
    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.
die/            Death of a program.
fileutil/       Common file functions.
lib/            Commonly-useful functions for writing Go programs.
logging/        A logging library.
mwc/            MultiwriteCloser implementation.
sbuf/           A byte buffer that can be wiped.
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 MIT license.