ghproxy/README.md

86 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2021-01-03 22:15:25 +08:00
# ghproxy
2021-01-03 23:25:48 +08:00
2021-01-09 15:12:14 +08:00
Github文件下载加速PHP版基于异步PHP框架 [ReactPHP](https://github.com/reactphp)开发,具有高性能、支持高并发的优点。
2021-01-03 23:25:48 +08:00
2021-01-08 18:05:32 +08:00
演示站点:<https://gh.2i.gs>,教程文章:<https://tlanyan.me/php-version-ghproxy/>
2021-01-07 21:52:31 +08:00
本项目参考 [gh-proxy](https://github.com/hunshcn/gh-proxy)其js版可运行在CloudFflare Worker上并提供了可运行在docker中的Python版。
2021-01-03 23:25:48 +08:00
## 使用教程
### 1. 安装PHP和composer
如系统已经安装PHP和composer可略过。
CentOS系统安装最新版PHP可参考[使用Remi源安装最新版PHP 7和PHP 8](https://tlanyan.me/install-newest-php7-and-php8-with-remi-repo/)Debian/Ubuntu系统可使用下面命令安装PHP
````bash
apt update
apt php-cli php-fpm php-bcmath php-gd php-mbstring \
php-mysql php-opcache php-xml php-zip php-json php-imagick
````
2021-01-07 21:52:31 +08:00
安装composer
2021-01-03 23:25:48 +08:00
````bash
wget https://getcomposer.org/installer
php installer --install-dir=/usr/local/bin --filename=composer
rm -rf installer
````
### 2. 安装composer依赖
2021-01-08 18:05:32 +08:00
下载/克隆本项目代码安装composer依赖
2021-01-03 23:25:48 +08:00
````bash
2021-01-08 18:05:32 +08:00
# 如果git未安装CentOS运行yum install -y gitUbuntu/Debian系统运行apt install -y git
git clone https://github.com/tlanyan/ghproxy
cd ghproxy
2021-01-03 23:25:48 +08:00
composer install
# 可选,基本没必要
composer dump-autoload -o
````
2021-01-08 18:05:32 +08:00
打开 `index.php` 文件,视自己情况修改如下几个配置(一般保持默认即可)
2021-01-03 23:25:48 +08:00
- `ADDR`程序监听的IP默认是本机。如果前端不需要web服务器请改成 `0.0.0.0`
2021-01-07 21:52:31 +08:00
- `PORT`: 程序监听的端口默认8080
2021-01-03 23:25:48 +08:00
- `JSDELIVR`是否使用jsdelivr加速
- `CNPMJS`是否使用cnpmjs.org加速
- `SIZE_LIMIT`最大可下载文件大小默认2GB
2021-01-08 18:05:32 +08:00
最后将index.html放置到web目录例如移动到 `/var/www/ghproxy` 目录内。如果前端不使用Nginx等软件无需移动。
2021-01-03 23:25:48 +08:00
### 3. 安装Nginx可选
2021-01-07 21:52:31 +08:00
可以选择使用Nginx/Apache httpd/Caddy等中间件在前端接受web请求也可以让程序直接监听端口处理请求。如果采用https访问建议使用Nginx等web服务器配置SSL。
2021-01-03 23:25:48 +08:00
安装Nginx:
````bash
# CentOS
yum install -y nginx
systemctl enable nginx
## Debian/Ubuntu
apt install -y nginx
````
2021-01-08 18:05:32 +08:00
修改项目中的 `ghproxy.conf` 文件(域名、web路径、SSL配置等)然后复制到Nginx配置目录内。获取证书和配置Nginx可参考 [从Lets Encrypt获取免费证书](https://tlanyan.me/use-lets-encrypt-certificate/) 或 [从阿里云获取免费SSL证书](https://tlanyan.me/get-free-ssl-certificates-from-aliyun/)
2021-01-03 23:25:48 +08:00
### 4. 启动程序
2021-02-19 19:55:23 +08:00
进入项目文件夹,执行 `nohup php index.php > /var/log/ghproxy.log 2>&1 &`,也可以在 tmux/screen 等终端窗口内执行 `php index.php` 启动程序。
2021-01-07 21:52:31 +08:00
部署了Nginx的前端web服务器的请重启web服务器。
2021-01-03 23:25:48 +08:00
接下来,浏览器打开网址,输入要加速下载的链接,查看加速效果。
2021-01-09 15:12:14 +08:00
**停止程序**:首先 `ps aux | grep -v grep | grep index.php` 找到进程号(输出的第二列)然后kill掉`kill -9 进程号`。
2021-01-08 18:05:32 +08:00
使用中遇到问题欢迎反馈。
## Tips
保持Github上的fork在最新版请参考[使用pull app保持Fork代码在最新状态](https://tlanyan.me/use-pull-app-to-keep-your-forks-up-to-date/)