使用rufus制作启动盘

准备:

  1. u盘
  2. 系统镜像
  3. rufus

首先在电脑上下载rufus

rufus直接下载地址https://github.com/pbatard/rufus/releases/download/v3.21/rufus-3.21p.exe

之后下载系统镜像

可以利用网站i tell you下载系统镜像,也可以通过下方连接下载

itellyou:

  1. https://next.itellyou.cn/ 推荐使用
  2. https://msdn.itellyou.cn/

win11

win10

win7

之后将u盘插入电脑启动rufus

rufus教程

rufus教程

创建启动盘后重启电脑进入bios

将u盘选择到首选项后重启电脑就会进入安装界面进行安装即可

修改博客有感

把博客转为hexo后,发现以前发的文章有许多格式问题,于是趁着居家办公想要修复一下,但是越修复越头疼.

没想到以前写的那么小白,还能写的津津有味.

也没想到时间居然已经过去了2年了.

虽然没成为大牛,但终究不当小白了,什么都能瞎扯一段.

navicat16激活破解教程中文版设置

首先我一开始是找了个一个英文版的navicat16破解版,但是感觉英文版看着好别扭,所以就想给他改成中文版,但是当时下载的版本并没有更改语言的选择,所以从官网重新下载了一个,之后把安装目录设置到原来的目录下就可以了。

但是换成新的版本就会造成一个问题以前的破解失效了。

所以就需要重新破解,在吾爱上发现可以通过修改注册表来进行重新试用,但是实际操作发现并没有什么用。

于是尝试了一下别的,也就是本文的主角navicat-keygen

这个其实已经有教程了,我简单说一下步骤。

首先需要将文件编译出来,这里需要

  1. Visual Studio 2022 或者更高版本。因为这是一个VS2022项目。
  2. vcpkg 以及下面几个库:
  • fmt:x64-windows-static
  • fmt:x86-windows-static
  • openssl:x64-windows-static
  • openssl:x86-windows-static
  • rapidjson:x64-windows-static
  • rapidjson:x86-windows-static
  • keystone:x64-windows-static
  • keystone:x86-windows-static
  • unicorn:x64-windows-static
  • unicorn:x86-windows-static

vcpkg的安装

  1. 从git下载git clone https://github.com/microsoft/vcpkg
  2. 添加到环境变量D:downloadvcpkg
  3. 使用powershell打开bootstrap-vcpkg.bat这里建议加上代理$env:HTTP_PROXY="xxx" $env:HTTPS_PROXY='xxxx',然后就会下载一个vcpkg.exe的文件
  4. 输入vcpkg integrate install
  5. 安装vcpkg环境
1
2
3
4
5
6
7
8
9
10
vcpkg install fmt:x64-windows-static
vcpkg install fmt:x86-windows-static
vcpkg install openssl:x64-windows-static
vcpkg install openssl:x86-windows-static
vcpkg install rapidjson:x64-windows-static
vcpkg install rapidjson:x86-windows-static
vcpkg install keystone:x64-windows-static
vcpkg install keystone:x86-windows-static
vcpkg install unicorn:x64-windows-static
vcpkg install unicorn:x86-windows-static

navicat-keygen通过git下载到本地并解压

1
git clone -b windows --single-branch https://notabug.org/doublesine/navicat-keygen.git

然后打开Visual Studio,打开前面下载的navicat-keygen项目文件。

image.png

将debug改成release

image.png

选择 生成 > 生成解决方案

image.png

生成完成后,你会在 bin/ 文件夹下看到编译后的keygen/patcher。

之后根据教程进行注册即可,记得要把网络断了。

或者修改host127.0.0.1 activate.navicat.com这样也可以达到断网的效果。

  1. 使用navicat-patcher.exe替换掉navicat.exelibcc.dll里的Navicat激活公钥。
1
navicat-patcher.exe [-dry-run] <Navicat Install Path> [RSA-2048 PEM File Path]
  • [-dry-run]: 运行patcher但不对Navicat程序做任何修改。

    这个参数是可选的。

  • <Navicat Install Path>: Navicat的完整安装路径。

    这个参数必须指定。

  • [RSA-2048 PEM File Path]: RSA-2048私钥文件的完整路径或相对路径。

    这个参数是可选的。 如果未指定,navicat-patcher.exe将会在当前目录生成一个新的RSA-2048私钥文件。

例如:(在cmd.exe中)

1
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 16"

Navicat Premium 16.0.7 英文版 已通过测试。下面将是一份样例输出:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
***************************************************
* navicat-patcher by @DoubleLabyrinth *
* version: 16.0.7.0 *
***************************************************

[+] Try to open libcc.dll ... OK!

[*] patch_solution_since<16, 0, 7, 0>: m_va_CSRegistrationInfoFetcher_WIN_vtable = 0x00000001837759f0
[*] patch_solution_since<16, 0, 7, 0>: m_va_CSRegistrationInfoFetcher_WIN_GenerateRegistrationKey = 0x0000000181fa52d0
[*] patch_solution_since<16, 0, 7, 0>: m_va_iat_entry_malloc = 0x0000000183439bd0
[+] patch_solution_since<16, 0, 7, 0>: official encoded key is found.

[*] Generating new RSA private key, it may take a long time...
[*] Your RSA private key:
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAvxaFFjTE6hi80nhjgfFMM3yPer122OIWIbbumFIuAOcCF6D3
PnRHBdP9IqB99K6Nv6vKK3Jf0Y+dc5ETrg0l0AHYq+dTFTiWusHuRMx6xFjWzO96
7mFmJq6P28dUucKnr6yG1TQeZaq+mHh2DNEnNEYgV7cLVT1unUmMOL/PBh/eCcaJ
8hQNTQafQQknzCnAKC89v33y+rKInJNy9B+zSB0BGCz+eS8MKf6zc78JMSOnF2uj
NK+QEwaYw8lAbJve1F+rCQS0mbm0QvHhZYZrblVHI5l/8LkX5qBtKw7duUhXHxmO
fQieF23bBk9HDp5uQUGsdbKX6ZWitn/h926xyQIDAQABAoIBAQCHXxDRdni5zuSV
xivYdnUhVHDg5zA23ZQINmw5BJ8KjJzy2FnPqNhXzKJb0Y7ptG8/BhinRtOSxkcp
A/IJL89F2MkCn1JAimJd091UZ/fg+X7SmCVikyWm6auIa2IeZ0QcNAEhMVcHdzqn
EU+wLMu1QKjQ+x/QN0ERtHTeDyQ+lUNB+bvAjx3LHN9Zh8weVBHHtwDoyyZDdJPw
NWgpgcW+uYzlT66uh7LPPaRsEZgAkPIkhzZnwmugXdhlWxtYHKTEfe5gCqubQICc
I/x1yBP1EZFm6qBQD4/49775ZbXwxgaWvBXG+Aah9x8JYtVUS4MgrAiC4a8NQqFp
nwKVjUIBAoGBAOWsj9GGb2KYbfLzJNRrSxhs4TUBfpHteKSm2pL92NAbIOjssNhL
hLY3gBFX2RnYmoGD6YT84JNykuAictgAd5GwvLIbaVF9l7MQn8APRbe2CzQ+/494
9hpn33MZOBNd3I+a5+2qoFbXI04loyYDJkkeOqbwZzJjs7k9HmZMNwY5AoGBANT9
tRFWFDvA0pPgGoHhzlsAUAmrbSfCPkhrRXpE9fgl3VnV+NRtjCf9NhJt0uaIokZ5
oSf+jClcwU8N4EvGxMBaCHTqBzgc4dLPWpMAhPoMjjv1Oyug2iBcuTasHVP+Jdgq
CaNzpXOuq4upaaNrq+QMsI6O9wA/zWhWPmnYQYgRAoGAUk56471noU+65zvXUQB6
UvCB7Hrynt0ZRPg+kDrEPh/atV5NKdY2Yw6UqKJwvOBwzkU1pGDzIiQHGqd9vIa+
Usmhdbp5DakSeitU9IEEnQdyEHEbKJFSsLfUzeyVuesDJbt/rh5dg4Fpt5GpW+/5
Am8A2d6BPP+Z4qJSiJp7hZECgYEAy64TCZEXqEytE1yr/KjDfaK+54BX0j2e8gIj
XtmznqoXE2Hboslfzp4Gp3j+xhbDmEGYK3bw8l0RP1g1tkFOxeNTUvq6DJ8SFVbV
dt54S+bV3eCVxRL9hRUmyXGuWjQgXKdWsEhXYFkZE2Xe77h3mI3KCYoOCt74v146
MV3szQECgYEAozTO7Wuum+VMKIY35hmHMjUiYmLl3EXWwMBT2VSsk8Siu0XoH0yd
KoxsLDUBMS8sWKCZhFwU+Fx8UZjfo+xE3H4UTyVsw5EDpB9gSud928gNADwxTKor
3s4jnUzb4XRQ0qN2jXzdNuqXNV1ozeqajbM2oSZqbSnWSs5g6DpIs1Q=
-----END RSA PRIVATE KEY-----

