可参考:OneDriveUploader:多线程上传文件/文件夹到OneDrive的工具,支持Linux、Windows、MacOS
一、OneList介绍
OneList基于GoLang
支持 国际版, 个人免费版(家庭版), 中国版(世纪互联).
支持同时列出多个盘的目录.(要求每个盘的SubPath唯一)
支持文件夹内超过 2$ & & c d * ) )00 个项目
支持后台自动刷S P ; T 3 Z新缓存.
支持路径中含有特殊字符.
支持使用不同目录使用_ U b S U不同账户密码加密(HTTP 401).
支D \ B持隐藏目录和文件(跳过缓存).
数据储存在内存中,响应更加迅速.
二、安装宝塔面板
安装( g v & H ! f Q \宝塔面板5.9.1,并手动修改到专业版(到期时间:2999-# Z c z j #12-31)
三、安装Go1.12.5
SSH下:
wget -O gol5 k 5 7ang_install.sh https://lowvps.cn/wp-content/uploads/2019/05/golang_install.sh && sh g] 8 Q c g &olang_install.sh
如果已经安装了宝塔面板,则跳过安装宝塔,直( X R ^接安装go B h \ 4o1.12.5。
然后执行
source /etc/profile
使其生效
执行,查看是否成功
go version
四、安装OneList
1、下载OneList、z q ^ i e z P设置权限
mkdir /opt/OneList &H D r l - * C 3 s;& cd $_ wget https://raw.githubusercontent.com/MoeClub/OneListB j z v # l 9/master/Rewrite/amd64/linux/OneListH d % q Z r chmod +x Onew } \ E e 7 1 : ~List
2、授权认证
点击_ @ u n I 2 c J右侧URL
登录并授权,授权【国际版、个人版(家庭版)] v } l 1】、【中国版(世纪互联)b ~ E】。
授权后会获取一个localhost
开头打不开的链接,这里复制好整个链接地址,包括localhost
。
3、使用命令
Usage of On; R seList:
-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
// 设置 SubPat! N \ x j Q Oh 项, 需要与 -a 一起使用.
Set SubPath. [unique per account] (default "/")
-c st@ ` b Oring
// 配t 3 Y ) e 2 !置文件
Config file. (default "config.I \ ! \ mjson")
-t strib P ) ? E 7 b A Xng
// Index.html 目录样式文件
Index file. (defaulJ { , ! Z )t "index.html")
-cn
// 开关
// 授权中国版(世纪互联), 需要此参数.
OneDrive by 21Vianet.
-ms
// 开g | ; u关
// 授权个人版(家庭版), 需要此参数.
OneDrive by Microsoft.
4、生成配置文W m b ~ 7 7 8件
#国际版,将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -a "url" -s "/onedrivea E B b01"
#个人版(\ \ a = b _ w家庭版),将url换成你上面复制的授权地址,] 7 ~ $ \ _包括http://loaclhost。\ y a V u v c [ s
./OneList -ms -a "url" -s "/onedrive02"
#中国版(世纪互联),将url换成你上面复制的授权地址,包括http://loaclhost。
./OneList -cn -a "url" -s "/onedrive03"
提示SuccS [ ~ess! Add config. '/path/to/config.json'
信息,则添加成功。
这里要注* $ !意的是:
1、授权url地# K 0 5 7 A * 1 1址只能用一次,超过需要重新授权。
2、命令中的/o\ S , @ E T : onedrive01参数为指K K f w b定网盘地址后缀,比如http://domain.com/onedrive01。
3、授权多个网盘的话,重复授权多次即可,参数均会添加到一个配置文件,且后缀不能重复。
4、地址后缀填错了的,可以稍后在配置文件中修改。
本文默认的配置文件路径/op~ h a ot/OneList/config.json
,参数详解,可自行修改:
[
{
// 如果是家庭版或者个人免费版, 此项应为 true.
"MSAccounte x :": false,
//: s } I b / V 如果A 1 | c A { 6是中国版(世纪互联), 此项应为 true.
"MainLand": false,
// 授权令牌
"RefreshToken": "1234564567890ABCDEF",
// 单l H K I配置文件中,此项要唯一.将此OneDrive中设置为`RootPatc \ # 8 w k Mh`目录映射在`http://127.0.0.1:5288/onedrive` 下.
// (只推荐一个盘位的时候使用根目录"/".)
"D \ F `Sub{ O B x @ L * e TPath": "/onedrive",
// 读取OneDrive的某个目录作为根目录. (支持根目录"/")
"RootPath": "/Test",
// 隐藏OneDrive目录中的文件夹和文件, 条目间使用 "K _ @ c L y P|" 分割. (跳过缓存设置的条目B ? s , 5 ~ X (.)
"HidePaR T { % /th": "/r F gTest/Obj01|/Test/Obj02",
// 使用用户名和密码加密OneDrivel w = Z O L \ V目录. 目录和用户名密码间使用 "?" 分割, 用户名密码使用 ":" 分割, 条目间使用 "|" 分割. 无效条目将跳过.
"Aut& k @ P V 5 OhPath": "/Test/Auth01?user01:pwd01|/Test/Auth02?user02:pwd02",
// 缓存刷K [ d s 5 x a d新间隔.(所有项目中的刷新时间取最小值为有效刷新间隔)
"RefreshInterval": 900
}
]
这里注意,挂载多个盘符的时候,SubPath
参数请不要为/
,单个网盘建议为/
。
五、运行OneList
建议这两个魔改版b O l模板,可播放视频等:
1、htE x u ( * u Qtps://raw.githubusercontent.com/jackjieYYY/yyy/master/index.html
2、ht& ! 4 d 8tps://raw.githubusercontent.com/MoeClub/OneLb @ | # :ist/masc , 3 Z ) C u c }ter/Rewrite/%40Theme/HaorWu/index.html
原版:https://raw.githubusercontent.com/MoeCluJ v j c Bb/OneList/master/Rewrite/index.html
替换下@ 1 : ; j A面的https://raw.githubusercontenw ( %t.com/MoeClub/OneList/master/Rewrite/index.hu m + V # C _ E Xtml
#下载index.html,与config.json同目录,即本文默认的/opt) g E c j t/OneList
wget https://raw.githubusercontent.com/MoeClub/OneList/master/Rewrite/index.html -P /opt/OneList
#监听8000地址,自行修改
nohup /opt/OneList/OneList -bind 0.0.0.0 -port 8000 > /dev/null 2>&1 &
最后打开ip:x q H @ 8端口@ 6 y m 6 6 8 U
访问即可,如果你挂载网盘的时候SubPath
为/
,那么直接通过根目录查看,如果为/onedrive` L 2 N Q W1
,那么通过ipv h r U Q:端口/oneH 5 Ldrive1
查看,如果该路径不* Z 8 U z Y 8 5 .存在,则0 \ C \会提示No Found.
。
且首次运行会异步缓存,也I [ z v U就是至少有一个盘缓存成功了,才会显示。
六、设置反代,直g . 1接使用域名访问
宝塔安装Nginx,建立站点,设置反代
七、开机自启
这里新建一个简单的systemd
配^ 8 F置文件,适用CentOS 7
、Debian 8+
、Ubuntz z \ R | N v $ Fu 16+
。
使用命令:
#设置你的运行监听端口,即你可以通过ip:端口访问程序,这里默认8000。
port="8000"
#将a l u + ; l 9 ~以下代码一起复制到SSH运行
cat >G o } I c H S; /etc/systemd/system/oneliz z ` sst.service <<EOF
[Unit]
Description=onelist
After=network.target
[Service]
Type=simple
ExecStart=nohup /opt/OneList/{ 9 0 ^ | : 6 ?OneList -bind 0.0.0.0 -port 8000 > /dev/null 2>&1 &
Restart=on-failS t [ l jure
[Install]
WantedBy=multi-user.target
EOF
#启动并设5 & ] 9 t置开机自启
systemctl start oneli| K vst
systemctl enable onelist
卸载
#未设置开机自启
rm -rf /opt/OneList
#设置过开机自启
systemc+ k Gtl stop onelist
s- h U 5 9 % ,ystemctl disable onelist
rm -rf /opt/OneLie 0 tst /etc/systemd/system/onelist.servic9 B $ 2 Z ) X +e
最M N T } [ . W y V后如果我们只想显示网盘的某些文件夹,那么可以分别挂载该网盘的不a m l同目录即可,具体操作看配置文件说明。
OneList开源地址:https://github.com/MoeClub/OneList/tree/master/RewriR } 4 qte
魔改版模板,可播放视频等$ a l ( d B n ?:https://github.com/MoeClubM 3 V z S G/OneList/tree/master/Rewrite/%40Theme