定时更新 Emby SSL证书 / PEM 转 PKCS12

Posted Leave a commentPosted in 网站, 计算机

近期观察到访问 Emby 视频页面 player.neochris.com 时提示证书过期。

回想起年初出于易扩展的考虑,在当时进行过 SSL 证书升级,开始使用 letsencrypt 的通用符证书并应用定时更新。本以为是当时疏忽导致证书路径没有替换,但打开 emby-proxy.conf 配置文件后发现证书路径正确,并且其它子域名如云盘 cloud.neochris.com 的证书却正常如期更新。

 

经过排查发现 Emby 使用了 PKCS #12 文件以支持加密传输,而当时搭建 Emby 时此证书是手动使用 privateKey,chain,cert 文件在 sslshopper 上转换的。为了避免周期性手动更新,打算直接在 linux 上写个定时任务。

《The Most Common OpenSSL Commands》中列出了部分常用的 openssl 命令,其中包含了不同格式的证书转换命令。

  • Convert a DER file (.crt .cer .der) to PEM
    openssl x509 -inform der -in certificate.cer -out certificate.pem
  • Convert a PEM file to DER
    openssl x509 -outform der -in certificate.pem -out certificate.der
  • Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM
    openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
    You can add -nocerts to only output the private key or add -nokeys to only output the certificates.
  • Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)
    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

 

因此,通过使用如下命令来完成证书更新:

openssl pkcs12 -export -out /home/emby/cert.pfx -inkey /etc/letsencrypt/live/neochris.com/key.pem -in /etc/letsencrypt/live/neochris.com/cert.pem -certfile /etc/letsencrypt/live/neochris.com/fullchain.pem

其中下划线部分为可替换的输出与输入文件相关路径。-out 后的路径为 PKCS #12 证书的输出路径,确保此路径及文件名与 Emby 配置一致(Emby 界面,设置-专家-高级-自定义 SSL 证书路径)。-inkey -in -cert 后跟相关 key 和 cert 文件。如果使用 letsencrypt 的证书,一般仅需替换域名部分即可。

证书完成后,重启 Emby 服务器,不再提示证书过期警告。

最后添加定时任务即可完成周期性定时更新。

如何接入 Facebook 社交帐号登陆授权

Posted Leave a commentPosted in 网站, 计算机

1. 前往 Facebook 开发者中心,使用脸书帐号进行登录。

2. 如果此前未创建过开发者帐号,点击右上角的“新手入门”按钮,跟随引导创建一个开发者帐号。已创建过或创建完成的,点击右上角的“我的应用”,选择“添加新应用”,输入名称和邮箱后完成创建。

3. APP 创建完成后,会自动跳转至该 APP 的主页,在“添加产品”项目下选择“Facebook 登录”,点击“设置”按钮。

4. 选择“网络”选项,输入网站 URL 后点击“保存”。

5. 点击左侧导航栏“Facebook 登录”下的“设置”页面,确保“OAuth 客户端授权登录”、“OAuth 网页授权登录”、“强制启用 HTTPS”选项为“是”,并在有效 OAuth 跳转 URI 栏中填入网站相关地址,保存更改。

6. 在左侧导航栏中点击“设置”下的“基本设置”,填入隐私政策和服务条款的相关链接,并选择网站分类,点击“保存更改”。

7. 点击页面上方的“发布”按钮。按钮左侧是应用编号,并可在第 6 步的基本设置中找到应用密钥。

8. Facebook 帐号登录接入完成。

如何接入 Twitter 社交帐号登录授权

Posted Leave a commentPosted in 网站, 计算机

1. 前往 Twitter 开发者中心,使用推特帐号进行登录。

2. 如果此前未使用过开发者功能,需要先点击“create a developer account”以创建一个开发者帐号。选择个人用途,填写使用说明,同意《许可协议》 并验证邮箱,即完成开发者帐号的创建过程。

3. 点击“create an app”创建一个 APP,输入自定义的项目名称、描述、网站链接。选中“Enable Sign in with Twitter”,填写 Callback URLs,完成 APP 创建。

4. 在 App details 标签下点击该 APP 的“Edit”按钮,填入“Terms of Service URL”和“Privacy policy URL”并保存更改,以开启后续的设置。

5. 在 Permission 标签下点击“Edit”按钮,将接入权限改为“Read-only”只读状态,并选中“Request email address from users”复选框(如果网站需要给访客推送订阅的消息通知),保存设置。

6. 点击“Keys and tokens”标签页,获得该 APP 的 API keys 和 API secret keys,用于接入 Twitter 社交帐号即可。

如何接入 Google+ 社交帐号登录授权

Posted Leave a commentPosted in 网站, 计算机

08b1dc65ad7449f58970

1. 前往 Google API 管理界面,使用谷歌账号进行登录。

2. 点击“创建项目”按钮,输入自定义的项目名称后点击“创建”,网页自动跳转至新项目的 Dashboard 信息页面。

3. 点击左上角按钮呼出左侧导航菜单,选择“API 和服务”。

4. 点击“启用 API 和服务”,在搜索框中键入“google+”,选择“Google+ API”并启用。

5. 再次点击左上角按钮呼出左侧导航菜单,在“API 和服务”中选择“凭据”。

6. 选择“OAuth 同意屏幕”标签页,填写应用名称,选择支持的电子邮件地址,并填写其他项目(可选),点击“保存”按钮。

7. 选择“凭据”标签页,点击“OAuth 客户端 ID”。

8. 选择“网页应用”,输入名称和网站

9. 在完成创建时会弹出提示对话框,记录分配的客户端 ID,用于网站与 Google 的链接标识即可。

Vultr 无法 SSH 连接及更换 IP 地址

Posted Leave a commentPosted in 网站, 计算机

检查 IP 是否被国内封锁

由于最近疑似防火墙进行了升级,封堵了部分 IP 的多个端口,致使通过这些端口传输信息的服务中断,其中 SSH 也未能幸免(SSH 是一种加密的网络传输协议,Linux 服务器默认端口为 22)。

首先确认故障原因,通过 端口扫描-站长工具,填写 IP 地址和端口号(22或更多),查看该端口国内是否开启。

如果国内 22 端口是关闭的,再检查外网是否能连接上 22 端口。在 国外端口扫描 中填入 IP 和端口号,点击 check。

如果该端口是 open 状态,基本可以确定是国内对该 IP 进行了封锁。

为 Vultr 主机更换 IP 地址

在 IP 被封锁的情况下,一般只能通过更换主机的 IP 来解决。Vultr 无法直接更换 IP 地址,但可以通过备份当前主机数据,并通过备份在新主机上进行恢复的方法曲线进行迁移操作。由于 Vultr 是按时计费,故重新选择机房一般不会产生额外费用。

1. 生成当前主机快照。
登陆 Vultr 管理界面,选择“Snapshots”标签页,点击“Add Snapshot”按钮,选择相应的虚拟主机实例,点击“Take Snapshot”,等待快照完成。

2. 销毁当前主机实例。
选择相应的主机实例,在后方菜单中选择“Server Destory”。

3. 从快照创建主机实例。
点击“Deploy New Instance”,第一步选择机房位置,第二步在“Server Type”中选择“Snapshot”标签页,选中要恢复的快照,之后的设置按流程继续(新建的虚拟主机容量大小不能小于快照的大小),点击“Deploy Now”,等待完成。

4. 检测新主机 IP 是否国内可用。
查看新分配的 IP 地址的相应端口(主要为22)在国内及国外是否为开启状态。如果状态仍为关闭,则需要重复步骤 2~3,直到获得未封堵的 IP 地址即可。

最后,所有端口服务均已恢复,SSR 也可以正常连接了。

《生化危机:启示录2》全昆虫收集

Posted Leave a commentPosted in 游戏

本文提供了所有纹章的所在章节和位置截图。
左侧图的右上角小地图可以提供详细位置。

昆虫(Insect Larvae)仅出现在 Barry 篇。每章节有 6 个。

第一章节 Episode 1
1. Claire 拿金色齿轮的那个房间外。

2. 面对控制室右侧第二个拘留室。

3. Natalia 去转动火焰喷射器的小道路径上。

4. Natalia 帮 Barry 砸锁开门后直走一段路的某棵树上。

5. 通过黑暗森林后的小屋中。

6. 打开伐木场操纵臂开关的空地。

第二章节 Episode 2
1. 返回通信室的另一边,在房外右侧。

2. 村庄,Claire 拿燃油的那个房间。

3. 离开村庄后不远处的墙壁上。

