mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 16:00:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			786 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			786 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2022 GoEdge goedge.cdn@gmail.com. All rights reserved.
 | 
						|
 | 
						|
package firewalls
 | 
						|
 | 
						|
// FirewallInterface 防火墙接口
 | 
						|
type FirewallInterface interface {
 | 
						|
	// Name 名称
 | 
						|
	Name() string
 | 
						|
 | 
						|
	// IsReady 是否已准备被调用
 | 
						|
	IsReady() bool
 | 
						|
 | 
						|
	// IsMock 是否为模拟
 | 
						|
	IsMock() bool
 | 
						|
 | 
						|
	// AllowPort 允许端口
 | 
						|
	AllowPort(port int, protocol string) error
 | 
						|
 | 
						|
	// RemovePort 删除端口
 | 
						|
	RemovePort(port int, protocol string) error
 | 
						|
 | 
						|
	// RejectSourceIP 拒绝某个源IP连接
 | 
						|
	RejectSourceIP(ip string, timeoutSeconds int) error
 | 
						|
 | 
						|
	// DropSourceIP 丢弃某个源IP数据
 | 
						|
	// ip 要封禁的IP
 | 
						|
	// timeoutSeconds 过期时间
 | 
						|
	// async 是否异步
 | 
						|
	DropSourceIP(ip string, timeoutSeconds int, async bool) error
 | 
						|
 | 
						|
	// RemoveSourceIP 删除某个源IP
 | 
						|
	RemoveSourceIP(ip string) error
 | 
						|
}
 |