配置 ja-netfilter 激活 IDEA

配置 ja-netfilter

打开 ja-netfilter 中的 config 文件夹中的 url.conf 在尾端添加

1
2
[URL]
PREFIX,https://account.jetbrains.com/lservice/rpc/validateKey.action

打开 ja-netfilter 中的 config 文件夹中的 dns.conf 在尾端添加

1
2
3
[DNS]
EQUAL,jetbrains.com;
EQUAL,dbeaver.com

如果激活的版本低于2022.2,下一步可以不做:

打开ja-netfilter中的config文件夹中的power.conf,在尾端添加:

1
2
3
4
[Args]
[Result]
EQUAL,120506319308405029943033101198259523557651500267734599270782782071425072541184605728867830395125412768750966448411447392137801711908001958831204692561738046570955709184538088569271703484602917023462976408329100293802371486063140115775311907530943821345005598057265747678100463689973450156515895355214983079672467769169324175533323801179755544364921063654340185317077965735659865485150734884110709760680757502730007505995422237875348017761382234951127263548660889969621730944377739766734765769747684457663965611896398862841334032542726392699785677440644859509166466497325071885386505404431787167239320957696896447925472784312642576835792921100239616617639216190447230487878404191838684279341834945197861631446454083984351911070798505031973496634229907567362853550735007045265430703581336189733180744888091740381912913980707537008943084904260746266383019688346709856215660232636334604552145129775009725685598798774376749830567219982166661918408832945395290223853748014160473876195098438959881711585152480525870219408398012002829112863175041709512032251930709608035158747101960447898838942705485214217426612863919268749874079707310181890737049603255938886865558759802593500502795018952114650332765839003032013708006750600413455628536259,65537,860106576952879101192782278876319243486072481962999610484027161162448933268423045647258145695082284265933019120714643752088997312766689988016808929265129401027490891810902278465065056686129972085119605237470899952751915070244375173428976413406363879128531449407795115913715863867259163957682164040613505040314747660800424242248055421184038777878268502955477482203711835548014501087778959157112423823275878824729132393281517778742463067583320091009916141454657614089600126948087954465055321987012989937065785013284988096504657892738536613208311013047138019418152103262155848541574327484510025594166239784429845180875774012229784878903603491426732347994359380330103328705981064044872334790365894924494923595382470094461546336020961505275530597716457288511366082299255537762891238136381924520749228412559219346777184174219999640906007205260040707839706131662149325151230558316068068139406816080119906833578907759960298749494098180107991752250725928647349597506532778539709852254478061194098069801549845163358315116260915270480057699929968468068015735162890213859113563672040630687357054902747438421559817252127187138838514773245413540030800888215961904267348727206110582505606182944023582459006406137831940959195566364811905585377246353->31872219281407242025505148642475109331663948030010491344733687844358944945421064967310388547820970408352359213697487269225694990179009814674781374751323403257628081559561462351695605167675284372388551941279783515209238245831229026662363729380633136520288327292047232179909791526492877475417113579821717193807584807644097527647305469671333646868883650312280989663788656507661713409911267085806708237966730821529702498972114194166091819277582149433578383639532136271637219758962252614390071122773223025154710411681628917523557526099053858210363406122853294409830276270946292893988830514538950951686480580886602618927728470029090747400687617046511462665469446846624685614084264191213318074804549715573780408305977947238915527798680393538207482620648181504876534152430149355791756374642327623133843473947861771150672096834149014464956451480803326284417202116346454345929350148770746553056995922154382822307758515805142704373984019252210715650875853634697920708113806880196144197384637328982263167395073688501517286678083973976140696077590122053014085412828620051470085033364773099146103525313018873319293728800442101520384088109603555959893639842091339193857485407672132882577840295039058621747654642202620767068924079813640067442975
EQUAL,8028659553836119901593655311677865290672387540027895708985570867455842278776015838142490556122515317003830575671206217290165955723210315889275621408086645995280770696135307020454887097794294273869941097888549275028604248332746117479367032100139091095818169444690976206636597409322539276252570779516636180497560345090851316373570301807158645002654208816162902430571101092599540795501152368695431168224953320283502815852695423193526255836776240019085157444254721864134058745605280085897450952937893645487302683006269553010996013513395044612932182772364336368242146044741660443063207438830622376694839772096688572619877,65537,21052260334349247097390263197515551021430500095747078612475171670547647379514624742422155617118382403386162585789957995106937640909858927441120214136124618650916253946431099279059999234690271861285094667690686174087562943995337813383652323725628494261414287817117703355799303086256914782640807165021059760198249458510362432176960683009890989990086614909076853502936665842869163947730574085863127445475967466399017447434906719734480523659879746056728772390182338236187070557277461449143752467418310063647027554915213099799725713708651142505590086828211040619445941301844994775362846837122335522584661592447560060751169->986236757547332986472011617696226561292849812918563355472727826767720188564083584387121625107510786855734801053524719833194566624465665316622563244215340671405971599343902468620306327831715457360719532421388780770165778156818229863337344187575566725786793391480600129482653072861971002459947277805295727097226389568776499707662505334062639449916265137796823793276300221537201727072401742985542559596685092673521228140822200236743113743661549252453726123450722876929538747702356573783116197523966334991563351853851212597377279504828784687920949198341066450537230593608440475006386024448307924665012521692416658191

