Skip to content
leaint edited this page Sep 29, 2023 · 5 revisions

安装

git clone --depth 1 https://github.com/leaint/bili-ui.git
cd bili-ui

打开package.json文件,把"cypress": "^9.5.2",这一行删掉,否则可能要花很长时间下载一个上百MB的Electron程序。

npm ci
npm run build

sudo mkdir /usr/share/nginx/html/bili/
sudo cp -r dist/* /usr/share/nginx/html/bili/

之后在/etc/hosts文件中添加一个条目。把your_domain_name替换为一个不存在的域名,例如:bili.example.com

127.0.0.2 your_domain_name

后端反代设置,使用nginx实现

Home页设置

API prefix:/proxy/

Video API prefix:/proxy/http://

nginx配置文件

把下面的内容加入到nginx的配置文件中的http区块内。

    server {
        # 网页服务地址
        listen       127.0.0.2:80;
        # 若在手机上使用,可使用这个地址
        #listen      127.0.0.1:1080;

        location / {
          root   /usr/share/nginx/html/bili;
          index  index.html;
          try_files $uri $uri/ /index.html;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
          root   /usr/share/nginx/html;
        }

        resolver 223.5.5.5;

	location ~ ^/proxy/(https?):/(.*) {

            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Headers' 'X-Cookie, X-Referer, X-Origin, ReferrerPolicy, Referrer, Content-Type, Range';
                add_header 'Access-Control-Allow-Origin' '*';
                return 204;
            }

            proxy_pass "$1://$2?$args";
            proxy_set_header Origin 'https://www.bilibili.com';
            proxy_set_header Referer 'https://www.bilibili.com';
            proxy_set_header Cookie "$http_x_cookie";
            proxy_set_header X-Cookie '';
            proxy_set_header X-Referer '';
            proxy_set_header X-Origin '';
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header Connection '';

            proxy_hide_header 'Access-Control-Allow-Headers';
            proxy_hide_header 'Access-Control-Allow-Origin';
            add_header 'Access-Control-Allow-Headers' 'X-Cookie, X-Referer, X-Origin, ReferrerPolicy, Referrer, Content-Type, Range';
            add_header 'Access-Control-Allow-Origin' '*';
        }
    }

最后

完成上面的操作后,重启nginx,在浏览器中打开http://your_domain_name就可以看到这个网站了。如果在手机上使用,则打开http://localhost:1080

# 重启nginx
systemctl restart nginx
Clone this wiki locally