https://github.com/wujie1993/go-ipset
a golang wrapper of ipset
https://github.com/wujie1993/go-ipset
go golang ipset
Last synced: 6 months ago
JSON representation
a golang wrapper of ipset
- Host: GitHub
- URL: https://github.com/wujie1993/go-ipset
- Owner: wujie1993
- License: mit
- Created: 2019-05-29T07:23:16.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-10-08T02:26:49.000Z (almost 5 years ago)
- Last Synced: 2024-11-17T12:29:36.208Z (over 1 year ago)
- Topics: go, golang, ipset
- Language: Go
- Homepage:
- Size: 5.86 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# go-ipset
[](https://godoc.org/github.com/wujie1993/go-ipset)
[](https://goreportcard.com/report/github.com/wujie1993/go-ipset)
[](https://circleci.com/gh/wujie1993/go-ipset)
## Example
```golang
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](https://godoc.org/github.com/wujie1993/go-ipset) or [ipset_test.go](./ipset_test.go)