[*] patch_solution_since<16, 0, 7, 0>: Patch has been done.
[*] New RSA-2048 private key has been saved to
C:\Users\DoubleSine\source\repos\navicat-keygen\bin\x64-Release\RegPrivateKey.pem


*******************************************************
* PATCH HAS BEEN DONE SUCCESSFULLY! *
* HAVE FUN AND ENJOY~ *
*******************************************************
  1. 接下来使用navicat-keygen.exe来生成序列号和激活码
1
navicat-keygen.exe <-bin-text> [-adv] <RSA-2048 Private Key File>
  • <-bin-text>: 必须是-bin-text

    如果指定了-binnavicat-keygen.exe最终将生成license_file文件。这个选项是给Navicat旧激活方式使用的。

​ 如果指定了-textnavicat-keygen.exe最终将生成Base64样式的激活码。这个选项是给Navicat新激活方式使用的。

这个参数必须指定。

  • [-adv]: 开启高级模式。

    这个参数是可选的。 如果指定了这个参数,navicat-keygen.exe将会要求你手工填写产品ID号、语言标识号。这个选项一般是给以后用的。

  • <RSA-2048 Private Key File>: RSA-2048私钥文件的完整路径或相对路径。私钥必须是PEM格式的。

    这个参数必须指定。

例如:(在cmd.exe中)

1
navicat-keygen.exe -text .\RegPrivateKey.pem

你会被要求选择Navicat产品类别、语言以及输入主版本号。之后会随机生成一个序列号。

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
37
38
39
40
41
***************************************************
* navicat-keygen by @DoubleLabyrinth *
* version: 16.0.7.0 *
***************************************************

[*] Select Navicat product:
0. DataModeler
1. Premium
2. MySQL
3. PostgreSQL
4. Oracle
5. SQLServer
6. SQLite
7. MariaDB
8. MongoDB
9. ReportViewer

(Input index)> 1

[*] Select product language:
0. English
1. Simplified Chinese
2. Traditional Chinese
3. Japanese
4. Polish
5. Spanish
6. French
7. German
8. Korean
9. Russian
10. Portuguese

(Input index)> 0

[*] Input major version number:
(range: 11 ~ 16, default: 16)> 16

[*] Serial number:
NAVL-GFKA-T5SR-ZFTK

[*] Your name:

你可以使用这个序列号暂时激活Navicat。

接下来你会被要求输入用户名组织名;请随便填写,但不要太长。

1
2
3
4
[*] Your name: Double Sine
[*] Your organization: PremiumSoft CyberTech Ltd.

[*] Input request code (in Base64), input empty line to end:

之后你会被要求填入请求码。注意 不要关闭命令行 .

  1. 断开网络 并打开Navicat。找到注册窗口,并填入keygen给你的序列号。然后点击激活按钮。
  2. 一般来说在线激活肯定会失败,这时候Navicat会询问你是否手动激活,直接选吧。
  3. 手动激活窗口你会得到一个请求码,复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[*] Your name: Double Sine
[*] Your organization: PremiumSoft CyberTech Ltd.

[*] Input request code (in Base64), input empty line to end:
CpgnfbIJGmAcxCuo/pAb8EeoS0audZn2NNemg6c3NPK/dWgb343IZQrFwoBZY6lpxE4Fq1BoNmCM75P03XpiXQ+hErcvFWk6iQPDCk/d4msf/AoprIqAMpXFoFLkeP0G93UIIEeBsUej8SrxdDgQDM585iPok5fUW+fTDCD1VICr7DBdL3c/69IxeIgiOQSuImdIQiM3/EOfDiFbAJL9vHW5LxFT8jj+8RPXehwPTBphpInmGdzxVZUZJwAGlXt7orrRbzafdeBjz6MnTajTcJP3SS2dBCiR33UScnyxYGEXdzv7+QLScTmCvI7gqg3Z8DMhroKMoHmy1AvC16FKVw==

[*] Request Info:
{"K":"NAVLGFKAT5SRZFTK", "DI":"7D48FCBD093C778879A1", "P":"WIN"}

[*] Response Info:
{"K":"NAVLGFKAT5SRZFTK","DI":"7D48FCBD093C778879A1","N":"Double Sine","O":"PremiumSoft CyberTech Ltd.","T":1644387294}

