diff --git a/README.md b/README.md index 7a75ba1c9a..1b36a728ca 100644 --- a/README.md +++ b/README.md @@ -68,8 +68,6 @@ 6. 设置成功后,页面会提示访问链接:`https://xxx.github.io/`。此时,你的知识库就已经搭建完成了。 - 如果未出现访问链接提示或不能打开 GitHub Pages,则删除 `docs/_posts` 路径下的博客文章。这是因为 GitHub Pages 有时会对旧文章里的代码报错。 - ## 🔣 配置 LearnData ### 文档结构 diff --git a/docs/.vuepress/navbar.ts b/docs/.vuepress/navbar.ts index 6066ec5d1d..472dbbc3ac 100644 --- a/docs/.vuepress/navbar.ts +++ b/docs/.vuepress/navbar.ts @@ -11,9 +11,9 @@ export default navbar([ children: [ "apps/Applist", { - text: "常用扩展", + text: "开源工具", icon: "chrome", - link: "apps/Chrome", + link: "apps/toolbox", }, { text: "服务/专题", @@ -21,14 +21,9 @@ export default navbar([ prefix: "", children: [ { - text: "直播手册", - icon: "quote", - link: "apps/livestreaming/1_obs_basic", - }, - { - text: "NAS 应用", + text: "专题示例", icon: "process", - link: "services/dockers-on-nas/", + link: "apps/topic/", }, ], }, @@ -38,7 +33,7 @@ export default navbar([ text: "生活", icon: "emmet", prefix: "/family/", - children: ["Diet", "Shoppinglist", "Coupon", "baby/"], + children: ["Diet", "Coupon"], }, { text: "工具", @@ -50,7 +45,7 @@ export default navbar([ link: "https://www.aishort.top/", }, { text: "IMGPrompt", icon: "pic", link: "https://prompt.newzone.top/" }, - { text: "文字处理", icon: "others", link: "https://tools.newzone.top/json-translate" }, + { text: "多语言处理", icon: "others", link: "https://tools.newzone.top/json-translate" }, { text: "工具收藏", icon: "categoryselected", diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index f84b4a68cc..87e5bba653 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -17,98 +17,57 @@ export default sidebar({ children: [ "Applist.md", "toolbox.md", - "Chrome.md", - { - text: "工具笔记", - icon: "plugin", - prefix: "tutorials/", - link: "", - collapsible: true, - children: "structure", - }, - { - text: "直播手册", - icon: "load", - prefix: "livestreaming/", - link: "", - collapsible: true, - children: "structure", - }, { text: "其他", icon: "emmet", collapsible: true, - children: ["design.md", "ChatGPT.md"], + children: ["design.md"], }, ], }, { - text: "🐋 Docker 服务", + text: "🌐 页面开发", icon: "", - prefix: "/services/", + prefix: "/web/", link: "", collapsible: true, children: "structure", }, { - text: "🪟 系统问题", + text: "🏗️ 网站部署", icon: "", - prefix: "/windows/", - link: "", + prefix: "/deploy/", collapsible: true, - children: "structure", + children: [ + "Static.md", + "CloudServices.md", + "VPS.md", + { + text: "部署工具", + icon: "emmet", + collapsible: true, + children: ["GitHub.md", "Cloudflare.md", "MySQL.md", "DNS.md"], + }, + ], }, { text: "🔡 代码编程", icon: "", - prefix: "", - link: "", + prefix: "/code/", collapsible: true, children: [ + "README.md", { - text: "页面开发", - icon: "", - prefix: "/web/", - collapsible: true, - children: "structure", - }, - { - text: "网站部署", - icon: "", - prefix: "/deploy/", + text: "Basic", + icon: "emmet", collapsible: true, - children: [ - "Static.md", - "CloudServices.md", - "VPS.md", - { - text: "部署工具", - icon: "emmet", - collapsible: true, - children: ["GitHub.md", "Cloudflare.md", "MySQL.md", "DNS.md"], - }, - ], + children: ["Markdown.md", "Electron.md", "AutoHotkey.md", "Regex.md"], }, { - text: "代码学习", - icon: "", - prefix: "/code/", + text: "FrondEnd", + icon: "app", collapsible: true, - children: [ - "README.md", - { - text: "Basic", - icon: "emmet", - collapsible: true, - children: ["Markdown.md", "Electron.md", "AutoHotkey.md", "Regex.md"], - }, - { - text: "FrondEnd", - icon: "app", - collapsible: true, - children: ["Vue.md", "HTML.md", "JavaScript.md", "Python.md"], - }, - ], + children: ["Vue.md", "HTML.md", "Javascript.md", "Python.md"], }, ], }, @@ -129,7 +88,6 @@ export default sidebar({ children: "structure", }, ], - // 独立功能区 - "/services/dockers-on-nas/": "structure", - "/family/baby/": "structure", + // 专题区 + "/apps/topic/": "structure", }); diff --git a/docs/.vuepress/templateBuild.html b/docs/.vuepress/templateBuild.html index 03fcbe6aa4..0b2cbd4a1c 100644 --- a/docs/.vuepress/templateBuild.html +++ b/docs/.vuepress/templateBuild.html @@ -31,21 +31,7 @@ - - - +
@@ -53,6 +39,5 @@ - diff --git a/docs/.vuepress/theme.ts b/docs/.vuepress/theme.ts index 746b56bab2..eda65f0904 100644 --- a/docs/.vuepress/theme.ts +++ b/docs/.vuepress/theme.ts @@ -9,7 +9,7 @@ export default hopeTheme({ iconAssets: "iconfont", author: { - name: "清顺", + name: "LearnData", url: "https://newzone.top", }, @@ -21,7 +21,7 @@ export default hopeTheme({ // 页面元数据:贡献者,最后修改时间,编辑链接 contributors: false, lastUpdated: true, - editLink: true, + editLink: false, // 深色模式配置 darkmode: "switch", @@ -89,6 +89,7 @@ export default hopeTheme({ // 评论配置(仅做样例,记得更换) comment: { + /* // 在本地运行 `pnpm docs:dev` 并使用非 localhost 域名时,容易出现 403 错误,移除本部分即可解决 provider: "Waline", serverURL: "https://waline.newzone.top", @@ -120,15 +121,14 @@ export default hopeTheme({ level5: "化神", }, }, + */ - // Giscus 备用配置 - /* + // Giscus provider: "Giscus", repo: "rockbenben/LearnData", repoId: "R_kgDOHdfk6Q", category: "Comments", categoryId: "DIC_kwDOHdfk6c4CQYNn", - */ }, // 组件库 @@ -160,16 +160,16 @@ export default hopeTheme({ }, // Algolia 全文搜索:需要自己设置爬虫并生成下方配置,如不会自己设置,启用下方本地搜索 - docsearch: { + /* docsearch: { indexName: "newzone", appId: "M4EXXEZIEG", apiKey: "fd8891a9c4cc21e0ef4f11bf44f7a11e", - }, + }, */ // 本地搜索,和上方二选一 - /* searchPro: { + searchPro: { // 索引全部内容 indexContent: true, - }, */ + }, feed: { rss: true, diff --git a/docs/README.md b/docs/README.md index c62895ba92..30b45d3ce8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -56,8 +56,6 @@ icon: note 6. 设置成功后,页面会提示访问链接:`https://xxx.github.io/`。此时,你的知识库就已经搭建完成了。 - 如果未出现访问链接提示或不能打开 GitHub Pages,则删除 `docs/_posts` 路径下的博客文章。这是因为 GitHub Pages 有时会对旧文章里的代码报错。 - ## 🔣 配置 LearnData ### 文档结构 diff --git a/docs/_posts/2017-04-18-wechat_multi_open.md b/docs/_posts/2017-04-18-wechat_multi_open.md deleted file mode 100644 index a4fa22ca30..0000000000 --- a/docs/_posts/2017-04-18-wechat_multi_open.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: 跳过第三方软件,一步到位实现微信双开的秘密 -date: 2017-04-18 -category: - - 工具 -tag: - - 微信 -order: -1 ---- - -由于工作需要,我经常在电脑上同时登录多个微信账号。然而,微信规定一个客户端仅能登录一个账号,这导致我不得不同时使用 PC 端和网页版,显著降低了操作效率。随着「微信 For Windows」和「微信 UWP」版本的停用,我们曾依赖的多客户端策略变得几乎无效了。如果你之前安装了旧版的微信 UWP,好好珍惜吧。 - -要在不使用第三方软件的情况下实现微信的多开,现在只能依赖微信自身的一个小漏洞。通过快速双击微信图标,可以实现多开。 - -## 双击多开 - -要开启多个微信,只需**按住回车键,同时左键点击微信图标**,点击次数决定了开启的微信数量。这个小技巧是@刘舒怡分享的: - -> 只要在 2 秒内快速连续双击打开软件,就能弹出很多登录界面,你想登多少个就登多少个 - -如果你不喜欢手动点击,可以使用以下脚本,保存为 `start_wechat.bat` 文件。这个脚本将启动三个微信,你可以根据需要复制更多的 start 行。 - -```shell -@echo off -start "WeChat" "C:\Program Files\Tencent\WeChat\WeChat.exe" -start "WeChat" "C:\Program Files\Tencent\WeChat\WeChat.exe" -start "WeChat" "C:\Program Files\Tencent\WeChat\WeChat.exe" -``` - -有开发者为微信和 QQ 制作了多开补丁 [RevokeMsgPatcher](https://github.com/huiyadanli/RevokeMsgPatcher),可以从国内链接下载:[RevokeMsgPatcher.v1.6.zip](https://wwva.lanzouq.com/irUIX187hz3c)。使用这个补丁后,每次点击应用图标都会打开新的登录窗口,这取决于个人需求。我更喜欢直接通过 `.bat` 脚本来实现多开。 - -## 开机多开微信 - -如果你希望电脑开机时自动多开微信,可以把上述脚本的快捷方式放入 Windows 的开机「启动」文件夹。通常这个文件夹路径为 `%AppData%\Microsoft\Windows\Start Menu\Programs\Startup`。或者,打开「运行」对话框,输入 `shell:startup`,回车即可。 - -![开机多开微信](https://img.newzone.top/2022-05-06-04-23-49.png?imageMogr2/format/webp) - -## 多客户端(已失效) - -> 从 2024 年开始,「微信 For Windows」和「微信 UWP」均已下架,新版的微信 Store 版也无法与微信 PC 版同时安装。因此,这一方案仅供记录,已不再有效。 - -打开「运行」对话框,输入并启动「应用商店」或「Microsoft Store」,搜索并安装「微信 For Windows」「微信 UWP」。 - -![安装微信客户端](https://img.newzone.top/2022-05-06-04-21-30.png?imageMogr2/format/webp) - -安装后,你可以同时启动微信 PC 版和这两个版本,互不干扰。如果你希望开机时自动启动这两个微信,可以把它们的快捷方式放在开机启动文件夹内。 - -![多客户端微信](https://img.newzone.top/2022-05-06-04-21-40.png?imageMogr2/format/webp) - -## 总结 - -应用多开似乎越来越不受欢迎,比如新版 QQ 已经移除了多账户登录选项。但实际上,用户是怎样想的呢?这又有谁在乎呢? diff --git a/docs/_posts/2017-04-22-rss_feed43_feedex.md b/docs/_posts/2017-04-22-rss_feed43_feedex.md deleted file mode 100644 index bd34d7ca60..0000000000 --- a/docs/_posts/2017-04-22-rss_feed43_feedex.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: RSS 入门篇:Feed43&FeedEx-为静态网页定制 RSS 源 -date: 2017-04-22 12:54:00 -category: - - 自动化 -tag: - - rss - - Feed43 - - FeedEx -order: -2 ---- - -迷上 IFTTT 等自动化应用后,我需要为各种不同的网页定制 RSS 源。其中,最容易入门的工具是 FEED43。本文是一篇介绍如何使用 FEED43 定制 RSS 源的入门指南。 - -**► 开始烧制属于自己的 feed** - -## 1. 进入网页 - -[FEED43](http://www.feed43.com/) 不需要注册,点击「Create your own feed」即可使用。 - -![](https://pic1.zhimg.com/v2-b5da0b08f632376fad3925a779e373b4_r.jpg) - -## 2. 选定 RSS 网页 - -在「Step1. Specify source page address (URL)」中输入目标网址,将 Page Source 中的内容复制到 txt 文档中,以便之后编写抓取规则。 - -![](https://pic1.zhimg.com/v2-1b687a5b1c325ba6d04fbdcc13b95668_r.jpg) - -如果 Page Source 显示为乱码,可将 Encoding 设置为 **UTF-8** 。 - -## 3. 定制 RSS 抓取规则 - -「Global Search Pattern」是选择要搜索的范围,建议不填此项,这样会搜索整个页面。「Item (repeatable) Search Pattern」这部分最重要,是我们要抓取的内容。 - -![](https://pic1.zhimg.com/v2-b1fa90c59739bddc0c27134cd36ba6bc_r.jpg) - -仔细查看上方获取到的 Page Source,找到需要抓取的元素,输入到「Item (repeatable) Search Pattern」。 - -测试网址:`http://news.163.com/special/0001386F/rank_whole.html`。 - -需要抓取的源代码: - -```html - - - 2更时尚更运动 车展实拍解析红旗 H5 - - 11211615 - -``` - -![](https://pic2.zhimg.com/v2-cf6dbf2c09189f7517ec63abdc80c50d_r.jpg) - -**抓取规则**: - -```html - - {*} - {*}{%} - {*} - {*} - {*} - -``` - -点击 Extract,进行抓取。 - -![](https://pic4.zhimg.com/v2-e9486741a6229ab258a95147f584571b_r.jpg) - -## 4. 整理 rss 输入格式 - -「Define output format」是 Feed 的属性,通常前三项会被自动抓取一,后三项将之前获取的 item 里面的元素填入即可,`{%1}` 对应的是链接,所以填入「Item Link」,`{%2}` 对应标题则填入到「Item Title」。 - -![](https://pic1.zhimg.com/v2-b4614f5c46090f2eb762aac87d604350_r.jpg) - -然后点击「preview」,完成制作,同时可以查看预览效果。 - -![](https://pic2.zhimg.com/v2-498bf1f1c0b14da172498b58f59e39b9_r.jpg) - -如果注册了 FEED43 的账号,可以修改 RSS 地址,但链接不能使用中文,否则会导致 RSS 出错。 - -## 5. 获取 RSS 地址 - -点击 Feed URL 可得 RSS 地址,样例是 。 - -![](https://pic1.zhimg.com/v2-f3b00e876d8df136f7d354b4fc22f900_r.jpg) - -在阅读器中的效果如下: - -![](https://pic4.zhimg.com/v2-6d8f503ff3da16eb985ca1d3ae2de98f_r.jpg) - -## 6. 全文抓取 - -FEED43 导出的条目需要点击链接才能查看内容。要在 RSS 中展示全文,需要通过 FeedEx 再转换一次。注意:FEED43 免费用户过多,需要在浏览器中打开一次才能获得真实链接(一般为 `http://node2.feed43.com`)。FeedEx 需要使用真实链接,一般 3 分钟内转换完毕。 - -FeedEx: - -![](https://pic4.zhimg.com/v2-8e3701adffa1d6fb4ea10dda2704988b_r.jpg) - -Feeds43 的免费版每 6 小时抓取一次,最多显示最新的 20 条内容。如果网页源更新较频繁,建议使用 RSSHub 和 Huginn。 - -## RSS 合集 - -汇总的 RSS 永久订阅 feeds 均通过 RSSHub 和 Huginn 制作。如果有兴趣自制 RSS,可参考以下教程。 - -- [RSS 入门篇:FEED43&FeedEx-为静态网页定制 RSS 源](https://newzone.top/posts/2017-04-22-rss_feed43_feedex.html) - -- [RSS 进阶篇:Huginn - 真·为任意网页定制 RSS 源(PhantomJs 抓取)](https://newzone.top/posts/2018-10-07-huginn_scraping_any_website.html) - -- [RSS 速成篇:RSSHub 捡现成的轮子](https://newzone.top/posts/2019-04-01-rsshub_noob.html) - -- [RSS 速成篇 2:RSSHub 自部署](https://newzone.top/posts/2020-03-25-rsshub_on_vps.html) - -- [RSS 完结篇:节省千元服务费,RSSHub、Huginn 转移 NAS](https://newzone.top/posts/2021-10-23-nas_with_rsshub_and_huginn.html) - -- [RSS 汇总篇:RSS 永久链接合集,拒绝 RSS 失效](https://newzone.top/posts/2022-03-17-rss_persistent_link_collection.html) diff --git a/docs/_posts/2017-07-28-office_2016_installer_error.md b/docs/_posts/2017-07-28-office_2016_installer_error.md deleted file mode 100644 index ed68180289..0000000000 --- a/docs/_posts/2017-07-28-office_2016_installer_error.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: office 2016 安装程序报错解决办法 -date: 2017-07-28 11:02:00 -category: - - 系统 -tag: - - office -order: -3 ---- - -重新安装 Office 系统或更改安装组件时,经常提示:「找不到有效的安装源」,但实际这些文件都能在安装包内找到。这是由于注册表和组件而导致的报错,**「找不到有效的安装源」并不是真实原因**,解决方法查看下方。 - -![](https://pic3.zhimg.com/v2-85bd2a49a47ee6d0c8eade7b3c249516_r.jpg) - -## 解决方法 - -1. 打开 regedit.exe,在注册表中找到路径 `计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Delivery\SourceEngine\Downloads\{90160000-00BA-0804-1000-0000000FF1CE}-C\Sources\PROPLUS16(RG)-6186D162`。 - -2. 修改 Path 数据,改为安装包位置,比如 `F:\5.软件资源\系统重装\SW_DVD5_Office_Professional_Plus_2016_64Bit_ChnSimp_MLF_X20-42426\groove.zh-cn`。 - - ![](https://pic3.zhimg.com/v2-650ede86dd191a8f0a1cd6e9b815377a_r.jpg) - -3. 在 C 盘建立安装组件: - - - 把安装包路径 `\groove.zh-cn\` 下的文件复制到 `C:\MSOCache\All Users\{90160000-00BA-0804-1000-0000000FF1CE}-C` 目录下 (如果没有这个目录就自己建立)。 - - 把安装包路径 `\proplus.ww\` 下的文件复制到 `C:\MSOCache\All Users\{90160000-0011-0000-1000-0000000FF1CE}-C`。 - -4. 将需要的程序文件放入 MSOCache 路径 - MSOCache 其它的目录下内容同样根据注册表的内容把它指示的光盘中的安装文件复制到相应的目录下。如果没有那个目录就要自己建立,类似的目录一共有 12 个。 - 如果不想全装可以只选择需要的软件,下面以 Onenote 和 Access 为例。 - - - **Onenote** 把安装包路径 `\onenote.zh-cn\` 下的文件复制到 `C:\MSOCache\All Users\{90160000-00A1-0804-1000-0000000FF1CE}-CC`。 - - **Access** 把安装包路径 `\access.zh-cn\` 下的文件复制到 `C:\MSOCache\All Users\{90160000-0015-0804-1000-0000000FF1CE}-C`。 - -5. 最后进入安装包运行 setup.exe 安装正常。 - -Office 组件报错大都是由于 MSOCache 目录被删,建议安装 Office 后不要删除该目录。使用优化工具时,要注意保留 MSOCache 目录及其下的文件。 diff --git a/docs/_posts/2017-07-29-onenote_2016_cannot_be_logged_in.md b/docs/_posts/2017-07-29-onenote_2016_cannot_be_logged_in.md deleted file mode 100644 index e754e9f306..0000000000 --- a/docs/_posts/2017-07-29-onenote_2016_cannot_be_logged_in.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: OneNote 2016 无法登陆问题解决 -date: 2017-07-29 15:19:00 -category: - - 系统 -tag: - - OneNote -order: -4 ---- - -OneNote 安装后,提示输入账号,但点击「下一步」始终没反应,无法进行登陆。 - -![](https://pic4.zhimg.com/v2-d5945359b896ffd09d9973e9597ec06b_r.jpg) - -打开 IE 浏览器,访问 live.com,如果网页提示「登录需要启动 JavaScript」,说明问题的根源出在 IE 的设置上。 - -![](https://pic1.zhimg.com/v2-cc00b3039f755b92f9ae511c8b7debd0_r.jpg) - -点击「IE 设置」>「Internet 选项」>「安全」>「自定义级别」,然后启用脚本选项的「Java 小程序脚本」和「活动脚本」。 - -![](https://pic2.zhimg.com/v2-717bf3c8b62748b62a04219435b8a75d_r.jpg) - -![](https://pic4.zhimg.com/v2-25697b0c27aa8780c532b7a03a78dcbf_r.jpg) - -完成设置后,即可正常登录并打开 OneNote。 - -![](https://pic4.zhimg.com/v2-ff20ef8aa22215cba64b879775dfdf4f_r.jpg) diff --git a/docs/_posts/2017-09-02-forced_shutdown.md b/docs/_posts/2017-09-02-forced_shutdown.md deleted file mode 100644 index a60f31d229..0000000000 --- a/docs/_posts/2017-09-02-forced_shutdown.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: 电脑关机了,第二天一看确又开着的?让系统正常关机! -date: 2017-09-02 00:38:00 -category: - - 系统 -tag: - - 关机 -order: -5 ---- - -晚上明明按下电脑的关机键,第二天早上却发现电脑开了一晚上?这是因为后台和 GUI 应用程序在阻止或取消关机,使得系统无法正常关机。为解决此问题,可以按照以下方法授予系统自动关机权限。 - -## 手工操作 - -1. 点击「开始菜单」,搜索「Regedit」,进入注册表编辑器。 -2. 打开窗口后,向注册表上方菜单输入路径 `计算机\HKEY_CURRENT_USER\Control Panel\Desktop`。 -3. 在右侧窗格中找到 `AutoEndTasks` 键值。若不存在,则新建一个名为 `AutoEndTasks` 的「字符串值」,并将键值的数值设为 `1`。AutoEndTasks 表示自动结束失去响应的程序任务。`0` 表示 false(默认值),而 `1` 表示 true,电脑会自动结束失去响应的程序。 - - ![](https://pic3.zhimg.com/v2-c643b9737b35f9dd9a8382c5653e3d3e_r.jpg) - -4. 查找或创建 `WaitToKillAppTimeout` 字符串值,并设定其数值为 2000。2000 以毫秒计,表示在程序失去响应后,系统将等待 2 秒后自动结束相应程序。 - -按照以上步骤操作,即可设置电脑默认为强制关机。 - -## 通过脚本修改 - -如果你不愿手动修改注册表,可以选择以下三种脚本之一进行操作。 - -### 注册表脚本修改 - -复制下列命令并粘贴至文本编辑器(如记事本)中,保存文件,扩展名为 `.reg`,如 settings.reg。双击该文件即可将修改应用到注册表中。(脚本由 @daxixi 提供) - -```reg -Windows Registry Editor Version 5.00 - -[HKEY_CURRENT_USER\Control Panel\Desktop] -"AutoEndTasks"="1" -"WaitToKillAppTimeout"="2000" -``` - -### cmd 修改 - -以管理员权限运行 cmd(命令提示符),输入以下命令: - -```cmd -reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v AutoEndTasks /t REG_SZ /d 1 /f - -reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v WaitToKillAppTimeout /t REG_SZ /d 2000 /f -``` - -### PowerShell 修改 - -以管理员权限运行 PowerShell,输入以下命令: - -```powershell -cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v AutoEndTasks /t REG_SZ /d 1 /f - -cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v WaitToKillAppTimeout /t REG_SZ /d 2000 /f -``` - -—————————— - -网上流行一种通过修改「gpedit.msc」达到快速关机的方法,但实际测试结果表明,这种方法并**不能实现强制关机**。以下为这种方法的操作流程记录,仅供参考: - -1. 点击桌面左下角“windows”图标,选择“运行”选项; -2. 进入运行窗口,输入“gpedit.msc”命令,按下回车键确定; -3. 打开本地组策略编辑器界面,依次展开“计算机配置——管理模板——系统——关机选项”文件夹;鼠标右击右侧“关闭会阻止或取消关机的应用程序的自动终止功能”选项,接着选择“编辑”功能;将弹出窗口选项更改成“已启用”,然后点击“应用——确定”按钮。 - - ![](https://pic4.zhimg.com/v2-4b736585b25509b036935a2f9c37d843_r.jpg) - - 但开启后,提示程序没有响应,无法关机。 - - ![](https://pic4.zhimg.com/v2-46fafee0cb6e212e793fc80268ab0917_r.jpg) - -修改“gpedit.msc”虽然可以撤销程序阻止关机的权限,但它并没有赋予关机进程对程序的关闭权限,因此并不能达到强制关机的效果。 diff --git a/docs/_posts/2017-09-03-smb_lan_sharing.md b/docs/_posts/2017-09-03-smb_lan_sharing.md deleted file mode 100644 index 25c6f3044e..0000000000 --- a/docs/_posts/2017-09-03-smb_lan_sharing.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: 加速 SMB 协议,让 PC 变身小型 NAS -date: 2017-09-03 20:57:00 -category: - - 系统 -tag: - - smb -order: -6 ---- - -Windows 系统开启 SMB 协议: - -1. 打开「控制面板」窗口,在「类别」查看方式下单击「程序」。 - - ![](https://pic1.zhimg.com/v2-af3e5c2a16a1f245ac6584097c53be60_r.jpg) - -2. 打开「程序」窗口,单击「启用或关闭 windows 功能」。 - - ![](https://pic1.zhimg.com/v2-36207f67a5eb3aeb8ee7c1ae855b13dc_r.jpg) - -3. 打开「windows 功能」窗口,勾选 SMB 直通。 - - ![](https://pic3.zhimg.com/v2-b1feb5554e6f1da003266be9cb470dfe_r.jpg) - -4. 勾选「远程差分压缩 API 支持」。 - - ![](https://pic4.zhimg.com/v2-c5fc3e3d771b6e4bd2516372c69b340b_r.jpg) - -网上很多教程都要求关闭“远程差分压缩”复选框,这是对“远程差分压缩”的误解。 - -官方解释:远程差分压缩 (RDC) 功能是一组应用程序编程接口 (API),这些应用程序可用于确定某个文件集是否发生了变化,如果是,就检测哪部分文件进行了更改。RDC 检测文件中数据的插入、删除和重新排列,使应用程序能够仅复制文件的已更改部分。这对于在有限带宽网络(如广域网 (WAN) 连接)上复制文件非常有用。 diff --git a/docs/_posts/2017-10-18-light_cat_e8-c-epon_admin.md b/docs/_posts/2017-10-18-light_cat_e8-c-epon_admin.md deleted file mode 100644 index d74960ece4..0000000000 --- a/docs/_posts/2017-10-18-light_cat_e8-c-epon_admin.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: 光猫改造 篇一:超级管理员密码破解(E8-C-EPON RG201O-CA_V1A2) -date: 2017-10-18 18:28:00 -category: - - 网络 -tag: - - 光猫 -order: -7 ---- - -## 为什么要获得光猫超级密码? - -它可以用于端口映射(eMule high ID)和桥接模式(路由器掌控拨号,但不兼容固定电话)。网上关于光猫超级密码的获取攻略大多是在 2012-14 年发布的,现在已经不能使用了。 - -## 破解测试环境 - -运营商:上海电信 -光猫型号:贝尔 E8-C-EPON -硬件版本:RG201O-CA_V1A2 -软件版本:E201OCAA2V11S - -## 光猫超级密码破解 - -1. 地址栏输入 `192.168.1.1`,用户名:<光猫背面>,密码:<光猫背面>,登录管理界面。 - - ![](https://pic1.zhimg.com/v2-9e43bc86b9095f3f6c2cfa4bd58dcd68_r.jpg) - -2. 在浏览器地址栏输入 `192.168.1.1/backupsettings.txt`,将 `backupsettings.txt` 文件导出并备份在电脑上。如果无法打开,请改为输入 `192.168.1.1/backupsettings.conf`,并做好备份。 - -3. 打开下载的 `backupsettings.txt` 或 `backupsettings.conf` 文件,搜索 `TeleComAccount`,两个 password 之间就是超级密码。超级账号是 `telecomadmin`。 - - ![](https://pic3.zhimg.com/v2-ee441dd18cc8e5f6303fdaef82b6d476_r.jpg) - -4. 输入地址 `192.168.1.1`,用刚获取的超级密码登录,然后可以进行端口映射和设备桥接。 - - ![](https://pic1.zhimg.com/v2-31d6bb6b90be541c186a360fe2dd323c_r.jpg) - -如果新安装的光猫无法获取超级密码,可以使用运营商的官方应用进行映射。 diff --git a/docs/_posts/2017-10-18-light_cat_port_forwarding.md b/docs/_posts/2017-10-18-light_cat_port_forwarding.md deleted file mode 100644 index 89ccac5676..0000000000 --- a/docs/_posts/2017-10-18-light_cat_port_forwarding.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: 光猫改造 篇二:光猫 + 路由器,实现端口映射 -date: 2017-10-18 22:00:00 -category: - - 网络 -tag: - - 光猫 -order: -8 ---- - -光猫默认没有管理权限,需要先获得光猫的超管密码,参考[光猫改造 篇一:超级管理员密码破解(E8-C-EPON RG201O-CA_V1A2)](https://newzone.top/posts/2017-10-18-Light_cat_E8-C-EPON_admin.html)。 - -**光猫端口映射步骤:** - -1. 登陆光猫管理地址 192.168.1.1,应用 → 高级 NAT 设置 →DMZ 设置,启用 DMZ 主机绑定路由器地址(路由器 WAN 口 IP 地址 -192.168.1.X) - - ![](https://pic2.zhimg.com/v2-658d5433201b79da169a520f4b19d495_r.jpg) - -2. 登陆路由器管理地址 192.168.X.X。这里已梅林 AC5300 为图例。 - - ![](https://pic4.zhimg.com/v2-32825a6d3d75f4bfe5668f1b0d6c6683_r.jpg) - -3. 在路由器设置选项中找到“端口转发”,按要求设置端口。我这是 eMule TCP 和 UDP 转发,设置完成后,变成 High ID。 - - ![](https://pic2.zhimg.com/v2-8f3eb2c42fd5d1a98f1345c6a5855e99_r.jpg) - - ![](https://pic2.zhimg.com/v2-b4f5179278da52409f4a04ce7d139f99_r.jpg) diff --git a/docs/_posts/2018-01-19-forget_the_cdn.md b/docs/_posts/2018-01-19-forget_the_cdn.md deleted file mode 100644 index 2362d18a7e..0000000000 --- a/docs/_posts/2018-01-19-forget_the_cdn.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: 小型网站管理员,快放弃 CDN! -date: 2018-01-19 12:00:00 -category: - - 服务器 -tag: - - CDN - - 建站 -order: -9 ---- - -> CDN 的全称是 Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN 系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet 网络拥挤的状况,提高用户访问网站的响应速度。 - -国内 CDN 有阿里云、腾讯、百度、网宿、七牛云、又拍云等。 - -这里以阿里云 CDN 为例。我之前使用阿里云全站 CDN,一直以为速度会加快。但命中率只有 7%,在更换为 ECS 后,命中率更降为 2%。 - -更可怕的是,我提交工单后才得到的事实。**CDN 运营商会根据 DNS 分配就近分配 CDN 节点,抓取网站缓存。** - -第一反应:「不错啊。如果网站在北京,访客在上海,直接访问上海的节点,速度必然要快一些。」 - -但事实并没有这么完美。**CDN 是根据本地 DNS 来分配节点。** - -你从上海放出访问申请,DNS 有可能帮你分配去广东的节点。极端情况下,有可能分配到不同运营商,**导致无法打开网站。** - -我进行了三个测试,本地网络环境都是上海电信,更换了 DNS 设置。 - -第一次测试使用 114DNS,分配了广州鹏博士网络,网站打不开。提交工单后,客服反映**这个节点是局域网节点,只有鹏博士网络才能打开。** - -第二次测试使用电信默认 DNS,分配苏州电信,网站正常。 - -第三次测试使用阿里云 DNS,分配杭州电信,网站正常 - -后面两次虽然都能打开网站,但没有一个分配在上海电信,这种加速又能快多少呢? - -在网站**配置足够、流量不大(日均访客 1000 以内)** 时,不建议使用全站 CDN,这只会拖累访问体验。小网站只适合将图片部署在 CDN。 diff --git a/docs/_posts/2018-01-31-hire_a_robot.md b/docs/_posts/2018-01-31-hire_a_robot.md deleted file mode 100644 index 99971796ef..0000000000 --- a/docs/_posts/2018-01-31-hire_a_robot.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: 雇个机器人帮你干活 -date: 2018-01-31 22:51:00 -category: - - 自动化 -tag: - - Huginn - - rss -order: -10 ---- - -> 机器人会取代你工作! -> 计算云会取代你工作! -> AI 会取代你的工作! - -我相信科技终究有一天会消灭所有工作,但我们这代人的无奈就是很难等到这一天。 - -作为懒人、宅男,等不及了怎么办? - -既然还没被取代,那就**雇个机器人帮你干活**! - -我每天第一件事是去各个网站看热门新闻、行业资料。以前是用 RSS,但 RSS 被视为落后,越来越多的网站不再提供 RSS 源。离开 RSS,我就一直没找到更合适的方法去将内容聚合起来,不得不在一个个网站间疲于奔命,逐渐不再看内容。 - -> RSS(Really Simple Syndication) 是一种描述和同步网站内容的格式,是使用最广泛的 XML 应用。简易信息聚合(也叫聚合内容)是一种 RSS 基于 XML 标准,在互联网上被广泛采用的内容包装和投递协议。 - -- [ ] 增加 `Alfred` 搜索 - -**直到遇到了我的第一个机器人雇员 [Huginn](https://github.com/huginn/huginn)** - -> Huginn 是一个可以创建为你在线执行自动化任务的系统。Huginn 可以读取网页,监测事件并且执行符合你需求的动作。Huginn 通过 agents 创建并执行任务(事件流)。你可以将它看作是一个运行在你自己服务器上的 IFTTT 或 Zapier。 - -Huginn 帮我将所有信息聚合成 RSS,24 小时帮我获取我要的内容。 - -- [网易热门新闻](http://news.163.com/rank):抓取网易顶贴最多的 100 条新闻 -- [百度实时热点](http://top.baidu.com/buzz?b=1):实时更新每天的百度热点 -- [果壳网](https://www.guokr.com/):果壳首页推荐,官方更新速度较慢,刚好可以了解些奇思妙想 -- 工作类:梅花、SocialBeta、数英网、艾瑞网 diff --git a/docs/_posts/2018-03-06-no_more_dinner.md b/docs/_posts/2018-03-06-no_more_dinner.md deleted file mode 100644 index 4b48733e26..0000000000 --- a/docs/_posts/2018-03-06-no_more_dinner.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: 提早晚餐,饿死算逑 -date: 2018-03-06 22:06:00 -category: - - 健康 -tag: - - 减肥 -order: -11 ---- - -上大学后,每天晚上都打游戏点「叉鸭例牌 + 两碗米饭」,体重成功上到 85KG。后来减肥在 13 年达到历史低点 75KG,但后来持续上升,在 18 年春节达到顶点,93KG,比婚前胖了**38 斤**。 - -目前以在家办公为主,很少出门,每天走路都没走多少,更别说运动了。 - -**解决方案:** - -1. 增加运动:每天划船机 2 公里,后期再逐步加量 - -2. 调节饮食,多喝水不吃炸鸡 - - - 早餐:9 点,牛奶 + 麦片 - - - 午餐:12 点,正常 - - - 晚餐:4 点,晚餐后不再吃东西 - -| 日期 | 历史体重 | 备注 | -| ---------------------------- | -------- | --------------------------------------- | -| 2012 年 9 月 2 日 23:04:51 | 85KG | 今天吃了 3 个苹果,3 块钱煎饼。刚洗完澡 | -| 2013 年 4 月 11 日 21:24:54 | 86.4KG | 脱去外套 | -| 2013 年 9 月 5 日 8 点 | 81.8kg | -| 2013 年 10 月 3 日 9:55:02 | 78.7KG | -| 2014 年 2 月 25 日春节 | 83KG | 重新开始减重 | -| 2014 年 10 月 19 日 16:50:10 | 86.1KG | -| 2016 年 8 月 4 日 | 88KG | -| 2018 年 3 月 6 日 晚 | 91.6 KG | -| 2020 年 10 月 6 日 | 95 KG | 巅峰,开始营养健康餐 | diff --git a/docs/_posts/2018-04-30-baota_deploy_vps.md b/docs/_posts/2018-04-30-baota_deploy_vps.md deleted file mode 100644 index 7cca071275..0000000000 --- a/docs/_posts/2018-04-30-baota_deploy_vps.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: 新手建站神器 - 宝塔面板 -date: 2018-04-30 -category: - - 服务器 -tag: - - 宝塔面板 - - 建站 -order: -12 ---- - -新手建站最大的痛苦就是对服务器环境不熟悉,难以管理部署。 - -国产的宝塔面板可以轻松解决这个问题,可以在可视化界面中为服务器安装应用、同步文件、定期执行代码、管理服务。 - -> 一键创建网站、FTP、数据库、SSL;安全管理,计划任务,文件管理,PHP 多版本共存及切换;自带 LNMP 与 LAMP - -![宝塔面板界面图](https://img.newzone.top/20180430000000.jpg?imageMogr2/format/webp) - -宝塔安装说明: - -## 宝塔安装 LNMP 或 LAMP 环境 - -**LNMP** 和 **LAMP** 都是成熟的建站环境,根据自身需求选择其中之一即可。如果有特殊的定制需求,可以在左侧的「软件管理」中选择需要安装的环境。 - -![软件安装界面](https://img.newzone.top/20180430000001.jpg?imageMogr2/format/webp) diff --git a/docs/_posts/2018-05-01-jekyll_blog_on_github_pages.md b/docs/_posts/2018-05-01-jekyll_blog_on_github_pages.md deleted file mode 100644 index 9723da02bd..0000000000 --- a/docs/_posts/2018-05-01-jekyll_blog_on_github_pages.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Jekyll 篇一:3 分钟搭建 Github Pages 博客 -date: 2018-05-01 -category: - - 博客 -tag: - - Jekyll - - Github - - 建站 -order: -13 ---- - -一直都想建立自己的个人博客,重装过 N 次 WordPress,又因为种种原因而放弃。 - -偶然看到了 Hux 的 Jekyll 模板,被漂亮的设计给迷住了。Github Pages 默认支持 Jekyll 环境,并提供了免费空间和流量,因此开始了 Github Pages + Jekyll 之路。 - -### 搭建流程 - -1. 注册并登录 [Github](https://github.com/)。 - -2. 选择一个喜欢的 [Jekyll 模板](http://jekyllthemes.org/), 进入对应的 Github 主页。我选了黄玄的 [Hux Blog](https://github.com/Huxpro/huxpro.github.io)。 - -3. 点击 `Fork`, 将喜欢的模板复制到自己的 Github 仓库中。 - - ![](https://img.newzone.top/20180505201522.png?imageMogr2/format/webp) - -4. 点击 `Setting`, 修改 `Repository name` 为 `xxx.github.io`, `xxx` 是你的 Github 用户名。 - - ![](https://img.newzone.top/20180505202201.png?imageMogr2/format/webp) - -5. 同一页面选择「Code and automation」>「Pages」>「Build and deployment」>「Branch」, 将 master branch 设为 Github Pages 来源,网站运行目录默认为 `/(root)`。设置好后,点击「Save」。 - - ![](https://img.newzone.top/2022-08-08-11-42-16.png?imageMogr2/format/webp) - -6. 最后,按页面提示访问链接 `https://xxx.github.io/`,新博客搭建完毕。 - - ![](https://img.newzone.top/20180505202859.png?imageMogr2/format/webp) diff --git a/docs/_posts/2018-05-02-jekyll_blog_on_vps.md b/docs/_posts/2018-05-02-jekyll_blog_on_vps.md deleted file mode 100644 index 30ac279a49..0000000000 --- a/docs/_posts/2018-05-02-jekyll_blog_on_vps.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Jekyll 扩展篇:服务器搭建 Jekyll 博客 -date: 2018-05-02 -category: - - 博客 -tag: - - Jekyll - - 建站 -order: -14 ---- - -Github 墙得太厉害,就想在服务器上自建 Jekyll 环境,用上 Travis CI 和 Docker 后才发现完全没必要。。 - -Jekyll 环境官方[安装指南](https://www.jekyll.com.cn/docs/quickstart/): - -1. 使用 RVM 安装 Ruby (rvm -> ruby -> gem 网上大量教程就不赘述了) - -2. 安装 jekyll:`gem install jekyll`。 - -3. 进入 jekyll 网站,执行命令行 `jekyll build`,生成 Jekyll 静态网页。 - -4. 网站的执行目录需要指定在 `_site`,这是 Jekyll 生成的静态页面目录。之后每次更新博客,都需要进入服务器执行一次 `jekyll build`,重新生成静态页面。 - -愿意折腾的话,可以使用 Travis CI 和 Docker 完成全自动化更新。 diff --git a/docs/_posts/2018-05-03-jekyll_blog_autodeploy.md b/docs/_posts/2018-05-03-jekyll_blog_autodeploy.md deleted file mode 100644 index 783ac2fe98..0000000000 --- a/docs/_posts/2018-05-03-jekyll_blog_autodeploy.md +++ /dev/null @@ -1,316 +0,0 @@ ---- -title: Jekyll 篇二:自动部署服务器博客 -date: 2018-05-03 -category: - - 博客 -tag: - - Jekyll - - Travis CI - - Docker -order: -15 ---- - -Github 上搭建 Jekyll 是最方便的,空间免费、流量免费、部署简单。但 Github 属于被墙状态,将博客部署在那,速度实在太慢。在玩了几天后,我开始在服务器上直接搭建 Jekyll 博客。 - -服务器搭建需要人工执行 `jekyll build`, 完全背离了最开始搭建博客的初衷-**方便**。之后结合了网络上多个自动化方案,选定入门成本最低的 `Github` -> `Travis CI` -> `Docker`-> `VPS`。 - -## 搭建思路 - -- 本地提交博客 Markdown 文件 到 Github 源文件 repository -- Github 触发 Travis CI 执行自动编译 -- Travis CI 编译后 push 静态文件到 Github 静态文件 repository -- Travis CI 通知 Docker 重建镜像(预计 5 分钟) -- 服务器休眠 5 分钟后,Travis CI 通知服务器 -- 服务器拉取最新镜像,然后停止并删除原容器,用最新镜像重建容器 - -## Travis CI 基本配置 - -Travis CI 对于开源项目完全免费,并且能自动感知到 Github 的 commit,帮我们解决了静态文件生成问题。 - -先用 Github 登录 Travis CI,然后点击最右侧的头像,开启想要使用 Travis CI 的项目 - -![](https://img.newzone.top/20180504135244.png?imageMogr2/format/webp) - -点击设置按钮,进入项目设置 - -![](https://img.newzone.top/20180504135541.png?imageMogr2/format/webp) - -## 静态文件更新 - -Travis CI push 静态文件到 Github 通过 Github 的 token 实现授权,push 代码如下 - -```bash -after_success: - - git clone https://github.com/rockbenben/rockbenben.github.io.git - - cd rockbenben.github.io && rm -rf * && cp -r ../_site/* . - - git config user.name "rockbenben" - - git config user.email "qingwhat@gmail.com" - - git add --all . - - git commit -m "Travis CI Auto Builder" - - git push --force https://$DEPLOY_TOKEN@github.com/rockbenben/blog.git master -``` - -`$DEPLOY_TOKEN` 是从 Github 授权得到的,「setting」>「Developer settings」>「Personal access tokens」>「Generate new token」, 然后给于相应权限即可,`admin:public_key, admin:repo_hook, repo`。 - -![](https://img.newzone.top/20180504153729.png?imageMogr2/format/webp) - -进入 Travis 的 repo 项目,「More options」>「Settings」>「Environment Variables」, 新建一个变量`DEPLOY_TOKEN`,把 Github 的授权 token 保存在里面。 - -![](https://img.newzone.top/20180504154229.png?imageMogr2/format/webp) - -Travis CI 提供了存放加密文件的方式,参考 [官方文档](https://docs.travis-ci.com/user/encrypting-files/)。 - -## Dockerfiles 设置 - -在 Github 中新建一个 repository,可以命名为 `dockerfiles`, 专门用来存储 Docker 镜像的设置文件。在 `dockerfiles` 新建文件夹 `jekyll` ,并在 `jekyll` 中新建文件 `Dockerfile`, 放入以下代码: - -```bash -FROM nginx:1.13.9-alpine - -LABEL maintainer="Benson " - -ARG TZ='Asia/Shanghai' - -ENV TZ ${TZ} - -RUN apk upgrade --update \ - && apk add bash git \ - && rm -rf /usr/share/nginx/html \ - && git clone https://github.com/rockbenben/blog.git /usr/share/nginx/html \ - && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ - && echo ${TZ} > /etc/timezone \ - && rm -rf /var/cache/apk/* - -# ADD entrypoint.sh /entrypoint.sh #容易报错 -# ADD flush /usr/local/bin/flush #容易报错 - -WORKDIR /usr/share/nginx/html - -# CMD ["/entrypoint.sh"] #容易报错 -``` - -将 Travis CI 生成的静态文件推送到 Github,博客的 docker 化部署,采用 nginx + 静态文件 方式 - -样例 Dockerfile: - -## Docker 镜像设置 - -注册并登录 [Docker Hub](https://hub.docker.com),点击 「Create」>「Create Automated Build」>「Create Auto-build Github」, 选择之前新建的 `dockerfiles` repository。 - -建立 Automated Build 镜像后,进入 `Build Seeting`, 点击 Trigger,建立第一个 Docker 镜像。 - -![](https://img.newzone.top/20180504161016.png?imageMogr2/format/webp) - -然后在「Building Settings」>「Build Triggers」>「Activate Triggers」,复制 Trigger URL。 - -![](https://img.newzone.top/20180504161245.png?imageMogr2/format/webp) - -然后在服务器上执行下列代码,拉取并**启动 Docker 镜像**。 - -```bash -docker pull rockben/jekyll -docker stop jekyll_blog -docker rm jekyll_blog -docker run --name=jekyll_blog -d -p 39100:80 --privileged=true rockben/jekyll:latest -``` - ---name=jekyll_blog 中的 `jekyll_blog` 是对容器的命名,方便后续操作。 - --d 让容器在后台运行。 - --p 映射端口:80 是容器内对应的端口,39100 是主机端口,也就是最终用户访问的端口,本端口可以自由选择。 - ---privileged=true 关闭安全权限,否则你容器操作文件夹没有权限。 - ---`rockben/jekyll:latest` 是容器名称,可省略 `:latest`。 - -运行容器后,访问 `seoipo.com:39100` 就可以看到镜像网页。如果每次用端口访问,可以在域名 DNS 中设置显性 URL,将二级域名 `blog.seoipo.com` 指向 `seoipo.com:39100` - -### Docker 扩展阅读 - -**Docker 命令符**: - -```bash -docker ps // 查看所有正在运行容器 -docker stop containerId // containerId 是容器的 ID - -docker ps -a // 查看所有容器 -docker ps -a -q // 查看所有容器 ID - -docker stop $(docker ps -a -q) // stop 停止所有容器 -docker rm $(docker ps -a -q) // remove 删除所有容器 -``` - -**`docker run` 进阶设置** - -```bash -docker run --name=jekyll_blog -d -p 39100:80 -v /www/wwwroot/jekyll:/jekyll --privileged=true rockben/jekyll:latest /bin/bash -``` - --v 挂载目录/root/software 本地目录 /software 容器目录,在创建前容器是没有 software 目录的,docker 容器会自己创建 ---`/bin/bash` 这是 CMD 命令行,可不填 - -## SSH 免密码登录 - -Travis 不能利用用户名和密码登陆,我们只有利用**SSH 免密登陆**服务器,更新并重启 Docker 容器。 - -**1、生成公钥/私钥对** - -```bash -cd ~/.ssh # 切换 .ssh 目录,目录的第一个字符如果是 `.` 表示改文件夹是隐藏文件夹 -mkdir ~/.ssh #如果 .ssh 文件夹不存在,可以执行指令自行创建。如果 .ssh 文件已经存在,该命令会指出 .ssh 目录:/root/.ssh -ssh-keygen -t rsa # 生成 RSA 密钥对,后面所有的直接以默认就行,passphase 一定要为空 -``` - -**2、将生成的公钥添加为受信列表** - -```bash -cd ~/.ssh # 切换.ssh 目录 -cat id_rsa.pub >> authorized_keys #将公钥内容输出到 authorized_keys 中 -``` - -**3、在.ssh 目录下新增配置文件 config** - -```bash -cd ~/.ssh # 切换 .ssh 目录 -vim config #新建并打开目录 -``` - -点击 `i` 进入编辑状态,输入下列代码。完毕后,点击 `Esc` 退出编辑状况,然后输入 `:wq!` 强制保存后离开文件 - -```bash -Host test -HostName 99.99.99.99(你的服务器 ip) -#登陆的用户名 -User travis -IdentitiesOnly yes -#登陆使用的密钥 -IdentityFile ~/.ssh/id_rsa -``` - -**4、在 Linux 服务器安装 Travis 客户端**(rvm -> ruby -> gem ->Travis) - -`gem install travis` - -**5、服务器创建空白`.travis.yml`文件** - -```bash -mkdir /home/travis #新建 travis 文件夹 -touch /home/travis/.travis.yml #在 travis 文件夹里创建空白 .travis.yml 文件 -``` - -**6、服务器登录 Travis,添加加密的私钥至代码仓库** - -```bash -cd /home/travis #进入 .travis.yml 所在文件夹 -travis login #用 GitHub 账户登陆 travis - -#登陆成功后解密私钥,--add 参数会把加密的私钥解密命令插入到.travis.yml,Travis 解密时要用到的 -#-r 之后是 Github 源文件目录 -travis encrypt-file ~/.ssh/id_rsa --add -r rockbenben/rockbenben.github.io - -#保存加密后的私钥 id_rsa.enc,上传到 Github 源文件 repository 中 - -#.travis.yml 中也自动添加了解密命令 -cat /home/travis/.travis.yml #打开服务器的 .travis.yml 文件并保存 -before_install: -- openssl aes-256-cbc -K $encrypted_****_key -iv $encrypted_****_iv - -in id_rsa.enc -out ~/.ssh/id_rsa -d -``` - -**成功加密后,会提示** - -```bash -Make sure to add id_rsa.enc to the git repository. -Make sure not to add ~/.ssh/id_rsa to the git repository. -Commit all changes to your .travis.yml. -``` - -- **将新生成的 `id_rsa.enc` 文件上传到 Github 源文件 repository 中** - -- 将 `.travis.yml` 中的 `openssl aes-256-cbc -K $encrypted_5c280379e96c_key -iv $encrypted_5c280379e96c_iv -in id_rsa.enc -out ~/.ssh/id_rsa -d` 放入最终的 `.travis.yml` 文件中。 - - ![](https://img.newzone.top/20180504184508.png?imageMogr2/format/webp) - -## travis.yml 配置 - -当项目内存在 `.travis.yml` 文件时,Travis CI 会按照其定义完成自动 build 过程,所以开启了上述配置以后还要在 Github 的 Jekyll 源文件项目下创建 `.travis.yml` 配置文件。 - -![](https://img.newzone.top/20180504141827.png?imageMogr2/format/webp) - -`.travis.yml` 配置文件内容样例如下: - -```bash -language: ruby -rvm: -- 2.3.3 - -before_script: -- openssl aes-256-cbc -K $encrypted_5c280379e96c_key -iv $encrypted_5c280379e96c_iv - -in id_rsa.enc -out ~/.ssh/id_rsa -d #本句是服务器上的 Travis 自动生成的,但默认生成的命令可能会在/前面带转义符\,我们不需要这些转义符,手动删掉所有的转义符,否则可能在后面引发莫名的错误。 -- chmod 600 ~/.ssh/id_rsa -- echo -e "Host 106.15.190.249\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config #106.15.190.249 是服务器 IP,修改成你自己的就行 - -# Assume bundler is being used, therefore -# the `install` step will run `bundle install` by default. -install: -- gem install jekyll -- gem install jekyll-paginate - -script: jekyll build #&& htmlproofer ./_site #指定目录容易报错 - -after_success: - - git clone https://github.com/rockbenben/rockbenben.github.io.git - - cd rockbenben.github.io && rm -rf * && cp -r ../_site/* . - - git config user.name "rockbenben" - - git config user.email "qingwhat@gmail.com" - - git add --all . - - git commit -m "Travis CI Auto Builder" - - git push --force https://$DEPLOY_TOKEN@github.com/rockbenben/blog.git master - # Trigger all tags/branchs for this automated build. - - curl -X POST https://registry.hub.docker.com/u/rockben/jekyll/trigger/9b1e9527-0cf1-4756-8332-50f8dff37747/ #本句的链接是 hub.docker.com 自动生成,进入 docker 项目后,Building Settings - Build Triggers - Activate Triggers ,复制 Trigger URL - - sleep 5m #超过 10 分钟,tavis 将失去响应。此处是在等待 docker 镜像更新 - - ssh root@106.15.190.249 -p 27378 -o StrictHostKeyChecking=no "docker pull rockben/jekyll && docker stop jekyll_blog && docker rm jekyll_blog && docker run --name=jekyll_blog -d -p 39100:80 --privileged=true rockben/jekyll:latest" #ssh 连接后,重启 docker 容器,jekyll_blog 为之前设定的容器名。 - # -p 27378 是我自设的服务器端口,默认是 22 - # - ssh root@106.15.190.249 -p 27378 -o StrictHostKeyChecking=no "/www/wwwroot/jekyll_build.sh" #执行 jekyll 重建脚本 - #- ssh root@106.15.190.249 -o StrictHostKeyChecking=no 'cd ~/blog-front && git pull && npm install && npm run build' #使用 ssh 连接服务器,git pull? - -# branch whitelist, only for Github Pages -branchs: - only: - - master #指定只有检测到 master 分支有变动时才执行任务 - -env: - global: - - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer - -addons: - ssh_known_hosts: - - 106.15.190.249 #受信主机,你的 Linux 服务器 ip - -sudo: false # route your build to the container-based infrastructure for a faster build -``` - -具体 .travis.yml 配置,请参考 [官方文档](https://docs.travis-ci.com/)。 - -参考资料&引用: - -- [Jekyll 模板 hux blog](https://github.com/Huxpro/huxpro.github.io) - -- [一点都不高大上,手把手教你使用 Travis CI 实现持续部署](https://zhuanlan.zhihu.com/p/25066056) - -- [Jekyll + Travis CI 自动化部署博客](https://mritd.me/2017/02/25/jekyll-blog-+-travis-ci-auto-deploy/) - -- [Travis-CI 自动化测试并部署至自己的 CentOS 服务器](https://juejin.im/post/5a9e1a5751882555712bd8e1) - -- [Travis CI 系列:自动化部署博客](https://segmentfault.com/a/1190000011218410) - -- [SSH 免密登录远程服务器](https://juejin.im/post/5a2941ad6fb9a045030ffc95) - -- [SSH 公钥登录原理](http://www.cnblogs.com/scofi/p/6617394.html) - -- [如何将 dockerhub 与 github 关联](https://blog.csdn.net/yinweitao12/article/details/73165914) - -- [docker 启动,端口映射,挂载本地目录](http://www.cnblogs.com/YasinXiao/p/7736075.html) - -- [Docker — 从入门到实践](https://yeasy.gitbooks.io/docker_practice/) diff --git a/docs/_posts/2018-05-04-audition_cut_mp3.md b/docs/_posts/2018-05-04-audition_cut_mp3.md deleted file mode 100644 index fb4a2402c3..0000000000 --- a/docs/_posts/2018-05-04-audition_cut_mp3.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: 怎么用 Adobe Audition 快速剪切音频? -date: 2018-05-04 -category: - - 工具 -tag: - - Audition - - 音频 -order: -16 ---- - -很久没剪音频了,突然被朋友拜托,才发现 Audition 剪切音频有多非人性,操作跟 10 年前的软件相比,没任何进步。 - -## 简易剪切流程 - -1. 在 Audition 中打开音频文件。 - - ![](https://img.newzone.top/20180504152233.png?imageMogr2/format/webp) - -2. 选定要删除的音频部分:左键按住在**删除音频起点**,然后拉动到**删除音频重点**,放开左键。 - - ![](https://img.newzone.top/20180504151226.png?imageMogr2/format/webp) - -3. 点击右键,选择**删除**。刚才选择的音频就被删除了。 - - ![](https://img.newzone.top/20180504151306.png?imageMogr2/format/webp) - -4. 在混音器中点击,用**鼠标滚轮**放大音频的可选间距,重复上面 3 步,继续剪切音频。 - - ![](https://img.newzone.top/20180504151816.png?imageMogr2/format/webp) - -5. 精修完后,点击「文件」>「另存为」,就可以保存我们的音频文件了。 - -PS:原本是想用时间来截取音频,但找遍 Audition 菜单,也没发现能按时间来剪切的选项。最后还是靠鼠标完成的。。 diff --git a/docs/_posts/2018-05-15-aria2_a_new_download_tool.md b/docs/_posts/2018-05-15-aria2_a_new_download_tool.md deleted file mode 100644 index 02099991c1..0000000000 --- a/docs/_posts/2018-05-15-aria2_a_new_download_tool.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: 抛弃迅雷,Aria2 新手入门 -date: 2018-05-15 -category: - - 工具 -tag: - - Aria2 - - 迅雷 -star: true -order: -17 ---- - -迅雷已经用了 10 年,一直将它视为最快也最方便的下载工具,也一直购买迅雷会员。 - -但是,**迅雷已经堕落**。 - -- `thunder:\\` 迅雷专属链接越来越少,下载基本是磁力链接和 BT 种子; -- 迅雷会员加速不再有效,大量资源速度为 0(会员虽然还有一年多,但已经没用了); -- 迅雷关闭旧版功能,迫使大家升级迅雷 U 享版,但升级后,发现新版迅雷会强制接收所有下载。 - > 有些小文件,我只想用浏览器直接下载,而一些不想下载的链接,也会被迅雷非常敏感地感应到,强制下载,真的特别流氓。 - -## 为什么选择 Aria2? - -Aria2 下载功能比较全面,支持 BT 和磁力链接,性能也相当不错,**速度不比迅雷慢**。 - -虽然没有原生应用界面,配置也比较麻烦,但这些可以通过懒人包轻松解决。 - -## 真·懒人包 - -Aria2 真·懒人包无需配置,下载即可使用,适合不想折腾的人。 - -真·懒人包: - -将懒人包解压到 `D:\Aria2`,点击 `AriaNg 启动器.exe` 即可开始下载。两个启动器任选其一,都集成了后端服务和前端 UI,无需启动其他程序。包内均为开源绿色软件,不涉及任何隐私和安装,AutoHotkey 插件容易被误报。 - -2023.12.03 更新 Aria2 1.37.0,AriaNG 1.3.7,重构启动器,并增加 bt-tracker 至 108 个,以便 BT 和磁力链接提速。 - -新增功能:任务开始、完成和出错时,会推送系统通知,可在 aria2.conf 的特别功能区块中设置通知的开启与关闭,此功能由 @我真的爱发明 提出。 - ---- - -如果不想使用懒人包,想了解 Aria2 背后的设置,请往下看配置步骤。 - -## Aria2 设置 - -1. 下载 [Aria2 快速设置包](https://aria2c.com/archiver/aria2.zip)或[备用链接](https://wwz.lanzouf.com/iROZE0eai3xe),将其解压到存放文件夹,例如 `D:\Aria2`。 - -2. 官网下载 [Aria2 程序](https://github.com/aria2/aria2/releases)(Windows 选择 [aria2-1.37.0-win-64bit-build1.zip](https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0-win-64bit-build1.zip)),然后解压到快速设置包的存放文件夹中,替代其中的 `aria2c.exe` 程序。 - - ![](https://img.newzone.top/20191210232831.png "GitHub 官方仓库下载 Aria2") - -3. 点击 `aria2.exe` 启动 aria2,系统托盘区会同步出现应用图标。 - -4. 参照[懒人包配置](https://wwz.lanzouf.com/iwv6f0eadq9i)修改 `aria2.conf`,更多设置参考 [aria2c 官方文档](https://aria2.github.io/manual/en/html/aria2c.html)。^[[Aria2 基础上手指南](https://zhuanlan.zhihu.com/p/30666881)] - - 修改默认下载目录: - - ```conf - # 文件的保存路径 (可使用绝对路径或相对路径), 默认:当前启动位置 - # D:\Download 是我的默认下载目录,可以改为你自己的下载路径 - dir=D:\Download - ``` - - 修改服务器默认连接数: - - ```conf - # 同一服务器连接数,添加时可指定,默认:1 - max-connection-per-server=16 - ``` - - 修改监听端口 6800: - - ```conf - # RPC 监听端口,端口被占用时可以修改,默认:6800 - # 端口修改后,需要重新启动 aria2c.exe,并确保页面设置中的 RPC 地址已更改为新端口。 - rpc-listen-port=6800 - ``` - - 开启 BT 下列设置: - - ```conf - enable-dht=true - bt-enable-lpd=true - enable-peer-exchange=true - ``` - - 在文档最后一行添加 BT trackers,最新 trackers 列表从 [ngosang/trackerslist](https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt) 中获取,tracker 中用 `,` 隔开。 - - ```conf - # bt-tracker 更新,解决 Aria2 BT 下载速度慢没速度的问题 - bt-tracker=udp://tracker.opentrackr.org:1337/announce,udp://9.rarbg.com:2810/announce,udp://opentracker.i2p.rocks:6969/announce,https://opentracker.i2p.rocks:443/announce,udp://tracker1.myporn.club:9337/announce,udp://tracker1.bt.moack.co.kr:80/announce,udp://tracker.torrent.eu.org:451/announce,udp://p4p.arenabg.com:1337/announce,udp://open.stealth.si:80/announce,udp://open.demonii.com:1337/announce,udp://ipv4.tracker.harry.lu:80/announce,udp://explodie.org:6969/announce,udp://exodus.desync.com:6969/announce,https://tracker.tamersunion.org:443/announce,https://tracker.nanoha.org:443/announce,https://tracker.lilithraws.org:443/announce,https://tr.burnabyhighstar.com:443/announce,https://1337.abcvg.info:443/announce,http://tracker.mywaifu.best:6969/announce,http://bt.okmp3.ru:2710/announce - ``` - - 其他设置不常用,有时间的话,你可以慢慢调整。 - -5. Aira2 没有原生应用界面,可以输入网址 `http://aria2c.com` 使用第三方下载界面。该页面会自动与本地的 aira2c 程序关联,实现下载管理,建议把其收藏到书签,以便日后使用。^[[aria2 懒人安装教程](https://www.appinn.com/aria2-in-windows-setup/)] - -如果出现「Aria2 RPC 服务器错误」,请检查 JSON-RPC Path 是否为 `http://localhost:6800/jsonrpc`。注意,页面**链接须为 http 而非 https**。如果依然报错,则说明 aria2.conf 配置有误,建议下载 [真·懒人包](https://www.seoipo.com/software/Aria2/)。 - -## Aria2 进阶 - -### 更换 Aria2 界面 - -[AriaNg](https://github.com/mayswind/AriaNg) 提供了类似传统下载软件的界面,简便易用。 - -![](https://img.newzone.top/20180516104758.png "AriaNg 界面") - -使用方法:下载并解压 [AriaNg](https://github.com/mayswind/AriaNg/releases) AllInOne,运行目录下的 index.html,打开 Aria2 WebUI 界面,将页面链接收藏到书签以便后续使用 Aria2。注意,本地运行要用 AllInOne 版本,否则会出现 `cannot get language resources, and will display in default language`。 - -操作步骤如下:首先,下载并解压 [AriaNg](https://github.com/mayswind/AriaNg/releases) AllInOne 版本。然后,运行目录中的 index.html 文件,以打开 Aria2 WebUI 界面。为方便后续使用,建议将页面链接添加至书签。需注意,本地运行需使用 AllInOne 版本,否则可能会出现 `cannot get language resources, and will display in default language` 的错误提示。 - -如果 AriaNg 页面未连接的错误信息,则在页面左侧选择「AriaNg 设置」>「RPC」,检查 RPC 地址是否正确。默认地址应为 `localhost:6800`。 - -### Aira2 下载预热 - -Aira2 下载预热是 BT 下载前的必备步骤,否则速度容易很慢。 - -找一个热门影视的 BT 种子(注意是种子,不是磁力链接),然后下载并挂着做种。过几个小时后,退出 Aria2 或者等待 Aria2 会话自动保存,你会发现 dht.dat 从空文件变成有数据了,之后的 BT 下载速度就会快很多。 - -> 很多 BT 客户端一样,Aria2 有个 dht.dat 文件 (开启 ipv6 还有个 dht6.dat),这玩意用于存储一种叫做 DHT Routing Table 的东西,DHT 网络由无数节点组成,你接触到一个后能通过它接触到更多的节点,Aria2 我记得是有内置的节点,但是!如果你在 Aria2 第一次运行的时候直接下载磁力链接或者冷门种子,你很可能遇到连 MetaData 都无法获取的情况,这就是因为第一次只是初始化 dht.dat 文件,你本地不存在 DHT Routing Table 的缓存,所以你无法从 DHT 网络中获取足够的数据。^[[解决 Aria2 BT 下载速度慢没速度的问题](http://www.senra.me/solutions-to-aria2-bt-metalink-download-slowly/)] - -### 接管浏览器下载 - -如果想用 Aria2 接管浏览器的下载管理,需安装插件/扩展。 - -- Chrome:安装[添加到 aria2](https://chrome.google.com/webstore/detail/nimeojfecmndgolmlmjghjmbpdkhhogl) 扩展。下载包可以用[国内搬运地址](https://wwi.lanzoui.com/i4Fmeetsdaj),或是懒人包内置文件。 - 如果浏览器无法直接安装 `.crx` 格式的扩展,可以将文件解压到新文件夹「xxx」,然后在浏览器的地址栏输入 `chrome://extensions/` 开启开发者模式,点击加载已解压的扩展程序,选中刚才解压的文件夹「xxx」。 -- Firefox:安装 [Aria2 Download Manager Integration](https://addons.mozilla.org/en-US/firefox/addon/aria2-integration/) 扩展,可参考下方的 Chrome 扩展设置进行配置。 - -安装完「添加到 aria2」扩展后,右键扩展图标,点击「选项」>「设置」,设置如下: - -- 最小监视:`10` M,低于该容量将由浏览器下载。如果 Aria2 要接手所有下载,可以将最小监视设为 `0.001`。 -- JSON-RPC 链接:`http://localhost:6800/jsonrpc`。 - -注意:「添加到 aria2」图标显示的 `en` 表示处于开启状态,`dis` 表示处于关闭状态,点击图标可以切换使用状态。 - -## Aria2 启动器 - -每次启动 Aria2 下载时,都需要执行两个文件:打开 WebUI 链接和 aria2c,这有点麻烦。因此,我使用 AutoHotkey 做了一个启动器,它可以检测 aria2c 运行状态,并一键打开下载界面,以简化 Aria 的启动过程。 - -下载 [Aria2 启动器](https://wwz.lanzouf.com/iqud50ebl06d),然后将其解压到 Aria2 运行目录,例如 `D:\Aria2`。Aria2 启动器提供了两种方式,只需选择其中一种即可。 - -- **AriaNg 启动器**(推荐):使用 AriaNg 本地版作为下载管理界面。在使用该启动器前,需将 [AriaNg](https://github.com/mayswind/AriaNg-DailyBuild/archive/master.zip) 解压到 Aria2 目录下,并将文件夹名改为 AriaNg,然后打开文件 index.html,该文件位于 `Aria2\AriaNg\index.html`。 -- **Aria2c 启动器**:将 `https://aria2c.com` 作为默认下载界面。该设置较旧,需确保 JSON-RPC Path 为 `http://localhost:6800/jsonrpc`。 diff --git a/docs/_posts/2018-05-24-airtable_noob.md b/docs/_posts/2018-05-24-airtable_noob.md deleted file mode 100644 index 076ed74bbd..0000000000 --- a/docs/_posts/2018-05-24-airtable_noob.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: 真· Airtable 3 分钟菜鸟入门 -date: 2018-05-24 -category: - - 工具 -tag: - - Airtable -order: -18 ---- - -Airtable 是新型的表格制作工具,可以把文字、图片、链接、文档等各种资料聚合在一起,成为我们的**私人定制资料库**。 - -之前好几次看到介绍 Airtable 的文章,但每次的尝试都被繁多的模板给击败了。 - -这次换了个思路,抛弃既有的官方模板。从空白表格开始,小白也可以 3 分钟入门 Airtable。 - -## 建立空白 Airtable - -1. 注册并登录 [Airtable](https://airtable.com/)。 - -2. 点击「Add a base」, 然后选择「Start from scratch」, 从空白表格启动。 - ![](https://img.newzone.top/20180524095238.png?imageMogr2/format/webp) - -3. 进入刚刚新建的表格,界面跟 Excel 蛮像的。 - ![](https://img.newzone.top/20180524095557.png?imageMogr2/format/webp) - -4. 在第一栏单击右键,唤出 field 栏目选项,可以更改 filed 栏目类型和名称。 - ![](https://img.newzone.top/20180524095935.png?imageMogr2/format/webp) - -5. filed 栏目类型可以设为文本、链接、附件、单选多选等多种玩法,在使用中可以多试试。 - ![](https://img.newzone.top/20180524100437.png?imageMogr2/format/webp) - -更多玩法,参考[官方说明文档](https://support.airtable.com/hc/en-us/articles/203229705)。 - -## 应用 Airtable - -既然 Airtable 是个资料库,我们需要先为这个资料库准备个主题。 - -**想想自己有什么需求,怎么的资料库才可以帮助你?** - -我喜欢玩一些新奇软件。这些软件的入门学习大多会超过 3 小时。从产生学习冲动到实际学习,中间间隔一个月。等实际学习入门的时候,收集的信息早已忘光,不得不重新收集。 - -因此,我需要一个能汇集「入门学习资源」的资料库。 - -1. 按资源需求,列出应用名、资源说明、链接、进度。 - - ![](https://img.newzone.top/20180524102247.png?imageMogr2/format/webp) - -2. 点击「Group」,按类别重组表格。 - - ![](https://img.newzone.top/20180524102641.png?imageMogr2/format/webp) - - 选定后,表格会按类型分开显示,界面简洁许多。(Group 是我个人最爱的功能,太漂亮了)。 - - ![](https://img.newzone.top/20180524102740.png?imageMogr2/format/webp) - - 当表格越来越多后,我们可以使用「Hide fields」和「Filter」来只显示需要的元素。 - -**Hide fields** : 取消后,隐藏不需要的 fields 栏目。 - -![](https://img.newzone.top/20180524104251.png?imageMogr2/format/webp) - -**Filter** 和 **Group** 功能类似,都是通过特定条件,过滤出符合要求的 fields - -![](https://img.newzone.top/20180524105035.png?imageMogr2/format/webp) - -以上的内容虽然和 Excel 有些不同,但大都能通过 Excel 实现。**Airtable 与众不同的是视图变形功能,同样的内容却能通过不同的图表形式传达出来。** - -## Airtable 变形记 - -Airtable 拥有 **Grid、Form、Calendar、Gallery、Kanban** 这 5 种视图。 - -![](https://img.newzone.top/20180524110129.png?imageMogr2/format/webp) - -Grid view 是默认的格子视图,我们接下来一个个了解另外 4 种视图。 - -### Form view 表单视图 - -Form view 表单视图是调查问卷(协同工作?)工具。其他人可以通过加密链接,为你添加表格数据。 - -![](https://img.newzone.top/20180524112225.png?imageMogr2/format/webp) - -打开加密链接后,看到如下视图,填写后发送。 - -![](https://img.newzone.top/20180524112534.png?imageMogr2/thumbnail/500x) - -切换到 Grid view,刚才添加的数据已经添加如表格了。 - -![](https://img.newzone.top/20180524112659.png?imageMogr2/format/webp) - -### Calendar view 日期视图 - -Calendar view 日期视图是日程安排表,一定要包含**日期 field**。 - -![](https://img.newzone.top/20180524111028.png?imageMogr2/format/webp) - -所有的项目都按设定日期排列了。这个表格的第一列名字大都相同,所以看不出区别。 - -![](https://img.newzone.top/20180524111455.png?imageMogr2/format/webp) - -点击单个事件,会有具体说明。 - -![](https://img.newzone.top/20180524111716.png?imageMogr2/format/webp) - -### Gallery view 卡片视图 - -Gallery view 把每行数据变成一个卡片。 - -![](https://img.newzone.top/20180524113003.png?imageMogr2/format/webp) - -### Kanban view 看板视图 - -Kanban view 将数据重新排列为一个个看板。 (Kanban 这名字简洁明了,Airtable 开发团队里有国人?) - -如果表中没有「Single select」或「Collaborator」的 fields , Airtable 会提示新建 field 来命名看板,普通用户建议选第一个「**Create a new single select field**」。 - -![](https://img.newzone.top/20180524113513.png?imageMogr2/format/webp) - -Kanban 的界面和操作类似于 Trello,手动拖动卡片就可以操作。 - -![](https://img.newzone.top/20180524114139.png?imageMogr2/format/webp) - -参考资料: - -- [Airtable 最強大線上表格製作,免費資料庫重整任何事](http://www.playpcesor.com/2016/06/airtable.html) -- [重新想像 Excel 该有的样子:Airtable 评测](https://sspai.com/post/36402) diff --git a/docs/_posts/2018-06-08-baizhuo_gp1700.md b/docs/_posts/2018-06-08-baizhuo_gp1700.md deleted file mode 100644 index 028a176b28..0000000000 --- a/docs/_posts/2018-06-08-baizhuo_gp1700.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: 光猫改造 篇三:百卓 GP1700 进阶设置 - 端口映射 -date: 2018-06-08 -category: - - 网络 -tag: - - GP1700 - - 光猫 -order: -19 ---- - -宽带升级到千兆网络后,电信全面更新了光猫,关闭了的光猫管理地址,只能通过官方 APP「网络管家」管理光猫。 - -## 电信「网络管家」功能 - -- 重启光猫; -- 开启 UPnp; -- 开启 DMZ 主机,建立端口映射; -- 建立虚拟服务器,内网穿透访问。 - -## 开启光猫端口映射、内网穿透 - -1. 登录路由器管理地址 192.168.X.X。这里以梅林 AC5300 为图例。 - - ![](https://img.newzone.top/20180608183159.png?imageMogr2/format/webp) - -2. 打开电信官方 APP「网络管家」,依次点击中间的「路由器图标」→「高级设置」→「DMZ 主机」,启用 DMZ 主机并绑定刚刚获得的路由器 WAN IP 地址 - 192.168.1.X 。 - - ![](https://img.newzone.top/20180608185618.png?imageMogr2/format/webp) - -3. **光猫内网穿透**:当外网要访问局域网(192.168.1.3:1194)时,进入网络管家中「高级设置」→「虚拟服务器」,添加内部 IP 192.168.1.3、内部端口号 1194 和服务器端口号。服务器端口号可根据需求设置。假设光猫 IP 为 180.154.109.143,外网只需访问「180.154.109.143:12345」就可以计入局域网(192.168.1.3:1194)。 - - ![](https://img.newzone.top/20190330175000.png?imageMogr2/auto-orient/strip%7CimageView2/2/h/600) - -4. **路由端口转发**:进入路由器「高级设置」-「外部网络(WAN)」-「端口转发」,按要求设置端口。我这是 eMule TCP 和 UDP 转发,设置完成后,变成 High ID。 - -PS. 新版光猫**不需要管理员权限**就可以获取端口映射、DMZ、UPnp 等权限,但光猫桥接功能也很难破解了。 diff --git a/docs/_posts/2018-06-10-koolproxy_https.md b/docs/_posts/2018-06-10-koolproxy_https.md deleted file mode 100644 index 6eb472222e..0000000000 --- a/docs/_posts/2018-06-10-koolproxy_https.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: koolproxy 无法下载 https 证书? -date: 2018-06-10 -category: - - 网络 -tag: - - koolproxy -order: -20 ---- - -::: warning -KoolProxy 已经很长时间没有更新了,视频广告规则经常过期。有人反馈本文已失效。 -::: - -koolproxy 是可以运行在路由器上的广告屏蔽软件,跟其他最大的区别就是支持 https , 能有效屏蔽最新的视频应用广告(播个 10 分钟视频,广告 60 秒。。。) - -为了屏蔽 https 广告,koolproxy 需要在每台设备上安装 https 证书。但我访问证书地址 110.110.110.110 时,却被提示无法访问。 - -这是我们需要进入路由器后台,对证书地址进行操作。 - -进入路由器后台,一般设置-Tools-Run Cmd ,运行命令 `iptables -t nat -I PREROUTING -d 110.110.110.110 -p tcp --dport 80 -j REDIRECT --to 3000`。重启后,该命令失效。 - -![](https://img.newzone.top/20180610143928.png?imageMogr2/format/webp) - -运行命令后,就可以下载 https 证书,之后的设置参考 [Merlin 版 Koolproxy3.1.x 使用教程](http://koolshare.cn/thread-80430-1-1.html)。 - -保存 Koolproxy 设置后,一定要**重启路由**,否则可能部分屏蔽设置未成功生效。 - -**参考资料:** - -- [koolproxy 项目地址](https://github.com/koolproxy/merlin-koolproxy) -- [失效链接](http://koolshare.cn/thread-81712-1-1.html) diff --git a/docs/_posts/2018-06-19-iptv_direckly.md b/docs/_posts/2018-06-19-iptv_direckly.md deleted file mode 100644 index ca43ae5d74..0000000000 --- a/docs/_posts/2018-06-19-iptv_direckly.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: 客厅、书房、卧室,任意收看 IPTV 直播! -date: 2018-06-19 -category: - - 网络 -tag: - - IPTV -order: -21 ---- - -随着电视、机顶盒、以及 IPTV 盒的增多,家中的遥控器也变得越来越多。为了摆脱众多的遥控器,开始直接使用直播源来播放电视。 - -如果你有上海电信的 IPTV,可以使用 lucifersun 抓取的[上海电信 IPTV 视频回放源](https://github.com/lucifersun/China-Telecom-ShangHai-IPTV-list)(原理上**仅限上海电信**)。借助直播源地址,我们可以在 PC、电视、手机上直接看电视直播。这个 IPTV 直播源比电视直播**慢 15 秒**,对普通用户来说已经足够了。回放服务器已屏蔽公网 IP 的访问,仅限 vlan85 的 B 平面专网 IP 访问,参考:[电信公网疑似已屏蔽回放源 IP · Issue #28](https://github.com/lucifersun/China-Telecom-ShangHai-IPTV-list/issues/28) - -> 这个播放列表使用 IPTV 的频道 回放 功能。IPTV 直播用的是专网组播,无法直接通过 Internet 播放。 -> 因为不是所有频道都支持回放,所以这个列表里的频道 必然少于 IPTV 的直播频道。 -> 还有部分频道的回放地址播放错误,所以也没有收录。 - -如果你没有 IPTV,推荐使用 fanmingming 的 [live](https://github.com/fanmingming/live) 项目,这是一个国内可直连的直播源分享项目,直播源支持 IPv4/IPv6 双栈访问。 - -## 提取直播源列表 - -进入[上海电信 IPTV 视频流地址](https://htmlpreview.github.io/?https://raw.githubusercontent.com/lucifersun/China-Telecom-ShangHai-IPTV-list/master/IPTV.html)。点击「生成 txt 内容」,然后复制下方的**视频直播源列表**,保存为 tv.txt,并将 tv.txt 文本转为 **ANSI 编码**(避免节目名会出现中文乱码)。 - -![](https://img.newzone.top/20180619170944.png?imageMogr2/format/webp) - -## 电视盒子直播 - -1. 电视盒子上安装 APP-「超级直播」。 - -2. 进入「超级直播」应用后,点击「设置」-「二维码扫一扫 开启更多功能」,调出隐藏管理地址 `192.168.2.203:9188`。 - -3. 用与电视盒子位于同一局域网的电脑或手机访问**隐藏管理地址**,点击「我」-「上次自定义 (tv.txt)」-「上传」,上传刚保存好的 tv.txt。 - - ![](https://img.newzone.top/20180619164137.png?imageMogr2/format/webp) - -4. 将「超级直播」的播放列表切换到**自定义**,直接观看导入的电视节目。 - -## PC 端电视直播 - -1. PC 端安排 [Potplayer](http://www.potplayer.org/)。 - -2. 复制节目 rtsp 直播源链接,打开 Potplayer , 右键单击主界面 >「打开」>「打开剪贴板」。 - - ![](https://img.newzone.top/20180619140722.png?imageMogr2/format/webp) - -这样就可以在 PC 端看电视了。 - -参考资料: - -- [丢了你的 iptv 吧!上海电信 IPTV 直播源](http://koolshare.cn/thread-133246-1-1.html) -- [上海电信 IPTV 视频流项目主页](https://github.com/lucifersun/China-Telecom-ShangHai-IPTV-list) -- [上海电信 IPTV 视频流地址](http://htmlpreview.github.io/?https://raw.githubusercontent.com/lucifersun/China-Telecom-ShangHai-IPTV-list/master/iptvplayseek.html) diff --git a/docs/_posts/2018-10-07-huginn_scraping_any_website.md b/docs/_posts/2018-10-07-huginn_scraping_any_website.md deleted file mode 100644 index dc7f319cc2..0000000000 --- a/docs/_posts/2018-10-07-huginn_scraping_any_website.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: RSS 进阶篇:Huginn - 真·为任意网页定制 RSS 源(PhantomJs 抓取) -date: 2018-10-07 -category: - - 自动化 -tag: - - Huginn - - rss -order: -22 ---- - -烧制网页 RSS 源,主要有 **FEED43** 和 **Huginn** 两种方法。 - -- FEED43:简单免费,六小时抓取一次,每次抓取 20 条静态页面。 -- Huginn:自由度高,能自定义**抓取频率、内容结构、js 结果、输出样式**等;需要搭建服务器,学习 Huginn 抓取规则。 - - - -## Huginn 准备工作 - -- 准备 NAS 或 Debian/Ubuntu 环境的服务器; -- 参考 [deploy Huginn inside of Docker](https://github.com/huginn/huginn/blob/master/doc/docker/install.md)、[installation guide for Debian/Ubuntu](https://github.com/huginn/huginn/blob/master/doc/manual/installation.md) 来搭建 Huginn。 -- 注册 [PhantomJs Cloud](https://phantomjscloud.com/) ,然后将 API key 保存在 Huginn 的 Credentials 中。很多网站是用 JS 加载动态内容,因此需要 **PhantomJs Cloud** 来抓取页面 JS 缓存。免费版每天限制抓取 500 次页面,需求不大可建立多个账号使用不同 API key,足够个人使用。 - - ![](https://img.newzone.top/20181006010447.png?imageMogr2/format/webp) - -## PhantomJs 网页抓取 - -新建 Huginn 任务组 Scenario「国内应急新闻」,样例抓取链接为 `http://www.cneb.gov.cn/guoneinews/`。注意,某些链接,特别是小城市的地方网站,即使缓存后也可能无法打开。这通常是由于数据通过第三方链接注入造成的。你可以利用网页浏览器工具定位到真正的数据链接再进行抓取。 - -![](https://img.newzone.top/20181008131549.png?imageMogr2/format/webp) - -### 页面缓存 - -使用 Phantom Js Cloud Agent,获得动态网页缓存。 - -![](https://img.newzone.top/20181008111704.png?imageMogr2/format/webp) - -### 解析网页内容 - -使用 WebsiteAgent,抓取网页内容。 - -![](https://img.newzone.top/20181008112658.png?imageMogr2/format/webp) - -### 获取内容路径 - -使用火狐浏览器打开目标页面,获取 css path 路径。如果你使用的是 Xpath 路径,请将路径中的双引号替换为单引号,或者用反义符 `\` 注释掉路径中的双引号。 - -1. 按下 `F12`, 然后点击 _Developer Tools_ 左上角的*检查指针*。 - - ![](https://img.newzone.top/20181008114911.png?imageMogr2/format/webp) - -2. 选中要抓取的部分。 - - ![](https://img.newzone.top/20181008113925.png?imageMogr2/format/webp) - -3. 回到 _Developer Tools_ 窗口,右键选中的蓝色部分,获取 css path、Xpath。这里以 css path 为例。 - - ![](https://img.newzone.top/20181008114207.png?imageMogr2/format/webp) - -4. 初始 css path 路径,`html body div.area.areabg1 div.area-half.right div.tabBox div.tabContents.active table tbody tr td.red a`。 -5. css path 原始路径过长,删去不带 `.` 或 `#` 的节点(节点间以空格“ ”分割),并删去每个节点在 `.` 或 `#` 前的第一个标签,得到 `.area.areabg1 .area-half.right .tabBox .tabContents.active .red a`。 -6. 前半部分对节点定位无用,继续省略(比如:中国上海,省略掉中国,大家也知道上海在哪),获得短路径 `.tabContents.active .red a`。 - -**特殊路径处理**: - -- 有些路径中的**节点带空格**,如 `
`,路径中的空格由 `.` 代替,截取为 `.packery-item.article`。 -- 当抓取**多种 css path 规则**时,用逗号分割,比如 `"css": ".focus-title .current a , .stress h2 a",`。 -- 有时节点路径输入正确,但输出为空。此时,将路径更改为 `html`,检查源码中是否含有你需要的内容。动态页面直接获取会为空,你需要使用 PhantomJs Cloud 来缓存页面。 - -### 导出 RSS - -使用 DataOutputAgent,将抓取内容导出为 RSS。 - -![](https://img.newzone.top/20181008130943.png?imageMogr2/format/webp) - -回到 Scenarios,点击 Data Output Agent 旁的按钮「Actions」>「Show」,复制导出的 xml 链接 `http://xxx.xxx/users/1/web_requests/xxx/xxxx.xml`。 - -![](https://img.newzone.top/20181008131059.png?imageMogr2/format/webp) - -[点击网盘下载](https://pan.baidu.com/s/1JdsFkLN9kczR9C92tKi83A)国内应急新闻的详细设置,导入到 Huginn 即可使用。其他问题参考 [PhantomJs Cloud 英文攻略](https://github.com/huginn/huginn/wiki/Browser-Emulation-Using-PhantomJs-Cloud)。 - -微信的屏蔽措施非常之多,公众号抓取可以尝试 [wechat-feeds](https://wechat.privacyhide.com/)。 - -## 跳转链接处理示例 - -要获取跳转链接的真实地址,可以使用 WebsiteAgent 直接读取原网页的 HTML 代码,并检查其中的跳转代码。 - - - -跳转代码通常位于`