# chaos-box
Collection of handy utils written in Python 3
## install
推荐使用 pipx 安装本项目,
```shell
# install from PyPI
pipx install chaos-box
# install from Test PyPI
pipx install chaos-box \
--index-url https://test.pypi.org/simple/ \
--pip-args "--extra-index-url https://pypi.org/simple/"
```
## tools
所有命令行工具都可以使用 `-h` 或 `--help` 查看帮助信息, 下面是简要说明,
- archive-dirs: 列举当前目录下所有文件夹, 批量将文件夹创建为同名压缩档, 支持多种压缩档格式
- archive-mobi: 将 vol.moe 下载的 mobi 漫画文件转换为多种压缩档格式, 可能缺乏维护
- deb-extract: 列举当前目录下所有 `.deb` package 并解压到同名目录
- merge-ip-ranges: 从标准输入或文件中读取 IP addresses 并对其合并与去重
- netstats: 显示各网卡开机以来流量和 packet 计数, 可以使用 regex 过滤网卡名称
- pconv: 将文件中出现的全角标点符号转换为半角标点符号
- qbt-dump: 导出 .torrent 和 qBittorrent .fastresume 文件内容
- qbt-migrate: 迁移 qBittorrent BT_backup 目录中的 save_path 和 qBt-category
- qrcode-merge: 将 qrcode-split 拆分后的文件合并为原文件
- qrcode-split: 将任意 text 或 binary 文件拆分成一系列 QR code 文件
- rename-with-date: 将目录中特定后缀的文件重命名为 mtime 日期前缀
- rotate-images: 创建 .mp4 或 .gif 格式的可以旋转的头像
- shasum-list: 计算特定目录下所有文件的 hexdigest 并保存到文件中, 支持忽略 .gitignore
- sort-keys: 读取 .json 文件后对 dict 执行 `sort_keys` 后保存
- urlencode: 从标准输入或文件中读取文本并进行 urlencode
Raw data
{
"_id": null,
"home_page": null,
"name": "chaos-box",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "archive, bittorrent, checksum, cli, commandline, compression, debian, file-renaming, image-rotation, ip-address, json, network, qbittorrent, qrcode, system-tools, text-processing, url-encoding, utility",
"author": null,
"author_email": "ak1ra <git@ak1ra.xyz>",
"download_url": "https://files.pythonhosted.org/packages/f1/48/5397d7f1012ca71d293da7626546c25ee556b4e80477c66163f55fb66ccb/chaos_box-0.4.0.tar.gz",
"platform": null,
"description": "# chaos-box\n\nCollection of handy utils written in Python 3\n\n## install\n\n\u63a8\u8350\u4f7f\u7528 pipx \u5b89\u88c5\u672c\u9879\u76ee,\n\n```shell\n# install from PyPI\npipx install chaos-box\n\n# install from Test PyPI\npipx install chaos-box \\\n --index-url https://test.pypi.org/simple/ \\\n --pip-args \"--extra-index-url https://pypi.org/simple/\"\n```\n\n## tools\n\n\u6240\u6709\u547d\u4ee4\u884c\u5de5\u5177\u90fd\u53ef\u4ee5\u4f7f\u7528 `-h` \u6216 `--help` \u67e5\u770b\u5e2e\u52a9\u4fe1\u606f, \u4e0b\u9762\u662f\u7b80\u8981\u8bf4\u660e,\n\n- archive-dirs: \u5217\u4e3e\u5f53\u524d\u76ee\u5f55\u4e0b\u6240\u6709\u6587\u4ef6\u5939, \u6279\u91cf\u5c06\u6587\u4ef6\u5939\u521b\u5efa\u4e3a\u540c\u540d\u538b\u7f29\u6863, \u652f\u6301\u591a\u79cd\u538b\u7f29\u6863\u683c\u5f0f\n- archive-mobi: \u5c06 vol.moe \u4e0b\u8f7d\u7684 mobi \u6f2b\u753b\u6587\u4ef6\u8f6c\u6362\u4e3a\u591a\u79cd\u538b\u7f29\u6863\u683c\u5f0f, \u53ef\u80fd\u7f3a\u4e4f\u7ef4\u62a4\n- deb-extract: \u5217\u4e3e\u5f53\u524d\u76ee\u5f55\u4e0b\u6240\u6709 `.deb` package \u5e76\u89e3\u538b\u5230\u540c\u540d\u76ee\u5f55\n- merge-ip-ranges: \u4ece\u6807\u51c6\u8f93\u5165\u6216\u6587\u4ef6\u4e2d\u8bfb\u53d6 IP addresses \u5e76\u5bf9\u5176\u5408\u5e76\u4e0e\u53bb\u91cd\n- netstats: \u663e\u793a\u5404\u7f51\u5361\u5f00\u673a\u4ee5\u6765\u6d41\u91cf\u548c packet \u8ba1\u6570, \u53ef\u4ee5\u4f7f\u7528 regex \u8fc7\u6ee4\u7f51\u5361\u540d\u79f0\n- pconv: \u5c06\u6587\u4ef6\u4e2d\u51fa\u73b0\u7684\u5168\u89d2\u6807\u70b9\u7b26\u53f7\u8f6c\u6362\u4e3a\u534a\u89d2\u6807\u70b9\u7b26\u53f7\n- qbt-dump: \u5bfc\u51fa .torrent \u548c qBittorrent .fastresume \u6587\u4ef6\u5185\u5bb9\n- qbt-migrate: \u8fc1\u79fb qBittorrent BT_backup \u76ee\u5f55\u4e2d\u7684 save_path \u548c qBt-category\n- qrcode-merge: \u5c06 qrcode-split \u62c6\u5206\u540e\u7684\u6587\u4ef6\u5408\u5e76\u4e3a\u539f\u6587\u4ef6\n- qrcode-split: \u5c06\u4efb\u610f text \u6216 binary \u6587\u4ef6\u62c6\u5206\u6210\u4e00\u7cfb\u5217 QR code \u6587\u4ef6\n- rename-with-date: \u5c06\u76ee\u5f55\u4e2d\u7279\u5b9a\u540e\u7f00\u7684\u6587\u4ef6\u91cd\u547d\u540d\u4e3a mtime \u65e5\u671f\u524d\u7f00\n- rotate-images: \u521b\u5efa .mp4 \u6216 .gif \u683c\u5f0f\u7684\u53ef\u4ee5\u65cb\u8f6c\u7684\u5934\u50cf\n- shasum-list: \u8ba1\u7b97\u7279\u5b9a\u76ee\u5f55\u4e0b\u6240\u6709\u6587\u4ef6\u7684 hexdigest \u5e76\u4fdd\u5b58\u5230\u6587\u4ef6\u4e2d, \u652f\u6301\u5ffd\u7565 .gitignore\n- sort-keys: \u8bfb\u53d6 .json \u6587\u4ef6\u540e\u5bf9 dict \u6267\u884c `sort_keys` \u540e\u4fdd\u5b58\n- urlencode: \u4ece\u6807\u51c6\u8f93\u5165\u6216\u6587\u4ef6\u4e2d\u8bfb\u53d6\u6587\u672c\u5e76\u8fdb\u884c urlencode\n",
"bugtrack_url": null,
"license": null,
"summary": "Collection of handy utils written in Python 3",
"version": "0.4.0",
"project_urls": {
"Changelog": "https://github.com/ak1ra-lab/chaos-box/blob/master/CHANGELOG.md",
"Homepage": "https://github.com/ak1ra-lab/chaos-box"
},
"split_keywords": [
"archive",
" bittorrent",
" checksum",
" cli",
" commandline",
" compression",
" debian",
" file-renaming",
" image-rotation",
" ip-address",
" json",
" network",
" qbittorrent",
" qrcode",
" system-tools",
" text-processing",
" url-encoding",
" utility"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "04bf5b5fcae6016821b03065266af0aedde9ffac2fb2a9e2a69d77ad1a923d47",
"md5": "9a6058e9dffae42104b5ea98ee8f9204",
"sha256": "0fabaf4826aaa2660893184cae993a5c26f9744da38dac88f9205675ae961d43"
},
"downloads": -1,
"filename": "chaos_box-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9a6058e9dffae42104b5ea98ee8f9204",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 27969,
"upload_time": "2025-11-01T09:39:45",
"upload_time_iso_8601": "2025-11-01T09:39:45.641572Z",
"url": "https://files.pythonhosted.org/packages/04/bf/5b5fcae6016821b03065266af0aedde9ffac2fb2a9e2a69d77ad1a923d47/chaos_box-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f1485397d7f1012ca71d293da7626546c25ee556b4e80477c66163f55fb66ccb",
"md5": "b5baa5ab597608cb5049a1449c5adfce",
"sha256": "e5d6c7128c9dba0c782ee87991d38ed439096a44a1aa94d5392e758564c75e6a"
},
"downloads": -1,
"filename": "chaos_box-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "b5baa5ab597608cb5049a1449c5adfce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 110409,
"upload_time": "2025-11-01T09:39:47",
"upload_time_iso_8601": "2025-11-01T09:39:47.023153Z",
"url": "https://files.pythonhosted.org/packages/f1/48/5397d7f1012ca71d293da7626546c25ee556b4e80477c66163f55fb66ccb/chaos_box-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-01 09:39:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ak1ra-lab",
"github_project": "chaos-box",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "chaos-box"
}