[{"content":"webhook test ","permalink":"https://flandre.vip/posts/test/","summary":"\u003ch1 id=\"webhook-test\"\u003ewebhook test\u003c/h1\u003e","title":"Webhook 测试"},{"content":"人生就是无限多的遗憾和有限多的时间。 我们没有高估理性的决绝，但绝对低估了直至最后那深藏心底的感性的余伤。 时而茫然若失恰巧证明活过吧。\n","permalink":"https://flandre.vip/shuoshuo/260317/","summary":"\u003cp\u003e人生就是无限多的遗憾和有限多的时间。 我们没有高估理性的决绝，但绝对低估了直至最后那深藏心底的感性的余伤。 时而茫然若失恰巧证明活过吧。\u003c/p\u003e","title":"260317"},{"content":"有一段内耗日子写的post太他妈的幼稚了😂\n","permalink":"https://flandre.vip/shuoshuo/25-11-06/","summary":"\u003cp\u003e有一段内耗日子写的post太他妈的幼稚了😂\u003c/p\u003e","title":"25.11.06"},{"content":"","permalink":"https://flandre.vip/pages/shuoshuo/","summary":"","title":"说说"},{"content":"[steamuser]76561198363243877[/steamuser]\n","permalink":"https://flandre.vip/pages/steam/","summary":"\u003cp\u003e[steamuser]76561198363243877[/steamuser]\u003c/p\u003e","title":"STEAM"},{"content":"引言 起初在我的服务器探针检测到我专门用来部署网站服务的机子经常有异常负载以及带宽。 在关闭全部服务之后逐一排查发现，仅开启gitea docker服务的时候，并没有异常负载，开启除了gitea反代外的服务之后也没有异常负载，但当开启了gitea反代nginx配置文件之后，马上就可以监测到服务器的带宽占用以及时常爆满的cpu利用率。 查看nginx访客日志 如上图所示，有很多bot(爬虫)在爬取我的gitea内容，回顾以前的操作，我在gitea上拉取过一些静态资源(fontawesome之类的)，并将仓库属性设置为镜像，还开启了定时拉取。此操作的目的是将自己主网站的资源转到自己的gitea以加快访问速度。但就是这一操作，反复拉取以及设置镜像的过程让那些合法爬虫定位到了我的gitea目录。这些bot大多数都是大公司的,比如openai,Amazon,claude。 不管出于什么目的，我并不希望自己的gitea被反复无效的get占用带宽以及负载资源。因此我便为了解决这个问题做了一些折腾由此还引出了其他方面的折腾，比如跨域限制，防止盗链等等。 果然，生命在于折腾啊(雾 首先解决爬虫问题。 由于这些合法爬虫是遵守君子协议即robots.txt的，所以我们可以配置robots.txt放在网站的根目录。\nUser-agent: * Disallow: / User-agent字段设置规则匹配的bot，*是匹配所有bot。 Disallow字段设置不可访问的目录，/即不可访问所有目录。 但是我反代gitea的nginx配置文件主location反代到了http://localhost:3000，因此是打不开/robots.txt文件的，要放在所有location前的配置文件如下\nlocation = /robots.txt { root /path/to/your/domain; try_files $uri =404; } 好了，引言结束，在完成以上操作后的2-3天，合法爬虫确实不爬取我的网站了，带宽负载均恢复正常。 按理说应该打住结束这次探索了对不对？ 可是，生命在于折腾啊!。 不继续折腾下去总觉得哪里不完美哪里不完善。 进入正文，为了让我的gitea资源只允许我自己的网站请求资源，需要做跨域限制以及防止盗链处理。\nnginx主配置文件 首先修改nginx主配置文件，为了配置区分，在/.../nginx/customize/专门新建一个gitea.conf配置文件\n# 缓存路径配置，路径按自己实际情况填写。 proxy_cache_path /path/to/your/domain/cache levels=1:2 keys_zone=GITEA_CACHE:256m inactive=7d max_size=10g use_temp_path=off; # 动态缓存控制映射 map $request_method $skip_cache { default 0; POST 1; PUT 1; DELETE 1; PATCH 1; } # CORS配置 map $http_origin $gitea_allow_origin { default \u0026#34;\u0026#34;; \u0026#34;~^https?://(.*\\.)?scarle7\\.tech(:[0-9]+)?$\u0026#34; $http_origin; \u0026#34;~^https?://(.*\\.)?flandre\\.vip(:[0-9]+)?$\u0026#34; $http_origin; \u0026#34;~^https?://git\\.scarle7\\.tech(:[0-9]+)?$\u0026#34; $http_origin; } 其中keys_zone后面的GITEA_CACHE是定义的变量，gitea_allow_origin也是，后续配置文件要引用它们。 由于上面的配置内容实际是http块里的内容，所以在主配置文件nginx.conf的http块中引用上面的配置文件。\n...... #其他内容 http { include /.../nginx/customize/gitea.conf # 其他原有配置内容不必修改 } 跨域限制 由于上文已经定义了gitea_allow_origin变量，包含了允许的域名。 所以我们可以直接引用它来进行控制\n注意：以下代码高亮中的\u0026quot;≠\u0026ldquo;实际上是\u0026rdquo;!=\u0026quot;，由于代码高亮通过jetbrain默认现代化字体渲染，所以显示效果和jetbrain默认效果一样，此效果称为\u0026quot;字符连写\u0026quot;，只是让显示效果更美观并不影响实际复制，你会发现你无法单独复制代码高亮\u0026quot;≠\u0026quot;，实际上是两个字符，另外在jetbrain中\u0026quot;\u0026lt;=\u0026ldquo;会渲染成\u0026rdquo;≤\u0026quot;，以此类推有很多特定连写可以自己探索。\nif ($gitea_allow_origin != \u0026#34;\u0026#34;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; } 预检请求处理\nif ($request_method = \u0026#39;OPTIONS\u0026#39;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000; add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;; add_header \u0026#39;Content-Length\u0026#39; 0; return 204; } 上面内容都是包含在主location块里的 完整主location配置应该如下\n# 主请求处理 location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 跨域控制（引用专用变量） if ($gitea_allow_origin != \u0026#34;\u0026#34;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; } # 预检请求处理 if ($request_method = \u0026#39;OPTIONS\u0026#39;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000; add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;; add_header \u0026#39;Content-Length\u0026#39; 0; return 204; } } 静态资源防盗链 这是一个很简单的事情，通过nginx自带的valid_referers和invalid_referers实现即可。 但是要注意虽然上文已经设置了主location反代，这里依旧要再次设置。\nlocation ~* \\.(css|js|png|jpe?g|gif|ico|svg|woff2|ttf|woff)$ { valid_referers none blocked server_names scarle7.tech www.scarle7.tech *.scarle7.tech flandre.vip www.flandre.vip *.flandre.vip; if ($invalid_referer) { return 403; } proxy_pass http://localhost:3000; } [warning]通过以上设置合法域名访问git.scarle7.tech含有Access-Control-Allow-Origin，可以正常获取，但是访问那些被指定的静态资源却不包含Access-Control-Allow-Origin，因此会被浏览器corb禁止。[/warning] 原因是上面配置会覆盖掉对于静态资源的corb控制，非上面提及的静态资源仍受主location控制，而被提及的则已经被主location排除。解决方法是在禁止盗链location块也加入corb控制。 禁止盗链完整配置如下\nlocation ~* \\.(css|js|png|jpe?g|gif|ico|svg|woff2|ttf|woff)$ { valid_referers none blocked server_names scarle7.tech www.scarle7.tech *.scarle7.tech flandre.vip www.flandre.vip *.flandre.vip; if ($invalid_referer) { return 403; } if ($gitea_allow_origin != \u0026#34;\u0026#34;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; } if ($request_method = \u0026#39;OPTIONS\u0026#39;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000; add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;; add_header \u0026#39;Content-Length\u0026#39; 0; return 204; } } 缓存控制 由于上文定义的GITEA_CACHE路径并没有创建，先创建路径并授予权限。\nsudo mkdir -p /path/to/your/domain/cache sudo chown -R www:www /path/to/your/domain/cache sudo chmod -R 755 /path/to/your/domain/cache 分别在上文的两个location中加入\n# 主 proxy_cache GITEA_CACHE; proxy_cache_valid 200 302 12h; proxy_cache_bypass $skip_cache; add_header X-Cache-Status $upstream_cache_status; # 位置应该在proxy部分和跨域控制部分的中间 # ....proxy部分 cache部分 跨域控制.... # 防盗链 proxy_cache GITEA_CACHE; proxy_cache_valid 200 302 30d; expires 365d; add_header Cache-Control \u0026#34;public, immutable\u0026#34;; # 位置为proxy_pass前 # .... cache部分 proxy_pass 对于gitea来说，我们不应该缓存api和admin，这些页面我们必须实时更新，因此最后一个location专门处理什么内容不缓存\nlocation ~ ^/(api|admin) { proxy_pass http://localhost:3000; proxy_no_cache 1; proxy_cache_bypass 1; add_header Cache-Control \u0026#34;no-store\u0026#34;; } 至此所有设置都完成，重载即可。 最后会给出完整参考配置。 完成这些后，测试gitea是否可以正常访问，然后进行下一步测试。\n跨域与盗链完善度验证 1.跨域验证 合法域名测试 curl -I -H \u0026#34;Origin: https://scarle7.tech\u0026#34; https://git.scarle7.tech # 返回了：Access-Control-Allow-Origin: https://scarle7.tech √验证通过 非法域名测试 例如百度\ncurl -I -H \u0026#34;Origin: https://baidu.com\u0026#34; https://git.scarle7.tech # 不包含Access-Control-Allow-Origin头√验证通过 2.防盗链验证 合法引用测试 curl -I -e \u0026#34;https://scarle7.tech\u0026#34; https://git.scarle7.tech/static/image.png # 返回200 √验证通过 非法引用测试 curl -I -e \u0026#34;https://steal.com\u0026#34; https://git.scarle7.tech/static/image.png # 返回403 Forbidde √验证通过 3.缓存生效验证 # 首次请求（应MISS） curl -I https://git.scarle7.tech/test/test.css # 实际响应头包含：X-Cache-Status: MISS # 第二次请求（应HIT） curl -I https://git.scarle7.tech/test/test.css # 实际响应头包含：X-Cache-Status: HIT # √验证通过 完整配置 完整配置应该在server块中加上安全头\nserver { ...... ...... # 其他配置，包括监听端口，ssl等等基础配置 add_header Strict-Transport-Security \u0026#34;max-age=31536000\u0026#34;; add_header Alt-Svc \u0026#39;quic=\u0026#34;:443\u0026#34;; h3=\u0026#34;:443\u0026#34;; h3-29=\u0026#34;:443\u0026#34;; h3-27=\u0026#34;:443\u0026#34;;h3-25=\u0026#34;:443\u0026#34;; h3-T050=\u0026#34;:443\u0026#34;; h3-Q050=\u0026#34;:443\u0026#34;;h3-Q049=\u0026#34;:443\u0026#34;;h3-Q048=\u0026#34;:443\u0026#34;; h3-Q046=\u0026#34;:443\u0026#34;; h3-Q043=\u0026#34;:443\u0026#34;\u0026#39;; add_header X-Frame-Options \u0026#34;SAMEORIGIN\u0026#34;; add_header X-Content-Type-Options \u0026#34;nosniff\u0026#34;; add_header Referrer-Policy \u0026#34;strict-origin-when-cross-origin\u0026#34;; # 君子协议 location = /robots.txt { root /www/wwwroot/git.scarle7.tech; try_files $uri =404; } # 主请求处理 location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 缓存配置 proxy_cache GITEA_CACHE; proxy_cache_valid 200 302 12h; proxy_cache_bypass $skip_cache; add_header X-Cache-Status $upstream_cache_status; # 跨域配置 if ($gitea_allow_origin != \u0026#34;\u0026#34;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; } # 预检请求处理 if ($request_method = \u0026#39;OPTIONS\u0026#39;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000; add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;; add_header \u0026#39;Content-Length\u0026#39; 0; return 204; } } # 静态资源防盗链 location ~* \\.(css|js|png|jpe?g|gif|ico|svg|woff2|ttf|woff)$ { valid_referers none blocked server_names scarle7.tech www.scarle7.tech *.scarle7.tech flandre.vip www.flandre.vip *.flandre.vip; if ($invalid_referer) { return 403; } if ($gitea_allow_origin != \u0026#34;\u0026#34;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; } if ($request_method = \u0026#39;OPTIONS\u0026#39;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; $gitea_allow_origin always; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39; always; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000; add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;; add_header \u0026#39;Content-Length\u0026#39; 0; return 204; } # 增强缓存 proxy_cache GITEA_CACHE; proxy_cache_valid 200 302 30d; expires 365d; add_header Cache-Control \u0026#34;public, immutable\u0026#34;; proxy_pass http://localhost:3000; } # 不缓存内容 location ~ ^/(api|admin) { proxy_pass http://localhost:3000; proxy_no_cache 1; proxy_cache_bypass 1; add_header Cache-Control \u0026#34;no-store\u0026#34;; } if ( $uri ~ \u0026#34;^/\\.well-known/.*\\.(php|jsp|py|js|css|lua|ts|go|zip|tar\\.gz|rar|7z|sql|bak)$\u0026#34; ) { return 403; } access_log /path/to/logs/access.log; error_log /path/to/logs/error.log; } END\n","permalink":"https://flandre.vip/posts/gitea_nginx/","summary":"\u003ch2 id=\"引言\"\u003e引言\u003c/h2\u003e\n\u003cp\u003e起初在我的\u003ca href=\"https://sstl.scarle7.tech/\"\u003e服务器探针\u003c/a\u003e检测到我专门用来部署网站服务的机子经常有异常负载以及带宽。 \u003cimg alt=\"异常负载\" loading=\"lazy\" src=\"https://oss.flandre.vip/2025/04/08/236664A1-96C1-4ECB-9450-6EEEFB12C7AA.jpg\"\u003e 在关闭全部服务之后逐一排查发现，仅开启gitea docker服务的时候，并没有异常负载，开启除了gitea反代外的服务之后也没有异常负载，但当开启了gitea反代nginx配置文件之后，马上就可以监测到服务器的带宽占用以及时常爆满的cpu利用率。 查看nginx访客日志 \u003cimg alt=\"访客日志\" loading=\"lazy\" src=\"https://oss.flandre.vip/2025/04/08/27C6CDBC-D9AC-4803-B399-CF7E1DF19484.jpg\"\u003e 如上图所示，有很多bot(爬虫)在爬取我的gitea内容，回顾以前的操作，我在gitea上拉取过一些静态资源(fontawesome之类的)，并将仓库属性设置为镜像，还开启了定时拉取。此操作的目的是将自己主网站的资源转到自己的gitea以加快访问速度。但就是这一操作，反复拉取以及设置镜像的过程让那些合法爬虫定位到了我的gitea目录。这些bot大多数都是大公司的,比如openai,Amazon,claude。 不管出于什么目的，我并不希望自己的gitea被反复无效的get占用带宽以及负载资源。因此我便为了解决这个问题做了一些折腾由此还引出了其他方面的折腾，比如跨域限制，防止盗链等等。 果然，生命在于折腾啊(雾 首先解决爬虫问题。 由于这些合法爬虫是遵守君子协议即\u003ccode\u003erobots.txt\u003c/code\u003e的，所以我们可以配置\u003ccode\u003erobots.txt\u003c/code\u003e放在网站的根目录。\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-txt\" data-lang=\"txt\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eUser-agent: *\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eDisallow: /\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003ccode\u003eUser-agent\u003c/code\u003e字段设置规则匹配的bot，\u003ccode\u003e*\u003c/code\u003e是匹配所有bot。 \u003ccode\u003eDisallow\u003c/code\u003e字段设置不可访问的目录，\u003ccode\u003e/\u003c/code\u003e即不可访问所有目录。 但是我反代gitea的nginx配置文件主\u003ccode\u003elocation\u003c/code\u003e反代到了\u003ccode\u003ehttp://localhost:3000\u003c/code\u003e，因此是打不开\u003ccode\u003e/robots.txt\u003c/code\u003e文件的，要放在所有\u003ccode\u003elocation\u003c/code\u003e前的配置文件如下\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-nginx\" data-lang=\"nginx\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003elocation\u003c/span\u003e = \u003cspan style=\"color:#e6db74\"\u003e/robots.txt\u003c/span\u003e {\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eroot\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e/path/to/your/domain\u003c/span\u003e;  \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003etry_files\u003c/span\u003e $uri =\u003cspan style=\"color:#ae81ff\"\u003e404\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e}\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e好了，引言结束，在完成以上操作后的2-3天，合法爬虫确实不爬取我的网站了，带宽负载均恢复正常。 按理说应该打住结束这次探索了对不对？ 可是，生命在于折腾啊!。 不继续折腾下去总觉得哪里不完美哪里不完善。 进入正文，为了让我的gitea资源只允许我自己的网站请求资源，需要做跨域限制以及防止盗链处理。\u003c/p\u003e\n\u003ch2 id=\"nginx主配置文件\"\u003enginx主配置文件\u003c/h2\u003e\n\u003cp\u003e首先修改nginx主配置文件，为了配置区分，在\u003ccode\u003e/.../nginx/customize/\u003c/code\u003e专门新建一个\u003ccode\u003egitea.conf\u003c/code\u003e配置文件\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-nginx\" data-lang=\"nginx\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#75715e\"\u003e# 缓存路径配置，路径按自己实际情况填写。\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#66d9ef\"\u003eproxy_cache_path\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e/path/to/your/domain/cache\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003elevels=1:2\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003ekeys_zone=GITEA_CACHE:256m\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003einactive=7d\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003emax_size=10g\u003c/span\u003e \n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003euse_temp_path=off\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#75715e\"\u003e# 动态缓存控制映射\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#66d9ef\"\u003emap\u003c/span\u003e $request_method $skip_cache {\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003edefault\u003c/span\u003e     \u003cspan style=\"color:#ae81ff\"\u003e0\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003ePOST\u003c/span\u003e        \u003cspan style=\"color:#ae81ff\"\u003e1\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003ePUT\u003c/span\u003e         \u003cspan style=\"color:#ae81ff\"\u003e1\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003eDELETE\u003c/span\u003e      \u003cspan style=\"color:#ae81ff\"\u003e1\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003ePATCH\u003c/span\u003e       \u003cspan style=\"color:#ae81ff\"\u003e1\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    }\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#75715e\"\u003e# CORS配置\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#66d9ef\"\u003emap\u003c/span\u003e $http_origin $gitea_allow_origin {\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003edefault\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;\u0026#34;\u003c/span\u003e;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003e\u0026#34;~^https?://(.*\\.)?scarle7\\.tech(:[0-9]+)?$\u0026#34;\u003c/span\u003e $http_origin;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003e\u0026#34;~^https?://(.*\\.)?flandre\\.vip(:[0-9]+)?$\u0026#34;\u003c/span\u003e $http_origin;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#f92672\"\u003e\u0026#34;~^https?://git\\.scarle7\\.tech(:[0-9]+)?$\u0026#34;\u003c/span\u003e $http_origin;\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    }\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e其中\u003ccode\u003ekeys_zone\u003c/code\u003e后面的\u003ccode\u003eGITEA_CACHE\u003c/code\u003e是定义的变量，\u003ccode\u003egitea_allow_origin\u003c/code\u003e也是，后续配置文件要引用它们。 由于上面的配置内容实际是\u003ccode\u003ehttp\u003c/code\u003e块里的内容，所以在主配置文件\u003ccode\u003enginx.conf\u003c/code\u003e的\u003ccode\u003ehttp\u003c/code\u003e块中引用上面的配置文件。\u003c/p\u003e","title":"gitea反代限制跨域,防盗链,以及缓存优化"},{"content":"策略组控制 - {name: Gamedl, type: select, proxies: [DIRECT, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇰🇷 韩国节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 🇬🇧 英国节点, 🇫🇷 法国节点, 🇩🇪 德国节点], icon: \u0026#39;https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Download.png\u0026#39;} 规则订阅 Gamedlcn: \u0026lt;\u0026lt;: *RuleSet url: \u0026#39;https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Game/GameDownloadCN/GameDownloadCN.yaml\u0026#39; path: \u0026#39;./RuleSet/Gamedlcn.yaml\u0026#39; Gamedl: \u0026lt;\u0026lt;: *RuleSet url: \u0026#39;https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Game/GameDownload/GameDownload.yaml\u0026#39; path: \u0026#39;./RuleSet/Gamedl.yaml\u0026#39; 规则分流 # 注意将此分流提前，clash对于分流的处理优先级是从上至下。 - RULE-SET,Gamedlcn,Gamedl - RULE-SET,Gamedl,Gamedl ","permalink":"https://flandre.vip/posts/clash_gamedl_profile/","summary":"\u003ch3 id=\"策略组控制\"\u003e策略组控制\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e- {\u003cspan style=\"color:#f92672\"\u003ename\u003c/span\u003e: \u003cspan style=\"color:#f92672\"\u003eGamedl, type\u003c/span\u003e: \u003cspan style=\"color:#f92672\"\u003eselect, proxies\u003c/span\u003e: \u003cspan style=\"color:#f92672\"\u003e[DIRECT, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇰🇷 韩国节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 🇬🇧 英国节点, 🇫🇷 法国节点, 🇩🇪 德国节点], icon\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Download.png\u0026#39;\u003c/span\u003e}\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"规则订阅\"\u003e规则订阅\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#f92672\"\u003eGamedlcn\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e: \u003cspan style=\"color:#75715e\"\u003e*RuleSet\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eurl\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Game/GameDownloadCN/GameDownloadCN.yaml\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003epath\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;./RuleSet/Gamedlcn.yaml\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#f92672\"\u003eGamedl\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e: \u003cspan style=\"color:#75715e\"\u003e*RuleSet\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eurl\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Game/GameDownload/GameDownload.yaml\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003epath\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;./RuleSet/Gamedl.yaml\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"规则分流\"\u003e规则分流\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e# 注意将此分流提前，clash对于分流的处理优先级是从上至下。\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e- \u003cspan style=\"color:#ae81ff\"\u003eRULE-SET,Gamedlcn,Gamedl\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e- \u003cspan style=\"color:#ae81ff\"\u003eRULE-SET,Gamedl,Gamedl\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e","title":"Clash 游戏下载直连配置教程：Steam、Epic、战网、Xbox 规则分流。"},{"content":"独行吧少年\n","permalink":"https://flandre.vip/shuoshuo/240202/","summary":"\u003cp\u003e独行吧少年\u003c/p\u003e","title":"240202"},{"content":"远离各种“群”，独立思考。这里说的是社群，集群，人群。因为没有修过心的人进入群体就会丧失一部分理性与道德，变得懈怠傲慢功利贪嗔，被无形规矩限制。\n所谓流媒体，所谓文案，所谓人生哲理，本身就是先分类各种对立风向，进而标记各种群体，从而更容易基于大数据定向洗脑控制思想。你会被带动风向，先被建立从多元观点到二元观点再到单结论的降维思考框架，然后被“强化学习”，形成对某个主观观点的偏执性理解，进而继续被打上标签如此反复，形成“n叉群”。\n当你困于大数据下的各种争端与冲突（例如某个新梗，某个大瓜，某个对立性探讨的话题），对于某个观点产生怀疑或顺从，本质是一种廉价的内耗，浪费时间，我现在非常清楚时间的重要性。基于好坏情感的内耗是人之本性，会让你思考明白你该做什么，通透人性，思考完你有一个选择，变好或者继续堕落，大多数人会怎么爽怎么来，我曾经也陷在这一层；但基于冲突与批判性的内耗，各种精神胜利与失败，以及对某个主观观点的顺从是兽之本性，一定远离。\n客观问题带着关键词去主动搜索想要的答案，主观问题我很喜欢我朋友对我说的一句话:“自己思考自己解决自己问心，我只能安慰你的情绪，但是给不了看法与意见，因为我不在局中。”\n所以可以去头破血流，可以去疯去闹，可以去问心无愧，但要独立思考，不要去寻求任何非安慰外的精神胜利与帮助。\n我说的也辩证看待。\n","permalink":"https://flandre.vip/shuoshuo/250114/","summary":"\u003cp\u003e远离各种“群”，独立思考。这里说的是社群，集群，人群。因为没有修过心的人进入群体就会丧失一部分理性与道德，变得懈怠傲慢功利贪嗔，被无形规矩限制。\u003c/p\u003e\n\u003cp\u003e所谓流媒体，所谓文案，所谓人生哲理，本身就是先分类各种对立风向，进而标记各种群体，从而更容易基于大数据定向洗脑控制思想。你会被带动风向，先被建立从多元观点到二元观点再到单结论的降维思考框架，然后被“强化学习”，形成对某个主观观点的偏执性理解，进而继续被打上标签如此反复，形成“n叉群”。\u003c/p\u003e\n\u003cp\u003e当你困于大数据下的各种争端与冲突（例如某个新梗，某个大瓜，某个对立性探讨的话题），对于某个观点产生怀疑或顺从，本质是一种廉价的内耗，浪费时间，我现在非常清楚时间的重要性。基于好坏情感的内耗是人之本性，会让你思考明白你该做什么，通透人性，思考完你有一个选择，变好或者继续堕落，大多数人会怎么爽怎么来，我曾经也陷在这一层；但基于冲突与批判性的内耗，各种精神胜利与失败，以及对某个主观观点的顺从是兽之本性，一定远离。\u003c/p\u003e\n\u003cp\u003e客观问题带着关键词去主动搜索想要的答案，主观问题我很喜欢我朋友对我说的一句话:“自己思考自己解决自己问心，我只能安慰你的情绪，但是给不了看法与意见，因为我不在局中。”\u003c/p\u003e\n\u003cp\u003e所以可以去头破血流，可以去疯去闹，可以去问心无愧，但要独立思考，不要去寻求任何非安慰外的精神胜利与帮助。\u003c/p\u003e\n\u003cp\u003e我说的也辩证看待。\u003c/p\u003e","title":"250115"},{"content":"[hermit autoplay=\u0026ldquo;false\u0026rdquo; mode=\u0026ldquo;circulation\u0026rdquo; preload=\u0026ldquo;auto\u0026rdquo;]remote#:1[/hermit]\n播放器加载不出刷新此页面，播放器和pjax不兼容。\n0:00 逆境\n~1:17 循环往复的困境，枯燥无味的生活。\n1:18 破局之钥已现，继续挣扎\n1:36 拂光初临\n1:50 挣扎与向上 踌躇与彷徨\n2:03 你开始明白方向是对的，只是“不过是些许风霜罢了”。\n2:31 一束微乎其微的曙光，它是对撑到此处勇士的一剂定心针。\n2:59 胜利，喜悦。尽情享受吧。上帝会奖赏每一个熬过看不到希望的漫长前奏，坚持到底的勇士。\n3:53 无尽循环，人生就是如此往复无常。但你此时此刻得心应手，一次胜利算什么？一次失败又怎能摧毁你的意志？\n4:24 Find yourself.Now,you have found yourself.\n你知道一切得到容易失去更易，你选择救赎自己，你选择把握自己，你的人生开始熠熠生辉。\n5:23 尽情欢呼。敬每一位不忘初心坚持不懈救赎自己的勇士！\n","permalink":"https://flandre.vip/posts/athleticsiii/","summary":"\u003cp\u003e[hermit autoplay=\u0026ldquo;false\u0026rdquo; mode=\u0026ldquo;circulation\u0026rdquo; preload=\u0026ldquo;auto\u0026rdquo;]remote#:1[/hermit]\u003c/p\u003e\n\u003cp\u003e播放器加载不出刷新此页面，播放器和pjax不兼容。\u003c/p\u003e\n\u003cp\u003e0:00 逆境\u003c/p\u003e\n\u003cp\u003e~1:17 循环往复的困境，枯燥无味的生活。\u003c/p\u003e\n\u003cp\u003e1:18 破局之钥已现，继续挣扎\u003c/p\u003e\n\u003cp\u003e1:36 拂光初临\u003c/p\u003e\n\u003cp\u003e1:50 挣扎与向上 踌躇与彷徨\u003c/p\u003e\n\u003cp\u003e2:03 你开始明白方向是对的，只是“不过是些许风霜罢了”。\u003c/p\u003e\n\u003cp\u003e2:31 一束微乎其微的曙光，它是对撑到此处勇士的一剂定心针。\u003c/p\u003e\n\u003cp\u003e2:59 胜利，喜悦。尽情享受吧。上帝会奖赏每一个熬过看不到希望的漫长前奏，坚持到底的勇士。\u003c/p\u003e\n\u003cp\u003e3:53 无尽循环，人生就是如此往复无常。但你此时此刻得心应手，一次胜利算什么？一次失败又怎能摧毁你的意志？\u003c/p\u003e\n\u003cp\u003e4:24 Find yourself.Now,you have found yourself.\u003c/p\u003e\n\u003cp\u003e你知道一切得到容易失去更易，你选择救赎自己，你选择把握自己，你的人生开始熠熠生辉。\u003c/p\u003e\n\u003cp\u003e5:23 尽情欢呼。敬每一位不忘初心坚持不懈救赎自己的勇士！\u003c/p\u003e","title":"音乐分享:Athletics-III(Find Yourself)"},{"content":"梅开独傲寒冬过，来岁春风我亦成。\n","permalink":"https://flandre.vip/shuoshuo/241201/","summary":"\u003cp\u003e\u003cem\u003e\u003cstrong\u003e梅开独傲寒冬过，来岁春风我亦成。\u003c/strong\u003e\u003c/em\u003e\u003c/p\u003e","title":"241201"},{"content":"一些变量只有在赋值之后才有意义，这些变量最终会输出什么取决于算法，众所周知，计算机是绝对理性的，结果一定是算法的体现，即使算法有一些bug，在特殊情况下一些赋值仍然会输出正确的结果。\n也有可能算法就是完全错误的不管如何，这时候都有一个修正和优化过程，即使是正确的也是如此。你的优化可能使得bug增大，也可能使得bug减少或者解决问题或者优化效率。这是非常理性的过程，经过计算机处理1就是1，0就是0。\n但是人不是一个理性的机器，他是一个生来就不纯净，携带着各种复杂基因的生物，一些思想是被刻在基因里面的，即使如此，后天的各种掺杂仍旧会继续影响人脑，人脑一定活在一个复杂矛盾的世界里，其中最显著的就是情感矛盾与起伏。\n你无法像计算机一样毫无瑕疵地执行一套算法，一定会在摆动之中让算法的空间复杂度慢慢升高，有利好的倾向，也有向坏的倾向。你对自己的修正其实也就是在修bug，你对自己的提升其实也就是在优化算法。\n在一套算法的基础上进行复杂地改动，会导致整体算法性质发生质变，你靠投机取巧修复的bug也会导致出现更多bug，对于计算机来说，只要输出结果始终正确，那么你的程序设计无论使用了什么奇技淫巧都是智慧的体现，因为计算机执行算法没有瑕疵，它也会记住你执行的每一个步骤，它的记忆量是无限大并且不会出错失忆。\n对于人，你靠投机取巧解决的问题也许就因为一次情感摆动或者记忆丢失时做出的决策而引爆一整串炸药。\n所以你应该把你的算法bug从根本上解决，把你无效的算法往高效优化，你要优化解决的是你这个人本身的问题，包括意志力，执行力，韧性，态度，体力等等等等，而不是各种错综复杂一碰就碎的关系，各种欺骗，各种谎言。这样你就能接受一切可能性的赋值，并输出正确的结果，即使不完全正确也一定不会导致整体瘫痪崩溃。\n当然欺骗和谎言也是一种大智慧，请将这些剔除到你的算法之外，你可以新建一个hack.h，并且用hack.cpp调用，编译成单独的dll，但不要出现在你的主程序中。藏好你的hack.dll，随时注入它，它是你的手腕你的魅力。\n","permalink":"https://flandre.vip/posts/%E9%9A%8F%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8E%E4%BA%BA%E4%BA%BA%E4%B8%8E%E7%AE%97%E6%B3%95/","summary":"\u003cp\u003e一些变量只有在赋值之后才有意义，这些变量最终会输出什么取决于算法，众所周知，计算机是绝对理性的，结果一定是算法的体现，即使算法有一些bug，在特殊情况下一些赋值仍然会输出正确的结果。\u003c/p\u003e\n\u003cp\u003e也有可能算法就是完全错误的不管如何，这时候都有一个修正和优化过程，即使是正确的也是如此。你的优化可能使得bug增大，也可能使得bug减少或者解决问题或者优化效率。这是非常理性的过程，经过计算机处理1就是1，0就是0。\u003c/p\u003e\n\u003cp\u003e但是人不是一个理性的机器，他是一个生来就不纯净，携带着各种复杂基因的生物，一些思想是被刻在基因里面的，即使如此，后天的各种掺杂仍旧会继续影响人脑，人脑一定活在一个复杂矛盾的世界里，其中最显著的就是情感矛盾与起伏。\u003c/p\u003e\n\u003cp\u003e你无法像计算机一样毫无瑕疵地执行一套算法，一定会在摆动之中让算法的空间复杂度慢慢升高，有利好的倾向，也有向坏的倾向。你对自己的修正其实也就是在修bug，你对自己的提升其实也就是在优化算法。\u003c/p\u003e\n\u003cp\u003e在一套算法的基础上进行复杂地改动，会导致整体算法性质发生质变，你靠投机取巧修复的bug也会导致出现更多bug，对于计算机来说，只要输出结果始终正确，那么你的程序设计无论使用了什么奇技淫巧都是智慧的体现，因为计算机执行算法没有瑕疵，它也会记住你执行的每一个步骤，它的记忆量是无限大并且不会出错失忆。\u003c/p\u003e\n\u003cp\u003e对于人，你靠投机取巧解决的问题也许就因为一次情感摆动或者记忆丢失时做出的决策而引爆一整串炸药。\u003c/p\u003e\n\u003cp\u003e所以你应该把你的算法bug从根本上解决，把你无效的算法往高效优化，你要优化解决的是你这个人本身的问题，包括意志力，执行力，韧性，态度，体力等等等等，而不是各种错综复杂一碰就碎的关系，各种欺骗，各种谎言。这样你就能接受一切可能性的赋值，并输出正确的结果，即使不完全正确也一定不会导致整体瘫痪崩溃。\u003c/p\u003e\n\u003cp\u003e当然欺骗和谎言也是一种大智慧，请将这些剔除到你的算法之外，你可以新建一个hack.h，并且用hack.cpp调用，编译成单独的dll，但不要出现在你的主程序中。藏好你的hack.dll，随时注入它，它是你的手腕你的魅力。\u003c/p\u003e","title":"随：计算机与人，人与算法"},{"content":" “Fading is true while flowering is past, For all things pass.”\n“凋谢是真实的，盛开只是一种过去，因为一切终将消逝。”\n这句诗句带有一种生命短暂的哀叹，揭示了事物发展的自然规律：从繁盛到衰败，从新生到消亡，所有的一切都难逃时间的流逝。盛放如昙花一现，而凋零却是生命的必然。\n这句诗让我感受到一种深刻的无常感和对时光流逝的惋惜。简单的句子，揭示了生命中不可抗拒的规律——一切美好的事物都会在盛放后走向凋零，这是时间的必然。\n在繁花盛开的时刻，往往很难意识到它会迅速褪色、枯萎，但正是这种转瞬即逝的美，让我们对生命和时间有了更深刻的理解。诗句的另一个层面是提醒我们，要珍惜每一个当下。既然繁盛终会归于凋零，那么在事物最美好的时刻，去享受它、珍视它，才不枉它的存在。这种意识不仅让我们对失去变得释然，也提醒我们活在当下，不被未来的无常所束缚。\n从爱情的角度来看，这句诗带来了一种对爱与失去的深沉感悟。爱情如同花朵般，盛开时绚烂夺目，让人陶醉其中；但同时，爱也有它的脆弱和短暂性。爱情中的甜蜜与激情虽美好，但随着时间推移，激情会慢慢褪去，关系会步入另一种更为平淡的状态，甚至可能会有消散的那一天。\n然而，这并不意味着爱的消逝是痛苦的、绝望的。正如“凋零是真实的，而盛放早已过去”所表达的，当我们懂得欣赏爱情曾经的美好，接受它的无常性，便能在失去时以平和的心态去面对。爱情的转瞬即逝和变化无常，其实正是因为这份无常才让人更加珍惜它的当下。在拥有时用心去感受，在失去时坦然放手，不带怨恨与遗憾。\n爱情虽然会凋谢，但它留下的回忆依然是真实的。我们可以从中汲取力量，带着感恩的心去接受曾经的美好，并更好地面对未来的生活和感情。\n","permalink":"https://flandre.vip/posts/%E5%87%8B%E8%B0%A2%E4%B8%8E%E7%BB%BD%E6%94%BE/","summary":"\u003cblockquote\u003e\n\u003cp\u003e\u003cem\u003e“Fading is true while flowering is past, For all things pass.”\u003c/em\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e“凋谢是真实的，盛开只是一种过去，因为一切终将消逝。”\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e这句诗句带有一种生命短暂的哀叹，揭示了事物发展的自然规律：从繁盛到衰败，从新生到消亡，所有的一切都难逃时间的流逝。盛放如昙花一现，而凋零却是生命的必然。\u003c/p\u003e\n\u003cp\u003e这句诗让我感受到一种深刻的无常感和对时光流逝的惋惜。简单的句子，揭示了生命中不可抗拒的规律——一切美好的事物都会在盛放后走向凋零，这是时间的必然。\u003c/p\u003e\n\u003cp\u003e在繁花盛开的时刻，往往很难意识到它会迅速褪色、枯萎，但正是这种转瞬即逝的美，让我们对生命和时间有了更深刻的理解。诗句的另一个层面是提醒我们，要珍惜每一个当下。既然繁盛终会归于凋零，那么在事物最美好的时刻，去享受它、珍视它，才不枉它的存在。这种意识不仅让我们对失去变得释然，也提醒我们活在当下，不被未来的无常所束缚。\u003c/p\u003e\n\u003cp\u003e从爱情的角度来看，这句诗带来了一种对爱与失去的深沉感悟。爱情如同花朵般，盛开时绚烂夺目，让人陶醉其中；但同时，爱也有它的脆弱和短暂性。爱情中的甜蜜与激情虽美好，但随着时间推移，激情会慢慢褪去，关系会步入另一种更为平淡的状态，甚至可能会有消散的那一天。\u003c/p\u003e\n\u003cp\u003e然而，这并不意味着爱的消逝是痛苦的、绝望的。正如“凋零是真实的，而盛放早已过去”所表达的，当我们懂得欣赏爱情曾经的美好，接受它的无常性，便能在失去时以平和的心态去面对。爱情的转瞬即逝和变化无常，其实正是因为这份无常才让人更加珍惜它的当下。在拥有时用心去感受，在失去时坦然放手，不带怨恨与遗憾。\u003c/p\u003e\n\u003cp\u003e爱情虽然会凋谢，但它留下的回忆依然是真实的。我们可以从中汲取力量，带着感恩的心去接受曾经的美好，并更好地面对未来的生活和感情。\u003c/p\u003e","title":"凋谢与绽放"},{"content":"所爱隔山海，山海亦可平。\n山海易攀渡，难平是人心。\n是啊，世上山川河流再险峻，只要有勇气、毅力，终能跨越。但人心复杂，欲望、情感、执念交织在一起，往往最难被看透、被理解。人心的起伏、动摇，很多时候比任何障碍都难以平复，甚至连自己都无法完全控制。\n山海的阻隔固然可以跨越，但人心的变化却难以掌控。在现实中，情感不仅有外在的困难，还夹杂着内心的挣扎和摇摆。爱一个人需要勇气与信念，但也要面对内心的变化和不确定性。这种矛盾与复杂，正是人类情感的真实写照。\n","permalink":"https://flandre.vip/posts/%E6%89%80%E7%88%B1%E9%9A%94%E5%B1%B1%E6%B5%B7%E5%B1%B1%E6%B5%B7%E4%BA%A6%E5%8F%AF%E5%B9%B3/","summary":"\u003cp\u003e所爱隔山海，山海亦可平。\u003c/p\u003e\n\u003cp\u003e山海易攀渡，难平是人心。\u003c/p\u003e\n\u003cp\u003e是啊，世上山川河流再险峻，只要有勇气、毅力，终能跨越。但人心复杂，欲望、情感、执念交织在一起，往往最难被看透、被理解。人心的起伏、动摇，很多时候比任何障碍都难以平复，甚至连自己都无法完全控制。\u003c/p\u003e\n\u003cp\u003e山海的阻隔固然可以跨越，但人心的变化却难以掌控。在现实中，情感不仅有外在的困难，还夹杂着内心的挣扎和摇摆。爱一个人需要勇气与信念，但也要面对内心的变化和不确定性。这种矛盾与复杂，正是人类情感的真实写照。\u003c/p\u003e","title":"所爱隔山海，山海亦可平。"},{"content":"答案是意志啊\n","permalink":"https://flandre.vip/shuoshuo/241101/","summary":"\u003cp\u003e答案是意志啊\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"1000039504.jpg\" loading=\"lazy\" src=\"images/1000039504.jpg\"\u003e\u003c/p\u003e","title":"241101"},{"content":"完善自己的情绪\n","permalink":"https://flandre.vip/shuoshuo/241031/","summary":"\u003cp\u003e完善自己的情绪\u003c/p\u003e","title":"241031"},{"content":"之前一直以为阿里云轻量的物理内存太小，应该调高swap。\n实际测试发现调高反而会造成硬盘I/O满载，导致整个机器死机，只能等半个小时到一个小时才有反应，或者强制关机再重启。\n实际上这是swapiness的问题。\n阿里云轻量默认给的是60。内存的速度会比磁盘快很多，这样子会加大系统io，同时造的成大量页的换进换出，严重影响系统的性能，所以我们在操作系统层面，要尽可能使用内存，对该参数进行调整。\n调成1即可。\nsysctl vm.swappiness=1 echo \u0026#34;vm.swappiness=1\u0026#34; \u0026gt;\u0026gt; /etc/sysctl.conf ","permalink":"https://flandre.vip/posts/%E5%85%B3%E4%BA%8Eswap%E7%9A%84%E9%97%AE%E9%A2%98/","summary":"\u003cp\u003e之前一直以为阿里云轻量的物理内存太小，应该调高swap。\u003c/p\u003e\n\u003cp\u003e实际测试发现调高反而会造成硬盘I/O满载，导致整个机器死机，只能等半个小时到一个小时才有反应，或者强制关机再重启。\u003c/p\u003e\n\u003cp\u003e实际上这是swapiness的问题。\u003c/p\u003e\n\u003cp\u003e阿里云轻量默认给的是60。内存的速度会比磁盘快很多，这样子会加大系统io，同时造的成大量页的换进换出，严重影响系统的性能，所以我们在操作系统层面，要尽可能使用内存，对该参数进行调整。\u003c/p\u003e\n\u003cp\u003e调成1即可。\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003esysctl vm.swappiness=1\necho \u0026#34;vm.swappiness=1\u0026#34; \u0026gt;\u0026gt; /etc/sysctl.conf\n\u003c/code\u003e\u003c/pre\u003e","title":"关于swap的问题"},{"content":"以此为戒\n认知清晰超脱，了解一切事物的规律，大脑里模拟出来的。痛恨各种体制，规矩，阿谀奉承。\n在我好的时候家里亲戚经常给我好处攀关系，在我跌落谷底的时候亲戚对我不闻不问，见面也只会说些礼貌话，甚至在聚会的时候为了教育他们的小孩公开说我这些年怎么样怎么样怎么样，这也是一种体验，我的各种疑心也来自于此。\n除非交过心，不然我不相信任何人。\n意志力薄弱，我的一切蠢事都是意志力不足导致的，意志力这方面我不怪任何人，怪我自己无能没有训练自己。意志力薄弱，思想再超脱，行为也会被蝇头小利给控制。逃避，不敢吃苦，抱怨环境。所以我现在每天早上都要至少冲1分钟纯冷水澡不论温度如何。\n优柔寡断，拿得起放不下，决策不果断。\n1030新增。易冲动，爱炫耀，正邪之间摇摆不定拖慢决策。真实想法喜欢挂在嘴上，想法一旦暴露给别人，做了了索然无味，所以应该把虚假的想法挂在嘴上，真实想法放在心里。\n","permalink":"https://flandre.vip/posts/%E6%88%91%E5%AF%B9%E6%88%91%E4%B8%AA%E4%BA%BA%E4%B8%80%E9%98%B5%E8%A7%81%E8%A1%80%E7%9A%84%E8%AF%84%E4%BB%B7/","summary":"\u003cp\u003e以此为戒\u003c/p\u003e\n\u003cp\u003e认知清晰超脱，了解一切事物的规律，大脑里模拟出来的。痛恨各种体制，规矩，阿谀奉承。\u003c/p\u003e\n\u003cp\u003e在我好的时候家里亲戚经常给我好处攀关系，在我跌落谷底的时候亲戚对我不闻不问，见面也只会说些礼貌话，甚至在聚会的时候为了教育他们的小孩公开说我这些年怎么样怎么样怎么样，这也是一种体验，我的各种疑心也来自于此。\u003c/p\u003e\n\u003cp\u003e除非交过心，不然我不相信任何人。\u003c/p\u003e\n\u003cp\u003e意志力薄弱，我的一切蠢事都是意志力不足导致的，意志力这方面我不怪任何人，怪我自己无能没有训练自己。意志力薄弱，思想再超脱，行为也会被蝇头小利给控制。逃避，不敢吃苦，抱怨环境。所以我现在每天早上都要至少冲1分钟纯冷水澡不论温度如何。\u003c/p\u003e\n\u003cp\u003e优柔寡断，拿得起放不下，决策不果断。\u003c/p\u003e\n\u003cp\u003e1030新增。易冲动，爱炫耀，正邪之间摇摆不定拖慢决策。真实想法喜欢挂在嘴上，想法一旦暴露给别人，做了了索然无味，所以应该把虚假的想法挂在嘴上，真实想法放在心里。\u003c/p\u003e","title":"我对我个人一阵见血的评价"},{"content":"","permalink":"https://flandre.vip/pages/article/","summary":"","title":"文章"},{"content":"永远不要担心别人会超过你，因为多数人无法长期坚持下去。\n在你有感觉的领域坚持下去就是最强。\nhttps://open.spotify.com/track/1X1DWw2pcNZ8zSub3uhlNz?si=xYUTSE-cTv2f26LRn0SVuQ\n","permalink":"https://flandre.vip/shuoshuo/241017/","summary":"\u003cp\u003e永远不要担心别人会超过你，因为多数人无法长期坚持下去。\u003c/p\u003e\n\u003cp\u003e在你有感觉的领域坚持下去就是最强。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://open.spotify.com/track/1X1DWw2pcNZ8zSub3uhlNz?si=xYUTSE-cTv2f26LRn0SVuQ\"\u003ehttps://open.spotify.com/track/1X1DWw2pcNZ8zSub3uhlNz?si=xYUTSE-cTv2f26LRn0SVuQ\u003c/a\u003e\u003c/p\u003e","title":"241017"},{"content":"\n“当你颓废的时候想一想、思考一下他是怎么战胜颓废的，不关乎他有多少钱，看他用了什么方法，将努力变成一种习惯，变成享受。”\n人活着不是解决鸡毛蒜皮的小事，当你有了想法，坚持下去，日复一日。\nhttps://open.spotify.com/track/6GUq9y0Iy5QrAuPYxTrFp2?si=PvhZKNbpTc6oinuTJE1A_g\n","permalink":"https://flandre.vip/shuoshuo/elon-musk/","summary":"\u003cp\u003e\u003cimg alt=\"1000028380.jpg\" loading=\"lazy\" src=\"images/1000028380.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e“当你颓废的时候想一想、思考一下他是怎么战胜颓废的，不关乎他有多少钱，看他用了什么方法，将努力变成一种习惯，变成享受。”\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"1000028382.jpg\" loading=\"lazy\" src=\"images/1000028382.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e人活着不是解决鸡毛蒜皮的小事，当你有了想法，坚持下去，日复一日。\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"1000028383.jpg\" loading=\"lazy\" src=\"images/1000028383.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://open.spotify.com/track/6GUq9y0Iy5QrAuPYxTrFp2?si=PvhZKNbpTc6oinuTJE1A\"\u003ehttps://open.spotify.com/track/6GUq9y0Iy5QrAuPYxTrFp2?si=PvhZKNbpTc6oinuTJE1A\u003c/a\u003e_g\u003c/p\u003e","title":"Elon Musk"},{"content":"第一性原理\n最基本的命题或假设，不能被省略或删除，也不能被违反。\n","permalink":"https://flandre.vip/shuoshuo/241015/","summary":"\u003cp\u003e第一性原理\u003c/p\u003e\n\u003cp\u003e最基本的\u003ca href=\"https://zh.m.wikipedia.org/wiki/%E5%91%BD%E9%A2%98\"\u003e命题\u003c/a\u003e或\u003ca href=\"https://zh.m.wikipedia.org/wiki/%E5%81%87%E8%A8%AD\"\u003e假设\u003c/a\u003e，不能被省略或删除，也不能被违反。\u003c/p\u003e","title":"241015"},{"content":"在给我发送敏感数据时，请使用我的GPG公钥加密文件，再向我发送加密后的敏感数据。你可以使用此公钥加密任何形式的消息，对应的，我可以使用仅我可见的私钥解密，因此你不用担心信息泄露问题。我的加密长度为4096位，因此你更不用担心安全问题。\n注意：加密后的数据你自己也无法解密。\n我的邮箱地址 优先使用邮箱给我发送数据\ni@flandre.vip\n公钥指纹 作用:验证公钥完整性\n并且作为我个人账户的验证信息\n这在作为我的验证信息使用时没有空格\nE721 615D 4389 95C4 3EBB 35C3 A8C9 25FA 506D 2F3C 完整公钥 作用:用于加密文件\n-----BEGIN PGP PUBLIC KEY BLOCK----- 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 +1ZERQ== =kG8X -----END PGP PUBLIC KEY BLOCK----- ","permalink":"https://flandre.vip/pages/gpgkey/","summary":"\u003cp\u003e在给我发送敏感数据时，请使用我的GPG公钥加密文件，再向我发送加密后的敏感数据。你可以使用此公钥加密任何形式的消息，对应的，我可以使用仅我可见的私钥解密，因此你不用担心信息泄露问题。我的加密长度为4096位，因此你更不用担心安全问题。\u003c/p\u003e\n\u003cp\u003e注意：加密后的数据你自己也无法解密。\u003c/p\u003e\n\u003ch3 id=\"我的邮箱地址\"\u003e我的邮箱地址\u003c/h3\u003e\n\u003cp\u003e优先使用邮箱给我发送数据\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"mailto:i@flandre.vip\"\u003ei@flandre.vip\u003c/a\u003e\u003c/p\u003e\n\u003ch3 id=\"公钥指纹\"\u003e公钥指纹\u003c/h3\u003e\n\u003cp\u003e作用:验证公钥完整性\u003c/p\u003e\n\u003cp\u003e并且作为我个人账户的验证信息\u003c/p\u003e\n\u003cp\u003e这在作为我的验证信息使用时没有空格\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eE721 615D 4389 95C4 3EBB  35C3 A8C9 25FA 506D 2F3C\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"完整公钥\"\u003e完整公钥\u003c/h3\u003e\n\u003cp\u003e作用:用于加密文件\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n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\n+1ZERQ==\n=kG8X\n-----END PGP PUBLIC KEY BLOCK-----\n\u003c/code\u003e\u003c/pre\u003e","title":"GPG Public Key"},{"content":"当遇到问题的时候，应该思考怎么解决问题而不是懊恼已经发生的事情。 人只需要无情一点就好了。\n","permalink":"https://flandre.vip/shuoshuo/240930/","summary":"\u003cp\u003e当遇到问题的时候，应该思考怎么解决问题而不是懊恼已经发生的事情。 人只需要无情一点就好了。\u003c/p\u003e","title":"240930"},{"content":"过度严苛的完美主义是一种疾病\n","permalink":"https://flandre.vip/shuoshuo/240929-2/","summary":"\u003cp\u003e过度严苛的完美主义是一种疾病\u003c/p\u003e","title":"240929"},{"content":"Grace under Pressure.\n","permalink":"https://flandre.vip/shuoshuo/240925/","summary":"\u003cp\u003eGrace under Pressure.\u003c/p\u003e","title":"240925"},{"content":"太反智了 新闻学低能畜生的崛起只会导致民族矛盾的加剧以及科技水平增长的减缓，历史上这类畜生都没有好下场，等危机到来的时候，它们最先被吊死在路灯上。\n","permalink":"https://flandre.vip/shuoshuo/9%E6%9C%8821%E6%97%A51138/","summary":"\u003cp\u003e太反智了 新闻学低能畜生的崛起只会导致民族矛盾的加剧以及科技水平增长的减缓，历史上这类畜生都没有好下场，等危机到来的时候，它们最先被吊死在路灯上。\u003c/p\u003e","title":"9月21日11:38"},{"content":"新闻学的本质是传播真实信息，而不是散步谣言和断章取义。所谓新闻学低能畜生，只针对后者。\n","permalink":"https://flandre.vip/shuoshuo/9%E6%9C%8821%E6%97%A51146/","summary":"\u003cp\u003e新闻学的本质是传播真实信息，而不是散步谣言和断章取义。所谓新闻学低能畜生，只针对后者。\u003c/p\u003e","title":"9月21日11:46"},{"content":"自建gitea仓库后，为提高网站速度以及充分利用gitea仓库，故将网站资源镜像到仓库。\n在网站请求仓库资源时，被浏览器corb(Cross-Origin-Read-Blocking)。\n需要从两个方向解决此问题，允许空请求头跨域以及正确配置mime type。\n正确设置跨域 在gitea的配置文件app.ini中添加如下代码\n[cors] ENABLED = true ALLOW_DOMAIN = * 并且nginx反代配置文件应该做如下编写来允许空请求头跨域\nserver { ...#location外的自己配置，主要是location内的内容 location / { client_max_body_size 512M; proxy_pass http://localhost:3000; # 假设 Gitea 运行在 localhost:3000 add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; \u0026#39;*\u0026#39;; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39;; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; if ($request_method = \u0026#39;OPTIONS\u0026#39;) { add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; \u0026#39;*\u0026#39;; add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39;; add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;; add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;; add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000; add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;; add_header \u0026#39;Content-Length\u0026#39; 0; return 204; } } } 正确设置mime type 由于浏览器会阻止mime type不匹配的资源的加载，翻阅gitea官方配置文件文档，只需要正确设置mime type就可以解决corb问题。\n在app.ini中添加如下代码\n[repository.mimetype_mapping] .js = text/javascript .css = text/css .woff = font/woff .woff2 = font/woff2 .ttf = font/ttf 其中.xxx是要请求资源的扩展名，xxxx/xxxx是mime type，可以在这里查阅相关扩展名的mime type。\n","permalink":"https://flandre.vip/posts/%E8%A7%A3%E5%86%B3%E4%BB%8E%E8%87%AA%E5%BB%BAgitea%E4%BB%93%E5%BA%93%E8%AF%B7%E6%B1%82%E8%B5%84%E6%BA%90%E8%A2%AB%E6%B5%8F%E8%A7%88%E5%99%A8corb%E7%9A%84%E9%97%AE%E9%A2%98/","summary":"\u003cp\u003e自建gitea仓库后，为提高网站速度以及充分利用gitea仓库，故将网站资源镜像到仓库。\u003c/p\u003e\n\u003cp\u003e在网站请求仓库资源时，被浏览器corb(\u003ccode\u003eCross-Origin-Read-Blocking\u003c/code\u003e)。\u003c/p\u003e\n\u003cp\u003e需要从两个方向解决此问题，允许空请求头跨域以及正确配置mime type。\u003c/p\u003e\n\u003ch3 id=\"正确设置跨域\"\u003e正确设置跨域\u003c/h3\u003e\n\u003cp\u003e在gitea的配置文件\u003ccode\u003eapp.ini\u003c/code\u003e中添加如下代码\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[cors]\nENABLED = true\nALLOW_DOMAIN = *\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e并且\u003ccode\u003enginx\u003c/code\u003e反代配置文件应该做如下编写来允许空请求头跨域\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eserver {\n    ...#location外的自己配置，主要是location内的内容\n    location / {\n        client_max_body_size 512M;\n        proxy_pass http://localhost:3000; # 假设 Gitea 运行在 localhost:3000\n        add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; \u0026#39;*\u0026#39;;\n        add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39;;\n        add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;;\n        add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;;\n        if ($request_method = \u0026#39;OPTIONS\u0026#39;) {\n            add_header \u0026#39;Access-Control-Allow-Origin\u0026#39; \u0026#39;*\u0026#39;;\n            add_header \u0026#39;Access-Control-Allow-Methods\u0026#39; \u0026#39;GET, POST, OPTIONS\u0026#39;;\n            add_header \u0026#39;Access-Control-Allow-Headers\u0026#39; \u0026#39;DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization\u0026#39;;\n            add_header \u0026#39;Access-Control-Allow-Credentials\u0026#39; \u0026#39;true\u0026#39;;\n            add_header \u0026#39;Access-Control-Max-Age\u0026#39; 1728000;\n            add_header \u0026#39;Content-Type\u0026#39; \u0026#39;text/plain charset=UTF-8\u0026#39;;\n            add_header \u0026#39;Content-Length\u0026#39; 0;\n            return 204;\n        }\n    }\n}\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"正确设置mime-type\"\u003e正确设置mime type\u003c/h3\u003e\n\u003cp\u003e由于浏览器会阻止mime type不匹配的资源的加载，翻阅gitea官方配置文件文档，只需要正确设置mime type就可以解决corb问题。\u003c/p\u003e","title":"解决从自建gitea仓库请求资源被浏览器corb的问题"},{"content":"想成为万众瞩目之人你就得比万众更能坚持，更能忍耐，更加勤奋。 你可以开摆，但你的竞争对手不会。 人与人间差距的增速是难以想象的。 不思进取，懒是原罪。\n","permalink":"https://flandre.vip/shuoshuo/9%E6%9C%8817%E6%97%A51116/","summary":"\u003cp\u003e想成为万众瞩目之人你就得比万众更能坚持，更能忍耐，更加勤奋。 你可以开摆，但你的竞争对手不会。 人与人间差距的增速是难以想象的。 不思进取，懒是原罪。\u003c/p\u003e","title":"9月17日11:16"},{"content":"输入法 Windows、MacOS、iOS使用系统自带的输入法，Android使用系统定制输入法的隐私模式并且关闭输入法的连网权限，按需开放其他权限。\n剪切板 我对于剪切板的使用有独特的理解。 首先准备一个日常使用的文本软件，最好是utf8编码且支持识别链接，放开此软件的剪切板权限，其他所有软件的剪切板权限设置为询问，如果你是粘贴最新的那一段仅允许一次即可，将需要重复使用的内容粘贴到文本软件里，按需使用即可。\n身份id 身份id是用来记录你的使用数据的，你收到的主要个性化推荐来源于身份id，其他的则主要来自剪切板以及输入。 更通俗的说就是追踪个性化数据，请不要允许任何app追踪你的个性化数据，没有人比你自己更懂自己想看什么。\n密码 不同应用设置不同密码，并且使用密码管理工具进行管理,我常将Chrome的密码管理工具结合微软的Authenticator使用。 对于密码的设置，我习惯将密码拆分为核心密码以及应用专用密码，构造一个核心密码，记住它，然后在它的基础上加上应用专用密码，可以和应用有关，保证每次使用该应用时能联想到，我的密码都在16位数以上甚至20位，除了一些限制15位的。\n云数据 大数据时代只要上了云就没有安全，对此，我秉持宁愿泄漏给外国软件也不泄漏给国内软件的原则，这不需要zzzq。 你我都是蝼蚁，既不搞科研也做官，在国家层面你的数据没有任何作用价值。 在你数据没有价值的前提下，你应当首先维护自己权益，我从18年开始转向谷歌以及微软全家桶，我的经验就是数据存储在国内就会出现和你有关的个性化推荐，存储在国外从来没有出现过一次。\n伪装ip 提升技术手段利用代理软件伪装自己，这主要用在上网冲浪。 使用软路由在内网搭建服务器，在内网通过mitm中间人攻击方式修改一些软件的http(s)头x-forward-for ip地址，实现伪装ip。\n创意无价 对于你的所有具备可行性，且市面上不存在的想法。 也许你现在没有能力去实施它，但保不准未来哪一天你有实力去实施时却发现已经在很早前就被实践了。 当你将它记录到联网设备上时，一次无意间的扫盘，再通过大数据筛选，你的灵感，你的创意就不是你的了。这便是大数据时代的技术垄断以及财富垄断。 对此我平时通过两种方式应对。 第一种就是用纸笔记录自己的这些notion。 第二种是准备一台不具备任何无线连接硬件且不插网线的绝对离线设备，准备存储数据的机械硬盘，通过u盘将需要的软件带进去再使用软件创作。也可以在此基础搭建属于自己的内网，这也是大多数公司保护自己数据的手段。\n敏感信息 非必要不要使用qq邮箱注册绑定任何软件。 非必要不要在互联网使用任何真名。 快递外卖等等不要填写真名。 办一个虚拟号码专门用于快递外卖之类的公开暴露软件。\n","permalink":"https://flandre.vip/posts/%E6%88%91%E5%AF%B9%E4%BA%8E%E9%9A%90%E7%A7%81%E4%BF%9D%E6%8A%A4%E7%9A%84%E8%A7%81%E8%A7%A3/","summary":"\u003ch3 id=\"输入法\"\u003e输入法\u003c/h3\u003e\n\u003cp\u003eWindows、MacOS、iOS使用系统自带的输入法，Android使用系统定制输入法的隐私模式并且关闭输入法的连网权限，按需开放其他权限。\u003c/p\u003e\n\u003ch3 id=\"剪切板\"\u003e剪切板\u003c/h3\u003e\n\u003cp\u003e我对于剪切板的使用有独特的理解。 首先准备一个日常使用的文本软件，最好是utf8编码且支持识别链接，放开此软件的剪切板权限，其他所有软件的剪切板权限设置为询问，如果你是粘贴最新的那一段仅允许一次即可，将需要重复使用的内容粘贴到文本软件里，按需使用即可。\u003c/p\u003e\n\u003ch3 id=\"身份id\"\u003e身份id\u003c/h3\u003e\n\u003cp\u003e身份id是用来记录你的使用数据的，你收到的主要个性化推荐来源于身份id，其他的则主要来自剪切板以及输入。 更通俗的说就是追踪个性化数据，请不要允许任何app追踪你的个性化数据，没有人比你自己更懂自己想看什么。\u003c/p\u003e\n\u003ch3 id=\"密码\"\u003e密码\u003c/h3\u003e\n\u003cp\u003e不同应用设置不同密码，并且使用密码管理工具进行管理,我常将Chrome的密码管理工具结合微软的Authenticator使用。 对于密码的设置，我习惯将密码拆分为核心密码以及应用专用密码，构造一个核心密码，记住它，然后在它的基础上加上应用专用密码，可以和应用有关，保证每次使用该应用时能联想到，我的密码都在16位数以上甚至20位，除了一些限制15位的。\u003c/p\u003e\n\u003ch3 id=\"云数据\"\u003e云数据\u003c/h3\u003e\n\u003cp\u003e大数据时代只要上了云就没有安全，对此，我秉持宁愿泄漏给外国软件也不泄漏给国内软件的原则，这不需要zzzq。 你我都是蝼蚁，既不搞科研也做官，在国家层面你的数据没有任何作用价值。 在你数据没有价值的前提下，你应当首先维护自己权益，我从18年开始转向谷歌以及微软全家桶，我的经验就是数据存储在国内就会出现和你有关的个性化推荐，存储在国外从来没有出现过一次。\u003c/p\u003e\n\u003ch3 id=\"伪装ip\"\u003e伪装ip\u003c/h3\u003e\n\u003cp\u003e提升技术手段利用代理软件伪装自己，这主要用在上网冲浪。 使用软路由在内网搭建服务器，在内网通过mitm中间人攻击方式修改一些软件的http(s)头x-forward-for ip地址，实现伪装ip。\u003c/p\u003e\n\u003ch3 id=\"创意无价\"\u003e创意无价\u003c/h3\u003e\n\u003cp\u003e对于你的所有具备可行性，且市面上不存在的想法。 也许你现在没有能力去实施它，但保不准未来哪一天你有实力去实施时却发现已经在很早前就被实践了。 当你将它记录到联网设备上时，一次无意间的扫盘，再通过大数据筛选，你的灵感，你的创意就不是你的了。这便是大数据时代的技术垄断以及财富垄断。 对此我平时通过两种方式应对。 第一种就是用纸笔记录自己的这些notion。 第二种是准备一台不具备任何无线连接硬件且不插网线的绝对离线设备，准备存储数据的机械硬盘，通过u盘将需要的软件带进去再使用软件创作。也可以在此基础搭建属于自己的内网，这也是大多数公司保护自己数据的手段。\u003c/p\u003e\n\u003ch3 id=\"敏感信息\"\u003e敏感信息\u003c/h3\u003e\n\u003cp\u003e非必要不要使用qq邮箱注册绑定任何软件。 非必要不要在互联网使用任何真名。 快递外卖等等不要填写真名。 办一个虚拟号码专门用于快递外卖之类的公开暴露软件。\u003c/p\u003e","title":"我对于隐私保护的见解"},{"content":"[warning]时间:2024年9月5日 环境: Debian 11.11 bullseye with 2vCPU\u0026amp;1707MEM Gitea版本: 1.22.1 Docker版本: 27.2.0 MySQL版本: 8.4.0 [/warning]\n前言 一些个人的项目以及配置文件，不希望托管在GitHub上。特别是供个人使用的配置文件。 ps:其实这些配置文件可以在GitHub上通过gist托管。 但是不方便管理更新，也不方便在没有魔法的环境下下载。 于是打算搭建属于自己的托管平台。 第一时间想到的是Gitlab，但其占用资源很离谱，在安装过程中直接干爆内存然后调用虚拟内存导致硬盘满读导致服务器卡死😅。 我也不需要那么多功能，只需要基本代码管理就可以，因此选择了更轻量级的Gitea。\n安装过程 我选择的是docker部署，自备数据库。\n数据库准备 通过root登录到MySQL\nmysql -u -root -p 创建用于gitea的用户，这里是gitea\nCREATE USER \u0026#39;gitea\u0026#39; IDENTIFIED BY \u0026#39;passwd\u0026#39;; 创建数据库\nCREATE DATABASE gitea CHARACTER SET \u0026#39;utf8mb4\u0026#39; COLLATE \u0026#39;utf8mb4_bin\u0026#39;; 将数据库上的所有权限授予上述创建的数据库用户\nGRANT ALL PRIVILEGES ON gitea.* TO \u0026#39;gitea\u0026#39;; FLUSH PRIVILEGES; 安装docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh 这会安装软件包里存在的最新版\n创建用于运行gitea的用户git adduser \\ --system \\ --shell /bin/bash \\ --gecos \u0026#39;Git Version Control\u0026#39; \\ --group \\ --disabled-password \\ --home /home/git \\ git 准备目录 创建一个目录/www/wwwroot/gitea/并在目录下创建data文件夹。\nmkdir -p /www/wwwroot/gitea/data chown -R git:git /www/wwwroot/gitea/ chmod -R 750 /www/wwwroot/gitea/ 安装gitea 在/gitea下创建一个docker-compose.yml并编辑它\nversion: \u0026#34;3\u0026#34; networks: gitea: external: false services: server: image: gitea/gitea:latest container_name: gitea environment: - USER_UID=1000 #userUid和Gid改成上面创建的git用户对应的值 - USER_GID=1000 restart: always networks: - gitea volumes: - /www/wwwroot/gitea/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - \u0026#34;3000:3000\u0026#34; - \u0026#34;222:22\u0026#34; 通过docker compose up -d后台启动gitea 访问yourip:3000在网页配置 注意数据库地址不能填写localhost或者127.0.0.1，请填写你服务器的外网ip地址，因为docker是一个独立环境的容器，在docker里面访问的127.0.0.1是docker容器内的本地服务器而不是主机的本地服务器，你还必须将MySQL的访问权限开放到外网并且设置仅允许你服务器的ip地址访问。 配置文件里的域名可以填写一个你解析的域名并将rooturl也设置成域名加端口的形式，这样我们可以将gitea反代到你的域名，注意区分http(s)。 END\n","permalink":"https://flandre.vip/posts/debian%E5%AE%89%E8%A3%85gitea%E4%B9%8Bdocker%E4%BD%9C%E6%B3%95/","summary":"\u003cp\u003e[warning]时间:2024年9月5日 环境: Debian 11.11 bullseye with 2vCPU\u0026amp;1707MEM Gitea版本: 1.22.1 Docker版本: 27.2.0 MySQL版本: 8.4.0 [/warning]\u003c/p\u003e\n\u003ch2 id=\"前言\"\u003e前言\u003c/h2\u003e\n\u003cp\u003e一些个人的项目以及配置文件，不希望托管在GitHub上。特别是供个人使用的配置文件。 ps:其实这些配置文件可以在GitHub上通过gist托管。 但是不方便管理更新，也不方便在没有魔法的环境下下载。 于是打算搭建属于自己的托管平台。 第一时间想到的是Gitlab，但其占用资源很离谱，在安装过程中直接干爆内存然后调用虚拟内存导致硬盘满读导致服务器卡死😅。 \u003cimg alt=\"1\" loading=\"lazy\" src=\"https://oss.flandre.vip/2024/09/05/1000012499.jpg\"\u003e 我也不需要那么多功能，只需要基本代码管理就可以，因此选择了更轻量级的Gitea。\u003c/p\u003e\n\u003ch2 id=\"安装过程\"\u003e安装过程\u003c/h2\u003e\n\u003cp\u003e我选择的是docker部署，自备数据库。\u003c/p\u003e\n\u003ch3 id=\"数据库准备\"\u003e数据库准备\u003c/h3\u003e\n\u003cp\u003e通过root登录到MySQL\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003emysql -u -root -p\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e创建用于gitea的用户，这里是gitea\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eCREATE USER \u0026#39;gitea\u0026#39; IDENTIFIED BY \u0026#39;passwd\u0026#39;;\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e创建数据库\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e    CREATE DATABASE gitea CHARACTER SET \u0026#39;utf8mb4\u0026#39; COLLATE \u0026#39;utf8mb4_bin\u0026#39;; \n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e将数据库上的所有权限授予上述创建的数据库用户\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e    GRANT ALL PRIVILEGES ON gitea.* TO \u0026#39;gitea\u0026#39;;\n    FLUSH PRIVILEGES; \n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"安装docker\"\u003e安装docker\u003c/h3\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e    curl -fsSL https://get.docker.com -o get-docker.sh\n    sudo sh get-docker.sh\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e这会安装软件包里存在的最新版\u003c/p\u003e\n\u003ch3 id=\"创建用于运行gitea的用户git\"\u003e创建用于运行gitea的用户git\u003c/h3\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eadduser \\\n   --system \\\n   --shell /bin/bash \\\n   --gecos \u0026#39;Git Version Control\u0026#39; \\\n   --group \\\n   --disabled-password \\\n   --home /home/git \\\n   git \n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"准备目录\"\u003e准备目录\u003c/h3\u003e\n\u003cp\u003e创建一个目录\u003ccode\u003e/www/wwwroot/gitea/\u003c/code\u003e并在目录下创建\u003ccode\u003edata\u003c/code\u003e文件夹。\u003c/p\u003e","title":"Debian安装Gitea(Docker)"},{"content":"申请域名以及更换DNS服务器 我们转到阿里云域名注册按照要求申请一个自己喜欢的域名即可。\n[warning]建议不要使用中文域名！[/warning]\n这边笔者个人比较推荐CloudFlare管理域名，当然默认用阿里云也是可以的，看个人喜好啦。\n转到CloudFlare注册一个账户并且添加我们刚刚申请好的域名，并且按照要求在阿里云域名控制台更改DNS服务器为CloudFlare提醒你要改的\n改完静默等待他生效即可，此时我们可以直接开启下一步。\n服务器购买、系统升级、宝塔面板的安装 购买与升级 转到购买界面，按需求购买，这边建议配置为2C2G，镜像选择系统镜像，然后选择Debian11.3，服务器开机之后记下公网ip地址，并且在控制台设置root账户密码，以及防火墙放行443,80,3306,?你想要的面板端口,8888。\n完成后使用ssh工具远程连接到服务器。\n完全更新你的系统软件包\napt update apt upgrade -y apt dist-upgrade -y apt autoclean apt autoremove -y 更新apt源，替换bullseye为 bookworm，对于 Debian 12 以后的版本，所有 Debian 可以分发的打包的非自由固件二进制文件non-free，比如某些驱动，都被转移到Debian Archive中的一个新组件，称为非自由固件non-free-firmware。如果您从旧版的 Debian 升级，并且需要这些固件二进制文件，所以你应该同时更新您系统上的/etc/apt/sources.list，以使用这个新组件:\nsed -i \u0026#39;s/bullseye/bookworm/g\u0026#39; /etc/apt/sources.list sed -i \u0026#39;s/bullseye/bookworm/g\u0026#39; /etc/apt/sources.list.d/*.list sed -i \u0026#39;s/non-free/non-free non-free-firmware/g\u0026#39; /etc/apt/sources.list 执行更新\napt update apt upgrade -y apt dist-upgrade -y [warning]更新过程中会有很多选项，除了让你更新ssh配置文件的选项选择No：Keep the local version currently installed外，其余全部选择Yes。[/warning]\n重载服务配置\nsystemctl daemon-reload\n然后删除不必要的软件和依赖\napt autoclean apt autoremove -y 完成后使用reboot重启并且使用cat /etc/debian_version检测当前系统版本，不出意外的话输出12.6代表更新成功。\n面板安装 输入官方面板安装命令\nif [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec 按照输出的要求操作即可，安装到最后请记一下输出的面板地址账号密码等信息。\n域名解析 转到CloudFlare的DNS记录,通常，针对个人博客，我们需要建立两个A解析记录。\nA（Address）记录是用来指定主机名（或域名）对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上，同时也可以设置域名的子域名。简单来讲，A记录就是指定域名对应的IP地址。如我们添加一条A记录将www的主机指向IP192.168.1.1，那么当你访问www主机时就会解析到192.168.1.1这个IP上。\n首先我们需要添加一个根解析(你的根域名abc.com)，主机地址即是你的ip地址，如图所示：\n然后我们添加一个www解析(即www.abc.com)，如图所示:\n做完之后，当我们访问域名的时候，DNS服务器就会将域名映射到IP地址，而我们的网站就运行在服务器的http,即80端口；如果我们的网站添加了SSL证书，那么就会运行在https:443端口上。所以假如我们访问一个服务器的ipv4地址，那么实际上默认访问的80端口，当域名前缀改成了https，则默认访问443端口。443端口的传输层安全是TLS加密即HTTP Over TlS，目前最新的协议是TLS1.3。\n环境搭建与WordPress部署。 环境 我们访问前面记录的宝塔面板地址，进入之后首先转到面板设置,进行一些自定义设置，这里一定要做的设置是：面板端口更改（前面防火墙让你放行的想要的端口就起到了作用），面板账号，面板密码，面板安全入口，通过ssl访问面板。设置完注意记忆或者记录。\n完成以上操作，用新链接登录面板，转到软件商店安装Nginx1.26,PHP8.3,MySQL8.0.36,PHPmyAdmin。\n这里我们会遇到的问题是，当我们安装MySQL8.0.35时，会提示至少需要3700mb内存才能安装。\n首先，我们要打开Linux工具箱，将系统网络DNS地址设置为8.8.8.8与8.8.8.4，将系统时间校准为Asia/ShangHai,这两步都是优化为主的题外话，重点是设置虚拟内存为4096MB。\n即使如此，你会发现MySQL仍然装不上，那是因为面板的高版本对MySQL8.0以上做了内存限制，但是8.0以上版本确实是可以在2GB内存的机子上运行的，但是2GB内存确实是太少，虚拟内存是为了保证稳定性。\n为了顺利安装，我们只需要用#注释掉面板中的限制代码即可，注释掉/www/server/panel/class/panelplugin.py:914~916，如果你在914~916行招到的代码和我不一样，那就请用Crtl+F搜索关键字至少需要，按图片注释即可。\n全部安装完成之后，我们调整一下php,nginx和mysql的性能。按服务器内存调整即可。\n特别的，对于PHP我们需要安装WordPress官方要求的扩展。\n网站部署 转到左边的网站，新建一个网站，域名即是前面解析的两个域名，同时创建一个数据库。一定一定要保存好账号密码。\n设置ssl，我们直接使用面板申请，转到ssl里的Let's Encrypt，申请部署后开启强制https即可。\n关于Lets Encrypt证书，默认申请的RSA加你的证书，但还有一个隐藏的证书，由E1（现E5）颁发的ECDSA加密的证书。申请步骤稍微复杂一些，可以看我网站内的文章《剪切板》。\n转到网站\u0026gt;高级设置\u0026gt;TLS，勾选1.2和1.3，关闭1.1和1.0。\n在WordPress下载页面下载最新版，将压缩包上传到你网站的根目录，注意是你前面创建的网站的根目录，不是服务器的根目录。\n删除根目录下原本的index.html和404.html，然后解压缩。\n转到网站设置，伪静态内输入如下：\nlocation / { try_files $uri $uri/ /index.php?$args; ｝ rewrite /wp-admin$ $scheme://$host$uri/ permanent; 转到网站主页，按要求链接好数据库，设置好管理员账密，WordPress的部署就完全大功告成啦！\n接下来，就是如何配置，美化，个性化博客了，可以查阅相关资料，可以使用开源的主题然后在其基础上自定义。总之，这些都是自己做的事情了，复杂繁琐。\n后续网站seo优化，网站性能优化都是值得自己慢慢探索的东西。\n","permalink":"https://flandre.vip/posts/071911/","summary":"\u003ch2 id=\"申请域名以及更换dns服务器\"\u003e申请域名以及更换DNS服务器\u003c/h2\u003e\n\u003cp\u003e我们转到\u003ca href=\"https://wanwang.aliyun.com/domain\"\u003e阿里云域名注册\u003c/a\u003e按照要求申请一个自己喜欢的域名即可。\u003c/p\u003e\n\u003cp\u003e[warning]建议不要使用中文域名！[/warning]\u003c/p\u003e\n\u003cp\u003e这边笔者个人比较推荐CloudFlare管理域名，当然默认用阿里云也是可以的，看个人喜好啦。\u003c/p\u003e\n\u003cp\u003e转到\u003ca href=\"https://www.cloudflare.com/zh-cn/\"\u003eCloudFlare\u003c/a\u003e注册一个账户并且添加我们刚刚申请好的域名，并且按照要求在\u003ca href=\"https://dc.console.aliyun.com/next/domain/details/dns-modify\"\u003e阿里云域名控制台\u003c/a\u003e更改DNS服务器为CloudFlare提醒你要改的\u003c/p\u003e\n\u003cp\u003e改完静默等待他生效即可，此时我们可以直接开启下一步。\u003c/p\u003e\n\u003ch2 id=\"服务器购买系统升级宝塔面板的安装\"\u003e服务器购买、系统升级、宝塔面板的安装\u003c/h2\u003e\n\u003ch3 id=\"购买与升级\"\u003e购买与升级\u003c/h3\u003e\n\u003cp\u003e转到\u003ca href=\"https://www.aliyun.com/product/swas\"\u003e购买界面\u003c/a\u003e，按需求购买，这边建议配置为\u003ccode\u003e2C2G\u003c/code\u003e，镜像选择系统镜像，然后选择Debian11.3，服务器开机之后记下公网ip地址，并且在\u003ca href=\"https://swasnext.console.aliyun.com/servers\"\u003e控制台\u003c/a\u003e设置root账户密码，以及防火墙放行443,80,3306,?你想要的面板端口,8888。\u003c/p\u003e\n\u003cp\u003e完成后使用ssh工具远程连接到服务器。\u003c/p\u003e\n\u003cp\u003e完全更新你的系统软件包\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt update\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt upgrade -y\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt dist-upgrade -y\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt autoclean\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt autoremove -y\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e更新\u003ccode\u003eapt\u003c/code\u003e源，替换\u003ccode\u003ebullseye\u003c/code\u003e为 \u003ccode\u003ebookworm\u003c/code\u003e，对于 Debian 12 以后的版本，所有 Debian 可以分发的打包的非自由固件二进制文件\u003ccode\u003enon-free\u003c/code\u003e，比如某些驱动，都被转移到\u003ccode\u003eDebian Archive\u003c/code\u003e中的一个新组件，称为非自由固件\u003ccode\u003enon-free-firmware\u003c/code\u003e。如果您从旧版的 Debian 升级，并且需要这些固件二进制文件，所以你应该同时更新您系统上的\u003ccode\u003e/etc/apt/sources.list\u003c/code\u003e，以使用这个新组件:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/bullseye/bookworm/g\u0026#39;\u003c/span\u003e /etc/apt/sources.list\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/bullseye/bookworm/g\u0026#39;\u003c/span\u003e /etc/apt/sources.list.d/*.list\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/non-free/non-free non-free-firmware/g\u0026#39;\u003c/span\u003e /etc/apt/sources.list\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e执行更新\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt update\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt upgrade -y\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt dist-upgrade -y\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e[warning]更新过程中会有很多选项，除了让你更新ssh配置文件的选项选择No：Keep the local version currently installed外，其余全部选择Yes。[/warning]\u003c/p\u003e\n\u003cp\u003e重载服务配置\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003esystemctl daemon-reload\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e然后删除不必要的软件和依赖\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt autoclean\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt autoremove -y \n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e完成后使用\u003ccode\u003ereboot\u003c/code\u003e重启并且使用\u003ccode\u003ecat /etc/debian_version\u003c/code\u003e检测当前系统版本，不出意外的话输出12.6代表更新成功。\u003c/p\u003e","title":"写给新手:阿里云产品——域名申请与解析、轻量应用服务器debian11.3升级到debian12.6、部署宝塔面板与WordPress博客软件从零教程"},{"content":"与其去想“要是之前怎么做现在该有多好”不如花精力把现在做得更好。\n","permalink":"https://flandre.vip/shuoshuo/1504/","summary":"\u003cp\u003e与其去想“要是之前怎么做现在该有多好”不如花精力把现在做得更好。\u003c/p\u003e","title":"15:04"},{"content":"“人是适应性很强的生物，躺下烂的很快，站起来愈合的也很快。”\n","permalink":"https://flandre.vip/shuoshuo/1925/","summary":"\u003cp\u003e“人是适应性很强的生物，躺下烂的很快，站起来愈合的也很快。”\u003c/p\u003e","title":"19:25"},{"content":"不过是些许风霜罢了\n","permalink":"https://flandre.vip/shuoshuo/%E4%B8%8D%E8%BF%87%E6%98%AF%E4%BA%9B%E8%AE%B8%E9%A3%8E%E9%9C%9C%E7%BD%A2%E4%BA%86/","summary":"\u003cp\u003e不过是些许风霜罢了\u003c/p\u003e","title":"不过是些许风霜罢了"},{"content":"“上帝”总会在一些时候给予你警告亦或是机遇。 这些东西在告诉你只要改变了自己那么切合实际的梦想就会成为现实。 意识受制于躯体，因此各类神经递质、激素对于意识的控制十分可怕，要发现它的可怕，理性应对它，终其所以然，便是改变自己劣根里的惰性，接近完全地掌控自己的身体，为追寻自己而破除一切障碍。 我所说的“上帝”不是各类神学宗教里的神，而是因果关系，和物理上的时间有关。\n","permalink":"https://flandre.vip/shuoshuo/183/","summary":"\u003cp\u003e“上帝”总会在一些时候给予你警告亦或是机遇。 这些东西在告诉你只要改变了自己那么切合实际的梦想就会成为现实。 意识受制于躯体，因此各类神经递质、激素对于意识的控制十分可怕，要发现它的可怕，理性应对它，终其所以然，便是改变自己劣根里的惰性，接近完全地掌控自己的身体，为追寻自己而破除一切障碍。 我所说的“上帝”不是各类神学宗教里的神，而是因果关系，和物理上的时间有关。\u003c/p\u003e","title":""},{"content":"昨晚跑步的时候发现天空被月光照亮，靠近乡野的地方洁白无瑕，而靠近城市的地方色彩斑斓。\n白月照霞天无暇， 城光染云色渐杂。\n","permalink":"https://flandre.vip/shuoshuo/1758/","summary":"\u003cp\u003e昨晚跑步的时候发现天空被月光照亮，靠近乡野的地方洁白无瑕，而靠近城市的地方色彩斑斓。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cem\u003e白月照霞天无暇， 城光染云色渐杂。\u003c/em\u003e\u003c/strong\u003e\u003c/p\u003e","title":"17:58"},{"content":"有很长一段时间陷入到了一种内耗之中，总是觉得自己被浪费了很长一段时间。\n但我现在想明白了，“时间就是拿来浪费的”。\n可怕的不是浪费时间，而是止步不前。\n","permalink":"https://flandre.vip/shuoshuo/2023-11-27-1347/","summary":"\u003cp\u003e有很长一段时间陷入到了一种内耗之中，总是觉得自己被浪费了很长一段时间。\u003cbr\u003e\n但我现在想明白了，“时间就是拿来浪费的”。\u003cbr\u003e\n可怕的不是浪费时间，而是止步不前。\u003c/p\u003e","title":"2023.11.27.13:47"},{"content":"写说说的时候发现使用的Markdown写作插件wpeditor.md没有起效。\n于是找到了wpeditor.md插件的wiki，里面有关于添加页面和模版的指南\n注意到字段add_post_type_support\n但是wiki中没有标明字段所在目录\n所以需要我们自己找\n这里就需要用到grep命令\n使用grep查找用法如下，\ngrep -rn * -ie \u0026quot;\u0026quot;\n只要在目标文件夹...../website.com/wp-content/plugins/wpeditormd/下面输入grep -rn * -ie \u0026quot;add_default_post_type_support\u0026quot;即可 找到字段，它在..../src/app/WpComMarkdown.php:363\n我们得找到说说模版是怎么定义的，浏览主题目录找到说说模版，发现如下代码\nfunction shuoshuo_custom_init() { $labels = array( \u0026#39;name\u0026#39; =\u0026gt; __(\u0026#34;Ideas\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;singular_name\u0026#39; =\u0026gt; __(\u0026#34;Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;add_new\u0026#39; =\u0026gt; __(\u0026#34;Publish New Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;add_new_item\u0026#39; =\u0026gt; __(\u0026#34;Publish New Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;edit_item\u0026#39; =\u0026gt; __(\u0026#34;Edit Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;new_item\u0026#39; =\u0026gt; __(\u0026#34;New Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;view_item\u0026#39; =\u0026gt; __(\u0026#34;View Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;search_items\u0026#39; =\u0026gt; __(\u0026#34;Search Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;not_found\u0026#39; =\u0026gt; __(\u0026#34;Not Found Idea\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;not_found_in_trash\u0026#39; =\u0026gt; __(\u0026#34;No Idea in the Trash\u0026#34;, \u0026#34;sakurairo\u0026#34;), \u0026#39;parent_item_colon\u0026#39; =\u0026gt; \u0026#39;\u0026#39;, \u0026#39;menu_name\u0026#39; =\u0026gt; __(\u0026#34;Ideas\u0026#34;, \u0026#34;sakurairo\u0026#34;) ); $args = array( \u0026#39;labels\u0026#39; =\u0026gt; $labels, \u0026#39;public\u0026#39; =\u0026gt; true, \u0026#39;publicly_queryable\u0026#39; =\u0026gt; true, \u0026#39;show_ui\u0026#39; =\u0026gt; true, \u0026#39;show_in_menu\u0026#39; =\u0026gt; true, \u0026#39;query_var\u0026#39; =\u0026gt; true, \u0026#39;rewrite\u0026#39; =\u0026gt; true, \u0026#39;capability_type\u0026#39; =\u0026gt; \u0026#39;post\u0026#39;, \u0026#39;has_archive\u0026#39; =\u0026gt; true, \u0026#39;hierarchical\u0026#39; =\u0026gt; false, \u0026#39;menu_position\u0026#39; =\u0026gt; null, \u0026#39;supports\u0026#39; =\u0026gt; array( \u0026#39;title\u0026#39;, \u0026#39;editor\u0026#39;, \u0026#39;author\u0026#39; ) ); register_post_type(\u0026#39;shuoshuo\u0026#39;, $args); } add_action(\u0026#39;init\u0026#39;, \u0026#39;shuoshuo_custom_init\u0026#39;); 注意到register_post_type('shuoshuo'\n那么只要加上add_post_type_support(\u0026quot;shuoshuo\u0026quot;, self::POST_TYPE_SUPPORT);\n即可\n最后重新发布说说，Markdown正常渲染。\nend.\n","permalink":"https://flandre.vip/posts/%E8%AF%B4%E8%AF%B4%E6%A8%A1%E7%89%88%E7%9A%84markdown%E5%85%BC%E5%AE%B9%E8%A7%A3%E5%86%B3/","summary":"\u003cp\u003e写说说的时候发现使用的Markdown写作插件wpeditor.md没有起效。\u003cbr\u003e\n\u003cimg alt=\"1\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/11/27/IMG%5C_4556.jpg\"\u003e\u003cbr\u003e\n于是找到了wpeditor.md插件的wiki，里面有关于添加页面和模版的指南\u003cbr\u003e\n\u003cimg alt=\"2\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/11/27/IMG%5C_4578.jpg\"\u003e\u003cbr\u003e\n注意到字段\u003ccode\u003eadd_post_type_support\u003c/code\u003e\u003cbr\u003e\n但是wiki中没有标明字段所在目录\u003cbr\u003e\n所以需要我们自己找\u003cbr\u003e\n这里就需要用到\u003ccode\u003egrep\u003c/code\u003e命令\u003cbr\u003e\n使用\u003ccode\u003egrep\u003c/code\u003e查找用法如下，\u003cbr\u003e\n\u003ccode\u003egrep -rn * -ie \u0026quot;\u0026quot;\u003c/code\u003e\u003cbr\u003e\n只要在目标文件夹\u003ccode\u003e...../website.com/wp-content/plugins/wpeditormd/\u003c/code\u003e下面输入\u003ccode\u003egrep -rn * -ie \u0026quot;add_default_post_type_support\u0026quot;\u003c/code\u003e即可 找到字段，它在\u003ccode\u003e..../src/app/WpComMarkdown.php:363\u003c/code\u003e\u003cbr\u003e\n\u003cimg alt=\"3\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/11/27/IMG%5C_4573.jpg\"\u003e\u003cbr\u003e\n我们得找到说说模版是怎么定义的，浏览主题目录找到说说模版，发现如下代码\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-php\" data-lang=\"php\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003efunction\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003eshuoshuo_custom_init\u003c/span\u003e()\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e{\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    $labels \u003cspan style=\"color:#f92672\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003earray\u003c/span\u003e(\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;name\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Ideas\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;singular_name\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;add_new\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Publish New Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;add_new_item\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Publish New Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;edit_item\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Edit Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;new_item\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;New Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;view_item\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;View Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;search_items\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Search Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;not_found\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Not Found Idea\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;not_found_in_trash\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;No Idea in the Trash\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e),\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;parent_item_colon\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;\u0026#39;\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;menu_name\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003e__\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Ideas\u0026#34;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;sakurairo\u0026#34;\u003c/span\u003e)\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    );\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    $args \u003cspan style=\"color:#f92672\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003earray\u003c/span\u003e(\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;labels\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e $labels,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;public\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;publicly_queryable\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;show_ui\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;show_in_menu\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;query_var\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;rewrite\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;capability_type\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;post\u0026#39;\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;has_archive\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;hierarchical\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003efalse\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;menu_position\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003enull\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;supports\u0026#39;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003earray\u003c/span\u003e(\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e            \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;title\u0026#39;\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e            \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;editor\u0026#39;\u003c/span\u003e,\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e            \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;author\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        )\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    );\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#a6e22e\"\u003eregister_post_type\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#39;shuoshuo\u0026#39;\u003c/span\u003e, $args);\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e}\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#a6e22e\"\u003eadd_action\u003c/span\u003e(\u003cspan style=\"color:#e6db74\"\u003e\u0026#39;init\u0026#39;\u003c/span\u003e, \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;shuoshuo_custom_init\u0026#39;\u003c/span\u003e);\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e注意到\u003ccode\u003eregister_post_type('shuoshuo'\u003c/code\u003e\u003cbr\u003e\n那么只要加上\u003ccode\u003eadd_post_type_support(\u0026quot;shuoshuo\u0026quot;, self::POST_TYPE_SUPPORT);\u003c/code\u003e\u003cbr\u003e\n即可\u003cbr\u003e\n\u003cimg alt=\"4\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/11/27/IMG%5C_4579.jpg\"\u003e\u003cbr\u003e\n最后重新发布说说，Markdown正常渲染。\u003cbr\u003e\nend.\u003c/p\u003e","title":"说说模版的Markdown兼容解决"},{"content":"突然回忆起之前陷入迷途，抑郁症极其严重的时候脑子一热把网站数据库删了，还是连备份一起删的。 19年到21年写了好多自认为不错的随想以及我朋友的文章。 最重要的是有好多好多的学习笔记和解决方案。 真的好可惜啊！\n","permalink":"https://flandre.vip/shuoshuo/2023-11-25-23-11/","summary":"\u003cp\u003e突然回忆起之前陷入迷途，抑郁症极其严重的时候脑子一热把网站数据库删了，还是连备份一起删的。 19年到21年写了好多自认为不错的随想以及我朋友的文章。 最重要的是有好多好多的学习笔记和解决方案。 真的好可惜啊！\u003c/p\u003e","title":"2023.11.25.23.11"},{"content":"随笔——人的独一无二 “人无法被伪“规则”定义”\n前段时间在对象的影响下开始刷抖音之后，我发现抖音用来看娱乐视频确实是一个很好的平台，但随着刷的越来越多，有很多那种“文案”类的视频推荐给我。\n一些自认为聪明的人将世间表象总结成了他们所谓的“规律”。他们自以为自己已经参透世间法则，但他们忽视了支撑人这种生物背后的基础科学，他们更没有对每一个独一无二的人抱有敬畏和尊重。\n要想满足世界上两个人完全相同这一特点，要考虑生理以及生理两个方面的充要条件。\n生理上，两个人的脱氧核糖核酸（DNA）和核糖核酸（RNA）必须做到完全一致，在不考虑基因工程克隆领域（人类基因人工复制在伦理上被禁止）前提下\n人类基因组计划（HGP）已知的人类碱基对数量就有30亿个、在绝对理想，基因全部随机组合的前提下，基因组合数量就有4^（3_10^9）个，也就是绝对理想状态下我们就是那1/4^（3_10^9）。\n然而，万事不是理想的，其一基因并不是随机组合，其一基因无时不刻都在突变，在你从受精卵变为人的过程中就已经在突变了。\n所以，这是无法简单计算的，可以认为是1/∞。\n复杂的计算可以参考文献：\nThere\u0026rsquo;s plenty of time for evolution.\n^Herbert S. Wilf, Warren J. Ewens. 2010. There\u0026rsquo;s plenty of time for evolution. Proceedings of the National Academy of Sciences Dec 2010, 107 (52) 22454-22456; DOI: 10.1073/pnas.1016207107\n心理上，即使有两个完全相同基因的人，他们的思想也是绝对不一样的。他们只有在相同时间t，相同空间s，相同环境e的前提下，还要不考虑基因突变的随机性，不考虑意识与思想这一虚无缥缈之物。才理论上有可能一样，这只是理论。\n感受到了人的独一无二，为什么现实社会又有这么多人觉得自己在照镜子呢？\n当今社会，大多数人只会随波逐流，他们没有静下心去思考过人的问题。社会高层统治者最想看到的就是，安定，规律，统一。作为资本阶级统治阶级为下层人缔造了他们认为的安定的生活设施生活区域，他们通过更改社会设施的运转，通过风向将所谓“潮流”带向另一个“潮流”，这不影响民众享受其中，但他们的思想已经被大流所向，变得向规律化靠拢，向通俗靠拢，早已习惯了安步当车的人又何曾会想过逆环境行动呢？被规律“统一”的人与提出规律的人，都是被人为法则所束缚罢了。\n我们无法掀翻统治者阶级，无法对抗资本阶级，但我们要将其视为饭桶肉票利用起来，但不沉沦其中，只为自己的路垫脚。\n","permalink":"https://flandre.vip/shuoshuo/%E9%9A%8F%E7%AC%94-%E4%BA%BA%E7%9A%84%E7%8B%AC%E4%B8%80%E6%97%A0%E4%BA%8C/","summary":"\u003cp\u003e随笔——人的独一无二 “人无法被伪“规则”定义”\u003c/p\u003e\n\u003cp\u003e前段时间在对象的影响下开始刷抖音之后，我发现抖音用来看娱乐视频确实是一个很好的平台，但随着刷的越来越多，有很多那种“文案”类的视频推荐给我。\u003c/p\u003e\n\u003cp\u003e一些自认为聪明的人将世间表象总结成了他们所谓的“规律”。他们自以为自己已经参透世间法则，但他们忽视了支撑人这种生物背后的基础科学，他们更没有对每一个独一无二的人抱有敬畏和尊重。\u003c/p\u003e\n\u003cp\u003e要想满足世界上两个人完全相同这一特点，要考虑生理以及生理两个方面的充要条件。\u003c/p\u003e\n\u003cp\u003e生理上，两个人的脱氧核糖核酸（DNA）和核糖核酸（RNA）必须做到完全一致，在不考虑基因工程克隆领域（人类基因人工复制在伦理上被禁止）前提下\u003c/p\u003e\n\u003cp\u003e人类基因组计划（HGP）已知的人类碱基对数量就有30亿个、在绝对理想，基因全部随机组合的前提下，基因组合数量就有4^（3_10^9）个，也就是绝对理想状态下我们就是那1/4^（3_10^9）。\u003c/p\u003e\n\u003cp\u003e然而，万事不是理想的，其一基因并不是随机组合，其一基因无时不刻都在突变，在你从受精卵变为人的过程中就已经在突变了。\u003c/p\u003e\n\u003cp\u003e所以，这是无法简单计算的，可以认为是1/∞。\u003c/p\u003e\n\u003cp\u003e复杂的计算可以参考文献：\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.pnas.org/doi/10.1073/pnas.1016207107\"\u003eThere\u0026rsquo;s plenty of time for evolution.\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e^Herbert S. Wilf, Warren J. Ewens. 2010. There\u0026rsquo;s plenty of time for evolution. Proceedings of the National Academy of Sciences Dec 2010, 107 (52) 22454-22456; DOI: 10.1073/pnas.1016207107\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e心理上，即使有两个完全相同基因的人，他们的思想也是绝对不一样的。他们只有在相同时间t，相同空间s，相同环境e的前提下，还要不考虑基因突变的随机性，不考虑意识与思想这一虚无缥缈之物。才理论上有可能一样，这只是理论。\u003c/p\u003e\n\u003cp\u003e感受到了人的独一无二，为什么现实社会又有这么多人觉得自己在照镜子呢？\u003c/p\u003e\n\u003cp\u003e当今社会，大多数人只会随波逐流，他们没有静下心去思考过人的问题。社会高层统治者最想看到的就是，安定，规律，统一。作为资本阶级统治阶级为下层人缔造了他们认为的安定的生活设施生活区域，他们通过更改社会设施的运转，通过风向将所谓“潮流”带向另一个“潮流”，这不影响民众享受其中，但他们的思想已经被大流所向，变得向规律化靠拢，向通俗靠拢，早已习惯了安步当车的人又何曾会想过逆环境行动呢？被规律“统一”的人与提出规律的人，都是被人为法则所束缚罢了。\u003c/p\u003e\n\u003cp\u003e我们无法掀翻统治者阶级，无法对抗资本阶级，但我们要将其视为饭桶肉票利用起来，但不沉沦其中，只为自己的路垫脚。\u003c/p\u003e","title":"随笔——人的独一无二"},{"content":"系统环境 Device:iPhone 13 Pro System:IOS 16.4.1 Version:QuantmultX 1.3.0-781 Example Target software:QQ Music 开始 首先安装mitm证书 安装完成后打开风车-其他设置-VPN开启网络活动 先打开qq music以建立连接，退出登录，然后在quantmultx中长按右下角风车，开启http抓取。 再次登录，然后回到quantmultx，进入网络活动，找到stream.qqmusic.qq.com相关连接，打开即可在请求头中看到cookie以及其他需要的内容 对于其他软件方法一样，找到对应连接即可。\n","permalink":"https://flandre.vip/posts/getcookie/","summary":"\u003ch1 id=\"系统环境\"\u003e系统环境\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eDevice:iPhone 13 Pro\u003c/li\u003e\n\u003cli\u003eSystem:IOS 16.4.1\u003c/li\u003e\n\u003cli\u003eVersion:QuantmultX 1.3.0-781\u003c/li\u003e\n\u003cli\u003eExample Target software:QQ Music\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"开始\"\u003e开始\u003c/h1\u003e\n\u003cp\u003e首先安装mitm证书 \u003cimg alt=\"mitm\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/05/01/IMG%5C_1234.jpg\"\u003e 安装完成后打开\u003ccode\u003e风车-其他设置-VPN\u003c/code\u003e开启\u003ccode\u003e网络活动\u003c/code\u003e \u003cimg alt=\"设置\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/05/01/IMG%5C_1236.jpg\"\u003e 先打开\u003ccode\u003eqq music\u003c/code\u003e以建立连接，退出登录，然后在\u003ccode\u003equantmultx\u003c/code\u003e中\u003ccode\u003e长按\u003c/code\u003e右下角风车，开启\u003ccode\u003ehttp抓取\u003c/code\u003e。 \u003cimg alt=\"抓包\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/05/01/IMG%5C_1238.jpg\"\u003e 再次登录，然后回到quantmultx，进入网络活动，找到\u003ccode\u003estream.qqmusic.qq.com\u003c/code\u003e相关连接，打开即可在\u003ccode\u003e请求头\u003c/code\u003e中看到\u003ccode\u003ecookie\u003c/code\u003e以及其他需要的内容 \u003cimg alt=\"网络活动\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/05/01/IMG%5C_1240.jpg\"\u003e \u003cimg alt=\"cookie\" loading=\"lazy\" src=\"https://oss.flandre.vip/2023/05/01/IMG%5C_1239.png\"\u003e 对于其他软件方法一样，找到对应连接即可。\u003c/p\u003e","title":"使用QuantmultX获取cookie"},{"content":"愿一切都好好的\n","permalink":"https://flandre.vip/shuoshuo/2/","summary":"\u003cp\u003e愿一切都好好的\u003c/p\u003e","title":"2"},{"content":"#include \u0026lt;ext/pb_ds/assoc_container.hpp\u0026gt; // Common file #include \u0026lt;ext/pb_ds/tree_policy.hpp\u0026gt; #include \u0026lt;functional\u0026gt; // for less #include \u0026lt;iostream\u0026gt; #include\u0026lt;bits/stdc++.h\u0026gt; #define endl \u0026#39;\\n\u0026#39; #define ll long long int #define pb push_back using namespace __gnu_pbds; using namespace std; typedef tree\u0026lt;long long int, null_type, less_equal\u0026lt;long long int\u0026gt;, rb_tree_tag, tree_order_statistics_node_update\u0026gt; ordered_multiset; //ordered_multiset s3; //ordered_multiset :: iterator it; const ll mod=1e9+7; const ll N=1e1; bool sive[N]; vector\u0026lt;ll\u0026gt;prime; vector\u0026lt;ll\u0026gt;v; vector\u0026lt;ll\u0026gt;p; set\u0026lt;ll\u0026gt;s; set\u0026lt;ll\u0026gt;:: iterator it; ll k,num,m; long long int gcd(long long int a,long long int b) { long long int c; while(a%b!=0) { c=b; b=a%b; a=c; } return b; } double cal(double x) { double y=sqrt(x); return(x*x+2*y); } bool cheak(ll n) { ll b,c,a; if(n\u0026gt;=k) { a=(((n*(n+1))/2)-((n-k)*((n-k)+1)/2)); } else{ a=((n*(n+1))/2)+k-n; } ll n1=n-1; c=num-k; if(c\u0026lt;=n1) { b=(((n1*(n1+1))/2)-(((n1-c)*((n1-c)+1))/2)); } else{ b=((n1*(n1+1))/2)+c-n1; } if(a+b\u0026lt;=m) return true; else return false; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll i,j; for(i=0; i\u0026lt;N; i++) { sive[i]=true; } sive[0]=false; sive[1]=false; for(i=2; i*i\u0026lt;=N; i++) #include \u0026lt;bits/stdc++.h\u0026gt; using namespace std; struct doubleLinklist{ int val; doubleLinklist* forward; doubleLinklist* backward; }; struct doubleLinklist* create(int val){ struct doubleLinklist* new_element = new doubleLinklist; new_element-\u0026gt;val = val; new_element -\u0026gt;forward = NULL; new_element-\u0026gt;backward = NULL; return new_element; } void insert(doubleLinklist* \u0026amp;first_element,int val){ struct doubleLinklist* new_element = create(val); first_element-\u0026gt;forward = new_element; new_element-\u0026gt;backward = first_element; first_element = first_element-\u0026gt;forward; } void delete_node(doubleLinklist*\u0026amp; head,doubleLinklist* \u0026amp;tail,int val){ doubleLinklist* head1 = head; doubleLinklist* tail1 = tail; if(head == tail){ if(head-\u0026gt;val == val){ doubleLinklist* temp = head; head = NULL; tail= NULL; delete temp; } } else if(head-\u0026gt;val == val){ doubleLinklist* temp = head; head= head-\u0026gt;forward; head-\u0026gt;backward = NULL; delete temp; } else if(tail-\u0026gt;val == val){ doubleLinklist* temp = tail; tail= tail-\u0026gt;backward; tail-\u0026gt;forward= NULL; delete temp; } else { while(head1 != tail1){ if(head1-\u0026gt;val == val){ doubleLinklist* temp = head1; doubleLinklist* prev = head1-\u0026gt;backward; doubleLinklist* next = head1-\u0026gt;forward; delete temp; prev-\u0026gt;forward = next; next-\u0026gt;backward = prev; break; } head1= head1-\u0026gt;forward; } } } void Print(doubleLinklist* head){ while(head){ cout\u0026lt;\u0026lt; head-\u0026gt;val \u0026lt;\u0026lt;\u0026#34; \u0026#34;; head= head-\u0026gt;forward; } cout\u0026lt;\u0026lt;\u0026#34;\\n\u0026#34;; } int main(){ doubleLinklist * head = create(0); doubleLinklist* tail = head; //insert(tail,1); delete_node(head,tail,0); Print(head); } ","permalink":"https://flandre.vip/posts/code-highlight-test/","summary":"\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#include \u0026lt;ext/pb_ds/assoc_container.hpp\u0026gt; // Common file\n#include \u0026lt;ext/pb_ds/tree_policy.hpp\u0026gt;\n#include \u0026lt;functional\u0026gt; // for less\n#include \u0026lt;iostream\u0026gt;\n#include\u0026lt;bits/stdc++.h\u0026gt;\n#define endl \u0026#39;\\n\u0026#39;\n#define ll long long int\n#define pb push_back\n\nusing namespace __gnu_pbds;\nusing namespace std;\n\ntypedef tree\u0026lt;long long int, null_type, less_equal\u0026lt;long long int\u0026gt;, rb_tree_tag,\n        tree_order_statistics_node_update\u0026gt;\n        ordered_multiset;\n//ordered_multiset s3;\n//ordered_multiset :: iterator it;\nconst ll mod=1e9+7;\n\nconst ll N=1e1;\nbool sive[N];\nvector\u0026lt;ll\u0026gt;prime;\nvector\u0026lt;ll\u0026gt;v;\nvector\u0026lt;ll\u0026gt;p;\nset\u0026lt;ll\u0026gt;s;\nset\u0026lt;ll\u0026gt;:: iterator it;\nll k,num,m;\n\nlong long int gcd(long long int a,long long int b)\n{\n    long long int c;\n    while(a%b!=0)\n    {\n        c=b;\n        b=a%b;\n        a=c;\n    }\n    return b;\n}\ndouble cal(double x)\n{\n    double y=sqrt(x);\n    return(x*x+2*y);\n}\nbool cheak(ll n)\n{\n    ll b,c,a;\n    if(n\u0026gt;=k)\n    {\n        a=(((n*(n+1))/2)-((n-k)*((n-k)+1)/2));\n    }\n    else{\n        a=((n*(n+1))/2)+k-n;\n    }\n    ll n1=n-1;\n    c=num-k;\n    if(c\u0026lt;=n1)\n    {\n        b=(((n1*(n1+1))/2)-(((n1-c)*((n1-c)+1))/2));\n    }\n    else{\n\n        b=((n1*(n1+1))/2)+c-n1;\n\n    }\n\n    if(a+b\u0026lt;=m)\n        return true;\n    else\n        return false;\n\n}\n\nint main()\n{\n    ios::sync_with_stdio(0);\n    cin.tie(0);\n    cout.tie(0);\n    ll i,j;\n    for(i=0; i\u0026lt;N; i++)\n    {\n        sive[i]=true;\n    }\n    sive[0]=false;\n    sive[1]=false;\n    for(i=2; i*i\u0026lt;=N; i++)\n#include \u0026lt;bits/stdc++.h\u0026gt;\nusing namespace std;\n\nstruct doubleLinklist{\n    int val;\n    doubleLinklist* forward;\n    doubleLinklist* backward;\n\n};\n\nstruct doubleLinklist* create(int val){\n    struct doubleLinklist* new_element = new doubleLinklist;\n    new_element-\u0026gt;val = val;\n    new_element -\u0026gt;forward = NULL;\n    new_element-\u0026gt;backward = NULL;\n    return new_element;\n}\n\nvoid insert(doubleLinklist* \u0026amp;first_element,int val){\n    struct doubleLinklist* new_element = create(val);\n    first_element-\u0026gt;forward = new_element;\n    new_element-\u0026gt;backward = first_element;\n    first_element = first_element-\u0026gt;forward;\n}\n\nvoid delete_node(doubleLinklist*\u0026amp; head,doubleLinklist* \u0026amp;tail,int val){\n    doubleLinklist* head1 = head;\n    doubleLinklist* tail1 = tail;\n    if(head == tail){\n        if(head-\u0026gt;val == val){\n           doubleLinklist* temp = head;\n           head = NULL;\n           tail= NULL;\n           delete temp;\n        }\n    }\n    else if(head-\u0026gt;val == val){\n        doubleLinklist* temp = head;\n        head= head-\u0026gt;forward;\n        head-\u0026gt;backward = NULL;\n        delete temp;\n    }\n    else if(tail-\u0026gt;val == val){\n        doubleLinklist* temp = tail;\n        tail= tail-\u0026gt;backward;\n        tail-\u0026gt;forward= NULL;\n        delete temp;\n    }\n    else {\n        while(head1 != tail1){\n            if(head1-\u0026gt;val == val){\n                doubleLinklist* temp = head1;\n                doubleLinklist* prev = head1-\u0026gt;backward;\n                doubleLinklist* next = head1-\u0026gt;forward;\n                delete temp;\n                prev-\u0026gt;forward = next;\n                next-\u0026gt;backward = prev;\n                break;\n            }\n            head1= head1-\u0026gt;forward;\n        }\n    }\n}\nvoid Print(doubleLinklist* head){\n     while(head){\n        cout\u0026lt;\u0026lt; head-\u0026gt;val \u0026lt;\u0026lt;\u0026#34; \u0026#34;;\n        head= head-\u0026gt;forward;\n    }\n    cout\u0026lt;\u0026lt;\u0026#34;\\n\u0026#34;;\n}\n\nint main(){\n    doubleLinklist * head = create(0);\n    doubleLinklist* tail = head;\n    //insert(tail,1);\n    delete_node(head,tail,0);\n    Print(head);\n}\n\u003c/code\u003e\u003c/pre\u003e","title":"Code Highlighter Test"},{"content":"[warning]这是一个个人常用代码的便捷剪切板[/warning]\nlinux相关 更改dns服务器 echo \u0026#39;nameserver 8.8.8.8\u0026#39; \u0026gt;\u0026gt; /etc/resolv.conf echo \u0026#39;nameserver 119.29.29.29\u0026#39; \u0026gt;\u0026gt; /etc/resolv.conf 同步系统时间 sudo timedatectl set-timezone \u0026#39;Asia/Shanghai\u0026#39; apt-get install -y ntpdate ntpdate time.apple.com gcp允许账号密码ssh #Ubuntu sed -i \u0026#39;s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g\u0026#39; /etc/ssh/sshd_config sed -i \u0026#39;s/PasswordAuthentication no/PasswordAuthentication yes/g\u0026#39; /etc/ssh/sshd_config #debian/centos/rhel sed -i \u0026#39;s/PermitRootLogin no/PermitRootLogin yes/g\u0026#39; /etc/ssh/sshd_config sed -i \u0026#39;s/PasswordAuthentication no/PasswordAuthentication yes/g\u0026#39; /etc/ssh/sshd_config acme申请e1证书 #安装 curl https://get.acme.sh | sh #设置cfdns export CF_Token=\u0026#34;cf api token\u0026#34; export CF_Account_ID=\u0026#34;cf domain account id\u0026#34; #设置默认letsencript acme.sh --set-default-ca --server letsencrypt #申请一次证书 acme.sh --issue -d \u0026#34;flandre.vip\u0026#34; -d \u0026#34;*.flandre.vip\u0026#34; --dns dns_cf --force --server letsencrypt #生成acme id curl https://get.acme.sh | sh #填写申请e1表格链接 https://docs.google.com/forms/d/e/1FAIpQLScCWnApP2eUk4cA6y5cFOENlm5S2StVedrqYNzeNdTPoArzwA/viewform #等周四再次申请安装就变成了e1颁发的ecc证书 acme.sh --issue -d \u0026#34;flandre.vip\u0026#34; -d \u0026#34;*.flandre.vip\u0026#34; --dns dns_cf --force --server letsencrypt \\ --key-file /path/privkey.pem \\ --fullchain-file /path/fullchain.pem linux各类脚本收集 trojan面板 #安装/更新 source \u0026lt;(curl -sL https://git.io/trojan-install) #卸载 source \u0026lt;(curl -sL https://git.io/trojan-install) --remove x-ui bash \u0026lt;(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) warp-go wget -N https://raw.githubusercontent.com/fscarmen/warp/main/warp-go.sh \u0026amp;\u0026amp; bash warp-go.sh unblock netease music #安装node19.x.x curl -sL https://deb.nodesource.com/setup_19.x | bash - apt install -y nodejs git #一键脚本 curl -fsSLO https://raw.githubusercontent.com/UnblockNeteaseMusic/install-scripts/master/server/install.sh \u0026amp;\u0026amp; sudo bash install.sh ","permalink":"https://flandre.vip/posts/clipboard/","summary":"\u003cp\u003e[warning]这是一个个人常用代码的便捷剪切板[/warning]\u003c/p\u003e\n\u003ch2 id=\"linux相关\"\u003elinux相关\u003c/h2\u003e\n\u003ch3 id=\"更改dns服务器\"\u003e更改dns服务器\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eecho \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;nameserver 8.8.8.8\u0026#39;\u003c/span\u003e \u0026gt;\u0026gt; /etc/resolv.conf\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eecho \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;nameserver 119.29.29.29\u0026#39;\u003c/span\u003e \u0026gt;\u0026gt; /etc/resolv.conf\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"同步系统时间\"\u003e同步系统时间\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esudo timedatectl set-timezone \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;Asia/Shanghai\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt-get install -y ntpdate\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003entpdate time.apple.com\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"gcp允许账号密码ssh\"\u003egcp允许账号密码ssh\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#Ubuntu\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g\u0026#39;\u003c/span\u003e /etc/ssh/sshd_config\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/PasswordAuthentication no/PasswordAuthentication yes/g\u0026#39;\u003c/span\u003e /etc/ssh/sshd_config\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#debian/centos/rhel\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/PermitRootLogin no/PermitRootLogin yes/g\u0026#39;\u003c/span\u003e /etc/ssh/sshd_config\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esed -i \u003cspan style=\"color:#e6db74\"\u003e\u0026#39;s/PasswordAuthentication no/PasswordAuthentication yes/g\u0026#39;\u003c/span\u003e /etc/ssh/sshd_config\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"acme申请e1证书\"\u003eacme申请e1证书\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#安装\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecurl https://get.acme.sh | sh\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#设置cfdns\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eexport CF_Token\u003cspan style=\"color:#f92672\"\u003e=\u003c/span\u003e\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;cf api token\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eexport CF_Account_ID\u003cspan style=\"color:#f92672\"\u003e=\u003c/span\u003e\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;cf domain account id\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#设置默认letsencript\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eacme.sh --set-default-ca --server letsencrypt\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#申请一次证书\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eacme.sh --issue -d \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;flandre.vip\u0026#34;\u003c/span\u003e -d \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;*.flandre.vip\u0026#34;\u003c/span\u003e --dns dns_cf --force --server letsencrypt\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#生成acme id\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecurl https://get.acme.sh | sh\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#填写申请e1表格链接\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ehttps://docs.google.com/forms/d/e/1FAIpQLScCWnApP2eUk4cA6y5cFOENlm5S2StVedrqYNzeNdTPoArzwA/viewform\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#等周四再次申请安装就变成了e1颁发的ecc证书\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eacme.sh --issue -d \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;flandre.vip\u0026#34;\u003c/span\u003e -d \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;*.flandre.vip\u0026#34;\u003c/span\u003e --dns dns_cf --force --server letsencrypt \u003cspan style=\"color:#ae81ff\"\u003e\\ \u003c/span\u003e--key-file       /path/privkey.pem \u003cspan style=\"color:#ae81ff\"\u003e\\ \u003c/span\u003e--fullchain-file /path/fullchain.pem\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003chr\u003e\n\u003ch2 id=\"linux各类脚本收集\"\u003elinux各类脚本收集\u003c/h2\u003e\n\u003ch3 id=\"trojan面板\"\u003etrojan面板\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#安装/更新\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esource \u0026lt;\u003cspan style=\"color:#f92672\"\u003e(\u003c/span\u003ecurl -sL https://git.io/trojan-install\u003cspan style=\"color:#f92672\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#卸载\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003esource \u0026lt;\u003cspan style=\"color:#f92672\"\u003e(\u003c/span\u003ecurl -sL https://git.io/trojan-install\u003cspan style=\"color:#f92672\"\u003e)\u003c/span\u003e --remove\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"x-ui\"\u003ex-ui\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ebash \u0026lt;\u003cspan style=\"color:#f92672\"\u003e(\u003c/span\u003ecurl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh\u003cspan style=\"color:#f92672\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"warp-go\"\u003ewarp-go\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ewget -N https://raw.githubusercontent.com/fscarmen/warp/main/warp-go.sh \u003cspan style=\"color:#f92672\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e bash warp-go.sh\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"unblock-netease-music\"\u003eunblock netease music\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#安装node19.x.x \u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecurl -sL https://deb.nodesource.com/setup_19.x | bash -\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eapt install -y nodejs git\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e#一键脚本\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecurl -fsSLO https://raw.githubusercontent.com/UnblockNeteaseMusic/install-scripts/master/server/install.sh \u003cspan style=\"color:#f92672\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e sudo bash install.sh\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e","title":"剪切板"},{"content":"chatgpt，请告诉我markdown的基础语法。 并且告诉我markdown的特殊语法，包括绘图，表格等 你的回答应该包含一些示例！\n","permalink":"https://flandre.vip/posts/markdown/","summary":"\u003cp\u003echatgpt，请告诉我markdown的基础语法。 并且告诉我markdown的特殊语法，包括绘图，表格等 你的回答应该包含一些示例！\u003c/p\u003e","title":"MARKDOWN!"},{"content":"测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试\n","permalink":"https://flandre.vip/posts/%E6%B5%8B%E8%AF%95/","summary":"\u003cp\u003e测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试\u003c/p\u003e","title":"测试"},{"content":"[task]\n申请友链请按照以下格式在本页评论：\n站名：(最好不要太长，控制在六个中文字符宽度内)\n站点链接：(你的网站链接，请附带 https)\n头像：(你的头像链接，请确保它为正方形或圆形)\n站点描述：(简单描述一下你的站点或留下你喜欢的句子)\n[/task]\n[warning]\n申请友链需要您的站点满足以下条件：\nⅠ 文章数量大于 5 篇\nⅡ 建站历史超过半年\nⅢ 纯 HTTPS 链接 且 不带端口\nⅣ 无纠纷\nⅤ 无违反中华人民共和国相关法律内容\n[/warning]\n站名：芙兰の小窝 描述：少女祈祷中～ 站点链接：https://flandre.vip 头像：https://oss.flandre.vip/2024/11/06/1000040011.jpg ","permalink":"https://flandre.vip/pages/friends/","summary":"\u003cp\u003e[task]\u003cbr\u003e\n申请友链请按照以下格式在本页评论：\u003cbr\u003e\n站名：(最好不要太长，控制在六个中文字符宽度内)\u003cbr\u003e\n站点链接：(你的网站链接，请附带 https)\u003cbr\u003e\n头像：(你的头像链接，请确保它为正方形或圆形)\u003cbr\u003e\n站点描述：(简单描述一下你的站点或留下你喜欢的句子)\u003cbr\u003e\n[/task]\u003c/p\u003e\n\u003cp\u003e[warning]\u003cbr\u003e\n申请友链需要您的站点满足以下条件：\u003cbr\u003e\nⅠ 文章数量大于 5 篇\u003cbr\u003e\nⅡ 建站历史超过半年\u003cbr\u003e\nⅢ 纯 HTTPS 链接 且 不带端口\u003cbr\u003e\nⅣ 无纠纷\u003cbr\u003e\nⅤ 无违反中华人民共和国相关法律内容\u003cbr\u003e\n[/warning]\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e站名：芙兰の小窝\n描述：少女祈祷中～\n站点链接：https://flandre.vip\n头像：https://oss.flandre.vip/2024/11/06/1000040011.jpg\n\u003c/code\u003e\u003c/pre\u003e","title":"友人帐"},{"content":"","permalink":"https://flandre.vip/pages/timeline/","summary":"","title":"归档"},{"content":"","permalink":"https://flandre.vip/pages/comment/","summary":"","title":"留言板"}]