-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrss.xml
887 lines (826 loc) · 45.6 KB
/
rss.xml
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="https://www.w3.org/2005/Atom">
<title>博客 | dsy4567 的小站</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog.html" />
<link rel="self" type="application/atom+xml" href="https://dsy4567.github.io/rss.xml" />
<updated>2023-01-22T12:48:59.719Z</updated>
<generator uri="https://github.com/dsy4567/dsy4567.github.io/">dsy4567/dsy4567.github.io</generator>
<entry>
<title>2024 年总结——我在地址栏输入 A-Z,浏览器会补全哪些域名?</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/2024-browser-history/" />
<id>2024-browser-history</id>
<published>2025-01-02T12:37:17.008Z</published>
<updated>2025-01-02T12:37:17.008Z</updated>
<summary>2024 年总结——我在地址栏输入 A-Z,浏览器会补全哪些域名?
2024 年已经过去,在这一年里,我有多半时间都是在和浏览器打交道。逛完别人的博客后,我也学到并想尝试一下这个别样的总结方法。
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="2024-年总结我在地址栏输入-a-z,浏览器会补全哪些域名?">2024 年总结——我在地址栏输入 A-Z,浏览器会补全哪些域名?</h1>
<p>2024 年已经过去,在这一年里,我有多半时间都是在和浏览器打交道。逛完别人的博客后,我也学到并想尝试一下这个别样的总结方法。</p>
<!-- more -->
<h2 id="a">A</h2>
<ul>
<li>archlinux.org:2024 年 7 月尝逝安装 Arch Linux,结果第一次就装废了,因急着干活遂换回 Deepin。</li>
</ul>
<h2 id="b">B</h2>
<ul>
<li>bilibili.com:2022年底/2023年初开号,2024年中旬开始重度使用并抛弃某音,至今已陪伴我 200+ 天。</li>
<li>bing.com:必应搜索,不咋用(强制跳转 cn.bing.com)。</li>
<li>bbs.deepin.org:Deepin 的论坛,偶尔会去逛,随缘解答问题。</li>
<li>board.yang-qwq-top:某人的留言板,活跃用户似乎仅有我和站长。</li>
</ul>
<h2 id="c">C</h2>
<ul>
<li>cn.bing.com:必应搜索,同上。</li>
<li>chatgpt.com:ChatGPT 2024 年官宣不登录即可使用。<spoiler>但我梯子不干净(悲</spoiler></li>
</ul>
<h2 id="d">D</h2>
<ul>
<li>dsy4567.icu:本站,没什么好说的(</li>
<li>developer.mozilla.org:Web 开发少不了的网站,有最丰富的文档和相对完善的翻译。</li>
<li>dash.cloudflare.com:Cloudflare 仪表盘在绑好域名和 GitHub 仓库后就没咋用过,网站访问统计等信息主要看邮件。</li>
<li>deepin.org:我正在用的操作系统,减轻新手痛苦,节约老手时间。</li>
</ul>
<h2 id="e">E</h2>
<p>无(</p>
<h2 id="f">f</h2>
<ul>
<li>feixiaoqiu.com:原神抽卡分析。</li>
</ul>
<h2 id="g">G</h2>
<ul>
<li>greasyfork.org:油叉,有超多的用户脚本,可用来大幅提高上网冲浪体验,我也在上面发过脚本。</li>
<li>github.com:全球最大的开源社区<spoiler>和同性交友网站(jiushi</spoiler>。</li>
</ul>
<h2 id="h">H</h2>
<ul>
<li>hellogithub.com:定期发布一些精选的 GitHub 项目。</li>
</ul>
<h2 id="j">J</h2>
<ul>
<li>juejin.cn:掘金上有大量优秀博文,是一个提升自我的好地方。</li>
<li>jyshare.com:菜鸟工具,里面的正则表达式测试工具经常用。</li>
</ul>
<h2 id="k">K</h2>
<ul>
<li>kugou.com:除了一次要分析接口就没用过,2023 年初抛弃酷狗转网易云。</li>
</ul>
<h2 id="l">L</h2>
<ul>
<li>localhost:这个……也算吧(</li>
</ul>
<h2 id="m">M</h2>
<ul>
<li>music.163.com:2023 年初抛弃酷狗转网易云,年底开始高强度使用,至今已听 5000+ 首歌</li>
<li>miyoushe.com:水社,2023 年底入原,2024 年 7 月先后入绝和铁。</li>
</ul>
<h2 id="n">N</h2>
<ul>
<li>ncm.vercel.dsy4567.icu:自建网易云音乐 API,用于测试自己写的第三方网易云客户端。<spoiler>2023 年 10 月因为这个号被冻了,<del>网易云你***</del></spoiler></li>
<li>note.ms:公共笔记,我以前经常会备份和恢复 /ad 里的内容,有时候也会在这个网站玩一整晚。</li>
</ul>
<h2 id="o">O</h2>
<ul>
<li>outlook.live.com:挂后台收邮件。</li>
</ul>
<h2 id="p">P</h2>
<ul>
<li>paimon.moe:主要用来抽卡分析和养成规划。</li>
</ul>
<h2 id="q">Q</h2>
<ul>
<li>qwq.dsy4567.icu:杂物间/在别处发帖时的图床。</li>
</ul>
<h2 id="r">R</h2>
<ul>
<li>runoob.com:菜鸟教程,我会的 JavaScript、C++ 等编程语言前期都是在上面学的。</li>
<li>ruanyifeng.com:阮一峰的网络日志,里面的科技爱好者周刊我几乎每周都看。</li>
</ul>
<h2 id="s">S</h2>
<ul>
<li>store.steampowered.com:只加心愿单,没钱买游戏。</li>
<li>sr.mihoyo.com/cloud/:云崩铁,启动!</li>
</ul>
<h2 id="t">T</h2>
<ul>
<li>tldr.inbrowser.app:可以速查许多命令的常见用法。</li>
<li>translate.google.com:谷歌翻译,个人认为使用体验中规中矩。</li>
</ul>
<h2 id="u">U</h2>
<ul>
<li>u.sb:烧饼博客,主要看上这简短的域名。</li>
</ul>
<h2 id="v">V</h2>
<ul>
<li>v2ex.com:又一个能让我逛半天的地方。</li>
<li>vscode.dev:在线 VSCode 编辑器,嫌两个 Chromium 吃内存时会用。</li>
</ul>
<h2 id="w">W</h2>
<ul>
<li>web.telegram.org:纸飞机,加了杂七杂八的群,也和同好之友私聊过。</li>
</ul>
<h2 id="x">X</h2>
<ul>
<li>x.com:原推特,用来看外面<del>丰富多彩(?)</del>的世界。</li>
</ul>
<h2 id="y">Y</h2>
<ul>
<li>ys.mihoyo.com/cloud/:仅用于获取抽卡记录链接,键鼠实在操作不来(</li>
<li>ypm.dsy4567.icu:自建 YesPlayMusic,万恶的网易云严打第三方客户端后就不用了(悲</li>
</ul>
<h2 id="z">Z</h2>
<ul>
<li>zhihu.com:一个问答网站,还是一个能让我逛半天的地方。</li>
</ul>
]]>
</content>
</entry>
<entry>
<title>用 Vercel + DevSidecar 实现科学上网</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/vercel-dev-sidecar-fq/" />
<id>vercel-dev-sidecar-fq</id>
<published>2023-08-22T13:10:35.171Z</published>
<updated>2023-08-22T13:10:35.171Z</updated>
<summary>用 Vercel + DevSidecar 实现科学上网
由于本人翻墙时几乎只需要浏览网页,因此解除了封印的 DevSidecar(以下简称 DS)成为了我的首选翻墙工具。而且我听说 Vercel 对大陆线路做了优化,决定在 Vercel 上搭梯子。
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="用-vercel--devsidecar-实现科学上网">用 Vercel + DevSidecar 实现科学上网</h1>
<p>由于本人翻墙时几乎只需要浏览网页,因此解除了封印的 DevSidecar(以下简称 DS)成为了我的首选翻墙工具。而且我听说 Vercel 对大陆线路做了优化,决定在 Vercel 上搭梯子。</p>
<!-- more -->
<p>搭 nm 的梯子(</p>
<p><img src="/blog/vercel-dev-sidecar-fq/img/wf.webp" alt="s:432x466 你这是违法行为"></p>
<h2 id="相关法律法规">相关法律法规</h2>
<h3 id="中华人民共和国计算机信息网络国际联网管理暂行规定节选">中华人民共和国计算机信息网络国际联网管理暂行规定(节选)</h3>
<blockquote>
<p><a href="https://www.gov.cn/zhengce/2020-12/26/content_5574802.htm">https://www.gov.cn/zhengce/2020-12/26/content_5574802.htm</a></p>
</blockquote>
<p>  <strong>第六条</strong> 计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。</p>
<p>任何单位和个人不得自行建立或者使用其他信道进行国际联网。</p>
<p>  <strong>第十条</strong> 个人、法人和其他组织(以下统称用户)使用的计算机或者计算机信息网络,需要进行国际联网的,必须通过接入网络进行国际联网。</p>
<p>前款规定的计算机或者计算机信息网络,需要接入网络的,应当征得接入单位的同意,并办理登记手续。</p>
<p>  <strong>第十四条</strong> 违反本规定第六条、第八条和第十条的规定的,由公安机关责令停止联网,给予警告,可以并处 15000 元以下的罚款;有违法所得的,没收违法所得。</p>
<h3 id="计算机信息网络国际联网安全保护管理办法节选">计算机信息网络国际联网安全保护管理办法(节选)</h3>
<blockquote>
<p><a href="http://www.gov.cn/zhengce/2020-12/26/content_5574873.htm">http://www.gov.cn/zhengce/2020-12/26/content_5574873.htm</a></p>
</blockquote>
<p>  <strong>第四条</strong> 任何单位和个人不得利用国际联网危害国家安全、泄露国家秘密,不得侵犯国家的、社会的、集体的利益和公民的合法权益,不得从事违法犯罪活动。</p>
<p>  <strong>第五条</strong> 任何单位和个人不得利用国际联网制作、复制、查阅和传播下列信息:</p>
<p>  (一)煽动抗拒、破坏宪法和法律、行政法规实施的;</p>
<p>  (二)煽动颠覆国家政权,推翻社会主义制度的;</p>
<p>  (三)煽动分裂国家、破坏国家统一的;</p>
<p>  (四)煽动民族仇恨、民族歧视,破坏民族团结的;</p>
<p>  (五)捏造或者歪曲事实,散布谣言,扰乱社会秩序的;</p>
<p>  (六)宣扬封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖,教唆犯罪的;</p>
<p>  (七)公然侮辱他人或者捏造事实诽谤他人的;</p>
<p>  (八)损害国家机关信誉的;</p>
<p>  (九)其他违反宪法和法律、行政法规的。</p>
<p><nocopyright value="true"></nocopyright></p>
]]>
</content>
</entry>
<entry>
<title>记一次在 Termux 上搭建 code-server 环境</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/code-server-on-termux/" />
<id>code-server-on-termux</id>
<published>2023-07-31T13:17:09.742Z</published>
<updated>2023-10-02T04:12:07.650Z</updated>
<summary>记一次在 Termux 上搭建 code-server 环境
店里的电脑装着 Windows7,许多开发工具不能安装,因此有了远程开发的需求。说起远程开发,我第一个想到的肯定是 GitHub Codespaces。但这玩意服务器在国外,而且店里的宽带运营商是世界加钱可及的某信,裸连 GitHub Codespaces 时访问速度高达几十 kb/s。正好最近买了一台新手机,我准备在它上面借助 Termux 搭建 code-server 环境。
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="记一次在-termux-上搭建-code-server-环境">记一次在 Termux 上搭建 code-server 环境</h1>
<p>店里的电脑装着 Windows7,许多开发工具不能安装,因此有了远程开发的需求。说起远程开发,我第一个想到的肯定是 GitHub Codespaces。但这玩意服务器在国外,而且店里的宽带运营商是<spoiler>世界加钱可及的</spoiler>某信,裸连 GitHub Codespaces 时访问速度高达几十 kb/s。正好最近买了一台新手机,我准备在它上面借助 Termux 搭建 code-server 环境。</p>
<!-- more -->
<h2 id="要求">要求</h2>
<ul>
<li>会使用 Linux</li>
<li>有一个域名(没有的话可以尝试折腾 hosts 文件)</li>
<li>有一部可以完美运行 Termux 的安卓手机</li>
<li>有一台安装了 ssh 工具(Git 已经内置)和浏览器的电脑</li>
</ul>
<h2 id="安装-termux">安装 Termux</h2>
<p>点击下面的链接,在 Assets 里下载合适的安装包。大多数安卓/哄蒙机应该选择文件名含 <code>arm64</code> 的安装包。</p>
<p><a href="https://github.com/termux/termux-app/releases/latest">https://github.com/termux/termux-app/releases/latest</a></p>
<blockquote>
<p>附:对于已开启纯净模式的哄蒙系统,安装时可能需要断网。</p>
</blockquote>
<h2 id="安装开发工具">安装开发工具</h2>
<h3 id="更换清华-termux-镜像(可选)">更换清华 Termux 镜像(可选)</h3>
<p>启动 Termux,初始化完成后执行以下命令:</p>
<pre><code class="language-bash">termux-change-repo
</code></pre>
<p><img src="/blog/code-server-on-termux/img/repo.webp" alt="s:540x1194 选择仓库"><img src="/blog/code-server-on-termux/img/mirror.webp" alt="s:540x1194 选择镜像"></p>
<p>确保 <code>Main repository</code> 被选中,然后按下回车,再使用上下键将光标移至清华镜像后按下空格和回车。</p>
<h3 id="安装和配置开发工具">安装和配置开发工具</h3>
<p>依次执行以下命令:</p>
<pre><code class="language-bash">#一股脑把需要的全装上
pkg install git nodejs-lts nginx python3 openssl-tool wget openssh vim screen -y
pkg up
#在这里查 code-server 的最新版本号,然后替换下面的版本号
#https://github.com/search?q=repo%3Atermux-user-repository%2Fdists%20dists%2Ftur-packages%2Ftur%2Fbinary-aarch64%2FPackages%20code-server&type=code
wget https://ghproxy.com/https://github.com/termux-user-repository/dists/releases/download/0.1/code-server_4.17.1_aarch64.deb -O code-server.deb
apt-get --fix-broken install ./code-server.deb -y
#网快的也可以用这个
pkg install tur-repo -y
pkg install code-server -y
#更换淘宝源
npm config set registry https://registry.npmmirror.com
#将邮箱和用户名分别替换为 GitHub 绑定的邮箱和 GitHub 用户名
git config --global user.email "[email protected]"
git config --global user.name "username"
</code></pre>
<blockquote>
<p>注意:安装时看见 <code>The default action is to keep your current version.</code> 这句话可直接按回车</p>
<p><img src="/blog/code-server-on-termux/img/confirm.webp" alt="s:1080x394 The default action is to keep your current version."></p>
</blockquote>
<h2 id="为手机设置固定内网-ip">为手机设置固定内网 IP</h2>
<p>打开 WLAN 设置,按住已连接的网络,点击 “修改网络”。</p>
<p><img src="/blog/code-server-on-termux/img/wlan.webp" alt="s:540x344 修改网络"></p>
<p>点击“IP”,将“DHCP”改为“静态”。</p>
<p><img src="/blog/code-server-on-termux/img/dhcp.webp" alt="s:540x717 网络设置"></p>
<p>然后 <em><strong>参考</strong></em> 以下设置,修改后保存。</p>
<ul>
<li>IP 地址:<code>192.168.1.xx</code></li>
<li>网关:<code>192.168.1.1</code></li>
<li>网络前缀长度:<code>24</code></li>
<li>域名 1:<code>192.168.1.1</code></li>
<li>域名 2:<code>114.114.114.114</code></li>
</ul>
<p><img src="/blog/code-server-on-termux/img/ip.webp" alt="s:455.5x960 网络设置"></p>
<h2 id="配置域名">配置域名</h2>
<p>为域名添加以下记录:</p>
<table>
<thead>
<tr>
<th>类型</th>
<th>名称</th>
<th>值</th>
</tr>
</thead>
<tbody><tr>
<td>A</td>
<td>vscode</td>
<td><手机内网 IP></td>
</tr>
<tr>
<td>A</td>
<td>*.vscode</td>
<td><手机内网 IP></td>
</tr>
</tbody></table>
<p>如果没有域名,可以在 hosts 文件里添加以下内容</p>
<pre><code class="language-properties">#将 example.com 替换为你自己的域名
手机内网IP vscode.example.com
手机内网IP <需要转发的端口1>.vscode.example.com
手机内网IP <需要转发的端口2>.vscode.example.com
手机内网IP <需要转发的端口3>.vscode.example.com
...
</code></pre>
<h2 id="配置自签名证书">配置自签名证书</h2>
<blockquote>
<p>注意:必须妥善保管证书文件,泄露给他人有安全风险。</p>
</blockquote>
<p>执行以下命令:</p>
<pre><code class="language-bash">cd ~
mkdir ssl
cd ssl
vim ./csr.conf
</code></pre>
<p>按 <kbd>i</kbd> 进入编辑模式,粘贴以下内容:</p>
<pre><code class="language-properties">[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn
[dn]
C = CN
CN = foo
O = bar
[req_ext]
subjectAltName = @alt_names
[alt_names]
#将 example.com 替换为你自己的域名
DNS.1 = vscode.example.com
DNS.2 = *.vscode.example.com
DNS.3 = localhost
IP.1 = <手机内网IP>
IP.2 = 127.0.0.1
</code></pre>
<p>按 <kbd>Esc</kbd>,输入 <code>:wq</code> 并按回车后执行命令 <code>vim ./cert.conf</code>,再按 <kbd>i</kbd> 进入编辑模式,粘贴以下内容:</p>
<pre><code class="language-properties">authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
#将 example.com 替换为你自己的域名
DNS.1 = vscode.example.com
DNS.2 = *.vscode.example.com
DNS.3 = localhost
IP.1 = <手机内网IP>
IP.2 = 127.0.0.1
</code></pre>
<p>按 <kbd>Esc</kbd>,输入 <code>:wq</code> 并按回车后,依次执行以下命令:</p>
<pre><code class="language-bash">openssl req -x509 -sha256 -days 3560 -nodes -newkey rsa:2048 -subj "/CN=foo/C=CN/O=bar" -keyout rootCA.key -out rootCA.crt
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -config csr.conf
openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 365 -sha256 -extfile cert.conf
cd ~
</code></pre>
<h2 id="配置-ssh-服务">配置 ssh 服务</h2>
<p>依次执行以下命令:</p>
<pre><code class="language-bash">#设置密码,密码不会显示出来,输完后请自信按下回车
passwd
sshd
#显示内网 IP 地址
ifconfig
</code></pre>
<p>现在可以在同一局域网内另一台安装了 ssh 客户端的机器上执行以下命令,然后输入密码:</p>
<pre><code class="language-bash">ssh -p 8022 手机内网IP
</code></pre>
<p>如果显示下面的文字,输入 <code>yes</code> 并按回车</p>
<pre><code class="language-text">ED25519 key fingerprint is SHA256:balabala.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
</code></pre>
<h2 id="安装根证书">安装根证书</h2>
<p>以 Windows 系统为例,在同一局域网内另一台安装了 ssh 客户端的机器上执行以下命令,然后输入密码:</p>
<pre><code class="language-bash">scp -P 8022 username@手机内网IP:~/ssl/rootCA.crt .
</code></pre>
<p>双击打开证书文件,点击“安装证书”,将证书添加到“受信任的根证书颁发机构”。</p>
<p><img src="/blog/code-server-on-termux/img/ca.webp" alt="s:748x787 安装 CA 证书"></p>
<h2 id="配置-nginx">配置 Nginx</h2>
<p>执行命令 <code>vim ~/../usr/etc/nginx/nginx.conf</code>,再按 <kbd>i</kbd> 进入编辑模式,删除已有内容,然后粘贴以下内容:</p>
<pre><code class="language-nginx">worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
keepalive_timeout 65;
gzip on;
#如果显示“could not build server_names_hash, you should increase server_names_hash_bucket_size”,可以将下面的数字改为更大的 32 的倍数
server_names_hash_bucket_size 64;
server {
listen 7443 ssl;
#将 example.com 替换为你自己的域名
server_name *.vscode.example.com;
ssl_certificate /data/data/com.termux/files/home/ssl/server.crt;
ssl_certificate_key /data/data/com.termux/files/home/ssl/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
set $forward_port -1;
if ($host ~ ^([0-9]+)\. ) {
set $forward_port $1;
}
if ($forward_port = -1) {
return 400;
}
proxy_pass http://127.0.0.1:$forward_port;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
</code></pre>
<p>按 <kbd>Esc</kbd>,输入 <code>:wq</code> 并按回车。</p>
<h2 id="编写启动脚本">编写启动脚本</h2>
<p>执行命令 <code>vim ~/android-as-linux.js</code>,再按 <kbd>i</kbd> 进入编辑模式,删除已有内容,粘贴以下内容:</p>
<pre><code class="language-js">Object.defineProperty(process, "platform", {
get() {
return "linux";
},
});
</code></pre>
<p>按 <kbd>Esc</kbd>,输入 <code>:wq</code> 并按回车,然后执行命令 <code>vim ~/code-server.sh</code>,再按 <kbd>i</kbd> 进入编辑模式,删除已有内容,粘贴以下内容:</p>
<pre><code class="language-bash">#!/data/data/com.termux/files/usr/bin/bash
sshd
nginx -s quit
nginx
cat ~/.config/code-server/config.yaml
#见下方注意事项
export NODE_OPTIONS="--require /data/data/com.termux/files/home/android-as-linux.js"
#将 example.com 替换为你自己的域名
code-server --host 0.0.0.0 --port 8443 --cert ~/ssl/server.crt --cert-key ~/ssl/server.key --proxy-domain vscode.example.com:7443
</code></pre>
<p>按 <kbd>Esc</kbd>,输入 <code>:wq</code> 并按回车,然后依次执行以下命令:</p>
<pre><code class="language-bash">chmod 777 ~/code-server.sh
~/code-server.sh
</code></pre>
<blockquote>
<p>退出按 <kbd>Ctrl</kbd> + <kbd>C</kbd> 并执行 <code>nginx -s quit</code></p>
</blockquote>
<p>至此,完整的开发环境已经准备好。在同一局域网内另一台机器上打开浏览器,在地址栏输入 <code>vscode.example.com</code>(将 example.com 替换为你自己的域名)并输入密码,就可以愉快地敲代码了。</p>
<p><img src="/blog/code-server-on-termux/img/code-server.webp" alt="s:1680x1010 code-server"></p>
<h2 id="注意事项">注意事项</h2>
<h3 id="扩展">扩展</h3>
<p>这里贴上官网的<a href="https://coder.com/docs/code-server/latest/termux#many-extensions-including-language-packs-fail-to-install">警告</a></p>
<blockquote>
<p>Note that Android and Linux are not 100% compatible, so use these workarounds at your own risk. Extensions that have native dependencies ther than Node or that directly interact with the OS might cause issues.</p>
</blockquote>
<p>这句话的意思是:上面强制让 code-server 认为它现在在 Linux 平台上跑的行为可能会出惹出一些问题:直接调用操作系统接口/包含二进制可执行文件的扩展可能无法正常运行,因为 Android 和 Linux 不完全兼容,出了问题你负责。</p>
<p>还有,code-server 的扩展由 <a href="https://open-vsx.org/">Open VSX Registry</a> 提供,但是一些扩展在这并没有上架,这时可以在 <a href="https://marketplace.visualstudio.com/">Visual Studio Marketplace</a> 上面找到需要的扩展,然后点击右侧的“Download Extension”。下载后将扩展文件拽到右侧的资源管理器,再点击右键 > 安装扩展 VSIX。</p>
<p>顺便推荐一些我正在用的扩展:</p>
<ul>
<li><spoiler><del>厚着脸皮给自己打广告</del> 4399 on VSCode:在 VSCode 上玩 4399 小游戏</spoiler></li>
<li>Code Spell Checker:检查代码里的拼写错误,并给出修改建议</li>
<li>Comment Translate:翻译代码里的注释,支持替换需要翻译的文字</li>
<li>ESLint:规范代码风格</li>
<li>Gitmoji:快速在 Git 提交信息里插入 Emoji 表情</li>
<li>Path Intellisense:快速补全路径</li>
<li>Prettier:更漂亮的代码格式化工具</li>
</ul>
]]>
</content>
</entry>
<entry>
<title>如何优化网站加载速度</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/how-to-improve-performance/" />
<id>how-to-improve-performance</id>
<published>2023-06-24T07:38:27.834Z</published>
<updated>2023-06-24T07:38:27.834Z</updated>
<summary>如何优化网站加载速度
中考完了之后,闲的没事的我拿 LightHouse 测了一下自己的网站,发现分数有点低。为了拿到四个圆圈圈以满足我的虚荣心,我决定花些力气来优化网站性能。
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="如何优化网站加载速度">如何优化网站加载速度</h1>
<p>中考完了之后,闲的没事的我拿 LightHouse 测了一下自己的网站,发现分数有点低。为了拿到四个圆圈圈<del>以满足我的虚荣心</del>,我决定花些力气来优化网站性能。</p>
<!-- more -->
<p>废话不多说,先把图放上来。</p>
<p>优化前:</p>
<p><a href="https://pagespeed.web.dev/analysis/https-dsy4567-cf/gf94qbiu4z"><img src="/blog/how-to-improve-performance/img/before.webp" alt="s:969x835 优化前"></a></p>
<p>优化后:</p>
<p><a href="https://pagespeed.web.dev/analysis/https-dsy4567-cf/jyhkiaf907"><img src="/blog/how-to-improve-performance/img/after.webp" alt="s:964x831 优化后"></a></p>
<h2 id="为什么优化网站加载速度很重要">为什么优化网站加载速度很重要</h2>
<p>像我这种有点耐心<spoiler>(还不是被某堵墙和我这老爷机逼的)</spoiler>的人,逛加载速度慢网站通常会一边忍着一边想带妈的词语。而一些没耐心的人进了这种网站,肯定会想<code>这™什么破网站</code>,然后立马点叉。对于用户很多的电商平台来说,网站加载时间每多 100ms,用户越没有耐心看下去,然后电商平台就要少赚好几沓钞票。</p>
<h2 id="少说废话,进入正题">少说废话,进入正题</h2>
<h3 id="多用-getelementsbyxxx,少用-queryselectorall">多用 <code>getElement(s)ByXxx</code>,少用 <code>querySelector(All)</code></h3>
<p><img src="/blog/how-to-improve-performance/img/compare-gebxxx-qs.webp" alt="s:428x362 用一段代码比较 getElement(s)ByXxx 和 querySelector(All) 的性能"></p>
<p>由图可知,二者的速度差距挺大的。虽然 <code>querySelector(All)</code> 用起来又舒服又方便,但它是真的慢。平时写代码的时候,我们应该权衡方便和性能,最好只在 <code>getElement(s)ByXxx</code> 满足不了要求时才用 <code>querySelector(All)</code>。</p>
<h3 id="善用预加载">善用预加载</h3>
<p>如果你的网页有可能会晚些加载的资源(比如动态加载脚本、CSS 里的背景图片),可以在<code><head></code> 里添加 <code><link rel="preload"/></code> 或 <code><link rel="dns-prefetch"></code>,声明稍后可能会加载的资源,举个栗子:</p>
<pre><code class="language-html"><!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- ... -->
<link rel="dns-prefetch" href="https://api.github.com" />
<link rel="dns-prefetch" href="https://www.googletagmanager.com" />
<link rel="preload" href="/js/ncm.js" as="script" crossorigin="anonymous" />
<link rel="preload" href="/json/icon.json" as="fetch" crossorigin="anonymous" />
<link rel="preload" href="/json/theme.json" as="fetch" crossorigin="anonymous" />
</head>
<!-- ... -->
</html>
</code></pre>
<p>具体用法可以看看<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preload">这篇 MDN 文档(英语)</a>。</p>
<h3 id="为-script-标签添加-async-或-defer-属性">为 <code><script></code> 标签添加 <code>async</code> 或 <code>defer</code> 属性</h3>
<p>如果脚本不需要尽快执行,添加这两个属性可以让浏览器尽快渲染网页,而不必等待脚本执行完毕。</p>
<p>需要注意的是,添加 <code>async</code> 属性后,<code>DOMContentLoaded</code> 事件可能无法触发。</p>
<h3 id="更多做法">更多做法</h3>
<p>这些做法我就不细说了</p>
<ul>
<li>推迟加载不太重要的资源</li>
<li>压缩资源(这个我不想搞)</li>
<li>少用小站长提供的接口,说不定哪一天就变慢或者崩掉了,建议自行搭建</li>
<li>少用费资源的 CSS 方法(比如 <code>blur()</code>)</li>
</ul>
]]>
</content>
</entry>
<entry>
<title>使用 CloudFlare Workers 免费搭建 Virtual Judge 反代</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/cf-vjmirror/" />
<id>cf-vjmirror</id>
<published>2023-05-20T14:57:26.700Z</published>
<updated>2023-05-21T03:19:53.502Z</updated>
<summary>使用 CloudFlare Workers 免费搭建 Virtual Judge 反代
最近闲的没事干,受 如何科学地制作一个镜像反代站点 这篇文章的启发,我一个买不起服务器的穷逼准备用 CF Workers 搭一个 Virtual Judge 反代,以缓解 VJ 在大陆经常断网的情况。而且 CF Workers 有更高的 SLA 保证,如果运气好,访问速度还会嘎嘎快。
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="使用-cloudflare-workers-免费搭建-virtual-judge-反代">使用 CloudFlare Workers 免费搭建 Virtual Judge 反代</h1>
<p>最近闲的没事干,受 <a href="https://blog.immccn123.xyz/archives/362">如何科学地制作一个镜像反代站点</a> 这篇文章的启发,我一个买不起服务器的穷逼准备用 CF Workers 搭一个 Virtual Judge 反代,以缓解 VJ 在大陆经常断网的情况。而且 CF Workers 有更高的 SLA 保证,如果运气好,访问速度还会嘎嘎快。</p>
<!-- more -->
<blockquote>
<p>千万不要反代<spoiler>反 D、色情、赌博等</spoiler>违规网站,小心你家水表坏了。</p>
</blockquote>
<h2 id="注册-cf">注册 CF</h2>
<p>这个就不用我浪费口水了,传送门 -> <a href="https://dash.cloudflare.com/">https://dash.cloudflare.com/</a></p>
<h2 id="创建-cf-worker">创建 CF Worker</h2>
<blockquote>
<p>这一步需要先把域名绑到 CF 里面,因为 <code>*.workers.dev</code> 有墙。</p>
</blockquote>
<blockquote>
<p>可以到 Freenom 那里搞一个免费域名.</p>
</blockquote>
<p>登录 <a href="https://dash.cloudflare.com/">Cloudflare Dashboard</a>,点击右边的 Workers,再点右边的创建服务。</p>
<p><img src="https://dsy4567.icu/blog/cf-workers-ip/img/workers.webp" alt="s:1680x878 Workers 面板"></p>
<p>服务名称随便,点击创建服务。</p>
<p><img src="https://dsy4567.icu/blog/cf-workers-ip/img/%E5%88%9B%E5%BB%BA%E6%9C%8D%E5%8A%A1.webp" alt="s:935x821 创建服务"></p>
<p>绑定自定义域。</p>
<p>触发器 > 自定义域,在这里输入 Worker 要绑的域名。</p>
<p><img src="https://dsy4567.icu/blog/cf-workers-ip/img/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%9F%9F.webp" alt="s:1294x722 自定义域"></p>
<p>点击快速编辑。</p>
<p><img src="https://dsy4567.icu/blog/cf-workers-ip/img/%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF.webp" alt="s:1304x393 管理面板"></p>
<p>粘贴以下代码,然后保存并部署:</p>
<pre><code class="language-js">export default {
async fetch(request, env, ctx) {
let u = new URL(request.url);
const originHost = "vjudge.net",
mirrorHost = u.hostname;
u.hostname = originHost;
Object.defineProperty(request, "url", {
value: u,
writable: true,
});
let resp = await fetch(u, request);
if (resp.headers.get("content-type").includes("text/")) {
let body = await resp.text();
body.replace(new RegExp(originHost, "g"), mirrorHost);
return new Response(body, resp);
}
return resp;
},
};
</code></pre>
<p>接下来,访问你绑定的域名。</p>
<h2 id="登录镜像站">登录镜像站</h2>
<p>由于 CF Workers 不让改 <code>set-cookie</code> 请求头,你需要花很大力气登录 <code>vjudge.net</code>,然后把 cookies 复制到镜像站里。</p>
<p>打开 <a href="https://vjudge.net">https://vjudge.net</a>,登录后打开开发者工具 > 应用 > cookie > <code>https://vjudge.net</code>。</p>
<p>再打开 <a href="https://%E4%BD%A0%E7%BB%91%E5%AE%9A%E7%9A%84%E5%9F%9F%E5%90%8D">https://你绑定的域名</a>,登录后打开开发者工具 > 应用 > cookie > <code>https://你绑定的域名</code>,将两个 <code>JSESSIONID</code> 复制粘贴过去,然后刷新镜像站,就可以完成登录。</p>
<p><img src="/blog/cf-vjmirror/img/devtools.webp" alt="s:997x285 开发者工具"></p>
<hr>
<p>最后,尽情享受吧~</p>
<p>Demo(已失效):<del><a href="https://vjmirror.workers.dsy4567.cf/">https://vjmirror.workers.dsy4567.cf/</a></del></p>
]]>
</content>
</entry>
<entry>
<title>使用 Cloudflare Workers 获取别人的 IP 地址</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/cf-workers-ip/" />
<id>cf-workers-ip</id>
<published>2023-02-13T09:55:45.491Z</published>
<updated>2023-02-13T09:55:45.491Z</updated>
<summary>使用 Cloudflare Workers 获取别人的 IP 地址
本文将教你怎么顺着网线找到别人(
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="使用-cloudflare-workers-获取别人的-ip-地址">使用 Cloudflare Workers 获取别人的 IP 地址</h1>
<p>本文将教你怎么顺着网线找到别人(</p>
<!-- more -->
<h2 id="准备工作">准备工作</h2>
<ul>
<li>一个 CF 账号</li>
<li>一个已绑定到 Cloudflare 的域名(*.workers.dev 域名已被屏蔽)</li>
</ul>
<h2 id="创建-worker">创建 Worker</h2>
<p>登录 <a href="https://dash.cloudflare.com/">Cloudflare Dashboard</a>,点击右边的 Workers,再点右边的创建服务。</p>
<p><img src="/blog/cf-workers-ip/img/workers.webp" alt="s:1680x878 Workers 面板"></p>
<p>服务名称随意填写,然后点击创建服务。</p>
<p><img src="/blog/cf-workers-ip/img/%E5%88%9B%E5%BB%BA%E6%9C%8D%E5%8A%A1.webp" alt="s:935x821 创建服务"></p>
<p>点击快速编辑。</p>
<p><img src="/blog/cf-workers-ip/img/%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF.webp" alt="s:1304x393 管理面板"></p>
<p>粘贴以下代码,然后点击保存并部署。</p>
<pre><code class="language-JavaScript">export default {
async fetch(request, env) {
let namespace = env.ip,
u = new URL(request.url),
ip = request.headers.get("CF-Connecting-IP");
u.pathname == "/114514" && // 免费版每天只有一千次读写, 防滥用
(await namespace.put(new Date().toUTCString(), ip));
return new Response(ip);
},
};
</code></pre>
<h2 id="创建和绑定-kv-命名空间">创建和绑定 KV 命名空间</h2>
<p>返回,依次点击右边的 Workers > KV,然后点击创建命名空间 > 添加。</p>
<p><img src="/blog/cf-workers-ip/img/kv.webp" alt="s:1656x891 KV"></p>
<p>回到 Worker 详情页,点击设置 > 变量 > KV 命名空间绑定。</p>
<p>变量名称填 <code>ip</code>,KV 命名空间选刚才创建的那个,保存并部署。</p>
<p><img src="/blog/cf-workers-ip/img/%E8%AE%BE%E7%BD%AE.webp" alt="s:1322x842 设置页"></p>
<h2 id="绑定自定义域">绑定自定义域</h2>
<p>点击触发器 > 自定义域。</p>
<p><img src="/blog/cf-workers-ip/img/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%9F%9F.webp" alt="s:1294x722 自定义域"></p>
<p>把 <code>https://<你的自定义域>/114514</code> 这个网址发给别人访问,一段时间后,回到之前创建的 KV 命名空间,IP 就出来了。</p>
<p><img src="/blog/cf-workers-ip/img/ip.webp" alt="s:1680x895 KV 命名空间管理面板"></p>
<h2 id="参考资料">参考资料</h2>
<p>Cloudflare Workers 文档 <a href="https://developers.cloudflare.com/workers/">https://developers.cloudflare.com/workers/</a></p>
<p>恢复原始访问者 IP - Cloudflare 帮助中心 <a href="https://support.cloudflare.com/hc/zh-cn/articles/200170786-%E6%81%A2%E5%A4%8D%E5%8E%9F%E5%A7%8B%E8%AE%BF%E9%97%AE%E8%80%85-IP">https://support.cloudflare.com/hc/zh-cn/articles/200170786-恢复原始访问者-IP</a></p>
]]>
</content>
</entry>
<entry>
<title>P1932 题解</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/P1932/" />
<id>P1932</id>
<published>2023-02-04T08:56:05.388Z</published>
<updated>2023-02-04T08:56:05.388Z</updated>
<summary>P1932 题解
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="p1932-题解">P1932 题解</h1>
<!-- more -->
<h2 id="原题">原题</h2>
<blockquote>
<p><a href="https://www.luogu.com.cn/problem/P1932">https://www.luogu.com.cn/problem/P1932</a></p>
</blockquote>
<pre><code class="language-plaintext">A+B A-B A*B A/B A%B Problem
# 题目背景
这个题目很新颖吧!!!
# 题目描述
求A、B的和差积商余!
由于数据有修改,减法运算结果可能带负号!
# 输入格式
两个数两行
A
B
# 输出格式
五个数
和
差
积
商
余
# 样例 #1
样例输入 #1
1
1
样例输出 #1
2
0
1
1
0
# 提示
length(A),length(B)<=10^4
A,B>0
每个点3s。
</code></pre>
<hr>
<h2 id="代码">代码</h2>
<pre><code class="language-python">a,b=int(input()),int(input())
print(a+b)
print(a-b)
print(a*b)
print(a//b)
print(a%b)
</code></pre>
<p>Python <abbr title="永远单身">YYDS!</abbr></p>
<blockquote>
<p><a href="https://www.luogu.com.cn/record/107080406">https://www.luogu.com.cn/record/107080406</a></p>
</blockquote>
]]>
</content>
</entry>
<entry>
<title>(转) CCF NOI 历年处罚公告</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/ccf-noi-lncfgg/" />
<id>ccf-noi-lncfgg</id>
<published>2023-01-16T09:41:54.000Z</published>
<updated>2023-01-16T09:41:54.000Z</updated>
<summary>(转) CCF NOI 历年处罚公告
转自 https://fucksc.cf/penalties/
前言
本文旨在让各位选手/监考老师/特派员在历次处罚中引以为戒, 请各位读者理性看待以下事件, 不要对当事人/CCF做出不恰当的行为
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="转-ccf-noi-历年处罚公告">(转) CCF NOI 历年处罚公告</h1>
<blockquote>
<p>转自 <a href="https://fucksc.cf/penalties/">https://fucksc.cf/penalties/</a></p>
</blockquote>
<h2 id="前言">前言</h2>
<p>本文旨在让各位选手/监考老师/特派员在历次处罚中引以为戒, 请各位读者理性看待以下事件, 不要对当事人/CCF做出不恰当的行为</p>
<!-- more -->
<h2 id="2023">2023</h2>
<blockquote>
<p>PR welcome!</p>
</blockquote>
<h2 id="2022">2022</h2>
<p>关于对成都树德中学指导教师刘强的处罚公告 <a href="https://www.noi.cn/xw/2022-09-16/774011.shtml">https://www.noi.cn/xw/2022-09-16/774011.shtml</a></p>
<h2 id="2021">2021</h2>
<p>关于个别选手在NOIP 2021中使用暴戾语言的处罚公告 <a href="https://www.noi.cn/xw/2021-12-03/750909.shtml">https://www.noi.cn/xw/2021-12-03/750909.shtml</a></p>
<p>CCF关于竞赛及能力认证作弊处罚办法的公告 <a href="https://www.noi.cn/xw/2021-11-30/750857.shtml">https://www.noi.cn/xw/2021-11-30/750857.shtml</a></p>
<p>CCF关于对CSP-J/S 2021第二轮认证违规处罚的公告 <a href="https://www.noi.cn/xw/2021-11-05/749732.shtml">https://www.noi.cn/xw/2021-11-05/749732.shtml</a></p>
<p>关于在NOI教师培训中程序雷同的处罚公告 <a href="https://www.noi.cn/xw/2021-05-24/729110.shtml">https://www.noi.cn/xw/2021-05-24/729110.shtml</a></p>
<h2 id="2020">2020</h2>
<p>关于对NOIP2020省组织单位工作失误处罚的公告 <a href="https://www.noi.cn/xw/2020-12-15/718386.shtml">https://www.noi.cn/xw/2020-12-15/718386.shtml</a></p>
<p>CCF关于对CSP-J/S2020第二轮认证违规处罚的公告 <a href="https://www.noi.cn/xw/2020-12-10/718309.shtml">https://www.noi.cn/xw/2020-12-10/718309.shtml</a></p>
<p>关于对侵犯CCF知识产权进行处罚结果的通告 <a href="https://www.noi.cn/xw/2020-10-28/715723.shtml">https://www.noi.cn/xw/2020-10-28/715723.shtml</a></p>
<p>CCF关于对干扰认证秩序者的处罚公告 <a href="https://www.noi.cn/xw/2020-10-12/715677.shtml">https://www.noi.cn/xw/2020-10-12/715677.shtml</a></p>
<h2 id="2019">2019</h2>
<p>CCF关于对CSP-J/S2019第二轮认证违规处罚的公告 <a href="https://www.noi.cn/xw/2019-12-09/715513.shtml">https://www.noi.cn/xw/2019-12-09/715513.shtml</a></p>
<p>关于NOI黑龙江特派员王宇华违规处罚的公告 <a href="https://www.noi.cn/xw/2019-11-18/715498.shtml">https://www.noi.cn/xw/2019-11-18/715498.shtml</a></p>
<h2 id="2018">2018</h2>
<p>CCF关于对NOIP2018复赛违规处罚的公告 <a href="https://www.noi.cn/xw/2018-12-10/715288.shtml">https://www.noi.cn/xw/2018-12-10/715288.shtml</a></p>
<p>CCF关于公布NOIP2018初赛违规事件的处罚公告 <a href="https://www.noi.cn/xw/2018-11-01/715273.shtml">https://www.noi.cn/xw/2018-11-01/715273.shtml</a></p>
<h2 id="2017">2017</h2>
<p>CCF关于NOIP2017复赛违规省份的处罚公告 <a href="https://www.noi.cn/xw/2017-11-30/715177.shtml">https://www.noi.cn/xw/2017-11-30/715177.shtml</a></p>
<p>CCF关于公布NOIP2017初赛违规事件的处罚公告 <a href="https://www.noi.cn/xw/2017-11-10/715172.shtml">https://www.noi.cn/xw/2017-11-10/715172.shtml</a></p>
<p>CCF关于实施NOI省选中处罚名额的说明 <a href="https://www.noi.cn/xw/2017-04-07/715144.shtml">https://www.noi.cn/xw/2017-04-07/715144.shtml</a></p>
<h2 id="2016">2016</h2>
<p>CCF 关于NOIP2016违规事件的处罚公告 <a href="https://www.noi.cn/xw/2016-12-16/715131.shtml">https://www.noi.cn/xw/2016-12-16/715131.shtml</a></p>
<h2 id="2015">2015</h2>
<p>CCF关于NOIP2015复赛违规省份的处罚公告 <a href="https://www.noi.cn/xw/2015-11-27/715099.shtml">https://www.noi.cn/xw/2015-11-27/715099.shtml</a></p>
<p>CCF关于河北武邑中学在NOIP2015初赛中违规的处罚通知 <a href="https://www.noi.cn/xw/2015-11-11/715095.shtml">https://www.noi.cn/xw/2015-11-11/715095.shtml</a></p>
<p>CCF关于公布NOIP2015初赛违规事件处罚的通告 <a href="https://www.noi.cn/xw/2015-11-04/715094.shtml">https://www.noi.cn/xw/2015-11-04/715094.shtml</a></p>
<h2 id="2014">2014</h2>
<blockquote>
<p>PR welcome!</p>
</blockquote>
<h2 id="2013">2013</h2>
<p>CCF关于对NOIP2013初赛违规事件相关学校和选手处罚决定的通告 <a href="https://www.noi.cn/xw/2013-11-26/715014.shtml">https://www.noi.cn/xw/2013-11-26/715014.shtml</a></p>
<p>CCF对NOIP作弊选手处罚结果的公告 <a href="https://www.noi.cn/xw/2013-01-11/714963.shtml">https://www.noi.cn/xw/2013-01-11/714963.shtml</a></p>
<h2 id="2012">2012</h2>
<p>CCF关于对NOIP作弊选手处罚决定的通告 <a href="https://www.noi.cn/xw/2012-12-12/714962.shtml">https://www.noi.cn/xw/2012-12-12/714962.shtml</a></p>
<h2 id="2011">2011</h2>
<p>CCF关于对NOI违约选手处罚决定的通告 <a href="https://www.noi.cn/xw/2011-11-18/714897.shtml">https://www.noi.cn/xw/2011-11-18/714897.shtml</a></p>
<h2 id="相关资源">相关资源</h2>
<p>做干净的奥赛 <a href="https://www.noi.cn/xw/2009-08-31/714736.shtml">https://www.noi.cn/xw/2009-08-31/714736.shtml</a></p>
<p>全国青少年信息学奥林匹克竞赛条例 <a href="https://www.noi.cn/gynoi/tlgd/2008-12-25/710424.shtml#:~:text=%E8%B5%9B%E5%9C%BA%E8%A7%84%E5%AE%9A%EF%BC%9B-,8)%20%E5%85%B6%E4%BB%96%E5%8F%AF%E8%83%BD%E5%BD%B1%E5%93%8D%E5%85%AC%E5%B9%B3%E7%AB%9E%E8%B5%9B%E7%9A%84%E5%85%B6%E4%BB%96%E8%A1%8C%E4%B8%BA%E3%80%82,-10.%20%E5%85%B6%E4%BB%96%E4%BA%BA%E5%91%98">https://www.noi.cn/gynoi/tlgd/2008-12-25/710424.shtml#:~:text=赛场规定;-,8)%20其他可能影响公平竞赛的其他行为。,-10.%20其他人员</a></p>
<h2 id="其他信息">其他信息</h2>
<p>本文可随意转载/修改, 无需注明出处</p>
<p><nocopyright value="true"></nocopyright></p>
]]>
</content>
</entry>
<entry>
<title>(水文)2022 €€£ €$₽ J 组第二轮游寄</title>
<link rel="alternate" type="text/html" href="https://dsy4567.github.io/blog/2022-ccf-csp-j-you-ji/" />
<id>2022-ccf-csp-j-you-ji</id>
<published>2023-01-12T16:00:00.000Z</published>
<updated>2023-01-12T16:00:00.000Z</updated>
<summary>(水文)2022 €€£ €$₽ J 组第二轮游寄
2022-10-28
J 组取消, S 组继续, 游寄结束
本文可随意转载/修改, 无需注明出处
</summary>
<author>
<name>dsy4567</name>
<uri>https://dsy4567.github.io/</uri>
</author>
<category term="Default" />
<content type="html" xml:lang="zh-cn">
<![CDATA[
<h1 id="水文2022-€€£-€₽-j-组第二轮游寄">(水文)2022 <abbr title="CCF CSP(China Computer Federation Certified Software Professional, CCF 软件能力认证)的货币符号形式, 体现了 CCF 贪财的特点">€€£ €$₽</abbr> J 组第二轮游寄</h1>
<h2 id="2022-10-28">2022-10-28</h2>
<p>J 组取消, S 组继续, 游寄结束</p>
<p><a href="https://www.noi.cn/gs/xw/sx1/2022-10-28/775827.shtml?province=df"><img src="/blog/2022-ccf-csp-j-you-ji/img/cover.webp" alt="s:874x370 棺方通知"></a></p>
<blockquote>
<p>本文可随意转载/修改, 无需注明出处</p>
</blockquote>
<p><nocopyright value="true"></nocopyright></p>
]]>
</content>
</entry></feed>