笨猫博客

  • 🍟首页
  • 🍘目录
    • 🥝VPS教程
    • 🍾猫玩技术
    • 🍹干货分享
    • 🍏软件分享
    • 🍩一只猫
  • 🍋工具
    • 🌽IP路由追踪
    • 🍐域名Whois查询
    • 🥘域名被墙查询
    • 🍧IP正常检测
    • 🔥IP端口检测
    • 🍆短网址
    • 🐟VIP音乐播放
    • 🍯KMS激活
  • 🍓链接
  • 🍪联系
  • 🍱登录
    • 🥦登录
    • 🍒注册
关注互联网,生活,音乐,乐此不疲的一只笨猫
  1. 首页
  2. 猫玩技术
  3. 正文

Justlist-天翼云盘、阿里云盘、OneDrive 文件列表工具

2021-12-29 5338点热度 3人点赞 0条评论

JustList

JustList,仅仅是目录。

没错,又一款简单的网盘文件列表与分享工具。

  • Demo for JustList

功能

  • 多网盘支持
    • 天翼云盘
    • 阿里云盘
    • OneDrive、OneDrive 世纪互联
    • 本地目录索引
  • 可同时启用多个网盘的多个用户
  • 可设置文件夹密码,即私密目录
  • 请求预处理机制,包含 rate limit、referrer 验证等

部署

您可以使用 Docker 进行部署,具体可以参考 docker-hub@txperl/justlist。

本程序支持前后端分离,以下主要为后端部署说明。

总的来说,很简单的几步:安装依赖、修改配置、运行。

1. 安装依赖

# Python 3.7(+)
$ pip install -r requirements.txt

2. 修改配置

所有配置文件都位于 ./app/config/ 文件夹中,如下:

  • local:本地目录配置项
  • cloud189:天翼云盘配置
  • aliyundrive:阿里云盘配置
  • onedrive:OneDrive 配置
  • switch:插件开关与预处理相关配置

若要启用某个网盘,必须修改的是账号配置,如下:

# 本地目录配置项,下列字段位于 ./app/config/local.yml
accounts:
  Local_A: "<path_a>"
  Local_B: "<path_b>"

# 天翼云盘,下列字段位于 ./app/config/cloud189.yml
accounts:
  Cloud189_User1:
    - "<your_username>"
    - "<your_password>"
  Cloud189_User2:
    - "<your_username>"
    - "<your_password>"

# 阿里云盘,下列字段位于 ./app/config/aliyundrive.yml
# 程序启动时会引导您手动获取 Refresh Token
accounts:
  - "AliyunDrive_A"
  - "AliyunDrive_B"

# OneDrive,下列字段位于 ./app/config/onedrive.yml
# 程序启动时会引导您手动获取 Refresh Token
# 0 为国际版,1 为世纪互联版
accounts:
  OneDrive_INTL: 0
  OneDrive_CN: 1

3. 启动程序

$ python main.py

若要更改程序的运行地址,请修改 ./main.py。默认为 http://0.0.0.0:5000/。

额外

以下皆为可选操作,并不是必须的。

文件夹密码

若要将特定文件夹设为私密,即设置文件夹密码,需进行如下操作。

  1. 在预加密的网盘文件夹中,创建文件/文件夹
  2. 将其名称设置为 <password>._.jl 格式

另外,程序支持在加密的文件夹下再设置其他私密文件夹。参考如下:

. 网盘目录
├── 私密文件夹 1(密码为 123)
├── ├── 123._.jl
├── ├── 1 files
├── ├── 私密文件夹 2(密码为 321)
├── ├── ├── 321._.jl
├── ├── ├── 2 files

私密文件夹下的所有文件也都是私密的,需要密码才可访问与下载。

前后端分离

  1. 编辑 ./main.py ,将 CORS(app, resources=r"/*") 取消注释
  2. 编辑 ./templates/md.html ,将 api_url 改为后端运行地址即可(结尾不含 / )

md 主题的默认显示用户

若要自定义前端 md 主题的默认显示用户,即默认显示的网盘文件列表,需进行如下操作。

  1. 修改 ./templates/md.html 中 root_user 一项

强制刷新目录缓存

如果需要手动强制刷新目录缓存,需进行如下操作。

  1. 编辑 ./app/plugin/sys_update.py ,将 sys/update/xxxiiixxx 改为你想要的强制刷新地址
  2. 编辑 ./app/config/switch.yml ,将 sys_update.py 设置为 true

默认为停用状态,若开启请务必修改地址!否则可能会被恶意请求。

开发

目录