[*] Activation Code:
vwLGmQIWg/DtzHMcaKCDHAjTcBNbTo2VmNllphUSUMgGjgvL6v82ue+GqXB6M/qn48Rj4D4Joqqisr6UwMSclNmQxOQz4RftEpLtG6KBjDo4LM71qn9R/jWoZV5EoHPQkX5gzhO/D7GammrRGn2MV+zI6dJ4c4SBFNnNyjAeEqNzinrQwjB7lUVTlpHEe/SMrdCsGliPZQ/X+5ASbEsq3D8PZsjysJv98MIJrZvdTdznrRe8JzYP+8sbIPQMIX1UDmdyDpbpSl45N92OhO4htz1kFjUEfnrwY0GMOhdYHv/PfMI7RiQzkRyY7pLvX7muJ4dkA+CmMmwew3gy3MWjig==

如果不出意外,你会得到一个看似用Base64编码的激活码。直接复制它,并把它粘贴到Navicat的手动激活窗口,最后点激活按钮。如果没什么意外的话应该能成功激活。

JetBrains全系列软件激活教程激活码Windows mac通用方法

之前一直用的无限重置,但是发现最近有点不是很好用。

然后找了一圈发现好像很早以前的那个激活时长改到2099年的还好使,所以准备把自己的ide改成2099年。

首先需要下载一个jar文件https://wwu.lanzoub.com/i7GF608g24ta

然后把他解压到自己的用户文件目录下

C:\Users\用户名

mac的话,也是放在用户目录下。

之后去https://www.jetbrains.com/官网下载需要的版本,这里推荐的是2021.1.3这一版本的ide。

  1. 下载安装,然后打开ide进入激活界面。
  2. 之后找到安装目录下的xxx64.exe.vmoptions文件
  3. 在文件末尾添加-javaagent:/Users/用户名/fineagent.jar 如果不是装在c盘,请修改成对应的文件路径如E:fineagent.jar
  4. 关闭ide,重新打开
  5. 选择Activation Code然后输入下方激活码进行激活即可。
1
5AYV1D1RE5-eyJsaWNlbnNlSWQiOiI1QVlWMUQxUkU1IiwibGljZW5zZWVOYW1lIjoiaHR0cHM6Ly93d3cuaml3ZWljaGVuZ3podS5jb20iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiIiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJJSSIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEifSx7ImNvZGUiOiJBQyIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEifSx7ImNvZGUiOiJEUE4iLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIn0seyJjb2RlIjoiUFMiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIn0seyJjb2RlIjoiR08iLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIn0seyJjb2RlIjoiRE0iLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIn0seyJjb2RlIjoiQ0wiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIn0seyJjb2RlIjoiUlMwIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlJDIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlJEIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlBDIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlJNIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IldTIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IkRCIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IkRDIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlJTVSIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEifV0sImhhc2giOiIxMjc5Njg3Ny8wIiwiZ3JhY2VQZXJpb2REYXlzIjo3LCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-HNPogO0kWkHCVMnsjmBXUqQt87UPHqdkYqZGveSJtu8hb2V2Yq7gHsHenp4UuEd3jwEwC+YrUIf7U5yDA/56F5Sdn0RLUHZX5DHeQbJPbmYCBsDRT7m8rnmMFOSZn3vwNatvv1cooZbcGOk3Wwxx6bF7XcgaIrmXRcmZMZgv2PZehr0WS1HxNKe3X4nbGP3MwiSbg4ypmxNDrljmgv+Si9QDDwNLDffqeO0Lce0FqEJuMWmvBS42S0aeIYF8IS5bp4+LFKLJ8T7tF40OxKYDurBb9+9c43GZBscM/eLB8Jos66jNGFwgebFUlvhzJKVHZtuc/N8zGeEnTq6K0T/B8w==-MIIDTjCCAjagAwIBAgIBDTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMCAXDTE4MTEwMTEyMjk0NloYDzIwOTkwODA5MDIyNjA3WjAfMR0wGwYDVQQDDBRwcm9kMnktZnJvbS0yMDIwMTAxOTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMK3eyr0+Oys/TwcQO+qYaXWGBmXcEP4fR0bHHzZd/4WNGltXhecM80OWthA38BQRYAJBCKz/dSkO2Kj1H2y+7KB5cIaOiJEyTESfTSgzQdot6laRBU8oxy9mmagI46M8zEEmplPybY4YJj4HOwZiBsMQEMxoTgMDLpuHX6uASoVhSj6koB55lOj4wEgsQBeAMWTAXmTl88ixE179J8aBUkBGpL8w/tZzl9BJXZNF15gPfkS58rw8cdPzXLS0Yym37A2/KKFhfHzJc5KhbaxqYzmkAfTMqPsIqCQ1lQUAqfiPn2gN2I1Z3/cQuEW27M55fXVr2DduQe5DWzYJs85L50CAwEAAaOBmTCBljAJBgNVHRMEAjAAMB0GA1UdDgQWBBQk2hEilvWFQcCTR+gxI0z0wIQC/zBIBgNVHSMEQTA/gBSjnrZIZ0ISNkG9beC5tKBSi5fxs6EcpBowGDEWMBQGA1UEAwwNSmV0UHJvZmlsZSBDQYIJANJssYOyg3nhMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIFoDANBgkqhkiG9w0BAQsFAAOCAQEAsCQBjO5wttco/Z5cj/o4GBrku8UtBBBVFq4xsBanshTHm4deVxcTvta4aScV0TPKcaLqGqWx8A9v8XXO8dBbCuyXvWZteZ/C2Covg1xXiM99lz7VxqpjVmLdKanZn5u0gQSiYJdcfF+TdbmEIeSOnN/kLXNq2hXdJQK2zk2J25UZqu5EibRtTbdOzw6ZcfwJ8uOntXfsmAhnNICP3Wf/4wR/mwB0Ka4S+JA3IbF5MUmUZ/fjUaFarnin70us+Vxf/sZUi7u67wilvwVV0NAqDpthHUV0NRc4q+yOr2Dt/uCHdy4XRXLJfAv/z9/xBwNZZALNz3EtQL6IeIWWJByl3g==

