No Description

sequoia00 a18529ae32 删除无用数据 1 month ago
androidApp 7632c5f752 保持逻辑一致 1 month ago
androidx baf09c57bb 增加导航,可以加密,但是与python不兼容 1 month ago
.gitignore 136afb1fc8 修改了最新进度条,增加了app端,但是app与python不兼容 1 month ago
README.md baf09c57bb 增加导航,可以加密,但是与python不兼容 1 month ago
fast-media-lock e117c745a6 最新功能 6 months ago
fast_media_lock.py ebdc1bc178 apk和python可以相互兼容加解密,python修改worker为1,手机速度提升 1 month ago
install_fast_media_lock.sh c543cb8a98 优化加解密速度 3 months ago
pad_install.sh ac9bd1ef2b 增加android termux 安装脚本 1 month ago

README.md

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

常用命令

# 加密目录(默认前 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 示例

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"

Termux(Android 手机)

Termux 是 Android 上的终端模拟器,可直接运行此脚本。

安装 Python

pkg update && pkg install python -y

部署脚本

将项目文件传输到 Termux(通过 USB、SSH 或云盘),然后在 Termux 中执行:

# 进入存放目录
cd ~/lock_folder

# 赋予执行权限
chmod +x fast_media_lock.py fast-media-lock

# 可选:安装全局命令(存入 ~/.local/bin)
mkdir -p ~/.local/bin
cp fast-media-lock ~/.local/bin/
chmod +x ~/.local/bin/fast-media-lock

注:Termux 默认 ~/.local/bin 已在 PATH 中,安装后可直接在任意目录使用 fast-media-lock 命令。

加密目录

python3 fast_media_lock.py lock /sdcard/DCIM --password "你的密码"

解密文件

python3 fast_media_lock.py unlock /sdcard/DCIM/xxx.jpg.lockx --password "你的密码"

权限说明

Termux 默认只能访问自家存储。要读写外部存储(如 DCIM),需先授权:

termux-setup-storage

授权后外部文件可通过 ~/storage/shared/ 路径访问,例如:

python3 fast_media_lock.py lock ~/storage/shared/DCIM --password "你的密码"

Ubuntu 全局命令(非定时)

项目里已提供:

  • fast-media-lock:shell 启动器(转发参数给 fast_media_lock.py)
  • install_fast_media_lock.sh:安装到 /usr/local/bin/fast-media-lock

安装:

cd /home/myprojector/hidedoc
./install_fast_media_lock.sh

安装后可在任意目录执行:

fast-media-lock -h
fast-media-lock lock /path/to/dir --password "你的密码" --workers 8
fast-media-lock unlock /path/to/dir --password "你的密码"

卸载:

sudo rm -f /usr/local/bin/fast-media-lock