利用天翼云盘API目录列表,下载不需要走服务器流量,
因为是公共API,未必能存活很久,如果有自己的API最好,但是目前API通道是关闭了
oneindex的皮,支持文件下载,播放视频(只支持mp4和webm)

搭建环境为LNMP一键安装包,其他环境有差异自行修改

API搭建

原文出处:hostloc-wweng,谢谢MJJ大佬的奉献精神

获取源码

cd到运行目录,以我的ct.imcxx.com为例

cd /home/wwwroot/ct.imcxx.com
git clone https://github.com/xytoki/TCShare.git
mv TCShare/* ./
composer install

伪静态

LNMP直接使用yii2即可,具体如下:

location / {
    # Redirect everything that isn't a real file to index.php
    try_files $uri $uri/ /index.php$is_args$args;
}

并且将以下注释掉,不然会出现图片无法下载

#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
#     expires      30d;
# }

配置文件

请一定禁止访问env文件!
创建.env文件,并按配置填写如下内容:

#   XS 是前缀
#   | -KEY 是配置种类,可选KEY,APP,SEC
#   | | - -ct是key的ID(类似config.php)
#   | | - | - something是配置名称
#   | | - | - | - - - - value在等号右边
#   XS_KEY_ct_something=value

    XS_KEY_ct=ctyun   #必填,值为ctyun
    XS_KEY_ct_FD=  #应用文件夹名
    XS_KEY_ct_AK=  #AK
    XS_KEY_ct_SK=  #SK
    XS_KEY_ct_ACCESS_TOKEN= #TOKEN
    
#   这里APP后面的可以是任意值,一般就123456下去
#          ↓
    XS_APP_1=/              #挂载路径
    XS_APP_1_NAME=TCShare   #网盘名称
    XS_APP_1_THEME=mdui     #界面主题
    XS_APP_1_BASE=/         #网盘内路径
    XS_APP_1_KEY=ct         #对应上面Key的ID

打开ct.imcxx.com获取AccessToken并填入.env文件XS_KEY_ct_ACCESS_TOKEN=字段中

配置网盘

天翼网盘-我的应用目录下,新建一个名与XS_KEY_ct_FD= #应用文件夹名对应的文件夹
目录列表默认为该路径

到此配置完成

记得每个月访问https://ct.imcxx.com/-renew续期一次。续期的时候不需要重新填写token。

密码保护

编辑.env文件,加入

XS_SEC_3=video/电影/*
XS_SEC_3_TYPE=password
XS_SEC_3_VAL=password123
# 此数字决定优先级,优先级高的规则将先执行。
# 除了Token之外,其他规则返回失败时将终止程序
# Token失败会跳到下一条规则 争取会忽略下面所有
# 所以目前如需使用token必须在下面放置password。

备注

如果文件夹图标出现folder_open,修改/_app/views/mdui/list.php

<i class="mdui-icon material-icons">folder_open</i>
改为
<i class="mdui-icon material-icons">&#xe28c8;</i>

Cookie搭建

源码

原文出处:hostloc-lefan谢谢MJJ大佬的奉献精神

下载源码解压到网站运行目录,如:/home/wwwroot/ct.imcxx.com

配置

修改index.py,填写对应的账号密码及列表根目录

uname    = '153xxxxxxx'#用户名
passw    = 'xxxxxx'#密码
folderid = '11420xxxxx3405'#列表根目录

运行:

python3 index.py

如果提示缺少模块,pip3安装对应模块即可

没有py3的话,可以执行下面的命令安装:

yum -y install python36 git
ln -s /usr/bin/python3.6 /usr/bin/python3
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

注意:
默认监听127.0.0.1:5000
外网无法直接通过IP+端口访问,需要进行反代。
如果需要公网直接访问或修改端口,修改index.py最后一行

app.run(port=5000) #只要内网反代修改端口号即可
app.run(host='0.0.0.0' port=5000) #允许IP直接访问

开机启动

vi /etc/systemd/system/ctyun.service

[Unit]
Description=ctyun
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/wwwroot/ct.imcxx.com
ExecStart=/usr/bin/python3 /home/wwwroot/ct.imcxx.com/index.py
Restart=on-failure

[Install]
WantedBy=multi-user.target

相关命令:

自启:systemctl enable ctyun
启动:systemctl start ctyun
停止:systemctl stop ctyun
禁用:systemctl disable ctyun

备注

如果出现ico无法显示,在/templates/index.html头部加入:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
#https报错加入,未报错无需加入
<link rel="shortcut icon" href="https://www.imcxx.com/usr/favicon.ico" />
#反代必须使用外链ico,目录ico无法使用

效果示例

API版本
天翼云盘
Cookie版本
天翼云盘

最后修改:2020 年 03 月 24 日 18 : 47