然后就可以得到一个到期时间为2099年的ide

image.png

玩客云做家庭nas

想在ipad上看小说漫画啥的。
但是之前买的ipad内存有点小,所以不是很想缓存一堆漫画挑着看,所以就想弄一个nas体验一下。

但是京东一搜 ,好几千大洋。太贵了,价格劝退。

后来搜了一下发现可以搞一个黑群晖,然后又看到了一个叫做玩客云的东西。

于是在闲鱼上买了一个比较新的玩客云。

我买的是官方绝育的机器,所以我也不知道下崽器应该怎么绝育 ,建议大家谷歌一下。

首先收到货后,发现没买硬盘,于是找了个u盘插上去,连上电源+网线,能够正常启动。

于是扫了一下后面的二维码希望可以下个app,但是发现安卓的app貌似不支持了,打开就闪退。

于是就在苹果上下了一个,直接去AppStore上搜索玩客云就能下载(后来发现可以用vmos安装玩客云,就可以正常打开了,打不开的原因就是安卓版本不对)

然后正常注册账号,等待加载即可。

首先就是文件详情

然后是设置samba,打开DLNA以及Samba就可以在同一局域网访问了


最好设置一下用户名以及密码

pc访问的话,输入\ip即可访问

这里是需要输入用户名密码

然后就可以正常访问了。

switch下载速度太慢,怎么加速下载

switch加速下载
心心念念的switch终于到了,在当时上高中的时候,一个关系很好的同学就买了一个switch,我现在还记得当时他在球场上问我switch怎么翻{过滤}qiang,我不记得我当时有没有研究过了,但是当时他问我,我确实影响深刻。

现在我的switch也到了,所以就上手试一下。

首先是看到了switch的下载速度,确实非常感人,那么应该怎么加速下载呢,我这个是日版续航的,所以理论上应该用日本的网络比较快,那么就需要进行翻{过滤}qiang了。

我们可以在本地网络翻{过滤}qiang后,使用代理,就可以正常访问谷歌了。

那么应该怎么做呢?

这里我用到的是clash
switch加速下载
然后打开他的allow lan,之后鼠标悬停在allow lan上,就会在下方出现你的本地ip,也就是最下方的ip,我这里还有两个是虚拟机的ip,然后端口就是上面的7890.

之后我们将switch和笔记本链接到同一wifi中,再对switch进行设置,就可以正常访问了。

首先就是需要对switch的wifi进行设置

switch加速下载

选择好同意个wifi后点击更改设置

switch加速下载

然后启动代理服务器设置

之后设置好端口就可以进行测试了。

当然这里大家进行测试,大概率是不可以的,这是因为你有防火墙,他会阻止这个7890端口的流量。

我们通过键盘的win+r键打开运行,之后输入control就可以打开控制面板了,当然也可以直接直接点开win,然后输入防火墙,就可以打开他的设置了。
如果是找的控制面板,那么就需要点击他的高级设置。
switch加速下载
switch加速下载
之后找到入站规则,然后找到新建规则,第一个界面选择端口,这是因为要放行clash的端口,第二个界面填入特定的本地端口,也就是7890?(这里是你自己clash的端口)然后一直下一步即可,将端口放行再次进行链接测试即可成功链接。

