朱某的生活印记 - 网络 https://blog.zhuxu.asia/category/network-technique/ Git基础 https://blog.zhuxu.asia/archives/180/ 2026-01-11T21:52:06+08:00 Git基础原创内容,转载请注明出处!Git常用命令命令名称作用git config --global user.name 用户名设置用户签名(用户名)git config --global user.email 邮箱设置用户签名(邮箱)注意:如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个 .gitconfig 文件,以后你所有的项目都会默认使用这里配置的用户信息;如果要在某个特定的项目中使用其他名字或者邮箱,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里 git init初始化本地库git status查看本地库状态git add 文件名添加到暂存区(git add . 添加所有)git rm --cached 文件名搁置/移除暂存区文件git rm --cached * 搁置所有git commit -m "日志信息" 文件名提交到本地库(不加文件名表示提交所有)git commit --amend修改提交日志信息git reflog显示所有的操作记录,包括提交,回退的操作git log显示所有提交过的版本信息,不包括已经被删除的 commit 记录和 reset 的操作注意:git reflog 常用于恢复本地的错误操作;场景:我们 commit 了一个操作,发现提交的是错误的,于是我们进行了回退,git reset --hard HEAD^,就是把工作区的文件也回退还原了,这时候突然发现之前的提前是正确的,想再回退到回退之前的,便去找到之前的版本号进行回退,使用 git log 发现之前提交的版本号记录根本不存在了,这时只能使用 git reflog git reset --hard 版本号版本穿梭(硬撤销)git reset --soft 版本号版本穿梭(软撤销)注意:- 硬撤销:本地代码会直接变更为指定的提交版本,慎用!删除工作空间改动代码,撤销 commit,撤销 git add .,注意完成这个操作后,就恢复到了上一次 commit 后的状态- 软撤销:本地代码不会变化,只是 git 转改会恢复为 commit 之前的状态,不删除工作空间改动代码,撤销 commit,不撤销 add .git reset --soft HEAD^:一大用途,撤销 commit,但不撤销 add . git branch 分支名创建分支git branch -v查看分支git checkout 分支名切换分支git merge 分支名把指定的分支合并到当前分支上(可能发生合并冲突,便需要人工解决)git remote -v查看当前所有远程地址别名git remote add 别名 远程地址为远程地址起别名git push 别名 分支推送本地分支上的内容到远程仓库git clone 远程地址将远程仓库的内容克隆到本地git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉取下来后与当前本地分支直接合并(可能发生合并冲突,便需要人工解决)Git案例流程 主题短代码【使用教程】 https://blog.zhuxu.asia/archives/147/ 2025-10-17T21:40:00+08:00 Typecho buyu 单栏主题1.3.1版本新增了一些短代码,如标签页、折叠面板、附件下载卡片、徽章、按钮、进度条。主题简介/下载https://zhuxu.asia/archives/118/具体短代码可在下方查看使用方法,预览标签页(Tabs){tabs}{tab name="简介"}标签页(Tabs)组件用于在有限空间内展示多个分类内容,通过点击标签切换不同内容区域,保持界面简洁有序。支持嵌套其他短代码(如按钮、折叠面板等)和代码块,适用于展示多维度信息对比或分步内容。{/tab}{tab name="短代码"}{tabs} {tab name="标题1"} 内容 {/tab} {tab name="标题2"} 内容 {/tab} {tab name="标题3"} 内容 {/tab} {/tabs}{/tab}{tab name="效果"}由于代码性质这里就不放效果了,可直接查看{/tab}{/tabs}折叠面板{tabs}{tab name="简介"}折叠面板主要用于收纳补充说明、代码块、长文本等内容,避免文章冗长,提升阅读体验。支持自定义标题、默认展开状态及 6 种预设样式(如成功、警告、危险等主题),且兼容嵌套其他短代码。{/tab}{tab name="短代码"}短代码参数支持 2 个可选参数,用于自定义面板标题和默认状态:参数名作用取值范围默认值title自定义面板的标题文字任意文本(建议简短明了)折叠面板open设置面板默认是否展开true(默认展开) / false(默认折叠)false使用示例指定标题为 【自定义标题】,并设置默认展开【open="true"】或默认折叠【open="false"】[collapse title="自定义标题" open="true"] 内容 [/collapse]效果:显示标题为 “常见问题解答” 的面板,默认展开显示内容,点击标题可折叠。{/tab}{tab name="效果"}[collapse title="常见问题解答" open="true"]问:这个折叠面板支持嵌套吗?答:支持,可以在内容中嵌套其他短代码或HTML。问:标题能放特殊符号吗?答:可以,会自动过滤不安全内容,放心使用。[/collapse][collapse title="温馨提示" open="true"]这是默认展开的折叠面板,适合展示提示信息。[/collapse][collapse title="温馨提示" open="false"]这是默认关闭的折叠面板[/collapse]{/tab}{/tabs}附件下载卡片{tabs}{tab name="简介"}附件下载卡片用于展示各类文件的下载入口,支持自定义图标、标题、大小等信息,自定义文件类型标识和新文件标记。点击 "下载" 按钮可直接下载或跳转至文件地址,支持指定打开方式(当前窗口 / 新窗口)。{/tab}{tab name="短代码"}短代码参数参数名必选含义与用途示例值默认值url是附件的下载链接(核心参数,为空时会显示错误提示)https://example.com/file.pdf无title否附件的显示名称(用于标识附件内容)产品手册v2.0下载附件size否附件的文件大小(用于展示容量信息,需手动填写)2.4MB空(不显示)icon否附件的图标(可以使用主题内置的font-awesome4.7.0图标)fa fa-file-pdf-ofa-file-otype否附件的文件类型(用于 CSS 样式识别,如区分 PDF / 图片 / 压缩包等)pdf、zip、img空短代码使用方法基础示例(必填参数)[attachment url="链接"]效果:生成一个带默认标题 “下载附件”、默认图标📎、新窗口打开的下载卡片。完整示例(含所有参数)[attachment url="下载链接" title="标题" size="大小" icon="图标" type="文件类型" target="链接打开方式"]{/tab}{tab name="效果"}PDF文档[attachment url="https://example.com/manual.pdf" title="产品使用手册" size="2.4MB" type="pdf"]Word文档[attachment url="https://example.com/report.docx" title="季度报告" size="1.8MB" type="doc"]Excel表格[attachment url="https://example.com/data.xlsx" title="销售数据统计" size="3.2MB" type="xls"]软件安装包[attachment url="https://example.com/app.zip" title="客户端安装包" size="15.6MB" type="zip"]源码包[attachment url="https://example.com/source.tar.gz" title="项目源码" size="8.7MB" type="zip"]图片文件[attachment url="https://example.com/screenshot.jpg" title="界面截图" size="1.2MB" type="img"]视频文件[attachment url="https://example.com/demo.mp4" title="功能演示视频" size="85.3MB" type="video"]音频文件[attachment url="https://example.com/podcast.mp3" title="访谈录音" size="12.5MB" type="audio"]新文件标记[attachment url="https://example.com/update.zip" title="系统更新包" size="23.7MB" type="zip"]当前窗口打开[attachment url="https://example.com/readme.txt" title="说明文档" size="45KB" type="txt"]{/tab}{/tabs}徽章{tabs}{tab name="简介"}徽章(Badge)用于展示状态标识、分类标签或重要程度,支持多种颜色、尺寸和样式变体。{/tab}{tab name="短代码"}短代码参数参数名必选含义与用途示例值默认值$content是徽章内部显示的文本(核心内容,为空时返回空字符串,不生成徽章)新上线、已完成无(必填)type否徽章的预设类型(对应预设样式,如颜色、风格,限制在合法类型内)success、danger、infodefaultcolor否徽章的自定义背景色(支持十六进制、rgb、rgba 格式,格式不合法时不生效)#ff5722、rgb(255,87,34)、rgba(255,87,34,0.8)空(使用type对应的预设颜色)size否徽章的尺寸(限制在预设尺寸内,为空时使用默认尺寸)sm(小尺寸)、lg(大尺寸)空(默认尺寸)outline否是否显示边框样式(布尔值,为true时显示边框,不填充纯色背景)true、falsefalse短代码使用方法基础示例(必填参数)[badge]新消息\[/badge]完整示例(含所有参数)[badge type="success"]已完成[/badge] [badge type="danger"]待处理[/badge] [badge type="cyan"]通知[/badge] [badge color="rgba(76,175,80,0.7)"]推荐[/badge] [badge color="#ff9800"]热门[/badge] [badge size="sm"]小徽章\[/badge] [badge size="lg" type="info"]大徽章\[/badge] [badge outline="true" type="warning"]边框样式\[/badge] [badge outline="true" color="#673ab7"]自定义边框色\[/badge] [badge type="purple" size="lg" color="rgba(156,39,176,0.9)" outline="false"]VIP会员\[/badge] 请注意type:仅允许预设的 8 种合法类型(default/success/warning/danger/info/orange/cyan/purple),无效值自动转为default,确保样式统一。size:仅允许 3 种合法值(空 /sm/lg),无效值自动转为空,避免异常尺寸破坏布局。color:通过正则表达式验证格式(仅支持十六进制、rgb、rgba),格式不合法时不生成style属性,避免样式错乱。{/tab}{tab name="效果"}基础徽章[badge type="success"]成功[/badge][badge type="warning"]警告[/badge]尺寸徽章[badge type="danger" size="sm"]小尺寸[/badge][badge type="info" size="lg"]大尺寸[/badge]扩展颜色[badge type="orange"]橙色[/badge][badge type="cyan"]青色[/badge][badge type="purple"]紫色[/badge]边框样式[badge type="success" outline="true"]边框[/badge][badge type="purple" outline="true" size="lg"]大边框紫色[/badge]自定义颜色[badge color="#ff6b6b"]自定义红[/badge][badge color="rgb(75, 192, 192)" outline="true"]自定义轮廓[/badge][badge type="success"]已完成[/badge][badge type="danger"]待处理[/badge][badge type="cyan"]通知[/badge][badge color="rgba(76,175,80,0.7)"]推荐[/badge][badge color="#ff9800"]热门[/badge][badge size="sm"]小徽章[/badge][badge size="lg" type="info"]大徽章[/badge][badge outline="true" type="warning"]边框样式[/badge][badge outline="true" color="#673ab7"]自定义边框色[/badge][badge type="purple" size="lg" color="rgba(156,39,176,0.9)" outline="false"]VIP会员[/badge]{/tab}{/tabs}自定义按钮{tabs}{tab name="简介"}自定义按钮支持多种颜色、尺寸和样式,可作为操作入口或链接跳转载体。提供实心 / 轮廓两种基础样式,支持全宽显示(块级按钮)和指定链接打开方式,适合各类交互场景。{/tab}{tab name="短代码"}短代码参数参数名说明可选值/格式默认值示例url按钮链接地址合法URL(如https://example.com或#)#(空链接)无type按钮样式类型(颜色/边框)- 纯色:default、blue、red、orange、yellow、green、cyan、purple- 边框:outline-blue、outline-red等带outline-前缀的颜色default[button type="green"]size按钮尺寸sm(小尺寸)、lg(大尺寸)空(默认尺寸)[button size="lg"]target链接打开方式_self(当前窗口)、_blank(新窗口)、_parent(父窗口)、_top(顶层窗口)_self[button target="_blank"]block是否块级显示(占满父容器宽度)true(是)、false(否)false[button block="true"]rel链接关系属性(如nofollow)合法HTML rel属性值(如nofollow、noopener)空[button rel="nofollow"]内容按钮显示文本(短代码包裹的内容)任意文本/HTML片段按钮[button]点击下载[/button]短代码使用方法## 基础颜色按钮(默认尺寸) [button url="https://example.com" type="red"]红色按钮(var(--color-red-500))[/button] [button url="https://example.com" type="orange"]橙色按钮(var(--color-orange-500))[/button] [button url="https://example.com" type="yellow"]黄色按钮(var(--color-yellow-500))[/button] [button url="https://example.com" type="green"]绿色按钮(var(--color-green-500))[/button] [button url="https://example.com" type="cyan"]青色按钮(var(--color-cyan-500))[/button] [button url="https://example.com" type="blue"]蓝色按钮(var(--color-blue-500))[/button] [button url="https://example.com" type="purple"]紫色按钮(var(--color-purple-500))[/button] ## 轮廓按钮(默认尺寸) [button url="https://example.com" type="outline-red"]红色轮廓(var(--color-red-500))[/button] [button url="https://example.com" type="outline-orange"]橙色轮廓(var(--color-orange-500))[/button] [button url="https://example.com" type="outline-yellow"]黄色轮廓(var(--color-yellow-600))[/button] [button url="https://example.com" type="outline-green"]绿色轮廓(var(--color-green-500))[/button] [button url="https://example.com" type="outline-cyan"]青色轮廓(var(--color-cyan-500))[/button] [button url="https://example.com" type="outline-blue"]蓝色轮廓(var(--color-blue-500))[/button] [button url="https://example.com" type="outline-purple"]紫色轮廓(var(--color-purple-500))[/button] ## 小尺寸按钮 [button url="https://example.com" type="red" size="sm"]红色小按钮[/button] [button url="https://example.com" type="outline-orange" size="sm"]橙色小轮廓按钮[/button] ## 大尺寸按钮 [button url="https://example.com" type="green" size="lg"]绿色大按钮[/button] [button url="https://example.com" type="outline-cyan" size="lg"]青色大轮廓按钮[/button] ## 块级全宽按钮 [button type="blue" block="true"]蓝色块级按钮[/button] [button type="outline-purple" block="true"]紫色块级轮廓按钮[/button] ## 带链接的按钮 [button url="https://example.com" type="yellow" target="_blank"]新窗口打开[/button] [button url="#top" type="outline-green"]返回顶部[/button]{/tab}{tab name="效果"}基础颜色按钮(默认尺寸)[button url="https://example.com" type="red"]红色按钮(var(--color-red-500))[/button][button url="https://example.com" type="orange"]橙色按钮(var(--color-orange-500))[/button][button url="https://example.com" type="yellow"]黄色按钮(var(--color-yellow-500))[/button][button url="https://example.com" type="green"]绿色按钮(var(--color-green-500))[/button][button url="https://example.com" type="cyan"]青色按钮(var(--color-cyan-500))[/button][button url="https://example.com" type="blue"]蓝色按钮(var(--color-blue-500))[/button][button url="https://example.com" type="purple"]紫色按钮(var(--color-purple-500))[/button]轮廓按钮(默认尺寸)[button url="https://example.com" type="outline-red"]红色轮廓(var(--color-red-500))[/button][button url="https://example.com" type="outline-orange"]橙色轮廓(var(--color-orange-500))[/button][button url="https://example.com" type="outline-yellow"]黄色轮廓(var(--color-yellow-600))[/button][button url="https://example.com" type="outline-green"]绿色轮廓(var(--color-green-500))[/button][button url="https://example.com" type="outline-cyan"]青色轮廓(var(--color-cyan-500))[/button][button url="https://example.com" type="outline-blue"]蓝色轮廓(var(--color-blue-500))[/button][button url="https://example.com" type="outline-purple"]紫色轮廓(var(--color-purple-500))[/button]小尺寸按钮[button url="https://example.com" type="red" size="sm"]红色小按钮[/button][button url="https://example.com" type="outline-orange" size="sm"]橙色小轮廓按钮[/button]大尺寸按钮[button url="https://example.com" type="green" size="lg"]绿色大按钮[/button][button url="https://example.com" type="outline-cyan" size="lg"]青色大轮廓按钮[/button]块级全宽按钮[button url="https://example.com" type="blue" block="true"]蓝色块级按钮[/button][button url="https://example.com" type="outline-purple" block="true"]紫色块级轮廓按钮[/button]带链接的按钮[button url="https://example.com" type="yellow" target="_blank"]新窗口打开[/button][button url="https://example.com" type="outline-green"]返回顶部[/button]{/tab}{/tabs}进度条{tabs}{tab name="简介"}进度条用于展示任务完成进度或加载状态,支持多种样式(实心 / 条纹 / 动画条纹)和状态颜色(成功 / 警告 / 危险 / 信息)。可添加标题文本说明进度含义,适合数据加载、任务完成度等场景。{/tab}{tab name="短代码"}默认进度条:[progress percent="60"] 带标题:[progress percent="75" title="完成度"] 成功样式:[progress percent="85" type="success"] 警告样式:[progress percent="90" type="warning"] 危险样式:[progress percent="95" type="danger"] 信息样式:[progress percent="50" type="info"] 条纹样式:[progress percent="65" striped="true"] 动画条纹:[progress percent="70" striped="true" animated="true"]{/tab}{tab name="效果"}默认进度条:[progress percent="60"]带标题:[progress percent="75" title="完成度"]成功样式:[progress percent="85" type="success"]警告样式:[progress percent="90" type="warning"]危险样式:[progress percent="95" type="danger"]信息样式:[progress percent="50" type="info"]条纹样式:[progress percent="65" striped="true"]动画条纹:[progress percent="70" striped="true" animated="true"]{/tab}{/tabs}音频{tabs}{tab name="简介"}音频短代码用于嵌入音频文件,支持显示歌曲名称、艺术家信息和自定义封面图。提供标准音频控制界面(播放 / 暂停 / 进度条 / 音量),适合播客、音乐片段等音频内容展示。{/tab}{tab name="短代码"}短代码参数参数名必选含义与用途示例值默认值url是音频文件的播放链接(核心参数,为空时不生成播放器,仅返回空字符串)https://example.com/audio/song.mp3空(必填)name否音频的名称(显示在播放器上,用于标识音频内容)《晴天》、访谈录音第1段未知音频artist否音频的作者 / 创作者(显示在播放器上,补充音频信息)周杰伦、产品部团队未知艺术家cover否音频的封面图片链接(显示在播放器左侧,提升视觉效果,支持 JPG/PNG 等格式)https://example.com/covers/song.jpg空(不显示封面)短代码使用方法[audio name="歌曲名称" artist="作者" url="音频链接" cover="音频封面链接"]{/tab}{tab name="效果"}这里就不展示了{/tab}{/tabs}视频{tabs}{tab name="简介"}视频短代码用于生成视频播放器组件,基于 DPlayer(一款功能丰富的网页视频播放器库)实现,可在页面中嵌入支持自定义尺寸、封面、播放策略的视频播放功能{/tab}{tab name="短代码"}短代码参数参数名必选含义与用途示例值默认值src是视频文件的播放链接(核心参数,为空时返回错误提示,不生成有效播放器)https://example.com/video/demo.mp4空(必填)poster否视频封面图片链接(视频未播放时显示,提升视觉体验,支持 JPG/PNG 等格式)https://example.com/posters/demo.jpg空(不显示封面)width否视频播放器宽度(支持百分比、像素值,控制播放器在页面中的尺寸)80%、1200px100%(全屏宽度)autoplay否是否自动播放(布尔值字符串,需符合浏览器自动播放策略,如静音自动播放)true、falsefalseloop否是否循环播放(视频播放结束后自动重新开始)true、falsefalsepreload否视频预加载策略(控制页面加载时视频资源的加载方式)auto(自动)、none(不预加载)、metadata(仅加载元数据)autolang否播放器界面语言(控制按钮文本、提示信息等语言显示)zh-cn(中文)、en(英文)zh-cnmutex否是否互斥播放(同一页面多个视频播放器,仅允许一个播放,其他自动暂停)true、falsetruetheme否播放器主题颜色(控制进度条、按钮等交互元素的颜色)#ff4400、rgba(51,153,255,1)#b7daff(淡蓝色)hotkey否是否启用热键(支持键盘控制,如空格暂停 / 播放、方向键快进 / 快退)true、falsetruevolume否默认音量大小(0-1 之间的数值,0 为静音,1 为最大音量)0.5、0.80.7(70% 音量)短代码使用方法基础示例 [video src="https://example.com/video/intro.mp4"] 完整示例(自定义常用参数) [video src="视频链接" poster="视频封面" width="视频播放器宽度" autoplay="是否自动播放" loop="是否循环播放" theme="播放器主题颜色" volume="默认音量大小"]解析逻辑:使用默认配置(100% 宽度、不自动播放、淡蓝色主题等),不显示封面。{/tab}{tab name="效果"}这里就不展示了,可自己实际应用{/tab}{/tabs} Typecho友情链接插件 https://blog.zhuxu.asia/archives/130/ 2025-06-21T23:00:00+08:00 Typecho友情链接插件介绍Typecho友情链接插件功能描述友情链接插件可以支持以下功能:1、自建独立数据表,干净无上限的添加友情链接信息。2、支持两种输出方式:函数方式,用于主题模板侧边栏等嵌入位置显示;HTML标签方式,用于独立页面等编辑内容显示。3、三种输出模式:文字友链、图片友链、图文混合友链等。内设三种默认输出规则,支持自定议设定输出规则。4、管理面板:支持友链的分类,拖拽排序以及友链启用禁用等5、支持友链邮箱解析头像链接(数字QQ邮箱自动优先解析无QQ号头像链接,其次有QQ号链接。其他邮箱解析Gravatar头像),方便用户添加无图片的友链。6、支持增加自定义字段,方便用户做一些个性扩展。详细使用教程一、安装插件下载插件:访问 GitHub 仓库,下载插件的最新版本压缩包。上传插件:使用 FTP 工具或者文件管理器,将下载好的压缩包上传至 Typecho 网站根目录下的 /usr/plugins/ 目录。解压插件:在 /usr/plugins/ 目录下解压上传的压缩包,确保解压后的文件夹名称为 Links。二、启用插件登录后台:打开浏览器,访问你的 Typecho 网站后台,输入用户名和密码登录。进入插件管理页面:在后台管理界面,点击左侧菜单栏的「控制台」,然后选择「插件」。启用插件:在插件列表中找到「Links」插件,点击「启用」按钮。启用成功后,插件会自动创建独立的数据表。三、添加友情链接进入友链管理面板:启用插件后,在后台左侧菜单栏会出现「友情链接」选项,点击进入友链管理面板。添加新友链:在友链管理面板中,点击「添加新链接」按钮,进入添加页面。填写友链信息:名称:填写友情链接的网站名称。链接:填写友情链接的网站 URL。描述:填写对该网站的简要描述。邮箱:填写网站管理员的邮箱,用于解析头像链接。如果是数字 QQ 邮箱,会优先解析无 QQ 号头像链接,其次是有 QQ 号链接;其他邮箱会解析 Gravatar 头像。头像:可以手动上传网站的头像图片,也可以留空让插件自动根据邮箱解析。分类:选择友情链接所属的分类,如果没有合适的分类,可以先创建新分类。状态:选择友链的状态,启用状态下的友链会在前台显示,禁用状态则不会显示。排序:可以通过拖拽的方式调整友链的显示顺序。自定义字段:如果有需要,可以添加自定义字段,用于实现个性扩展。保存友链:填写完所有信息后,点击「保存」按钮,新的友情链接就添加成功了。管理友情链接编辑友链:在友链管理面板中,找到需要编辑的友链,点击「编辑」按钮,进入编辑页面修改友链信息,修改完成后点击「保存」按钮。删除友链:在友链管理面板中,找到需要删除的友链,点击「删除」按钮,在弹出的确认对话框中点击「确定」即可删除该友链。分类管理:点击友链管理面板中的「分类管理」选项卡,可以创建、编辑和删除友链分类。四、输出友情链接在主题模板文件(如 friends.php)中,找到需要显示友情链接的位置,添加以下代码:<?php echo processContent($this->content, $this->title); ?> <div class="friend-container"> <?php if (isset($this->options->plugins['activated']['Links'])) : ?> <?php Links_Plugin::output(' <a class="friend-card" href="{url}" title="{title}" target="_blank" rel="noopener"> <img class="friend-avatar" data-src="{image}" alt="{name}" width="{size}" height="{size}"> <div class="friend-info"> <p class="friend-name">{name}</p> <p class="friend-description"> <span class="cjk-latin-custom-space">{description}</span> </p> </div> </a> ', 0); ?> <?php endif; ?> </div>版权所属原版由懵仙兔兔进行二次开发维护仓库地址:https://github.com/Mejituu/Links 计算机网络 - 概述 https://blog.zhuxu.asia/archives/129/ 2025-06-18T11:02:00+08:00 计算机网络 - 概述网络的网络网络把主机连接起来,而互连网(internet)是把多种不同的网络连接起来,因此互连网是网络的网络。而互联网(Internet)是全球范围的互连网。 ISP互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。 目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。 主机之间的通信方式客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。 对等(P2P):不区分客户和服务器。 电路交换与分组交换1. 电路交换电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到 10%。2. 分组交换每个分组都有首部和尾部,包含了源地址和目的地址等控制信息,在同一个传输线路上同时传输多个分组互相不会影响,因此在同一条传输线路上允许同时传输多个分组,也就是说分组交换不需要占用传输线路。在一个邮局通信系统中,邮局收到一份邮件之后,先存储下来,然后把相同目的地的邮件一起转发到下一个目的地,这个过程就是存储转发过程,分组交换也使用了存储转发过程。时延总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延 1. 排队时延分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。2. 处理时延主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。3. 传输时延主机或路由器传输数据帧所需要的时间。 其中 l 表示数据帧的长度,v 表示传输速率。4. 传播时延电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。 其中 l 表示信道长度,v 表示电磁波在信道上的传播速度。计算机网络体系结构 1. 五层协议应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。2. OSI其中表示层和会话层用途如下:表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。会话层 :建立及管理会话。五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。3. TCP/IP它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。 4. 数据在各层之间的传递过程在向下的过程中,需要添加下层协议所需要的首部或者尾部,而在向上的过程中不断拆开首部和尾部。路由器只有下面三层协议,因为路由器位于网络核心中,不需要为进程或者应用程序提供服务,因此也就不需要传输层和应用层。 小调整 https://blog.zhuxu.asia/archives/127/ 2025-06-12T21:21:00+08:00 服务器方面1Panel面板升级到了v2版本,使用下来感觉还挺好MySQL由原来的5.7版本升级至8.0.42版本并优化了性能参数等博客方面优化了主题代码并新增了些许功能如评论敏感词过滤、限制用户评论最大字数、评论需包含中文、文章点赞、分享、全局消息提示、评论邮件通知等功能重新调整了分页导航电脑由原来的windows10升级至windows11,感觉部分操作反应慢半拍努力攒钱升配中~ Typecho 博客系统主要数据表及关系解析 https://blog.zhuxu.asia/archives/124/ 2025-05-29T20:19:00+08:00 《Typecho 博客系统主要数据表及关系解析》Typecho 主要数据表及其字段的作用:1. typecho_contents(内容表)存储文章、页面等内容主体信息。字段名 类型 描述 cid int(10) UNSIGNED 内容唯一标识,主键,自增 title varchar(150) 内容标题 slug varchar(150) 内容缩略名(URL 别名),用于生成友好的链接地址,可索引 created int(10) UNSIGNED 内容创建时间戳 modified int(10) UNSIGNED 内容修改时间戳 text longtext 内容正文(支持 Markdown 或 HTML) order int(10) UNSIGNED 排序序号,用于自定义内容顺序 authorId int(10) UNSIGNED 作者 ID,关联 users 表 template varchar(32) 自定义模板名称 type varchar(16) 内容类型(post、page、attachment 等) status varchar(16) 内容状态(publish、draft、hidden 等) password varchar(32) 内容密码(加密存储) commentsNum int(10) UNSIGNED 评论数量 allowComment char(1) 是否允许评论(0/1) allowPing char(1) 是否允许 Pingback/Trackback(0/1) allowFeed char(1) 是否允许在聚合中显示(0/1) parent int(10) UNSIGNED 父级内容 ID(用于层级结构,如页面的父子关系) 2. typecho_metas(分类 / 标签 / 自定义字段表)可存储分类(category)、标签(tag)或自定义字段(custom)。字段名 类型 描述 mid int(10) UNSIGNED 元数据唯一标识,主键,自增 name varchar(200) 元数据名称(如分类名、标签名) slug varchar(200) 元数据缩略名(URL 别名) type varchar(32) 元数据类型(category、tag、field 等) description text 元数据描述 count int(10) UNSIGNED 关联内容数量(如分类下的文章数) order int(10) UNSIGNED 排序序号 parent int(10) UNSIGNED 父级元数据 ID(用于分类层级结构) 3. typecho_relationships(内容 - 元数据关联表)建立内容与分类 / 标签的多对多关系。字段名 类型 描述 cid int(10) UNSIGNED 内容 ID,关联 contents 表 mid int(10) UNSIGNED 元数据 ID,关联 metas 表 4. typecho_comments(评论表)存储文章评论及回复。字段名 类型 描述 coid int(10) UNSIGNED 评论唯一标识,主键,自增 cid int(10) UNSIGNED 关联的内容 ID created int(10) UNSIGNED 评论创建时间戳 author varchar(200) 评论者名称 authorId int(10) UNSIGNED 评论者用户 ID(若已登录) ownerId int(10) UNSIGNED 内容所有者 ID mail varchar(200) 评论者邮箱地址 url varchar(200) 评论者网站地址 ip varchar(64) 评论者 IP 地址 agent varchar(255) 评论者 User-Agent(浏览器信息) text text 评论内容 type varchar(16) 评论类型(comment、trackback、pingback 等) status varchar(16) 评论状态(approved、waiting、spam 等) parent int(10) UNSIGNED 父级评论 ID(用于评论回复) 5. typecho_users(用户表)存储博客用户信息。字段名 类型 描述 uid int(10) UNSIGNED 用户唯一标识,主键,自增 name varchar(32) 用户名(唯一) password varchar(64) 用户密码(加密存储,如 SHA1 或 BCrypt) mail varchar(200) 用户邮箱(唯一) url varchar(200) 用户个人网站 screenName varchar(32) 用户显示名称 created int(10) UNSIGNED 用户创建时间戳 activated int(10) UNSIGNED 用户最后活跃时间戳 logged int(10) UNSIGNED 用户最后登录时间戳 group varchar(16) 用户组(administrator、editor、contributor、subscriber 等) authCode varchar(64) 认证码(用于找回密码等操作) 6. typecho_options(配置表)存储博客系统配置和插件配置。字段名 类型 描述 name char(32) 配置项名称(唯一) value text 配置项值(可能是序列化的数组或 JSON) user int(10) 用户 ID(0 表示全局配置) 7. typecho_fields(自定义字段表)为内容添加额外的自定义字段。字段名 类型 描述 cid int(10) UNSIGNED 关联的内容 ID name varchar(50) 字段名称 type varchar(8) 字段类型(str、int、float、text 等) strValue varchar(255) 字符串类型的值 intValue bigint(20) 整数类型的值 floatValue double 浮点类型的值 textValue text 文本类型的值 数据表关系总结内容表(contents) 是核心表,存储文章、页面等主体内容。分类 / 标签表(metas) 通过 关联表(relationships) 与内容表建立多对多关系。评论表(comments) 与内容表通过 cid 关联,支持层级回复。用户表(users) 为内容表和评论表提供作者 / 评论者信息。配置表(options) 存储系统和插件的配置信息。自定义字段表(fields) 为内容扩展提供灵活支持。 Typecho buyu 单栏主题 https://blog.zhuxu.asia/archives/118/ 2025-04-08T20:34:00+08:00 Typecho buyu 单栏主题一款简洁的的 Typecho 单栏主题用户交流群:点击加入主题介绍页:点击查看主题短代码使用手册:点击查看主题宗旨:简洁、简洁、还是简洁!特点和功能响应式设计(PC / 移动完美兼容)内置文章浏览量统计、点赞、分享功能。支持任务列表、视频、音频、折叠面板等短代码。完善的评论系统,包括评论表情、敏感词过滤、字数限制、博主标识等。良好的 SEO 优化,以及语义化标签使用。提供相册独立页面、归档页面、友链页面等自定义页面模板。支持主题设置备份与还原、自定义 CSS/JS、ICP 备案号展示等扩展功能。全站变量名、类名统一规范,方便二开与扩展如何使用主题安装下载主题:访问 【github代码仓库 】下载最新的代码文件。[attachment url="https://github.com/zhu885744/buyu/releases/download/v1.3.2/buyu-1.3.2.zip" title="buyu-1.3.2「最新版本」" size="1.68MB" type="zip" target="_blank"]上传并解压:将下载好的压缩包上传至 Typecho 程序的 /usr/themes/ 目录,然后解压。启用主题:进入 Typecho 后台,依次选择「控制台」>「外观」>「buyu」,点击「启用」按钮。友情链接插件安装下载插件:访问 【Links 插件】 下载最新版本的插件压缩包。上传并解压:将下载好的压缩包上传至 Typecho 程序的 /usr/plugins/ 目录,然后解压。启用插件:进入 Typecho 后台,依次选择「控制台」>「插件」>「Links」,点击「启用」按钮。IP 属地本地数据库配置下载数据库:访问 【qqwry.dat】 下载 IP 属地本地数据库压缩包。解压并放置:将下载好的压缩包解压为 qqwry.dat 文件,并将其放置在 Typecho 程序的根目录。常见问题[collapse title="请确保您符合使用条件:" open="false" type="default"]typecho版本:建议1.2.1php版本:8.0-8.4[/collapse][collapse title="打开主题后页面空白:" open="false" type="default"]检查插件冲突:进入 Typecho 后台的「插件」页面,依次禁用插件,然后刷新页面,排查是哪个插件导致的冲突。检查静态资源引用:检查主题文件中是否存在重复引用的静态资源,如 CSS、JS 文件等,删除重复引用的部分。[/collapse][collapse title="如何使用相册独立页面?1.3.1版本相册独立页面去除了!!仅限1.3.0版本使用!!" open="false" type="default"]在后台创建相册页面并添加图片数据登录 Typecho 后台,进入「管理」→「新建页面」在右侧「页面属性」中选择模板为「相册」滚动到页面底部「自定义字段」,点击「自定义相册」:字段值:填写 JSON 格式的图片数据,示例:[ { "url": "图片链接", "alt": "风景照片1", "title": "卡片标题" }, { "url": "图片链接", "alt": "风景照片2", "title": "卡片标题" }, { "url": "图片链接", "alt": "风景照片3", "title": "卡片标题" } ][/collapse][collapse title="如何使用短代码?" open="false" type="default"]可以查看https://zhuxu.asia/archives/147/[/collapse]更新日志[1.3.2]更新内容如下新增:全局入场动画优化:文章版权信息样式优化:弹窗加载层次优化:代码复制消息提示改用公共提示展示修复:部分环境下判断评论用户昵称是否至少包含一个中文功能失效的问题修复:评论表情容器会被页脚footer遮挡的问题[1.3.1] 更新内容如下适配:PHP 8.0-8.4 环境新增:文章置顶新增:wap和pc端背景图设置新增:浅色深色模式切换新增:多种短代码(tab框、附件下载卡片、徽章、自定义按钮、进度条)新增:文章底部版权开关新增:文章打赏新增:文章列表的基础信息增加了图标新增:评论昵称需包含中文功能(不满足时则进入待审核)调整:归档页样式调整:WAP 端导航栏样式,并增加了浅色深色切换按钮重构:主题设置表单优化:文章摘要截取优化:评论通知增加了待审核及当检测到是游客回复游客的场景时,单独向站长邮箱发送通知优化:文章点赞、分享、视频音频短代码实现逻辑优化:公共css类增加了更多的常用类、调整了全局结构优化:很多很多的细节修复:使用php8.2版本报错问题修复:自定义Gravatar头像源地址设置失效的问题修复:移动端侧边栏分类展开后点击空白处内容自动消失展开的下拉列表也不关闭的问题修复:部分环境下点赞、分享功能失效的问题[1.3.0] 更新内容如下新增:全新的桌面端和移动端导航栏样式新增:相册独立页面新增:自定义 Gravatar 头像源地址新增:评论表情增加了 14 个颜文字和 44 个Emoji新增:tab标签栏短代码优化:全局ui样式改为卡片样式优化:博主评论的标签显示并增加了用户等级标签显示优化:附件页面和作者页面直接重定向到404页面优化:首页和分类页底部分页按钮样式优化:适配高分辨率显示器显示优化:使用语义化时间展示文章发布时间优化:完善了核心代码的注释,方便修改修复:评论回复邮件无法发送的问题修复:文章点赞逻辑报错的问题修复:某些不是什么大问题的bug移除:IE 浏览器兼容相关代码[1.2.9] 更新内容如下新增:文章版权信息提示新增:评论内容输入框下方字数/可输入多少字/超出多少个字提示新增:评论超过主题设置的字数限制则对发送评论按钮禁用新增:评论敏感词的操作可设为无动作、标记为待审核、评论失败三种模式优化:点赞按钮与分享按钮样式优化:自定义静态资源链接获取代码优化:点击发送评论按钮若评论失败则返回详细错误信息优化:视频播放器支持了更多参数修复:图片灯箱不显示图片的问题修复:图片懒加载失效的问题修复:代码块中填写短代码会被解析的问题[1.2.8] 更新内容如下新增:主题设置评论敏感词过滤、限制用户评论最大字数、评论需包含中文功能新增:文章点赞、分享新增:任务列表短代码新增:全局消息提示新增:评论通知修复:主题设置初始化逻辑错误[1.2.7] 更新内容如下优化:文章密码保护输入框样式优化:进一步完善 CSS 未完成的变量替换[1.2.6] 更新内容如下新增:全新的主题设置样式新增:评论博主标识新增:主题设置自定义网站 Favicon 图标修复:评论回复按钮溢出,评论回复表情按钮样式错乱优化:替换了 CSS 硬编码的颜色、间距、字体大小等值,改为使用变量[1.2.5] 更新内容如下新增:视频播放器更改为 DPlayer 插件实现优化:全局圆角数值优化:略调全局ui样式优化:回到顶部按钮样式优化:评论样式优化:关闭全局评论时,不显示文章/页面的评论统计项修复:友链卡片文字溢出修复:自定义css代码失效的问题修复:自定义js代码失效的问题[1.2.4] 更新内容如下新增:视频/音频/折叠面板短代码新增:主题设置备份新增:站点图片logo设置优化:全局代码结构优化:首页文章列表样式优化:全新的归档页面样式优化:全新的 404 页面样式优化:文章折叠面板的动画体验优化:主题页脚样式/分页按钮样式修复:404页面相关css代码造成的布局错乱问题修复:修改了设置粗体文字后显示是紫色的问题[1.2.3] 更新内容如下新增:评论表情新增:未知bug[1.2.2] 更新内容如下微调:评论样式微调:首页文章列表样式新增:图片懒加载功能新增:图片灯箱功能新增:文章代码块增加了复制功能新增:首页文章列表、独立页面增加了文章阅读量优化:部分代码结构调整:文章、归档、友链页面样式[1.2.1] 更新内容如下优化:取消了侧边栏新增:底部icp备案号设置新增:底部公安联网备案号设置新增:主题设置全局评论开关闭按钮新增:友链页面新增:归档页面新增:文章编辑器字符统计新增:自定义css、自定义js、自定义底部栏内容、底部自定义内容优化:MD内容渲染样式鸣谢typechofancyboxMessage.jsAPlayerDPlayer开源许可MIT LicensePowered by typecho | Theme is buyu程序由不语(朱旭)开发并开源,欢迎参与贡献 1Panel系列教程:使用 Docker 搭建 AList https://blog.zhuxu.asia/archives/117/ 2025-03-30T11:09:00+08:00 前言本文详细介绍如何使用 Docker 搭建 AList AList是一个支持多种存储的文件列表程序。本篇文章我将逐步讲解从拉取镜像、文件配置、通过 1Panel、Docker 部署到域名反向代理的全流程,帮助你快速搭建应用。环境准备我的安装环境 操作系统:Debian12; 服务器架构:x86_64;服务器CPU:4核; 服务器内存:16GB;如果你还没有服务器欢迎通过以下优惠链接购买:腾讯云:https://curl.qcloud.com/Gio4BsMs筋斗云:https://portal.jindouyun.cn/recommend/zlpoAtGIbuN3织音云:https://www.zhiyinidc.com/aff/LLQNCNYO1.安装1Panel我这里使用的是Debian系统来演示操作。打开ssh终端,我这里使用的是xshell输入下方指令后回车执行curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh 执行成功后,控制台会打印面板访问信息,可通过浏览器访问 1Panel面板:http://目标服务器 IP 地址:目标端口/安全入口如果使用的是云服务器,请至安全组开放目标端口。ssh 登录 1Panel 服务器后,执行 1pctl user-info 命令可获取安全入口(entrance)2.基础环境准备2.1-安装Docker【1Panel面板已默认安装】确保系统已安装Docker和docker-compose工具。可通过以下命令检查:docker --version docker-compose --version若未安装,请参考官方文档安装Docker和docker-compose。可点击下方链接参考安装喔https://www.runoob.com/docker.../debian-docker-install.html注:可在1Panel-应用商店搜索alist点击安装即可一键安装哦。2.2-创建数据目录mkdir -p /etc/alist2.3-拉取Alist镜像docker pull xhofe/alist:latest2.4-Docker Compose部署在/etc/alist目录创建docker-compose.yml文件然后输入下方代码version: '3.4' services: alist: image: xhofe/alist:latest container_name: alist volumes: - '/etc/alist:/opt/alist/data' ports: - '5244:5244' environment: - PUID=0 - PGID=0 - UMASK=022 - TZ=Asia/Shanghai restart: unless-stopped 2.5-启动服务在/etc/alist目录打开终端输入下方指令即可启动服务docker-compose up -d 3.查看管理员信息随机生成一个密码docker exec -it alist ./alist admin random手动设置一个密码,NEW_PASSWORD是指你需要设置的密码docker exec -it alist ./alist admin set NEW_PASSWORD4.访问信息在防火墙放行5244端口然后访问如下地址,服务器ip自行填写http://服务器ip:5244输入3.查看管理员信息生成的账号密码即可登录4.反向代理如果你想使用域名访问,那么请接着继续跟着操作在1Panel面板左侧边栏点击网站-网站-创建选择反向代理主域名处填写你要绑定的域名代理地址填写127.0.0.1:5244到这里就大功告成了!访问你绑定的域名即可访问网站了!5.如何更新Alist?在终端输入下方代码docker-compose pull docker-compose up -d公众号新开了个公众号,叫《不语技栈》主要用于分享学习笔记,资源等。有兴趣的可以扫描下方二维码关注公众号喔。 1Panel系列教程:如何搭建typecho? https://blog.zhuxu.asia/archives/113/ 2025-03-28T17:05:00+08:00 环境准备我的安装环境 操作系统:Debian12; 服务器架构:x86_64;服务器CPU:4核; 服务器内存:16GB;浏览器要求:请使用 Chrome、FireFox、IE10+、Edge 等现代浏览器如果你还没有服务器欢迎通过以下优惠链接购买:腾讯云:https://curl.qcloud.com/Gio4BsMs筋斗云:https://portal.jindouyun.cn/recommend/zlpoAtGIbuN31.安装1Panel我这里使用的是Debian系统来演示操作。打开ssh终端,我这里使用的是xshell输入下方指令后回车执行bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)" 执行成功后,控制台会打印面板访问信息,可通过浏览器访问 1Panel面板:http://目标服务器 IP 地址:目标端口/安全入口如果使用的是云服务器,请至安全组开放目标端口。ssh 登录 1Panel 服务器后,执行 1pctl user-info 命令可获取安全入口(entrance)2.安装OpenResty、MySQL、phpMyAdmin、php如上四个可在1Panel应用商店自行安装,这里不做过多表述。3.安装typecho这里使用的是源码安装,也可在1Panel应用商店搜索typecho一键安装。1.在1Panel侧边导航栏选择-网站-网站点击创建按钮2.点击创建按钮后在打开侧边栏选择运行环境,类型选择PHP后在主域名选项填入你要绑定的域名填入完成后点击确认。3.新建数据库点击侧边导航栏的数据库选项,点击创建数据库,在弹出的页面中填入名称,用户名,密码。4.打开网站目录上传typecho源码后解压typecho源码下载:点我下载下载后上传至你的网站目录,然后解压。5.访问你于第一步创建的域名,点击「我准备好了,开始下一步」6.填写数据库信息,填写完整后点击「确认,开始安装」7.填写对应信息,填写完成后点击继续安装8.安装结束在后台管理页面你就可以进行文章发布啦!下载typecho主题/插件可以去下面两个网站喔!https://typechx.com/https://typecho.work/公众号新开了个公众号,叫《不语技栈》主要用于分享学习笔记,资源等。有兴趣的可以扫描下方二维码关注公众号喔。 Redmi9 刷 LineageOS 系统 https://blog.zhuxu.asia/archives/48/ 2024-11-09T12:07:00+08:00 环境准备电脑一台 redmi9 手机一台解 bl 锁进入 小米解锁工具官网 下载解锁工具依次按流程进行操作即可。下载 ROM 包https://wiki.lineageos.org/devices/lancelot/recovery 镜像https://wiki.lineageos.org/devices/lancelot/上方链接下载完成后进行下一步进入 fastboot 模式 adb reboot bootloader 等待设备重启, 直到查看到设备为止 fastboot devices 刷 recovery 镜像 fastboot flash recovery recovery.img 重启设备 fastboot reboot格式化数据recovery 更新成功之后,按 音量键 上 + 电源键 进入 recovery 模式选择 Factory Reset 进行恢复出厂设置注 音量键 上 + 电源键 进入 recovery 模式注 音量键 下 + 电源键 进入 fastboot 模式刷系统包在 recovery 模式下,选择 Apply Update -> Apply From ADB执行如下命令,刷系统包:adb sideload lineage-20.0-20231118-nightly-lancelot-signed.zip请注意,刷机操作存在风险,可能导致设备无法正常使用。如果您不熟悉这个过程或者没有经验,建议寻找专业人员帮助或者在官方论坛上寻求指导。