# Fast Media Lock `fast_media_lock.py` 是一个跨平台(Linux / Windows)的快速“部分加密”脚本。 它只加密文件前 `N MB`(默认 `8MB`),用于让常见播放器或工具无法直接打开文件。 ## 说明 - 不使用单独密钥文件,只需密码。 - 每个文件的解密元信息写在文件尾部。 - 因为元信息跟着文件走,所以文件移动到其他目录或设备后,仍可用同脚本解密。 - 加密后文件名会追加后缀 `.lockx`,解密时自动去掉。 - 默认处理所有文件;加 `--media-only` 时仅处理媒体后缀。 ## 媒体后缀(`--media-only` 时生效) 视频: `.mp4 .mkv .avi .mov .wmv .flv .webm .m4v .ts .m2ts` 音频: `.mp3 .wav .flac .aac .m4a .ogg .wma` 图片: `.jpg .jpeg .png .gif .bmp .webp .heic` ## 重要注意 - 这是“快速部分加密”,不是全量强加密。 - 它的目标是速度和通用工具不可直接打开,不等同于高强度抗攻击加密。 ## 命令关键字 - 主命令:`lock` / `unlock` / `status` / `lock-name` / `unlock-name` - 兼容别名:`encrypt` = `lock`,`decrypt` = `unlock` - 兼容别名:`encrypt-name` = `lock-name`,`decrypt-name` = `unlock-name` ## 常用命令 ```bash # 加密目录(默认前 8MB,默认处理所有文件) python3 fast_media_lock.py lock /path/to/dir --password "你的密码" # 指定加密前多少MB(例如 32MB) python3 fast_media_lock.py lock /path/to/dir --password "你的密码" --chunk-mb 32 # 仅处理媒体文件 python3 fast_media_lock.py lock /path/to/dir --password "你的密码" --media-only # 并发处理(0=自动,建议按磁盘和CPU调) python3 fast_media_lock.py lock /path/to/dir --password "你的密码" --workers 8 # 解密目录中的已加密文件 python3 fast_media_lock.py unlock /path/to/dir --password "你的密码" # 按文件名(或相对路径)加密指定文件 python3 fast_media_lock.py lock-name /path/to/dir a.mp4 b.mp3 subdir/c.jpg --password "你的密码" # 按文件名(或相对路径)解密指定文件 python3 fast_media_lock.py unlock-name /path/to/dir a.mp4.lockx subdir/c.jpg.lockx --password "你的密码" # 查看目录内文件加密状态 python3 fast_media_lock.py status /path/to/dir # 旧关键字仍可用(别名) python3 fast_media_lock.py encrypt /path/to/dir --password "你的密码" python3 fast_media_lock.py decrypt /path/to/dir --password "你的密码" ``` ## Windows 示例 ```bat python fast_media_lock.py lock "D:\\videos" --password "你的密码" python fast_media_lock.py unlock "D:\\videos" --password "你的密码" python fast_media_lock.py status "D:\\videos" ``` ## Ubuntu 全局命令(非定时) 项目里已提供: - `fast-media-lock`:shell 启动器(转发参数给 `fast_media_lock.py`) - `install_fast_media_lock.sh`:安装到 `/usr/local/bin/fast-media-lock` 安装: ```bash cd /home/myprojector/hidedoc ./install_fast_media_lock.sh ``` 安装后可在任意目录执行: ```bash fast-media-lock -h fast-media-lock lock /path/to/dir --password "你的密码" --workers 8 fast-media-lock unlock /path/to/dir --password "你的密码" ``` 卸载: ```bash sudo rm -f /usr/local/bin/fast-media-lock ```