程序开源地址:https://github.com/xytoki/TCShare (因为 PanDownload 事件已下架)
查看其它分支:https://github.com/xytoki/TCShare/network/members
Demo:https://Pan.jioluo.com
本文搭建环境:
- CentOS 7.7
- 宝塔7.2
- PHP-7.2
- Nginx 1.17
一、宝塔里新建站点,配置文件里把以下代码注释掉,解决列网盘图片 404 的问题。
Ps:选中此段代码后 Ctrl + / 可直接注释。
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#{
# expires 30d;
# error_log off;
# access_log off;
#}
二、设置站点伪静态: Rewrite规则:
try_files $uri $uri/ /index.php$is_args$args;
location ~ /\.env {
deny all;
}
三、下载程序并解压到网站根目录:
cd /www/wwwroot/Pan.jioluo.com
四、 获取 API ,在网站根目录新建一个名为 .env 的文件,复制以下模板代码并保存:
Ps:API 还是不放出来吧,加密。
# 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 # 这里APP后面的可以是任意值,一般就123456下去 # ↓ XS_APP_1=/ #挂载路径 XS_APP_1_NAME=RuaDisk #网盘名称 XS_APP_1_THEME=mdui #界面主题 XS_APP_1_BASE=/ #网盘内路径 XS_APP_1_KEY=ct #对应上面Key的ID
五、设置 .env 文件属性为 700,防止文件被扫。
六、 PHP 设置里找到禁用函数,删除 putenv 然后安装 composer 依赖。
1、登陆SSH面板安装依赖库 composer:
#命令以 pan.jioluo.com 为例,请自行替换自己的网站根目录。 cd /www/wwwroot/pan.jioluo.com composer install
2、如安装失败(见配图),请确认网站 PHP 所用的版本以移除 putenv 函数的禁用。并在 shell 终端下执行以下命令将宝塔 php 版本设置为系统 php-cli 版本
ln -sf /www/server/php/72/bin/php /usr/bin/php
根据自己宝塔的 PHP 版本更改,我的版本是 PHP7.2 所以这里是 /php/72,你如果是 PHP7.3 的话就是 /php/73,以此类推。更改后再次执行 composer install 即可。
七、天翼云盘先创建 safebox 文件夹。
最后进入天翼云盘,在 我的应用 中新建一个 safebox 的文件夹,以便授权访问。
注意:此文件夹是天翼云盘固定的,不可更改为其他名称。
八、Click here to authorize 进入授权
- 依赖安装完成后,直接访问站点域名进入安装界面,点击 Click here to authorize 进入授权界面。
PS:网站地址后添加 /-install 进入授权界面。 - 输入天翼云盘的账号密码后会自动跳转到网站首页(建议扫码登录),至此安装完成。
成功后把要共享的文件放入 safebox 文件夹里即可,文件存储到云端有缓存的原因需要等待片刻网页端才能刷新。
九、每月手动定时访问 /-renew 更新授权,以延长 token 有效期。
xyShare Renew
Renew proceeded successfully.
Please renew your token MAUNALLY again before2020-06-11 14:04:43
以上信息提示你 token 到期时间,需要每个月访问一次 http://你的网址/-renew。授权登录之后,会提示你授权成功。如图:
十、多账号挂载:123456 这样一直排下去。
XS_KEY_ct2=ctyun #必填,值为ctyun XS_KEY_ct2_FD= #应用文件夹名 XS_KEY_ct2_AK= #AK XS_KEY_ct2_SK= #SK XS_APP_2=/disk2 #挂载路径 XS_APP_2_NAME=TCSecond #网盘名称 XS_APP_2_THEME=mdui #界面主题 XS_APP_2_BASE=/ #网盘内路径 XS_APP_2_KEY=ct2 #对应上面Key的ID
站点标题、主题等也是在网站根目录 config.php 文件修改,作者都有注释。
需要注意的是天翼云普通会员每日上传文件总大小限制2G
十一、安全规则
支持密码保护、Token鉴权、Referrer防盗链三种方式, 配置如下:
XS_SEC_1=/dir1/*
# 路径规则,参照http://flightphp.com/learn/#routing
# 例如,/dir1 会匹配/dir1 /dir1/
# /dir1/* 匹配 /dir1 /dir1/ 和dir1之下的所有文件
XS_SEC_1_TYPE=referrer
# 模式
XS_SEC_1_MODE=black
# 如果是referrer,设置黑白名单
XS_SEC_1_VAL=baidu.com,google.com
# 黑白名单的域名,逗号分隔
XS_SEC_1_EMPTY=true
# 允许空referrer
# Token鉴权,需要和密码配合使用
# 若token正确优先级在token之后的所有规则都将被跳过
# token不正确将继续下一条规则
# Token计算方式见下
XS_SEC_2=/dir2/*
XS_SEC_2_TYPE=token
XS_SEC_2_VAL=tcshare_demo_key #secret值
# 密码保护
XS_SEC_3=/dir2/*
XS_SEC_3_TYPE=password
XS_SEC_3_VAL=password123
# ↑
# 此数字决定优先级,优先级高的规则将先执行。
# 除了Token之外,其他规则返回失败时将终止程序
# Token失败会跳到下一条规则 争取会忽略下面所有
# 所以目前如需使用token必须在下面放置password。
评论(0)