switch加速下载
当然,我这个测试的速度不快,换一个好点的效果会更好。
switch加速下载

在Linux上使用clash

在谷歌上找了半天在Linux上安装clash的方法,感觉都不是非常好用。

然后就发现了这个https://github.com/juewuy/ShellClash一个脚本,直接安装,非常nice。

需要在服务器上安装wget
Use curl:

1
2
3
4
5
6
#by github-CDN
export url='https://raw.githubusercontent.com/juewuy/ShellClash/master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
#by jsdelivrCDN
export url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
#by myserver
export url='http://shellclash.ga/' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null

Use wget:

1
2
#By jsdelivrCDN
export url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null

跳着一个自己能用的然后安装就行了,傻瓜式操作。
clash安装

工作总结

手上的活终于忙完了,所以准备写一下工作总结,记录一下目前遇到的问题,以及相应的解决方法。

内容

首先说一下目前的工作内容吧,其实跟在学校学的关系不是很大,目前做的是内容采集,具体的就不说了。
我上手的两个论坛,一个是死的,一个是活的,死的论坛我用python随便爬爬就获取到了,然后活的论坛本来是想用python采集的,毕竟比较熟悉,但是不是很清楚该怎么更新数据—持续化采集。

后来大哥说用puppeteer+kafka+minio进行采集,三个词我一个不认识。
幸亏时间比较充足,所以简单的了解了一下就上手去做了,在公司明白的一个内容就是,不一定需要你了解原理,你只需要会用就行了,我kafka和minio直接看的文档,复制的。用起来还可以,但是让我布服务器的话,我是不行的。

问题

1.mysql存储不了xF0x9Fx98x8A

err: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x98\x8A' for column 'content' at row 1
这个其实一开始很迷,不知道为啥会出这个错,后来发现是因为表情存不进去。。。但是自己试了一下,表情是可以存进mysql的。

解决方法是打印了一下html,发现表情的位置被黑问号替代了,被�这个符号替代了。然后就存不进mysql了,疯狂尝试都没有找到结果,后来找到了这个帖子才解决。https://stackoverflow.com/questions/65175881/puppeteer-failed-to-render-emojis-when-running-in-ubuntu貌似是因为字体不支持,安装一下支持表情的字体,就可以发现能采集到表情了。

1
apt install fonts-noto-color-emoji

2.mysql断开连接,The server closed the connection

mysql断开连接
这个是真的没有想到,原因大概是因为数据库连接超时,貌似是因为数据库有一个最大连接时间,超过这个时间就会断开,然后我这边数据其实是在启动的时候开启一边数据库,然后就等着kafka生产消费了,不会再次连接数据库,真的让我很困扰。

当时觉得应该可以的一个方法就是我这边设置一个循环,一直去找数据库查询一下数据,随便整个就行了,保持活跃,当时觉得可行,但是因为我这边出现问题,就没有尝试,后来仔细想想,应该是不行的,因为我这边数据其实是一直在往数据库写的,并且调用的是连接数据库,然后执行sql。

后来找到了一个pool,数据库连接池,这个是让我觉得真的可行的方法,并且现在我就用上了,不知道会不会出错。
https://github.com/mysqljs/mysql这个可以看一下GitHub的文档,有比较详细的内容,当然如果需要中文的话,https://www.cnblogs.com/enix/p/3654894.html推荐这一篇。

3.mysql连接池卡死

这个就没有报错了,直接卡进程里,就是啥报错也没有,但是就是不往下进行了,这个真的很迷,后来突然想到了大哥跟我说的一句话,“你这个把释放放在了调用前面,可能会拿不到数据吧”这一句话让我想起来我好像只给成功执行sql语句的连接加了释放,如果出错的话,貌似不会释放连接,然后再一想,好像出现卡死的都是有报错的。所以给出现错误的也加上释放应该就可以了。

4.Linux更换node版本

虽然说是这些问题都不是node的问题(大概),但是我还是决定换一下node版本,更换成我本机上的node–14.15.0好像,更换成这个版本。
因为我依稀记得当时装node是先去下载一个Linux版本的,然后解压,之后link就行了,但是自己试了一下发现不行(这是因为我当时用n 更新了一下node,所以就不行了,方法应该大概是可行的)

然后查了好多都没整好,后来想起来我更新版本用的n,这个好像大概也可能会降级吧。
查了一下发现真的可以,n xxxxx就行了,n 版本号就会下载对应版本的node了,n怎么安装?npm install n -g,-g是为了全局能够使用(大概是这样的)

