搭建 github 代下载服务

搭建 github 代下载服务

注意:这个github代下载服务不是我自己开发。如果要部署我开发的代下载服务,请前往:file-proxy-download 查看详情

推荐加入我开发的代下载服务的子节点。加入后,不需要运营维护服务器,所有维护操作由我自行完成:pd.zwc365.com

github 的仓库克隆速度可能不够理想,故有人开发了程序,代下载仓库。

如何根据这个源码搭建服务呢?

源码地址:https://github.com/xiaoxinda/github-proxy

前提是:

  • 有一台服务器
  • 服务器有独立IP
  • 会 ssh
  • 已经解析了一个域名到服务器上

安装 php

这里的例子是 Debian、和 Ubuntu 的例子,如果是其它系统,请自行寻找安装 PHP 的方法

sudo apt-get update
sudo apt-get install php

克隆仓库

把仓库源码文件放到 服务器上,不管是使用 git 还是 ftp 上传、或者 wget、curl

总之把文件传到服务器上。举得例子是 用 git 克隆仓库

sudo apt-get install git
git clone https://github.com/xiaoxinda/github-proxy.git

运行php 后端程序

对于 php 程序,建议运行时使用 低权限用户,而不是 root。所以建议执行以下命令(安全性建议):

sudo adduser gitdown
su gitdown

添加低权限用户并切换到 gitdown 后,接下来准备运行程序:

用命令先进入到源码目录,如果你是使用其它方式上传的文件,进入对应的目录中去

cd github-proxy/GatewayWorker

后台运行:

nohup php start.php start >>/dev/null 2>&1 &

按照原版部署,里面稍有一个细节要注意

// $gateway->transport = 'ssl';

github-proxy-master/GatewayWorker 目录,编辑 Applications/githubT/start_gateway.php 文件第 35 行,在前面加入斜杠 // 。否则是 https,无法连接。

部署页面

使用 Nginx 部署,当然也可以用 Apache 或者 Caddy 部署,但配置文件不同,可以自行查找:

sudo apt-get install nginx

上面是安装 Nginx ,安装完成后,在路径 /etc/nginx/conf.d/ 路径创建一个文件

touch gitdown.conf

然后编辑这个文件,在里面添加如下内容,注意配置文件的修改,里面的域名和 staticweb 路径要改对

server{
    listen 80;
    # 这里填写域名
    server_name xxxxxx;

    # 这里填写上传的源码文件的 staticweb 路径
    root /上传的源码文件的路径/staticweb;
    index index.html index.htm;

    location / {
        try_files  $uri $uri/index.html $uri/index.htm =404;
    }
    # 注意:这里其实不需要这样做。如果开放服务器 8848 端口,直接使用 8848 端口做 websocket 连接即可
    location /ws {  
        proxy_pass http://127.0.0.1:8848;  
        proxy_http_version 1.1;  
        proxy_set_header Upgrade $http_upgrade;  
        proxy_set_header Connection "Upgrade";  
    }
}

然后编辑源码文件的 /staticweb/js/index.js 文件,由于要用 Nginx 部署,所以在第九行前面加上 // 斜杠。把第十行的两个斜杠删掉

如果服务器开放 8848 端口,则不需要去除斜杠。index.js 文件什么都不要改

当一切完成后,使用命令重启:

sudo nginx -s reload

这样即部署完成了。访问配置的域名即可

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://zwc365.com/2020/09/29/搭建github代下载服务

Buy me a cup of coffee ☕.