-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.json
1 lines (1 loc) · 201 KB
/
search.json
1
[{"title":"在 Windows 下使用监管模式保护 iOS 设备数据安全","date":"2022-11-27T10:48:16.000Z","url":"/archives/protect-my-iphone-on-windows/","tags":["Windows","Secure","iPhone","Exploit","Apple","配置"],"categories":["Tech","Apple"],"content":"本文将帮助您在 Windows 系统环境下,使用监管模式保护您的设备隐私安全,防止执法人员对您的设备进行取证。 前言 如果您想要理解监管模式的工作原理,了解这个方式的优缺点,以及如何在 macOS 系统下使用监管模式,请参考我之前的文章 利用 Pair Locking 保证 iOS 设备数据安全 因为 checkm8 漏洞的存在,在实际的保护隐私的意义上,能也仅能保护 iPhone XR 及其以上的设备。 需要注意的是: 建议在执行前,先完整阅读一遍此文章,再决定是否进行此操作。 将手机设置成受监管状态会 完全擦除手机,尽管擦除之后,您可以重新登录到您的 iCloud,所有同步过的设置,应用程序等项目都会再次出现。 但是,不能先对手机进行备份,再将手机设置成受监管状态,然后再恢复备份!!!(因为恢复备份的同时也会将设备还原到不受监管的状态) 即便如此,仍然建议在备份后执行此操作!!! 任何能够使用您的笔记本电脑的人都可以通过配对获取您的数据,并且可以完全访问您手机上的所有内容(在通过有线的方式连接到笔记本电脑之后)。 如果您无法访问笔记本电脑或丢失配对信息,那么您也将无法连接手机。 监管您的 iPhone 下载并安装 iMazing 2 使用监管功能需要在购买并激活 iMazing 2 后使用 将您的设备与电脑通过 USB 连接 选择设备后,点击界面右侧的监管按钮后,点击 下一步 进入监督页面 接下来,配置一个组织,来监管设备 点击 组织 - 选择 在弹出的页面中,点击左下角的 + 来新建一个组织 组织信息中,只有 名称 是必填项目,此处设置的名称将会在设备上显示,其他信息可以不填写 保存之后,选择刚刚创建的组织 配置监管设置 勾选 允许在没有监管组织的情况下配对 取消勾选 禁用 USB 限制模式 勾选 允许被监管时使用激活锁(允许使用查找我的) 点击下一步,此时会提示抹掉所有内容和设置, 此处会弹出多次确认提醒 在 iMazing 的主界面点击 工具 - iMazing Profile Editor,打开配置文件编辑工具 首先,在 General 页面下,找到 Prevent users from removing this profile 和 Has removal passcode,根据自己的喜好进行选择 Prevent users from removing this profile 即无法在设备中删除此配置文件 Has removal passcode 则会在移除时要求输入正确的密码后才能删除 建议两项二选一(因为我也没测试过同时开启会发生什么) 如选择 Has removal passcode 时,则需要在左侧列表中找到 Profile Removal 页面中,点击 Add Configuration Payload 后,在 Removal Password 项目中设置密码 效果如下: 接下来,在左侧列表中找到 Restrictions 点击 Add Configuration Payload 后,找到并取消勾选 Allow host pairing 继续做一些喜欢的设置后,继续下一步的操作即可 点击左上角 File - Save to iMazing Library,保存配置文件到 iMazing 库中 返回 iMazing 主界面,在设备的应用列表中找到 描述文件,点击 从资料库安装,选择刚刚保存的配置文件后,点击 选择 即可 总结 禁止与新设备的配对可以一定程度上的提升身边的安全性,但一直以来安全与便利就是一个两难的选择。比如外出时,除非移除配置文件,否则将无法与其他设备通过有线方式进行数据传输以及备份。 参考链接 利用 Pair Locking 保证 iOS 设备数据安全 Supervise iPhone, iPad and iPod touch Getting started with iOS configuration profiles "},{"title":"2021 年终总结","date":"2021-12-30T07:21:01.000Z","url":"/archives/bye-2021/","tags":["Yearly","2021"],"categories":["Other"],"content":"2021年即将结束,而 Corona 也陪伴我们度过两个年头了。按照传统,到了该更新我的年终总结的时候,才发现自己竟然大半年多没有更新自己的博客了。 那我就先来说一下网址的部分吧~ 排除掉10月份网址被我搞炸掉的几天之外,今年一共有大约11万次的访问,平均下来差不多每个月不到1万吧。 然后今年的话一共就写了两篇文章,还是年初的时候写的,果然不更新博客的话访问量还是会掉的鸭…… QAQ 顺便感谢大家一直以来的支持,我的 Adsense 收入在经过三年以后,也终于快要到100刀的提现额度啦~(比心心 ♥) 今年的话,从去年开始想重新写的 uv.uy 还是没有重新写,继续咕咕咕~ 🕊️🕊️🕊️ 不过前不久倒是把 ts3.gs 也就是我的 TeamSpeak 服务器的页面给重写了,就是下面这个样子啦~ 首先是支持了系统的暗色模式(好像我之前的也支持……),然后就是可以显示服务器的实时在线人数和平均延迟、丢包啦~再就是在连接服务器的地方可以显示服务器的状态了 哦,对了有什么办法治一治我总想买域名的毛病呢?(苦恼 网站的部分大概就是这样喽~接下来似乎就该聊聊我自己了。 今年的话,主要的人生进程的话,就是开始了我的朝10晚9的研究生生活,每天其实都有种在上高三的感觉。 不过转眼间研究生的生活就过了一半了,今年的一年里接触到了 Flutter, Arduino, ESP32等等等等的新东西,也学到了很多的新知识,顺便做了一次 Poster 发表。 明年的话,就要开始着手准备读博的事情了,希望一切顺利把~ 顺便最近也开始学习新的语言了,不过既然刚刚开始学,就不拿出来丢人了。 今年的话,一样来发一个支付宝红包把~ 55465437 祝大家学业进步,事业顺利。新的一年一切顺利,身体健康,天天开心~~~"},{"title":"在 TeamSpeak 服务器上使用 GeoIP 数据库","date":"2021-03-06T08:08:51.000Z","url":"/archives/geoip-with-teamspeak/","tags":["Linux","搭建","服务器","VoIP","语音","Docker"],"categories":["Tech"],"content":"一直以来, TeamSpeak 服务器都在使用 IP2Location 的数据库,但是因为不能即使更新,所以准确率一直是一个问题。作为Edison 填坑系列之二,我将在本文说明如何在 TeamSpeak 服务器上使用 GeoIP 数据库。 终于, TeamSpeak 在 1.13.0 的版本开始支持调用 mmdb 格式的数据库了。 我们想要获取 MaxMind 公司的免费版数据库 GeoLite2 ,先要注册账号。 注册 MaxMind 账号 访问 注册账号。 注册完成后,登录账号,点击页面左侧的 Download Files 选项 获取 GeoIP 数据库 因为 TeamSpeak 只需要精确到国家,所以我们选择 GeoLite2 Country 获取永久链接 如果不想配置自动更新,可以忽略这一步,直接右键点击 Download GZIP 获取下载链接即可 点击 Get Permalinks 会看到如下界面 获取许可证密钥 如果不想配置自动更新,可以忽略这一步 打开页面左侧的 Manage License Keys 选项卡,点击 Generate new license key License key description 的部分自己填写就好, 因为我们要自己配置 GeoIP Update 所以下面的选项选 No 即可 点击 Confirm 之后,我们便可以获取到自己的 ID 和许可证密钥了。复制此处的 License key, 替换到上方链接中。 请务必妥善保管自己的许可证密钥。 举个例子,比如我的Key是 AAAAAAAAAAAAA, 那么链接即 下载 在服务器中下载这个文件 请注意替换链接 解压该文件 tar -xvf + Tab 我们应该能获得三个文件,此处只需要里面的 GeoLite2-Country.mmdb 复制该文件到 TeamSpeak 服务器端的目录下, 此处以 /opt/teamspeak3-server_linux_amd64/ 为例 此处请注意替换目录地址 配置 TeamSpeak 服务端 通过添加这个启动项来让服务端调用 mmdb mmdbpath= 先测试能否正常调用 如果有以下提示,需要安装 maxminddb 库 参见 常见问题 - maxminddb library not found, disabling MMDB usage 部分 成功运行时,会看到如下的日志 此时,我们先 Ctrl + C 停止服务器 方式一: 添加启动项 接下来,我们只需要在正常的启动命令后面添加刚刚的启动项即可 比如 ./ts3server_startscript.sh start mmdbpath=GeoLite2-Country.mmdb 方式二: 创建配置文件 如果之前有引入过配置文件,或者想要创建配置文件。 创建名为 ·ts3server.ini· 的配置文件,在配置文件中添加 mmdbpath=<MMDB 文件> ,启动时,调用配置文件即可。 为了方便演示,此处以 ./ts3server inifile=ts3server.ini 的方式启动服务器 ./ts3server_startscript.sh start inifile=ts3server.ini 配置自动更新(进阶操作) 此部分是一个可选项。 每次更新后,需要重新启动服务器端才能生效 我写了一个比较简单粗暴的脚本 创建 /opt/geoip/ 目录 mkdir /opt/geoip 注意替换脚本中的下载链接,按照我的这个配置中 mmdbpath 也应该被替换为 geoip.mmdb。 如果启动或停止服务器时时通过命令行进行的,那么只需要将 systemctl restart teamspeak 替换为 ./ts3server_startscript.sh start mmdbpath=GeoLite2-Country.mmdb 或其他指令即可。 接下来把这个配置到 crontab 里面即可 比如,我自己的服务器设置的是时间是每月1号 4:30 自动更新。 至此,替换 IP 数据库,自动更新的操作就完成了。 常见问题 maxminddb library not found, disabling MMDB usage 如果有以下提示,需要安装 maxminddb 库 此处以 Debian 10 x64 系统为例, 安装 libmaxminddb-dev 包即可 此处需要 sudo 或 root 权限 参考链接 "},{"title":"利用 Cloudflare WARP 为家里添加 IPv6 网络","date":"2021-02-27T04:18:32.000Z","url":"/archives/cloudflare-with-openwrt-as-ipv6/","tags":["Cloudflare","OpenWrt","Wireguard","IPv6"],"categories":["Tech"],"content":"说起来,其实这算是一篇拖更了蛮久的文章了。虽然没有 IPv6 对于日常使用完全没有任何影响,但是就还算总想折腾一下,给家里添置上 IPv6。我将会说明如何利用 Cloudflare WARP 为家中添置 IPv6 网络。 前言 最初的最初,其实是想等运营商给分配 IPv6 的,但是等了几年也没有任何的进展。 既然等分配的路子行不通,那我就走 HE 的 Tunnel 吧,奈何 KT 和 HE 的线路全都要绕美国。 直到 Cloudflare 出了 WARP 也总算是有了个比较好的解决方案了。 ˋ( ° ▽、° ) 获取配置文件 获取配置文件的方式有蛮多种的,其他使用过的工具会放在文章末尾参考链接的部分 利用 wgcf 获取配置 这里以 @ViRb3 大佬的 wgcf 工具 Github 为例 此处以 Windows 为例,不同操作系统操作方式相同 下载二进制程序后,执行 ./wgcf register 来创建账号, 看到 Successfully created Cloudflare Warp account 说明账号创建成功了。 接下来,我们需要执行 ./wgcf generate 来生成 Wireguard 配置文件 正常情况下,我们就得到了一个名为 wgcf-profile.conf 的配置文件 配置 OpenWrt 安装组件 此处以 19.07.7 版本的 OpenWrt 为例 打开 OpenWrt 后台,安装 luci-app-wireguard 和 kmod-ipt-nat6。 安装完成后,重启 OpenWrt 后 配置 Wireguard 打开 Network - Interfaces, 点击 Add new interface... 添加 Wireguard 填写名称,协议选择 WireGuard VPN, 点击 Create interfaces 按照,刚刚生成的文件 wgcf-profile.conf,填写 Private Key 和 IP Addresses, IP 的部分只填写 IPv6 即可 点击 Firewall Settings 选项卡, 添加至 wan 的防火墙组 点击 Peers 选项卡, 点击 Add peer, 按照,刚刚生成的文件 wgcf-profile.conf,填写 Public Key, Endpoint Host 以及 Endpoint Port 因为我们只需要他访问 IPv6 网络,所以 Allowed IPs 填写 ::/0 勾选 Route Allowed IPs 点击 Save , Save & Apply 配置内网 此时,你会发现通过路由器,你已经可以访问 IPv6 但内网的设备还是不行 打开 Network - Interfaces, 点击 LAN, 打开 DHCP Server - IPv6 Settings 选项卡 将 Router Advertisement-Service 设置为 server mode DHCPv6-Service 设置为 disabled NDP-Proxy 设置为 disabled 勾选 Always announce default router 保存设置 启用自动地址配置和路由器发现 SSH 连接 OpenWrt 后运行该指令以启用自动地址配置和路由器发现 修改内网地址前缀(ULA) 修改内网地址前缀,避免一些设备以为我们没有 IPv6 网络 设置防火墙 重启网络 最终效果 此时,我们便能访问 IPv6 网络啦~ ( ̄y▽, ̄)╭ 参考内容 OpenWrt - IPv6 OpenWrt - NAT6 and IPv6 masquerading Openwrt - WireGuard Client Openwrt - WireGuard Extras OpenWrt配置IPv6 NAT yyuueexxiinngg/some-scripts - Github "},{"title":"2020 年终总结","date":"2020-12-31T12:59:38.000Z","url":"/archives/bye-2020/","tags":["Yearly","2020"],"categories":["Other"],"content":"转眼间, 2020年马上就要过去了,按照每年的惯例,又到了该写年终总结的时候了呢。想了一想,用一个词来说今年的话,可能只有 “Corona” 能代表今年了吧,这也是我选用它作为缩略图的原因。 按照惯例,还是先说说网站的部分,嘿嘿嘿。 完成了去年的计划 —— 重写 uv.uy 的页面 把短链接地址再度的进行了改变 —— go.uv.uy 独立了我的 TeamSpeak 服务器的地址 把博客放在了 Cloudflare Workers上, 结果今年就只有在年初的时候写了 9 篇文章,有三篇文章本来要写,结果一直咕咕咕到了现在 访客量的话,大概是因为我完全没有更新博客,访客量也没有什么明显的变化 网站的部分基本就是这样,下面来说说我自己的部分吧。 因为疫情的原因,早早的回来了韩国。也同样是因为疫情,大学的最后一个学期,是在每天在家里上网课,玩游戏的状态下结束的,甚至毕业都没有了往年例行的毕业会。早知道这样的话,半年前让我作为优秀毕业生发言我就应该去的,呜呜呜。 虽然说算是个遗憾吧,但也算是一个蛮特别的经历了。 再就是成功的上了研究生,虽然之后要做的事情可能和编程和做网站完全没什么关系就是了。 哦对了,说起来今年在年初的时候似乎我还又面基了一大群大佬的样子~ 小浩,小黄蜂,Kotomei,Nanoape,Lazymio,Lucas,立音,Canoe 结果刚面基过大佬们没多久疫情就爆发了。 可能也算是幸运吧? 另外就是在进了实验室之后,把实验室的网站拿 React 重写了一遍。 似乎再也就没有什么别的事情了。 emmmm 顺便发一个支付宝红包吧~ 57174837 祝所有看到我这篇文章的人,也祝我自己身体健康,新的一年一切顺利,天天开心~"},{"title":"提升战网游戏下载速度","date":"2020-03-26T06:25:01.000Z","url":"/archives/speed-up-battle-net/","tags":["Windows","优化","设置","配置","BattleNet"],"categories":["Gaming"],"content":"最近和国内的小伙伴一起玩 COD 的时候,因为国内网络的问题便会遇到下载速度巨慢的问题,本文将说明如何提升战网游戏的下载速度。 本文提到的工具来自羽翼城大佬 解决方法 我们需要大佬制作的 CDN 重定向工具,来解决分配到龟速CDN下不动的问题。 您可以在此处选择我的转存版本,亦可点击上方大佬的博客下载大佬提供的默认下载地址 点此下载 下载完成后运行后,选择 CDN (此处建议选择 Akamai), 接下来点击启动重定向即可。 这时,重新启动我们的战网客户端,开始下载的话,如果重定向成功工具上会显示凹凸凹凸凹凸。 如果没有问题的话,下载速度过慢的问题也得到了解决。 又水了一篇博客呢, 耶 ( •̀ ω •́ )y 参考链接 战网下载CDN重定向V1.2 图片来源 blizzard.com"},{"title":"同时运行 Edge 和 Edge Legacy","date":"2020-03-20T02:46:47.000Z","url":"/archives/keep-edge-legacy/","tags":["Windows","Regedit","Edge","Chrome"],"categories":["Tech"],"content":"Edge Chromium 是微软基于 Chromium 内核的一款浏览器,并于今年年初发布正式版,微软在其博客中表示会在未来的版本中替换掉目前的 Edge Legacy,那么要怎么同时保留两个版本呢? 下文按照微软官方的叫法,均将目前基于 EdgeHTML 内核的 Edge 浏览器叫做 Microsoft Edge Legacy,最新基于 Chromium 内核的 Edge 浏览器叫做 Microsoft Edge。 以我本人来说,还是蛮喜欢 Microsoft Edge Legacy 的 (其实我一直把它拿来当作 PDF 阅读器来用) 根据微软官方的说明,在未来版本的 Windows 中,会直接替换掉现有的 Edge Legacy ,下面就来说说如何让两个版本共存 方式一: 编辑组策略方式 若要设置并行浏览器体验策略,请执行以下操作: 点击 这里 从 Microsoft Edge For Business 安装策略定义。 选择要使用的频道/结构 (channel/build) 和平台 (platform) ,然后单击“获取政策文件” (GET POLICY FILES) 。 将压缩文件解压缩,解压缩后,我们会获得这样一个文件目录 打开 windows/admx 目录后 将 msedge.admx 和 msedgeupdate.admx 两个文件复制到 C:\\Windows\\PolicyDefinitions 目录下。 从 zh-CN 目录中将 msedge.adml 和 msedgeupdate.adml 两个文件(从相应的语言/区域设置目录),复制到 C:\\Windows\\PolicyDefinitions\\zh-CN 目录下。 打开组策略编辑器 (gpedit.msc)。 在计算机配置下方,转到 管理模板 > Microsoft Edge 更新 > 应用程序。 如果看不到 Microsoft Edge 更新文件夹,请验证步骤 1 是否已正确完成。 在应用程序下方,双击“ 允许 Microsoft Edge 并行浏览器体验 ”。 然后再继续执行下一步。 默认情况下,将这个组策略设置为“ 未配置 ”,这导致在安装 Microsoft Edge 的新版本后隐藏旧版 Microsoft Edge Legacy。 选中 已启用,然后单击确定。 执行此操作后,便会添加我在方式二中所写的注册表值,当然也可以自行操作 接下来,下载 Stable 渠道的 Microsoft Edge 并进行安装就可以了 方式二: 编辑注册表方式 按下 Win +R 键,输入 regedit 后,打开注册表 找到 Computer\\HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\ 目录后,新建一个名为 EdgeUpdate 的项 在 EdgeUpdate 目录下,新建 DWORD(32位) 值,并命名为 Allowsxs,将其键值设置为 1 找回 Edge Legacy 可能有些小伙伴已经安装了新版本的 Microsoft Edge ,那么会直接隐藏掉旧版本的 Microsoft Edge Legacy。 想要找回 Edge Legacy 的话,我们需要先卸载掉当前系统中的 Edge,然后再执行上面的操作就可以了。 阻止更新 如果不喜欢新版本的 Microsoft Edge,甚至不想让电脑在未来自动更新的话,可以执行如下操作 请务必注意: 阻止程序工具包不会阻止用户从 Internet 下载或外部介质手动安装 Microsoft Edge(基于 Chromium)。 你可以从 这里 下载阻止程序工具包的可执行文件。 解压会会得到如下文件 该脚本可在本地计算机或远程目标计算机上创建注册表项,并将关联的值设置为阻止或取消阻止(具体取决于所使用的命令行选项)Microsoft Edge(基于 Chromium)的自动传递。 注册表项: HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\EdgeUpdate 注册表项名称: DoNotUpdateToEdgeWithChromium 值 结果 未定义注册表项 将不会阻止分发。 0 将不会阻止分发。 1 将阻止分发。 此脚本具有以下命令行语法: EdgeChromium_Blocker.cmd [<machine name>] [/B] [/U] [/H] 计算机名 参数是可选的。 如果未指定,则在本地计算机上执行操作。 否则,将通过 REG 命令的远程注册表功能访问远程计算机。 如果由于安全权限而导致无法访问远程注册表,或者找不到远程计算机,REG 命令将返回一条错误消息。 开关 脚本使用的开关是互斥的,因此将仅对给定命令中的第一个有效开关进行操作。 可在同一台计算机上多次运行该脚本。 开关 描述 /B 将阻止分发 /U 将取消阻止分发 /H 或者 /? 将显示以下摘要帮助: This tool can be used to remotely block or unblock the delivery of Microsoft Edge (Chromium-based) through Automatic Updates. Usage: EdgeChromium_Blocker.cmd [<machine name>] [/B][/U][/H] B = Block Microsoft Edge (Chromium-based) deployment U = Allow Microsoft Edge (Chromium-based) deployment H = Help Examples: EdgeChromium_Blocker.cmd mymachine /B (blocks delivery on machine "mymachine") EdgeChromium_Blocker.cmd /U (unblocks delivery on the local machine) 参考链接 Upgrading to the new Microsoft Edge Access Microsoft Edge Legacy after installing the new version of Microsoft Edge How to Run Chromium Edge and Legacy Edge Together in Windows 10 [Tip] How to Restore Old Legacy Microsoft Edge Browser After Installing New Edge in Windows 10 Blocker Toolkit to disable automatic delivery of Microsoft Edge (Chromium-based)"},{"title":"解决 Windows 下使用 Yubikey GPG 签名找不到密钥的问题","date":"2020-03-19T01:45:00.000Z","url":"/archives/gpg-yubikey-windows-no-key/","tags":["Windows","Secure","Github","Tools","Shell","Yubikey"],"categories":["Tech"],"content":"在 Windows 尝试使用 Yubikey 进行给 Git 进行 GPG 签名的时候便遇到了这个问题,,也算是困扰了我蛮长的一段时间了,终于找到了解决办法 错误信息 解决办法 在 cmd 或者 Powershell 中输入 此处的程序所在位置可能会根据每个人的安装地址发生改变,还需要根据个人情况自行调整 接下来,再 commit 的时候就不会再报错啦~ 开心 o( ̄▽ ̄)ブ 啦啦啦~ 参考链接 Use Yubikey (GPG key) for SSH YubiKey-Guide git commit signing failed: secret key not available How to setup Signed Git Commits with a YubiKey NEO and GPG and Keybase on Windows"},{"title":"将所有 Git 远程仓库 URL 从 HTTPS 替换成 SSH","date":"2020-03-19T01:14:39.000Z","url":"/archives/git-ssh-instead-of-https/","tags":["优化","Github","Git"],"categories":["Tech"],"content":"自从年初的时候入手了 Yubikey 之后,就在 Github 上配置了安全密匙,随之而来的是在 push 到 Github 的时候不知道自己的密码到底是什么了(直接输入密码会报错),为了掩盖自己是一个垃圾的事实,便想到了让所有的 git 都走 SSH 而不是 HTTPS 的方法 解决方法 此处以 Github 为例,在命令行中输入以下内容即可 (替换所有的 HTTPS 为 SSH) 如果有更好的解决办法,欢迎通过各种方式告诉我,比心 参考内容 更改远程仓库的URL - GitHub 帮助 - GitHub Help git-config(1) Manual Page How do I get git to default to ssh and not https for new repositories unsplash-logoHarley-Davidson"},{"title":"将 QQ 音乐歌单导入到其他平台","date":"2020-01-22T13:39:29.000Z","url":"/archives/export-qqmusic-playlist/","tags":["Music","Bat","QQ Music"],"categories":["Tech"],"content":"我之前发过一篇文章详细介绍过如何将网易云音乐导入到其他平台,然后这两天有朋友问我怎么处理 QQ 音乐,在网络上搜寻一番无果后,这篇文章便应运而生。 「导入网易云音乐歌单到 Apple Music」 首先先引用一下我之前的文章,虽然标题是写 Apple Music 但实际上支持很多主流平台 获取歌曲列表 首先,在浏览器中打开你的歌单链接。将歌单 id 地址替换到此地址即可获取完整的歌单列表 感谢 @July 的提示 点击 F12 打开 Developer Tools,接下来点击 Console 选项卡,输入这段指令然后同样将链接中 id 的部分替换为歌单的 id 点击回车。接下来便会输出歌单列表了。 感谢 @里里昂 的反馈发现因为 QQ 音乐的网页的显示原因,只能获取到列表中的前十首歌 这里以官方歌单做一个演示,复制输出的歌单信息,然后准备导入到其他平台 导入到其他平台 这部分的操作其实和之前在 「导入网易云音乐歌单到 Apple Music」 中说的操作基本一致。 当然此处还是以导入到 Apple Music 为例: 导出歌单后,打开 TuneMyMusic 网站 导入来源选择 从文本 ,目的地选择 Apple Music 即可 接下来,按照网页的提示进行操作即可. 此方法支援的平台有 Spotify, Apple Music, Youtube, Youtube Music, Deezer, Tidal, SoundCloud, KKbox, napster 和 SoundMachine 请注意,每次最多可导入 1000 首歌曲 感谢 立音大佬 提供技术支持 (≧▽≦)"},{"title":"给你的 Hexo 博客添加 CMS","date":"2020-01-16T21:20:48.672Z","url":"/archives/hexo-with-netlify-cms/","tags":["Hexo","Netlify","CMS","Config"],"categories":["Tech"],"content":"使用 Hexo 来写博客的时候,经常会有想要在线编辑的需求,比如电脑不在身边啦,或等等的情况。一般来说可能都会搭配 CI 来使用(比如说我),当然还有另一种方案,那就是—— CMS(内容管理系统) 本文中可能有一部分用词不太准确,请您谅解 (呜呜,中文越来越退步了 ㅠ^ 本文将会介绍如何为你的博客集成 Netlify CMS 并在线编辑和发布文章 本文便是使用 Netlify CMS 进行编辑并发布的文章 在 Netlify 上发布你的博客 首先,你需要将博客上传到 Github 并发布到 Netlify 上 打开 Netlify 并登录后,点击 New site from Git 接下来,在 Build Command 中填写 hexo g Publish directory 的目录则填写 public 如果您配置过 CI, 那么此处填写的命令与您之前 CI 的命令则比较类似 然后找到顶栏的 Settings 页面下的 Identity,点击 Enable Identity 启用身份管理 往下翻,找到 Registration ,将 Open 修改为 Invite Only 找到 Services 下的 Git Gateway 点击 Enable Git Gateway Hexo 博客文件的配置 添加 Header 在博客的 Header 中添加一个 JS 接下来,在 source 下 创建一个 admin 目录 这个目录的名称可以自行修改为其他名称,但确保后面操作的时候要和此处的名称一致 创建 index.html 文件并键入如下内容 同样,在 admin 目录下 创建 config.yml 文件并输入如下内容 在博客的配置文件 _config.yml 文件中的 skip_render 下添加 创建 CMS 帐号 接下来,我们开始创建 CMS 的帐号。在 Identify 页面点击 Invite user 输入你的邮箱之后,点击确定 如果一切正常的话,此时你会顺利地在邮箱里收到一个邮件 点击邮件中的链接,并设置密码后,访问 /admin 目录 这时没问题的话,你应该能顺利的看到你的博客上的文章了 接下来便可以对博客上的文章进行编辑了 参考内容 Hexo starter with Netlify CMS and redirects Hexo Netlify CMS 博客写作攻略 --Hexo+Github+Netlify+CMS netlify-templates/hexo-cms-example 使用 Netlify CMS 作为博客的 CMS Gatsby | Netlify CMS | Open-Source Content Management System Configuration Options | Netlify CMS | Open-Source Content Management System netlify/netlify-cms "},{"title":"接收短信并转发至 Telegram","date":"2020-01-13T08:15:34.000Z","url":"/archives/sms2tg/","tags":["Linux","搭建","Tools","Gammu","SMS","Telegam","RaspberryPi"],"categories":["Tech"],"content":"尽管可以利用闲置安卓手机加 IFTTT 实现接收短信并转发至 Telegram 的操作,但是还是没有自己制作的更让自己满意,毕竟自己的一些奇思妙想是其无法直接实现的。 使用的设备 Raspberry 3B+ Air720H (理论上同样支持其他模块) 树莓派是白嫖 Peter 的 ヽ(‘ ∇‘ )ノ 使用的程序 NodeJS (可以替换为一切语言,甚至仅使用 bash 脚本也是可行的) Yarn Gammu 树莓派的系统版本为 Raspbian 使用的接口 Telegram Bot 腾讯云短信接口 (可移除,或替换为其他平台) 准备过程 首先将模块与树莓派连接好之后,lsusb 就会看到相应的设备了因为我是用 USB2TTL 来进行连接,所以此处看到的设备为 接下来,在 /dev 目录下找到对应的 ttyUSB 因为我只插了这一个 USB 设备,所以很容易确定对应的地址为 /dev/ttyUSB0 从此处开始,以 root 身份进行操作 安装与配置 Gammu 从此处开始,以 root 身份进行操作 接下来,开始安装 Gammu 使用 gammu-config 来进行配置 根据设备的不同配置可能会略有不同 将 Port 修改为 /dev/ttyUSB0 将 Connection 修改为 at115200 现在,我们来验证配置是否成功 接下来,测试发送短信 如果没问题的话,你应该会顺利收到自己发出的短信了 安装 NodeJS (可选) 安装与配置 Gammu-smsd 安装 gammu-smsd 启动并设置开机启动 编辑 /etc/gammu-smsdrc 文件 其中部分内容需要根据个人情况进行修改 接下来,在 /root/gammu 下创建 package.json 这部分可以替换为下面 bash 方案的内容 创建并编辑 index.js 文件 其中部分内容需要根据个人情况进行修改 创建并编辑 call.js 文件 其中部分内容需要根据个人情况进行修改 接下来,安装 dependence 然后收到短信时,自动将短信转发至 Telegram。来电时,挂断电话,将来电人信息转发至 Telegram,并通过短信接口给来电者返回短信通知。 bash 方案 这是我目前在使用的方案,相较 NodeJS 的玩法算是更加的轻量化了。不再需要安装 NodeJS, 操作方式如下。 创建并编辑 /usr/local/bin/sms2tg-sms 文件 其中部分内容需要根据个人情况进行修改 httpie 的部分, 可以替换为 curl 等 创建并编辑 /usr/local/bin/sms2tg-call 文件 其中部分内容需要根据个人情况进行修改 接下来,修改 /etc/gammu-smsdrc 文件如下 最后,执行 chmod +x /usr/local/bin/sms2tg-{sms,call} 即可 如果您有更棒的方案,欢迎留言告诉我~ 原本的执行方式(过时) 因为 Python 2 已经于 2020年1月1日寿命已经终结,所以此部分理论上已经过时 感谢 @Peter 提供技术支持 使用的程序 Python 2 python-pip 安装必要模块 修改 Python package 因为这个包已经很久不更新,而且在 Python 3 下运行存在问题,所以我们需要做一些修改 /usr/local/lib/python2.7/dist-packages/gsmmodem 修改 modem.py 文件的以下部分,当然我也在下方提供了修改后的版本,替换即可 57 行 132 行 1117 行 1127 行 1151 行 1245 行 1266 行 1384 行 1403 行 修改后的文件 下载链接 Python 文件部分 将下方内容写入 sms.py 收到短信时,自动将短信转发至 Telegram。来电时,挂断电话,将来电人信息转发至 Telegram,并通过短信接口给来电者返回短信通知。 此处使用的短信接口为腾讯云,可替换为其他提供商。 请自行替换其中的数据部分 接下来,运行 sms.py 即可 参考链接 sms2tg - Forward SMS messages from a CDMA Modem to Telegram 使用树莓派来收发短信 - Indexyz Blog qcloudsms/qcloudsms_js: qcloudsms Node.js SDK Gammu Documentation Contents » Gammu Configuration File Gammu Manual How to parse command line arguments | Node.js Gammu Utility — Gammu 1.41.0 documentation gammu 1.38.6 - HangupCalls and RunOnIncomingCall not working #376 SMSD Configuration File — Gammu @GAMMU_VERSION@ documentation "},{"title":"解决 Linux 下 Lenovo Yoga 900 触摸板开关键失效问题","date":"2020-01-10T11:34:17.000Z","url":"/archives/lenovo-yoga-900-linux-touchpad-toggle/","tags":["System","优化","设置","配置","Linux","config"],"categories":["Tech"],"content":"在将笔记本的系统更换到 openSUSE 之后,趁着今日闲来无事,总算解决了触摸板开关键无效的问题。 我在想要不要从今年开始,之后的每个文章里面都插一首歌呢? 但是是不是可能以后似乎需要考虑一下版权的问题呢? 在进行操作前,请确保已经安装好 udev 添加自定义 hwdb 在 /etc/udev/hwdb.d/ 目录下创建并编辑 10-yoga.hwdb 文件,如果没有 hwdb.d 目录的话,手动创建此目录即可 在该文件中写入如下内容 更新硬件数据库索引 更改配置文件,需要重建硬件数据库索引文件 hwdb.bin 正常的话,此处不会有任何输出。 接下来,重启计算机,再次开机后,即可发现触摸板开关键已经恢复正常。 参考链接 Lenovo IdeaPad Yoga 900 - ArchWiki Map scancodes to keycodes - ArchWiki Talk:Lenovo IdeaPad Yoga 900 - ArchWiki [ubuntu] Lenovo Ideapad Yoga Key Repeating For No Reason How to disable/enable the touchpad for the Lenovo Yoga 900 13ISK2 Yoga 900 - Hotkey functions and Function keys "},{"title":"使用 Yubikey 进行 GPG 签名","date":"2020-01-09T06:27:43.000Z","url":"/archives/gpg-sign-via-yubikey/","tags":["Secure","Github","GPG","Yubikey"],"categories":["Tech"],"content":"前两天入手了一个 yubikey 5 之后,在给几个常用的网站配置了用于两部认证的安全密钥之后,便在想还能拿来做什么,经过一番尝试之后发现了几个比较好玩的玩法。本文便是其中之一。 (其实就是想多水几篇文章 生成 GPG 证书 说到生成证书,请务必要对证书做好备份,不然就会像我一样 QAQ 在立音的诱惑下(其实主要也是我闲着没事干),我便把笔记本从 Manjaro 换成了 openSUSE ,然后这时我发现我忘记备份我的 SSH 密钥,配置文件,甚至 GPG 密钥,估计这种大傻子 全世界也就只有我一个了吧 ㅠㅠ 言归正传,下面开始说明 GPG 证书的生成过程,当然如果您了解如何生成,可以直接跳过此步骤。 下文中出现的用户名 Edison Jwa, 邮箱 example@uv.uy, 以及 密钥信息 W4IJICKJLQPX8CMB9IYZMVPSMCCJIHOTGSM2QFGP,部分请根据个人情况进行修改 首先,输入 gpg --full-generate-key 开始生成 GPG 证书 输入 1 即选择 (1) RSA and RSA (default) 需要注意的是,如果你的 Yubikey 型号为 NEO 那么请选择 2048 位,Yubikey 4 或 5 的话,选择 4096 位 此处的过期时间随意,此处我将过期时间设置成了1年 输入您的个人信息,输入完成后如果没有问题输入 o 并敲击 Enter 键即可。 接下来会要求输入密码,请务必记住此密码。 至此,主证书已经创建完成,当然接下来我们继续添加子证书 输入 gpg --expert --edit-key W4IJICKJLQPX8CMB9IYZMVPSMCCJIHOTGSM2QFGP 开始对证书进行修改 输入 addkey 开始添加子证书 这里选择 4, 即 RSA (sign only) 继续创建证书 这里我们需要先去掉 Sign 和 Encrypt ,所依次输入 S E 接下来 输入 A 启用 Authenticate 查看生成的 GPG 证书 修改主密钥有效期 这里我们修改主密钥有效期为永久,这样每年只需要更新子密钥即可以了~ 此时可以发现有效期已经修改成功,以后只需要每年更新子密钥即可。 备份 GPG 证书 请务必执行备份的操作,首先导入至 Yubikey 的密钥是无法提取出来的,其次也可以不会像我一样丢失之前的 GPG 密钥 导出公钥 导出密钥 导出子证书密钥 上传 GPG 证书公钥 设置 OpenPGP 卡 修改 Yubikey 默认 PIN 码 首先,我们修改掉 Yubikey 的默认 PIN 码,(PIN 和 Admin PIN) 输入 gpg --card-edit 开始进行修改 此处会输出 Yubikey 的信息 输入 admin 启用管理员指令 输入 passwd 开始修改 PIN 码 Yubikey 的 默认 PIN 码为 123456 默认 Admin PIN 码为 12345678 输入 1 ,修改 PIN 码,此处会要求输入默认 PIN 码,和新 PIN 码两次 PIN 码的长度要求不低于 6 位 接下来,输入 3 开始修改 Admin PIN 码 Admin PIN 码的长度要求不低于8位 导入到 Yubikey 输入 gpg --expert --edit-key 选中 key 1 此处的 * 表示该证书已被选中 然后输入 keytocard 将 GPG 证书导入至 Yubikey 中 再次输入 key 1 取消选中,接下来重复此动作,分别导入 key 2 和 key 3 检查 Yubikey 上存储的密钥 输入 gpg --card-status 即可查看 Yubikey 上存储的信息 后面进行签名的操作就都一样啦~ 参考链接 Using Your YubiKey with OpenPGP YubiKey for SSH, Login, 2FA, GPG and Git Signing Use A YubiKey For PGP Signing, Encryption, And Authentication How to setup Signed Git Commits with a YubiKey NEO and GPG and Keybase on Windows Yubikeys for Signed Git Commits"},{"title":"导出 iCloud Keychain 中的密码","date":"2019-12-28T23:56:49.000Z","url":"/archives/export-passwords-from-iCloud-keychain/","tags":["Secure","Tools","MacOS","iOS","Password"],"categories":["Tech"],"content":"因为在使用 1Password, 便一直在想有没有办法将 iCloud Keychain 中储存的密码导出来,直到前几天,终于找到了解决办法。 必要条件 一个能正常运行的 macOS 系统 导出过程 点击此处下载 mrc-converter-suite 压缩包 解压,并将 mrc-converter-suite 目录移动至桌面 打开 Preference -> Security & Privacy -> Privacy -> Acceessibility ,点击左下角的 🔒 Unlock 解锁后 ,在右侧添加并勾选 Script Editor 双击运行 mrc-converter-suite 目录下的 Get_Safari12_Passwords.applescript 点击 开始按钮 如果没有问题的话,这时会弹出对话框要求输入密码解锁 Keychain 输入密码后,点击 Continue ,你会发现已经开始导出了 (>y<) 等他跑完之后,会弹出提示框,并在桌面生成一个 pm_export.csv 文件 导入至 1Password 将 pm_export.csv 文件 拖动至 mrc-converter-suite 目录下 macOSConvertHelper 上,点击弹出对话框上的 Run 并在接下来的页面上选择 CSV 接下来直接点击 Convert 即可 正常情况下,会输出如下图所示的信息 这时,我们打开并解锁 1Password 客户端后,双击桌面上的 1P_import.1pif 文件 会弹出如下消息,点击 Import 之后就导入成功辣~ (´▽`) 参考链接 MrC’s Convert to 1Password Utility (mrc-converter-suite) Image Source: Patryk Grądys"},{"title":"解决 GPG 签名失败的问题","date":"2019-12-28T09:06:49.000Z","url":"/archives/fix-gpg-sign-error/","tags":["Secure","Github","Tools","MacOS","Shell"],"categories":["Tech"],"content":"自从装了黑苹果之后,越来越喜欢用 MacOS 了,当然作为一个 MacOS 的小白用户,难免遇到各种各样的问题,这个便是我遇到的问题其中之一。 今天当我打算为 git 签名的时候,突然遇到了这个问题,finally 总算找到了解决办法。也顺便水一下博客好了 解决方案 因为我的 shell 使用的是 zsh 所以此处也以 zsh 为例,当然其他shell的操作方法也比较类似啦~ 当然前提是你已经成功的安装好 git 和 gpg 的情况啦~ 将 export GPG_TTY=$(tty) 添加到 ~/.zshrc 文件中,重新加载 shell ,这时候你会发现已经可以签名了,耶 (> ω <) 但是如果你是在使用 VS Code 或者其他的工具执行 commit 工作的时候,还是会报错,这里的解决方法为: 首先安装 pinentry-mac, 接下来,修改 gpg-agent.conf 配置文件 最后,kill 掉当前所有的 gpg-agent 这时,再执行 commit 便不会再报错辣~ 参考链接 gpg failed to sign the data fatal: failed to write commit object [Git 2.10.0] Image Source: Clark Van Der Beken"},{"title":"2019 年终总结","date":"2019-12-25T01:51:41.000Z","url":"/archives/bye-2019/","categories":["Other"],"content":" 越长大便越是觉得时间过得快了,转眼间一年便又这么过去了。到了年底,也就要开始着手准备写今年的年终总结了。对于我来说,不论是身体上还是心理上,今年算的上是最近几年以来,最复杂的一年了,孟子曾说过“天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。”,相信所有的一切最终终会有一个结果的吧…… 还是和去年一样,先来说说网站部分把~ 添加了 AdSense 广告 (但是完全没有小钱钱 QAQ 换到过 icarus,Next 主题,然后又换回了 Suka 网站转为 Serverless,并写了 CI,还做了一大堆优化(感谢苏卡卡大佬 让博客支持 Dark Mode (根据系统环境自动切换) 2019-12-25 更新 Dark Mode 配色方案,部分配色方案根据 Material Design Documents 重写 评论系统从 gitalk 换回到了 disqus(因为发现如果想换主题的时候简直是灾难 ㅠㅠ) ,也顺带发现并解决了 disqus 一个小问题 (果然我的 bug 体制还是蛮严重的啦~ 把 uv.uy 做成了个人主页,然后把短链接做到了子目录里(其实最近是有在打算重新写这个页面的啦,就是一直没什么灵感…… 2019-12-25 : 页面重写好啦~ o( ̄▽ ̄)ブ (感谢小浩大佬在Nginx配置方面的帮助 比心~ 水了一大票的文章,然后也从年初开始网站终于有人看啦~ (≧▽≦) 平均下来差不多每个月有个六七千了,但是不知道什么时候才能像大佬们一样厉害 (´・ω・`) 网站的部分差不多也就是这样啦~ (・ω・ )3 接下来就说说我自己把~在这里真心的感谢大佬们一直以来对我的帮助,帮我这个腊鸡解决问题。比如 Peter,小浩,DCC,苏卡卡,U2FsdGVkX1,Troy,奶子冰,Elepover,METO,鱼塔,ls12,辰辰,indexyz,NB,房产证大佬,jiting,……(大佬们实在是太多啦,实在写不过来,捂脸 〒.〒 先是在年初的时候,在电台实习了两个月,结交了好多的新朋友,也了解到了很多的新知识。 然后也终于开始用上了我的 8086K ,然后主力 OS 逐渐从 Windows 切换到了 Manjaro 今年夏天在苏州和南京旅游了一圈还面基了 Peter ls12 Troy,(没想到我也有机会面基大佬诶 (´∀`) 哦对,还跟大佬拍了一个微电影(打下手 另外,还蛮偶然的,中了房产证大佬抽的奖,开心~ (●’ω`●) 学了一点 React 的皮毛,然后重新写了收款的页面(多亏了 Peter 我才会去学,大大的感谢 (*≧▽≦) 把 TeamSpeak 服务器从国内迁移到了海外,然后加了多个接入点。还写了几个小网页。 2020-01-10 更新一下,在 2019 年的最后一天见到了 Zohar 和 Volio 两位大佬~某种意义上算是一起跨的年 其实本来以为会自己一个人跨年的,然后还挺意外的和一个在七天宾馆打工的小哥哥一起跨的年(大概是最特殊的一次跨年了吧~ 好像也没有别的什么了把…… 最后感谢您能看我的这篇流水帐,提前祝大家圣诞快乐~~~ 也顺便提前祝新的一年一切顺利,心想事成,万事如意~ ´・ᴗ・`"},{"title":"Docker 搭建 TeamSpeak 服务器","date":"2019-12-07T06:59:55.000Z","url":"/archives/teamspeak-server-via-docker/","tags":["Linux","搭建","服务器","VoIP","语音","Docker"],"categories":["Tech"],"content":"本文将介绍如何使用 Docker 搭建 TeamSpeak 服务器。 如果您想找一个最快最简单的搭建方法,请按照本文来进行搭建。除此之外的更多情况下,我更推荐按照 TeamSpeak 服务器搭建方法 来进行搭建。 安装 Docker 启动容器 此时,便会发现服务器已经启动成功。 支持的环境变量 TS3SERVER_LICENSEPATH 设置TeamSpeak服务器要查找 licensekey.dat 的路径。此变量是 licensekey.dat 所在目录的路径。默认为 /var/ts3server/ 。 TS3SERVER_DB_PLUGIN 此变量控制 TeamSpeak 使用哪种数据库。 TS3SERVER_DB_PLUGINPARAMETER 此变量用于为db插件发送参数。 TS3SERVER_DB_SQLPATH 此变量控制TeamSpeak服务器在何处查找sql文件。默认为 /opt/ts3server/sql/ 。 TS3SERVER_DB_SQLCREATEPATH 此变量是用于初始化数据库的sql脚本的路径。这个路径关系到 TS3SERVER_DB_SQLPATH TS3SERVER_DB_CONNECTIONS 这个变量控制是如何到数据库的并发连接。必须至少为2,最多为100。默认值为10。 TS3SERVER_DB_CLIENTKEEPDAYS 此变量是 TeamSpeak 服务器将保留未使用的用户身份的天数。已添加到组中的用户将不会被删除,但来宾(Guest)将被删除。 TS3SERVER_IP_WHITELIST 此变量用于设置白名单文件的位置。该文件包含IP地址列表,这些IP地址不受洪水保护系统的限制。 警告:请勿添加任何您不信任的IP地址,因为这将使它们淹没服务器。 TS3SERVER_IP_BLACKLIST 此变量用于设置黑名单文件的位置。该文件包含IP地址列表,即使服务器重新启动,该列表中的IP地址也无法连接到服务器的查询界面。 TS3SERVER_LOG_PATH 此变量控制服务器存储其日志文件的文件夹。默认为 /var/ts3server/logs/。 TS3SERVER_LOG_QUERY_COMMANDS 如果将此变量设置为1,则将记录发送到服务器的每个查询命令。 警告:虽然这在服务器出现问题时可能会有所帮助,但要注意,这可能会导致日志文件变得非常大。除非您绝对希望记录所有命令,否则我们建议大多数时候将此变量设置为0。 TS3SERVER_LOG_APPEND 如果将此变量设置为1,则每个虚拟服务器都会将所有新日志条目写入 Log 文件中。我们建议将此变量设置为0,这可以减轻你看 Log 文件时的工作量。 TS3SERVER_QUERY_PROTOCOLS 逗号分隔的协议列表,可用于连接到ServerQuery。可用的值为raw和ssh。如果指定了raw,则默认的 ServerQuery 会通过 10011/tcp 端口进行连接。如果通过SSH进行连接,则加密的 ServerQuery 则会通过 10022/tcp 端口进行连接。可以在此参数中指定上述值的任何组合,包括将其保留为空,这将完全禁用 ServerQuery。 TS3SERVER_QUERY_TIMEOUT 由于不活动而断开查询连接之前的秒数。 如果将值设置为零或负数,则将禁用超时。 默认值为300秒。 TS3SERVER_QUERY_SSH_RSA_HOST_KEY 查询要使用的ssh_host_rsa_key的所在路径。如果不存在,它将在服务器启动时创建。 配置许可证文件 当一台服务器中需要搭建人数大于32人,或一台以上TeamSpeak 服务器时,便需要许可证文件。为此,必须要服务器提供一个 licensekey.dat 文件。一种方法是将licensekey.dat挂载到/var/ts3server。 即在运行 docker 时添加 -v /location/to/licensekey.dat:/var/ts3server/licensekey.dat 变量到命令行中, 请将 /location/to/licensekey.dat 替换为 licensekey.dat 实际所在的位置。 举个例子: 我们的 TeamSpeak 服务器列表 服务器列表 又水了一篇文章呢~(误x 相关链接 TeamSpeak - DockerHub "},{"title":"让网站支持深色模式","date":"2019-12-05T14:44:02.000Z","url":"/archives/add-darkmode-support/","tags":["Website","CSS","HTML"],"categories":["Tech"],"content":"前不久,在升级到 iOS 13 并启用了深色模式后,便在想有没有办法让网站可以像适配的 App 一样无缝在亮色模式与深色模式间互相切换。本文将介绍目前我在使用或者说我发现的两种解决方法。 这里就说一下我现在使用的两种方法,Darkmode.js 方式 与 CSS 方式 Darkmode.js 方式 这个是我最初的解决方案,可是这个最初偶然发现的项目,才促使了我后面的方法。 使用 Darkmode.js 的方式很简单,在网页的代码中加入,即可调用完成。 但是可能会出现的情况是,部分网页没有变成深色,然后你又神奇的发现你的图片被反色了~ (#°Д°) Github 项目地址: CSS 方式 就在去年macOS Mojave发行之前,W3C添加了一份草案规范,prefers-color-scheme ,Safari(v12.1及以上版本),Chrome(v76及以上版本)和Firefox(v67及以上版本)都支持该草案。 有三个可能的值: no-preference: 如果设备不支持某种模式或用户未做出选择,则为默认值 light: 用户选择了浅色模式 dark: 用户选择了深色模式 实际上,用法非常简单。此处以我的网站为例,我现在使用的主题作为浅色模式,然后使用@media (prefers-color-scheme: dark) 深色模式覆盖相关部分的CSS ,比如: 然后网站便会无缝的选择与用户设备相匹配的主题。 支援设备 这样做的好处是在iOS 13, macOS 10.14(Mojave), Android 10, Windows 1809 及以上的系统版本中即时更新的。只需更改系统主题,CSS就会更新,而无需刷新或者点击网页。 目前支援的浏览器版本: 相关链接 prefers-color-scheme Windows 10 Tip: Dark theme in File Explorer Hello darkness, my old friend Customising a website for iOS 13 / macOS Mojave Dark Mode Dark theme | Android Developers How to use Dark Mode on your Mac Use Dark Mode on your iPhone, iPad, or iPod touch "},{"title":"复制 Youtube 订阅列表到其他账号","date":"2019-11-15T13:37:11.000Z","url":"/archives/transfer-your-youtube-subscriptions/","tags":["Tools","Youtube"],"categories":["Tech"],"content":"在新开了一辆 Youtube Premium 的印度车之后,就有朋友遇到想复制 Youtube 订阅列表的情况了,在一番尝试之后,便准备将复制的方法分享出来。 在开始前,请确保你已经准备好两个账号,并记得自己的密码。 Pia!(o ‵-′)ノ”(ノ﹏<。) 废话! 导出订阅列表 打开 Youtube 订阅管理器(点此跳转), 打开后,就能看到自己的订阅列表啦。 接下来,翻到页面最底部,便会看到一个导出 RSS 订阅的选项,点击导出订阅 没有意外的话,这时候便会得到一个名为 subscription_manager.xml 的文件啦~ o( ̄▽ ̄)ブ 导入订阅列表 打开 Evan Reilly 大佬制作的 Youtube Subscriptions Importer(点此跳转),上传刚刚获得的 subscription_manager.xml 文件,点击 左侧的 Import! 按钮。 接下来,会弹出窗口要求登录你的要导入的谷歌账号,赋予访问 Youtube 账号的权限。 然后就会发现已经导入完成啦~ ★,°:.☆( ̄▽ ̄)/$:.°★ 。 Youtube Subscriptions Importer 为开源项目,项目地址 最后一点点 如果还是对 Youtube Subscriptions Importer 不放心,可以打开 Google 授权页面(点此跳转),取消对 import subscriptions 的授权即可 另外,不得不说 Youtube Music 配合 Google Home Mini 是真的香,但 App 里咖喱味是真的重… "},{"title":"使用 Disqus 后,网页中莫名出现可点击链接","date":"2019-11-08T17:58:38.000Z","url":"/archives/fix-disqus-vglink-problem/","tags":["Hexo","Disqus","Markdown","JavaScript"],"categories":["Tech"],"content":"一段关于解决在排查博客问题的过程中,遇到了在已经关闭 Hexo markdown renderer 的 autolink 选项后,依然有莫名出现可点击链接的经历。 排查过程 排查 Markdown renderer 在发现这种情况的时候,最先想到的是 markdown renderer 的问题,因为 hexo 默认自带的 markdown 渲染器是 hexo-renderer-marked,便根据文档[1],在站点配置文件 _config.yml 里禁用 autolink 后,但是网页中仍然会莫名出现奇怪的链接。 因为 hexo 的 debug 中没有出现报错,我也不能确定问题是否出在 hexo-renderer-marked 上面,便安装了 hexo-renderer-markdown-it 进行测试,得到了相同的结果,基本确定问题不是 renderer 的问题。 排查主题 接下来,我便将目光转制主题上,在翻遍 Suka 主题的配置文件和说明文档[2]后,没有找到相关的配置,便尝试将 Prism 代码高亮模块换回 hexo 自带的 highlight 模块,但是问题仍然存在。因为不能确定问题是否出在主题上,我便将博客主题更换成 NexT,但是还是出现同样的问题。在经过多次尝试后,确定问题不是出在主题上。 排查站点配置文件及发现来源 此时,问题的排查工作便陷入了僵局。苏卡卡大佬给出提议,让我尝试在站点配置文件 _config.yml 里将 external_link 禁用进行测试。尽管问题不是出在这里,但还是很感谢苏卡卡大佬。就在这时,我偶然发现链接中包含一个名为 vglink 的 class,在反复排查后,发现这个 class 来自 Disqus。 既然发现了问题的真正来源,那么只需要找到解决方法即可。 解决办法 在 Disqus 站点设置, Advanced 选项卡下,取消勾选 Affiliate links(VGLNK) 选项并保存即可。 此时刷新页面就会发现莫名出现的可点击链接就已经消失了。 原因 Disqus 的 Affiliate links 存在问题,该问题导致如果网页中存在任何与域名 (即abcde.com) 相似的任何文本,都会被转换成 HTML 超链接代码的格式: 其实是我的 BUG 体质再度灵验(大雾 参考链接 Disable Affiliate Links (VGLNK) on Disqus hexojs/hexo-renderer-marked ↩ Suka 主题说明文档 ↩ "},{"title":"利用 Pair Locking 保证 iOS 设备数据安全","date":"2019-10-12T10:48:16.000Z","url":"/archives/pair-locking-your-iphone/","tags":["Secure","iPhone","Exploit","Apple","配置"],"categories":["Tech","Apple"],"content":"通过配置Pair Locking,保护隐私,防止执法人员对您的设备进行取证。 但因对于受 checkm8 影响的设备的设备无效。 什么是 checkm8 漏洞? checkm8 是由 Twitter 用户 @axi0mX 发现并命名的 bootrom 漏洞 。它让永久越狱变成了可能,同时也带来了极大的安全隐患。举例来说,捡到或盗取你手机的不法人士,将可以通过越狱的方式开机,绕过 iCloud 的保护,同时你存放在中的个人数据也有被窥视的危险。 从使用 A5 芯片的 iPhone4S 到 使用了 A11 芯片的 iPhone8 iPhoneX 都可能受到这个漏洞的影响。 由于 bootrom 是存在于手机的硬件之中,无法通过软件去修改,意思也就是说苹果将无法通过软件更新的方式去将这个漏洞堵上,只要是拥有这个漏洞的硬件,无论 iOS 怎么升级都能被破解。目前基本上只要是使用 A11 或更早的芯片的 iPhone 机种都在受影响的范围内,也就是除了今年最新 iPhone 11 / 11 Pro / 11 Pro Max 和去年的 XS / XS Max / XR之外,剩下来所有的机种都有这个漏洞了。 为什么要配对锁定我的手机? 处于信息化社会的今天,我们的数字隐私日益收到执法机构,政府等等方面的攻击,尤其是在抗议活动,机场和过境点时,这个问题更为明显。 而且想必对于手机取证这种事情都或多或少有所耳闻。 通过配置 Pair Locking ,即使您被执法部门强迫,也会阻止 iPhone 取证工具连接到您的设备,读取您的聊天记录,相册,联系人,通话记录等行为。即使你被法律强制执行,也迫使你打开你的装置! 他们也只能 手动 查看您的手机内容,但他们无法复制并进行离线分析,他们无法运行自动扫描的扫描程序,而且他们也无法获取到您的各种 App 认证 token。 Pair Locking 是如何工作的? 取证工具使用名为pairing的概念从iPhone提取数据,Jonathan最好地解释了这一点: A pairing is a trusted relationship with another device, where a computer is granted privileged, trusted access on the iPhone. In order to have the level of control to backup the phone, download personal data, install applications, or perform other such tasks on an iOS device, the machine it’s connected to must be paired with the device. This is what iTunes and Xcode do to talk to the phone, but also what forensic imaging tools and a number of free hacking tools do as well. 配对,是与另一个设备相匹配的一种信任关系。在另一台设备上,计算机被赋予权限 ——在 iPhone 上受信任的访问。为了能够控制 iOS 设备进行备份手机,下载个人数据,安装应用程序或执行其他类似任务的控制级别,必须将与其连接的计算机与该设备配对。这是 iTunes 和 Xcode 与设备进行信息传输的方式,但是取证工具和许多黑客工具也是如此。 通过 锁定 配对设备,让您的 iPhone 设备不会与其他的连接的设备去创建新的信任,除了锁定配对的设备,副作用便是阻止了所有的取证设备。在存在配对锁定的情况下,从手机中收集数据的唯一方法是存在硬件漏洞(例如本博文开头部分提到的 bootrom )。 要启用配对锁定,我们需要将手机设置成受监管的状态,从而可以对手机的功能和行为施加大量限制。它是专为企业实施其员工手机上的安全控制而设计的,但对我们来说也一样。 需要注意的是: 建议在执行前,先完整阅读一遍此文章,再决定是否进行此操作。 将手机设置成受监管状态会 完全擦除手机,尽管擦除之后,您可以重新登录到您的 iCloud,所有同步过的设置,应用程序等项目都会再次出现。 但是,不能先对手机进行备份,再将手机设置成受监管状态,然后再恢复备份!!!(因为恢复备份的同时也会将设备还原到不受监管的状态) 任何能够使用您的笔记本电脑的人都可以从中获得配对记录,并且可以完全访问您手机上的所有内容(在物理连接到笔记本电脑之后)。 如果您无法访问笔记本电脑或丢失配对记录,那么您也将无法连接手机。 监管并锁定配对您的设备 下载并安装 Apple Configurator 2 将您的设备与电脑通过 USB 连接 打开 Apple Configurator 2,选择设备后,点击 Prepare 按钮 在 Prepare Devices 页面中: 勾选 Supervise devices 勾选 Allow devices to pair with other computers 然后点击 Next 配对锁定可以在两个不同的级别中执行:在监管级别或者在描述文件的级别执行(描述文件是执行一个iPhone设置的合集) 根据 Jonathan 的建议我们在这里勾选 Allow devices to pair with other computers,我们在监管级别允许它,稍后将在描述文件级别来阻止他。因为如果您需要更换到新的笔记本或者台式机,不需要去清除您的手机。 在 Enroll in MDM Server 页面中选择 Do not enroll in MDM,然后点击 Next 在 Assign to Organization 页面中,点击 New Organization,然后点击 Next 在 Devices Enrollment Program 界面,我们直接点击 Skip 跳过即可 接下来,在 Create an Organization 页面中填写您组织的名称,除名称外,其他项目均可留空 此处填写的名称将会在您的设备中显示,效果如下图: 填写完成后,点击 Next 进行下一步操作 在接下来下页面中,点击 Generate a new supervision identity ,然后点击 Next 在 Configure iOS Setup Assistant 页面,不进行修改,直接点击 Prepare 按钮 此时会弹出提示,要求输入密码,以便于更新证书设置,输入密码后,点击 Update Settings 。 接下来,擦除和监管手机的过程。如果您的设备已经受到监管,则会出现有关需要首先还原设备的错误。 该过程完成后,您可以创建一个新的配置文件,该配置文件将具有配对锁定限制: 之所以选择通过配置文件的方式,而非直接在监管级别进行锁定,是因为我们无法避免可能会出现的情况,比如电脑损坏,丢失等情况。为了避免在这种情况下我们无法连接自己的手机,所以选择使用配置文件的方式进行限制。 点击状态栏的 File -> New Profile 并为您的新描述文件命名 在 Controls when the profile can be removed 的部分下,选择 Never 或 With Authorization 通过这项设置我们可以控制如果有人试图通过手机删除此描述文件。 如果此处保留默认设置,即 Always ,那么任何有权访问未锁定手机的人都可以删除此描述文件(这便失去了我们的目的) 设置为 Never 即表示我们无法透过手机来移除这个配置文件 设置为 With Authorization ,则只有输入正确的密钥时,才能从设备中删除此描述文件 如果您居住在或者计划访问一个法院可能会迫使您删除描述文件的国家,则最好选择 Never ,这样便不会因为拒绝交出密码而被指控蔑视法庭或妨碍司法。 点击左侧的 Restrictions 选项卡,首先点击 Configure 接下来,可以看到大量的设置,比如禁止某些应用程序,设置密码,Touch ID,Face ID 限制等等。找到并取消勾选 Allow pairing with non-Configurator hosts 也可以继续做一些您喜欢的设置 退出并保存描述文件,在主界面中,右键点击您的 iOS 设备,选择 Add -> Profiles...,选择刚刚保存的描述文件。 此时便成功将锁定了配对的设备,现在拿你的手机到其他电脑上去试试看吧~你会得到这样的提示 当然取证工具也同样无法连接到您的设备。o( ̄▽ ̄)ブ🎉 如果以后要删除此限制,则可以点击 Remove -> Profiles... 操作与 添加的步骤(14) 类似。 总结 锁定配对的优点是非常好的配对安全性。实际上,为了删除监管配置文件,入侵者将需要擦除设备中的内容。如果有人为了执行取证提取或任何其他类型的分析,想解除配对锁定,则需要对同时拥有您的 iOS 设备和计算机的控制权并具有对它们的完全访问权限。 但是同时缺点也十分的明显,当您出门在外时,不能简单的与其他设备进行配对连接。尽管您可以将配置文件设置成可删除的状态,但是您需要再重新使用电脑来安装配置文件来锁定配对。与其他设备配对必须是一个明智的决定,并且需要花费一些时间来验证您是否有权确认该设备的内容。 配对锁定是一项有用的功能,可保护您免受侵入性设备搜索的侵害。 虽然让我在手机上拥有这种保护更加安全,但是没有什么技术可以解决最终的政策问题。我们需要的是现代化的隐私法律法规。 参考链接 Counter-Forensics: Pair-Lock Your Device with Apple’s Configurator Pair Locking your iPhone with Configurator 2 axi0mX’s Twitter iPhone exploit could allow permanent jailbreak for millions of devices iPhone 的 bootrom 漏洞让永久越狱成为可能 "},{"title":"CSGO cfg 文件调试指南","date":"2019-06-11T10:45:33.000Z","url":"/archives/csgo-config-guide/","tags":["优化","设置","配置","fps","启动项","config"],"categories":["Gaming","CS:GO"],"content":"对于 CSGO 的性能优化我们在 CSGO FPS 终极优化指南 中已经做过详解,探索为什么每一名长时间游玩 CSGO 的玩家会去寻找他喜欢的选手的 CFG ,来替换自己的 CFG 。大家对职业选手的 CFG 趋之若鹜,甚至很多选手的 CFG 也从不向外公布。既然如此何不随着教程自己动手调试出适合自己的 CFG 呢? CFG 是什么 简单来说,CFG 就是储存用户个人配置的文档 configuration ,记录你在游戏中的一系列设置,里面包括了玩家在游戏设置内可以调节的参数也包括了部分游戏内不可以修改的参数,其中较为典型的内容包括鼠标速度;加速度;键位;画面设置。 为什么我们要对 CFG 进行修改 修改 CFG 的目的是为了让玩家以更加快速;自然地进行操作,这包括以下几个方面。 键位设置 此前的人物移动键位未有统一标准。因当年一位 QUAKE 先辈在早期电子竞技比赛上大杀四方,于是玩家便向他讨教,而后他将自己的 CFG 在论坛共享,众人发现他的键位异于常人,其使用 WASD 进行移动操作,左右手分工比起以往更加合理,操作也更符合直觉。从而导致了此后的游戏几乎都以 WASD 设为默认移动键位。 而 CSGO 作为 CS 的正统续作,其引擎(起源引擎)也正是基于部分 QUAKE 代码基础上实现的。理所当然,先辈们研讨 CFG ,钻研更合理的游戏设置的基因也保留在 CSer 的体内。 鼠标运行轨迹 在游戏的设置中,我们可以修改一些参数;比如鼠标速度与加速度,还有原始输入,当然这可以满足几乎所有人的需求,但是还是有一部分“玄学”参数会影响一些鼠标的运行轨迹。 HUD 与 viewmodel 玩家进行游戏当然,一切的感知全靠眼睛和耳朵,所有的操作基本上都要靠眼睛来感知,所以对于 HUD 的设置也是非常重要的,他们是你的参照物,人的视觉很容易被欺骗。 提高帧数 上一篇关于 CSGO 优化的文章中提到过,由于 CSGO 引擎的特殊性,FPS 低于 300 都会产生一些输入延迟,这是很致命的,使游戏内帧数稳定处于一个合理值是非常重要的。 网络参数 虽然在 CSGO 中没有像 cs1.6 那样夸张效果的 EX_INTERP 参数,但是 CSGO 中的 RATE,cl_interp/cl_interp ratio 这些参数对于选手的发挥也有很明显的影响。 因为游戏内设置可以进行的修改是很有限的,有许多设置并不能在游戏内直接修改(当然,使用控制台大部分情况下可以达到和修改 CFG 相同的效果)或者是游戏内允许的数字并不能达到理想状态,必须要通过修改控制台或 CFG 进行修改。 如何修改 CFG config 文件存放在 \\Steam\\userdata\\(9位ID)\\730\\local\\cfg\\ 是对应着每个账号用来储存单个用户设置的文件(在游戏中截图后,在steam中点击在硬盘中查看截图库会跳转到\\Steam\\userdata\\(9位ID)\\760\\remote\\730\\screenshots目录这样就可以确定此账号的9位ID。) autoexec 文件放在 \\Steam\\steamapps\\common\\Counter-Strike Global Offensive\\csgo\\cfg\\ config,autoexec 用来储存游戏每次重新打开就会被重置的命令,是在你电脑上所有账号都通用的一个指令 要注意,autoexe.cfg 是在CSGO游戏启动时自动运行 autoexec 内的指令的一种文件,在 autoexec 的最后一行加入 host_writeconfig 之后 只要你的 autoexec.cfg 文件名字没有问题,他就会正常启动,不需要再启动项中重复添加。 开始修改CFG 开始之前要注意,CFG 的内容并非是越多越好,实现更多的功能同时也会带来更多的不可控性,容易导致出现不可预料的问题,如果出现问题也更难排查。 当游戏出现卡顿,掉帧,严重的输入延迟时,我们经常会选择重新制作 CFG 来解决,这是有效的,尽量精简的修改内容会大大地减小重置工作量。 如果不想完完全全地自己去从头制作一个CFG文件,也可以去网上寻找喜欢的选手所用的CFG,比较即时的CFG汇总网站为prosettings,要注意CFG也是有时效性的在一些更新后某些设置会出现不同的影响,所以如果用别人的CFG那么一定要选择最新日期的,如果网站上没有更新,可以去选手的直播间发送评论获得(Twitch). 那么开始分类讲解如何去修改CFG内容。 键位设置 举一个比较简单的例子,滚轮跳 这样的格式 bind 为语法 后面接 空格 “键值” 空格 "指令名" 这样修改较在游戏中修改的好处是允许同一个命令用多种不同按键都可以触发,即既可以用空格进行跳跃也可以用滚轮下进行跳跃。 + 代表着按下某个键,相应的,-就代表着松开某个按键,比如跳投中的-attack 代表松开鼠标左键。 比较常见的修改键盘键位的包括几种: 快速购买武器 快速切出道具 功能性快捷键 快速购买武器 快速切出道具 功能性快捷键 一般来说,功能性快捷键不必太过繁琐,过多的快捷键可能会让你看上去像个憨憨,分散自己太多注意力,也可能会让游戏变卡(可能)在这里推荐几个实用的指令 大跳 按住空格键进行大跳,也就是说这样可以按住空格跳上 MIRAGE 的A死点箱子。 此处 alias 语法意义为按下一个按键同时触发后面的两条指令。 ⚠️ 注意,所有包含 alias 语法的指令都要放在 autoexec 文件中 当然,如果你需要更多的复杂指令,可以去查找 Purp1e 做的指令详解[1],他在这部分做了很详尽的归纳,在此不做赘述。 跳投 跳投分为一键式跳投与两键式跳投在比赛中只允许两键式跳投,一键式跳投为按住左键时按下一个快捷键就可以快速投掷也就是一个按键设置为-attack同时+jump,两键式为两个相邻按键分别设置为-attack和+jump自己手动掌握时机 一键式 需要放到autoexec 默认为按下 N 键执行 两键式 不需要放到autoexec 默认为同时按下鼠标两颗侧键执行 alt飞行 鼠标轨迹 当然,在这里我不会对鼠标速度进行很深入的探讨,只会讲一些平时较少提及的部分,一般来说鼠标的 DPI 在 500-1500 之间是正常的值,也就是说 dpi* sensitivity 在这个区间,如果想要了解相关的数据可以参照liquipedia这里有所有选手的鼠标速度设置,加速度设置于RAWINPUT是否开启,不同鼠标的最佳DPI是不同的,同EDPI下鼠标的轨迹也是不同的。 参照自己的操作习惯去修改是正确的,虽然不提倡一味地模仿职业选手的设置,但是前提是要知其所以然,切不可随心所欲胡乱设置,无知即力量并不可取。 开启原始输入,这个参数可以将系统对鼠标移动轨迹的影响改为尽可能小得,但是他也不是绝对的,所以如果想达到更好的状态,或者在不同线下环境下达到相同的手感,还是先要参考我们写的上一篇文章,在此也不做赘述。 这两条代表鼠标1与2的加速度为0,并非绝对会对你的鼠标轨迹产生影响,但是有时不可预料,几乎所有的职业选手CFG中这两项都改为0。 HUD与viewmodel 这部分是CFG修改的重中之重,因为一切操作需要反应在屏幕上,他决定了玩家认为鼠标下一步应该如何移动。压枪时虽然更多的是靠肌肉记忆与感觉来的但是在潜移默化中准星、HUD或者枪模的样式会影响对下一步操作的判断,如果准星比较粗那么会对自己的准星操作更不敏感,感觉压得更稳。枪模跟后坐力一起上扬也会影响到玩家对自己压枪到底下拉了多少的判断,所以找到一套符合自己直觉/手感的HUD将会对希望让自己操作更为精准、舒适的玩家有很大的作用 为了让注释部分更为直观,便把此部分的 cfg 显示为表格形式,复制时,将仅复制文本部分,后方表格同理 cl_hud_radar_scale 1 //雷达大小 <0.8-1.3> cl_radar_scale 0.45 //雷达缩放 cl_radar_icon_scale_min 0.6 //雷达人物标点大小 cl_radar_rotate 1 //雷达随视角方向旋转,在烟雾中更容易清楚自己的方向不至于迷路 cl_radar_always_centered 1 //雷达以玩家为中心 viewmodel_fov "65" //决定了你的枪模FOV,并不是真正的FOV,真正的FOV在CSGO里是不可修改的,只与分辨率有关,在这里的数值决定了枪模的横向宽度,也就是数值越小枪模的贴图横向越窄,投放到屏幕上固定的宽度时也就越扁更胖,看上去大了,当然这个参数也与POS相对应,但是可以修改.(60-68/54) viewmodel_offset_x "2" //对应枪模的X轴位置 viewmodel_offset_y "1.5" //对应枪模的Y轴位置 viewmodel_offset_z "-1" //对应枪模的Z轴位置 viewmodel_presetpos "0" //持枪视角预设<1.默认 2.写实 3.经典> 一般来说为了少挡屏幕,大家多数选择 3 cl_viewmodel_shift_left_amt "1.5" cl_viewmodel_shift_right_amt "0.75" //(需要放到autoexec)在下蹲动作时动画量的多少,这一项并不能改为0,这里为是最小值(摘自NIKO CFG) cl_bobcycle "0" cl_bob_lower_amt "0" cl_bobamt_lat "0" cl_bobamt_vert "0" //(需要放到autoexec)玩家移动时枪模随移动一起摇摆的程度,最好的设置当然是调整为0 viewmodel_recoil "0" //枪模随后坐力上扬,当然要关闭 cl_crosshairgap //准星的空隙大小 cl_crosshairsize //准星长度 cl_crosshairstyle //准星风格 0为CSGO动态十字准星,1默认狮子的静态变体,2 经典静态准星但是每侧有动态圆点,3 经典动态十字 4 经典静态十字(一般大多数人使用的) 5 走路时不动,开枪时动 cl_crosshairthickness //准星粗细 cl_crosshair_drawoutline //决定准星是否有勾边(0/1) cl_crosshaircolor //准星颜色(0-4) cl_crosshairalpha //准星透明度 默认200,一般改为255完全不透明 cl_crosshairdot //开关准星中心原点(0/1) 当然,同样可以用创意工坊地图对枪模进行调整 crashz’ Viewmodel Generator 准星调整 crashz’ CROSSHAIR GENERATOR V3 对HUD进行调整(这张地图也可以对其他设置进行调整,但是因为更新不及时并不建议使用里面的大多数其他设置) Config Generator ✮ crashz & Misterio 性能提升 以下的命令皆可提升FPS或减少掉帧,下面不做赘述 r_drawtracers_firstperson "0" //关闭曳光弹的显示;这条指令是在2018年4月的更新后开始流行的,那次修改改变了曳光弹的轨迹,导致前7发左右的发射位置并不准确,如果可以适应目前的轨迹那么可以考虑开启,同时关闭曳光弹也会减轻开火时的掉帧情况,低配电脑建议选择0. cl_autohelp 0 //禁用游戏提示 cl_showhelp 0 //禁用游戏提示 cl_teamid_overhead_always 2 //隔墙显示队友位置 <0.不显示 1.透视队友位置 2.透视队友位置与装备> 开启显示队友位置会小幅度降低FPS但是很有助于对局势的判断,方便与队友配合,交流不是非常好的情况下这一项的打开非常有益。 r_dynamic 0 //关闭动态光影,可以提升FPS gameinstructor_enable 0 //关闭游戏教学 spec_replay_autostart 0 //关闭被击杀回放 r_eyegloss "0" r_eyemove "0" r_eyeshift_x "0" r_eyeshift_y "0 r_eyeshift_z 0" r_eyeshift_z "0" r_eyesize "0" //取消人物模型的眼球转动,不知为何对5E尤其有效 cl_forcepreload 0 //这一项在先前的版本中用1的话可以提升FPS,但是在大约3月份的更新中,官方证明失效了,如果用1只会带来负面效果(增加input lag) 网络参数 net_graph 1 //打开网络信息 里面有很多有用的信息,可以显示上传下载情况,ping值,服务器质量 net_graphpos 1/2/3 //1在右下角,2在中间,3在左下角 net_graphproportionalfont //0为让字体变细,1为默认 net_graphheight 0 //竖直方向高度 cl_cmdrate "128" //下载128tick cl_updaterate "128" //上传128tick rate "786432" //游戏带宽限制rate [1] cl_interp/cl_Interp_ratio //HITBOX 与人物模型的贴合度 [2] [1] rate 是你给服务器传输数据的最大带宽值(bit),如果过低或者过高都会导致你莫名其妙打不死人或者是跳CHOKE,一般来说在稳定连接的服务器(比如在国内玩国内的平台)你的网络没有问题,可以直接 rate 786432 这样就是无限制网络带宽这是最好的。 如果你的宽带没有 10M 或者你在打海外服务器,可以尽量降低这个值,参照这个表 带宽大小 rate 值 0.5 Mbps rate 62500 1.0 Mbps rate 125000 1.5 Mbps rate 187500 1.57 Mbps rate 196608 (default rate) 2.0 Mbps rate 250000 2.5 Mbps rate 312500 3.0 Mbps rate 375000 3.5 Mbps rate 437500 4.0 Mbps rate 500000 4.5 Mbps rate 562500 5.0 Mbps rate 625000 5.5 Mbps rate 687500 6.0 Mbps rate 750000 6.2 Mbps and above rate 786432 (max rate) [2] cl_interp/cl_Interp_ratio(需要放到autoexec,或者在没进入服务器时进行修改再链接到服务器) 这个参数的意义是 HITBOX 与人物模型的贴合度,在你的延迟,网络状况很好的情况下(ping<45,loss 0,choke 0)可以选择 cl_interp 0/cl_interp_ratio 1 (这两个参数是配套的)为搭配,他可以很大程度得提升你的单发准度,提高你的上限。 但是当你的的网络状况没有这么好的情况下,建议你的 interp 用默认也就是 cl_interp 0.031000-cl_interp_ratio 2 这样的情况下,你的压枪感觉会更容易找到,更加稳定。(interp后面的0代表的是在目前interp值情况下的最小值,反之1为最大值) 当然也有部分选手选择一套并不符合规范的interp套餐,使用interp 0.031000,ratio 1 比如国内的somebody,国外的hunter(NIKO大表哥)这样的interp设置在5E的恶劣服务器上尤为好用,虽然有时会莫名其妙失误,但是使用CZ那种短连发武器或者AK的短连发时尤为好用,经常可以莫名其妙打头,想要仔细去了解这个参数可以参考CSGO逗逼君在知乎的文章 [2] 其他杂项设置 cl_autowepswitch "0" //关闭自动切换拾起的武器 cl_dm_buyrandomweapons 0 //关闭死斗随机买枪 cl_use_opens_buy_menu 0 //关闭E键打开购买菜单 fps_max "999" //调整FPS上限 FPS上限 要看具体电脑性能,如果可以稳定在300那么尝试更高的上限是一个好的选择这会降低输入延迟,但是如果不能超过太多的话选择更高的上线会造成CPU不能进行短暂休息导致FPS不稳定。(如果想要不限制FPS,建议使用999而不是0,因为莫名原因使用999会比0时的FPS高一些)。 接下来就保存好文件,畅快体验吧 参考链接 CS:GO FOV and Viewmodel Commands B站链接 ↩ CSGO深度教学7——从wNv被“黑”掉的世界冠军,到CS的Netcodes与客户端参数 – Kryp ↩ "},{"title":"为网站启用 HTTP Basic Auth","date":"2019-05-23T08:18:13.000Z","url":"/archives/nginx-http-basic-auth/","tags":["Nginx","Linux","Debian"],"categories":["Tech","Linux"],"content":"本文将介绍如何为网站启用HTTP基本认证,来保护我们的一些网站页面。 生成认证文件 .htpasswd 是用于创建和更新用于存储用户名和密码的文件,以便对 HTTP 用户进行基本身份验证。 也就是说进行用户认证的信息都将会存储在 .htpasswd 文件中(使用 Nginx 时,虽可以将文件保存成其他名称,但文件的本质时相同的)。 创建这个文件可以通过下方的两种方法进行。 方式一:通过 openssl 生成 CRYPT 仅限 Unix 。使用传统的Unix crypt(3)函数,随机生成32位盐(仅使用12位)和密码的前8个字符(即:密码最多仅支持8位,超过八位将仅保留前八位)。不安全。 MD5 $ apr1 $ +特定于 Apache 的算法的结果,使用随机32位盐和密码的各种组合的迭代(1,000次)MD5摘要。 方式二:使用Apache 工具生成 此方法需要安装 Apache 工具 Debian/Ubuntu 用户需要安装 apache2-utils ,RHEL/CentOS/Oracle Linux 系统则需要安装httpd-tools 创建密码文件和第一个用户。 通过 htpasswd -c 命令来生成 .htpasswd 文件, /home/.htpasswd 为用户认证文件路径, user1 则为认证用户的用户名,点击回车后将会要求您为用户设置密码。 通过下方的命令来添加新用户,需要确保文件路径相同。 确认该文件中包含用户名和加密密码( 猫一下( ̄y▽, ̄)╭ 正常情况下,不会出现问题。下面我们来配置 Nginx 。 修改 Nginx 配置文件 在 conf 文件中加入此配置,即可使用基本身份验证限制对整个网站的访问。 但是如果我想要保持某个部分可以直接访问呢?在这种情况下,通过添加 auth_basic off 参数来指定取消继承自上级配置级别的基本身份验证限制: 此时, public 目录即可直接访问,而其他目录则需要验证。 也可以反过来,仅对特定目录使用基本身份验证 甚至可以更进一步,限制/仅允许特定的ip进行访问 配置完成后,重新加载 Nginx 配置文件 现在我们便成功的为网站启用了 HTTP 基本认证。 当用户输入了错误的用户名或密码时,Nginx会返回401 Authorization Required禁止访问。 参考文章 Nginx启用HTTP Basic Auth Create htpasswd file for nginx (without apache) Password Formats - Apache HTTP Server Version 2.4 Generate salted password with OpenSSL example James Doyle | OpenSSL Passwd Without Prompt How To Set Up Basic HTTP Authentication With Nginx on Ubuntu 14.04 Restricting Access with HTTP Basic Authentication "},{"title":"定制 Windows 系统安装镜像","date":"2019-05-12T04:03:52.000Z","url":"/archives/design-my-windows-iso/","tags":["Windows","System"],"categories":["Tech","Windows"],"content":"有没有想过像 OEM 厂商一样制作一个已经预装好软件的 Windows 安装镜像呢? 除了 Ghost 的异端外,有没有其他方法呢? 本文旨在将带您定制一个属于自己的 Windows 系统安装镜像。 必要食材 一份新鲜的 Windows 镜像 (可以从 MSDN,我告诉你,TechBench 等处获取) 一份新鲜的 PE 镜像 一只成年的计算鸡 确保你的计算鸡已经吃掉了一份 64 位的 Windows 系统 确保你的计算鸡已经吃掉了 Vmware , Hyper-V 或者 Virtualbox 等虚拟化程序 其他您想要烹(yu)饪(zhuang)的食材(软件) 安装系统 首先,配置一份虚拟机(此过程我认为是不需要讲解的,不要打我),并挂载你已经下载好的系统镜像。在安装前确保给虚拟机分配了足够的空间。 我怕空间不够,所以在此处给硬盘分配了 80 GB。 此处需要两个分区,一个用来安装系统,另一个拿来存放我们稍后制作出来的安装盘。分配完成后点击下一步。 制作 Windows 8 及以上版本的系统镜像时,需要提前安装 .Net 3.5 在安装 Windows 的时候,点击 Shift + F10 呼出 命令提示符。输入 taskmgr 调用任务管理器。 在 Windows 安装程序上点击 Go To Progress 直到显示"Windows 需要重启才能继续" 时,点击 End Progress 结束掉安装程序。(建议在提示重启前提前准备好前面的操作,除非您的手速够快) 如果提前关闭,会提示错误 50 结束掉之后,会发现已经回到了最开始的地方 现在在命令提示符中输入 如果您要定制的系统版本低于 Windows Server 2012 那么请输入 来安装 .Net 3.5 ,此处的E盘为系统安装盘,D盘为光盘所在分区。可以通过在命令提示符中输入 notepad 来确定盘符。 如果没有问题的话,应该会显示这个界面,在安装完成后,重启虚拟机。 配置系统 重启之后,应该会见到熟悉的系统配置界面。在出现小娜(如果没有麦克风),会直接显示选择地区的界面。此处不要进行配置。 同时按下 Ctrl + Shift + F3 现在会进入 审核模式(Audit Mode) 这就是从Vista起,微软专门给OEM厂商和一些有需要的人提供的封装定制模式——审核模式。在这个模式下,一旦注销Administrator会被锁死,只能重启。从Windows 8起,在这个模式下,请勿使用开始菜单的命令关机,否则下次开机必须重启一次。 如果需要关机,请重启然后赶快进入BIOS设置,然后用虚拟机的功能强制关机。 在完成定制前,直接关掉系统准备工具即可。 Part 1.安装系统更新和一部分基础的软件、运行库 进入审核模式之后,打开开始——设置,更新和安全,检查更新来把近期的更新都安装上去。 在此过程中,可以安装一部分基础的软件、运行库,但是不建议现在就安装 Office。 为了保证定制出来的镜像尽可能干净无残留,请不要在虚拟机内使用浏览器下载安装包。所以,将需要的软件通过 UltraISO 或其他工具打包成 iso 镜像,并在虚拟机内挂载。 你可能会发现C盘有两个文件夹, $WINDOWS.~BT 和 $WINDOWS.~LS 将他们删除(我这里直接删除,忘记截图了,贴图是从网上找来的) 安装完 Windows 更新之后重启虚拟机,在重启前挂在你的 PE 镜像。在重启后,疯狂点击虚拟机BIOS设置的热键(VirtualBox 是F12) 设置成光盘启动优先或选择进入PE 镜像,我这里使用的是光卡大佬制作的HIKARI PE 如果使用其他PE 请自行准备DISM++,并确保该PE至少是Win8内核,并且位数要和你要定制的系统一致。 Part 2.清理系统更新后被替换下来的旧系统文件冗余 进入PE之后,打开dism++,选择顶部的Windows 10并打开会话,然后点左边的空间回收,按照下图所示勾上“被取代的WinSxS组件(非常慢)”和“Windows报告”、“Windows事件”、“零售演示离线内容”,并将缓存文件和临时文件所有的项目勾上,就可以开始清理了。 可能是因为我这次使用的系统镜像是19H1的原因在清理WinSxS组件时,提示出错,清理出来的空间也比其他版本少,个人认为是我选择的镜像原因 清理完成之后就可以再次重启了。重启之前别忘了更换光盘镜像,避免再次重启回PE。 Part 3.安装剩余你想安装的软件 现在你就可以随心所欲的安装剩下的你需要的软件了。 但是这里不建议安装 打印机、摄像头等的驱动配套软件、防病毒软件、防火墙软件、影子还原(比如Shadow Defender)、PDF虚拟打印机程序、依赖Ghost的备份还原程序(如一键Ghost)、各种专业软件(特别是像Visual Studio这样的IDE)。 将你要安装的软件安装完成之后,请再次重启虚拟机以确保一些软件顺利预装进去。 打包与压缩 Part 1.使用系统准备工具对系统进行处理 重启回来之后,这次请勾上系统准备工具窗口里的通用,放入PE的启动光盘镜像之后,点确定。 稍后程序会自动对Windows进行处理,处理完成之后会自动重启。 重启之后请立即进入PE对成品进行备份。 Part 2.快速打包 在命令提示符中输入下面命令对系统进行备份 此处和之前安装 .Net3.5 比较类似,capturedir 为系统盘符,imagefile 的位置为我们之前新建出来的第二个分区,名称可以随意。 打包的过程将会消耗一定的时间,在打包完成后,你会在指定的盘符中看到打包好的文件。 Part 3.快速压缩 下面,我们需要将打包的 wim文件拷贝出来,可以通过 7-zip打开VMDK镜像,然后双击2.NTFS就可以解压出里面的镜像了。 接下来还是以这个镜像为例,以管理员权限打开命令提示符或是PowerShell,输入下面的命令,将镜像进行高度压缩。 你可以发现这个过程非常的吃内存和CPU,所以建议你在不用电脑的过程中进行这个操作。我昨晚在电脑上压缩的过程大概耗费了差不多20分钟左右。不过压缩出来的成果也是比较喜人的。 你可以配合PE的dism或WinNTSetup来安装,能同时支持UEFI和Secure Boot以及Legacy启动模式。 Part 4.制成光盘镜像 如果你想把它做成光盘镜像,那你还需要做这些操作: 解压原版win10 64位安装镜像,删除里面sources文件夹的install.wim,将最终成品重命名成install.esd复制进去。 并新建一直文本文档,命名为 ei.cfg 保存之后,将它重新打包回ISO即可。 可以在此处下载 Windows ADK 1903 此处我只安装了部署工具。 为了支持UEFI,请使用oscdimg命令打包。 切换到 oscdimg 目录下 C:\\Program Files (x86)\\Windows Kits\\10\\Assessment and Deployment Kit\\Deployment Tools\\amd64\\Oscdimg 在 PowerShell 中输入 此处的 E:\\Edison_WIN10_19H1 为安装程序所在文件夹,E:\\Edison_WIN10_19H1.iso 为输出文件夹 完成后的成品可以在虚拟机中进行一下测试。 最后的一点说明 这个过程可能会消耗较长的时间,不过之后在装系统的时候节约下来的时间就远远超过现在所耗费的时间了。 这么装完的系统确实是没激活的,因为没整合非法激活工具。这里确实考虑到了版权因素,还考虑到了一些非法激活工具给系统带来的安全隐患问题。 再加上Win10本身激活的机制那么好,有伴随主板终身的数字许可证,还能转移到下一台电脑上,还有什么理由再去用非法激活工具呢? 我自己在镜像中压缩了 Bandizip,Potplayer,CCleaner,Chrome,Office 和基础运行库 PS: Potplayer 是韩国 Daum 公司的一款良心产品,而前不久 Daum 网站已经被墙。你可以在这里下载我的转存版本,但不能保证实时更新 点击下载 至此,属于我们自己的 Windows 系统安装镜像就创建完成了。 参考链接 Download and install the Windows ADK Creating Customized Windows 10 Version 1709 Media (ISO, WIM, Flash Drive) Where is oscdimg.exe Oscdimg Command-Line Options Windows Setup Edition Configuration and Product ID Files (EI.cfg and PID.txt) DISM Windows Edition-Servicing Command-Line Options 审核模式概述(Audit Mode Overview) IT之家学院:如何定制一个预装好基本软件的Win10 System builder deployment of Windows 10 for desktop editions 18362的哈希出来了,大家来看看,UUP文件的 Deploy .NET Framework 3.5 by using Deployment Image Servicing and Management (DISM) INSTALL .NET FRAMEWORK 3.5 ON WINDOWS SERVER 2016 – ALTERNATE PATH ERROR Fix: .NET Framework 3.5 is Missing From Windows 10 7 Ways To Open Virtual Hard Disk Images For Read And Write Access Thumbnail by Microsoft "},{"title":"为你的 Commit 加上 GPG 的签名","date":"2019-04-22T15:51:12.000Z","url":"/archives/git-gpg-sign-commit/","tags":["优化","Github","Git","GPG"],"categories":["Tech"],"content":"GPG 是一个非常出色的加密软件。为 Commit 带上 GPG 的签名就是一个很好的开始,它能够在一定程度上保证安全性。写本文的另一个原因是,之前经常查看的大佬的博客打不开了,就研究了一下,准备自己写一篇。 基本要求 git 版本 >= 2.0 已经安装 GPG (可通过输入gpg --version,确保已经安装) 生成 GPG Key 在终端/命令提示行中输入 此处的交互选项推荐为: RSA and RSA (Default) 4096 过期长度请自行选择,不知道的话,可输入 0 (默认值),即永不过期 接下来便需要输入您的个人信息了,此处的邮箱需要与 Github 对应 导入 GPG key 此部分为将其他位置导出密钥,导入至当前设备中,不需要的话,可直接跳过此步骤 此处文件名以 edison.gpg 为例 此处需要输入之前设置好的密钥密码。 导入完成后,还需要更改密钥的信任度,因为是我们自己的密钥,所以将信任度设置为 Ultimate。 首先,输入下面的代码,查看自己所有的 GPG key 输出内容如下(示例) 其中 sec 部分的 1234567890ABCDEF 就是我们刚刚生成的 GPG key 的 ID,我们要修改这个密钥的信任度,所以输入 此处输入 5,即完全信任。 将 GPG key 保存到 GitHub 输入下面的命令显示完整的 GPG key, 此处要注意将 1234567890ABCDEF 修改为实际内容 复制输出的全部内容 访问 GitHub -> Settings -> SSH and GPG keys -> New GPG key,将复制好的 GPG key 粘贴到输入框并保存。 启用 GPG 签名 接下来便要为 Git 启用 GPG 签名了,首先设置自己的 GPG key 输入 单次 Commit 签名 在提交 Commit 时,添加 -S 即可对本次 git 进行签名 每次 Commit 都签名 执行下面的命令即可,日后提交 Commit 的时候也不需要再加 -S了 提交 Commit 的效果就会是这样了。 参考链接 使用 GPG key 签名你的 Git 提交 How to solve gpg: invalid option “–full-generate-key”? 怎样为你的 Commit 加上 GPG 的签名"},{"title":"让 Git 命令为你保存密码","date":"2019-04-22T15:50:35.000Z","url":"/archives/git-always-asking-password/","tags":["优化","Github","Git","VS Code"],"categories":["Tech"],"content":"想必很多人都跟我一样遇到过这个问题,尤其是在使用了 1Password 随机生成的密码之后,被某一款程序/网站频繁要求输入密码的时候,就变得十分的痛苦。今天终于找到了解决这个的办法,也顺便分享一下。 请注意,本文仅限于通过 git/VS Code 方式进行操作时被频繁要求输入密码的情况。 调整方法 打开终端/命令提示符等,输入以下内容,将会自动存储密码。 如果您认为此方式不安全,也可将密码存储在内存中,一般情况下,Git 会存储密码15分钟,当然有时候还是会出现文章开头提到的问题,所以也可以通过这个方式修改密码在内存中储存的时间 此操作将会设置 git 把用户凭据存储在内存中 接下来,可以设置您希望密码在内存中保存的时间,将 <timeout> 修改为您希望储存的时间,此处以秒为单位,比如15分钟则修改为 900 。 参考链接 How to save username and password in GIT? Caching your GitHub password in Git"},{"title":"解决 Linux 下 TeamSpeak 插件安装问题","date":"2019-04-15T06:39:52.000Z","url":"/archives/fix-ts3-linux-plugin/","tags":["System","优化","设置","Linux","VoIP","TeamSpeak"],"categories":["Tech","Linux"],"content":"最近又在电脑上装上了 Manjaro,不过这一次算是解决了蛮多之前遇到过的问题吧。本文旨在通过调整文件识别来解决 TeamSpeak 在 Linux 下无法安装插件的问题。 配置MIME 此处不需要 root 权限 首先在 ~/.local/share/mime/packages/ 目录下创建一个名为 application-x-ts3plugin.xml 的文件 如果想让文件显示图标 在 </mime-type> 之前添加这段内容, <icon name="PATH_TO_YOUR_LOGO"/> 其中的文件路径需要自行修改,我自己为了做区分,所以使用了旧版 TeamSpeak 图标, 图标下载地址 程序启动配置 此处不需要 root 权限 接下来在 ~/.local/share/applications/ 目录下创建一个名为 ts3-plugininst.desktop 的文件 此处如果是通过 pacman 包管理器安装的话,需要 root 权限,但如果是通过官方安装脚本则不需要 root 权限 然后在 Teamspeak 的安装目录下创建一个名为 plugininst.sh 的文件。 (因为我刚刚安装了 Manjaro,所以以此为例,pacman 滚包之后, TeamSpeak 安装目录为 /opt/teamspeak3/ ) 在 plugininst.sh 文件中键入以下内容 此处需要 root 权限,并注意您的 teamspeak3 实际位置 创建一个软连接到 /usr/bin 目录下 接下来,执行 chmod +x /usr/bin/ts3-plugininst 赋予其执行权限 应用配置 此处不需要 root 权限 现在为了成功按我们想要的方式来安装插件,执行下面的内容,让系统自动生成配置文件 现在便可以安装插件啦~ 在此感谢 @Peter 提供技术支持"},{"title":"替换 Telegram 字体 (新玩具)","date":"2019-04-07T02:26:43.000Z","url":"/archives/change-fonts-with-fontmod/","tags":["字体","Font","Github"],"categories":["Tech","Windows"],"content":"无需 MacType,替换 Telegram 字体。FontMod 是 TGFont 的2.0版本,可用于一些基于 GDI 或者 Qt 的程序。本文旨在提升 Telegram 的使用体验。 修改方法 下载 FontMod.dll (下载地址 ), 改名为 winmm.dll 并放入 Telegram Desktop 的根目录(可_直接在资源管理器地址栏输入_ %AppData%\\Telegram Desktop )。 用户字体:把字体文件放在 fonts 文件夹内,可以直接使用,无需安装到系统中。 重启 Telegram,这时 Telegram Desktop 目录中会出现 json 文件,默认只会把宋体替换成微软雅黑,当然也可以修改 FontMod.yaml 来更换其他字体,下面的配置可以替换 TG 界面上用到的所有字体。 配置文件 ** 参数说明 ** key (“SimSun”): 要修改的字体名称。 replace: 要替换的字体 debug: Debug 模式 (将会创建 FontMod.log) 以下为可选参数 size: 控制字体大小 width: 控制字体宽度 weight : 控制字体字重 italic :是否开启斜体 underLine :是否加入下划线 strikeOut :是否加入删除线 outPrecision: 输出精度 clipPrecision: 剪裁精度 quality: 输出质量 pitchAndFamily: 字体的音高和族 fixGSOFont: 替换 GetStockObject 字体,选项与前面的 fonts 相同。若设为 true 则会使用 SystemParametersInfo 获取系统字体。 免安装字体替换方法 新建一个文件夹名为 fonts, 将想要拿来替换的字体放进去, 此处以 Ubuntu 为例,为例省事,我就将一整套字体都搬过来了 此时在配置文件中添加要修改的部分,比如将 Open Sans 替换为 Ubuntu (⚠ 此处纯个人喜好) 那么在配置文件中添加如下字段即可。 本文部分内容摘自项目 Github 说明文档。 "},{"title":"更新 Debian 内核","date":"2019-03-23T03:03:59.000Z","url":"/archives/debian-update-kernel/","tags":["System","Linux","Debian"],"categories":["Tech","Linux"],"content":"在本文中,将向您展示如何升级 Debian 的内核。让我们开始吧。 更新系统 执行一下系统更新操作: 更新系统的 apt 源(可选) 个人来说,比较喜欢 Debian AWS 的源,所以此处以此为例。 执行下面的操作来使用 AWS Debian: 修改过源之后,记得更新 apt 的本地包信息: 安装新版内核 要安装内核,必须要先确定要使用的镜像,先执行: 接下来,再执行: Debian 10 云服务器可以执行此项, 安装专为云平台优化的内核 (Thanks to 七呼大佬) 下面,需要更新更改,并重新启动: 检查已安装的内核版本 重启之后,应该已经切换到新的内核了,输入 uname -r可以查看当前的内核版本 后续清理工作 执行下面的命令来获取已经不需要的旧版内核: 然后把不必要的内核逐一删除,此处以 linux-image-4.9.0-3-amd64 为例: 请注意,此处如果操作失误,可能会导致服务器无法启动 至此更新的工作就完成了。撒花~ 参考链接 HowToUpgradeKernel How to Upgrade Kernel of Debian 9 Stretch from Source Debian / Ubuntu 环境下 LEMP 建站解析 Debian 9更新Linux内核 How to Update your Linode’s Existing Kernel How can I get a list with the packages selected by apt-get autoremove "},{"title":"为 UWP 创建快捷方式","date":"2019-03-20T02:48:35.000Z","url":"/archives/shortcut-for-uwps/","tags":["Windows","System"],"categories":["Tech","Windows"],"content":"前几天,在重新装机后,发现好多常用的软件,比如: iTunes, Telegram, ShareX等等,都有UWP版本。那么,在安装之后,该怎么像Edge浏览器一样,创建快捷方式呢? 正确的方法 右键点击开始菜单或按下快捷键 Win + R 呼出运行对话框,输入 在弹出的界面中,可以看到当前系统中已经安装的 程序/UWP 在想要创建快捷方式的程序上,点击右键选择 创建快捷方式 ,此处会出现下方的提示,点击 是 即可。 此时,UWP的快捷方式便创建成功了。 最初的尝试 我最开始的尝试是通过输入UWP的名称,这个名称是我在配置 QuickLook 的时候在官方配置文档 中发现的 LOCALAPPDATA ,通过这个方法,我成功的创建了 iTunes 的快捷方式。 虽然能启动,但是这个方法造成的问题是不能正常显示图标,而且其他UWP程序,并不能通过这个方法成功创建快捷方式。 比如NetFlix,会显示这样的界面。 参考链接 How to remove a plugin Windows 10 Tip: Create Shortcuts for Universal Apps Create Desktop Shortcut for Store app in Windows 10 - Winaero"},{"title":"解决 Win10 “幽灵”漏洞补丁性能问题","date":"2019-03-07T05:04:46.000Z","url":"/archives/enable-retpoline-win10/","tags":["Windows","Secure","Intel","System","Google","优化"],"categories":["Tech","Windows"],"content":"微软在 Windows 10 1809版本引入了 Retpoline 修复补丁。但是却不是默认开启的,本文将会简单的说明 Retpoline ,以及手动启用方法。 2019-03-07 请注意,当前版本会导致某些情况下出现性能下降!!!在微软重新发布前建议卸载 KB4482887 补丁 2019-03-20 官方已于 2019-03-12 日放出修复补丁 KB4489899 强烈建议安装 什么是 Retpoline 呢? 2018年1月4日,Google 在其安全博客上详细介绍了新技术 “Retpoline”,该技术能够以微不足道的处理器开销克服 Spectre 漏洞。它涉及在编译器编译时让间接分支跳转到不同的目标,减少易受攻击的乱序执行发生。虽然这项技术面向x86指令集开发,Google 工程师认为该技术也可以用于其他处理器。 简单来说,就是谷歌为了解决/减少目前 Meltdown 和 Spectre 漏洞补丁对性能产生的 5% - 30% 的影响,开发了名为 Retpoline 的基于软件的修复方案。Retpoline 方案旨在提高 Windows 和 Linux 平台中 Spectre Variant 2 的性能。 微软的一篇博客文章中表示,目前在 Windows 客户端设备上默认禁用此功能,当然该文章中也写明了启用方法。 需要注意的是, Retpoline 将会在 19H1 版本默认启用。下面我便会写出尝鲜办法。 启用方法 首先,以管理员身份打开命令提示符或 PowerShell 并输入以下内容。 接下来,重启计算机,重启完成后,以管理员身份运行 PowerShell 并输入以下内容 安装过程全部回复 Y,完成后,会返回一大堆信息,如果内容与下面一致即说明启用成功。 参考链接 Google, 성능저하 없이 Spectre 취약점을 패치할 수 있는 Retpoline 공개 Mitigating Spectre variant 2 with Retpoline on Windows 幽灵漏洞 Retpoline: a software construct for preventing branch-target-injection"},{"title":"Apex英雄 游戏优化指南","date":"2019-02-24T10:03:28.000Z","url":"/archives/best-optimize-apex/","tags":["优化","设置","fps","Xbox DVR","Nvidia","启动项","Origin","Apex"],"categories":["Gaming"],"content":"Apex 英雄是由艺电推出的免费大逃杀类多人在线角色扮演第一人称射击游戏,该游戏自今年2月4日发布时开始,便受到了广大玩家的喜爱。 本教程将会通过修改和优化等等方式提升游戏帧数与稳定性,并降低帧生成时间,进而提升游戏体验。 Apex 游戏优化 配置文件 请在此处下载下文所需的配置文件 下载地址 第一步:游戏目录外 首先,打开目录 C:\\Users\\用户名\\Saved Games\\Respawn\\Apex\\local 此处需要注意的是,中文系统会将 Saved Games 显示为 保存的游戏。 将上方提供的配置文件 videoconfig.txt ,下载并覆盖此文件夹中现有的同名文件。 需要注意的以下两点: 请根据自己的显示器分辨率修改 videoconfig.txt 文件中的以下两项(此处以 1920x1080 为例),提供的配置文件已经设置为1920x1080。 配置完成后,请务必将 videoconfig.txt 文件设置为 只读,否则启动游戏时,修改的内容将会被覆写。 这个修改主要核心调整参数为"setting.dvs_gpuframetime_min" “6000”,“setting.dvs_gpuframetime_max” “7000”,酌情提升参数则提高画质,降低参数则降低画质。Apex 的默认值 分别为 15000 和 16500。 同时"setting.r_lod_switch_scale" "0.4000"建议在0.3至0.5之间调整,默认为0.6 配置文件部分说明 "setting.dvs_gpuframetime_min" 最小帧生成时间 "setting.dvs_gpuframetime_max" 最大帧生成时间 降低帧生成时间与输入延迟会显著的提升你所见到的敌人位置的准确性,这个时间/延迟越高,你眼中的敌人与敌人的实际位置之间的偏差就会越大,就会出现明明瞄的很准却打不到敌人的情况. 在通常情况下,游戏厂商会通过延长这个时间为手段使游戏看上去更流畅,从而达到看上去优化很好的效果,在硬件条件允许的条件下,我们会牺牲一部分流畅度与清晰度达到更高的准确度,这就是富有竞技性的选择。 第二步:游戏目录内优化 打开游戏安装目录下的 cfg 文件夹,(此处以我自己的安装目录为例 E:\\Origin Games\\Apex) 将上方我已经制作好的 autoexec.cfg 文件拷贝进去即可。 为了让游戏能成功读取 autoexec.cfg 文件, 请务必配置第三步的启动参数优化!!! 配置文件部分说明 cl_forcepreload 0 关闭预加载,在前些日子被证明会带来负优化,会延长帧生成时间并且可能会出现不可预料的卡顿 fps_max 0 关闭FPS上限,改为999也可以,在CSGO中999的情况下会比0的高,APEX中尚未测试,为了保证稳定,选用0 2019-03-28 近期发现有些情况下会出现无法解除fps帧数限制的问题,正在寻找解决办法,请关注后期更新 2019.04.12 此问题已解决 第三步:启动参数优化 打开 Origin,点击界面左侧的 游戏库 找到并右键点击 Apex 并打开菜单中的 游戏属性 选项。 点击 进阶启动选项 在 命令行引数 中 填写以下内容 2019.04.12 最近本人在电脑上重新安装 Apex 时发现,有时候会出现在进入游戏的界面未响应(非性能问题),后发现可通过删除启动项中的 -fullscreen 解决此问题,但造成的问题是,进入游戏时为窗口化,目前在寻找解决办法,请关注后期更新~~ 部分参数说明 +cl_showfps 4 加号开头的启动项的意思为在游戏开始时会在控制台输入以下指令,后面的意思为在位置4显示FPS等参数(包括当前FPS,帧生成时间等) -fullscreen 减号开头的启动项意思为只有在启动项中生效的指令 意义为强制全屏 -novid 去除过场动画 -forcenovsync 强制关闭垂直同步 游戏内设置 可以根据系统配置酌情提高模型细节,特效细节,纹理过滤,纹理串流预算的设置 WIN10 XBOX DVR 的关闭及系统设置 关闭 XBOX DVR 首先我们知道,在 Win10 更新了版本后,出现了 Xbox DVR 这个功能且默认开启。本意是为了方便记录游戏时的精彩瞬间,相当于录制截图工具的存在,但是对于 CSGO、DOTA2 这一类游戏却会导致帧数被锁定。 那么因为 Win10 默认开启此功能,我们要如何关闭呢? 第一种就是就是登陆微软账户并打开 XBOX 软件关闭 DVR 滑钮,这里不做教程。 第二种就是使用我们提供好的一键关闭 XBOX DVR 脚本,运行并重启电脑后生效。 2018-10-18 提供一键关闭 DVR 脚本 点此下载 至此,有关 Xbox 的关闭与卸载结束,我们接着说 Windows 系统的一些设置。 电源设置 首先是电源设置,我们右键左下角 Windows 键,点击电源选项。 然后会出现如此界面,这时我们点击其他电源设置,会出现电源选项的窗口,如图。 我们直接切换到高性能即可,如果没有发现高性能,通常在下方的隐藏附加计划内。 值得一提的是,使用一些国产软件的朋友可能会发现默认在使用X大师节能计划,这是很毒瘤很垃圾很差劲的东西,请务必不要使用!此类电源计划表面标称能在节能的同时保留完整的性能,但当我们打开编辑选项查看时,发现它直接将 CPU 限制到75%的状态,此时就会造成游戏卡顿,帧数低的状况。 关闭游戏模式 下面要说的是,微软在 Windows 10 版本为1703的创意者更新中首次加入了“游戏模式”这个东西。但当我根据实测(YouTube知名科技频道 LinusTechTips 也做过测试)后发现,这个游戏模式并没有提升甚至有一些负面影响,所以这里教大家如何关闭游戏模式。 首先我们进入 Windows 设置, 然后点击游戏选项, 然后直接切换到游戏模式选项并关闭开关即可。 至此,有关 WIN10 XBOX DVR 的关闭及系统设置章节结束。 启用 Windows 10 卓越性能 (可选) 左下角开始菜单点击右键,以管理员方式运行 Powershell,输入以下内容 此时,再打开 设置 - 系统 - 电源 - 其他电源设置 ,即可在电源计划中看到 卓越性能 模式。 其他杂项设置: 在 BIOS 中禁用 HPET(高精度事件计时器) HPET 是现代 Windows 版本中的硬件计时器。由于计时器不断向上计数,它可能会导致中断,让您在玩游戏时感觉“迟钝”。建议您在 BIOS 中禁用它以获得更好的延迟和 FPS! 在 Discord 中禁用硬件加速 如果使用 Discord overlay ,请单击齿轮 turn(应用程序设置)> 外观 > 硬件加速关闭硬件加速 NVIDIA 显卡驱动内优化 Nvidia显卡驱动内的调试相对比较简单,部分选项可能会因为显卡高低端型号,而有差别,但大致一样。 首先我们打开 Nvidia 控制面板选择管理 3D 设置,然后切换到程序设置,这样是为了只修改 Apex英雄 的设置而不影响其他程序。 配置说明 ”CUDA-GPUs” 是使用CUDA流处理器的选择,一般大家都是单显卡,所以默认是全部,如果是多卡交火,全部选上就可以了。 “三重缓冲” : 关闭。 “各项异性过滤” : 关闭。 “垂直同步” : 关闭。 “多帧采样AA(MFAA)” : 关闭。 “平滑处理-模式” : 我们选择应用程序控制的,这样在游戏里的一些抗锯齿设置就会生效。 “平滑处理-灰度纠正” : 关闭。 “平滑处理-透明度” : 关闭。 “最大预渲染帧数” : 是用缓存为GPU储存数据,提高这个值会让低FPS的电脑有更平滑的游戏体验,但是同时会增加一定的输入延迟,所以推荐调为1,尤其是当你的电脑FPS较高的情况下。(当然,在游戏卡顿或者FPS较低的情况下可以选择调整为2/3/4) “环境光吸收” : 关闭。 “电源管理模式” : 最高性能优先 “着色缓存器” : 开/关视情况而定,显卡默认的着色缓存是位于我们的系统盘也就是C盘的。所以如果你的系统盘是固态硬盘(即SSD)打开这个选项将会提升FPS,如果你的系统盘是普通机械硬盘那么建议关闭此选项。(有争议,可以选择自行调试) “纹理过滤-三线性优化” : 开启。 “纹理过滤-各向异性采样优化” : 开启。 “纹理过滤-负LOD偏移” : 此项开启关闭对游戏无影响,默认为关闭。 “纹理过滤-质量” : 高性能。 “线程优化” : 开。 “虚拟现实预渲染帧数” : 建议调为1,很显然Apex英雄不是VR游戏,所以没有开高的必要。 “首选刷新率” : 最高可用/由应用控制的” 鼠标灵敏度 因为 Apex 使用的是 Source 起源引擎,所以鼠标灵敏度的计算方法与 CS:GO 完全相同。所以也可以通过此网站进行灵敏度的换算 Mouse Sensitivity | Same Aim - Different Game 关闭鼠标加速度 在 WIN10 中在搜索里输入控制面板,打开之后打开鼠标 像我这样设置,桌面鼠标速度会影响你游戏内的轨迹,速度要在默认档位 6/11,高了会带有加速度,向更低的档位移动没有问题,提高精准度关闭。 在轻松访问中心里将设置确认为这样 参考链接 CSGO FPS 终极优化指南 Apex Legends Maximum FPS guide, Launch options, autoexec.cfg, video, Crossfire and SLI settings Apex Legends Real Fps Boost Tutorial Apex优化设置 Apex Legends TRYHARD Settings Guide - Nvidia, ingame and more! "},{"title":"获取 Steam 游戏图标文件方法","date":"2019-02-21T02:41:10.000Z","url":"/archives/get-steam-game-icon/","tags":["设置","Steam","图标"],"categories":["Gaming"],"content":"前两天偶尔发现了获取已安装游戏图标的方法,本文将带你获取 Steam 游戏的原始 ico 图标。 说明 目前此方法仅限于 Windows,且想要获取图标的游戏已经安装(其实是没在其它系统下测试 つ﹏⊂ )。本文将以64位Windows,Steam 安装在默认位置的情况下进行说明。(而且感觉现在用32位的系统的似乎也不多了的说) 获取方法 打开 Steam 默认安装位置 C:\\Program Files (x86)\\Steam 找到默认安装目录下的 steam\\games 目录,打开即可获得游戏的原始 ico 图标 "},{"title":"TeamSpeak3 使用指南 (新手向)","date":"2019-02-19T15:52:24.000Z","url":"/archives/how-to-use-teamspeak3/","tags":["服务器","VoIP","语音"],"categories":["Tech"],"content":"本文将带您了解什么是 TeamSpeak,简单对比它与其它语音软件的区别以及 TeamSpeak 的使用方法。 什么是 TeamSpeak 首先,先引用一下我曾经在 TeamSpeak 服务器搭建方法 中的简介。 TeamSpeak (简称TS) 是一套专有的VoIP软件,使用者可以用耳机和麦克风,通过客户端软件连线到指定的服务器,与在服务器内频道的其他使用者进行通话。是一种很像电话会议的方式。 通常 TeamSpeak 的使用者大多为多人连线游戏的玩家,与同队伍的玩家进行通讯。在游戏的对战方面,语音对话通讯具有竞争优势。 简单来说,就是一款语音软件,那么有的人可能会问了,那我为什么不直接使用游戏内的语音软件,或者其他的,例如 Discord 或者 YY语音呢? 为什么我们使用 TeamSpeak 为什么不用 YY 语音 首先,先说一下广告方面,用过 YY 的用户可能都知道上面满屏幕的广告,但是 TeamSpeak 和 Discord 并没有广告。 其次,捆绑软件方面,Discord没有捆绑, TeamSpeak 在安装时会询问是否安装 Overwolf (可选项,此软件为游戏内覆盖层,可在游戏内查看当前说话的用户),而安装 YY 后,同时会捆绑 YY浏览器等软件。 第三,YY 并不支持感应麦,即达到一定分贝才会录入。 另外,不知道是否还有人记得,在17年年底的某会期间,YY屏蔽了海外用户的登陆。这一条也是我的一部分朋友转战 TeamSpeak 的原因。 2019-02-24 根据朋友的提示,YY 不支持感应麦,而且按键麦经常失灵,所以很多情况下只能使用自由麦。 为什么不用 Discord 这个原因很简单,被墙了,国内的小伙伴上不了,而且一般情况下,连接服务器后,延迟方面的问题也比较严重,我们也自然只能 Pass 掉它了。 为什么使用 TeamSpeak 首先 TeamSpeak 没有广告,没有捆绑软件,和 Discord 一样支持游戏内覆盖层,也可以单独调节每个用户的音量大小等等等等。至于服务器方面,TeamSpeak 的服务器一般都是自行租赁或架设的。 除此之外,在系统占用,语音质量,语音延迟方面,也完胜Discord 和 YY。如果您想的话,甚至可以在自己的内网搭建一台 TeamSpeak 服务器。 使用方法 下面来说说使用方法,此处会从安装开始说起,以方便新用户进行使用。 请务必不要某国内公司制作的中文翻译版,该版本过旧,无法登陆现有的大部分 TeamSpeak 服务器 更多详情可以查看 为何不要使用 ts1.cn 我在该文中详细解释了为何不要使用 ts1.cn 的服务 第一步,下载 TeamSpeak 此处可以前往 TeamSpeak 官网 teamspeak.com 进行下载,也可以通过我的转存地址进行下载,解决国内在官网下载速度过慢的问题 转存地址 安装过程不需要过多的解释,一直往下就可以 其中 Overwolf 安装后,正如我上面所说的,可以在游戏内显示当前说话的用户,得知哪位用户进入/离开了当前频道等等… 安装完成后,打开 TeamSpeak ,会提示登录 myTeamSpeak 账号。(可选是否登录,个人建议登录一下) myTeamSpeak 账号的用途是同步书签,身份和配置等信息,比如在语音服务器获取的权限等等。 连接至服务器 点击主界面上面的 Connection - Connect,在 Server Nickname or Address 位置输入服务器地址, Nickname 位置输入昵称后,点击 Connect 即可。 也可在安装中文语言包后进行操作。 我们的 TeamSpeak 服务器地址 teamspeak.app 点此查看我们的 TeamSpeak 服务及相关信息 TeamSpeak 中文语言包 目前,我正在和寂听联手制作中文语言包,到目前为止,还处于早期阶段,但是基本界面的翻译基本完成,所以也可以拿来直接使用。 下载地址 下载 Chinese_Translation_zh-CN.ts3_translation 并按照提示进行安装即可。 常见问题 以下内容的中文翻译将会尽量与上方最新版中文语言包相同 Q1 设置感应麦 点击 工具(Tools) ,打开 设置(Options) 菜单目录 ,选择 音频输入(Capture) 选项卡。 可以在右侧的 配置(Profile) 中看到 语音感应激活(Capture Voice Activation)选项,模式选择 Volume Gate。 下方的滑杆代表灵敏度,您可以通过 点击 开始测试(Begin test) 进行测试。 一般情况下,推荐打开下方的回声抑制(Echo reduction) 回声消除(Echo cancellation) 以及 高级选项(Advanced Options),但具体请根据个人情况及设备的不同,自行判断。 Q1.1 说话别人只能听到后半句 / 录入过多杂音 一般此情况为灵敏度配置不当导致的。 通过调节 Q1 中提到的滑杆,滑杆越往左越灵敏,不断地测试,找到适合自己的灵敏度即可解决此问题。 Q2 使用 TeamViewer 时 TeamSpeak 声音变小的问题 不得不说,这个问题,确实困扰了我很久,直到前几天,偶然发现了解决问题的办法 2020-03-27 Windows 更新之后位置有了些许变化 首先,右键点击任务栏的声音 - 打开声音设置 点击右侧的 声音控制面板 然后点击通信选项卡,将系统默认的" 将其他声音的音量减小到80% " 修改为 不执行任何操作,即可完美解决声音变小的问题 低版本 Windows 系统可以参考下面的部分 首先,右键点击任务栏的声音 - 声音 然后点击通信选项卡,将系统默认的"将其他声音的音量减小到80%" 修改为不执行任何操作,即可完美解决声音变小的问题 Q3 如何同时连接多台 TS 服务器 在连接服务器时点击 在新的标签页中 即可同时连接多台 TS 服务器。 Q4 对于 TeamSpeak 许可证的问题 官方现在在对许可证进行调整,不过可以确定的是,日后非盈利许可证(Non-Profit License) 无法再次申请。 相关说明可查看我之前发布的 TeamSpeak 服务器搭建方法 Q5 如何使用权限密钥 打开权限密钥窗口 在顶部菜单中选择 权限(Permission) ,点击 使用权限密钥(Use Privilege key) 选项。 输入密钥即可 Q6 创建或编辑书签 打开书签 在 TeamSpeak 的左上角,单击 书签(Bookmarks) 菜单,然后单击 管理书签(Manage Bookmarks) 选项。 添加书签 在书签窗口中,请单击 新增书签 或在空白处点击右键,即可新建书签。 编辑书签 单击刚刚创建的新书签或要编辑的书签。填写 书签名,服务器地址,昵称和服务器密码(如果需要)。然后单击确定即可。 快速添加书签 连接服务器后,点击 书签(Bookmarks) 菜单,然后单击 添加到书签(Add to Bookmarks) 选项即可。 此列表将会不定期更新"},{"title":"如何解决 Origin 下载速度慢的问题","date":"2019-02-19T15:51:34.000Z","url":"/archives/speed-up-origin-download/","tags":["优化","设置","Origin"],"categories":["Gaming"],"content":"本文旨在解决通过 Origin 下载游戏速度慢的问题。一般情况下,国内大部分用户自动分配的 CDN 是 Origin 的 Level3 的CDN,一般情况下,这也是造成下载速度缓慢的主要原因。 修改配置文件方式 手动修改 通过此方法,将 CDN 手动设定为 Akamai 打开 Origin 安装目录,此文也将以默认安装位置为例。(默认安装位置 C:\\Program Files (x86)\\Origin) 打开目录下的 EACore.ini 文件,如果没有,手动创建一个即可。 在文件中输入以下内容 保存,并运行 Origin 。登陆后,右上角显示 [R&D mode] Production 即表示配置成功。 软件修改 也可以通过使用 Dogfight360 大佬制作的 Origin 游戏下载CDN切换 进行修改配置。通过此方法配置时,如果您已经使用上方的手动方式修改了 EACore.ini 文件,那么删除该文件即可。 转存地址 作者原下载地址 修改 Host 方式 此处同样推荐使用 Dogfight360 大佬制作的 UsbEAm Hosts Editor (多平台hosts修改工具) 此工具可以获取相应地址的网络延迟 此部分可以查看作者发布在SteamCN的帖子,地址会放在下方 转存地址 作者原下载地址 参考链接 UsbEAm Hosts Editor [多平台hosts修改] V3.45 Origin 游戏下载CDN切换 Origin slow download fix (R&D mode) why are the download speeds extremely slow on origin? "},{"title":"解决Win10系统更新后VMware不兼容的问题","date":"2019-01-30T02:38:28.000Z","url":"/archives/turn-off-cg-dg/","tags":["Windows","Virtual","VMware"],"categories":["Tech","Windows"],"content":"在更新了Win10系统之后便遇到了这个问题,BIOS 里面的虚拟化也打开了,也检查了Device Guard的设置,但是始终提示这个,最后终于找到了解决办法。 解决办法 以管理员身份运行 Powershell 或者命令提示符后,输入此命令并重启后即可 参考文章 Powering on a vm in VMware Workstation on Windows 10 host where Credential Guard/Device Guard is enabled fails with BSOD (2146361) 在启用了 Credential Guard 或 Device Guard 的 Windows 10 主机上运行 Workstation 失败 (2146361) Manage Windows Defender Credential Guard 解决Windows10运行VMware Workstation出现与Device Guard不兼容导致无法运行与创建虚拟机问题"},{"title":"2018 年终总结(重制版)","date":"2018-12-31T04:22:32.000Z","url":"/archives/thanks-2018/","categories":["Other"],"content":"不得不说,时间真的很快,转眼间,2018年马上就要结束了,感觉也是时候,该记录一下这一年了,小的时候,总感觉时间过的很慢,期望长大,而现在,却又感觉时间飞快,希望时间可以慢一点,时间推着我们不断地向前走,这一年间,我认识了很多人,也与很多人擦肩而过,结识了很多朋友,也和很多的朋友为了各自美好的明天,为了以后更好的相遇,不得不分别。 今天是2018年12月31号,今天结束后,意味着00后也已经成年,我也即将要结束我的大学生活了… 本来是写了一篇的,结果看来各位大佬写的总结之后,感觉自己的太水了,就按照大佬们的形式重新写了一下~ (捂脸つ﹏⊂ 过往 2018 年上半年,基本一直都忙于学习和打工,另外上半年也终于考过了 TOPIK 考试。 大概今年最难忘的时间还是要从7月份开始,6月份结束了打工的工作之后,收到 Inter 的邮件,得知我中了 i7-8086K 的奖,当然拿到奖品艰辛复杂,这又是另一个故事了。(这个邮件任谁第一眼看到也会以为是SPAM的把???) 7月初,参加了学校为期一个月的菲律宾语言交流项目。在那里结交了好多的新朋友,Aki, Evan, Macho, Kerry,Frog,Crystal,光阳,小白…在菲律宾的一个月,真的给我留下了很多珍贵的记忆。8月初,先是土豪大佬的陪伴下(舔啊舔啊舔),游了一圈杭州和台州。然后面基了Bily。在回韩国前,又故地重游了一番大连,本想和Aki再一起面基一下,奈何国内开学早啊 面基失败 9月份开学之后的某一天,偶然看到苏卡卡大佬的主题 Suka ,再加上当时博客文章混杂,所以萌生了修改的想法,把博客从 WordPress 换到了现在的 Hexo 。 12月份,放假后,和朋友去老挝玩了一圈,又顺利通过了 TBS 的面试。 网站 博客从 Wordpress 换成 Hexo 年初,主题从 Vtrois 维护的 Kratos 更换到 奶子冰 维护的版本 主题更换成现在苏卡卡大佬的 Suka 主题 开放 UV.UY 短域名网站的注册 网站转为 Serverless ,然后又改了回去 (开倒车??? 12月初,ICP 备案被莫名撤销 Friends 年初,加到了大佬小浩 创建的TG群,认识了群里的一群大佬,有大佬小浩,大佬奶子冰,大佬小黄蜂,大佬 Eleplover,大佬LWL,大佬苏卡卡,大佬呼呼呼,大佬 Axton,大佬立音,大佬 Meto,大佬 Indexyz,大佬kn007,大佬NB,等等等等。。。。大佬们总是假装自己很菜,在此真心感谢群里的各位大佬们~ 另外,今年结束就已经和江南,川,叶子,点点,江南,共情,周周,Alo,麦咂…他们认识五年多了,时间真的很快,转眼我们已经认识了这么长的时间,愿大家2019年,一切顺心,一切安好。 最后 首先,谢谢各位能看我的流水账看到现在,最近感觉自己的中文水平真的是有在下降,祝大家新年快乐,2019年心想事成,万事如意,即将高考的各位,考上理想的大学,即将毕业的各位,能学有所成。"},{"title":"导入网易云音乐歌单到 Apple Music","date":"2018-12-25T10:55:53.000Z","url":"/archives/netease-to-apple-music/","tags":["Music","Apple Music","Netease Music","Workflow","Tampermonkey","Excel","Bat"],"categories":["Tech"],"content":"虽然我换到Apple Music 已经快一年多了,不过一直有一些歌单没导过来,前一阵因为之前使用的代理方式失效,自己也突然感觉是时候该把网易云上面的歌单转过来了,便搜集到了一些方法,也算是成功的把歌单给导出来了。 我现在在使用的美区的 Apple Music 直接有使用国大概一年多的国区 Apple Music 但是因为曲库不在一个数量级,前不久转到了美区,据之前的官方数据,美区是5000万,国区是300万,现在页面改版后,没有歌曲数量的介绍了,所以记忆可能有所偏差(报道出现偏差将来要负责的! ) 总之,就是在使用的时候总是感觉想听的歌没有,再加上国区归云上贵州了,就在前一阵转到美区了 2019-11-16 更新使用 TuneMyMusic 导入方式 下面是我使用过的三种方法: 使用 Workflow 同步 这个是我最早使用的方法,这个办法因为年久失修,匹配精度低或者匹配不到、无法增量同步、无法双向同步。但是,不可否认的是这个方法操作简单,在某些场景下,还是有用的。 上手难度 ★☆☆☆☆ 同步速度 ★★★☆☆ 匹配精度 ★★★☆☆ 先将 Workflow 链接放到这里: 网易云音乐➡️ Apple Music。 使用时在网易云音乐客户端里复制歌单分享链接,然后运行这个 Workflow。 使用 TuneMyMusic 导入 (推荐) 这个方法是一个大佬在我的博客上评论的,但因为当时操作失误,丢失了评论,最近找到了评论但是在想办法恢复之前的评论。相对于我之前使用油猴脚本迁移的方式,更加简洁 打开 , 填入 网易云歌单的 ID。假如歌单地址是 ,那么便填写 2651036663 接下来点击 Search ,会显示歌单列表,然后复制生成的文字版歌单 导出歌单后,打开 TuneMyMusic 网站 导入来源选择 从文本 ,目的地选择 Apple Music 即可 接下来,按照网页的提示进行操作即可. 此方法支援的平台有 Spotify, Apple Music, Youtube, Youtube Music, Deezer, Tidal, SoundCloud, KKbox, napster 和 SoundMachine 请注意,每次最多可导入1000首歌曲 利用油猴脚本迁移 使用前一种方式更为便捷(使用 TuneMyMusic 导入) 这个是我无意在B站上发现的文章,现在不知为何,此文章连接打开自动跳转error,这个方法和后面的方法相比提高导入速度,降低了上手难度,而且支持的平台很多,包括 Apple Music, Spotify, Youtube, Deezer, Tidal, Pandora, Napster,但是不可避免的仍然会有部分歌曲导入失败,或者说匹配精度不足。 上手难度 ★★☆☆☆ 同步速度 ★★★★☆ 匹配精度 ★★★★☆ 需要的程序: 浏览器(Chrome,Firefox,Edge,Safari等) Tampermonkey 插件 (下文简称油猴) 第一步,安装 油猴脚本 进行此步骤前,请确保已安装 Tampermonkey 插件 请注意,现在该脚本已停止维护。 在浏览器中打开歌单的分享链接,会看到一个 导出歌单 的按钮, 点击后便可以获得当前歌单的txt列表 如果 导出歌单 的按钮没有显示,有可能有插件或脚本与之发生冲突,也可以尝试重启插件 导出歌单后,打开 TuneMyMusic 网站 导入来源选择 从文本 ,目的地选择 Apple Music 即可 接下来,按照网页的提示进行操作即可. 请注意,每次最多可导入1000首歌曲 利用 iTunes 来导入网易云音乐歌单到 Apple Music 这个是我使用过的第二个迁移方式,优点是这个方法不存在匹配精度低或者匹配不到的问题,并且算是提供了一种增量同步的方法。缺点是相对前两种方式,更为耗时且无法迁移仅会员可以下载的歌曲。 上手难度 ★★★★☆ 同步速度 ★★☆☆☆ 匹配精度 ★★★★★ 因为此步骤比较复杂 (个人认为),所以直接把主要部分摘了过来 此部分的环境是 Windows 10 + iTunes 12.7 for PC + 网易云音乐 2.2.3 for PC。某些功能需要 Windows 环境,但有移植到其它平台的潜力,未测试其它版本的 iTunes 与网易云音乐客户端。 iTunes 导入导出播放列表 这俩功能是 iTunes 自带的,选中某播放列表,点击 文件 - 资料库 就能看到这两个功能。 打开导出的 txt 文件,是一堆格式化的信息。txt 看起来会比较杂乱,你可以全选内容,复制,打开一个空的 Excel 表格,直接粘贴,这样方便查看格式化的内容。 很明白了,第一行是表头,可见数据非常详细。下面就是播放列表中每首曲子的具体信息。用这些数据可以做不少文章,不过目前关注最后一项:「位置」,展示了本首曲子的音乐文件在磁盘上的路径(如果你有下载到本地的话)。 导入播放列表只是一个反过来的过程。首先你要有一个类似于上面 txt 的导出文档,然后在 文件-资料库 选择导入播放列表即可。这个 txt 是可以由我们自己制作的,所以我们可以看到很多可能性。 重点在这里:这个 txt 的构成需要类似于你导出的那些 txt,即第一行是表头;从第二行开始是每首曲子的信息。表头不能缺项,但是顺序不重要。不同的项之间用 tab 隔开。没有信息的项用 tab 留空即可。并不是所有的信息都是必要的,但是:如果你要添加的音乐来自本地磁盘,你需要在「位置」这一项指明文件路径;如果你要添加 Apple Music 里的音乐,那么位置这里可以保持空白,但你需要在「种类」这里指明是 Apple Music AAC 音频文件,并保证「名称」这一项正确。 自动生成上文所述的 txt 假设你有一个文件夹,里面包含了你喜欢的一大堆音乐,这些音乐你想要把它们作为一个播放列表添加进 iTunes 里,应该怎么做? (当然可以直接添加文件/文件夹到资料库,但这里说的是用 txt 文件来导入的方法,看到后面你会知道为什么要这样) 像上面说的,你只需要创建一个 txt,第一行是表头,然后在下面每一行填上歌曲信息,然后在 iTunes 里导入就完事了。一首两首问题倒是不大,歌曲多起来呢? 注意,我上面说了,并不是每个信息都是必要的,事实上,如果你要从本地磁盘导入音乐,只需要歌曲文件路径就够了 。OK,这种重复性的工作在 Windows 上一个批处理脚本就完事了,在 Mac 上我相信有更多的工具可以完成,比如 Automator 啥的。 新建一个文本文件,在里面键入: 另存为 GenPlayList.bat 。把这个文件放在存储了音乐的文件夹里,双击运行,就会生成一个叫 PlayList.txt 的文件,把这个文件名改成 你要的播放列表名.txt,去 iTunes 里选择这个文件导入就好了。在导入的播放列表里全选右键就能全部上传到 iCloud 音乐资料库。 网易云音乐这边的事 到此之前都没有说到网易云,但其实整个思路已经很明显了:我们只需要从网易云里面把对应的播放列表里的歌全部下载下来,然后做一个 txt 往 iTunes 里面一导入就完事了,再借助 iCloud 音乐资料库即可把音乐传到云端,那么在哪里都能听。 其实网易云只扮演了下载工具这个角色。但是我发现网易云音乐(我在用的版本)有一个比较好的点:当你下载了音乐之后,如果把音乐文件移动到了下载目录的子目录里,那么网易云音乐仍然能够找到下载文件的位置。这为我们手动管理音乐创造了条件。 来看一个实际操作的例子 设想这么一个场景:目前你的电脑上网易云音乐没有下载任何音乐(也就是目前你的网易云音乐下载目录空空如也),你突然对一个歌单(名字叫「简直是为我而建的歌单」)很感兴趣,决定把它导进 Apple Music,但是你发现你听的歌都很小众,Apple Music 完全不能理解,所以不能用我之前介绍的 Workflow 来做,该怎么办?我描述一下解决过程。 首先在网易云音乐中播放列表页点击 下载全部,然后一首一首的歌就出现在了你的网易云音乐下载目录里。 把上文提到的那个 GenPlayList.bat 文件也放在下载目录里,双击运行。 把生成的 PlayList.txt 改名为 简直是为我而建的歌单.txt 。 在 iTunes 中选择导入播放列表,使用上面的 简直是为我而建的歌单.txt 。 iTunes 里出现了这个歌单!全选这个歌单里的歌曲,右键点击「添加到 iCloud 音乐资料库」。 然后去网易云音乐下载目录里创建一个文件夹,名字叫「 简直是为我而建的歌单」。 把你下载的音乐剪切-粘贴到第 6 步创建的文件夹里。 检查一下网易云音乐里这个歌单的下载情况,仍然显示的已下载。这时候你的网易云音乐下载目录里除了有一个名字叫「 简直是为我而建的歌单」的文件夹外别无他物,非常整洁。 Perfect! 等等,如果后来网易云音乐歌单里又添加了一些歌曲进去呢?我要如何 增量地导入这些歌曲? OK,其实与上面的步骤大同小异。 增量导入 在网易云音乐中点击全部下载。你会发现后来你添加的歌曲出现在了网易云音乐下载目录中。 执行上面的 1-5 步,你会发现 iTunes 里出现了一个重复的播放列表,其中一个里面包含了你新添加的歌曲。全选这些新添加的歌曲,右键添加到播放列表,OK,这些歌曲就出现在了你上次创建的播放列表里。这时候 iTunes 里的播放列表又与网易云里一样了,嗯嗯不错。 去把你网易云音乐下载目录里的音乐文件扔进上次创建的「 简直是为我而建的歌单」文件夹里。Done! 参考文章 用 Workflow 从网易云音乐迁移数据至 Apple Music 或 Spotify | Matrix 精选 利用 iTunes 来导入网易云音乐歌单到 Apple Music 【干货】如何将网易云歌单导入 Apple music PS: 最后这个链接现在打开会直接跳转 error ,可以通过 Google Cache 或 Internet Archive 来访问此链接"},{"title":"启用 Windows Sandbox","date":"2018-12-25T09:18:25.000Z","url":"/archives/enable-windows-sandbox/","tags":["Windows","设置","Virtual","Sandbox"],"categories":["Tech","Windows"],"content":"微软宣布将在明年的 Windows 10 19H1 更新中加入 Windows Sandbox 轻量化虚拟机功能,支持 Windows 10 专业版和企业版。Windows Sandbox 将为 Windows 管理员提供一个临时桌面环境,可以安全地测试不受信任的软件。 Windows Sandbox 中安装的任何软件都只保留在沙箱中,不会影响您的主机。一旦 Windows Sandbox 关闭,所有具有文件和状态的软件将被永久删除。 2018-12-26 emmm Windows Sandbox 似乎有点bug 突然打不开了(捂脸 2019-05-25 经测试,该问题并不会出现在最新的19H1当中(因为只测试了最新的19H1) Windows Sandbox 特性 原生:作为 Windows 的一部分,此功能所需的一切资源,都随 Windows 10 专业版 / 企业版一起提供,无需专门去下载 VHD 虚拟机; 初始:每次运行 Windows Sandbox 时,运行环境都像全新安装的 Windows 系统一样干净; 安全:基于硬件虚拟化和内核隔离,后者依靠微软虚拟机管理程序运行单独的内核,将 Windows Sandbox 与主机隔离开来; 高效:使用集成的内核调度程序,智能内存管理,以及虚拟 GPU; 一次性:设备上不会遗留任何东西,关闭应用程序后,一切都将被丢弃。 先决条件 Windows 10 专业版 或 企业版 (版本号 18305) 及更新版本 支持 AMD64 架构 已经在 BIOS 中启用 虚拟化 至少 4GB 内存 (推荐 8GB) 至少 1GB 可用磁盘空间 (推荐使用SSD) 至少 2 个 CPU 核心 (推荐使用4核超线程核心) 开启方法 安装 Windows 10 专业版 或 企业版 (版本号 18305) 或更新版本 启用虚拟化 如果您使用的是物理机,请确保在BIOS中启用了虚拟化功能。 如果您使用的是虚拟机,请使用此PowerShell cmdlet启用嵌套虚拟化: 打开Windows功能,然后选择Windows Sandbox。选择 “确定” 以安装Windows Sandbox。系统可能会要求您重新启动计算机。 打开开始菜单,找到 Windows Sandbox,运行即可 参考文章 Windows Sandbox 微软正式宣布轻量化桌面环境程序:Windows Sandbox 安全清爽无残留!微软宣布轻量化虚拟机 Windows Sandbox"},{"title":"魔法咒语大全 (整合版)","date":"2018-12-23T05:13:18.000Z","url":"/archives/magic-word/","tags":["magic"],"categories":["Other"],"content":"偶尔让自己中二一下 (捂脸逃 其实这个是偶然在网上看到的,然后自己又整理了一下 总网 此部分顺序感觉比较乱,有空我再整理一下 從銀嶺來,回到巴比倫去! 凍土啊,冰河啊,狂舞吧! 魔鬼的公爵,來履行使遠古的契約吧! 從蝙蝠的羽來,回夜魔的青爪去! 雷神來,掌握我生命的雷的精靈! 火炎招來,用不滅的火炎來服從我! 冰雪的精靈啊,化爲撕裂者,消滅我的敵人吧! 斯科勿,亦多侯坶,盛血的聖杯啊,請來不歸的靈魂吧! 在漆黑的黑暗中燃燒的地獄之火啊,化爲我的劍消滅敵人! 迪烏斯汀,大氣和大地的精靈,都按古老契約來履行義務吧! 對我忠實就回答我的命令,來吧,用邪惡的力量毀滅一切! 化成灰盡吧,冥界的賢者啊,用七把鑰匙打開地獄之門吧! 把守冥界的三頭犬啊,聽從我的召喚,從黑暗的深淵醒來吧! 餓鬼界的奴博希由啊,請用你那偉大的力量來溶化一切腐敗之物吧! 打開吧,天之聖櫃,我以主人的名義命令你,黑色的靈魂幫助我吧! 充斥于天地之間的精靈呦,根據古老的契約,展現你們的力量吧! 我的生命啊,化作白刃,直到燃成灰盡,去把我的敵人的咽喉割斷吧! 微微的清風,靜靜的流動吧,混沌之物,把所有的一切都化爲白色的武器吧! 統禦四界的黑暗之王,依循著您碎片之緣,藉由您所有的力量,賜與我更強的魔力吧! 腐屍啊,骸骨啊,全都出來吧,從地面長出來的東西都腐爛墜落,回歸大地! 水啊,充滿寒氣吧,我的敵人就是你的敵人啊,聽從我的吩咐,吞食我的敵人吧! 服從於我的念咒者啊,現在聽從我的咒語,消除你們的骨,與血,與肉,的痛吧! 跨越天空以及大地的力量啊,溫柔流動的潺潺河水啊,集中到我的手中來成爲我的力量吧! 遠古的精靈啊聽從我的召喚從遙遠的魔界降臨人間—出來吧!用你的力量將一切邪惡打入深淵! 布裏特,遵從布裏特,遵從血的盟約,到阿伯當的土地上來吧,柯伯那的火焰全力爆發吧! 從負界的混沌喚醒的禁斷的黑炎啊,聽從我的吩負,把阻擋在我面前的所有敵人都化爲灰盡吧! 以天地諸元爲名,召集四方之雷,十二界的諸電之力供我使喚,在藍色的火,白色的光中,雷電結合,掃盡一切之敵! 伴隨著黃昏到來的黑暗,伴隨著血流到來的戰鬥,隨著時間的流逝,以偉大南基之名,將他們導上毀滅之途! 黑暗的王子,邪惡的長子,如果你們還是王的話,就聽從我的召喚吧,惡魔的肉芽啊,將敵人全部吃盡吧! 世界上所有不幸的生靈,所有邪惡墮落的靈魂,請隨著淨化之光, 將世界與世界結合,回到你們原本所屬之處吧! 惡夢之王的一片啊,解放世界的戒令,冰凍的黑色虛無之刃,與我的力量 我的身體結合,一起邁向毀滅之程吧! 吼叫吧,雷的精靈啊,穿透吧,上天的閃電啊,充滿鬥志的人,憑著手中之劍,把我所有的憤怒都發泄出來吧! 冥王啊,將至高無上的強大力量注入我體內的死之冷風中去吧,讓我散發出冰雪的威力,拉開生的華麗的帷幕,展現死神的姿態! 熾天使,智天使,座天使,主天使,力天使,能天使,權天使,大天使,天使,三階九天使啊,天罰之時已經到來,請賜給我面前的敵人永久的毀滅吧! 召喚地的五芒,召喚水的五芒,召喚火的五芒,召喚風的五芒,偉大的王神啊,在我周圍照耀五芒星的光芒吧,從上天的五芒中賜予我力量吧! 偉大的力之三角啊,六星與五芒,光與暗,叩拜龍王的英靈,天理,地理,人理,力的圓錐,迪瑪奇奧的紋章,賜予我聖炎三頭黃金龍的力量吧! 搖蕩於久遠與無限之間所有心之根源啊,所有存在於此的蒼色火炎啊,請將沈睡於我靈魂深處的這個力量,從無限召喚到此助我一臂之力吧! 比黑暗還要漆黑者,比夜晚還要深沈者,在混沌的海裏您偉大的存在,金色的黑暗之王啊,我在這裏向您請願,我在這裏向您發誓,對於阻擋在我前方所有的愚蠢之物,集合你我之力,賜與他們平等的毀滅吧! 比鮮血更加鮮紅,比黑夜更加黑暗,偉大的神啊,賜予我力量,把我從無窮的黑暗中解放出來!破龍陣! 說明:咒語大全按冰、火、水、雷、風、土、黑暗(亡靈)、光明(神聖)、空間、其他(複合)、長篇分類,排名不分先後,如有誤或疏漏,請告知。(注:一般情況下,帶有姓名的咒語不收錄) 冰 空間中的冰精靈呀,將你們的力量集合到我手中,讓大地凍結,讓山川成冰,將世間的一切籠罩在白色之中──天地凍結術! 冰雪之神啊,用你強有力的雙手,將一切凍結!──寒冰凍結波! 冰凝成形,凍刃化槍,賜予我極上之力,凍結虛空之冰槍! 沐浴在極光中的冰之精靈啊,請借給我那鬼斧神工的技巧,築出一道永恒不滅的水晶之牆吧! 冰之精靈,以你潔淨之手,編織出純白之網,將我像初生嬰孩般,溫柔的包裹住吧!──純淨之紗! 冰的精靈呀,請幫助我——凍結術! 冰的精靈呀!運用你們的神力,保護我方——冰護之術!” 冰的大精靈呀,請給予我力量,冰旋咒! 以我族守護神的名義,召喚大氣中的冰精靈們,將你們的力量賜借給我,消滅我的敵人——冰風怒吼! 吾與精靈的契約永世長存,依照契約的束縛,借與吾最強大的魔力,釋放全體精靈的力量,完成無敵的魔咒,摧毀吾之前的一切──天冰地晶! 潔白的雪花,晶瑩的冰霜,聚集到吾的身邊,感受吾的痛苦,借與吾強大的魔力,阻擋吾之前的一切——冰晶雪舞! 偉大的冰之精靈王啊,萬里冰原的主人,賜予我您的力量,純潔的神劍,消滅面前的邪惡!冰之劍 冰雪的精靈啊,化爲撕裂者,消滅我的敵人吧! 在遙遠極寒之處蟄伏的冰雪魔神,順從我的召喚前來。凍結一切的黑色暴風雪啊!將萬物化爲白雪吧!──冰結封滅陣! 火 深埋於黑暗地底的紅蓮之炎,以吾之名召喚前來! 地獄深處燃燒不息的妖火啊!以我之名,呼換你們前來!成爲我的魔劍,粉碎所有阻擋我的人!──火神爆炎! 熱情的火炎精靈呀!請借於我你的力量!火的元素呀!在精靈的命令下化爲無堅不摧的爆炎吧! 紅蓮的妖精啊、吐呐炎之氣息、焚毀衆敵之軀體! 凝結在我手中的炎之分子啊,隨著我揮舞的弧度,劃出一道完美的紅扇形吧!──舞扇之炎! 藏與地底萬丈深淵的熾烈之火,焚燒我的敵人吧!──烈焰地獄! 偉大的火焰主神,請借給我神力,點起撕開黑暗的火焰吧——燃火術! 以火神的名義,我命令火精靈出現——紅蓮燁火! 吾以契約者的名義召喚吾之守護主神——火焰神王!火焰的主神呀,給我無窮的力量,展現您的憤怒,借用你滅世的魔力摧毀吾之死敵,在此一刻,將你我的憤怒合而爲一,展現最強的神力——火神的憤怒! 偉大的火神啊,傾聽我的祈禱──火焰球! 黑暗之王啊,請將你憤怒之火化作沖天狂炎,潔淨世間一切的罪惡——淨世之火! 歡呼雀躍的火精靈呦,聚集到我的身邊,將你們強大的力量暫借於我,釋放你們的活力,燃燒大地,阻擋敵人的視線──紅蓮獄火! 偉大的火之神王,以契約者的名義向汝借取滅世魔力,將世間一切邪惡燃燒,讓光明的火焰燃邊大地──火龍咆哮! 地獄深處燃燒不息的烈火啊!以神之名,呼喚你們前來!焚燒我的敵人,骨頭燒成飛灰,血液也將沸騰……成爲微小的餘燼! 烈火中跳動的精靈啊,將你們的憤怒化爲火牆,把一切都隔開!──火焰護盾! 火焰中的魔神啊,將你們的憤怒,化成我無窮的力量吧!──炎神降臨! 火焰中的精靈,應我之召喚,化爲我血色的長刀,斬滅我眼前的一切生物──火焰烈風切! 水 水的精靈啊!傾聽我的呼喚,用你的磅礴,展示你傲人的力量——水神怒吼! 請求水的精靈圍困我的敵人——逆流術! 大氣中的水精靈呀,聽從吾的召喚,以你們的力量縛博吾之敵的身軀,停止吾之敵的步伐——水界縛博咒! 水神的力量降臨吾身,以契約之名,展現神的力量——水霧滅絕殺! 大氣中的水精靈呀,請聚集到吾的身邊,以水精靈王的意志以吾之名,命令汝等聽命與吾。召集強大的魔力,混合著光明的力量,對抗邪惡的意志,淨化污垢的心靈,讓光明重返大地,讓心靈得到洗滌,解救被黑暗圍困的生靈,粉碎黑暗的野心——水界淨心咒! 雷 紛擾的遊塵,迷惑的旅人,大地的怒吼,衆星的呼喚。邪惡的意念,混亂的重生,狂野的黑暗!出現吧!吾以天雷之名召喚!──滅絕衆生之雷! 昊天之鹿,浮動之獅,聽我之命令,暴落!──天雷! 背逆了一切的定理,違反了亙古的常規,完全只以我的命令爲尊。如果天要懲罰我的狂傲,那就叛天吧!──叛天之逆雷! 龍者!無盡天雷,立於我之左手,我的血盟,雷靈!天者!自然之狂風,撕裂我的敵人,立於我的右手,血盟!融合!死亡爆雷! 在天空奔馳的雷電,狂劈我所指定的敵人吧! 集於天空中億數萬的雷元素──雷箭! 狂風啊!天雲啊!雷殛啊!吾等遵從古代的契約來到我的身邊!──天雷降臨! 無雲的晴空、遲與快的組合!遵從電與火之古老契約!去觸擊他!──電光雷亟! 力量無窮的雷精靈,根據契約,請幫助我!奔雷彈! 狂暴的雷精靈,以你們的力量摧毀一切吧,狂雷天降! 天空中的烏雲,大氣中的精靈,聽從吾的召喚,聚集在吾的身邊,展現你們的哀怨,破滅世間一切,迎接破壞神的到來——爆雷天降咒! 以天地諸元爲名,召集四方之雷,十二界的諸電之力供我使喚,在藍色的火,白色的光中,雷電結合,掃盡一切之敵! 风 疾風招來,成爲猛獸之牙切裂對方! 閃耀於夜空的星晨,請指引我到達彼方之路途,以黑夜之王,大氣之精靈下令,風啊!送我一程吧! 無所不能的風之精靈啊……以大氣爲弓,光輝爲箭,承受我意志的力量,劃破那遠天的虛空吧──風之力量! 虛幻的風啊,幻化成守護的龍吧!──風之幻龍! 風的偉大主神呀!借用你的力量,將我們帶到意願的所在地!──風神大瞬移! 飛翔之風呀!向世人展現高貴的您的暴怒吧!讓世人恐懼,讓世人驚怕──死亡風暴! 風戒之鎖,薄紗之練,終年吹佛大地的不息之風啊,化爲禁錮的枷鎖吧,將胎動的罪惡束縛!──風界縛鎖! 飛舞於大氣之中的風之精靈啊!賜予我透明的雙翼,自由的飛翔於穹蒼之中!──風之翔翼! 風聚爲形,激沖成刃,在十字光芒閃耀的一刻,風之神也會爲此而贊許!揮動吧,十字刃!──風曜x字斬! 風的精靈啊,化爲銳利的鋒刃,試探前方的道路吧。 神聖的力量啊賜予我聖潔的雙翼、任其遨翔於天際──飛翔術! 以契約之名,召喚風的精靈——旋風術! 展現天風神王的力量,風的精靈,以風神的名義保護我——天風之舞! 大氣的精靈啊,請予以那虛妄而不敬神明的妄言者以懲罰——靜默之術! 風神啊~用您無盡的力量,撕開空間的裂痕,永恒的時間定格於瞬間──空氣結界! 神聖的風之精靈──漂浮! 土 無盡的大地,挺起你無邊的胸膛,將世界切斷!──土之城邦! 黑暗、亡灵 統禦四界的黑暗之王,依循著您碎片之緣,藉由您所有的力量,賜與我更強的魔力吧! 墮落的生靈啊,應黑暗中的使者之邀,張開你的胸懷,盡情地吃吧,將一切蝕盡吧!──惡靈降世! 黑暗的盟主啊,以我的血爲契約,用您強大的意志控制力,控制結界內任何地生物──黑暗束縛! 奉邪神之禦用,衛吾已盡之殘軀——暗黑炎壁! 比黑暗還要黑的東西,比深夜還要深的東西,在混沌的海上漂浮,金色的黑暗之王啊,我在這裏向您請願,我在這裏向您發誓,對於阻擋在我前方,所有的愚蠢之物,集合你我之力,賜予他們平等的毀滅——重破斬! 惡夢之王的碎片,解放世界的戒令,冰凍的黑色虛無之刃,與我的力量、我的身體結合,一起邁向毀滅之程,連衆神的魂魄都被擊潰——神滅斬! 由無盡深淵誕生的最強大的力量,籍由我血的聯繫將你呼喚到此,萬事萬物都腐朽墮落,歸於塵土!我于此傳承永恒的契約以我個人之名,將眼前生靈的魂與血奉上,以此爲祭品,再次詛咒──恒暝之紗! 地獄最深層的邪魔啊,請您張開您沈睡了億萬年的紫眸,傾聽您于無數世代後子孫的禱告!您的子孫於這裏獻上擁有強大力量祭品,讓他成爲您身體的一部分,並在這裏宣告無視這個世界的秩序,以您的意志主宰祭品存在的形式————魔化紅蓮 (注:暗黑類禁咒,不借助元素精靈和神詆的力量,直接利用存在於地獄最深處的泰坦超出一切神靈和秩序的力量,將有意識的力量體轉化成地獄的紅蓮之火,50%成功率) 惡靈將至,地獄之門將再度開啓,屈服於我的惡靈們啊,我命令你們使我回歸於空,迎接我吧,在我面前的空間將失去意義──魔界之門! 來自地獄的無盡黑暗呀……掩沒光明吧……以吾之血對汝發誓……以吾之怨恨給予敵人同等的創傷吧! 九天九地之氣,形成我的屏障,遠古的魔神緊記盟約,吾乃惡之最惡,邪之最邪,是無上之尊者,消散於無盡的黑暗之中吧──冥魔六道炮! 比大海更深沈的憂傷,比天空更青藍的悠遠。自九幽地淵之底複現,我以自身鮮血爲誓,傳承彼幽暗之力,賜予所能觸及的一切,彼之判決———深藍判決! 讓一切都爲無盡的黑暗,炸裂吧! 在各個空間中四處游離無所爲家的流魂啊,以僕役的方式現身,盡一點你們的微薄之力,賜給我無盡的黑暗,主子將會以光之超渡終結那無數痛苦的流亡業障--怨靈的哀號! 飄流於世間的靈魂、遊走於人界的亡者,皆依循自然之理回歸至死者之地。迷惘及困惑,憎惡與悲傷,將在光的道路上消失無形──死靈歸界! 深沈的黑暗啊,化爲破滅箭矢,貫穿戰士之盾吧──漆黑之箭! 被衆神詛咒的暗黑大魔神啊,我用我的心,我的血,我的生命向您借取滅世的魔力,讓所有的詛咒降臨到我的身上,讓我的血來洗清神的詛咒──異次元空間! 死亡的靈魂啊,依據契約成爲我的力量吧──地獄死魂炮! 沈睡在異次空間的魔神,在黑暗的引導下穿越時間的阻礙,停留在心靈最黑暗的空間中,掌握吾之敵的意志,破滅吾之敵的靈魂──攝魂魔咒! 亡者的力量,靈魂的意志,在黑色大地上徘徊,在血色天空中遊蕩,在此我以暗之賢者的身份號令,聚集在我手中,化爲我的利矛,將一切生靈回歸冥神的腳下──職掌者之矛·飛翼! 來自遠古的魔神,以吾之名義召喚你的出現,讓天空落下火雨,讓大海變爲血池,衆神將爲之恐懼,一切將歸爲虛無──末日之判決! 地獄深處不死的亡靈啊!以魔界至尊之名,呼喚你們前來!成爲我的力量,粉碎所有阻擋的敵人,骨頭砍成飛屑,一切化作微塵──暗黑力量! 黑暗之神呀,你從虛無中走來,帶著深深的悲傷,將絕望帶給我的敵人,以我的鮮血誓——地獄悲嚎! 地獄中跳動著的紅色幽靈啊,將你們的憤怒化爲利劍消滅敵人吧──爆靈地獄! 黑暗中的死神啊!聽我的召喚,我命令汝等成爲我的奴僕。醒來吧!沈睡中的死神──────死神降世! 沈睡於大地深處的亡靈,我用我心頭的鮮血取消你的封印,聽我號令毀滅我的敵人──亡靈六道殺! 全能的邪神啊,請賜予我們不受外力侵害的力量,在至強的黑暗之光面前,所有傷害都將遠離-─黑暗護盾! 黑暗之龍蘭達呀,我以黑暗之名召喚你。 光明、神圣 光之利刃啊,化成無敵的長劍,斬破黑暗的時空吧!──光劍斬! 空间 幽遊於一切存有的偉大旅者,請駐足垂憐。吾將以未來無限可能爲禮,求前進現世異界渺茫之路,將惶惶於您前的迷途羔羊,牽引至永無終點的無盡旅途———星辰之門 自由漂流在空間中的風精靈呀,請將你們的力量暫借給吾,讓吾擺脫時間的束縛,讓吾超越空間的界限,將吾的身體,將吾的意識傳送到吾所指定的地點,──空間轉移 !平行的世界呀,諸神的領域呀,喚醒未知的通道,釋放莫名的魔法源泉吧──時空風暴! 庇護于時間於空間夾縫中的靈魂,我不讚美你的偉大,我不讚美你的力量,但我用我血的代價換取你的信任,成爲你無盡時間與空間守護者的盟誓!請你將你偉大的力量賜予我,我將把我靈魂中的虛無獻於您的面前,以爲您無處無時不在的永恒的見證!——時空操縱(注:混沌之神的專利) 風在水中飄揚呀,特羅司達的聖火,瑟費大海的浪滔,藉海神之名──位移之咒! 時光與空間的交集,巨輪和鎖鑰的緊合,時空橫豎之窗,飄渺無定之門,虛無而現實的世界,爲召喚之人開啓吧!──超空間扭轉! 偉大的空間主神呀,以你強大的力量,無比的神力,將這個空間毀滅吧!——空間粉碎 ! 其他、复合 大地之神,萬物之主,天臨雷電,地起沈明,火焰精靈請聽我的呼喚,降臨在此世界萬物皆有其之本源,朝我刀刃相向的物質,請示明你的來意,不然,就聽我卑微的建議,原封不動的奉送回去吧!──反沖的真理! 终极类 究極白魔法: 在暗夜中潛伏的身影 在冥月下哭泣的精靈 請回應我內心的憤怒 請您化作永恒的牢籠 使我面前愚癡的人類 關入無盡的黑暗 無盡的魔力將化爲無盡的希望 風之精靈請圍繞在我身旁 構成風的屏障 水的精靈請化爲柔順的波動 凝爲圓潤之鏡 地之精靈請放棄仇視 解除心靈之束縛 平息你的憤怒 合成魔法“鏡冥封音”: 漫延在大氣中的火焰精靈 請回應我的請求 發出無盡的憤怒 將弱小化爲強大 讓無限的波動共鳴 創造出永恒的力量 爆風鳴音! 用不滅的地火焚盡歎息之壁 讓流動的冰嵐解開封印之鎖 從虛無的開始到混沌的終結 請遵循自古以來傳承的諾言 違背從未改變過的命運星辰 斬斷虛無縹緲的因果律之索 爲我打開真與幻交界的門扉 穿梭過去與未來 交錯刹那與永恒 頂級黑魔法: 溫柔輕拂的微風 蔚藍澄澈的大海 灼烈燃燒的火焰 平靜沈穩的大地 藉由四大元素的共鳴 打開對神訴求的通道 四神世界中至高無上的偉大神祀 破壞神呀 請您聆聽我的祈願 運用您神聖的偉大力量 給予悲傷痛哭的哀淒人們 最後的慈悲 冥界中至高無上的暗黑之神呀 我在此向您祈求 我在此向您請願 以周遭的生靈作爲獻祭 換取您對我的憐憫 藉由您的偉大之力 重新賦予我摯愛的人新的生命 火系終極法術-末日的黃昏: 火爲點、炎爲線, 三界之焱構成無盡的面 恐懼的烈焰穿梭永恒的空間 不滅的紅蓮劃破時光的界線 存在於虛無空間的偉大皇者 我以我之名請求你實踐傳說的誓言 創造出破碎的最初 回歸於混沌的終結 風系終極法術—溫柔的傷悲: 從清晨樹梢上的輕響 到深夜幻月下的悲鳴 從溫柔輕拂的微風 到狂暴肆掠的龍卷 跨越夢幻的界線 打開真實的門扉 畫出悲傷的開始 直到最後的終結 虛幻的末日主宰 請借與我無上之力 崩碎希望的混沌 雷系終極魔法—虛無的誓言: 象徵毀滅的無序之雷 審判終結的恐懼之電 化成制裁之光 形成憤怒之劍 解開環鎖的命運 破碎封閉的永恒 創造與毀滅之主 請聆聽我的誓言 將一切歸於最終的虛無 比大海更深藍的憂鬱,比天空更青藍天的悠遠, 自九幽地淵之底複現,傳承彼之幽暗之力, 賜予所觸及的一切,在此與吾訂立契約——深藍審判。 違逆了一切自然的法規,破壞了一切自然的定律, 違逆了所有次元的平衡,破壞了所有次元的秩序, 在違逆中,吾尋覓新的法規與平衡, 在破壞中,吾尋求新的定律與秩序, 吾逆天而行,尋找真理,在虛幻與真實之間徘徊, 超越永恒的時間,超越無限的空間——次元波動 吾在此開啓時空之門扉,呼喚隱覓于明之後諸神, 解開破滅之符印,冥王招來,飛天懸舞… 吾之右手所立乃掌握精神之神摩西, 吾之左手所立乃施管物質之神卡斯, 以汝殘軀爲誓,獻上千人之祭品 換來灰色的祝福。盡立三神血盟於此 餛飩之最初,破滅之序曲… 聖光之終焉,創造之末源… 五芒解封,幻神舞曲… 魔王鳴奏曲之序曲 輝煌咒文──禁界牙煌霸炎陣──現世: 至高的神炎之王,三角之陣的司掌者,請聆聽我的祈禱 尊貴的魔炎之王,四角之陣的統禦者,請回應我的請求 偉大的冥炎之王,五芒之陣的支配者,請承諾我的心願 榮耀的龍炎之王,六芒之陣的掌管者,請實現我的希望 我乃操縱人間緋紅焰火之使者,在此要求履行太古禁斷之契約 以血與魔力爲鎖鑰,開啓四界之門, 淨化罪惡之炎聽我呼喚 焚盡萬物之炎聽我召來 滅絕靈魂之炎聽我所命 永熾不息之炎聽我指令 四界之炎降臨我身 五界之炎迎襲我敵 天地歸於混沌…… 注:將對手與某物融合,或是與自己融合,由精神力強的一方奪得控制權,但卻保留弱的那方的肉體。 八屬性終極複合封印咒文──最美的光輝: 無盡的魔力將化爲無盡的希望 風之精靈請圍繞在我身旁 構成混沌屏障 水的精靈請化爲柔順的波動 凝爲歲月之鏡 地之精靈請放棄彼此的仇視 解除心靈之束縛 火之精靈請凝成紅蓮之索 織爲空間之網 四大元素請借與我心之力 締結永恒的莫名 從虛無的開始到混沌的終結 請停止一切的波動 封印吧!最美的光輝! 封印技第二彈-沈睡的永恒: 在漠然的無盡孤寂中 停留的創造之主 在空虛的永恒傷悲中 穿梭的末日之靈 掌控真實與虛幻的至高存在 請聆聽我的述求 交錯光明與黑暗 劃破最終的界線 讓封印的深淵 重現! 逆屬性終極魔法-交錯之幻想: 在混沌中封閉的永恒 在虛無中破碎的平衡 停留在宇宙的至深之淵 被呼喚而來的偉大神明 請回應我的祈求 重疊幻想與現實 交錯弱小與強大 改變彼此的面貌 將痛苦與悲傷 降臨彼身 風刃: 萬能的風之王者, 通曉大氣流動之理的, 偉大的君王, 群青的伊露克啊! 我偉大的盟友, 遵循血的神聖契約, 自我族血脈之始爲始, 以我族血脈之終爲終, 回應我的召喚, 化做我的力量! 冰彈 : 純潔的水之少女, 通曉波濤翻湧之理的, 美麗的女皇, 蒼藍的伊娃啊! 我偉大的盟友, 遵循血的神聖契約, 自我族血脈之始爲始, 以我族血脈之終爲終, 回應我的召喚, 凍結我面前的所有敵人。 地裂: 沈默的大地君王, 通曉山脈變化之理的, 勇敢的戰士, 堅毅的貝西莫斯啊! 我偉大的盟友, 遵循血的神聖契約, 自我族血脈之始爲始, 以我族血脈之終爲終, 回應我的召喚, 埋葬我的敵人! 火焰巨人: 狂暴的火焰巨人, 掌管破壞與再生的, 勇猛的暴君, 赤紅色的艾夫利德啊! 我偉大的盟友, 遵循血的神聖契約, 自我族血脈之始爲始, 以我族血脈之終爲終, 回應我的召喚, 聚集你的力量, 化爲神聖的武器, 消滅所有的敵人。 光之槍: 光輝的神的女兒, 指引戰士邁向神聖殿堂的, 輝煌的公主, 無法正視的王爾古雷! 我偉大的盟友, 遵循血的神聖契約, 自我族血脈之始爲始, 以我族血脈之終爲終, 回應我的召喚, 將光芒化爲利刃。 撕破黑暗! 連天界的諸神也害怕 連地獄的魔王也恐懼 掌管一切創造與毀滅的存在 你卑微的僕人在此向您祈求 用你那可使世間萬物死亡之力 給予我面前愚昧無知的卑賤生物 最後的審判 最長的咒文 七曜的甦醒: 交錯吧! 太陽的光迹與月亮的引領 在漆黑的路途上 照耀出燦爛的黃金之道 流動不息的泉水啊! 那綿延不止的白絹 請回應我的呼喚 匯聚成夢想的河流 歷經死寂的山脈 傾進真實的大海 讓那希望的種子在應許之地紮根吧! 長成恒綠的世界之樹 結出鵝黃的果實 散落潔白的羽翼 翺翔於殘破的大地 且點燃那永恒的不滅之炎 幻化無盡的紅蓮 編織彼此的心願 將燃燒的誓言灑落 以喚醒沈睡的大地 結合吧! 從太古傳承至今的七曜之力 輝煌之日與溫柔之月 靛藍之金與深紫之水 橙黃之木與緋紅之火 速速降落於此 在黑暗的大地上共鳴 打破那封閉以久的命運之輪 敲碎那失落自我的幻想時空 参考文章 魔法咒語大全-總綱 魔法咒語大全-火 魔法咒語大全-水 魔法咒語大全-雷 魔法咒語大全-風 魔法咒語大全-空間 魔法咒語大全-土&黑暗&亡靈 魔法咒語大全-光明、神聖 魔法咒語大全-其他(複合) 魔法咒語大全-終極類1 魔法咒語大全-終極類2 魔法咒語大全-長篇1 魔法咒語大全-長篇2 最長的魔法咒語-七曜的甦醒 魔法咒語大全-冰"},{"title":"使用 Nginx 多平台同步直播","date":"2018-12-23T03:42:44.000Z","url":"/archives/nginx-mutli-rtmp/","tags":["Nginx","Debian","rtmp","Live"],"categories":["Tech","Linux"],"content":"前一阵,在一位大佬的博客上曾看到过一篇类似的文章,最近突然有朋友想要多平台直播,又找不到之前的,便在网上搜集了一番,整理了一下。这样做的好处是,节省本地带宽,分发给多平台的步骤交给远端的服务器进行处理。 准备工作 如果您已经安装好 Nginx 和 nginx-rtmp-module 可以跳过此部分 使用包管理安装的 Nginx 因为我已经安装过 Nginx,使用的是使用包管理安装的 Nginx,您也可以选择编译安装的方式进行,因为本人太菜,每次进行编译都会出错,所以此处不在阐述。Nginx 官方有打包好的 Nginx 可以直接通过 apt-get install nginx -y 完成安装,但是这样做的后果是你安装的是一个可能非常老旧和充满隐患的 Nginx (此部分摘自 DCC大佬 的博客) Ondřej Surý 的 PPA 更新非常快速,而且做的质量也非常好。 对于 Ubuntu 系列: 对于 Debian 系列: 然后我们更新系统、安装必要组件和 Nginx 本身: 查看 Nginx 版本和参数和安装目录 烧饼博客大佬打包的 Nginx 使用最新 OpenSSL 编译,支持 TLS 1.3, GeoIP2, brotli 压缩等 使用方法 安装成功后使用 nginx -V 查看信息 完成 Nginx 的安装后,接下来安装 rtmp 模块 安装 rtmp 模块 debian 9 用户可以直接使用 apt 安装,需启用 stretch-backports 源: 安装完成后,准备阶段就结束了,下面开始配置 Nginx。 配置 Nginx 打开 nginx.conf 在文件中添加以下部分 替换上方的 RTMP直播地址需要自己进行替换,现在我们完成了服务器上的分流部分 接下来,我们配置一个 http 服务器,此部分与平时配置网站 conf 的过程比较类似 此处的 xxxYOUR_UUID 是我们使用 OBS 推流时候的"流名称",可以使用 UUID Generator 进行生成。 经测试不能加 TLS 测试 RTMP 服务器配置 启动 Nginx 服务后,在服务器上执行下面的命令: xxxYOUR_UUID 替换成前面生成的 UUID,应该输出 OK,再把 xxxYOUR_UUID 换成一个错误的,应该输出 Forbidden。 配置 OBS 推流 如果身份验证没有问题,我们就可以使用 OBS 来推流了。 在 OBS 设置中选择“自定义流媒体服务器”,URL 填入 rtmp://YOUR_SERVERNAME/live (YOUR_SERVERNAME 是推流服务器的 IP或域名), 流名称填入我们前面生成的 UUID。 设置好后单击 OBS上的“开始推流”,不出意外的话就可以同时向我们设置的平台推流了。 参考文章 Debian / Ubuntu 环境下 LEMP 建站解析 arut/nginx-rtmp-module illuspas/nginx-rtmp-win32 借助 Nginx 搭建带简单认证的直播推流服务器,实现多平台同步直播 Nginx学习之配置RTMP模块搭建推流服务 直播推流nginx-rtmp-module集成"},{"title":"为 SSH 连接添加两步认证","date":"2018-12-05T07:16:39.000Z","url":"/archives/ssh-add-mfa/","tags":["Secure","Google","Linux","Debian","SSH","MFA"],"categories":["Tech","Linux"],"content":"Google 两步认证,是 Google 公司提供的,一种增强账户安全性的方式。 它使用 TOTP 算法(基于时间的一次性密码算法)。本文尤其感谢 安装 Google PAM PAM(Pluggable Authentication Module) 是 Linux 系统上用于对用户进行身份验证的身份验证基础结构。由于 Google 制作了一个OATH-TOTP应用程序,他们还制作了一个生成 TOTP 的 PAM,并且与任何 OATH-TOTP应用程序(如 Google Authenticator 或 Authy )完全兼容。 首先,更新 Debian 仓库缓存 并安装 PAM 运行应用程序 您希望身份验证令牌是基于时间的吗? 回复 y ⚠️此处将会显示二维码,请保证 Shell 窗口足够大,否则会显示错误 无法扫码的话,可以通过手动输入此处显示的密钥来添加 请保存好此处提供的5组应急恢复密钥,您可以在必要时使用 是否更新验证文件? 回复 y 禁止同一时间使用同一个验证码登陆服务器,回复 y 默认情况下,验证码有效期为30秒。因为时间可能不同步,可以将时间延长至4分钟 建议选择 n (默认30秒) 限制尝试次数,每30秒最大可尝试3次,回复 y 启用 配置 OpenSSH 编辑 sshd 文件 在文件底部添加以下内容 nullok 最后一行末尾的单词告诉 PAM 这种身份验证方法是可选的。这允许没有 OATH-TOTP 令牌的用户仍然使用他们的 SSH 密钥登录。一旦所有用户都拥有 OATH-TOTP 令牌,您就可以 nullok 从此行中删除以强制使用MFA。 保存并关闭文件 接下来,配置 SSH 来支持两步认证。 找到 ChallengeResponseAuthentication 并设置为 yes。 保存并关闭文件,重新启动 SSH 来重新加载配置文件,不要关闭当前的连接,否则如果配置出现错误,您将无法连接到服务器 此时新建一个 SSH 连接, 如果您之前已创建 SSH 密钥并正在使用它,则会注意到您无需输入用户密码或MFA验证码。这是因为默认情况下 SSH 密钥会覆盖所有其他身份验证选项。否则,您应该已经获得密码和验证码提示。 配置两步认证 重新打开 sshd 配置文件 在配置文件最下方添加如下内容,添加后连接服务器时需要有SSH key + 密码 或 SSH key + 验证码 (或者同时输入三项) 保存并关闭文件,再次打开 PAM sshd 配置文件 找到 @include common-auth 在句首添加 # ,此举告诉服务器不要提示输入密码 保存并关闭文件,重新启动 SSH 来重新加载配置文件,不要关闭当前的连接,否则如果配置出现错误,您将无法连接到服务器 此时再次新建一个SSH连接, 与上次不同,SSH会要求您输入验证码。输入后,您将成功连接到服务器。即使您没有看到任何使用SSH密钥的迹象,您的登录尝试也会使用两个认证方式。如果要验证,可以在SSH命令后添加-v (for verbose) 添加三次认证 (可选) 现在我们已经成功在 sshd_config 文件中添加并允许了以下认证方式: SSH key 密码 MFA 两步认证 尽管我们允许了这三项,但是现在只能通过 SSH key 和 MFA 两步认证来连接到服务器,如果您希望同时启用上面的三种认证方式,修改 PAM 目录下的 sshd 配置文件,将我们之前在@include common-auth 前面添加的 # 删掉,并保存再重新加载 SSH 配置文件即可 到此,本文已经讲述了如何使用 SSH 密钥并同时启用基于时间的 MFA 一次性密码。下面会讲述如何恢复访问权限等内容 恢复访问权限 同时丢失 SSH key 和 MFA 认证 此情况下恢复访问权限,基于您能使用 VNC 或某些厂商提供的恢复模式的情况下,否则请直接去重装系统吧,或者回想一下是否有其他 sudo 账户 上文提到过的密钥和应急恢复代码保存在 ~/.google-authenticator 文件中,第一行即为密钥,重新添加至 OTP 应用程序中即可,您也可以删除此文件(不再使用现有密钥),此时您可以使用单一认证方式登录,登陆后重新运行 google-authenticator 生成新的密钥 仅丢失 OTP 您可以使用初次创建时,系统自动生成的应急恢复代码登录至服务器,每一个恢复代码仅可使用一次 参考文章 Ubuntu Two-Factor Login (public key + Google Authenticator) How To Set Up Multi-Factor Authentication for SSH on Ubuntu 16.04 使用Google身份验证进行ssh二次验证 Google Authenticator安全配置ssh二次验证登录"},{"title":"CSGO FPS 终极优化指南","date":"2018-12-04T07:16:39.000Z","url":"/archives/csgo-fps-optimized/","tags":["优化","设置","fps","Xbox DVR","Nvidia","启动项","Steam"],"categories":["Gaming","CS:GO"],"content":"本教程将会通过修改和优化等等方式提升游戏帧数,进而提升游戏体验,且不仅限于 CS:GO ,亦可用于优化其他游戏。 前言: 此教程只针对于目前还使用 Source 2012引擎且优化并不算特别好的正式版 CSGO 游戏本体,日后游戏更新可能会发生一定变化。目录均采用超链接,可直接跳转。 如果希望掌握更多有关CSGO的调试知识可以参考另一篇CSGO CFG 修改指南对游戏进行更个人化的修改。 本文原作者为 SLA1NE 并由 POBJ 进行整理总结 WIN10 XBOX DVR 的关闭及系统设置 关闭 XBOX DVR 首先我们知道,在 Win10 更新了版本后,出现了 Xbox DVR 这个功能且默认开启。本意是为了方便记录游戏时的精彩瞬间,相当于录制截图工具的存在,但是对于 CSGO、DOTA2 这一类游戏却会导致帧数被锁定,而 CSGO 对FPS的要求极为严苛,个人认为没有 300 FPS 无法顺畅游戏。 那么因为 Win10 默认开启此功能,我们要如何关闭呢? 第一种就是就是登陆微软账户并打开 XBOX 软件关闭 DVR 滑钮,这里不做教程。 第二种就是使用我们提供好的一键关闭XBOX DVR脚本,运行并重启电脑后生效。 2018-10-18 提供一键关闭 DVR 脚本 点此下载 至此,有关 Xbox 的关闭与卸载结束,我们接着说 Windows 系统的一些设置。 电源设置 首先是电源设置,我们右键左下角 Windows 菜单,点击电源选项。 然后会出现如此界面,这时我们点击其他电源设置,会出现电源选项的窗口,如图。 我们直接切换到高性能即可,如果没有发现高性能,通常在下方的隐藏附加计划内。 值得一提的是,使用一些国产软件的朋友可能会发现默认在使用X大师节能计划,这是很毒瘤很垃圾很差劲的东西,请务必不要使用!此类电源计划表面标称能在节能的同时保留完整的性能,但当我们打开编辑选项查看时,发现它直接将 CPU 限制到75%的状态,此时就会造成游戏卡顿,帧数低的状况。 系统优化设置: 关闭占用系统资源的服务 关闭服务的方法是,Win 和 R 调出运行对话框,输入 “services.msc” 启动服务面板,接下来输入要禁用的服务首字母,最后双击“禁用”即可。 Connected User Experiences and Telemetry: 用于收集错误信息,对于硬盘消耗较大,是很多低配电脑卡顿的元凶。 Diagnostic Execution Service: 诊断执行服务,用以执行故障诊断支持的诊断操作,效果类似 Connected User Experiences and Telemetry 。 SysMain: 即以前的 SuperFetch,对于机械硬盘有一定作用,但固态硬盘作用不大,而且常常是导致 CPU 占用飙升 100% 的元凶。如果您使用的硬盘是且仅为 SSD 的话,且物理内存较大,可以考虑关闭。 Windows Search: Windows 搜索服务,作用是实现文件的快速搜索。不过这是一项经常在系统后台”查水表”的服务,很多时候电脑待机时硬盘灯长亮就是它的“功劳”。此外 Win10 新版中的“活动历史记录”也依赖于该服务。如果安装的是 SSD ,且对“ 活动历史记录 ”无感可以考虑关闭,尤其对于低配电脑,性能提升非常明显。 关闭界面特效 Windows 10 中加入了很多特效,这使得一些低端机在运行这款操作系统时非常卡顿。其实很多特效并不需要完全加载,尤其是一些淡入淡出效果,在实际使用中视觉感差异不大,反而相当消耗资源。关闭它们,可以在保持系统外观基本不变的情况下,大幅提升流畅度。 关闭方法: 此电脑-属性-高级系统设置-高级-性能-设置 关闭系统设置中的后台应用 打开 Windows 设置 - 隐私 - 后台应用 在这里关闭绝大多数的后台应用,这里我稳妥起见留下了NVIDIA control panel, Realtek Audio Console 等。此处具体的开关因人而异。 禁止关闭 Google Chrome 后继续运行后台应用 更新驱动 从官方网站下载你最新的主板芯片组驱动,虽然 Windows 10 会装一部分驱动,能保证系统的基本运行,但是为了更好的性能,还是建议自行去官方网站下载最新的驱动。 绝对绝对不要使用驱动精灵等程序安装驱动,可能导致您的系统不稳定 在 Intel 官方网站下载最新的 Intel Management Engine Driver,这将会给你的 CPU 带来更多的稳定性与性能,我经常忘记装 ME,这也就导致了 CSGO 的卡顿。 仅适用于 Intel 的处理器 在 BIOS 中禁用 HPET(高精度事件计时器) HPET 是现代 Windows 版本中的硬件计时器。这是一项在 Bios 中的选项,具体的作用可以自行查询,这里推荐是在 Windows 7 下禁用 HPET,在 Windows 10 下启用 HPET。(默认即为启用) 在 Discord 中禁用硬件加速 如果使用 Discord overlay ,请单击齿轮 turn(应用程序设置)> 外观 > 硬件加速关闭硬件加速 NVIDIA 显卡驱动内优化 Nvidia显卡驱动内的调试相对比较简单,部分选项可能会因为显卡高低端型号,而有差别,但大致一样。 首先我们打开 NVIDIA 控制面板选择管理 3D 设置,然后切换到程序设置,这样是为了只修改 CSGO 的设置而不影响其他程序。 这里直接放出笔者修改过后的图,然后再逐一讲解。 那么现在来逐一讲解。 ”CUDA-GPUs” 是使用CUDA流处理器的选择,一般大家都是单显卡,所以默认是全部,如果是多卡交火,全部选上就可以了。 “三重缓冲” : 关闭。 “各项异性过滤” : 关闭。 “垂直同步” : 关闭。 “多帧采样AA(MFAA)” : 关闭。 “平滑处理-模式” : 我们选择应用程序控制的,这样在游戏里的一些抗锯齿设置就会生效。 “平滑处理-灰度纠正” : 关闭。 “平滑处理-透明度” : 关闭。 “低延迟模式/最大预渲染帧数(旧版本驱动)”: 在较新的驱动中 NVIDIA 将最大预渲染帧数改为了低延迟模式, 以前的预渲染帧数选项 1 变为了现在的低延迟模式 开 ,新加入的极致选项为预渲染帧数 0 ,这并不稳定所以推荐大家改为 开 。 “环境光吸收” : 关闭。 “电源管理模式” : 最高性能优先 “着色缓存器” : 开/关视情况而定,显卡默认的着色缓存是位于我们的系统盘也就是C盘的。所以如果你的系统盘是固态硬盘(即SSD)打开这个选项将会提升FPS,如果你的系统盘是普通机械硬盘那么建议关闭此选项。(有争议,可以选择自行调试) “纹理过滤-三线性优化” : 开启。 “纹理过滤-各向异性采样优化” : 开启。 “纹理过滤-负LOD偏移” : 此项开启关闭对游戏无影响,默认为关闭。 “纹理过滤-质量” : 高性能。 “线程优化” : 开,现在主流的游戏电脑都已经使用i5、i7的CPU,基本上都是4线程或线程CPU,而CSGO的FPS主要取决于CPU。所以开启此项利用CPU所有线程将提高FPS。 “虚拟现实预渲染帧数” : 建议调为1,很显然CSGO不是VR游戏,所以没有开高的必要。 “首选刷新率” : 最高可用/由应用控制的” CSGO 是一款12年发行的采用 DirectX9 的游戏,现如今主流的中高端显卡的性能玩 CSGO 完全够用甚至饱和。所以显卡不愿意工作,会出现在游戏时显卡始终处于低负载导致的FPS低下。 解决问题的方法就是将电源管理模式调为最高性能优先,这样在游戏时就能强制显卡工作,达到相应的性能,提升FPS明显。 现在很多玩家的显示器都是 144hz 甚至 240hz 的电竞显示器,但是当你的输出FPS达不到显示器的需要 FPS(60HZ-150FPS,120HZ-280FPS,144HZ-300FPS,240HZ-300+FPS 为需求)的情况下可以考虑降低显示器的刷新率以达到更稳定的输入延迟与体验,在此种情况下会在启动项中加入 -freq 为开头的指令,使用由应用控制的这个选项的话更为适合。 至此,关于显卡设置的章节结束。 CSGO 启动项以及游戏内设置 CSGO 启动项推荐设置 目前的启动项基本上已经没有几条是有有效的,有效的参数只有下面这些 老的三条/四条去加速指令在 CSGO 初期其实就已经无效了,在近几年的职业选手中也会发现,越来越少的人会使用这几条参数了 -novid : 禁用开场动画: 能够节省你生命中宝贵的几秒钟 -no-browser : 禁用游戏内浏览器 -freq : 锁定你的刷新率 -nojoy : 禁用摇杆,没什么用,能够使小幅度释放内存 +fps_max XXX (1-999) : 修改你的 FPS 上限,999 是最高,比0在某些时候更高一些,也有一些职业选手会锁定为300或500 -tickrate 128 : 在你单机开图或者是5E对战的时候变成 128 tick -console : 当你在打开游戏试自动打开控制台 -high / -highpriority : 可以提升你 CSGO 的处理优先等级,和在任务管理器中把优先级调高,有时候会导致系统错乱(我没遇到过)但是的确可以提高游戏稳定性 -language english : 将游戏的语言改为英文,CSGO 对于其他语言的兼容性有一定问题,在换了英文输入法之后感觉游戏的流畅度有一定提升,排版也更加正常了。 游戏内设置 视频设置 先来说视频设置。 首先,纵横比和分辨率主要看个人喜好。但是对低配的玩家来说,还是建议 4:3 的分辨率之下选择自己看着舒服的分辨率。 因为分辨率低了可以减少要渲染的画面点数,会提升 FPS 。 接着,我们说说显示模式,想达到最高的FPS肯定是以全屏模式运行最好,如果使用窗口化(包括全屏窗口)会自动强制打开三重缓冲和8X的过滤,会大幅度增加输入延迟,想要好好玩游戏必须关闭 笔记本节能模式,是必须关掉的,想必也不会有人开。 接着来说下面的高级视频效果。 “全局阴影效果” : 非常低,这个开啥都没区别。 “模型/贴图细节” : 这个可以开高,基本不影响FPS,强迫症也可以关闭。 “效果细节” : 建议最低,这个主要是玻璃木板碎掉的一些特效,开低玩根本感觉不出什么。 “光影细节” : [针对全景UI更新]建议开最低以降低游戏时的掉帧感,针对老旧配置尤其有效。 “多核渲染” : 一定要开启, CSGO 这个游戏比较依赖CPU,所以一定要全利用上。 “多重采样抗锯齿模式” : 这里可以选择关到最低以提高FPS,因为笔者配置比较高且很受不了狗牙效应所以开了8X MSAA。值得一提的是,刚才显卡设置内的“平滑处理-模式”选择应用程序控制的就会体现在这。 “贴图过滤模式” : 推荐设为最低,也就是双线性,这也是为什么在显卡设置中关闭三线性的原因。 “快速近似抗锯齿” : 建议禁用,虽然在现在电脑配置都不低的情况下这个选开启并不会降低很多FPS,但是可能会引起游戏卡顿,故关闭。 “等待垂直同步” : 必须关闭(增加输入延迟)。 “动态模糊” : 建议禁用,看着头晕并且确实会让你玩不好这个游戏。 音频设置 接下来说音频设置里需要注意的一个地方。 想获得最大 FPS , 请不要将音频输出配置的 HRTF 音效开启。 这种新技术占用的系统资源还比较多,虽然确实可以改善在上下结的声音辨识度吗,但是立体声耳机听声辩位能力也很好。但如果电脑配置很好的话也可以开启。 至此,CSGO 启动项以及游戏内设置章节结束。 关于游戏更新后 FPS 变低或 FPS 不低但有卡顿感的解决办法 很多时候,我们经常遇见 CSGO 更新后FPS突然变低,但下一次更新或一段时间过后又变回去的情况。 虽然这种情况大多是因为更新了新内容过后游戏开发人员没有去做一下优化(又称修复了 FPS 过高的 BUG XD),但我们依然有一些或多或少能缓解的办法。 首先,我们还是将键盘上的 Win 和 R 键一起按下,呼出运行对话框。只不过这次我们输入的是steam://flushconfig 如图。在我们单击确定后, Steam 会自动重启并询问是否要清除下载缓存。我们只要单击并重新登陆 Steam 即可,游戏内可以发现,画面流畅感明显(也可能不明显)比操作之前提升了。 至此,关于游戏更新后FPS变低或FPS不低但有卡顿感的解决办法教程结束。 最后是一些小技巧 关闭鼠标加速度 关于去掉鼠标加速的问题,即使在开启鼠标原始输入的情况下,CSGO 还是会受到很多 Windows 设置的影响,所以说我们尽量要减小系统等因素对游戏准星移动的影响来达到更好的发挥 在 Win10 中在搜索里输入控制面板,打开之后打开鼠标 像我这样设置,桌面鼠标速度会影响你游戏内的轨迹,速度要在默认档位 6/11,高了会带有加速度,向更低的档位移动没有问题,提高精准度关闭。 另外的部分在我们的另一篇CSGO CFG 修改指南中有说明。 在轻松访问中心里将设置确认为这样 注:以上所有情况均由笔者反复调试,摸索得出,可能不会100%符合每个人的情况,但90%的情况下有一定作用。 部分方法与图片来源于互联网,在这里表示感谢。"},{"title":"为 Telegram Desktop 替换字体","date":"2017-12-20T06:46:10.000Z","url":"/archives/change-telegram-fonts/","tags":["字体","Font","Github"],"categories":["Tech"],"content":"无需 MacType,替换 Telegram 字体。本文旨在指导诸位通过 TGFont 来提升 Telegram 的使用体验。 ⚠️⚠️请转步至 2.0 版本 替换 Telegram 字体 (新玩具) Telegram 的客户端一直有一个问题——就是字体,它默认使用的字体是 Simsun(宋体),看起来非常的不舒服,先来对比一下修改前后的效果 修改前: 修改后: 下面是修改方法: 下载 TGFont.dll (下载地址 ), 改名为 winmm.dll 并放入 Telegram Desktop 的根目录(可_直接在资源管理器地址栏输入_ %AppData%\\Telegram Desktop )。 重启 Telegram,这时 Telegram Desktop 目录中会出现 json 文件,默认只会把宋体替换成微软雅黑,当然也可以修改 TGFont.json 来更换其他字体,下面的配置可以替换 TG 界面上用到的所有字体。此处推荐使用 NotePad++(下载地址 ),使用记事本的话,所有的代码都挤在了一起つ﹏⊂ ** 参数说明 ** replace: 要替换的字体 debug: Debug 模式 (将会创建 TGFont.log) 以下为可选参数 size: 控制字体大小 width: 控制字体宽度 weight : 控制字体字重 italic :是否开启斜体 underLine :是否加入下划线 strikeOut :是否加入删除线 至此,字体替换完成"},{"title":"TeamSpeak 服务器搭建方法","date":"2017-08-28T14:08:46.000Z","url":"/archives/teamspeak-server-build/","tags":["Linux","搭建","服务器","VoIP","语音"],"categories":["Tech"],"content":"本文介绍 TeamSpeak 服务器端搭建方法 ,TeamSpeak (简称TS) 是一套专有的VoIP软件,使用者可以用耳机和麦克风,通过客户端软件连线到指定的服务器,与在服务器内频道的其他使用者进行通话。是一种很像电话会议的方式。 通常 TeamSpeak 的使用者大多为多人连线游戏的玩家,与同队伍的玩家进行通讯。在游戏的对战方面,语音对话通讯具有竞争优势。 如果您想找一个最快最简单的搭建方法,请参考 使用 Docker 搭建 TeamSpeak 服务器。除此之外的更多情况下,我更推荐按照本文来进行搭建。 请务必从官网下载最新版本服务端,否则可能会出现无法连接至服务器的情况 TeamSpeak 官网 teamspeak.com 准备阶段 本部分以装有 Debian 10 x64 系统为例,其他系统搭建方法类似。 为了保证系统的安全,不要使用 root 账户安装并配置TS服务器 执行一下系统更新操作: 新建一个用户 切换至 /opt录下 复制并解压TS服务器端文件 赋予刚刚新建的用户权限,并进入该目录 同意许可条款 您可以选择以下任意一种搭建方式进行搭建,若您不理解这些方式的区别,请直接使用第一种搭建方式,即使用 SQLite 搭建 数据库配置 方式一: 使用 SQLite 搭建 因 TeamSpeak 默认使用 SQLite, 所以直接执行以下操作即可自动配置,并启动服务器 注意保存密钥及 ServerQuery 管理员账户和密码 方法二:使用 MySQL/MariaDB 数据库搭建 首先使用 root 登录 MySQL/MariaDB 会提示输入密码,输入密码登陆后,创建一个名为 teamspeak 的数据库 数据库名,用户名和密码请自行修改,此处以数据库名 teamspeak_database,用户名 teamspeak_user 及密码 teamspeak_password 为例 创建一个叫做 teamspeak_user 的用户,使用强大的密码并且赋予 teamspeak_database 数据库权限 由于手机端的流行,我们已经不再使用 utf-8 编码,而改用 utf8mb4 这样我们就可以在 MySQL 数据库里储存 emoji 表情了。你甚至可以尝试使用 emoji 作为用户名或者密码。 这里请将密码 teamspeak_password 改成你要设置的强大的没人能猜出来的随机的密码 终端会提示类似 Query OK, 0 rows affected, 1 warning 不用去管它 刷新权限,没问题就可以退出结束安装了 进行后续步骤前,首先确保您已经安装 MySQL/MariaDB, 且已经创建好数据库 创建 ts3server.ini 文件,以启用数据库插件 若您已经使用的是 MySQL 数据库, 请将 dbpluginparameter=ts3db_mariadb.ini 部分修改为 dbpluginparameter=ts3db_mysql.ini 新建 ts3db_mariadb.ini 文件并输入如下内容 若您已经使用的是 MySQL 数据库, 请创建ts3db_mysql.ini , 不要创建 ts3db_mariadb.ini 文件 将 数据库名 teamspeak_database,用户名 teamspeak_user 及密码 teamspeak_password 部分修改为您自己数据库的信息 将 redist 目录下的 libmariadb.so.2 文件拷贝至当前目录下 执行以下操作即可启动服务器 注意保存密钥及 ServerQuery 管理员账户和密码 设置自启动 创建并编辑文件 /lib/systemd/system/teamspeak.service 此步骤需要root权限 若您是使用 MySQL 或 MariaDB 数据库方式搭建的话,请将 修改为 重新加载 systemd : systemctl daemon-reload 开启自启动(可选): systemctl enable teamspeak.service 启动 TeamSpeak : systemctl start teamspeak.service 停止 TeamSpeak : systemctl stop teamspeak.service 重启 TeamSpeak : systemctl restart teamspeak.service TSDNS设置方法 (可选) 进入tsdns文件夹中,并创建的 tsdns_settings.ini 文件, 配置的格式为 DOMAIN=IP:PORT,比如: example.com=1.1.1.1:9987 即代表将 example.com 和其他任何以 example.com 为后缀的域名,解析到地址为 1.1.1.1:9987 的ts服务器 包括 example.com, abc.example.com, abc.def.ghi.example.com … *.example.com=2.2.2.2:9987 即代表将任何以符合 *.example.com 格式的域名,解析到地址为 1.1.1.1:9987 的ts服务器 包括 abc.example.com, abc.example.com, 123.example.com … PORT 也可以调用变量, 如 abc.example.com=1.2.3.4:$PORT *=1.2.3.4:10000 在这种情况下,它充当向后兼容机制, 可以对没有使用新 TSDNS 名称进行连接的人,连接至当前服务器. 比如一名用户连接至 test.example.com:20000 ,则该用户会被自动转至 1.2.3.4:10000 的服务器地址 IPv6 格式为 example.com=[2001:0db8::1]:9987 example.com=[2001:0db8::1]:9987 1.1.1.1:9987 域名 SRV 记录添加格式 此处以给 example.com 域名配置 TSDNS 为例, 假如 tsdns 的 类别 记录值 名称 _tsdns._tcp.example.com Priority 1 Weight 0 Port 41144 Address tsdns.example.com 此处以 TSDNS 所在服务器地址为 tsdns.example.com 为例, Address 部分请务必填写为域名格式。 类别 记录值 名称 _ts3._udp.example.com Priority 1 Weight 0 Port 9987 Address teamspeak.example.com Port 为 TeamSpeak 服务器地址端口, Address 为 TeamSpeak 服务器地址 接下载, 运行tsdnsserver程序即可,现在连接到TS服务器,可以看到已经显示成功 可通过此代码来后台运行 添加至开机自启动 (可选) 通过 crontab 来实现开机启动 在文件中添加 关闭编辑器并保存。 接下来,你可以通过 crontab -l 来确认是否添加成功即可。 许可证介绍 2018-09-11 Non-Profit License (NPL) 现在申请接口已经关闭,许可证相关信息也发生了改变 2019-03-23 许可证信息前不久又发生了改变,当前许可证状态 2019-10-06 官方于 2019-05-13[1] 上线了 Sponsorship License,可供游戏俱乐部,教育机构,视频创作者使用,详细说明可在此处查看 (Thanks to @xcgjack) TeamSpeak 端口 TeamSpeak 默认情况下, 服务器端需要下表中的端口[2] 端口 协议 说明 9987 UDP 默认语音服务器端口 10011 TCP ServerQuery raw 端口 10022 TCP ServerQuery SSH 端口(需要 3.3.0 以上版本服务端) 10080 TCP ServerQuery HTTP 端口(需要 3.12.0 以上版本服务端) 10443 TCP ServerQuery HTTPS 端口(需要 3.12.0 以上版本服务端) 30033 TCP 文件传输端口 41144 TCP TSDNS 服务端的所有端口都可自由更改 TeamSpeak 3 服务器还会与下方的地址进行连接[3] 域名 协议 本地端口(服务器) 远程端口 说明 accounting.teamspeak.com TCP 1024-65535 2008 3.0.x 服务端版本 accounting2.teamspeak.com TCP 1024-65535 443 3.1.x 服务端版本 ts3services.teamspeak.com TCP 1024-65535 443 3.1.x 服务端版本 weblist.teamspeak.com UDP 2011-2110 2010 全部服务端版本 至此 TeamSpeak 服务器端的搭建方法到此结束。 我们的 TeamSpeak 服务器列表 服务器列表 ServerQuery 相关部分 其实我对于 ServerQuery 的使用也是比较少,这次更新了通过 API 调用 ServerQuery 的方法之后,感觉之后可能我会拿他做一些比较好玩的事情吧,目前对于 HTTP/HTTPS 方式调用的官方说明还是比较少啦,但是官方有表示会写一个完整的 web-query 文档[3],但是以 TeamSpeak 的工作效率来看,怕是要又要咕蛮久的了。 首先,如何启用 http 或者 https query 呢,在之前的版本中 SSH RAW 的方式都是默认启用的,但是这次以我目前的测试来看,默认是关闭的 启用 HTTP / HTTPS ServerQuery 在 ts3server.ini 文件中添加以下内容 启用 HTTP 连接 默认端口为 10080,且默认情况下监听全部端口,可在此处自行修改 如上所示填写后,会同时启用 raw,ssh,http 启用 HTTPS 连接 默认端口为 10443,且默认情况下监听全部端口,可在此处自行修改 此处为仅启用 HTTPS 对于 ts3server.ini 的完整说明我会在日后进行详细说明 Web-Query 调用 示例 参数和可与这些参数一起使用的命令 FAQ 使用 TeamViewer 时 TeamSpeak 声音变小的问题 此部分请移步至 TeamSpeak3 食用方法 (新手向) 让 TeamSpeak 服务端使用 MaxMind GeoIP 数据库 此部分请移步至 在 TeamSpeak 服务器上使用 GeoIP 数据库 参考链接 Teamspeak 3 Server Ports Teamspeak 3 server TSDNS setup Server address resolution and TSDNS changes with Client 3.1.x Does TeamSpeak 3 support DNS SRV records? TeamSpeak Server 3.12.0 TeamSpeak Official Twitter ↩ What ports TeamSpeak 3 server use? ↩ TeamSpeak Server 3.12.0 ↩ ↩ "},{"title":"关于","date":"2019-05-10T07:46:15.000Z","url":"/about/index.html","content":"关于 @EdisonJwa 偶发性懒癌患者 爱折腾 性格类型是 ESFJ-A BUG 体质 最快捷的联系方式为 Telegram ,不喜欢 QQ 和微信,您可以通过这两种方式联系到我,但是并不能及时回复 间歇性踌躇满志,持续性混吃等死 十八般兵器样样皆通,样样疏松 面基过的大佬: Peter ,LS12 , Troy 联系方式 Email: i#uv.uy Telegram: @EdisonJwa Twitter: @EdisonJwa Github: Edison Jwa Wechat: edisonjwa 友链申请 Title: Vigorous Pro Slogan: The world can always use more heroes. Avatar: Logo: 申请友链请在下面留言或者直接联系我哟~"},{"date":"2024-11-20T15:02:15.283Z","url":"/donate/index.html","content":"Please redirect to pay.wevg.org"},{"title":"My Friends","date":"2024-11-20T15:02:15.283Z","url":"/friends/index.html","content":"如果想要申请友链的话,请在我的 Blog-Friends 这个 Repo 里按要求提交一个 Pull Request 就可以申请友链啦~"},{"title":"使用教程","date":"2019-08-18T10:45:42.000Z","url":"/pe-usage/index.html","content":"配置要求 3.5GB RAM 处理器支持 64 位 支持 UEFI 启动 前言 按照本文进行操作后,您将会把 一份 Windows 10 x64 以 UEFI 引导的方式,安装在 GUID 格式分区表的硬盘上。 因本文的目的仅用于给我的朋友进行使用上的说明指导,如文中的说明不够清楚,敬请谅解。如果您对上述中的词汇不慎理解,请自行上网查询。 如果您发现文章中存在问题请与我联系 最新版本的 Windows 镜像 您可以选择下述的任意方式来更新镜像。 方式一 点击此处,并按照下图,Type 选择 Windows(Final), Verison 选择 Windows 10, Version 1903 - 19H1 (build 18362.30) 注:Windows 10 每年更新两次,截至本文最后更新时,最新版本为 19H1 Edition 选择 Windows 10,Language 选择 Chinese (Simplified),File 选择 64 位版本,即 Win10_1903_V1_Chinese(Simplified)_x64.iso 点击右侧的 Download 按钮即可开始下载。 方式二 此方式将需要确保电脑上有迅雷或其他支持 ED2K 协议的下载工具 访问 MSDN,我告诉你 点击 操作系统 选择最新版本的 Windows 10 ,即 Windows 10, Version 1903 (Updated July 2019) 下载 x64 位版本系统即 Windows 10 (consumer editions), version 1903 (updated July 2019) (x64) - DVD (Chinese-Simplified) 下载完成后,我们将下载好的文件放在U盘的根目录下 安装前 重启计算机,Boot Device 选择 U盘。现在稍作等待,顺利地话,我们现在应该已经进入到 PE环境下了。 环境配置 打开 分区工具 DiskGenius,此处我们需要将硬盘分区表类型更改为 GUID 格式。 不保留全盘文件 如果不保留 C 盘所在的硬盘上的文件,请按照此部分处理。 点击界面上方的 快速分区,对齐分区到 4096扇区 本人更喜欢一块硬盘一个分区(笔记本除外) 保留文件 此处假设硬盘上有两块分区 我们现在右键点击一个磁盘分区,选择拆分分区 我们在硬盘的后部 拆分出512MB的空闲空间 现在右键点击这个 512 MB 的空闲空间,选择 建立 ESP/MSR分区,完成后点击保存更改 安装 系统灌装 此处安装前请手动格式化系统盘 根据提示重启后,拔出U盘 打开 Windows 安装器,Windows 安装源选择 U盘中的 ISO 镜像 引导驱动器选择 刚刚分配的 300MB 分区,安装启动器选择 系统盘(截图中为C盘) ,选项中系统版本选择 专业工作站版本,点击安装 安装配置 区域推荐选择美国 添加第二种键盘布局为 英语(美国) - 美式键盘 登录 微软帐号 (推荐) 系统优化 (待续。。。) unsplash-logoArtiom Vallat"},{"title":"Vigorous Pro 隐私政策","date":"2019-01-30T10:02:33.000Z","url":"/privacy-policy/index.html","content":"网站部分 Vigorous Pro (以下简称 “本站”) 尊重并保护 所有访客 的个人隐私权。为了提供更准确、更有个性化的服务,本站会按照本隐私权政策的规定使用或披露您的个人信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本站不会将这些信息对外披露或向第三方提供。本站可能会不时更新本隐私权政策,但 没有义务通知您本隐私权政策的更新;隐私政策更新时,您需要遵守最新的隐私政策。 适用范围 在您访问本站时,服务器对您的 IP、浏览器特征等信息的采集。 本站通过合法途径从其他提供商处(如 Google Analytics)取得的有限的用户个人数据。 信息使用 本站不会主动向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非该第三方和本站单独或共同为您提供服务、或得到您的许可。 本站亦不允许任何第三方以任何手段收集、编辑、出售您的个人信息。 信息披露 在如下情况下,本站将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息: 经您事先同意,向第三方披露; 与 符合上述条款的第三方 分享您的个人信息; 您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷; 其它本站根据法律、法规或者网站政策认为合适的披露。 信息存储和交换 本站收集的有关您的信息和资料将保存在本站及(或)其关联服务的服务器上,这些信息和资料可能传送至您所在国家、地区或本站收集信息和资料所在地的境外并在境外被访问、存储和展示。 信息安全 本站会尽力确保您的信息不丢失,不被滥用和变造,同时也请您注意在信息网络上不存在 “完善的安全措施”。 Cookie 和类似技术 Cookie 是放置在设备上的小型文本文件,用于存储数据,域中放置 Cookie 的 Web 服务器可以调用这些数据。 我们使用 Cookie 和类似技术来存储和遵守你的偏好和设置、使你能够登录、打击欺诈行为、分析本站的性能以及实现其他合法目的。 我们也使用“Web 信号”帮助提供 Cookie 和收集用法和性能数据。 我们的网站可能包含来自第三方服务提供商的 Web 信号、Cookie 或类似技术。 你有各种用于控制 Cookie、Web 信号和类似技术所收集的数据的工具。 例如,你可以使用浏览器中的控件来限制你所访问的网站可如何使用 Cookie,并通过清除或阻止 Cookie 来撤消同意。 TeamSpeak 服务部分 适用范围 在您使用本服务时,服务器对您的 IP、用户特征等信息的采集。 本站通过合法途径从其他提供商处(如 TeamSpeak USA)取得的有限的用户个人数据。 信息使用 本站不会主动向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非该第三方和本站单独或共同为您提供服务、或得到您的许可。 本站亦不允许任何第三方以任何手段收集、编辑、出售您的个人信息。任何本站平台用户如从事上述活动;您可以就 对您造成上述侵害的用户的行为 向我们发送邮件,一经核实我们将立即终止对该用户的服务。 信息披露 在如下情况下,本站将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息: 经您事先同意,向第三方披露; 与 符合上述条款的第三方 分享您的个人信息; 您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷; 其它本站根据法律、法规或者网站政策认为合适的披露。 信息存储和交换 本站收集的有关您的信息和资料将保存在本站及(或)其关联服务的服务器上,这些信息和资料可能传送至您所在国家、地区或本站收集信息和资料所在地的境外并在境外被访问、存储和展示。 信息安全 本站会尽力确保您的信息不丢失,不被滥用和变造,同时也请您注意在信息网络上不存在 “完善的安全措施”。 本策略最终解释权归本站所有。 修改自鱼塘社区 和 LetItFly BBS 及 TeamSpeak USA 的隐私策略 "},{"title":"Search","date":"2024-11-20T15:02:15.299Z","url":"/search/index.html"},{"title":"text","date":"2021-12-30T11:59:15.000Z","url":"/text/index.html","content":"如果想要自己的网站出现在这个页面上的话,请在阅读了 SukkaW/Friends 这个 GitHub 仓库的 README之后,按要求提交一个 Pull Request 就可以申请友链啦~"}]