使用 NxNandManager 调整 Switch 虚拟 eMMC (emuMMC) 大小

引言

在 Nintendo Switch 上,Atmosphère 提供了两种创建虚拟系统的方法:隐藏分区和文件形式,但在实际使用中一般使用文件形式。

为什么选择文件形式?

文件形式的虚拟系统有几个显著的优势:

  • 方便备份和恢复:只需备份内存卡上的 eMMC 目录即可。
  • 更换内存卡简单:无需复杂操作,只需复制文件。

然而,文件形式的虚拟系统在读写速度上不如隐藏分区,导致游戏安装和加载时间较长。因此,建议将游戏安装到内存卡中,机身内存仅用于系统文件和游戏存档。

了解 Git 子模块

这个 Blog 用的是 Hugo 来生成静态文件,主题采用 even。在使用 Git 管理源文件时,主题目录通过 Git 子模块(Submodule)关联到另外一个代码仓库。Git 子模块是一个非常有用的功能,特别适用于需要将多个独立的代码库整合在一起的大型项目。这里记录下 Git 子模块的添加、更新和删除备忘。

什么是 Git 子模块?

Git 子模块是一种将一个 Git 仓库作为另一个 Git 仓库的子目录来管理的方法。通过子模块,你可以将外部项目或库嵌入到你的主项目中,并且每个子模块都可以独立地进行版本控制。这对于需要复用代码或依赖第三方库的项目来说非常有用。

使用 Git 进行 Cherry Pick 和 Rebase

Git 是一个强大的分布式版本控制系统,广泛应用于软件开发中。它提供了许多功能来管理代码库的历史记录和分支,其中 cherry-pickrebase 是两个非常有用的命令。

什么是 Cherry Pick?

cherry-pick 是 Git 中的一个命令,用于将特定的提交(commit)从一个分支复制到另一个分支。它的主要作用是将某个特定的更改应用到当前分支,而不需要合并整个分支的历史记录。

Mobaxterm 通过 Session Manager 访问 AWS EC2 实例

需求

在 AWS 上部署了一个项目,包含四个 EC2 实例。其中一个为堡垒机实例,另外三个为业务实例。在子网的安全组中,关闭了 22 端口,只能通过 AWS 网页上的 Session Manager 访问堡垒机,再跳到其它业务机上。但 AWS 网页版的终端使用起来有很多限制,比如不能“选择即复制”,不能“右键快速粘贴”,会话无法保活等。 因此,希望可以使用桌面终端,比如 Mobaxterm,通过 Session Manager 来访问 EC2 实例。

解决方案

通过 AWS Command Line Interface(AWS CLI) 连接 Session Manager,经由 System Manager Agent(SSM Agent) 将所有操作转发给 EC2。

使用 Session Manager 的前提

  • EC2 实例安装了 SSM Agent
  • EC2 实例绑定了 IAM Role AmazonSSMManagedInstanceCore
  • EC2 可以直接或者通过 Session Manager 的 VPC Endpoint 连接 Session Mananger 服务 具体参照 AWS 官方文档进行设置。

IPTV PHP 爬虫片段

现在有很多线上 IPTV 服务,限制只能在浏览器的播放器观看,可以通过 PHP 爬取对应的流媒体源,来实现在其他应用或电视上观看。

IPTV 源分类

不限制 Referer

这类源最简单,直接 PHP 发送请求获取到流媒体的链接。

iptv-sample-a.php 代码片段

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php
    function get($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }