分类 日常 下的文章

第一步,打开谷歌浏览器,访问视频网页。
第二步,按键盘上的F12(右上角)或者右键视频--检查,会弹出如下的窗口:
1212.png
第三步,点击代码区console(红字1处),在下边输入框里(红字2处)粘贴代码document.querySelector("video").playbackRate="16",然后按键盘回车。即可加速播放了。是不是很简单呢!

特别说明:这里的数字16指的是加速速率,不同的浏览器的最高限制不同,根据所使用的浏览器,可以更改这个数值,直到合适为止。我这里用的是谷歌浏览器,谷歌浏览器最高可以提速16倍。
然后视频就16倍速播放啦,是不是不用这么长时间了!
悄悄告诉你一个秘密:其实我是用来刷公需科目的,哈哈哈哈……
缺点是每个新加载的视频都需要重新粘贴代码并回车。

Typecho 文章部分加密插件(PartiallyPassword)

Typecho 文章部分加密插件(PartiallyPassword)支持对某一篇文章的特定部分创建密码,访客需要正确输入密码才能查看内容。

安装 Installation

A. 直接下载

访问本项目的 Release 页面,下载最新的 Release 版本,解压后将其中的文件夹重命名为 PartiallyPassword(如果它原本不是这个名字)并移动到 Typecho 插件目录下。

B. 从仓库克隆

在 Typecho 插件目录下启动终端,执行命令即可。

git clone -b master --single-branch https://github.com/wuxianucw/PartiallyPassword.git

或下载压缩包(Download ZIP)并解压,将其中的文件夹重命名为 PartiallyPassword (如果它原本不是这个名字)并移动到 Typecho 插件目录下。

使用方法 Usage

初始化

全新安装

启用插件,即完成全部初始化工作。默认配置是一套极简风格的密码输入框,你也可以根据主题特性进行自定义修改。

从旧版本升级

首先备份插件配置(手动将其拷贝到文本文档中等方法),然后禁用旧版本插件。用新版本插件文件覆盖旧版本插件文件,再启用新版本并从备份中恢复配置。

