diff --git a/README.md b/README.md index 3da49e3199..405884ecdd 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,6 @@ -这是一个可 fork 的博客模板仓库,帮助你快速搭建自己的博客,可以参考我博客的[这篇文章]( https://lemonchann.github.io/create_blog_with_github_pages/ )详细指导搭建步骤。 ### 文章版权 `_posts` 文件夹内所有文章版权归我所有,转载需联系我获得授权。 -### 致谢 - -感谢Jekyll主题[LOFFER](https://fromendworld.github.io/LOFFER/)模提供了原始主题模板,我在其上进行的二次开发。 - -如果搭建过程中有什么问题,也可以扫码添加我的个人技术公众号讨论交流。 - -**这是一个专注编程知识和资源分享的公众号,包含各类编程学习路线,让你在编程路上少走弯路** - -![公众号二维码](https://github.com/lemonchann/images/raw/master/gzh/%E6%96%87%E6%9C%AB%E6%8E%A8%E5%B9%BF%E6%96%87%E6%A1%88.png) diff --git a/_config.yml b/_config.yml index c7d9dcfe24..48dd31926b 100644 --- a/_config.yml +++ b/_config.yml @@ -3,18 +3,18 @@ # # Name of your site (displayed in the header) -name: "lemon's blog" +name: "Canisranna's blog" # Short bio or description (displayed in the header) -description: "个人技术公众号:程序员柠檬 分享编程资源 | 学习路线" +description: "仅用于学习交流" # # Flags below are optional # # URL of your avatar or profile pic (you could use your GitHub profile pic) -avatar: https://github.com/lemonchann/images/raw/master/gzh/%E6%96%87%E6%9C%AB%E6%8E%A8%E5%B9%BF%E6%96%87%E6%A1%88.png +avatar: https://avatars.githubusercontent.com/u/71917318?s=400&u=aff7c3ceddfe4df344891af922537ab5352bf053&v=4 # 你的favicon(出现在浏览器tab上)图片URL,建议使用较小(64px × 64px)的图片 -favicon: https://github.com/lemonchann/lemonchann.github.io/raw/master/images/favicon.ico +favicon: https://github.com/canisranna0/canisranna0.github.io/blob/master/images/adc1d67fa3b9daddde5e2546c276f6a.ico # Tabs in header. There are 'Blog', 'About', 'Archive', 'Tags' # and URL Link(e.g. 'Theme' tab below) tabs. If you don't need one, just delete @@ -39,11 +39,11 @@ footer-links: #weibo: frommidworld #请输入你的微博个性域名 https://www.weibo.com/ behance: # https://www.behance.net/ dribbble: - zhihu: ning-meng-cheng-31-94 - email: llong87@163.com + zhihu: + email: canisranna@gmail.com facebook: flickr: - github: lemonchann + github: canisranna0 googleplus: # anything in your profile username that comes after plus.google.com/ instagram: linkedin: @@ -51,11 +51,11 @@ footer-links: rss: # just type anything here for a working RSS icon stackoverflow: # your stackoverflow profile, e.g. "users/50476/bart-kiers" tumblr: # https://.tumblr.com - #twitter: frommidworld + twitter: @canisranna0 youtube: # Text under the icons in footer -footer-text: Copyright (c) 2019 lemon +footer-text: Copyright (c) 2023 canisranna # Enter your Disqus shortname (not your username) to enable commenting on posts # You can find your shortname on the Settings page of your Disqus account @@ -63,17 +63,17 @@ disqus: # fromendworld # Gitalk gitalk: - clientID: bd65d5c0df878155b7fa - clientSecret: d0220762c05c2d6b6f6152a0f0e4b6b090de9729 - repo: lemonchann.github.io - owner: lemonchann + clientID: a5800e2b65f0ada6e430 + clientSecret: 153c6c3f249991903b7e77e9ce0fb368eb2aa45a + repo: canisranna0.github.io + owner: canisranna0 # Enter your Google Analytics web tracking code (e.g. UA-2110908-2) to activate tracking #google_analytics: # Your website URL (e.g. http://barryclark.github.io or http://www.barryclark.co) # Used for Sitemap.xml and your RSS feed -url: https://lemonchann.github.io +url: https://canisranna0.github.io # If you're hosting your site at a Project repository on GitHub pages # (http://yourusername.github.io/repository-name) diff --git a/_posts/2019-11-22-create_blog_with_github_pages.md b/_posts/2019-11-22-create_blog_with_github_pages.md deleted file mode 100644 index 8eaa692f50..0000000000 --- a/_posts/2019-11-22-create_blog_with_github_pages.md +++ /dev/null @@ -1,416 +0,0 @@ ---- -layout: post -title: "可能是最全面的github pages搭建个人博客教程" -date: 2019-11-22 -tags: [geek] -comments: true -author: lemonchann ---- - -作为一个程序员怎么能没有自己的个人博客呢,这里详细记录和分享我的博客搭建经验,让你轻轻松松拥有自己的博客网站。傻瓜式一站式教你用 github pages 来搭建博客,详细记录全过程,保证你能学会。 - -如果你是非程序员或者不关系技术细节,只需花 3 分钟阅读前面 5 个章节内容,就能轻松拥有自己的博客。 - - - -## 开始 - -话不多说,直接上图先来看下我的博客整体效果。[**点击在线预览我的博客**]( https://lemonchann.github.io/blog/),个人比较喜欢这种简约的博客风格,不要花里胡哨但该有的功也都有。 - -![blogPage](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/blogPage.png) - - - -下面列举这个博客具有的功能特性,其中我比较看重归档和搜索能力。 - -### 支持特性 - -- 简约风格博客 - -- Powered By Jekyll - -- 博客文章搜索 - -- 自定义社交链接 - -- 网站访客统计 - -- Google Analytics 网站分析 - -- Gitalk评论功能 - -- 自定义关于about页面 - -- 支持中文布局 - -- 支持归档与标签 - -- 支持改变主题颜色 - -- 支持添加文章目录 - - - -## 建立博客Git仓库 - -首先你要在[github](https://github.com/)上有自己博客仓库,用来生成和存放博客文章。你可以直接fork我的博客仓库。这样你马上有了自己的博客仓库。 - -[点这里我的博客地址](https://github.com/lemonchann/lemonchann.github.io)进去点击 fork,之后在你自己的仓库下会看到刚复制的仓库,以后的操作都在你自己的仓库进行,当然想感谢我写这个教程就帮我点个 start 吧! - -![fork博客](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/fork%E5%8D%9A%E5%AE%A2.png) - -**版权声明: fork之后_posts文件夹内容是我的博客文章,版权归我所有。你可以选择删除里面的文章替换上自己的博客文章,如需转载需要与我联系授权 **。 - - - -## 修改博客仓库名称 - -进到你自己的博客仓库,**修改博客仓库名称成你自己的用户名**。因为 github page 解析的时候找的是这个 username.github.io的仓库名,**这一步非常重要**。 - -![修改仓库名称](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E4%BF%AE%E6%94%B9%E4%BB%93%E5%BA%93%E5%90%8D%E7%A7%B0.png) - -此时,不出意外的话,打开域名 https://username.github.io 就能看到你刚搭建的博客了。*注意替换 username成你自己的github 用户名*。 - -## 博客配置 - -上面点开域名看到的还是我的博客配置,显示的博客名字也是我的。还需要更改配置才是你的博客。 - -博客的配置文件是仓库根目录下的_config.yml文件,直接点开它编辑。 - -![config文件](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/config%E6%96%87%E4%BB%B6.png) - -你还需要更改以下配置: - -### 博客名称和描述 - -![更改名称](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E6%9B%B4%E6%94%B9%E5%90%8D%E7%A7%B0.png) - -分别是博客名称和描述,自己任意写点啥。 - -### 博客社交链接 - -![更改社交链接](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E6%9B%B4%E6%94%B9%E7%A4%BE%E4%BA%A4%E9%93%BE%E6%8E%A5.png) - -这里配置社交链接按钮,没配的不显示,我现在配了知乎、邮箱、github账号三个。其他你想加自己加上就可以。 - -### 配置gitalk - -这个是评论功能的配置。评论功能基于gitalk,在配置文件中找到gitalk配置项目: - -修改规则如下: - -```yml -gitalk: - clientID: <你的clientID> - clientSecret: <你的clientSecret> - repo: <你的repository名称> - owner: <你的GitHub用户名> -``` - -原理是利用github的issues评论文章。其中clientID和clientSecret需要[点击这里创建](https://github.com/settings/applications/new) - -![创建gitalk鉴权app](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E5%88%9B%E5%BB%BAgitalk%E9%89%B4%E6%9D%83app.png) - -点绿色按钮创建,成功之后会得到以上两个id,修改配置即可。 - -### Google站长统计 - -首先你要去注册一个[Google Analytics]( https://analytics.google.com/analytics/ )账号,它可以统计你博客网站的访问人数,访问来源等非常丰富的网站数据。如果你不在乎可以不用跳过这节。不过要把配置中我的`google_analytics: UA-XXXXXXX-X`删除,**否则统计到我的去了**。 - -``` -# Enter your Google Analytics web tracking code (e.g. UA-2110908-2) to activate tracking -google_analytics: UA-XXXXXXX-X -``` - -下面是我的网站实时分析页面展示: - -![google分析页面](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/google%E5%88%86%E6%9E%90%E9%A1%B5%E9%9D%A2.png) - -由于不可描述的原因,国内注册账号可能会遇到问题,所有不配置也没关系。 - -### 博客网址配置 - -``` -# Your website URL (e.g. http://barryclark.github.io or http://www.barryclark.co) -# Used for Sitemap.xml and your RSS feed -url: https://yourname.github.io -``` - -这里配置你自己的博客地址。 - -### 配置提交 - -对_config.ymld的修改需要提交才能生效,点下图中绿色按钮提交。 - -![配置提交](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BA%A4.png) - -**done! 现在输入上面提到的博客地址,回车,你拥有了自己的博客。** - - - -## 如何写博客 - -好了,博客有了。如何更新文章呢? - -文章用markdown语法,写好统一放在_post文件夹下上传,git page会自动从你的git仓库拉去解析成网页,立刻就能在你的博客网页浏览。 - -关于文章的**命名格式**:博客文章必须按照统一的命名格式 `yyyy-mm-dd-blogName.md` 比如我这篇博客的名字是`2019-11-22-create_blog_with_github_pages.md` - -**看到这里,如果只是简单的想写博客,后面的不看也可以了,你已经拥有了自己的博客!后面章节是记录一些DIY的过程。** - -另外,发现最近用我这个模板的同学越来越多,如果搭建过程中有什么问题,可以在我的公众号「后端技术学堂」讨论交流。 - -![公众号二维码](https://upload-images.jianshu.io/upload_images/7842464-15f939ec039690f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) - - - -## 本地博客预览 - -到目前为止,我们提交的文章都是必须上传到github仓库才能预览。如果你想写完在本地浏览器看一下效果在上传也是可以的,因为不是所有人都有这样的需求。 - -### 安装 Ruby 和 DevKit - -在官网下载,[点这里]( https://rubyinstaller.org/downloads/ )下载适合系统版本的 [Ruby+Devkit](https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.5-1/rubyinstaller-devkit-2.6.5-1-x64.exe) 包。安装,弹出的窗口选3 - -![安装ruby](https://github.com/lemonchann/lemonchann.github.io/raw/master/images/2019-11-22-create_blog_with_github_pages/%E5%AE%89%E8%A3%85ruby.PNG) - -`gem -v` `ruby -v` 查看得到版本号就说明成功了。 - -如果是在墙内,需要切换安装源到https://gems.ruby-china.com/。墙外请忽略。 - -`gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/` 切换安装源 - -`gem sources -l` 查看版本 - -### bundler安装 - -`gem install bundler` 安装bundler - -`bundle -v 查看版本 - bundle config mirror.https://rubygems.org https://gems.ruby-china.com` 切换安装源 - -### 安装jekyll - -` gem install jekyll` - -![jekyll安装](https://github.com/lemonchann/lemonchann.github.io/raw/master/images/2019-11-22-create_blog_with_github_pages/jekyll%E5%AE%89%E8%A3%85.PNG) - -### 预览博客 - -` jekyll server` 输入之后打开浏览器,不出意外输入localhost:4000即可看到博客内容。 - -![jekyll_server成功](https://github.com/lemonchann/lemonchann.github.io/raw/master/images/2019-11-22-create_blog_with_github_pages/jekyll_server%E6%88%90%E5%8A%9F.PNG) - -如果你没这么顺利,那以下的错误解决供参考 - -#### 常见错误 - -- 缺少某个包 - -![jekyll_error](https://github.com/lemonchann/lemonchann.github.io/raw/master/images/2019-11-22-create_blog_with_github_pages/jekyll_error.PNG) - -如图,缺少jekyll-paginate,安装即可`gem install jekyll-paginate`若还提示缺少就装啥。 - -![jekyll_server_erro错误2](https://github.com/lemonchann/lemonchann.github.io/raw/master/images/2019-11-22-create_blog_with_github_pages/jekyll_server_erro%E9%94%99%E8%AF%AF2.PNG) - -- 权限拒绝 - - socket.rb:201:in `bind` :Permission denied - bind(2) for 127.0.0.1:4000 (Error:EACCES) - -![jekyll_error_EASSE](https://github.com/lemonchann/lemonchann.github.io/raw/master/images/2019-11-22-create_blog_with_github_pages/jekyll_error_EASSE.png) - -出现这个错误一般是4000端口被占用了,解决方法: - -1. netstat -ano|findstr "4000" 找到占用4000端口的进程ID - -2. 查看最后一列数字就是PID=312964 - ![查看netstat](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E6%9F%A5%E7%9C%8Bnetstat.png) - -3. 打开windows资源管理器,结束该进程. - - ![任务管理器](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/%E4%BB%BB%E5%8A%A1%E7%AE%A1%E7%90%86%E5%99%A8.png) - -4. `$ tasklist|findstr 312964`也能查看进程名,查到结束掉他同步骤3. - - - -## 搜索功能集成 - -博客模板本来是没有搜索功能的,搜索功能依赖[Simple-Jekyll-Search](https://github.com/christian-fei/Simple-Jekyll-Search)提供支持。 - -### 配置search.json - -[复制这份代码到你博客的根目录](https://github.com/christian-fei/Simple-Jekyll-Search/blob/master/example/search.json) - -这个配置文件代表可以按博客的标题、标签、时间、分类搜索。 - -### 下载simple-jekyll-searchj文件 - -[下载这整个文件夹](https://github.com/christian-fei/Simple-Jekyll-Search/tree/master/example/js),里面包含simple-jekyll-search.min.js和simple-jekyll-search.js两个文件,连同js文件夹放在你的根目录下面。 - -### 配置搜索框标签 - -在你想展示搜索框的页面我的是index.html,这个页面和每个人的博客模板有关,可能需要一点前端知识,添加如下的html标签。 - -```html -
- -
    -
    - - - - - -``` - -其中,以下两个是二选一的,一个是用云端的js一个是用本地的js如果本地有的话。 - -`` - -配置完成,打开博客,你得到这样一个搜索框。 - -![search_block](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/search_block.png) - -## 搜索框样式 - -搜索框的样式是可以改变的,这里有修改HTML中CSS样式的方法,我搞后端的,前端现学现卖。 - -[html插入标签样式方法](https://blog.csdn.net/u014103733/article/details/72961366) - - - -## 社交链接 - -模板提供的链接没有知乎链接,或者你想增加自定义的链接,都可以通过以下方法添加。以增加zhihu链接为例 - -链接的图片是svg格式的(我也刚知道),大概了解一下什么是svg和viewBox - -[viewBox](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute/viewBox) - -> viewBox属性的值是一个包含4个参数的列表 `min-x`, `min-y`, `width` and `height`, 以空格或者逗号分隔开, 在用户空间中指定一个矩形区域映射到给定的元素,查看属性 - -[深入简出 SVG 教程](https://zhuanlan.zhihu.com/p/36138381) - -### 配置_config.yml - -```yml -footer-links: - weibo: yourname #请输入你的微博个性域名 https://www.weibo.com/ - zhihu: yourname #输入你知乎主页链接上的名字 https://https://www.zhihu.com/people/ -``` - -### 修改svg-icons.html - -因为footer.html中调用了svg-icons.html来生成社交链接。 - -可见是先调用了svg-icon.html显示社交链接,所以修改_include/svg-icons.html增加zhihu链接 - -```html -{% if site.footer-links.zhihu %} -
  • - {% endif %} -``` - -上面配置内容应该都能理解,`viewBox` 指定图片大小。 - -主要是`path d=` 内容的获取,这里其实是指定svg图片的内容,我们可以从 [这里](https://raw.githubusercontent.com/FortAwesome/Font-Awesome/master/svgs/brands/)获取到大部分svg素材,比如知乎的svg[在这](https://github.com/FortAwesome/Font-Awesome/blob/master/svgs/brands/zhihu.svg),点`raw` 按钮查看源文件,复制`path d=`后面的内容到上面的配置即可。 - -![zhihuSvg](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/zhihuSvg.png) - - - -## 添加网站计数 - -网站统计[由不蒜子](http://busuanzi.ibruce.info/)提供支持,就是可以统计网站当前访问次数和人数。配置也非常简单,[官方指引](http://ibruce.info/2015/04/04/busuanzi/#more)在这里。 - -### 修改页面html - -想让统计显示在哪个页面,需要修改那个页面的html,增加如下内容: - -```html - - - -
    - - View: - - - - User: - -
    -``` - -### style标签说明 - -可以通过style标签改变字体颜色与大小。具体参考:[html颜色表](http://xh.5156edu.com/page/z1015m9220j18754.html)和[html style属性](https://www.geeksforgeeks.org/html-style-attribute/) - -eg. `style="font-family:arial;color:Gainsboro;font-size:10px; text-align:right;width:200px;background-color:gray;` - -## 修改博客主题颜色 - -博客使用开源的颜色表[Open Color](https://yeun.github.io/open-color/),博客主题的可选颜色有: - -`red, pink, grape, violet, indigo, blue, cyan, teal, green, lime, yellow` - -修改文件`_sass/_variables.scss`,将文件中当前颜色,比如当前是 `grape` 全部替换成你想要的颜色即可。 - -## 显示文章目录 - -在文章开头信息中心增加 `toc: true` 描述即可打开文章目录显示。效果如下: - -![文章带目录](https://i.loli.net/2020/07/12/TFlRj3kBdpocY9K.png) - - - -## 如何传图片 - -写markdown最头疼的就是图片的插入了,推荐用[PicGo](https://picgo.github.io/PicGo-Doc/zh/guide/)一键上传得到链接,直接可以插入markdown。 - -PicGo支持图片上传github、SM.MS图床、阿里云、腾讯云等主流图床或云端。直接拖图片,上传云端、得到链接一步搞定,方便快捷。 - -![PicGo](https://raw.githubusercontent.com/lemonchann/lemonchann.github.io/master/images/2019-11-22-create_blog_with_github_pages/PicGo.png) - -## 其他功能 - -[小功能](https://blog.csdn.net/ds19991999/article/details/81293467) - -[好用的github插件](https://blog.csdn.net/u012702547/article/details/100533763) - - - -## 网站结构 - -根目录的index.html生成blog首页 - -_include/footer.html生成侧边栏 - -_include/svg-icons.html生成社交头像的链接 - - - -## 致谢 - -感谢 [Jekyll](https://www.jekyll.com.cn/) 提供的技术支持才能有这个博客。 - -感谢 [LOFFER ](https://fromendworld.github.io/LOFFER/document/)提供的原始模板,我在其上进行的二次开发。 - -**我的个人技术公众号「后端技术学堂」分享、记录、成长,扫码添加,一起学习,共同成长。** - -![公众号二维码](https://upload-images.jianshu.io/upload_images/7842464-15f939ec039690f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) \ No newline at end of file diff --git a/_posts/2023-41-2-create_blog_with_github_pages.md b/_posts/2023-41-2-create_blog_with_github_pages.md new file mode 100644 index 0000000000..a72b3768a1 --- /dev/null +++ b/_posts/2023-41-2-create_blog_with_github_pages.md @@ -0,0 +1,335 @@ +--- +layout: post +title: "河南理工寄WiFi食用指北" +date: 2023-4-2 +tags: [geek] +comments: true +author: canisranna0 +--- + +河里新引进的寄WiFi并没有达到承诺的效果,作为河里学子决定奉上一份正确的寄WiFi食用指北(这是一份傻瓜式指南,提问前请仔细阅读) +有问题?[进入河里]( https://www.bing.com/) + + + +## 起因(可忽略) + +河里煤砖引入Giwifi已经有一段时间,最早使用时700兆带宽并能够上下行等宽。但自开始收费起,即使付费购买套餐网络质量也极差。 +首先,来了解一下giwifi,在我们宿舍内的是一个AP,硬件上采用较低成本的WiFi6和千兆网解决方案。经检查AP没有出现物理损坏,且也有其他同学反映同样问题。难么基本上确立是配置上的问题, +简单查看一下信道 +![1](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/6a7bcd129f8eb275470b98139888efc.png) +![2](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/d3108d7cacb49e4221e941d470c557d.jpg) +![3](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/%E6%B5%8B%E9%80%9F%E7%BD%91%20-%20%E4%B8%93%E4%B8%9A%E6%B5%8B%E7%BD%91%E9%80%9F%2C%20%E7%BD%91%E9%80%9F%E6%B5%8B%E8%AF%95%2C%20%E5%AE%BD%E5%B8%A6%E6%8F%90%E9%80%9F%2C%20%E6%B8%B8%E6%88%8F%E6%B5%8B%E9%80%9F%2C%20%E7%9B%B4%E6%92%AD%E6%B5%8B%E9%80%9F%2C%205G%E6%B5%8B%E9%80%9F%2C%20%E7%89%A9%E8%81%94%E7%BD%91%E7%9B%91%E6%B5%8B%20-%20SpeedTest.cn%20%E5%92%8C%E5%8F%A6%E5%A4%96%203%20%E4%B8%AA%E9%A1%B5%E9%9D%A2%20-%20%E5%B7%A5%E4%BD%9C%20-%20Microsoft%E2%80%8B%20Edge%202023_3_11%2013_00_33.png) +![4](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/%E6%B5%8B%E9%80%9F%E7%BD%91%20-%20%E4%B8%93%E4%B8%9A%E6%B5%8B%E7%BD%91%E9%80%9F%2C%20%E7%BD%91%E9%80%9F%E6%B5%8B%E8%AF%95%2C%20%E5%AE%BD%E5%B8%A6%E6%8F%90%E9%80%9F%2C%20%E6%B8%B8%E6%88%8F%E6%B5%8B%E9%80%9F%2C%20%E7%9B%B4%E6%92%AD%E6%B5%8B%E9%80%9F%2C%205G%E6%B5%8B%E9%80%9F%2C%20%E7%89%A9%E8%81%94%E7%BD%91%E7%9B%91%E6%B5%8B%20-%20SpeedTest.cn%20%E5%92%8C%E5%8F%A6%E5%A4%96%203%20%E4%B8%AA%E9%A1%B5%E9%9D%A2%20-%20%E5%B7%A5%E4%BD%9C%20-%20Microsoft%E2%80%8B%20Edge%202023_3_11%2013_01_35.png) +emmmmmmm,这河里吗?真很河里。因为宿舍布局问题,每4个ap的距离都相当的近,加上信道拥挤,干涉现象严重,网络质量无法得到保证。更多的热点开启(毕竟WiFi没法用)造成更加严重的干涉现象,负反馈了属于是。(PS:以上都为虚构bushi) + +## 资料查阅(点击查看原文 逃) + +[SUNBK201的博客](https://blog.sunbk201.site/posts/crack-campus-network) +[校园网路由器多设备伪装指北](https://learningman.top/archives/304) +[openwrt编译与反检测部署](https://sunbk201public.notion.site/sunbk201public/OpenWrt-f59ae1a76741486092c27bc24dbadc59) + +## 功能实现 + +移除以下角色 +[请选择你的身份]() +变更角色为 +[请不要将其用于非法用途]() +解决了只能连接两个不同设备的痛点 + +## 可实现功能(我懒得搞,但是并不难) + +openwrt上有的插件功能(可直接安装的及只能编译的)[插件推荐(知乎上随便找的)](https://zhuanlan.zhihu.com/p/363374033) +自动登录脚本(在路由断电后或者Giwifi重置后需要) + +## 准备工作 + +PC,网口(其实只要能使用设备通过网口连接路由就行,串口当然也可以,前提是你掌握相关技巧) +路由 + +linux环境(跑编译,云编译能用但不完全能用) + +## 路由破解(以小米AC2100为例) + +[SSH(参考教程,此处不详细说明)](https://blog.csdn.net/quqi99/article/details/119987526) +[telnet(同样有参考)](https://blog.csdn.net/liao1049164366/article/details/109233113) +[一键刷入](https://blog.csdn.net/qq_29183811/article/details/114577257) +[其他可以在恩山找到相关教程](https://www.right.com.cn/forum/forum.php) + +## 原理讲解 + +多设备检测的实现可能: +## 基于 IPv4 数据包包头内的 TTL 字段的检测(确定存在) + +存活时间(Time To Live,TTL),指一个数据包在经过一个路由器时,可传递的最长距离(跃点数)。 每当数据包经过一个路由器时,其存活次数就会被减一。当其存活次数为0时,路由器便会取消该数据包转发,IP网络的话,会向原数据包的发出者发送一个ICMP TTL数据包以告知跃点数超限。其设计目的是防止数据包因不正确的路由表等原因造成的无限循环而无法送达及耗尽网络资源。 + +这是一个比较有效且合理的检测技术,IPv4数据包下存在 TTL(Time To Live)这一字段,数据包每经过一个路由器(即经过一个网段),该TTL值就会减一。 + +不同的操作系统的默认 TTL 值是不同的,Windows 是 128, macOS/iOS、Linux 是 64。 + +因此如果我们自己接入路由器到校园网,我们的通过路由器的数据包会变为 127 或 63,一旦校园网抓包检测到这种数据包TTL不是128或64,就会判定为用户接入了路由器。 + +## 基于 HTTP 数据包请求头内的 User-Agent 字段的检测(校园网的频繁误判使我无法确定) + +HTTP 数据包请求头存在一个叫做 User-Agent 的字段,该字段通常能够标识出操作系统类型,例如: +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Safari/537.36 Edg/89.0.774.45 +Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405 +校园网会通过多次抓包检测此字段,若发现同时出现例如Windows NT 10.0 iPad 的字段,则判定存在多设备上网。 + +## DPI (Deep Packet Inspection) 深度包检测技术(没有) + +这个检测方案比较先进,检测系统会抓包分析应用层的流量,根据不同应用程序的数据包的特征值来判断出是否存在多设备上网。 +具体可参考:[基于 DPI 技术的网络共享设备检测方法及系统](https://patents.google.com/patent/CN106411644A/zh) +此种方式已确认在锐捷相关设备上应用,GIwifi举报该功能但没有启用。 + +## 基于 IPv4 数据包包头内的 Identification 字段的检测(没有apple设备,有待商榷) + +IP 报文首部存在一个叫做 Identification 的字段,此字段用来唯一标识一个 IP 报文,在实际的应用中通常把它当做一个计数器,一台主机依次发送的IP数据包内的 Identification 字段会对应的依次递增,同一时间段内,而不同设备的 Identification 字段的递增区间一般是不同的,因此校园网可以根据一段时间内递增区间的不同判断出是否存在多设备共享上网。 具体可以参考此专利:[基于 IPID 和概率统计模型的 NAT 主机个数检测方法](https://patents.google.com/patent/CN104836700A/zh) +Windows 的 TCP/IP 协议栈对 Identification 字段的实现是递增,而 iOS 的实现是保持全 0 + +## 基于网络协议栈时钟偏移的检测技术(maybe) + +不同主机物理时钟偏移不同,网络协议栈时钟与物理时钟存在对应关系,不同主机发送报文频率与时钟存在统计对应关系,通过特定的频谱分析算法,发现不同的网络时钟偏移来确定不同主机。 + +## Flash Cookie 检测技术(时代的眼泪) + +该技术已经用不到了,Flash 都凉了… 不过还是提一下。 Flash Cookie 会记录用户在访问 Flash 网页的时候保留的信息,只要当用户打开浏览器去上网,那么就能被 AC 记录到 Flash Cookie 的特征值,由于 Flash Cookie 不容易被清除,而且具有针对每个用户具有唯一,并且支持跨浏览器,所以被用于做防共享检测。 +具体参考:[深信服防共享测试指导书](https://bbs.sangfor.com.cn/plugin.php?id=sangfor_databases:index&mod=viewdatabase&tid=6273) + +## 解决方案 + +修改 TTL 为固定值(64 or 128) +修改UA: +## 1.使用 UA2F 修改 UA + +最理想的方案,UA2F 可以修改所有端口的数据包,而且性能不错,不过依旧需要编译。 具体参见:[Zxilly/UA2F](https://github.com/Zxilly/UA2F) +[UA检测](http://ua.233996.xyz/) + +## 2.使用代理客户端中的重写功能对 http-header 进行覆写 + +## 3.使用 XMURP-UA 修改 UA(优点:这是个内核模块,因此性能不错;缺点:因为是内核模块,因此稳定性欠佳,此外这个模块只能修改 80 端口的数据包,因此有些非 80 端口的数据包是修改不了的。) + +git clone https://github.com/CHN-beta/xmurp-ua.git package/xmurp-ua +make menuconfig +# 在 Kernel module -> Other modules 里勾选 kmod-xmurp-ua(按 y)。保存退出。 +# 正常编译镜像,镜像中就会包含插件了。 +如果要单独编译此模块,需运行: + +make package/xmurp-ua/compile V=sc +cd /tmp +pkg install 改成对应的xmurp-ua文件名.ipk + +# 安装压缩内存插件 +opkg update +opkg install zram-swap + +# 检测这两个插件是否均已安装成功 +opkg list-installed | grep zram-swap +opkg list-installed | grep xmurp-ua + +# 重启路由器 +reboot + +## 4.通过 Privoxy 修改 User-Agent(不建议使用,但最简单) + +# 安装 Privoxy 软件包 +opkg update +opkg install privoxy luci-app-privoxy luci-i18n-privoxy-zh-cn +进入 Privoxy 管理页面设置,进入文件与目录,Action Files 中只保留 match-all.action,Filter Files 与 Trust Files 留空;进入访问控制,Listen Address 填写 0.0.0.0:8118,Permit Address 填写 192.168.0.0/16,勾选 Enable Action File Editor;进入杂项,勾选 Accept Intercepted Requests;进入日志,取消全部选项;点击保存并应用;进入 OpenWRT 防火墙设置,在自定义设置中填入以下内容: + +# 将局域网内的 HTTP 请求转发到 Privoxy 代理服务器上 +iptables -t nat -N http_ua_drop +iptables -t nat -I PREROUTING -p tcp --dport 80 -j http_ua_drop +iptables -t nat -A http_ua_drop -m mark --mark 1/1 -j RETURN +iptables -t nat -A http_ua_drop -d 0.0.0.0/8 -j RETURN +iptables -t nat -A http_ua_drop -d 127.0.0.0/8 -j RETURN +iptables -t nat -A http_ua_drop -d 192.168.0.0/16 -j RETURN +iptables -t nat -A http_ua_drop -p tcp -j REDIRECT --to-port 8118 +打开 http://config.privoxy.org/edit-actions-list?f=0;点击 Edit,在 Action 那一列中,hide-user-agent 改选为 Enable - 在右侧 User Agent string to send 框中填写 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36,其它全部选择为 No Change;点击 Submit。 + +## openwrt编译 +PS:(如果你有别人编译好的那么可以直接flash,没有就老实跑编译吧) +# 需要Linux环境,推荐wsl2 +[云编译1](https://github.com/CoolLoong/AutoBuild-Actions)[云编译2](https://github.com/MoorCorPa/Actions-immortalWrt-UA2F)[云编译3](https://github.com/hibuddies/openwrt)[云编译4](https://github.com/P3TERX/Actions-OpenWrt)[个人编译项目](https://github.com/SunBK201/OpenWrt-R4S-glibc) +# 如果是使用 Clash 加密 + TTL 伪装方案,无需手动编译, +[下载所需固件](https://firmware-selector.openwrt.org)在刷入固件后,可以手动安装 Clash,并配置防火墙。 +# 如果你使用的是虚拟机进行编译,建议使用 Clash For Windows 并开启 TUN Mode 即可接管虚拟机流量进行代理。 +# 是魔法,我加了魔法!(保证魔力充足或者手动换源) + +## 编译过程 + +# 系统软件更新 +sudo apt-get update +# 下载依赖项 +# 安装依赖关系与编译工具链 +sudo apt install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential \ +bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ +git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ +libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ +mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip libpython3-dev qemu-utils \ +rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev +# 创建文件目录 +mkdir openwrt #新建一个目录 +sudo chmod 777 openwrt #修改权限(重要) +cd openwrt #进入目录 +# git源码 +git clone https://github.com/openwrt/openwrt.git && cd openwrt +git clone https://github.com/coolsnowwolf/lede && cd lede +(推荐openwrt) +# openwrt-22.03 已将 iptables 移除,为避免兼容性问题,暂时切换到 openwrt-21.02 +git checkout openwrt-21.02 +# 更新 feeds 软件源 +./scripts/feeds update -a +# 安装 feeds 软件包 +./scripts/feeds install -a +(feed更新过程尽量多跑几次,直到不出现报错,这里网络问题导致更新不完全是值得注意的点) +# 测试编译环境 +![make defconfig](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/094541bn6m3bi9v3w6sqij.png) +# 开始编译 +make menuconfig +# 配置(×表示编译进固件里面 M表示只编译但不写到固件里面去 (空) 留空表示不做任何操作) +# 选择编译的平台(取决于路由器芯片组) +# 选择编译机型(lede机型不全,故推荐openwrt) +# 添加一个luci WEB界面(如果你ssh很不错可以忽略) +LuCI + --> 1. Collections + --> luci + --> 2. Modules + --> Translations + --> Chinese Simplified (zh_Hans) + --> luci-compat +## 加入RKP-IPID + +git clone https://github.com/CHN-beta/rkp-ipid.git package/rkp-ipid +make menuconfig +# 选上三个模块: kmod-ipt-u32, iptables-mod-u32, iptables-mod-filter, 搜索就能找到 +# 然后勾选上 ipid +# 位于 kernel-modules->Other modules 下 +# 然后保存退出 + +## 加入防 TTL 检测依赖 + +make menuconfig +# 选上两个模块: iptables-mod-ipopt, kmod-ipt-ipopt,搜索就能找到 +# 然后保存退出 + +## 加入其它依赖 + +Network -> ipset +Firewall -> iptables-mod-conntrack-extra + +## 加入UA2F + +2021.11.02 作者对恶性 bug 进行了修复,已经经过测试,修复成功,以后无需手动进行防火墙配置,全部会自动进行配置 +git clone https://github.com/Zxilly/UA2F.git package/UA2F +make menuconfig +# 选上三个模块: libmnl, libnetfilter-queue, iptables-mod-nfqueue, 搜索就能找到 +# network->firewall->iptables-mod-filter +# network->firewall->iptables-mod-ipopt +# network->firewall->iptables-mod-u32 +# 勾选上ua2f,在配置面板中搜索就可找到 +# network->Routing and Redirection +# 然后保存退出 + +# 这一步可能时间比较长,要耐心(最长三个小时,这一步可以跳过,但需要在对应内核 config 文件中手动加入 CONFIG_NETFILTER_NETLINK_GLUE_CT=y,除非你知道这是什么,否则不建议你手动添加) +make kernel_menuconfig +# 然后将 +# Networking support -> +# Networking options -> +# Network packet filtering framework (Netfilter) -> +# Core Netfilter Configuration -> +# Netfilter NFNETLINK interface +# Netfilter LOG over NFNETLINK interface +# Netfilter connection tracking support +# Connection tracking netlink interface +# NFQUEUE and NFLOG integration with Connection Tracking 打开 + +## 编译 + +# 预下载编译所需的软件包 +make download -j$(nproc) V=s +# 编译(非wsl,速度一定程度上取决于网络) +make -j$(nproc) || make -j1 || make -j1 V=s +# 编译(wsl2) +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j$(($(nproc) + 1)) || PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j1 V=s + +## 编译后的固件文件在:`openwrt/bin/targets` + +## 配置 + +# 防检测配置 +- 进入 `OpenWRT` 系统设置, 勾选 `Enable NTP client`(启用 NTP 客户端)和 `Provide NTP server`(作为 NTP 服务器提供服务) +- NTP server candidates(候选 NTP 服务器)四个框框分别填写 `ntp1.aliyun.com`、`time1.cloud.tencent.com`、`stdtime.gov.hk` 、`pool.ntp.org` +## 防火墙配置 + +⚠️ 请按照以下规则顺序,若顺序与以下不符,可能配置不起效。 +# 通过 rkp-ipid 设置 IPID +# 若没有加入 rkp-ipid 模块,此部分不需要加入 +iptables -t mangle -N IPID_MOD +iptables -t mangle -A FORWARD -j IPID_MOD +iptables -t mangle -A OUTPUT -j IPID_MOD +iptables -t mangle -A IPID_MOD -d 0.0.0.0/8 -j RETURN +iptables -t mangle -A IPID_MOD -d 127.0.0.0/8 -j RETURN +# 由于本校局域网是 A 类网,所以我将这一条注释掉了,具体要不要注释结合你所在的校园网内网类型 +# iptables -t mangle -A IPID_MOD -d 10.0.0.0/8 -j RETURN +iptables -t mangle -A IPID_MOD -d 172.16.0.0/12 -j RETURN +iptables -t mangle -A IPID_MOD -d 192.168.0.0/16 -j RETURN +iptables -t mangle -A IPID_MOD -d 255.0.0.0/8 -j RETURN +iptables -t mangle -A IPID_MOD -j MARK --set-xmark 0x10/0x10 + +# ua2f 改 UA~~ +# ua2f 最新版本已实现自动配置,无需手动配置防火墙(以下配置可不添加,即此处到防时钟偏移检测) +iptables -t mangle -N ua2f +#由于本校局域网是 A 类网,所以我将这一条注释掉了,具体要不要注释结合你所在的校园网内网类型 +# iptables -t mangle -A ua2f -d 10.0.0.0/8 -j RETURN +iptables -t mangle -A ua2f -d 127.0.0.0/8 -j RETURN +iptables -t mangle -A ua2f -d 192.168.0.0/16 -j RETURN # 不处理流向保留地址的包 +iptables -t mangle -A ua2f -p tcp --dport 443 -j RETURN # 不处理 https +iptables -t mangle -A ua2f -p tcp --dport 22 -j RETURN # 不处理 SSH +iptables -t mangle -A ua2f -p tcp --dport 80 -j CONNMARK --set-mark 44 +iptables -t mangle -A ua2f -m connmark --mark 43 -j RETURN # 不处理标记为非 http 的流 (实验性) +iptables -t mangle -A ua2f -m set --set nohttp dst,dst -j RETURN +iptables -t mangle -A ua2f -j NFQUEUE --queue-num 10010 + +iptables -t mangle -A FORWARD -p tcp -m conntrack --ctdir ORIGINAL -j ua2f +iptables -t mangle -A FORWARD -p tcp -m conntrack --ctdir REPLY~~ + +# 防时钟偏移检测 +iptables -t nat -N ntp_force_local +iptables -t nat -I PREROUTING -p udp --dport 123 -j ntp_force_local +iptables -t nat -A ntp_force_local -d 0.0.0.0/8 -j RETURN +iptables -t nat -A ntp_force_local -d 127.0.0.0/8 -j RETURN +iptables -t nat -A ntp_force_local -d 192.168.0.0/16 -j RETURN +iptables -t nat -A ntp_force_local -s 192.168.0.0/16 -j DNAT --to-destination 192.168.1.1 + +# 通过 iptables 修改 TTL 值 +iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64 + +# iptables 拒绝 AC 进行 Flash 检测~~(Flash 时代已成为历史) +iptables -I FORWARD -p tcp --sport 80 --tcp-flags ACK ACK -m string --algo bm --string " src=\"http://1.1.1." -j DROP + +## UA2F配置(通过终端或者ssh) + +~~UA2F 最新版默认自启~~,不再需要手动添加防火墙规则,有特殊需要可自行选择相应的配置策略: + +# 开机自启 +uci set ua2f.enabled.enabled=1 +uci commit ua2f +# 自动配置防火墙(默认开启)(建议开启) +uci set ua2f.firewall.handle_fw=1 +uci commit ua2f +# 处理内网流量(默认开启),防止在访问内网服务时被检测到。(建议开启) +uci set ua2f.firewall.handle_intranet=1 +uci commit ua2f +# 处理 443 端口流量(默认关闭),443 端口出现 http 流量的概率较低 +uci set ua2f.firewall.handle_tls=1 +uci commit ua2f +⚠️ 第三、四条规则必须在第二条规则开启的条件下才会生效 +## 效果展示 +![更改前](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/%E6%B5%8B%E9%80%9F%E7%BD%91%20-%20%E4%B8%93%E4%B8%9A%E6%B5%8B%E7%BD%91%E9%80%9F%2C%20%E7%BD%91%E9%80%9F%E6%B5%8B%E8%AF%95%2C%20%E5%AE%BD%E5%B8%A6%E6%8F%90%E9%80%9F%2C%20%E6%B8%B8%E6%88%8F%E6%B5%8B%E9%80%9F%2C%20%E7%9B%B4%E6%92%AD%E6%B5%8B%E9%80%9F%2C%205G%E6%B5%8B%E9%80%9F%2C%20%E7%89%A9%E8%81%94%E7%BD%91%E7%9B%91%E6%B5%8B%20-%20SpeedTest.cn%20%E5%92%8C%E5%8F%A6%E5%A4%96%203%20%E4%B8%AA%E9%A1%B5%E9%9D%A2%20-%20%E5%B7%A5%E4%BD%9C%20-%20Microsoft%E2%80%8B%20Edge%202023_3_11%2012_56_33.png) +![更改后](https://github.com/canisranna0/canisranna0.github.io/blob/master/images/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9%20(5)/%E6%B5%8B%E9%80%9F%E7%BD%91%20-%20%E4%B8%93%E4%B8%9A%E6%B5%8B%E7%BD%91%E9%80%9F%2C%20%E7%BD%91%E9%80%9F%E6%B5%8B%E8%AF%95%2C%20%E5%AE%BD%E5%B8%A6%E6%8F%90%E9%80%9F%2C%20%E6%B8%B8%E6%88%8F%E6%B5%8B%E9%80%9F%2C%20%E7%9B%B4%E6%92%AD%E6%B5%8B%E9%80%9F%2C%205G%E6%B5%8B%E9%80%9F%2C%20%E7%89%A9%E8%81%94%E7%BD%91%E7%9B%91%E6%B5%8B%20-%20SpeedTest.cn%20%E5%92%8C%E5%8F%A6%E5%A4%96%203%20%E4%B8%AA%E9%A1%B5%E9%9D%A2%20-%20%E5%B7%A5%E4%BD%9C%20-%20Microsoft%E2%80%8B%20Edge%202023_3_11%2012_58_53.png) + +## 如果可以,给个star,后续会吧编译好的包放在该仓库 +戳下面进项目主页 +[F***k_GiWIFI](https://github.com/canisranna0/F--K_HPU_GiWiFi) +# End! \ No newline at end of file diff --git a/about.md b/about.md index 6d0371922c..e1d8adcf86 100644 --- a/about.md +++ b/about.md @@ -2,16 +2,7 @@ layout: page title: About permalink: /about/ ---- - -## 关于我 -你好,我是程序员柠檬。 - -国内一线互联网大厂计算机软件工程师、[知乎](https://www.zhihu.com/people/ning-meng-cheng-31-94)编程领域万赞答主。 - -[个人技术公众号](https://mp.weixin.qq.com/mp/homepage?__biz=MzkwOTE2OTY1Nw==&hid=1&sn=6395e40d884ce4dd3900a68a0f5a6b87&scene=18#wechat_redirect)分享编程学习路线、编程学习资源,记录技术成长,欢迎扫码添加: -![公众号二维码](https://github.com/lemonchann/images/raw/master/gzh/%E6%96%87%E6%9C%AB%E6%8E%A8%E5%B9%BF%E6%96%87%E6%A1%88.png) diff --git a/images/adc1d67fa3b9daddde5e2546c276f6a.ico b/images/adc1d67fa3b9daddde5e2546c276f6a.ico new file mode 100644 index 0000000000..f456ec3578 Binary files /dev/null and b/images/adc1d67fa3b9daddde5e2546c276f6a.ico differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/094541bn6m3bi9v3w6sqij.png" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/094541bn6m3bi9v3w6sqij.png" new file mode 100644 index 0000000000..ae4494d259 Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/094541bn6m3bi9v3w6sqij.png" differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/6a7bcd129f8eb275470b98139888efc.png" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/6a7bcd129f8eb275470b98139888efc.png" new file mode 100644 index 0000000000..0386bd582c Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/6a7bcd129f8eb275470b98139888efc.png" differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/d3108d7cacb49e4221e941d470c557d.jpg" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/d3108d7cacb49e4221e941d470c557d.jpg" new file mode 100644 index 0000000000..a2b927b91e Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/d3108d7cacb49e4221e941d470c557d.jpg" differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 12_56_33.png" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 12_56_33.png" new file mode 100644 index 0000000000..1a72499c76 Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 12_56_33.png" differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 12_58_53.png" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 12_58_53.png" new file mode 100644 index 0000000000..4c9fb2f088 Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 12_58_53.png" differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 13_00_33.png" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 13_00_33.png" new file mode 100644 index 0000000000..6b359d75ad Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 13_00_33.png" differ diff --git "a/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 13_01_35.png" "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 13_01_35.png" new file mode 100644 index 0000000000..5dbbd44965 Binary files /dev/null and "b/images/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271 (5)/\346\265\213\351\200\237\347\275\221 - \344\270\223\344\270\232\346\265\213\347\275\221\351\200\237, \347\275\221\351\200\237\346\265\213\350\257\225, \345\256\275\345\270\246\346\217\220\351\200\237, \346\270\270\346\210\217\346\265\213\351\200\237, \347\233\264\346\222\255\346\265\213\351\200\237, 5G\346\265\213\351\200\237, \347\211\251\350\201\224\347\275\221\347\233\221\346\265\213 - SpeedTest.cn \345\222\214\345\217\246\345\244\226 3 \344\270\252\351\241\265\351\235\242 - \345\267\245\344\275\234 - Microsoft\342\200\213 Edge 2023_3_11 13_01_35.png" differ