Skip to content

利用宝塔+Github+jsdelivr建立免费图床

原理很简单 – 就是利用token来上传文件(只不过刚好文件是图片)到public repo;然后利用了cdn进行加速。jsdelivr应该是github的客户,所以默认就可以加速。

利用了这个大哥的源码 – https://github.com/peng4740/autoPicCdn

CDN得感谢 https://www.jsdelivr.com/

需要这么些步骤

宝塔建立新网站+mysql数据库

在mysql管理界面里面,执行 (如果你设立了自己的数据库名,那么源码当中是pic.remote_imgs是不对的)

CREATE TABLE `remote_imgs` ( `imgmd5` VARCHAR(32) NOT NULL COMMENT '文件md5' , `imguploadtime` INT(10) NOT NULL COMMENT '上传时间,10位时间戳' , `imguploadip` VARCHAR(20) NOT NULL COMMENT '上传IP' , `imgurl` VARCHAR(200) NOT NULL COMMENT '远程访 >问URL' , PRIMARY KEY (`imgmd5`)) ENGINE = InnoDB COMMENT = '图片统计表';

生成github token

去这里 https://github.com/settings/tokens

把”repo Full control” 和”write:packages”都勾上 – 然后把这段”3932XXXX”这类的token记录下来

下载源码

cd /www/wwwroot/
# 备份一下
mv picbed.10244201.xyz gitpic.10244201.xyz.bak
git clone https://github.com/yumusb/autoPicCdn picbed.10244201.xyz
chown www:www picbed.10244201.xyz
chmod -R 766 picbed.10244201.xyz
cd picbed.10244201.xyz
vi up.php

再修改一下 up.php – 最主要就是这几项

define("REPO","PubRepoName"); //必须是下面用户名下的公开仓库
define("USER","GitHub-UserName"); //必须是当前GitHub用户名
define("MAIL","[email protected]"); // email
// https://github.com/settings/tokens 去这个页面生成一个有写权限的token(repo:Full control of private repositories 和write:packages前打勾)
define("TOKEN","393271XXXXXXXXXX7bf0");


//数据库配置文件 用自定义的数据库
$database = array(
        'dbname' => 'picbed_10244201_',
        'host' => 'localhost',
        'port' => 3306,
        'user' => 'picbed_10244201_',
        'pass' => 'DbGXXXXXXXXXXXxwb',
    );

访问 picbed.10244201.xyz

开启https + CloudFlare Proxy打开(避免IP泄露)

如果出现css/js加载问题,去宝塔把文件目录的权限改成 www “766”就行了。

Github+jsdelivr不倒,免费图床不倒!

Leave a Reply

Your email address will not be published.