宝塔面板安装OneList(go版本) – 可以绑定多个OneDrive网盘的极简目录列表

OneList有python版本,但是在整体性能上有点瑕疵,所以大佬萌咖大佬就开发了go版本OneList,基于Golang的性能更好,效率更高,多盘并发缓存等众多好处……

这篇文章,我们就来说说如何利用宝塔面板来安装部署OneList,go版本OneList同时支持国际版、个人免费版(家庭版)、中国版(世纪互联)及多网盘绑定,还是值得试试的。

具体的安装和部署


1、前言

gtihub:https://github.com/MoeClub/OneList/tree/master/Rewrite

demo:http://aa.fdao.xyz

2、go环境

宝塔面板搭建go环境,可以看之前的文章,如下:

宝塔面板Linux环境-安装Golang:Go语言环境安装以及程序如何运行

3、准备

  • 宝塔面板最新版本
  • go语言环境安装好,不会看上面。
  • 准备好一个解析好的域名
  • 新建网站
  • Nginx安装好

4、授权认证

国际版、个人版(家庭版)】,复制链接打开!

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=78d4dc35-7e46-42c6-9023-2d39314433a5&response_type=code&redirect_uri=http://localhost/onedrive-login&response_mode=query&scope=offline_access%20User.Read%20Files.ReadWrite.All

中国版(世纪互联)】。

https://login.chinacloudapi.cn/common/oauth2/v2.0/authorize?client_id=dfe36e60-6133-48cf-869f-4d15b8354769&response_type=code&redirect_uri=http://localhost/onedrive-login&response_mode=query&scope=offline_access%20User.Read%20Files.ReadWrite.All

注意:授权后会获取一个localhost开头打不开的链接,这里复制好整个链接地址,包括localhost保存到一个记事本中备用。具体看图:

5、部署项目

安装OneList,这里是把项目方在/opt目录下面,你也可以放置在别的目录下!

#新建并进入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

5.1 生成配置文件

下载好项目之后,我们开始用命令生成配置文件,命令如下:

#国际版,将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'信息,则添加成功。具体如图:

5.2 注意:

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

5.3 配置文件实例

具体的配置实例如下:

[
  {
    // 如果是家庭版或者个人免费版, 此项应为 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.4 运行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.。如果目录里面没有文件也会显示No Found.。打开效果如图:

6、后台运行及开机自启

以上的全部完成之后,你就可以打开onelist了,但是不能后台运行,所以我们这设置下如何后台运行。

6.1 方法1

# /path/to/OneList 为OneList的完整路径
# 后台运行
nohup /path/to/OneList -bind 0.0.0.0 -port 80 >/dev/null 2>&1 &

# 开机自启并后台运行
编辑 /etc/crontab 文件, 并添加下面一行并多按几个回车. (有些系统不留空行会出现意外)
@reboot root nohup /path/to/OneList -bind 0.0.0.0 -port 80 >/dev/null 2>&1 &

6.2 方法2

新建一个简单的systemd配置文件,适用CentOS 7Debian 8+Ubuntu 16+。使用命令:(将以下代码一起复制到SSH运行,注意默认端口为8000,可修改!

此处为隐藏的内容 发表评论并刷新,方可查看
发表评论

6.3 卸载

如果未设置开机自启,直接删除onelist就可以了。命令如下

rm -rf /opt/OneList

设置过开机自启,使用如下命令卸载

systemctl stop onelist
systemctl disable onelist
rm -rf /opt/OneList /etc/systemd/system/onelist.service

7、设置域名访问

宝塔面板新建网站,网站设置,“芳香袋里”,具体看图:

这样设置后,就可以用域名打开了,如果要设置SSL,请先关闭daili,申请好证书在开启,即可。

8、最后

go版本的目录列表程序打开速度确实很快,但安装起来还是很麻烦的,OneList的使用命令如下:

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.

参考资料:

  • https://github.com/MoeClub/OneList/tree/master/Rewrite
  • https://www.moerats.com/archives/1016/

广告栏+++++++蜜糖商店|大哥云| 搬瓦工JMS|红莓网络| Mielink|萌喵加速| 飞鸟云

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注