• Stars
    star
    127
  • Rank 281,861 (Top 6 %)
  • Language
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go programming language online resources


Go Links


Everybody has their own list, I get it!, I guess this is just mine or it was initially (I do accept PR's).

Priceless

History

Run examples

Go community

Blogs/Channels

Conferences (video recordings)

Gophers

Books

Tools

IDE

Interpreters

Training

Beginner

Intermediate

More links

Why Go?

Why not Go?

Writing Go code

Package structure

Features

Channels

Concurrency

Context

Defer

Dockerfiles

Encoding

Errors

Garbage Collector

Github or Gerrit?

gRPC

Interfaces

I/O model

Modules

Protobuf

Reflection

Security

Slices

Slides

Templates

Testing

Web

Networking

Network Device interaction

  • vSSH: Library to handle tens of thousands SSH connections and execute the command(s) with higher-level API for building network device / server automation.
  • netrasp: Package that communicates to network devices over SSH.
  • scrapligo: Connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.
  • Commando: Tiny tool that enables users to collect command outputs from a single or a multiple networking devices defined in an inventory file.
  • go-netconf: Simple NETCONF client based on RFC6241 and RFC6242.
  • NETCONF client: Adapted Network Configuration Protocol (NETCONF) client from previous implementations.
  • Gornir: Pluggable framework with inventory management to help operate collections of devices. It's similar to Nornir but in Go.

Network simulation/emulation

  • Containerlab: Provides a CLI for orchestrating and managing container-based networking labs.
  • cisshgo: Simple, small, fast, concurrent SSH server to emulate network equipment (i.e. Cisco IOS) for testing purposes.

Network Monitoring

  • thola: A tool for monitoring and provisioning network devices written in Go.
  • GoSNMP: SNMP client.
  • tflow2: In memory NETFLOW version 9, IPFIX and SFlow analyzer.
  • GoFlow: Cloudflare's NetFlow/IPFIX/sFlow collector in Go.
  • GoFlow2: Fork of Cloudflare's GoFlow.
  • Telegraf Cisco MDT plugin: Input plugin that consumes telemetry data from Cisco IOS XR, IOS XE and NX-OS platforms.
  • Panoptes Streaming: Cloud native distributed streaming network telemetry.
  • GoPacket: Packet decoding capabilities for Go.
  • tcpterm: Visualize packets in TUI.
  • cloud-bandwidth: Measure bandwidth to distributed endpoints across networks and clouds.

Network Performance

  • Ethr: Cross platform network performance measurement tool.
  • Arachne: A packet loss detection system and an underperforming path detection system.

Network YANG

  • ygot: YANG Go Tools.
  • ydk-go: YANG Development Kit (Go).

Network gRPC

  • gRPC library for Cisco IOS XR: Minimalistic library to interact with IOS XR devices using the gRPC framework.
  • gNxI: A collection of tools for Network Management that use the gNMI and gNOI protocols.
  • gNMIc: gNMI CLI client that provides full support for Capabilities, Get, Set and Subscribe RPCs with collector capabilities.
  • gNOIc: gNOI CLI client that provides support for gNOI Certificate Managment, File and System Services.
  • gNMI Gateway: Distributed and highly available service for connecting to multiple gNMI targets.

Network Routing protocols

  • GoBGP: Open source BGP implementation designed from scratch for modern environment.
  • bio-rd: A re-implementation of BGP, IS-IS and OSPF in Go.

Network Security

  • bettercap: Powerful, easily extensible and portable framework written in Go which aims to offer to security researchers, red teamers and reverse engineers an easy to use, all-in-one solution with all the features they might possibly need for performing reconnaissance and attacking WiFi networks, Bluetooth Low Energy devices, wireless HID devices and Ethernet networks.
  • Furious IP/Port Scanner: Fast, lightweight, portable network scanner.
  • Network Flight Simulator: Lightweight utility used to generate malicious network traffic and help security teams to evaluate security controls and network visibility. The tool performs tests to simulate DNS tunneling, DGA traffic, requests to known active C2 destinations, and other suspicious traffic patterns.
  • NETwork CAPture: The Netcap framework efficiently converts a stream of network packets into platform neutral type-safe structured audit records that represent specific protocols or custom abstractions.

Network vendor libraries

  • Acigo: Go package for interacting with Cisco ACI using API calls.
  • aci-go-client: golang client SDK to interact with CISCO APIC using REST API calls. This SDK is used by terraform-provider-aci.
  • merakictl: Command line tool for interfacing with the Meraki Dashboard API.
  • go-ciscoasa: A Cisco ASA API client enabling Go programs to interact with a Cisco ASA in a simple and uniform way.
  • Arista Go eAPI Library: Native Go implementation for programming Arista EOS network devices using Go.
  • Arista Go library.
  • go-junos: A Go package that interacts with Junos devices, as well as Junos Space.

Network talks/guides/sessions

More Repositories

1

kubernetes-networking-links

Kubernetes Networking recommended reading list
289
star
2

ansible-links

My personal Ansible bookmarks
90
star
3

xrgrpc

gRPC library for Cisco IOS XR
Go
57
star
4

grpc-tls

Testing repo to validate all gRPC TLS options
Go
55
star
5

ansible-networking

Personal collection of Ansible Networking examples.
Jinja
20
star
6

ansible-role-grafana_agent

Installs Grafana Cloud Agent on RedHat/CentOS or Debian/Ubuntu servers to collect observability data and send it to Grafana Cloud.
Dockerfile
15
star
7

gmessaging

GPB and gRPC testing
Go
15
star
8

xroc

A collection of OpenConfig and Cisco IOS XR examples
Go
13
star
9

capirca_acl

This collection includes a module (translate) to use Capirca from your Ansible playbooks.
Python
9
star
10

gcp-rphy

Go implementation of the Cable Lab's generic control plane protocol or GCP
Go
8
star
11

ansible-home

Collection of playbooks I run in my personal home-lab.
Jinja
8
star
12

xr-telegraf

Example of cool dashboard for Cisco IOS XR devices
8
star
13

nettable

Reads an IOS XR Telemetry file and parses relevant info in order to produce a summary table
Go
7
star
14

terraform-provider-nautobot

Provider to interact with Nautobot
Go
7
star
15

xr-genie

Getting started with Genie/pyATS and IOS XR
Python
6
star
16

ansible-net-modules

Network Resource Modules Demo
5
star
17

ee-builds

Automate builds of execution environments for use with Ansible Automation Platform 2 Topics
5
star
18

slack-nso

Small PoC to control NSO via Slack
Go
4
star
19

aws-testbed

Create reproducible Linux environments in the cloud
Shell
4
star
20

xr-gnmi

Collection of IOS XR gNMI examples
3
star
21

ansible-web-server

Create a highly available web server on any cloud provider with Ansible.
Shell
3
star
22

ansible-kubernetes

Deploy managed Kubernetes clusters in the cloud
Shell
3
star
23

check-calendar

Simple app to verify whether a time slot is taken/busy in Google Calendar from Ansible.
Go
3
star
24

oc-coverage

Go
3
star
25

ansible-cloud

Deploy virtual machines in AWS
Jinja
2
star
26

ansible-snow

Ansible Tower workflow with Cisco and Service Now Collections.
2
star
27

giso

IOS XR Golden ISO
Python
1
star
28

cni-plugin

Playing around with hacked CNI-plugins
Go
1
star
29

ansible-rhpds

Request a Red Hat Product Demo System (RHPDS) Sandbox
Jinja
1
star
30

dotfiles

.files
Shell
1
star
31

ansible-workstation

Shell
1
star
32

300-dollar-OpenShift-cluster

My 300 dollar OpenShift cluster
1
star
33

go-examples

Random Go examples
Go
1
star