5.minio上传失败S3Error: The provided ‘x-amz-content-sha256’ header does

反正具体的报错我就不写了,这是因为minio上传的时候,图片不在当前位置,加个延时就行了,本来我是这边下载了马上就上传,但是服务器出现了种种问题没有下载成功,然后这边就上传,就会出现这个问题。

6.node传表情到MySQL

这个问题是真的折磨人啊,但是最后还是想到了,问题出现在node连接数据库的编码格式上,我们把编码格式设置成utf8mb4即可,太难了,真没想到是这样的问题,一直以为编码这个东西只需要设置数据库就行了,在写这点内容的时候,突然就想到以前用python的时候,连接数据库也是要设置编码的,太难以置信了,我真。。
https://stackoverflow.com/questions/64737590/character-encoding-issue-node-js-mysql
https://stackoverflow.com/questions/20411440/incorrect-string-value-xf0-x9f-x8e-xb6-xf0-x9f-mysql最后是靠这两篇文章让我想起来还有编码格式这个东西的,感谢!!

7.一些补充

首先就是用puppeteer的时候,记得每一个page用完都要关闭,如果想要达到最好的效果,最好是关闭launch,然后再次启动。

然后再就是node 使用moment模块转化时间的时候,记得要用大写的HH表示24小时制。这一点是真的坑啊,我还以为不加后面的a这个参数就是24加了就是12呢,太坑了,写数据的时候看怎么下午2点写的凌晨2点。
moment(values.data).format('YYYY-MM-DD HH:mm:ss')-----24小时

moment(values.data).format('YYYY-MM-DD hh:mm:ss')-----12小时


然后就简单写到这里吧,有好多错误其实都忘记了。想到再补。

小米手环6如何替换主题?如何自制主题?

简单更新一下,其实最简单的方法就是上amazfitwatchfaces.com这个网站上找一个自己喜欢的主题,然后替换下背景,这样是最简单的,如果已经很满意了,那么其实可以直接替换上去就行

最近买了一个小米手环6,但是发现主题有点丑,其实主要是我的DIY之魂在不断燃烧。

本来是在搜索如何自制,但是找了半天,发现不论是在百度还是谷歌上,都搜不到正了八经的DIY教程,唯一一个教程是一个台湾人写的https://hanmajor.blogspot.com/2018/10/diyamazfitsop.html不过有点老了,但是还是有很大的作用。
起码知道了工具该用哪个了。

工具

首先,文章推荐的是用AmazfitBipTools这个,但是我自己测试发现打不开。一闪而过,如果用主题.bin文件去打开的话,会有一个错误日志文件生成,会告诉你

