Skip to content

Laisky/go-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c811adf · Dec 23, 2024
Oct 14, 2024
Jul 28, 2020
Dec 12, 2024
Dec 23, 2024
Jan 9, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Nov 22, 2022
Dec 12, 2024
Jan 3, 2023
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Nov 22, 2022
Aug 30, 2021
Dec 1, 2023
Nov 18, 2021
Jan 30, 2023
Jun 7, 2018
Nov 20, 2023
Dec 23, 2024
Dec 12, 2024
Jan 30, 2023
Dec 12, 2024
Dec 12, 2024
Mar 2, 2022
Mar 3, 2022
Dec 12, 2024
Aug 18, 2022
Jan 29, 2023
Jan 30, 2023
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024
May 13, 2024
Mar 7, 2023
Jan 11, 2021
Mar 7, 2023
Mar 26, 2021
Mar 7, 2023
Mar 7, 2023
Dec 12, 2024
Sep 12, 2023
Dec 12, 2024
Nov 7, 2022
Dec 12, 2024
Nov 22, 2022
Dec 12, 2024
Dec 12, 2024
Mar 7, 2023
Aug 31, 2023
Aug 8, 2023
Apr 19, 2023
Dec 12, 2024
Feb 28, 2024
Jan 9, 2024
Dec 12, 2024
Dec 12, 2024
Dec 12, 2024

Repository files navigation

Go-Utils

Many useful golang tools

Version Support Go
v1 >= v1.16
v2 >= v1.18
v3 >= v1.19
v4 >= v1.21
v5 >= v1.23

License: MIT Commitizen friendly Go Report Card GoDoc Build Status codecov

Use as command-line executable binary

Install

go install github.com/Laisky/go-utils/v5/cmd/gutils@latest

Add $HOME/.go/bin to your PATH.

Usage

# find and delete duplicate files/ similar images
gutils remove-dup examples/images --dry

# move files to hash-based hierach directories
gutils md5dir -i examples/md5dir/ --dry

# show x509 certificate details
gutils certinfo -r blog.laisky.com:443
gutils certinfo -f ./cert.pem

# encrypt by aes
gutils encrypt aes -i <file_path> -s <password>

# sign or verify by rsa
gutils rsa sign
gutils rsa verify

Use as SDK

Install

go get github.com/Laisky/go-utils/v5@latest

Usage

import (
    gutils "github.com/Laisky/go-utils/v5"
)

Modules

Contains some useful tools in different directories:

  • settings: move go github.com/Laisky/go-config
  • color.go: colorful code
  • compressor.go: compress and extract dir/files
  • email/: SMTP email sdk
  • encrypt/: some tools for encrypt and decrypt, support AES, RSA, ECDSA, MD5, SHA128, SHA256
    • configserver.go: load configs from file or config-server
  • fs.go: some tools to read, move, walk dir/files
  • http.go: some tools to send http request
  • jwt/: some tools to generate and parse JWT
  • log/: enhanched zap logger
  • math.go: some math tools to deal with int, round
  • net.go: some tools to deal with tcp/udp
  • random.go: generate random string, int
  • sort.go: easier to sort
  • sync.go: some locks depends on atomic
  • throttle.go: faster rate limiter
  • time.go: faster clock (if you do not enable vdso)
  • utils: some useful tools