Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
wirehole — WireHole 是一个结合了 WireGuard、Pi-hole 和 Unbound 的 docker-compose 项目,旨在使用户能够快速轻松地创建一个由个人管理的全隧道或分流隧道 WireGuard VPN,借助 Pi-hole 实现广告拦截功能,并通过 Unbound 提供 DNS 缓存、额外的隐私选项以及上游提供商。 | Kitploit
工具/GitHubGitHub/iamstoxe/wirehole
网络安全隐私保护DNS 分析
GitHubiamstoxe/wirehole

wirehole

WireHole 是一个结合了 WireGuard、Pi-hole 和 Unbound 的 docker-compose 项目,旨在使用户能够快速轻松地创建一个由个人管理的全隧道或分流隧道 WireGuard VPN,借助 Pi-hole 实现广告拦截功能,并通过 Unbound 提供 DNS 缓存、额外的隐私选项以及上游提供商。

查看仓库网站
5.0k3421年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

这是什么?

WireHole 是一个 docker-compose 项目,它结合了 WireGuard、PiHole 和 Unbound,创建了一个易于部署和管理的全隧道或分流 VPN。此配置允许通过 PiHole 实现广告拦截的 VPN,并通过 Unbound 增强 DNS 隐私和缓存。

作者

👤 Devin Stokes

  • Twitter:@DevinStokes
  • GitHub:@IAmStoxe

🤝 贡献

欢迎贡献、报告问题和提出功能请求!请随时查看问题页面。

表达支持

如果这个项目对你有帮助,请给它一个 ⭐!

Buy Me A Coffee


支持的架构

该镜像支持多种架构,如 x86-64、arm64 和 armhf。linuxserver/wireguard 镜像会自动为你的架构选择正确的镜像。

此镜像支持的架构为:

架构标签
x86-64amd64-latest
arm64arm64v8-latest
armhfarm32v7-latest

快速开始

要开始使用 WireHole,请克隆仓库并启动容器:

root@kitploit:~
#!/bin/bash

# Clone the WireHole repository from GitHub
git clone https://github.com/IAmStoxe/wirehole.git

# Change directory to the cloned repository
cd wirehole

# Update the .env file with your configuration
cp .env.example .env
nano .env  # Or use any text editor of your choice to edit the .env file

# Replace the public IP placeholder in the docker-compose.yml
sed -i "s/REPLACE_ME_WITH_YOUR_PUBLIC_IP/$(curl -s ifconfig.me)/g" docker-compose.yml

# Start the Docker containers
docker compose up

记得在 .env 文件中为 WGUI_SESSION_SECRET、WGUI_PASSWORD 和 WEBPASSWORD 设置安全密码。


环境配置详情

.env 文件包含一系列环境变量,这些变量对于在 Docker 容器中配置 WireHole 服务至关重要。以下是每个变量的详细说明:

通用设置

  • TIMEZONE:设置所有服务的时区。对于日志记录和基于时间的操作很重要。示例:America/Los_Angeles。

用户/组标识符

  • PUID 和 PGID:确保服务具有正确的权限来访问和修改主机系统上的文件。它们应与主机用户的用户 ID 和组 ID 匹配。

网络设置

  • UNBOUND_IPV4_ADDRESS:分配给 Unbound 的静态 IP 地址,确保 Pi-hole 能够访问它。
  • PIHOLE_IPV4_ADDRESS:分配给 Pi-hole 的静态 IP 地址,使其能够为网络提供 DNS 请求服务。
  • WIREGUARD_SERVER_PORT:WireGuard 服务器监听连接的端口。
  • WIREGUARD_PEER_DNS:WireGuard 客户端将使用的 DNS 服务器,通常设置为 Pi-hole 的地址。

WireGuard 设置

  • WIREGUARD_PEERS:指定要为 WireGuard 生成的 peer/客户端配置数量。

WireGuard-UI 设置

  • WGUI_SESSION_SECRET:用于加密 WireGuard-UI 会话数据的密钥。应设置为安全的随机值。
  • WGUI_USERNAME 和 WGUI_PASSWORD:访问 WireGuard-UI 界面的凭据。
  • WGUI_MANAGE_START:如果设置为 true,WireGuard-UI 将管理 WireGuard 服务的启动。
  • WGUI_MANAGE_RESTART:如果设置为 true,WireGuard-UI 将管理 WireGuard 服务的重启。

Pi-hole 设置

  • WEBPASSWORD:访问 Pi-hole Web 界面的密码。应设置为安全值以防止未经授权的访问。
  • PIHOLE_DNS:Pi-hole 用于解析 DNS 查询的 Unbound 服务器的 IP 地址。

在部署服务之前,记得将任何默认或占位值替换为安全、唯一的值。


推荐配置 / 分流隧道

对于分流隧道 VPN,将 WireGuard 客户端的 AllowedIps 配置为 10.2.0.0/24,这将仅通过 VPN 路由网页面板和 DNS 流量。


访问网页面板(WireGuard-UI)

通过 WireGuard-UI 管理你的 WireGuard VPN:

http://{YOUR_SERVER_IP}:5000

使用你在 .env 文件中设置的 WGUI_USERNAME 和 WGUI_PASSWORD 登录。

WireGuard-UI 的功能

  • 客户端管理:添加、删除和管理客户端。
  • 身份验证:使用用户名和密码进行安全登录。
  • 配置:更新全局服务器设置并管理客户端配置。

访问 PiHole

连接到 WireGuard 并访问 Pi-hole 管理面板 http://10.2.0.100/admin。登录密码是在 .env 文件中设置为 WEBPASSWORD 的密码。


动态 DNS (DDNS)

通过在 .env 文件中将 WG_HOST 设置为你的 DDNS URL 来配置 DDNS。

root@kitploit:~
wireguard:
  environment:
    - WG_HOST=my.ddns.net

配置 / 参数

在此处解释 .env 文件中的所有环境变量。(参考上一节,我们为每个变量提供了说明表格。)


其他设置和注意事项

讨论任何其他设置,例如 Docker secrets、umask 设置、用户/组标识符、添加客户端、修改 DNS 提供商以及网络注意事项。确保更新所有说明以匹配当前设置。


支持和更新

提供有关如何在容器运行时访问 shell、查看日志、更新容器以及处理常见问题的信息。确保所有命令和步骤已更新以反映当前版本和实践。


致谢

感谢 LinuxServer.io 维护 Wireguard 镜像以及对该项目的其他贡献。

下载工具