配置 idea.vmoptions

idea.vmoptions在IDEA的安装目录下的bin文件夹中

打开idea.vmoptions,在末尾添加

–add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
–add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED

以上两行仅在Java17时需要添加,即2022.2版本开始需要添加

-javaagent:D:/abc/abcd/abcde.jar

这一行为下载的 ja-netfilter.jar 路径

配置完以上步骤之后要重启Jetbrains产品

然后开始对JB产品进行校验

以IntelliJ IDEA 为例

输入 https://jetbra.in

点击 Activate 按钮

记录第一次玩 PT 的刺激

起因

在 7 月 29 号的时候无意在某微信群看到群友分享 BtSchool 开注的消息

感谢大家一直支持 BTSCHOOL!庆 BTSCHOOL 建站 12 年,活动如下:
2024.07.292024.07.31 (3 天)开放自由注册。
2024.08.01
2024.08.07 (7 天) 全站种子 FREE。
注:由于站免时间长,新人考核的会员,请提前完成考核下载量。

由于手上有几块带半好不坏的 500G 硬盘在 Nas 上食之无味弃之可惜就准备注册一个来玩

学校

注册完毕后 页面中间就有一个醒目的黄色框框

1
2
3
4
5
6
7
离新人考核结束还有 29天23时
上传量: 还需要 50 GB
下载量: 还需要 50 GB
魔力值: 还需要 5000

注意:在考核期限内,请保持以上数据均处于通过状态!
你也可以通过捐赠直接通过新手考核

然后我在首页导航中找到按钮 种子 一进来琳琅满目的种子列表

然后我看有个下载量的考核我就先找了几个喜欢的影视剧开始下载想着先完成了下载量然后等着它慢慢上传

但是想象是美好的,现实是骨感的, 结果没多久就收到一封邮件

郑重警告:你的等级已从User自动降为Peasant,同时你被警告!因为你的分享率过低。如果你在10天内仍未设法提高分享率,你的帐户将被禁用!如果你不明白什么是分享率及其要求,请参考常见问题。

我靠本来考核是 30 天的 现在直接剩下十天了 我感觉仔细研究一下规则

Peasant 当以下情况时将被自动降至本级:
1.如果你已经下载了超过50GB,你应该有大于0.6的分享率。
2.如果你已经下载了超过100GB,你应该有大于0.7的分享率。
3.如果你已经下载了超过200GB,你应该有大于0.8的分享率。
4.如果你已经下载了超过500GB,你应该有大于0.9的分享率。
5.如果你已经下载了超过1000GB,你应该有大于1.0的分享率。

