程序开源地址: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 文件

五、设置 .env 文件属性为 700,防止文件被扫。

六、 PHP 设置里找到禁用函数,删除 putenv 然后安装 composer 依赖。

图示:删除 putenv

1、登陆SSH面板安装依赖库 composer:

#命令以 pan.jioluo.com 为例,请自行替换自己的网站根目录。
cd /www/wwwroot/pan.jioluo.com
composer install
图示:安装 composer 成功效果

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 进入授权

  1. 依赖安装完成后,直接访问站点域名进入安装界面,点击 Click here to authorize 进入授权界面。
    PS:网站地址后添加 /-install 进入授权界面。
  2. 输入天翼云盘的账号密码后会自动跳转到网站首页(建议扫码登录),至此安装完成。

成功后把要共享的文件放入 safebox 文件夹里即可,文件存储到云端有缓存的原因需要等待片刻网页端才能刷新。

九、每月手动定时访问 /-renew 更新授权,以延长 token 有效期。

xyShare Renew
Renew proceeded successfully.
Please renew your token MAUNALLY again before 2020-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。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。