First Commit
This commit is contained in:
48
README.md
Normal file
48
README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Mellaris
|
||||
|
||||
Mellaris is a Go library for network stream analysis and filtering.
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.difuse.io/Difuse/Mellaris"
|
||||
)
|
||||
|
||||
func main() {
|
||||
cfg := mellaris.Config{
|
||||
IO: mellaris.IOConfig{
|
||||
// QueueSize, ReadBuffer, WriteBuffer, Local, RST
|
||||
},
|
||||
Workers: mellaris.WorkersConfig{
|
||||
// Count, QueueSize, TCPMaxBufferedPagesTotal, TCPMaxBufferedPagesPerConn, UDPMaxStreams
|
||||
},
|
||||
Ruleset: mellaris.RulesetConfig{
|
||||
GeoIp: "/path/to/geoip.dat",
|
||||
GeoSite: "/path/to/geosite.dat",
|
||||
},
|
||||
}
|
||||
|
||||
app, err := mellaris.New(cfg, mellaris.Options{
|
||||
RulesFile: "rules.yaml",
|
||||
Analyzers: mellaris.DefaultAnalyzers(),
|
||||
Modifiers: mellaris.DefaultModifiers(),
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer app.Close()
|
||||
|
||||
_ = app.Run(context.Background())
|
||||
}
|
||||
```
|
||||
|
||||
Based on OpenGFW by apernet: https://github.com/apernet/OpenGFW
|
||||
|
||||
## LICENSE
|
||||
|
||||
[MPL-2.0](https://opensource.org/licenses/MPL-2.0)
|
||||
Reference in New Issue
Block a user