我目前处在第一阶段 刚超过 50G 分享率得到 0.6 所以我现在得上传搞到 60G 然后由于我是第一次玩并不知道下热门免费大包刷上传

赶紧上淘宝买了一块 16T 的 HC550 并且买了一个麦沃的两盘位硬盘盒等到了已经是第三天了

然后刚好站免开始了这时可以随便下了,我真的会被自己气笑,注册的时候离站免还有几天我就开始下载,所以玩这玩意还是得先看规则呀,不然上来直接整个降级用户,还好有十天的机会

我抓紧下载一些想看的和看过的高清压制的版本塞满我这 HC550 然后过了几天发现上传还是很低,虽然站免了下载量不计算了,但是由于我下的都是一些老种没有人下的也就无法提供上传量,我就开始琢磨怎么提高。

直到我看到某个新发布的种子我下载下来上传能跑满我才看到每个种子后面都有当前上传和下载的用户数量,最后我得出以下结论

  • 只需要找 上传 做种人数少 下载 人多的种子就可以提高上传量

于是我就开始疯狂刷了几天,终于,在还剩下两三天被 ban 的时候完成了0.6 的分享率

你因分享率过低而获得的警告被取消。你的等级已恢复为User。请注意提高分享率,避免再次被警告。

刺激,经过这半个月仔细了解,数据一般,但是想看的剧都下完了

这是目前的数据

分享率: 7.926 H&R:0/0 上传量: 3.909 TB 下载量: 505.09 GB 当前活动151 0

馒头

经过了学校这个站的入门我产生去更大一点的站玩的想法,于是就四处求药,终于在周二群里抓住一个 dalao 要到了一个馒头的药

注册完毕后 因为我有之前学校的教训 我就谨慎的找了标有 Free 的种子并且刚发布的种子开始下载结果又进坑了开了代理下载的 被标盒了直接下载不免费然后分享率低于 0.3
由于这个站点低于 0.3 隔天就会被 ban 所以我并没有几天的时间去刷上传 只能赶紧关掉代理 疯狂下载免费种子 终于在两三个小时内把号救回来了 真 TM 刺激啊

MySQL 时区导致 Mybatis 插入 DateTime 的问题

前言

使用 Mybatis 插入 Date 发现数据库中的日期与 Mybatis 查询出来的日期不一致

血案现场

查询表字段值:

1
2
3
4
5
6
7
mysql> SELECT * FROM `test`.`global_variables`;
+--------------+----------------+---------------------+---------------------+---------------------+
| variable_key | variable_value | created_at | updated_at | expires_at |
+--------------+----------------+---------------------+---------------------+---------------------+
| a | b | 2024-08-10 13:19:52 | 2024-08-10 13:19:57 | 2024-12-31 17:01:01 |
+--------------+----------------+---------------------+---------------------+---------------------+
1 row in set (0.02 sec)

查询数据库中的时区变量

1
2
3
4
5
6
7
8
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.02 sec)

使用 Mybatis 查询出来的数据很奇怪

1
[13:31:58 INFO]: result: GlobalVariable(variableKey=a, variableValue=b, createdAt=2024-08-10 21:19:52.0, updatedAt=2024-08-10 21:19:57.0, expiresAt=2025-01-01 01:01:01.0)

问题根源

以下引用自通义千问

UTC(Coordinated Universal Time)并不是一个特定的时区,而是一种世界通用的时间标准。它是基于原子时秒长的时间计量系统,在时刻上尽量接近于世界时(基于地球自转的时间计量系统)。UTC是为了克服世界时的不稳定性而制定的一种折衷方案。

UTC 并不表示任何一个具体的时区偏移量,但它被用来定义世界各地的时区。例如,北京时间(UTC+8)表示比UTC时间晚8个小时。UTC本身没有时区偏移,可以认为是0时区的时间,即UTC+0或UTC-0。

简而言之,UTC是一个国际时间标准,用于定义全球时间同步的基础,而不是一个具体的时区。

解决方法

我在 MySQL 连接的 url 参数为

useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC

尤其注意 serverTimezone=UTC 这配置的时区有问题 UTC 不是一个时区因改为当前所在时区 Asia/Shanghai

改为

useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

即可解决这个问题

Mybatis 处理 MySQL 中 date 类型字段

前言

之前使用 Mybatis 都是直接存储的 bigint 时间戳即可主要为了避免时区问题和各种类型不兼容的问题,但是缺点也很明显不能直观的显示在数据库中,所以今天尝试使用 Mybatis 插入 Date 数据

在 sql 中有两个类 java.sql.Timestamp 和 java.sql.Date 我们直接使用 Timestamp 指定在 javaType 中

1
2
3
4
5
6
7
8
9
10
11
@Select("SELECT * FROM `global_variables` WHERE variable_key = #{variableKey}")
@Results(
id = "GlobalVariableResult", value = [
Result(column = "variable_key", property = "variableKey"),
Result(column = "variable_value", property = "variableValue"),
Result(column = "created_at", property = "createdAt", javaType = Timestamp::class),
Result(column = "updated_at", property = "updatedAt", javaType = Timestamp::class),
Result(column = "expires_at", property = "expiresAt", javaType = Timestamp::class)
]
)
fun getGlobalVariable(@Param("variableKey") variableKey: String): GlobalVariable?

Docker 中 Gitlab 日志过大问题

前言

突然发现 Gitlab 服务老挂很奇怪,于是进后台寻找问题,首先看一下 Gitlab 日志 里面有一段 Redis 本地化持久数据无法写入到磁盘,硬盘满了……

过程

使用 df -h 命令进行查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 6.3G 22M 6.2G 1% /run
/dev/mapper/rl-root 62G 47G 15G 76% /
/dev/nvme0n1p1 960M 531M 430M 56% /boot
/dev/mapper/rl-home 30G 664M 30G 3% /home
tmpfs 3.2G 52K 3.2G 1% /run/user/42
overlay 62G 47G 15G 76% /var/lib/docker/overlay2/3e003c0a9780a97f56039cca12c09458940b0d1f4b7b713598ca2bbd09a9eaf9/merged
overlay 62G 47G 15G 76% /var/lib/docker/overlay2/345b25c35b361220cee68f8c01c937b1afd8af528f6027489c1ad4b0ebada3ff/merged
overlay 62G 47G 15G 76% /var/lib/docker/overlay2/95b8fde65b7a6f9be728097f1b0c8d8230409e665f0cda3915709596eee0d8d1/merged
overlay 62G 47G 15G 76% /var/lib/docker/overlay2/272dbb01f0c892a48a77058f16736f184b256118e0c6434d4cb90df53783e260/merged
tmpfs 3.2G 36K 3.2G 1% /run/user/0

其中

1
/dev/mapper/rl-root   62G   47G   15G   76% /

发现快满了 但是不知道是哪个目录 接着使用 find 命令寻找大文件

1
find / -size +4000M

直接在根目录下寻找大于 4000M 的文件

1
2
3
4
5
6
7
[root@localhost ~]# find / -size +4000M
/proc/kcore
find: ‘/proc/767509/task/767509/fd/5’: 没有那个文件或目录
find: ‘/proc/767509/task/767509/fdinfo/5’: 没有那个文件或目录
find: ‘/proc/767509/fd/6’: 没有那个文件或目录
find: ‘/proc/767509/fdinfo/6’: 没有那个文件或目录
/var/lib/docker/containers/cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02/cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02-json.log

此时寻找一个 Docker 容器下的日志文件大于 4000M

到目录下 ls -ll 一看

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost ~]# cd /var/lib/docker/containers/cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02/
[root@localhost cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02]# ls -lh
总用量 11G
-rw-r-----. 1 root root 11G 7月 12 11:35 cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02-json.log
drwx------. 2 root root 6 6月 18 14:44 checkpoints
-rw-------. 1 root root 30K 7月 11 21:59 config.v2.json
-rw-------. 1 root root 1.9K 7月 11 21:59 hostconfig.json
-rw-r--r--. 1 root root 13 7月 11 21:59 hostname
-rw-r--r--. 1 root root 174 7月 11 21:59 hosts
drwx--x---. 2 root root 6 6月 18 14:44 mounts
-rw-r--r--. 1 root root 317 7月 11 21:59 resolv.conf
-rw-r--r--. 1 root root 71 7月 11 21:59 resolv.conf.hash

