AUDCH 自动更新HOSTS

admin 2022年10月1日10:18:51评论19 views字数 832阅读2分46秒阅读模式

鄙人不才,又写了个鸡肋的轮子,既然写了,还是介绍下吧

工作原理:获取所有Docker容器的IP地址,添加到 hosts 文件

我丰富的经验告诉我 Go 的 Docker 库很成熟了,So

import "github.com/docker/docker/client"

先连接 Docker 服务端

Cli, err = client.NewClientWithOpts(client.FromEnv)

列出所有的 Docker 容器

list, err := Cli.ContainerList(context.Background(), types.ContainerListOptions{})

待会拿到了IP和名字怎么处理呢?[]string?  map[string]string ?  []struct{}?

For 循环 获取容器名称和IP

for i := 0; i < len(list); i++ {
  name := list[i].Names[len(list[i].Names)-1], "/"""-1)
  for _, v := range list[i].NetworkSettings.Networks {
  if v.IPAddress != "" {
   hostNow[name] = v.IPAddress
  }
  break // 只记录第一个IP
 }
}

接着就是复杂的条件语句,怎么处理 历史记录和当前记录,以及各种性能调优,先放一图,见笑!

AUDCH 自动更新HOSTS
截屏2022-09-27 04.14.22

介绍一下实际用途:

AUDCH 自动更新HOSTS
截屏2022-09-27 04.27.44
AUDCH 自动更新HOSTS
截屏2022-09-27 04.28.19
AUDCH 自动更新HOSTS
截屏2022-09-27 04.33.33
AUDCH 自动更新HOSTS
截屏2022-09-27 04.39.17
AUDCH 自动更新HOSTS
截屏2022-09-27 04.25.32

Github: https://github.com/XRSec/AUDCH/

最近赞少的可怜,点个赞吧😂

原文始发于微信公众号(XRSec):AUDCH 自动更新HOSTS

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月1日10:18:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   AUDCH 自动更新HOSTShttp://cn-sec.com/archives/1318051.html

发表评论

匿名网友 填写信息