GoBag
A collection of general, yet useful, command-line tools written in Go. Some tools include:
- Web scraper
- Network scanner (Coming Soon)
- Packet sniffer (Coming Soon)
- Ping utility (Coming Soon)
Built With
- Cobra - A library for creating powerful modern CLI applications.
- Colly - A Lightning Fast and Elegant Scraping Framework for Gophers.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing
purposes.
Prerequisites
While there are a multitude of ways you can go about spinning up a development environment, we recommend using the
pre-configured docker/devcontainers environment.
- Docker - Build, share, run, and verify applications anywhere.
- VS Code - General-purpose, extensible, code-editor.
- Devcontainers (VS Code Extension) - Lets you use a Docker container as a full-featured development environment.
- More information about Devcontainers can be found here.
Installing
-
First, define the required environment variables by creating a .env
file from the provided template:
cp .env{.dist,}
Update the environment variables with the values relevant to your use-case.
-
Next, spin up your devcontainer. This can be done from VS Code's Command Palette (Dev Containers: Rebuild
).
Testing
TBD
Releasing
This project uses goreleaser for release management. The high-level release strategy is:
- Code up your changes
- Submit changes as a pull request against the
main
branch
- Merge pull request to
main
- Tag the
main
branch with a version (follow SemVer; e.g. v1.2.3
)
- Run
goreleaser release --clean
to generate a new release with checksums and executables
In the future, this will be automated with CI/CD.