Preface
Please note you don’t need a special VM for this course since we’ll be developing. I recommend using your base OS (“daily driver”) since that way you can just use this setup to continue your coding efforts following this course. If however you wanted to keep things “seperated”, you could def do it on a VM, it won’t hurt, but since that’s not required I’m not going to provide instructions.
There are essentially 4 things you need: go, an IDE, the course repo, and “extra apps” (optional). I will provide instructions on setting these up for all three major OS - Windows, Darwin, and Linux. Note I am using Darwin, just my preference, but there should be no reason you could not follow along using any OS.
1. Install Go Programming Language
Windows
- Visit https://go.dev/dl/
- Download the Windows installer (
.msi
file) - Run the installer - just click “Next” through all the steps
- Verify: Open Command Prompt and type:
go version
- You should see something like:
go version go1.23.x windows/amd64
- You should see something like:
macOS
- Visit https://go.dev/dl/
- Download the macOS installer (
.pkg
file) - Double-click to install - follow the prompts
- Verify: Open Terminal and type:
go version
- You should see something like:
go version go1.23.x darwin/amd64
- You should see something like:
Linux
- Visit https://go.dev/dl/
- Download the Linux archive (
.tar.gz
file) - Open Terminal and run:
sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf go1.23.x.linux-amd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc
- Verify: Type
go version
- You should see something like:
go version go1.23.x linux/amd64
- You should see something like:
2. Set Up Your Code Editor
Option A: GoLand (Recommended - What I’ll Use)
- Download from: https://www.jetbrains.com/goland/
- It’s a paid tool, but you can get a 30-day free trial (no credit card needed)
- You can also use the code
MAX_JETBRAINS
(please keep this on the d-low) to get a 6-month license - Just install and open - it configures Go automatically
Option B: VS Code (Free Alternative)
- Download VS Code from: https://code.visualstudio.com/
- Install it on your system
- Add Go support:
- Open VS Code
- Click the Extensions icon (square icon on left sidebar)
- Search for “Go” (by Google)
- Click Install
- Also search for “YAML” and install it (for configuration files)
3. Download the Workshop Repository
Easy Method (No Git Required):
- Visit: https://github.com/faanross/workshop_antisyphon_18092025
- Click the green “Code” button
- Click “Download ZIP”
- Extract the ZIP file to a folder you can remember (like your Desktop)
- Open this folder in your IDE
Alternative Method (If You Have Git):
git clone https://github.com/faanross/workshop_antisyphon_18092025
cd workshop_antisyphon_18092025
4. Install Network Tools
We’ll need tools to test HTTP and DNS endpoints during the workshop.
For HTTP Testing (curl or browser)
Windows
- Built-in: You can use PowerShell’s
Invoke-WebRequest
or just your web browser - Or install curl: Open PowerShell as Administrator and run:
winget install curl.curl
macOS
- Already installed! Just open Terminal and type
curl --version
to verify
Linux
- Usually installed! If not:
sudo apt install curl
(Ubuntu/Debian) orsudo yum install curl
(RedHat/Fedora)
For DNS Testing (dig or nslookup)
Windows
- Built-in: Use
nslookup
in Command Prompt (already installed!) - Example:
nslookup google.com
macOS
- Built-in: Both
dig
andnslookup
are already installed - Example:
dig google.com
ornslookup google.com
Linux
- Install dig:
- Ubuntu/Debian:
sudo apt install dnsutils
- RedHat/Fedora:
sudo yum install bind-utils
- Ubuntu/Debian:
Quick Test Checklist ✓
Run these commands to make sure everything works:
- Go is installed:
go version
- Your IDE opens and recognizes Go files
- You can access the workshop repository files
- HTTP tool works:
curl https://google.com
(or open https://google.com in browser) - DNS tool works:
nslookup google.com
(Windows) ordig google.com
(Mac/Linux)
Troubleshooting
- “Command not found” - Try closing and reopening your terminal/command prompt
- Permission errors - On Mac/Linux, add
sudo
before install commands - Windows security warnings - It’s okay to allow Go and the tools through Windows Defender
You’re All Set!
If you completed the checklist above, you’re ready for tomorrow’s workshop. Don’t worry if something doesn’t work perfectly - we’ll have time at the beginning to help with any setup issues. Also as mentioned we’ll have two awesome people - Dezzy and Hermon (h,k) - that have offered to help people that are having issues.
See you tomorrow!