. JustList
├── altfe                         # Altfe 代码框架核心
├── app                           # JustList 主程序代码
├── ├── config                      # 配置项
├── ├── lib                         # 全局模块,启动时加载并实例化相应模块,供其他模块调用
├── ├── ├── common                    # 通用类
├── ├── ├── core                      # 核心类
├── ├── ├── ins                       # 通用实例类
├── ├── ├── static                    # 静态类
├── ├── pre                         # 预处理模块,当收到请求后但在插件实例化前执行
├── ├── ├── rate_limit.py             # rate limit 代码
├── ├── ├── verify_referrer.py        # referrer 验证代码
├── ├── plugin                      # 插件模块,当收到请求后会被实例化并执行
├── ├── ├── do_file.py                # 直链跳转
├── ├── ├── get_list.py               # 目录获取
├── ├── ├── get_text.py               # 文本文件内容获取
├── ├── ├── sys_update.py             # 强制刷新缓存
├── templates                       # 前端主题
├── ├── md.html
├── main.py                           # 启动

API

此部分可自行修改插件以更改。

  1. 目录获取
  • [POST] api/get/list/
  • api/get/list/ : 返回全部目录
  • api/get/list/user1/ : 返回 user 1 的全部目录
  • api/get/list/user2/a/b/ : 返回 user2 的 a 目录下的 b 目录/文件(如果存在)
    • # application/json; charset=utf-8
    • password : 目录密码(可选)
  • api/get/list/user3/ : 返回 user3 的 id 为 xxx 的目录/文件
    • # application/json; charset=utf-8
    • id : 文件 ID
    • password : 目录密码(可选)
  1. 文本文件内容获取
  • [POST] api/get/text/
  • 同上,仅需将 api/get/list/ 替换为 api/get/text/ 即可
  • 仅支持 .txt 与 .md 格式文件
  1. 文件下载
  • [GET] file/
  • 同上,仅需将 api/get/list/ 替换为 file/ 即可
  1. 强制刷新目录缓存@[GET] sys/update/xxxiiixxx/

说明

  • 本程序会一次性加载全部允许的文件并缓存,所以若文件较多此过程可能会较慢(取决于你文件的数量与网络状况),但不影响正常运行
  • 仅在小规模(天翼云盘x2、OneDrive 国际版x1、世纪互联版x1)且请求、文件数量中等的情况下测试,服务可用率约为 99%
  • 网盘操作代码修改自 Aruelius/cloud189、MoeClub/OneList,感谢

声明

  • 本程序仅供学习参考,请在达成目的后停止使用
  • 使用后任何不可知事件都与原作者无关,原作者不承担任何后果
标签: Justlist OneDrive 天翼云盘 阿里云盘
最后更新:2021-12-29

笨猫

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最新 热点 随机
最新 热点 随机
WinRAR 商业版下载安装和白嫖指南 Certbot申请谷歌免费SSL证书 宝塔面板卸载全解析:命令与脚本两种方式详解 SSL证书密钥类型选择RSA还是ECC算法?对网站的影响及建议 万能 一键dd windows 脚本, 含 win10/win11/server2025官方最精简版,一键激活+VC运行库 煎饼大佬的一键DD/重装脚本
煎饼大佬的一键DD/重装脚本DD一个轻量的Alpine+Linux+发行版+更轻+更快+更安全LibreTV - 免费在线视频搜索与观看平台万能 一键dd windows 脚本, 含 win10/win11/server2025官方最精简版,一键激活+VC运行库SSL证书密钥类型选择RSA还是ECC算法?对网站的影响及建议宝塔面板卸载全解析:命令与脚本两种方式详解
Chrome浏览器地址栏不显示https以及www的解决办法 Name In Lights:让你拥有巨星般闪耀的名字 AI最新前沿科技 Soda Player:支持直接播放种子,看美剧电影这一个就够了 童年就是那一瞬间 冷静理智的使用 Redis 或者 Memcached
最近评论
龙笑天 发布于 3 周前(05月25日) 一直用的萌咖的路过 :smile:
C 发布于 1 个月前(05月04日) 有个更省心的路子,上传到 catbox.moe,然后用 i0.wp.com 做加速(也支持heif格...
薯条 发布于 3 个月前(03月21日) 这个博客18年了吗,好久了哎
Q 发布于 3 个月前(03月19日) 您好: 我的一个WORDPRESS站点,安装了 wp telegram插件,我在配置了Bot ...
喂 发布于 3 个月前(03月08日) 热帖ggww
标签
elliptictrue100.10.02
BLOG ChatGPT Chrome CloudFlare DirectAdmin github Godaddy google kloxo Linux OneDrive OneIndex PHP QQ shadowsocks SNS ssh Typecho VPS web2.0 whmcs Windows wordpress 一键脚本 下载 免费 博客 图文教程 图标 图片 域名 头像 奥运 宝塔面板 插件 教程 日记 有趣 浏览器 游戏 猫 生活 电影 百度 网站 视频 设计 软件 阿里云盘 音乐
好友
  • glzjin's blog glzjin's blog
  • ZAERA博客
  • 冰沫记
  • 奇它博客
  • 猫腻‘s Blog
  • 猫饭
  • 肥宅之家
  • 萌博
  • 野路子程序员

COPYRIGHT © 2022 笨猫博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang