OneList可以绑定多个Onedrive网盘的简洁目录程序

avatar
avatar
自然
3257
文章
472
评论
2019年12月26日21:52:28 评论 3539字阅读11分47秒

OneList是由萌咖大佬采用Python编写的一款用于解决微软api经常抽风的网盘目录程序,可以完美解决oneindex的缓存无效,无法刷新等问题。python编写的版本由于线程阻塞问题相应速度不更迅速,刷新缓存时客户端基本不可用。为了解决这一弊端,萌咖大佬选择了Go语言重新架构OneLise。

OneList可以绑定多个Onedrive网盘的简洁目录程序

OneList重写版采用Go语言开发,引入了js渲染技术、伪防爬取技术,得益于Go语言的高效多线程技术,OneList重写版已经支持多个onedrive网盘整合。同时支持国际版、个人免费版(家庭版)、中国版(世纪互联)及多网盘绑定。

效果展示

OneList可以绑定多个Onedrive网盘的简洁目录程序

OneList重写版功能

  • 支持 国际版, 个人免费版(家庭版), 中国版(世纪互联).
  • 支持同时列出多个盘的目录.(要求每个盘的SubPath唯一)
  • 支持文件夹内超过 200 个项目
  • 支持后台自动刷新缓存.
  • 支持路径中含有特殊字符.
  • 数据储存在内存中,响应更加迅速.
  • 支持网盘内容检索
  • 新增隐藏目录或者文件。直接跳过缓存,减少 API 调用。
  • 新增目录加密,支持不同目录不同账户密码。HTTP 401 认证

OneList安装

项目地址:https://github.com/MoeClub/OneList/tree/master/Rewrite

1、获取授权认证

点击右侧URL获取授权信息,授权-->【国际版, 个人版(家庭版)】、【中国版(世纪互联)
授权后会获取一个localhost开头打不开的链接,这里复制好整个链接地址,包括localhost

2、安装OneList

#新建并进入OneList目录
mkdir /opt/OneList && cd $_

#64位系统下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/amd64/linux/OneList
#32位系统下载
wget https://raw.githubusercontent.com/MoeClub/OneList//master/Rewrite/i386/linux/OneList
#arm架构下载
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/arm/linux/OneList
    
#给予权限
chmod +x OneList

3、使用命令完成基础配置

Usage of OneList:
  -a string
        // 初始化配置文件,添加新配置
        Setup and Init auth.json.
  -bind string
        // 绑定IP地址(公网: 0.0.0.0)
        Bind Address (default "127.0.0.1")
  -port string
        // 绑定端口(HTTP:80)
        Port (default "5288")
  -s string
        // 设置 SubPath 项, 需要与 -a 一起使用.
        Set SubPath. [unique per account] (default "/")
  -c string
        // 配置文件
        Config file. (default "config.json")
  -t string
        // Index.html 目录样式文件
        Index file. (default "index.html")
  -cn
        // 开关
        // 授权中国版(世纪互联), 需要此参数.
        OneDrive by 21Vianet.
  -ms
        // 开关
        // 授权个人版(家庭版), 需要此参数.
        OneDrive by Microsoft.
4、生成配置文件

#国际版,将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -a "url" -s "/onedrive01"

#个人版(家庭版),将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -ms -a "url" -s "/onedrive02"

#中国版(世纪互联),将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -cn -a "url" -s "/onedrive03"

提示Success! Add config. '/path/to/config.json'信息,则添加成功。

这里要注意的是:

  • 1、授权url地址只能用一次,超过需要重新授权。
  • 2、命令中的/onedrive01参数为指定网盘地址后缀,比如http://domain.com/onedrive01。
  • 3、授权多个网盘的话,重复授权多次即可,参数均会添加到一个配置文件,且后缀不能重复。
  • 4、地址后缀填错了的,可以稍后在配置文件中修改。

本文默认的配置文件路径/opt/OneList/config.json,参数详解,可自行修改:

[
  {
    // 如果是家庭版或者个人免费版, 此项应为 true.
    "MSAccount": false,
    // 如果是中国版(世纪互联), 此项应为 true.
    "MainLand": false,
    // 授权令牌
    "RefreshToken": "1234564567890ABCDEF",
    // 单配置文件中,此项要唯一.将此OneDrive中设置为`RootPath`目录映射在`http://127.0.0.1:5288/onedrive` 下.
    // (只推荐一个盘位的时候使用根目录"/".)
    "SubPath": "/onedrive",
    // 读取OneDrive的某个目录作为根目录. (支持根目录"/")
    "RootPath": "/Test",
    // 隐藏OneDrive目录中的文件夹和文件, 条目间使用 "|" 分割. (跳过缓存设置的条目.)
    "HidePath": "/Test/Obj01|/Test/Obj02",
    // 使用用户名和密码加密OneDrive目录. 目录和用户名密码间使用 "?" 分割, 用户名密码使用 ":" 分割, 条目间使用 "|" 分割. 无效条目将跳过.
    "AuthPath": "/Test/Auth01?user01:pwd01|/Test/Auth02?user02:pwd02",
    // 缓存刷新间隔.(所有项目中的刷新时间取最小值为有效刷新间隔)
    "RefreshInterval": 900
  }
]

这里注意,挂载多个盘符的时候,SubPath参数请不要为/,单个网盘建议为/

5、运行OneList

#下载index.html,与config.json同目录,即本文默认的/opt/OneList
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/index.html -P /opt/OneList
#监听8000地址,自行修改
/opt/OneList/OneList -bind 0.0.0.0 -port 8000

最后打开ip:端口访问即可,如果你挂载网盘的时候SubPath/,那么直接通过根目录查看,如果为/onedrive1,那么通过ip:端口/onedrive1查看,如果该路径不存在,则会提示No Found.

且首次运行会异步缓存,也就是至少有一个盘缓存成功了,才会显示。

6、开机自启
这里新建一个简单的systemd配置文件,适用CentOS 7Debian 8+Ubuntu 16+

使用命令:

#设置你的运行监听端口,即你可以通过ip:端口访问程序,这里默认8000。
port="8000"
#将以下代码一起复制到SSH运行
cat > /etc/systemd/system/onelist.service <<EOF
[Unit]
Description=onelist
After=network.target

[Service]
Type=simple
ExecStart=/opt/OneList/OneList -bind 0.0.0.0 -port ${port}
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
#启动并设置开机自启
systemctl start onelist
systemctl enable onelist

 

OneList卸载

#未设置开机自启
rm -rf /opt/OneList

#设置过开机自启
systemctl stop onelist
systemctl disable onelist
rm -rf /opt/OneList /etc/systemd/system/onelist.service

最后

安装完成后自然认为界面已经非常简洁了,很符合自然的胃口。如果各位有前端技能,不妨自己动手美化一下UI。如果使用中发现什么bug不妨登录Github/MoeClub进行提交,帮助萌咖大佬优化完善这款新生的OneDrive目录程序。

自然博客

 

weinxin
自然博客
快来关注一下,一个linux运维爱好者的个人博客!
avatar
  • 本文由 发表于 2019年12月26日21:52:28
AlphaSSL 域名通配符型DV SSL证书
全网通流量卡/物联卡 SIM专用上网卡
CTList 支持多用户的天翼云盘简洁目录程序 建站程序

CTList 支持多用户的天翼云盘简洁目录程序

最近很多人搞到了天翼云盘10T、30TB的存储账号,又可以存储大量的电视剧,天翼云盘背靠电信运营商,拥有海量的宽带资源,下载速度惊人的快。结合在线播放功能,视频秒播放完全不是问题,速度方面完全碾压on...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: