远程列表web
This commit is contained in:
@@ -1019,6 +1019,28 @@ func (m *ShieldManager) UpdateBlacklist(blacklists []config.BlacklistEntry) {
|
||||
m.config.Blacklists = blacklists
|
||||
}
|
||||
|
||||
// GetAllHosts 获取所有hosts条目
|
||||
func (m *ShieldManager) GetAllHosts() map[string]string {
|
||||
m.rulesMutex.RLock()
|
||||
defer m.rulesMutex.RUnlock()
|
||||
|
||||
// 返回hostsMap的副本,避免并发问题
|
||||
hostsCopy := make(map[string]string, len(m.hostsMap))
|
||||
for domain, ip := range m.hostsMap {
|
||||
hostsCopy[domain] = ip
|
||||
}
|
||||
|
||||
return hostsCopy
|
||||
}
|
||||
|
||||
// GetHostsCount 获取hosts条目数量
|
||||
func (m *ShieldManager) GetHostsCount() int {
|
||||
m.rulesMutex.RLock()
|
||||
defer m.rulesMutex.RUnlock()
|
||||
|
||||
return len(m.hostsMap)
|
||||
}
|
||||
|
||||
// GetRules 获取所有规则
|
||||
func (m *ShieldManager) GetRules() map[string]interface{} {
|
||||
m.rulesMutex.RLock()
|
||||
|
||||
Reference in New Issue
Block a user