Skip to content

haodafa/NotLinkNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

防火墙管理器

项目简介

防火墙管理器是一个基于 Python 的 Windows 应用程序,旨在管理指定文件夹中所有可执行文件的网络访问权限。它利用 Windows 防火墙规则快速阻止或允许这些 EXE 文件的网络连接。

主要功能

核心功能

  • 文件夹扫描:扫描指定文件夹及其子文件夹中的所有 EXE 文件。
  • 防火墙规则管理:批量添加或删除 Windows 防火墙阻止规则。
  • 状态监控:实时显示每个 EXE 文件的防火墙阻止状态。
  • 操作日志:详细记录所有操作过程和结果。
  • 白名单功能:允许特定程序访问指定的本地端口和远程地址。

用户界面功能

  • 文件夹选择:浏览按钮用于选择目标文件夹。
  • 文件列表显示:树状结构显示发现的 EXE 文件及其详细信息。
  • 批量操作:一键添加或删除所有 EXE 文件的防火墙规则。
  • 白名单设置:配置允许的本地端口和远程地址。
  • 状态栏:显示当前操作状态和进度。

系统要求

运行环境

  • 操作系统:Windows 7/8/10/11
  • 权限:管理员权限(修改防火墙规则所需)
  • Python 版本:Python 3.6+(开发环境)

依赖项

  • tkinter:GUI 框架(Python 内置)
  • subprocess:系统命令执行(Python 内置)
  • threading:多线程支持(Python 内置)
  • pathlib:路径处理(Python 内置)

安装与使用

方法 1:直接运行可执行文件

  1. 下载或编译 FirewallManager.exe
  2. 右键单击程序,选择“以管理员身份运行”。
  3. 按照屏幕上的说明操作。

方法 2:从源代码运行

  1. 确保已安装 Python 3.6+。
  2. 克隆或下载项目源代码。
  3. 安装依赖项:pip install -r requirements.txt
  4. 以管理员身份运行:python firewall_manager.py

方法 3:自行编译

  1. 运行 build.bat 批处理文件。
  2. 或手动执行:python build_exe.py
  3. 编译完成后,在项目根目录中找到 FirewallManager.exe

使用说明

基本操作流程

  1. 启动程序:以管理员身份运行程序。
  2. 选择文件夹:单击“浏览”按钮选择要管理的文件夹。
  3. 扫描文件:单击“扫描 EXE 文件”按钮。
  4. 查看结果:在文件列表中检查发现的 EXE 文件及其当前的防火墙状态。
  5. 配置白名单(可选):
    • 单击“白名单设置”打开配置窗口。
    • 启用白名单功能。
    • 设置允许的本地端口(例如:80,443,8080)。
    • 设置允许的远程地址(例如:192.168.1.0/24,10.0.0.1)。
    • 保存配置。
  6. 管理规则
    • 单击“添加防火墙规则”以阻止所有 EXE 文件访问网络。
    • 如果启用了白名单,将创建精确的允许规则而不是完全阻止。
    • 单击“移除防火墙规则”以允许所有 EXE 文件访问网络。
  7. 查看日志:在操作日志区域查看详细的操作记录。

界面说明

  • 文件夹路径:显示当前选择的扫描文件夹。
  • 文件列表:显示发现的 EXE 文件,包括文件名、完整路径、文件大小和防火墙状态。
  • 操作按钮
    • 扫描 EXE 文件:重新扫描当前文件夹。
    • 添加防火墙规则:为所有 EXE 文件添加阻止规则。
    • 移除防火墙规则:移除所有 EXE 文件的阻止规则。
    • 清空列表:清空当前文件列表。
  • 操作日志:显示所有操作的时间戳和结果。
  • 状态栏:显示当前程序状态。

技术实现

核心技术

  • GUI 框架:使用 tkinter 构建用户界面。
  • 防火墙管理:使用 netsh 命令操作 Windows 防火墙。
  • 多线程:使用 threading 防止 UI 冻结。
  • 文件系统:使用 os.walk 进行递归文件夹扫描。

防火墙规则管理

  • 使用 netsh advfirewall firewall 命令管理 Windows 防火墙。
  • 创建出站规则以阻止程序网络访问。
  • 规则命名格式:Block_ProgramName
  • 在白名单模式下,创建精确的允许规则:Allow_ProgramName_Port_PortAllow_ProgramName_Addr_Address

白名单功能

  • 支持本地端口白名单(TCP/UDP 协议)。
  • 支持远程地址白名单(IP 地址、CIDR 范围)。
  • 配置文件:whitelist_config.json
  • 白名单模式:首先阻止所有连接,然后添加特定的允许规则。

防火墙规则命名

  • 规则名称格式:Block_{exe_filename}
  • 规则类型:出站规则(阻止程序网络访问)。
  • 规则动作:阻止连接。

重要注意事项

所需权限

  • 程序必须以管理员权限运行才能修改防火墙规则。
  • 如果没有管理员权限运行,程序将显示警告消息。

安全提醒

  • 添加防火墙规则将阻止 EXE 文件的所有网络连接。
  • 某些程序如果无法访问网络可能无法正常运行。
  • 建议在添加规则前备份重要的防火墙配置。

兼容性

  • 程序仅支持 Windows 系统。
  • 需要 Windows 防火墙服务正常运行。
  • 某些第三方防火墙可能会影响程序功能。

文件结构

NotLinkNet/
├── firewall_manager.py    # 主程序文件
├── build_exe.py          # 打包脚本
├── build.bat             # 一键打包批处理文件
├── requirements.txt      # 依赖列表
├── whitelist_config.json # 白名单配置文件(运行时生成)
├── README.md            # 项目文档
├── 使用文档.md            # 用户文档
└── FirewallManager.exe  # 编译后的可执行文件(打包后生成)

开发信息

  • 开发语言:Python 3.x
  • GUI 框架:tkinter
  • 打包工具:PyInstaller
  • 编码:GBK(兼容 Visual Studio)
  • 注释语言:英文

版本历史

v1.0.0

  • 首次发布。
  • 实现了基本的 EXE 文件扫描功能。
  • 实现了防火墙规则的批量管理。
  • 提供了完整的 GUI 界面。
  • 支持打包成独立可执行文件。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors