CasperG's Blog

Some People choose to see the ugliness in the world, the disarray. I choose to see the beauty.

为hexo添加live2d

  1. 安装live2d模块

    npm install --save hexo-helper-live2d

  2. 安装live2d模型

    npm install {packagename}

    • live2d-widget-model-chitose
    • live2d-widget-model-epsilon2_1
    • live2d-widget-model-gf
    • live2d-widget-model-haru/01
    • live2d-widget-model-haru/02
    • live2d-widget-model-haruto
    • live2d-widget-model-hibiki
    • live2d-widget-model-hijiki
    • live2d-widget-model-izumi
    • live2d-widget-model-koharu
    • live2d-widget-model-miku
    • live2d-widget-model-ni-j
    • live2d-widget-model-nico
    • live2d-widget-model-nietzsche
    • live2d-widget-model-nipsilon
    • live2d-widget-model-nito
    • live2d-widget-model-shizuku
    • live2d-widget-model-tororo
    • live2d-widget-model-tsumiki
    • live2d-widget-model-unitychan
    • live2d-widget-model-wanko
    • live2d-widget-model-z16
  3. 相关配置

    在hexo的blog根目录下,编辑_config.yml文件,在最下方加入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Live2D
## https://github.com/EYHN/hexo-helper-live2d
live2d:
enable: true
# enable: false
scriptFrom: local # 默认
pluginRootPath: live2dw/ # 插件在站点上的根目录(相对路径)
pluginJsPath: lib/ # 脚本文件相对与插件根目录路径
pluginModelPath: assets/ # 模型文件相对与插件根目录路径
# scriptFrom: jsdelivr # jsdelivr CDN
# scriptFrom: unpkg # unpkg CDN
# scriptFrom: https://cdn.jsdelivr.net/npm/live2d-widget@3.x/lib/L2Dwidget.min.js # 你的自定义 url
tagMode: false # 标签模式, 是否仅替换 live2d tag标签而非插入到所有页面中
debug: false # 调试, 是否在控制台输出日志
model:
use: live2d-widget-model-haru
scale: 1
hHeadPos: 0.5
vHeadPos: 0.618
# use: live2d-widget-model-wanko # npm-module package name
# use: wanko # 博客根目录/live2d_models/ 下的目录名
# use: ./wives/wanko # 相对于博客根目录的路径
# use: https://cdn.jsdelivr.net/npm/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json # 你的自定义 url
display:
superSample: 2
width: 150
height: 300
position: right
hOffset: 0
vOffset: -20
mobile:
show: true # 是否在移动设备上显示
scale: 0.5 # 移动设备上的缩放
react:
opacityDefault: 0.7
opacityOnHover: 0.8

注意:yml文件强制缩进,不要多打空格。

最后使用hexo g重新构建网站

路由器相关命令(持续更新~)

更改路由器发射功率

1
2
3
4
5
6
7
8
nvram set pci/1/1/maxp2ga0=120 #调整最大发射功率为28.5dBm
nvram set pci/1/1/maxp2ga1=120
nvram set pci/1/1/maxp2ga2=120
nvram set pci/2/1/maxp5ga0=120,120,120,120
nvram set pci/2/1/maxp5ga1=120,120,120,120
nvram set pci/2/1/maxp5ga2=120,120,120,120
nvram commit
reboot

然而,在未刷美版CFE之前,5g功率似乎被锁定在24dBm…

华硕AC1900p刷梅林固件并安装科学上网插件

须知: AC1900p与AC68U可以使用相同固件

1. 刷梅林固件

  1. 从恩山论坛下载梅林固件(ac68u):RT-AC68U_384.18_0_koolshare.trx (在OneDrive中有备份)

  2. 在路由器后台 固件更新中选择 上传固件

1610885813842.png

刷完后路由器会自动重启

2. 安装科学上网插件

刷梅林固件的意义就在于能够使用其内置的软件中心,而科学上网类的插件都已经被默认屏蔽了,所以我们需要手动安装。

  1. 下载科学上网插件(需使用arm384版本)

    shadowsocks_arm384_1.0.4.tar.gz (OneDrive有备份)

  2. ssh登陆路由器并安装科学上网

    可以使用软件中心下载的在线ssh登录,也可以用putty登录username@192.168.50.1(需要在后台开启ssh)

    1
    2
    3
    4
    5
    6
    7
    8
    远程计算机:
    scp shadowsocks_arm384_1.0.4.tar.gz username@192.168.50.1:/tmp #将安装包发送至路由器/tmp目录
    路由器终端:
    cd /tmp
    tar -zxvf shadowsocks_4.1.1.tar.gz #解压安装包
    cd shadowsocks
    chmod +x install.sh #给安装脚本添加执行权限
    ./install.sh #执行安装脚本

    安装完成后重启路由器,即可在软件中心找到 科学上网

v2ray/v2fly的搭建

本md记录了如何在一个vps上搭建v2ray (v2fly是新版本的v2ray)

1. 安装

  1. 同步时间
1
2
3
date -R
timedatectl set-local-rtc 1
timedatectl set-timezone Asia/Shanghai
  1. 安装源码
1
2
curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh
curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh
  1. 安装及更新V2ray

    bash install-release.sh

  2. 安装geoip.dat和geosite.dat

    bash install-dat-release.sh

  3. 安装依赖

    yum update && yum install curl -y && yum install cron -y && yum install socat -y

  4. ##卸载v2ray

    bash install-release.sh --remove

2. 配置

  1. 配置文件位于/usr/local/etc/v2ray/config.json (需要自己创建)

配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
"inbounds": [
{
"port": 50056, // 服务器端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "UUID", // V2ray客户端UUID
"alterId": 64
}
]
},
"streamSettings": {
"network": "ws", // TCP或WS
"security": "tls", // security 要设置为 tls 才会启用 TLS
"tlsSettings": {
"certificates": [
{
"certificateFile": "/etc/v2ray/v2ray.crt", // 证书文件路径
"keyFile": "/etc/v2ray/v2ray.key" // 密钥文件路径
}
]
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}

需要更改的配置项有:端口、uuid、证书及密钥地址(经测试:证书和密钥可直接使用nginx网站的证书)

  1. 常用命令

    1
    2
    3
    systemctl restart v2ray
    systemctl status v2ray
    systemctl enable v2ray #开机自启动

    也可直接使用 /usr/local/bin v2ray -config /usr/local/etc/v2ray/config.json命令直接启动 (v2ray的程序安装在/usr/local/bin/v2ray, 配置文件在/usr/local/etc/v2ray/config.json)

3. 使用BBR plus 加速

安装四合一脚本

1
2
3
4
5
wget https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh #下载脚本

chmod +x tcp.sh #更改权限

./tcp.sh #运行脚本

在脚本中,先选择安装bbr plus内核,重启后再安装加速模块。

Docker的部署

1. 安装Docker

卸载旧版本docker

sudo apt-get remove docker docker-engine docker.io

安装所需依赖

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

信任docker的GPG公钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加软件仓库

1
2
3
4
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

安装docker

1
2
sudo apt-get update
sudo apt-get install docker-ce

2. docker命令

1
2
3
4
5
6
7
8
9
10
11
#启动docker
sudo systemctl start docker

#停止docker
sudo systemctl stop docker

#重启docker
sudo systemctl restart docker

#登录dockerhub账号
sudo docker login
镜像操作

符合命名规则的镜像由 用户名/库名:版本号 构成。(不写版本号默认为latest)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#列出镜像
sudo docker images

#从dockerhub拉取镜像
sudo docker pull <username>/<respo>:<tag>

#更改镜像tag
sudo docker tag iamge <username>/<respo>:<tag>

#上传镜像至dockerhub
sudo docker push <username>/<respo>:<tag>

#删除镜像
sudo docker rm image
容器操作

创建容器

sudo docker run [option] [镜像名] [向启动容器中传入的命令]

常用可选参数:

1
2
3
4
5
6
7
8
-i # 表示以“交互模式”运行容器
-t # 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
--name # 为创建的容器命名
-v # 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d # 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p # 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e # 为容器设置环境变量
--network=host # 表示将主机的网络环境映射到容器中,容器的网络与主机相同

交互式容器

创建一个交互式容器,并命名为 myubuntu ,使用如下命令:

sudo docker run -it --name=myubuntu ubuntu /bin/bash

在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。

守护式容器

如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。

sudo docker run -dit --name=myubuntu2 ubuntu

进入已运行的容器:

1
sudo docker exec -it [容器名或容器id] [进入后执行的第一个命令]

停止与启动容器

1
2
3
4
5
6
7
8
9
10
11
# 停止一个已经在运行的容器
sudo docker container stop [容器名或容器id]

# 启动一个已经停止的容器
sudo docker container start [容器名或容器id]

# kill掉一个已经在运行的容器
sudo docker container kill [容器名或容器id]

# 删除容器
sudo docker container rm [容器名或容器id]

将容器保存为镜像

1
sudo docker commit [容器名] [镜像名]

镜像备份与迁移

1
2
3
4
5
6
7
8
# 打包
sudo docker save -o [保存的文件名] [镜像名]

# 如
sudo docker save -o ./ubuntu.tar ubuntu

# 加载
sudo docker load -i ./ubuntu.tar

刚刚通关了看门狗:军团。在此简单的记录一下游玩的体验。主线通关时长:12小时(包含收集探员的时间)。剧情方面:主线剧情较短且为单结局。相比前作(狗1狗2)刻画的现代社会,本作的时间线发生在近未来。主角所在的DedSec黑客组织通过调查取证,完成各种任务最终自证清白,并将伦敦的“独裁者”阿尔比恩公司的恶行公之于众。流程中中出现的多股势力和反转的剧情很抓眼球。但是,我认为这款游戏在剧情方面是失败的。本作的剧情并不符合看门狗系列的剧情逻辑。前作看门狗2,一群有志黑客齐心协力解决当今社会由互联网引发的问题(如:隐私泄露等)。而在看门狗1中,狗哥所做的一切都是围绕着自己的家庭。剧情符合角色的身份,角色们做着力所能及的事情。这也正是看门狗系列剧情的核心:场景不大、小人物们做着平凡的小事。然而…在本作中,几个黑客竟然击败了私人安保公司(军队)并解放了伦敦???WTF我直接好家伙…这离谱的设定编剧没三年脑血栓能想的出来? 以至于玩到后期,场景越宏大,使命感越强,违和感也就越强。游戏玩法方面:本作主打的NPC招募系统属实让人眼前一亮,个人认为育碧在不固定主角这条道路上的探索是正确的。载具驾驶手感一如既往的烂,不做评价… 关卡设计重复度非常高,这算是育碧3A沙盒的通病,也暂不予评价… 本作在玩法方面最主要的问题是:看门狗是科幻风的潜入类游戏好吧??? 到了这一代怎么成无双突突突了?狗2那会我还经常把看门狗和杀手系列放在一起对比呢… 到了这,换上狠点的角色,拿上一把机枪,直接无脑突突突就vans了… 看门狗追求的解密呢?潜入暗杀呢?我相信很多看门狗的老玩家还是比较喜欢潜入解密类游戏的。育碧啊,探索新方向是好的,但是大方向千万别错啊… 还有,解放行政区的这个玩法我特别想拿出来说一说… 这个玩法怎么似曾相识?干,咱在1868年的伦敦不就搞了一次了吗?这跟刺客信条:枭雄简直一模一样啊…连解放行政区后庆祝的音乐都有几分相似… 当时玩枭雄就觉得解放行政区这个玩法冗长且重复,这里又给搞回来了…真有你的育碧。

总的来说,作为育碧旗下当红IP的正统续作,看门狗:军团算是一款合格的作品,但也仅仅是合格而已… 个人比较失望,且值不回票价…

以上仅代表个人观点,不具有权威性,欢迎探讨。

我们经常需要在两台不同的服务器间传输数据。scp命令可以通过ssh协议传输文件。

  1. 命令详解:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
scp [可选参数] file_source file_target 
可选参数:
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
  1. 实例:

    本地上传至远程:scp local_file remote_username@remote_ip:remote_folder

    注意:复制目录需要用 -r 参数。

    远程下载至本地:scp root@www.runoob.com:/home/root/others/music/home/space/music/1.mp3


参考链接:

菜鸟教程-scp命令详解

本md记录了如何备份一个Linux系统并将其还原至新机器。

即:将/ 目录下所有内容全部打包为tar,并在新机器中解包。

1.备份

本a)可以直接通过tar对整个文件系统(’/‘)进行备份,但是有几点需要注意:

i. 不能备份以下几个文件(目录)

\1. 当前压缩文件

\2. /proc文件夹

\3. /lost+found文件夹

\4. /mnt文件夹

\5. /sys文件夹

\6. /media文件夹

b)所以,命令为:

1
2
tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /

2.还原

a) Linux可以再正在远行的系统中还原系统,如果当前启动无法启动,可以通过live cd来启动并执行恢复操作

b) 操作如下

1
tar xcpfz backup.tar.gz -C /

c) 需要额外创建目录

1
2
3
4
5
6
7
8
9
mkdir proc

mkdir lost+found

mkdir mnt

mkdir sys


用Hexo搭建个人博客


[TOC]

系统版本:CentOS 7 (CentOS Linux release 7.8.2003 (Core))

安装Hexo

一、必备环境搭建及Hexo安装
  1. 安装node.js和git

    1
    2
    yum -y install git
    yum -y install nodejs
  2. 查看node和npm版本

    node -v

    npm -v

    如果npm不是最新版本,请更新,否则hexo安装时会报错。

    img

  3. 更新npm

    1
    2
    3
    4
    5
    6
    npm uninstall npm -g #卸载旧版本npm
    mkdir npm #创建存放npm的目录
    cd npm
    wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz #下载最新版npm
    tar -xvf node-v10.14.1-linux-x64.tar.gz #解压
    mv node-v10.14.1-linux-x64 node

    添加环境变量:

    1
    2
    3
    4
    vim /etc/profile
    -----------加入以下内容
    export NODE_HOME=/usr/local/node
    export PATH=$NODE_HOME/bin:$PATH

    刷新 source /etc/profile

  4. 安装hexo

    本文使用npm进行安装:

    npm install -g hexo-cli

    安装完成后,要配置相关环境变量:

    echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile

    至此,hexo就安装完成啦!XD

二、Hexo基本配置

我们需要对Hexo进行最基本的配置以方便以后的使用

  1. 创建Hexo项目

    1
    2
    3
    $ hexo init <folder>
    $ cd <folder>
    $ npm install

    创建完成后,我们可以看一下Hexo项目的文件目录结构:

    1
    2
    3
    4
    5
    6
    7
    8
    .
    ├── _config.yml
    ├── package.json
    ├── scaffolds
    ├── source
    | ├── _drafts
    | └── _posts
    └── themes

    各文件功能:

    1
    2
    3
    4
    5
    6
    _config.yml	hexo配置文件(基本上所有配置都围绕这个文件)
    scaffold 存放模板
    source 推文的源文件
    _drafts 草稿源
    _posts post源
    themes 主题文件夹
  2. 配置 _config.yml

    keys

    主要更改author、subtitle等项。

三、Hexo的基本操作
  1. 创建post

    hexo new a (a为推文的名称)

    本操作会让hexo在source/_posts下创建a.md文件。(post将直接发布在网站上)

  2. 创建draft

    hexo new draft b (b为draft的内容)

    本操作会创建一个draft,即在source/_drafts下创建b.md(draft不会显示在网站上)

  3. 发布

    hexo publish

    本操作会发布所有的draft,即将source/_drafts下的.md文件转移至source/_posts。

  4. 生成静态网页

    hexo generate | hexo generate --watch

    本操作会将所有posts生成为html文件,保存在./public中。

  5. 清除缓存

    有时(更换主题后)需要清空所有public中的内容,此时需要使用hexo clean

    清空后要重新generate以生成最新的静态页面。

四、将public目录部署nginx

具体参考:如何部署nginx

至此,我们的博客就搭建完成啦!XD


参考链接:

Documentation | Hexo

centos安装pm2出现问题 哈利路亚啊啊啊 - 博客园 (cnblogs.com)

本md记录了一次从零配置nginx服务并配置ssl证书的经历


[TOC]

系统版本:CentOS 7 (CentOS Linux release 7.8.2003 (Core))

一、安装nginx
1
yum -y install nginx

安装成功后别忘了开启服务:

1
2
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
二、配置nginx

首先,我们需要确定我们网站的根目录,如:/home/wwwroot/www.gurh16.top

之后,找到并修改/etc/nginx/nginx.conf 。

可能用到的文件搜索命令:

1
sudo find -name nginx

在nginx.conf中,”#”代表注释,最重要的是server{}块这部分。每个server{}就代表每一个web站点;listen后为监听端口,一般http为80,https为443;server_name为域名;location后为网站根目录的绝对路径。

img

1
2
3
4
5
listen 80;代表监听80端口
server_name xxx.com;代表外网访问的域名
location / {};代表一个过滤器,/匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image制定专属过滤
root html;代表站点根目录
index index.html;代表默认主页

保存,至此我们就完成了最基本的nginx配置!

记得刷新!!!

nginx -s reload

Now, 不妨试试用域名访问一下自己的网站吧!XD

三、获取并配置SSL证书

证书可通过腾讯云获取,第一年免费使用。

获取证书后,我们会得到以下两个文件,一个为证书文件,另一个为key。企业微信截图_16091720908073.png

将两个证书上传至服务器(推荐目录:/etc/ssl 本文中使用的目录:/home/wwwroot/www.gurh16.top/ssl)

修改nginx.conf文件:(监听443端口)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
http{
#http节点中可以添加多个server节点
server{
#监听443端口
listen 443 ssl;
#对应的域名,把baofeidyz.com改成你们自己的域名就可以了
server_name baofeidyz.com;
#从腾讯云获取到的第一个文件的全路径
ssl_certificate /etc/ssl/1_baofeidyz.com_bundle.crt;
#从腾讯云获取到的第二个文件的全路径
ssl_certificate_key /etc/ssl/2_baofeidyz.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。
location / {
#文件夹
root /home/wwwroot/www.gurh16.top;
#主页文件
index index.html;
}
}
server{
listen 80;
server_name www.gurh16.top;
rewrite ^/(.*)$ https://www.gurh16.top:443/$1 permanent;
} #重定向链接
}

刷新!!!

nginx -s reload

大功告成!现在你的网站可以用https访问啦!


参考链接:

Nginx Linux详细安装部署教程 - taiyonghai - 博客园 (cnblogs.com)

Nginx配置SSL证书 - 别动我的猫 - 博客园 (cnblogs.com)