Onelist安装与使用
侧边栏壁纸
  • 累计撰写 34 篇文章
  • 累计收到 86 条评论

Onelist安装与使用

yan
yan
2020-02-08 / 0 评论 / 1,155 阅读 / 正在检测是否收录...

之前用的oneindex来做共享网盘,因为api问题,经常会出现目录显示不了。前两天用onelist重新搭了分享网盘。写写搭建方法,大部分都来自于大佬的博客:https://www.moerats.com/archives/1016/

安装

Github地址: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参数请不要为/,单个网盘建议为/。

运行OneList

    下载默认的index.html主题,与config.json同目录,即本文默认的/opt/OneList
    wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/index.html -P /opt/OneList
    
    ps:目前还有另外2款主题,也可以替换掉上面的index.html链接,地址分别是:
    https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/HaorWu/index.html
    https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/jackjieYYY/index.html

    #监听8000地址,自行修改
    /opt/OneList/OneList -bind 0.0.0.0 -port 8000

最后打开ip:端口访问即可,如果你挂载网盘的时候SubPath为/,那么直接通过根目录查看,如果为/onedrive1,那么通过ip:端口/onedrive1查看,如果该路径不存在,则会提示No Found.。
且首次运行会异步缓存,也就是至少有一个盘缓存成功了,才会显示。

开机自启

这里新建一个简单的systemd配置文件,适用CentOS 7、Debian 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

更换主题


提示:下载主题的index.html文件,覆盖默认index.html文件,本文默认存放/opt/OneList,然后重启程序即可
主题地址:https://github.com/MoeClub/OneList/tree/master/Rewrite/@Theme
相关命令

    启动:systemctl start onelist
    停止:systemctl stop onelist
    重启:systemctl restart onelist
    查看状态:systemctl status onelist
    卸载
    #未设置开机自启
    rm -rf /opt/OneList
    #设置过开机自启
    systemctl stop onelist
    systemctl disable onelist
    rm -rf /opt/OneList /etc/systemd/system/onelist.service

最后如果我们只想显示网盘的某些文件夹,那么可以分别挂载该网盘的不同目录即可,具体操作看配置文件说明。

实现域名访问


实现域名访问网盘,要用反向代理,我是在宝塔里做的。
1、在宝塔面板创建网站,绑定你想要的访问网盘的域名
2、点击网站设置,在反向代理里面,目标URL填入http://127.0.0.1:端口号 (自己在前面设置中的端口)
发送域名默认就好了
3、在之后的访问中呢,如果配置文件 /opt/OneList/config.json 里面” subpath “路径是”/”,就可以直接域名访问了。如果是"onedrive01″,就要在域名后面加"/onedrive01″,比如:www.example.com/onedrive01,如果绑定多个网盘,这样就可以实现访问多个网盘了
我自己的网盘http://pan.mihu.live就是这样子,比之前用oneindex好很多。
pan.mihu.live

0

评论 (0)

取消