通过这个我们能看到 cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02-json.log 文件占用了 11G

接着使用 `` 命令查询该日志前 10 行

1
2
3
4
5
6
7
8
9
10
11
[root@localhost cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02]# head -n 10 cd37e7e6668415a1b84ed97109bd785d1530f4662ef0caca45305a3b6ebf1b02-json.log 
{"log":"Thank you for using GitLab Docker Image!\n","stream":"stdout","time":"2024-06-18T06:44:47.985803963Z"}
{"log":"Current version: gitlab-ce=17.0.2-ce.0\n","stream":"stdout","time":"2024-06-18T06:44:47.985835222Z"}
{"log":"\n","stream":"stdout","time":"2024-06-18T06:44:47.985839079Z"}
{"log":"Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file\n","stream":"stdout","time":"2024-06-18T06:44:47.985842175Z"}
{"log":"And restart this container to reload settings.\n","stream":"stdout","time":"2024-06-18T06:44:47.985845291Z"}
{"log":"To do it use docker exec:\n","stream":"stdout","time":"2024-06-18T06:44:47.985848156Z"}
{"log":"\n","stream":"stdout","time":"2024-06-18T06:44:47.985851212Z"}
{"log":" docker exec -it gitlab editor /etc/gitlab/gitlab.rb\n","stream":"stdout","time":"2024-06-18T06:44:47.985876118Z"}
{"log":" docker restart gitlab\n","stream":"stdout","time":"2024-06-18T06:44:47.98588256Z"}
{"log":"\n","stream":"stdout","time":"2024-06-18T06:44:47.985885686Z"}

观察发现这就是 GitLab Docker 镜像启动的日志文件

总结

至此赶紧删了也算找回一点磁盘容量了,从日志的日期不难看出这个容器才允许不到一个月时间,占用竟然来到了惊人的 11G 大小目前有两个解决方案,配置 Docker 容器日志上限或者配置 Gitlab 中日志等级

但是吧我是懒狗我选择先删除到时看心情再去配置

群辉使用 fclones 进行文件去重

前言

由于我的群辉 NAS 中的文件数量过于庞大,已经积累了许多重复的文件,我曾经尝试着手动去清理重复文件,刚开始还好,后面直接放弃了因为太浪费时间了,所以我开始寻找一款查询文件是否重复的软件

原先我在 Windows 中使用的查询重复的软件是 AllDup 现在他好像并不好使因为群辉系统是 Linux 所以我无法直接使用它,还得曲线救国以下将 Nas 中的文件使用 SMB 映射至 Windos 中使用 AllDup 进行扫描删除等操作 这速度十分的慢,所以我在网络上寻找实用的软件

fclones

Efficient duplicate file finder and remover

发现他编译了 Linux x86 的版本,我就放到群辉上试了一下发现居然可以用

直接将编译好的 fclones 文件丢入群辉 /bin 目录下就可以直接使用了

几个简单的命令如下

1
fclones group . >dupes.txt

搜索当前路径

1
fclones group ./1 ./2 >dupes.txt

搜索 ./1 ./2 路径的重复文件 放入 dupes.txt

1
fclones link <dupes.txt

使用 dupes.txt 重复文件 将他们硬链接

1
fclones link --soft <dupes.txt

使用 dupes.txt 重复文件 将他们软链接

1
fclones remove --path '/path/**'  <dupes.txt

