Skip to content

wujie1993/go-ipset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-ipset

GoDoc Go Report Card CircleCI

Example

package main

import (
	"fmt"

	"github.com/wujie1993/go-ipset"
)

func main() {
	var setName string = "test_set"
	var setEntry string = "192.168.1.0/24"

	// Create a ipset by set name and set type
	if err := ipset.CreateSet(setName, "hash:net"); err != nil {
		fmt.Println(err)
		return
	}

	// Get a ipset by set name
	ipSet, err := ipset.GetSet(setName)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Printf("%+v", ipSet)

	// List all ipset
	ipSets, err := ipset.ListSet()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Printf("%+v", ipSets)

	// Add a entry in ipset
	if err := ipset.AddEntry(setName, setEntry); err != nil {
		fmt.Println(err)
		return
	}

	// Delete a entry in ipset
	if err := ipset.DelEntry(setName, setEntry); err != nil {
		fmt.Println(err)
		return
	}

	// Destroy a ipset
	if err := ipset.DestroySet(setName); err != nil {
		fmt.Println(err)
		return
	}
}

For more usages, please reading godoc or ipset_test.go