仓库

https://github.com/journey-ad/genshin-impact-card

https://github.com/BlueSkyXN/Genshin-card

前言

原作者在其仓库给出了2种自建方法,本文演示基于自己服务器的搭建方法

如何使用生成器:https://www.blueskyxn.com/202102/4005.html

声明与介绍

请注意,本人和原作者和相关版权所有人均无责任义务提供相关服务,并随时可以要求下架停止侵权
请自行慎重考虑后使用
如果有相关版权所有人认为我提供的网站服务侵犯了您的权益,请通过邮件联系我,我将及时下架相关内容

海外用户

关注频道@GenshinCN
私聊[email protected]_PM_bot

准备工作

必要

1,具有完整权限和公网IPV4的VPS
2,必要依赖:NODEJS,NPM,YARN
3,你的米游社账号和Cookie

建议

1,能用的域名【白嫖付费均可,大陆服务器需要备案,也可直接IP】
2,CloudFlare账户

知识

1,宝塔面板安装与使用

2,CDN原理与使用

3,白嫖/购买/解析域名

4,获取SSL证书

5,使用/配置NGINX

6,网站搭建基础入门

7,管理Linux文件

以上七点本文不会提供相关介绍,请自行站内学习,或者自己谷歌百度

演示环境

OS:Centos7,后端:韩国Oracle,前端CDN:CloudFlare

安装

依赖安装

NODEJS/NPM

不建议先用宝塔安装PM2管理器,否则可能会导致NPM更新失败【需要用管理器内置的升级】

查看NPM版本

npm -v

卸载NODEJS和NPM

sudo yum remove -y nodejs npm

一键安装脚本 https://www.moerats.com/archives/328

curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install nodejs -y

更新NPM包

sudo npm install -g npm

YARN

连接库

curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg

安装

sudo yum install yarn

查看版本

yarn --version

程序本体下载

git clone https://github.com/journey-ad/genshin-impact-card.git

【也可以手动获取压缩包并上传文件夹到root,记得改好名字,并且解压清楚】

进入程序目录并安装

记得名字对应

cd genshin-impact-card
yarn install

运行

Cookie获取

获取你的米游社Cookie
打开并登录
https://bbs.mihoyo.com/ys/
F12打开控制台
小标签Network
Ctrl+R重载,选择DOC内容
在headers小标签的request headers中找到cookie
【也可以用EditThisCookie插件】
比如我的格式【已打码】
account_id=7625xxx6; cookie_token=vME1l1KHxxxxxxxxJGe4ucD12zikwKUS9A; ltoken=sVSiXxxxxxxxpJRS4o9rmwNU4yIs18LVajoJk8; ltuid=762xxx46

正式运行

export COOKIE="你的米游社Cookie"

比如

export COOKIE="account_id=762xxx46; cookie_token=vME1l1xxxxxxxGdCJGe4ucD12zikwKUS9A; ltoken=sVSiXmxxxxxxxxS4o9rmwNU4yIs18LVajoJk8; ltuid=76xxxx6"

然后

yarn serve

持久化运行

如果你断开SSH,JS就自动停了,所以需要持久化,持久化方法很多,这里使用宝塔面板进程手机+自编的启动器(SH)

错误示范

错误点:没有Cookie信息。

当然就算你输入了cookie信息也不行,这个管理器不支持那样输入,所以我们需要自己编写SH启动器

以Win编写为例

新建一个记事本txt

输入以下内容【记得把cookie改了,&&后面别动】

#!/bin/bash

export COOKIE="account_id=7625xxx6; cookie_token=vME1l1KHxxxxxxxxJGe4ucD12zikwKUS9A; ltoken=sVSiXxxxxxxxpJRS4o9rmwNU4yIs18LVajoJk8; ltuid=762xxx46" && yarn serve

然后保存

然后重命名(变成.sh而不是.txt)如genshincard.sh

【实际上运行命令变成bash genshincard.sh】【目录要对】

然后去宝塔

其他

类似的方法很多,比如screen,看你自己选择吧,我觉得这个最简单

前端网站搭建

默认全局反代的话,全部走作者的默认配置
图标:/root/genshin-impact-card/public/favicon.png
背景图:/root/genshin-impact-card/assets/skin/
主页内容:/root/genshin-impact-card/views/index.pug

这样所有处理会交给JS来处理,对服务器负载大,也不利于防御攻击和快速请求
建议仅目标的PNG文件交给JS来处理,其他由NGINX自行解决

NGINX细致化反代参考
https://www.blueskyxn.com/202101/3840.html
https://www.blueskyxn.com/202101/3860.html

location区块改成
location ~* ^/[0-9]*/[0-9]*\.png$

location ~* ^/detail/[0-9]*/[0-9]*\.png$

推荐使用CloudFlare等CDN来缓存,缓解服务器压力
如何使用CDN,如何使用CloudFlare,如何白嫖/购买/解析域名,如何安装/使用宝塔面板
如何使用/配置NGINX,如何搭建网站,如何管理Linux文件均不是本文应涵盖的内容
请自行站内学习,或者自己谷歌百度

不清楚IBM/HEROKU等容器和CFworkers等能不能用上

理论上CFW反代IP端口也是可行的【即无需域名使用CloudFlare】

白嫖域名【Freenom等】低价域名【各家活动,数字xyz等】请自行了解

 

点击数:248