指定删除路径为 ‘/path/**‘ 的

1
fclones link --soft --path '/path/**'  <dupes.txt

指定软链接路径为 ‘/path/**‘

群晖接入 UPS 实现断电自动关机

前言

最近乘着回家赶着把之前物理机装的黑群晖倒腾一下升级一下硬件,原先是物理机直接安装 DSM6 引导也是旧的升级很不方便。

然后我就给物理机装了个 Proxmox Virtual Environment 并将黑群晖虚拟化,之前物理机黑群晖并没有 UPS 现在想给它配个 UPS于是我就在京东购买了一款 APC 的 UPS 就是这个 APC BK650M2_CH 后备式 UPS 功率输出满足我的机器。

但是它只有一个通信口,我还有另外一台服务器需要接入 UPS 并不能直接将 USB 通信口直通到黑群晖了(好像 PVE 也得关机),只能用笨一点的办法,轮询 Ping 网关了并且将软路由不接入 UPS 直接使用市电来达到一个断电断网的效果,然后在接入 UPS 的服务器上配置定时检查网关存活的脚本定时执行

过程

我是秉着一个能不自己动手就不自己动手的原则,先上搜索引擎搜索,是很多大神都有现成的代码,我先是搜索到了这篇帖子 群晖设置Ping不通路由器自动关机 实现断电自动关机

从中得到了配置的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
MonitorIP=192.168.31.1
DelayTime=180s
if ping $MonitorIP -W 2 -w 2 -c 2 | grep '^[0-9].*ms$' > /dev/null
then
echo "Power on."
else
synologset1 sys warn 0x11600036
sleep $DelayTime
if ping $MonitorIP -W 2 -w 2 -c 2 | grep '[0-9].*ms$' > /dev/null
then
synologset1 sys warn 0x11600035
else
synologset1 sys warn 0x11600037
poweroff
fi
fi
exit 0

我直接丢入系统执行,发现无论 IP 是否存活都会进到 Power on. 也就是说正则匹配不上,没办法了,还是得自己动手,丰衣足食

然后我尝试 debug 输出这个 ping 匹配的值

1
echo ping $MonitorIP -W 2 -w 2 -c 2 | grep '^[0-9].*ms$' > /dev/null

发现返回值一直为空 我手动执行了 ping 指令


  • 能 Ping 通

    1
    2
    3
    4
    5
    6
    7
    8
    root@MyNas:~# ping 192.168.1.1 -W 2 -w 2 -c 2
    PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
    64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.344 ms
    64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.267 ms

    --- 192.168.1.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.267/0.305/0.344/0.042 ms
  • 不能 Ping 通

    1
    2
    3
    4
    5
    6
    root@MyNas:~# ping 192.168.1.123 -W 2 -w 2 -c 2
    PING 192.168.1.123 (192.168.1.123) 56(84) bytes of data.

    --- 192.168.1.123 ping statistics ---
    2 packets transmitted, 0 received, 100% packet loss, time 999ms


发现使用正则 ^[0-9].*ms$ 根本无法匹配上 于是我就稍微改动了一下脚本

结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh
MonitorIP=192.168.1.1
DelayTime=60s
# 发送ping命令并检查其返回值
if ping -c 2 -W 2 $MonitorIP > /dev/null; then
echo "网关存活 停止关机操作."
else
synologset1 sys warn 0x11600036
echo "网关不通 等待 $DelayTime 再次确认关机."
sleep $DelayTime
if ping -c 2 -W 2 $MonitorIP | grep -q "100% packet loss"; then
synologset1 sys warn 0x11600037
echo "网关不通 开始关机!"
poweroff
else
synologset1 sys warn 0x11600035
echo "网关存活 停止关机操作."
fi
fi
exit 0

目前放系统上每分钟一次执行正常运行中

Hello World

欢迎使用 Hexo!这是你的第一篇文章。查看 文档 了解更多信息。如果在使用 Hexo 时遇到任何问题,你可以在 故障排除 中找到答案,或者你可以在 GitHub 上向我提问。

快速开始

创建新帖子

1
$ hexo new "我的新帖子"

更多信息:写作

运行服务器

1
$ hexo server

更多信息:服务器

生成静态文件

1
$ hexo generate

更多信息:生成

部署到远程站点

1
$ hexo deploy

更多信息:部署