Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

115 Shell

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 退出程序

上传模式详解

秒传模式 (-f)

通过计算文件哈希值匹配 115 服务器已有文件,若匹配成功则瞬间完成上传,无需实际上传文件内容。适合上传 115 已有的热门文件。

混合模式 (-u,默认)

先尝试秒传,若秒传失败则自动切换为普通 OSS 上传。兼顾速度与可靠性,推荐日常使用。

断点续传模式 (-m)

先尝试秒传,失败后使用分片断点续传。支持中断后重新上传,存档文件保存在指定目录中。适合上传超大文件,中断后可继续传输。

使用示例

# 查看远端根目录
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

依赖

注意事项

  • 首次使用需在 115.json 中配置 Cookie
  • 每次登录 115 网页端后 Cookie 会更新,需重新设置
  • 上传大文件建议使用断点续传模式(-m
  • 上传目录必须使用 -r 参数
  • 断点续传暂停时间不宜过长
  • 上传过程中按 Q 键可安全暂停

About

115 网盘命令行交互工具,提供类似 FTP 的操作体验,支持文件上传/下载、目录管理等功能。

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages