115 网盘命令行交互工具,提供类似 FTP 的操作体验,支持文件上传/下载、目录管理等功能。
- Cookie 登录 115 网盘
- 目录浏览与管理(ls/cd/mkdir/rmdir/rm)
- 文件与目录下载(支持递归下载整个目录)
- 三种上传模式:秒传、混合上传、断点续传
- 递归上传目录
- 阿里云 OSS 内网上传(适合阿里云服务器)
- HTTP/OSS 代理支持
- 命令历史记录(readline)
- 交互式本地文件操作
依赖 Go 1.23 及以上版本:
git clone <repo-url> && cd 115
go build -o 115shell .Linux 版本:
GOOS=linux GOARCH=amd64 go build -o 115shell4linux .程序启动时会自动读取与可执行文件同目录下的 115.json。首次运行时若文件不存在会自动创建模板。
{
"cookies": "你的115网页版Cookie",
"cid": 0,
"resultDir": ".",
"httpRetry": 0,
"httpProxy": "",
"ossProxy": "",
"partsNum": 0
}| 字段 | 说明 |
|---|---|
cookies |
115 网页版的 Cookie(必填) |
cid |
上传目标文件夹的 cid,0 为根目录 |
resultDir |
上传结果保存目录 |
httpRetry |
HTTP 请求失败重试次数 |
httpProxy |
HTTP 代理地址 |
ossProxy |
OSS 上传代理地址 |
partsNum |
断点续传分片数量(0 为自动) |
启动程序后进入交互式 Shell:
$ ./115shell
欢迎使用115 Shell, 输入 'exit' 退出。
登录成功
115/>
| 命令 | 说明 |
|---|---|
ls |
列出当前目录下的文件和目录 |
dir |
详细列出文件信息(含 SHA1、创建时间等) |
cd <目录名> |
进入指定目录 |
cd .. |
返回上级目录 |
mkdir <目录名> |
创建新目录 |
rmdir <目录名> |
删除目录 |
rm <文件名> |
删除文件 |
| 命令 | 说明 |
|---|---|
dl <文件名> [保存路径] |
下载单个文件,不指定路径则保存到当前目录 |
dld <目录名> [保存路径] |
递归下载整个目录 |
| 命令 | 说明 |
|---|---|
up <文件路径> |
上传文件(默认混合模式) |
up -f <文件路径> |
秒传模式上传 |
up -u <文件路径> |
混合模式上传(默认,先秒传后普通上传) |
up -m <文件路径> |
断点续传模式上传 |
up -r <目录路径> |
递归上传目录 |
up -m -p <数量> <文件路径> |
断点续传模式,指定分片数量(1-10000) |
| 参数 | 说明 |
|---|---|
-f |
秒传模式,仅计算哈希完成上传 |
-u |
混合模式,先秒传失败后普通上传(默认) |
-m |
断点续传模式,支持中断后续传 |
-r |
递归上传目录 |
-p <数量> |
断点续传分片数量(1-10000,默认自动) |
-k <cookie> |
使用指定的 Cookie |
-c <cid> |
上传到指定的 115 文件夹 |
-l <文件> |
指定配置文件路径 |
-d <目录> |
断点续传存档文件保存目录 |
-R <目录> |
上传结果保存目录 |
-a |
利用阿里云内网上传 |
-e |
上传成功后删除原文件 |
--http-proxy <地址> |
HTTP 代理 |
--oss-proxy <地址> |
OSS 上传代理 |
--http-retry <次数> |
HTTP 重试次数 |
| 命令 | 说明 |
|---|---|
lls [目录] |
列出本地文件和目录(默认当前目录) |
lls -h [目录] |
以人类可读格式显示文件大小 |
lcd [目录] |
切换本地当前目录(无参数显示当前路径) |
| 命令 | 说明 |
|---|---|
loginwithcookie |
使用 Cookie 登录 |
loginwithqr |
二维码登录(暂未实现) |
help |
显示帮助信息 |
exit |
退出程序 |
通过计算文件哈希值匹配 115 服务器已有文件,若匹配成功则瞬间完成上传,无需实际上传文件内容。适合上传 115 已有的热门文件。
先尝试秒传,若秒传失败则自动切换为普通 OSS 上传。兼顾速度与可靠性,推荐日常使用。
先尝试秒传,失败后使用分片断点续传。支持中断后重新上传,存档文件保存在指定目录中。适合上传超大文件,中断后可继续传输。
# 查看远端根目录
115/> ls
# 进入目录
115/> cd Documents
# 下载文件到当前目录
115/Documents> dl report.pdf
# 下载文件到指定路径
115/Documents> dl report.pdf ~/Downloads/
# 下载整个目录
115/Documents> dld Projects
# 上传文件(混合模式)
115/Documents> up ~/local/file.zip
# 秒传上传
115/Documents> up -f ~/local/video.mp4
# 断点续传上传大文件,指定50个分片
115/Documents> up -m -p 50 ~/large_backup.tar.gz
# 递归上传目录
115/Documents> up -r ~/local/my_folder
# 切换本地目录
115/Documents> lcd ~/Downloads
# 查看本地文件
115/Documents> lls -h ~/Downloads- SheltonZhu/115driver — 115 网盘 API 驱动
- orzogc/fake115uploader — 115 上传协议实现(含 ECDH 加密)
- aliyun/aliyun-oss-go-sdk — 阿里云 OSS SDK
- chzyer/readline — 交互式命令行读取
- cheggaaa/pb — 进度条显示
- 首次使用需在
115.json中配置 Cookie - 每次登录 115 网页端后 Cookie 会更新,需重新设置
- 上传大文件建议使用断点续传模式(
-m) - 上传目录必须使用
-r参数 - 断点续传暂停时间不宜过长
- 上传过程中按
Q键可安全暂停