蔚蓝触点 Azuretouch

Azuretouch
Touch your future

OneList - OneDrive 的目录列表

一直想弄一个文件共享下载,或者是一个网盘放点工具啥的,也没有网速快和超大的空间。

之前也有看到过大佬们把 Google Drive 做了一个列表出来。找了一下,也有个 OneDrive 的列表程序。部署超级简单,效果不错,下载速度也很快。弄一个做为工具网盘吧。

OneDrive

开发者

萌咖大佬
源码:https://github.com/MoeClub/OneList

部署

先要取得【授权认证】。

点击你所属版本的授权链接。登录授权后,会跳转到一个带有 localhost 的无法访问的链接,完整复制这个链接。

下载 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

生成配置文件

将下面的 "url" 里的 url 换成你上面复制的授权地址,包括 http://loaclhost

#国际版,
./OneList -a "url" -s "/onedrive01"
#个人版(家庭版),
./OneList -ms -a "url" -s "/onedrive02"
#中国版(世纪互联),
./OneList -cn -a "url" -s "/onedrive03"

注意:
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
  }
]

运行

在运行之前需要下载 theme。

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

命令参数详细列表

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.

另外有两个模板可以替换,下载 index.html 并替换原来那个就可以了。
模板链接:https:[email protected]

关于开机启动和服务设置

#设置你的运行监听端口,即你可以通过ip:端口访问程序,这里默认5288。
#将以下代码一起复制到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 5288
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#启动并设置开机自启
systemctl start onelist
systemctl enable onelist

一些关于服务的命令

  • 启动:systemctl start onelist
  • 停止:systemctl stop onelist
  • 重启:systemctl restart onelist
  • 查看状态:systemctl status onelist

Nginx 反向代理

利用端口访问自然不方便,在 Nginx 里添加个反向代理来访问会方便很多。

    location ^~ /onedrive/ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:5288;
    }
未经允许不得转载:蔚蓝触点 Azuretouch » OneList - OneDrive 的目录列表

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址