1
2
3
4
5
6
7
8
9
DebugOpening watch face 'F:\小米手环\pusheen_piano_packed-555344-fc90387b4f.bin'
DebugReading parameters...
TraceReading header...
TraceHeader was read:
TraceSignature: UIHH ?, Unknown: 4294967040, ParametersSize: 4294967295, IsValid: False
DebugParsing parameters...
FatalSystem.NullReferenceException: 未将对象引用设置到对象的实例。
在 WatchFace.Parser.Utils.ParametersConverter.Parse[T](List`1 descriptor, String path)
在 WatchFace.Program.ParseResources(Reader reader)

什么未将对象引用设置到对象的实例。所以我当时其实是放弃了的,不过后来还是找到了一个比较好用的工具,其实是两个,老外写的,很牛!
https://amazfitwatchfaces.com/forum/viewforum.php?f=29我们去这个工具网站上找对应的工具,我是小米手环6,所以我就找Mi Band,如果你是别的手环手表,那么就去找对应的就行了。
一个是https://amazfitwatchfaces.com/forum/viewtopic.php?f=29&t=1721
一个是https://amazfitwatchfaces.com/forum/viewtopic.php?f=29&t=1895我其实比较倾向于第一个软件,然而第一个有的时候解析不了对应的bin文件,所以还是推荐大家使用第二个,第一个的使用教程在他的下载地址上有,第二个的话,界面其实比较简单。
Watch Face for Mi Band

使用

简单介绍一下第二个软件的用法,首先我们需要点击右上角的file选择打开一个或者创建一个文件,然后通过左面的选择栏对对应的内容进行修改,当然要记得在Model watch里选择Mi Band 6。
具体的资源文件我就不一一解释了,毕竟其实我也不是很清楚,不过背景的话,0000.png是背景图案,其余的都是添加各种配件的图案,如果想要自己真正的DIY一个的话,需要自己做许多的图片。

然后第一个软件的话,其实是因为有的表盘文件打不开,不过作者的教程做的还可以,在他的下载地址上有对应的Gif可以浏览,简单的引入几个图片给大家看看。
Mi Band
Mi Band
Mi Band

替换

我们已经成功的DIY了一个主题出来,当然,你其实去amazfitwatchfaces.com下载一个也无所谓。那么我们就需要将它替换到我们的手环中,本来其实大家推荐的都是用一个安卓的软件,或者一个苹果的软件来替换,但是我发现并不能使用了。那个叫amaztools的软件,替换不了表盘了,那么我们应该怎么替换呢?

首先我们需要去小米运动的表盘商城里随便下载一个表盘,然后连接数据线(自己在手机上操作也行应该),找到这个路径MI 9\内部存储设备\Android\data\com.xiaomi.hm.health\files\watch_skin_local\xxxxxxxxxxxxxx其实就是替换小米运动的表盘数据,我们进入那个表盘的文件,会发现一共有三个文件。
Watch_skin_local
我们直接替换掉他的bin文件就行了,将我们DIY的bin文件的名字修改成原来的文件名,然后关闭小米运动,关闭蓝牙,重开小米

运动和蓝牙,然后将表盘重新同步一下,就会发现同步成功了。

总结

所以说其实许多的东西,老外研究的比咱们国人要多的多,许多东西在百度上面是搜不到的,只能去谷歌,如果谷歌还搜不到的话,那么就只能找找有没有对应的论坛了,之所以说是找论坛,是因为论坛上的内容都比较具体,不会显得杂乱,如果直接从谷歌上搜索的话,比如说搜索Mi Band 6 可能搜索的结果比较的乱。
然后再就是小米手环DIY的话,需要制作许多的素材图片,然后要进行构思等等,这里比较推荐找一个差不多的表盘,然后对这个表盘进行DIY,省时省力。
小米手环6替换表盘成功

记一次失败的接单

学习,如果不是为了赚钱,有谁有动力呢?

需求详情: 需求详情

昨天在 Q 群看到有人需要进行样式修改,于是我接下了这个任务,发现实际上只是爬取了一个网站的内容,但样式不符合要求。

我从描述中就能够看出这是一个路径问题,而当我收到任务包后,发现确实是路径问题。如大家所知,某些网页是通过加载来显示内容的,爬取后并不包含后续内容。

奇怪的是雇主只需样式,不需要 JavaScript 效果,但我们都知道,滚动图(轮播图)大多需要 JavaScript 的支持。因此,我告诉雇主需要修改 JavaScript 路径,并下载新的资源等。然而,雇主坚持只要效果。

所以,我简单地爬取了图片,修改了路径并发送了出去。不过,遗憾的是每个页面底部都有一块空白。当时我以为是我的问题,但后来发现是网站设置的。我想着直接修改 height 并添加 !important 可能会解决问题,但结果并不如预期。

之前看过许多文章和帖子,讲述了遇到扯皮的雇主有多糟糕,但没想到我第一个项目就遇到了一个。因为我没有实现效果,没有去除底部的空白,我当时以为是 JavaScript 的问题,因为我在控制台看到了大约20个错误。虽然雇主说我在扯,但我还是想试试看。所以今天早上继续查看网页,并采取了不同的方法,检查页面元素,包括height、top、bottom、padding、margin等属性,因为它们容易影响网页的格式。

  • height:我发现每个页面的 height 都是固定的,然后通过 JavaScript 来修改。我尝试为 div 元素添加了 height !important,但效果不明显。
  • top:今天早上我发现了 top 元素,我们都知道网页由头部和底部组成,所以我检查了头部,发现了问题。底部的 footer 设置了 top 为 1712px,而且我发现所有页面的 footer 都有这个设置。我简单地修改了这个设置,问题得以解决。

其实,一开始尝试修改 height 时我并没有成功,甚至添加了 !important 也没有效果,我当时觉得这太神奇了。然后我简单地添加了一个边框来测试效果,发现修改高度后,边框位置明显在变化,但内部元素没有变化,然后我注意到有浮动定位。所以,我很快就分析出问题出在底部元素上。

为什么昨晚没有想到呢?我认为是因为脑子被问题困住了,所以在编程时,不管何时卡住了,换个思路,出去散步一下,就可能找到其他解决方法。虽然我睡了一觉,但这个问题还是得以解决。

最终,我将修改后的结果发送给了雇主,尽管这个项目非常失败,但我还是从中学到了许多经验。