注意: 如果旧版本是 v2.x 版本,请在删除插件目录下的 upgrade.lock 文件后运行一次 Upgrade.php(在浏览器中打开 http(s)://你的博客地址/usr/plugins/PartiallyPassword/Upgrade.php),它将会自动升级 v2.x 的文章自定义字段配置到 v3 配置(JSON 方案)。

确认无误后 ,删除 Upgrade.php,保留脚本自动创建的 upgrade.lock 以防止误操作,并将 upgrade.log 拷贝到其他位置备用。如果在执行脚本中遇到问题(ErrorException 字样),请提出 issue(类型为 Bug report)并附带上 upgrade.log

调用方法举例

基础用法

在书写加密语法之前,请先将对应文章下方“自定义字段”中“是否开启文章部分加密”一项调整为“开启”状态。 该项目默认为“关闭”状态,在此情况下,任何加密语法都不会被解析。

下面的所有例子都包含一个“文本部分”和一个“配置部分”,其中上方的“文本部分”是需要在 Typecho 编辑器中书写的内容,下方的“配置部分”是需要在文章下方“自定义字段”中“密码组”一项内填入的内容。

不需要密码的内容

[ppblock]
输入密码可见的内容
[/ppblock]

不需要密码的内容
["123456"]

这就是一个最简单的例子。你也可以进一步给加密块添加附加信息:

[ppblock ex="请输入密码"]
输入密码可见的内容
[/ppblock]
["123456"]

附加信息将会在输入密码处显示。

如果你想书写一段 [ppblock]...[/ppblock] 形式的文本,但不希望它被解析,请使用 [[ppblock]...[/ppblock]],两侧多余的方括号会被自动移除。

插入多个加密块

不需要密码的内容

[ppblock]
需要密码的内容 A,id = 0
[/ppblock]

不需要密码的内容

[ppblock pwd="喵"]
需要密码的内容 B,id = 1
[/ppblock]

不需要密码的内容

[ppblock ex="给我密码"]
需要密码的内容 C,id = 2
[/ppblock]

不需要密码的内容
{
    "0": "123456",
    "喵": "miao~",
    "2": "000000"
}

每个加密块都会被赋予一个 id,它从 0 开始依次增加。加密块密码的寻找逻辑如下:

  1. 检查 pwd 属性

    • 若该属性存在,从第 2 步继续后续操作 →
    • 若该属性不存在,从第 3 步继续后续操作 →
  2. 寻找 JSON 中是否有索引为 pwd 的值的项目

    • 是,使用该项目作为当前块的密码,结束 √
    • 否,从第 4 步继续后续操作 →
  3. 寻找 JSON 中是否有索引为 id 的值的项目

    • 是,使用该项目作为当前块的密码,结束 √
    • 否,从第 4 步继续后续操作 →
  4. 寻找 JSON 中是否有索引为 fallback 的项目

    • 是,使用该项目作为当前块的密码,结束 √
    • 否,当前块展现为“密码未设置”错误提示 ×

在上例中,三个加密块的密码依次是 123456miao~000000

下面的例子演示 fallback 的功能:

不需要密码的内容

[ppblock]
需要密码的内容 A,id = 0
[/ppblock]

不需要密码的内容

[ppblock pwd="喵" ex="给我密码"]
需要密码的内容 B,id = 1
[/ppblock]

不需要密码的内容
{
    "1": "miao~",
    "fallback": "123456"
}

这个例子中,两个加密块的密码都是 123456。第二个加密块虽然指定了 pwd 属性,但密码组中没有对应的项目,因此也不再检查是否有符合 id 的项目,而是直接使用 fallback

这种使用 pwd 属性指定密码的方式称为“命名密码”。当只使用索引时,密码组配置可以简写为一个 string[] 类型的 JSON 数组,例如:

不需要密码的内容

[ppblock]
需要密码的内容 A,id = 0
[/ppblock]

不需要密码的内容

[ppblock ex="给我密码"]
需要密码的内容 B,id = 1
[/ppblock]

不需要密码的内容
["123456", "miao~"]

这在加密块比较少或密码不重用时非常方便。

不同密码对应不同内容

自 v3.0.0 起,引入了一种新的标记 ppswitch。下面是一个例子:

不需要密码的内容

[ppswitch]
公共内容(可选)
[case pwd="p1"]
输入了 p1 的情况
[/case]
[case pwd="p2"]
输入了 p2 的情况
[/case]
[/ppswitch]
{
    "p1": "111111",
    "p2": "222222"
}

当未输入密码时,展现为:

不需要密码的内容

如果输入 111111(即 p1 的值),则展现为:

不需要密码的内容

公共内容(可选)
输入了 p1 的情况

输入 222222(即 p2 的值)后的展现类推。

有两点需要特别注意:

  1. case 标记必须指定 pwd 属性,否则无论如何都不会显示,而且,除非指定 pwd="fallback",否则不会在找不到密码时自动采用 fallback 的值;
  2. ppswitchppblock 共用一套 id 系统,尽管 ppswitch 默认不会寻找密码组中索引为 id 的值的项目。

关于第二点,下面这个例子可能能够帮助理解:

[ppblock]
这个加密块的 id = 0
[/ppblock]

[ppswitch]
这个加密块的 id = 1
[case pwd="0"]
你输入了上一个加密块的密码
[/case]
[case pwd="2"]
你输入了下一个加密块的密码
[/case]
[/ppswitch]

[ppblock]
这个加密块的 id = 2
[/ppblock]
{
    "0": "000000",
    "2": "123456"
}

可以看到,中间的 ppswitch 占用了一个 id,但是无法直接通过它的 id 为它指定密码(除非设置 [case pwd="1"],但这时它是一个索引为 1 的命名密码)。这种设计是出于多个 case 时难以规定默认行为的考虑。

提示

  • 请勿不成对或嵌套地使用标记,它的展现无法预期。

TODO List

  • [x] 在 Widget_Abstract_Contentsexcerpt 下挂接函数,屏蔽所有 [ppblock] 以及其中的内容,不判断 Cookie。(Since v1.1.0)
  • [x] 寻找一个方案可以直接操作 $widget->text 取出的内容,实现完美屏蔽。 已经更改为在 Widget_Abstract_Contentsfilter 下挂接插件实现方法,这样操作后从 Widget 中取出的数据已经全部进行了过滤,除非直接读取数据库,否则理论上不存在加密区块不解析的情形。(Since v2.0.0)
  • [x] 现有的鉴权逻辑较为不完善,应增加提交密码时的后端相关处理,并合理优化流程。 已经完全交由后端处理 Cookie,流程变更为直接向文章页面 POST 数据。(Since v2.0.0)
  • [x] 默认外观需要优化,包括样式和插入位置。 已经完成优化,现在的默认样式是一套极简风格的密码输入框。(Since v1.1.1)公共 HTML 的插入位置变更为页头和页脚。(Since v2.0.0)
  • [x] 考虑增加加密区块语法支持,后续将可能支持更加复杂的语法。具体方案暂时未定。 新增 ppswitch 语法,能够实现不同密码对应不同内容(#2)。(Since v3.0.0)

黑群晖前段时间总是莫名重启,趁着假期有时间,开始折腾。
装了win10,运行正常,说明机器没问题。遂考虑换版本,DS918+7.1,启动正常,有戏,那就改装918+。记录踩过的坑和洗白的方法。

  1. 安装的时候需要断网,断互联网而不是内网,否则安装完成后重启一直要求还原。
  2. 淘宝上买了个多人使用的半洗白码,滋生了洗白的想法。
  3. 那是云上有帖子介绍洗白的方法,给有能用的sn和MAC,需要自己推算。可惜只能算出sn,官网能注册,但推不出相应的MAC。群晖可以登录,但QC不能用。是半洗白,照这样的方法能推算出无数的码,官网能注册的也有许多。
  4. 推不出MAC是因为能用的sn和MAC临近的都被前边的人注册了,后边规律变了就找不准了。
  5. 那就找新的码,自己推算出临近的,再从里边找出没有注册的码来用。
  6. 思路有了,那就行动。咸鱼上找到两个,一个前后10个都被注册了,第二个往前推10个,里边有几个还没有注册,算出对应的MAC。

写到U盘上,重启。可以登录群晖账户,QC正常。AME也正常登录,可以离线转码了。
微信截图_20220721081732.png
12.png
备注几个用到的网址:
参考网址:http://www.nasyun.com/thread-76552-1-1.html
测试网址:https://account.synology.cn/api/serial/owners?serial_no=17C0PDN601603
绑定网址:https://account.synology.cn/zh-cn/device/

发现录播室录出来的视频,课件不能满屏。一直以为是vga接口收不到19201080分辨率的信号导致,换过前后两台电脑,结果在后边能上到19201080分辨率的主机,到前边却上不到,找不到原因便搁置了。
上周周末值班,又起了折腾的兴致。讲台上的电脑重装win10,各种尝试,发现投影19201080时正常,而一旦接上讲台上的电脑显示器,分辨率就降为1400900。原来是显示器导致的。
自以为找到症结所在,周一午饭后换了前后电脑的显示器,后边联想电脑的显示器支持1920*1080。结果导播系统里居然无信号了,vga信号彻底丢失。
和计算机教师排查线路近两节课,线路没问题,无解。
只好请电脑公司来人维护。原来方向就错了。
说是投影器物理分辨率1024*768,讲台上电脑只需要设定为这个分辨率,桌面右键菜单上有个选项,点一下,设置为强制全屏就行了。晕死,就这么简单,困扰了我这么多天。
而这个选项,是显卡驱动更新后自动安装的软件,一直以来都被我给优化掉了,从没管过它有啥功能。

IMG_20220415_154857.jpg
第一次参加讲故事比赛,选西游记里的片段:悟空学艺,跟着凯叔讲故事听了无数次,单曲循环,有时间就听,华华都快背会了呢。