OpenCode 学习指南

概述 OpenCode 是一个 AI 驱动的代码编辑器,支持外部编辑器集成、多层配置管理、MCP 服务器扩展等功能。 OpenCode调用外部编辑器 OpenCode 使用 Ctrl+X 然后按 E 来调用外部编辑器来编辑 Prompt。 配置默认编辑器 在终端配置文件(如 .bashrc 或 .zshrc)中添加以下行: 1 2 3 4 export EDITOR="code --wait" # Vim: export EDITOR="vim" # Nano: export EDITOR="nano" source ~/.zshrc 推荐配置 推荐使用 VS Code (code --wait) 作为默认编辑器,提供更好的代码体验。 配置文件 可以使用 JSON 配置文件配置 OpenCode,同时支持 JSON 与 JSONC(带注释的JSON)格式: 1 2 3 4 5 6 { "$schema": "https://opencode.ai/config.json", "theme": "opencode", "model": "anthropic/claude-sonnet-4-5", "autoupdate": true } 配置文件的优先顺序 配置合并规则 配置文件会合并,而不是替换。后续配置仅对冲突的键值覆盖先前配置。所有配置中不冲突的设置将被保留。 ...

Hyper-v安装OpenWrt

开启VT虚拟化 BIOS开启VT虚拟化技术,在Windows系统中开启自带的Hyper-v 新建Hyper-V虚拟机 下载OpenWrt映像文件openwrt.img,使用StarWind V2V Image Converter软件将img文件转化为vhdx虚拟机硬盘文件。

Proxmox安装OpenWrt

OpenWrt项目 OpenWrt官方项目地址:OpenWrt Downloads Coolsnowwolf/lede地址:GitHub - coolsnowwolf/lede: Lean’s LEDE source HelloWorld项目地址:GitHub - fw876/helloworld OpenWrt云编译: 使用 GitHub Actions 云编译 OpenWrt OpenWrt映像文件 openwrt-x86-64-generic-squashfs-combined-efi.img.gz 1 2 3 4 5 6 # 解压缩映像文件 gunzip openwrt-x86-64-generic-squashfs-combined-efi.img.gz ls openwrt-x86-64-generic-squashfs-combined-efi.img # 对新建虚拟机引入磁盘(新建虚拟机如下) qm importdisk 101 openwrt-x86-64-generic-squashfs-combined-efi.img local 新建Proxmox虚拟机

LetsEncrypt证书申请

Let’s Encrypt简介 Let’s Encrypt 是 一个叫 ISRG ( Internet Security Research Group ,互联网安全研究小组)的组织推出的免费安全证书计划。参与这个计划的组织和公司可以说是互联网顶顶重要的先驱,除了前文提到的三个牛气哄哄的发起单位外,后来又有思科(全球网络设备制造商执牛耳者)、 Akamai 加入,甚至连 Linux 基金会也加入了合作,这些大牌组织的加入保证了这个项目的可信度和可持续性。 部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用。 ​ Let’s Encrypt 也是一个 CA 机构,但这个 CA 机构是免费的!!!也就是说签发证书不需要任何费用。 ​ Let’s Encrypt 由于是非盈利性的组织,需要控制开支,他们搞了一个非常有创意的事情,设计了一个 ACME 协议,目前该协议的版本是 v1。 ​ 那为什么要创建 ACME 协议呢,传统的 CA 机构是人工受理证书申请、证书更新、证书撤销,完全是手动处理的。而 ACME 协议规范化了证书申请、更新、撤销等流程,只要一个客户端实现了该协议的功能,通过客户端就可以向 Let’s Encrypt 申请证书,也就是说 Let’s Encrypt CA 完全是自动化操作的。 ​ 任何人都可以基于 ACME 协议实现一个客户端,官方推荐的客户端是 Certbot 。 Let’s Encrypt通配符证书 在没有出现通配符证书之前,Let’s Encrypt 支持两种证书。 1)单域名证书:证书仅仅包含一个主机。 2)SAN 证书:一张证书可以包括多个主机(Let’s Encrypt 限制是 20),也就是证书可以包含下列的主机:www.example.com、www.example.cn、blog.example.com 等等。 ...

sudo配置与说明

什么是sudo sudo是用来执行需要提升权限的命令。 Sudo配置 1 # visudo sudo执行命令的流程 当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo权限 确认用户具有可执行的权限后,让用户输入自己的密码确认 若密码输入成功,则开始执行sudo后续的命令 不需要密码的情况 root执行sudo时不需要输入密码(sudoers文件中有配置root ALL=(ALL)ALL这样一条规则) 要切换的身份与执行者的身份相同,不需要输入密码 /etc/sudoers文件设置为允许用户在不输入该用户密码的情况下使用所有命令 如设置允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令 %wheel ALL=(ALL) NOPASSWD:ALL /etc/sudoers文件解释 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ## cat /etc/sudoers ## 下面是规则配置:什么用户在哪台服务器上可以执行哪些命令(sudoers文件可以在多个系统上共享) ## Syntax: ##语法 ## user MACHINE=COMMANDS ## 用户 登录的主机=(可以变换的身份) 可以执行的命令 ## ## The COMMANDS section may have other options added to it. ## 命令部分可以附带一些其它的选项 ## ## Allow root to run any commands anywhere ## 允许root用户执行任意路径下的任意命令 root ALL=(ALL) ALL ## Allows members of the 'sys' group to run networking, software, ## service management apps and more. # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS ## 允许sys中户组中的用户使用NETWORKING等所有别名中配置的命令 ## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL ## 允许wheel用户组中的用户执行所有命令 ## Same thing without a password ## 允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令 # %wheel ALL=(ALL) NOPASSWD: ALL ## Allows members of the users group to mount and unmount the ## cdrom as root ## 允许users用户组中的用户像root用户一样使用mount、unmount、chrom命令 # %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom ## Allows members of the users group to shutdown this system # %users localhost=/sbin/shutdown -h now ## 允许users用户组中的用户像root用户一样使用shutdown命令 sudo执行命令的流程 sudo会话 sudo默认在输入一次密码后15分钟内不会再次要求密码。15分钟后,你会再次被要求输入密码。 ...

