宝塔面板安装 OneList 设置反代
OneList介绍
- OneList 基于GoLang
- 支持 国际版,个人免费版(家庭版), 中国版(世纪互联)
- 支持同时列出多个盘的目录(要求每个盘的SubPath唯一)
- 支持文件夹内超过 200 个项目
- 支持后台自动刷新缓存
- 支持路径中含有特殊字符
- 支持使用不同目录使用不同账户密码加密(HTTP 401)
- 支持隐藏目录和文件(跳过缓存)
- 数据储存在内存中,响应更加迅速
安装宝塔面板
安装 Go1.12.5
- SSH 下:
wget -O golang_install.sh https://lowvps.cn/wp-content/uploads/2019/05/golang_install.sh && sh golang_install.sh
如果已经安装了宝塔面板,则跳过安装宝塔,直接安装 go 1.12.5。
- 然后执行
source /etc/profile
使其生效 - 执行,查看是否成功
go version
安装 OneList
1、下载 OneList、设置权限
mkdir /opt/OneList && cd $_
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/amd64/linux/OneList
chmod +x OneList
2、授权认证
点击右侧 URL 登录并授权,授权【国际版、个人版(家庭版)】、【中国版(世纪互联)】。
授权后会获取一个 localhost 开头打不开的链接,这里复制好整个链接地址,包括 localhost。
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
建议这两个魔改版模板,可播放视频等:
1、https://raw.githubusercontent.com/jackjieYYY/yyy/master/index.html2、https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/%40Theme/HaorWu/index.html
替换下面的 https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/index.html
下载 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.。
且首次运行会异步缓存,也就是至少有一个盘缓存成功了,才会显示。
设置反代,直接使用域名访问
宝塔安装 Nginx,建立站点,设置反代
onelist-fandai
开机自启
这里新建一个简单的 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
卸载
- 未设置开机自启
rm -rf /opt/OneList
- 设置过开机自启
systemctl stop onelist
systemctl disable onelist
rm -rf /opt/OneList /etc/systemd/system/onelist.service
最后如果我们只想显示网盘的某些文件夹,那么可以分别挂载该网盘的不同目录即可,具体操作看配置文件说明。
OneList 开源地址:https://github.com/MoeClub/OneList/tree/master/Rewrite
魔改版模板,可播放视频等:https://github.com/MoeClub/OneList/tree/master/Rewrite/%40Theme
打赏: 微信
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。