bhpan-cli
v0.3.0
Published
Unofficial BUAA AnyShare cloud drive CLI and interactive shell
Downloads
666
Maintainers
Readme
bhpan-cli
bhpan-cli 是一个面向北航云盘(AnyShare)的非官方命令行工具,提供:
- 单次 CLI:适合脚本、SSH、自动化任务
- 交互式 shell:适合日常手工浏览和文件操作
它基于早期的 dist_bhpan 与 PanCLI 思路重写,目标不是简单移植,而是做一个结构更清晰、能直接安装、并且已经对当前北航线上站点做过真实联调的 TypeScript 版本。
项目链接
- GitHub: https://github.com/YingkeSu/bhpan-cli
- npm: https://www.npmjs.com/package/bhpan-cli
- Releases: https://github.com/YingkeSu/bhpan-cli/releases
为什么用它
- 直接安装:
npm install -g bhpan-cli - 直接使用:安装后命令就是
bhpan - 同时支持脚本化调用和交互式 shell
- 已适配北航当前 OAuth2 / Hydra 登录链路
- 已完成真实账号联调,不是只在本地做静态实现
当前版本
- 版本:
0.2.1 - 运行时:Node
>= 22 - npm 包名:
bhpan-cli - CLI 命令:
bhpan
功能概览
当前已实现:
- 登录、登出、身份查看
- 路径解析与
/home别名 ls、tree、stat(支持-R递归列出、-L深度限制、--regex正则过滤)mkdir、rmmv、cpcat、head、tailtouch- 上传、下载
- 匿名分享与实名分享
- 单次 CLI 与交互式 shell
当前已经用真实北航账号做过联调的主链包括:
- OAuth2 登录与 token 刷新
/home路径解析ls/stat/mkdir/rmcat/head/tailtouch- 小文件上传与下载
tree -L/--depth、--sort、--desc- 匿名分享
link create/show/delete - 实名分享
link create/show/delete - 同一路径下多分享并存时的
link show与link delete --type all
安装
全局安装:
npm install -g bhpan-cli临时执行:
npx bhpan-cli --help安装完成后:
bhpan --help
bhpan --version快速开始
首次登录:
bhpan login --username <你的学号>查看主页目录:
bhpan ls /home上传文件:
bhpan upload ./report.pdf /home/code下载文件:
bhpan download /home/code/report.pdf .进入交互式 shell:
bhpan或:
bhpan shell常用命令
bhpan shell
bhpan login [--username <name>] [--no-store-password]
bhpan logout
bhpan whoami
bhpan ls [remote_path] [-R] [-L depth] [--regex pattern]
bhpan tree [remote_path] [-L depth] [--sort name|mtime|size] [--desc] [--regex pattern]
bhpan stat <remote_path>
bhpan mkdir <remote_path>
bhpan rm <remote_path> [-r]
bhpan mv <src> <dst> [-f]
bhpan cp <src> <dst> [-f]
bhpan cat <remote_file>
bhpan head <remote_file> [-n lines]
bhpan tail <remote_file> [-n lines]
bhpan touch <remote_file>
bhpan link <show|create|delete> <remote_path> [--type anonymous|realname|all] [--expires days] [-p] [--allow-upload] [--no-download]
bhpan upload <local_path> <remote_dir>
bhpan download <remote_path> [local_dir]完整说明请直接运行:
bhpan --help示例
列目录:
bhpan ls /home
bhpan ls /home/code查看目录树:
bhpan tree /home/code -L 2
bhpan tree /home/code --sort size --desc创建空文件:
bhpan touch /home/code/hello.txt查看文件头尾:
bhpan head /home/code/readme.txt -n 20
bhpan tail /home/code/readme.txt -n 20创建匿名分享:
bhpan link create /home/code/report.pdf -p创建实名分享:
bhpan link create /home/code/report.pdf --type realname查看或关闭分享:
bhpan link show /home/code/report.pdf
bhpan link delete /home/code/report.pdf --type all递归列出目录:
bhpan ls /home -R
bhpan ls /home -R -L 2使用正则表达式过滤:
bhpan ls /home -R --regex '.*\\.pdf$'
bhpan tree /home -L 4 --regex '.*report.*'说明:
ls -R递归列出所有文件和目录,显示完整逻辑路径--regex使用 JavaScript 正则表达式匹配完整路径tree --regex显示匹配项及其祖先目录(保持上下文)
已知边界
当前仍建议继续补实盘回归的部分:
mv/cp- 大文件上传下载
- 递归目录传输
- 异常中断恢复
体验层面仍待继续增强的部分:
tree的更细过滤与统计输出- 更丰富的分享参数
- shell 命令补全与更强的错误提示
配置与数据位置
Linux:
- 配置:
~/.config/bhpan/config.json - 数据:
~/.local/share/bhpan/
macOS:
- 配置:
~/Library/Application Support/bhpan/config.json - 数据:
~/Library/Application Support/bhpan/
Windows:
- 配置:
%APPDATA%\\bhpan\\config.json - 数据:
%LOCALAPPDATA%\\bhpan\\
隐私与说明
- 这是非官方工具,不代表北航或 AnyShare 官方
- 仅适用于本身就拥有北航云盘访问权限的用户
- 登录后会把配置写到本地配置目录
- 如选择保存密码,保存的是加密后的本地凭据与缓存 token
反馈与状态
开发
安装依赖:
npm install类型检查:
npm run typecheck构建发布产物:
npm run build本地打包预览:
npm pack致谢
本项目的设计与协议适配过程中参考了以下上游项目:
