目录
仓库
https://github.com/journey-ad/genshin-impact-card
https://github.com/BlueSkyXN-Backup/genshin-card
前言
原作者在其仓库给出了2种自建方法,本文演示基于自己服务器的搭建方法
如何使用生成器:https://www.blueskyxn.com/202102/4005.html
声明与介绍
请注意,本人和原作者和相关版权所有人均无责任义务提供相关服务,并随时可以要求下架停止侵权
请自行慎重考虑后使用
如果有相关版权所有人认为我提供的网站服务侵犯了您的权益,请通过邮件联系我,我将及时下架相关内容
海外用户
关注频道@GenshinCN
私聊BOT@BlueSkyXN_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等】请自行了解
Comments NOTHING