Vmware ESXi连接iSCSI

一、 设定VMkernal NIC 登陆VMware ESXi 导航器–>网络–>虚拟交换机–>添加标准虚拟交换机 前往导航器–>网络–>VMkernel 网卡–>添加VMkernel网卡 二、在Vmware ESXi上挂载iSCSI Target 挂载iSCSI Target,前往导航器–>存储–>适配器–>配置iSCSI 启动iSCSI 添加端口绑定,绑定上步添加VMkernel网卡端口 保存配置 前往导航器–>存储–>设备,然后按刷新。确认iSCSI适配器扫描到新的硬盘 可以修改下面的值使您的iSCSI服务更稳定 6.1 LoginTimeout:将数值从5修改到60 6.2 NoopTimeout:将数值从10修改到30 6.3 DelayedAck:取消勾选以关闭DelayedACK

为USBInjectAll.kext创建自定义SSDT

概述 在10.11版本中,Apple完全重写了USB驱动程序。新驱动程序似乎在很大程序上使用了ACPI,比以前的驱动程序更大。这给ACPI(DSDT)的正确性带来了更多的压力。如果不正确,存在的端口可能不会被新的驱动程序启用。 事实上,即使是Apple自己的产品也被发现是不正确的,因此Apple公司发明了一种方法用来一个端口注入器来覆盖DSDT。在事件属性被注入来定义可用端口时,这些属性将被使用而不是ACPI。 内置的端口注入器也可以干扰USB接口,因为一个给定型号的Mac的USB拓朴不太可能与你的PC相同。要解决这些问题,可能需要采取一些步骤。 注意本指南适用于英特尔USB3。第三方USB3,例如Asmedia,NEC/Renasas还是有问题的。这些控制器没有解决方案。对于不支持的USB3控制器(例如,不是英特尔生产的,不是睿思科技生产的)可以试试最新的GenericUSBXHCI.kext ...

AppleHDA声卡修补

1 计算编解码器命令和路径 1.1 获取解码器 首先,我们需要从linux获取音频编码器的转储。因此,进入USB/CD(或)完全安装的任何Linux发行版。并在终端中输入以下命令以在桌面上以文本格式获取转储。 1 2 3 4 5 cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt # 或者 cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt # 或者 cat /proc/asound/card0/codec#2 > ~/Desktop/codec_dump.txt ...

AppleTV伪装证书

1. AppleTV伪装预告片证书 1 openssl req -new -nodes -newkey rsa:2048 -out ~/Desktop/trailers.pem -keyout ~/Desktop/trailers.key -x509 -days 7300 -subj "/C=US/CN=trailers.apple.com" 这将在桌面上创建两个文件:trailers.key和trailers.pem。下一步运行: 1 $ openssl x509 -in ~/Desktop/trailers.pem -outform der -out ~/Desktop/trailers.cer && cat ~/Desktop/trailers.key >> ~/Desktop/trailers.pem 执行完上面的命令,您将得到3个证书文件 2. 使用Apple Configuration创建项目

DD-WRT安装与配置

DD-WRT配置 nvram命令 nvram具有多层含义。首先它是非可变性RAM(non-volatile RAM)的缩写,这种RAM是一种持久性内存,可在断电时保留数据。路由器内的闪存就是一种nvram。nvram命令用于管理硬件设置,这些设置保存在闪存的最后一块内。这个内存段通常称为“nvram”。nvram命令有不同版本,比如IBM、Cisco、Oracle和Apple版。DD-WRT内的nvram命令非常简单,因为它只是显示和更改分配给变量的颠倒以及删除变量。无选项情况下运行它可以看到选项和参数: 1 2 root@linksys:~# nvram usage: nvram [get name] [set name=value] [unset name] [show] nvram show显示了路由器上的所有设置,而且设置还不少。可以使用less将其分隔为一次一页: 1 root@linksys:~# nvram show | less 或是用grep查找特定的变量,比如: 1 root@linksys:~# nvram show | grep ssh 例如:如果你无意间禁用了WEB界面,但仍有telnet或SSH,可以以这种方式重新启用它: 1 2 3 root@linksys:~# nvram set hhtp_enable=1 root@linksys:~# nvram commit root@linksys:~# reboot 如果想清除任何值的变量可参考如下所示: ...