4. 进入仓库建筑物后上楼(正常情况是下楼),会发现顶层的门被封死,需要使用电钻(这需要在 Claire 篇击杀变异的 Pedro,Barry 篇到村庄时可以去酒吧拾取电钻),进房间后门旁边的墙壁上。

5. 游乐场的滑梯上。

6. 游戏最后建筑物二层的右侧墙上,向右侧楼梯走去即可看到。

第三章节 Episode 3
1. 第一次遇到丧尸之前。

2. 排水管道中。

3. 面对 4 号门转身,铁门后。

4. 即将离开污水处理厂区域,石头上。

5. 矿场如图区域,小屋外左侧。

6. BOSS 战之后的场景。

第四章节 Episode 4
1. 游戏初始,水库状态如图,穿过水道到对面平台。

2. 游戏初始,水库状态与上图相反,下平台,在水道的铁门后。

3. 乘电梯下矿坑之前的场景。

4. 矿坑,进入下图那扇门的通道,推矿车 3 次后绕到其后面即可看到。

5. 洋馆一层。

6. 玩具熊惨遭毒手的场景。

《生化危机:启示录2》全纹章收集

Posted Leave a commentPosted in 游戏

本文提供了所有纹章的所在章节和位置截图。
左侧图的右上角小地图可以提供详细位置。

第一章节 8(4+4) 个,第二章节 9(5+4) 个,第三章节 11(7+4) 个,第四章节 10(3+7) 个 – 其中最后 1 个纹章只有好结局(Good Ending)场景才能取得。

第一章节 Episode 1
Claire 篇:

1. 在取钥匙触发剧情的楼梯。

2. 下图所在位置向天花板看。

3. Claire 协助 Moira 爬上二楼的位置,在拿金色齿轮装置的正上方。

4. 游戏最后的桥旁。

Claire 篇可获得的共有 4 个。

Barry 篇:
5. 游戏初期 Barry 爬上平台往下图方向走,藏在两个箱子的后侧。

6. 第一次发动偷袭的房间。

7. 黑暗森林中央处。

8. 伐木场,隐藏在油桶后。

Barry 篇可获得的共有 4 个。

第二章节 Episode 2
Claire 篇:

1. 酒吧旁。

2. 第一次碰到 Pedro 拿电钻所在位置旁的屋顶上。

3. 通过地道之后,出门左转远处建筑物中。

4. 在下图场景,楼梯底部内侧。

5. 即将追上 Natalia 的场景,两栋建筑物之间。

Claire 篇可获得的共有 5 个。

Barry 篇:
6. 如下图,左侧是锁住的铁门,向右侧看去。

7. 拿铁门钥匙的房间,爬上楼梯即可看到。

8. 在坠机的那栋建筑物 2 层。门是反锁的,需要 Natalia 绕路钻洞开门。

9. 游戏最后,建筑物一层,在以下场景向上看。

Barry 篇可获得的共有 4 个。

第三章节 Episode 3
Claire 篇:

1. 进第一个门后,如图所示位置。

2. 二层洗手间外。

3. 屠宰厂需要撬门的场景。

4. 限时逃离场景,Claire 爬上第一个楼梯后。

5. 遇到 Evgeny 的场景。

6. 污水处理厂帮助 Moira 爬上平台放下铁网箱子后,换 Claire 爬上平台,对面。

7. 墓地区域。

Claire 篇可获得的共有 7 个。

Barry 篇:
8. Claire 篇在污水处理厂遇到喷火胖子的场景,需要转动阀门打开铁门。Barry 篇才可以进去。

9. 面对 2 号门,右上方。

10. 刚进入矿区的场景。

11. 游戏最后,远方钢架上。

Barry 篇可获得的共有 4 个。

第四章节 Episode 4
Claire 篇:

1. 遇到 Alex 的房间。

2. 倒计时场景刚开始,跳下平台(军用箱的那个平台)向上看。

3. 倒计时场景后期,爬下楼梯后向中间下方看。

Claire 篇可获得的共有 3 个。

Barry 篇:
4. 面对水库左转 45 度,远方建筑物上。

5. 起重机场景。

6. 在乘电梯进入矿坑之前,上楼梯并跳至对面,顺着矿车轨道走到底。

7. 需要 Natalia 手掌验证的场景。

8. 洋馆一层楼梯间。

9. 强制战斗场景,排水道中。

10. 好结局(Good Ending)BOSS 第二阶段开场的山上,Claire 拿狙击可以看到。

Barry 篇可获得的共有 7 个。