笔记

Email:moac.kerry@gmail.com

January 30, 2024

Ubuntu虚拟机设置桥接模式

Ubuntu虚拟机设置桥接模式 修改01-network-manager-all.yaml文件 sudo vim /etc/netplan/01-network-manager-all.yaml 修改文件内容 注意修改addresses的值为自己的IP地址,修改via的值为原gateway4的值,修改nameservers的值为自己的DNS服务器地址 network: version: 2 renderer: NetworkManager ethernets: ens33: dhcp4: no dhcp6: no addresses: [10.1.2.241/22] routes: - to: default via: 10.1.0.1 # 原gateway4的值 nameservers: addresses: [114.114.114.114, 8.8.8.8, 10.1.0.1] 修改文件权限解决风险提示信息 sudo chmod 600 /etc/netplan/01-network-manager-all.yaml 应用配置并验证 sudo netplan generate 排错 查看DNS配置文件并修改内容尝试 备份DNS配置文件 sudo cp /etc/resolv.conf /etc/resolv.conf.bak 修改DNS配置文件 sudo tee /etc/resolv.conf <<EOF nameserver 114.114.114.114 nameserver 8.8.8.8 EOF 重启网络服务 sudo systemctl restart NetworkManager 验证DNS配置是否生效 nslookup www.baidu.com

May 22, 2025

提取wx收藏的表情包

使用macOS微信提取自定义表情 本文总结了如何在macOS系统中提取微信的自定义表情,由于微信的文件结构可能随版本更新而变化,建议在操作前备份相关数据。 测试环境 macOS Sonoma 14.7.5 WeChat for macOS 3.8.7 提取步骤 打开目标文件夹 在终端中执行以下命令,打开微信的数据目录: open ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\ Support/com.tencent.xinWeChat/2.0b4.0.9/ 定位Stickers文件夹 在打开的目录中,找到一个或多个名称类似于c75892bba8b1dd98142b37728c9a06a8的随机字符串文件夹。进入文件夹,查找名为Stickers的子文件夹。 复制并重命名fav.archive文件 在Stickers文件夹中,找到fav.archive文件。将其复制到桌面或其他位置,并重命名为fav.archive.plist。 转换为XML格式 在终端中执行以下命令,将二进制的plist文件转换为XML格式: plutil -convert xml1 fav.archive.plist 提取表情链接 使用文本编辑器打开fav.archive.plist文件,搜索标签。每个标签中的内容即为自定义表情的链接。请注意,若链接中包含&,需手动替换为&后才能正常访问。 若需提取所有表情链接,请将所有标签中的内容复制到一个文本文件中。 下载表情包中的表情 若需下载表情包中的表情,请先将表情添加到自定义表情中,然后重复上述步骤进行提取。 下载表情包后,可以重命名为jpg格式,以便在微信中使用。如果是gif格式,需转换为gif格式后再使用。 注意事项 操作过程中请谨慎,避免误删或修改其他文件。 微信的文件结构可能随版本更新而变化,若上述路径不存在,请根据实际情况调整。 原文链接:使用macOS微信提取自定义表情

May 14, 2025

使用RDP远程Ubuntu桌面版测试

要使用 RDP(Remote Desktop Protocol)远程连接到 Ubuntu 桌面版设备,可以通过安装支持 RDP 的服务器端工具实现。以下是标准、稳定的做法: 使用 xrdp+ Ubuntu 桌面环境 一、在 Ubuntu 上安装 xrdp sudo apt update sudo apt install xrdp -y 安装完成后,启动并设置开机启动: sudo systemctl enable xrdp sudo systemctl start xrdp 确认服务运行状态: sudo systemctl status xrdp 二、安装并配置桌面环境(如果是 Server 版或桌面环境不完整) Ubuntu Desktop 版一般自带 GNOME,你可以跳过这一步;如果需要轻量桌面环境(如 XFCE): sudo apt install xfce4 xfce4-goodies -y 设置 xrdp 使用 XFCE(仅当你选择安装 xfce): echo "startxfce4" > ~/.xsession sudo systemctl restart xrdp 确保 xrdp 用户使用的是已安装的桌面环境。 三、开放防火墙端口(默认使用 TCP 3389) sudo ufw allow 3389/tcp 四、从 Windows / Mac / Linux 客户端远程连接 Windows:使用内置的“远程桌面连接”(mstsc) Mac:安装 Microsoft Remote Desktop 应用 Linux:可使用 remmina 或 rdesktop 连接信息填写:...

May 7, 2025

Derper自建

启动示例 新建docker-compose.yml 其中volumes需要把自己的证书路径替换一下,这里我是直接使用caddy生成的证书 其中my-net最好手动先创建,如果不使用docker network,记得修改Caddyfile,使用localhost或127.0.0.1的写法 version: '3' networks: my-net: external: true services: derper: image: ghcr.io/yangchuansheng/derper:latest container_name: derper restart: always network_mode: "my-net" ports: - "12345:12345" - "3478:3478/udp" volumes: - /usr/local/moac/caddy/data/caddy/certificates/acme-v02.api.letsencrypt.org-directory/example.com:/app/certs - /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock environment: DERP_CERT_MODE: "manual" DERP_ADDR: ":12345" DERP_DOMAIN: "example.com" DERP_VERIFY_CLIENTS: "true" Caddyfile示例 注意替换自己的域名放通对应防火墙端口 example.com:12345 { reverse_proxy derper:12345 } ACL示例 修改tailscale中的 Access Controls ,参数可以自己替换,另外注意替换域名 "derpMap": { "OmitDefaultRegions": true, // 是否只连接自建 derper 节点 "Regions": { "900": { "RegionID": 900, "RegionCode": "node_code", "Nodes": [ { "Name": "node_name", "RegionID": 900, "HostName": "example....

November 21, 2024

Linux网络工具

下载&安装 这里使用离线下载安装,版本为v5.21.0 解压 unzip v2ray-linux-64.zip -d /usr/local/v2ray/ 配置文件 配置文件路径 mkdir -p /usr/local/etc/v2ray/ 修改模板配置文件,ps:如果其它设备上有可以直接导出拿过来用 vim /usr/local/etc/v2ray/config.json 这是一个模板,根据实际信息修改 { "inbounds": [ { "port": 1080, // SOCKS 代理端口,在浏览器中需配置代理并指向这个端口 "listen": "127.0.0.1", "protocol": "socks", "settings": { "udp": true } } ], "outbounds": [ { "protocol": "vmess", "settings": { "vnext": [ { "address": "server", // 服务器地址,请修改为你自己的服务器 ip 或域名 "port": 10086, // 服务器端口 "users": [ { "id": "b831381d-6324-4d53-ad4f-8cda48b30811" } ] } ] } }, { "protocol": "freedom", "tag": "direct" } ], "routing": { "domainStrategy": "IPOnDemand", "rules": [ { "type": "field", "ip": [ "geoip:private" ], "outboundTag": "direct" } ] } } 启动服务 创建后台运行服务,新建服务文件并写入一下内容/etc/systemd/system/v2ray....

November 14, 2024

SSH密钥登录

SSH密钥远程连接 客户端工具为:macOS iTerm2 在 iTerm2 中使用 SSH 密钥连接远程服务器,可以按照以下步骤进行: 确认 SSH 密钥是否存在 首先,检查是否已有 SSH 密钥。默认情况下,SSH 密钥存储在 ~/.ssh/ 目录下。 ls -al ~/.ssh 如果没有看到 id_rsa 或 id_ed25519 文件,可以用以下命令生成一个新的 SSH 密钥: ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 将SSH公钥添加到远程服务器 将生成的公钥 (~/.ssh/id_rsa.pub 或 ~/.ssh/id_ed25519.pub) 复制到远程服务器的 ~/.ssh/authorized_keys 文件中: ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host 或者手动将公钥内容添加到 ~/.ssh/authorized_keys 文件中。 配置SSH客户端 可以编辑 ~/.ssh/config 文件,以便在 iTerm2 中快速连接服务器: nano ~/.ssh/config 添加以下配置(替换示例内容): Host myserver HostName remote_host User username IdentityFile ~/.ssh/id_rsa Host: 本地别名,用于快速连接 HostName: 远程服务器的 IP 地址或域名 User: 用户名 IdentityFile: 私钥文件路径 保存并关闭文件。...

October 30, 2024

支持web的svn

启动一个支持web的svn服务 搭建 使用镜像 docker pull elleflorio/svn-server 启动容器 docker run -d --name svn --restart=always -v /usr/local/moac/svnData:/home/svn -p 13690:80 -p 3690:3690 elleflorio/svn-server 创建管理员用户;自定义管理员账密 docker exec -t svn htpasswd -b /etc/subversion/passwd <username> <password> 对持久Volume添加write权限 chmod -R 777 /usr/local/svnData 进入SVN仓库URL 浏览器地址栏输入http://ip:13690/svn,此时会让你输入用户名和密码,用户密码即上面命令行创建的用户和密码,进入后就可以看到仓库列表 浏览器地址栏输入http://ip:13690/svnadmin,第一次进入会进行后台的配置管理 配置名称 Value Subversion authorization file /etc/subversion/subversion-access-control User authentication file (SVNUserFile) /etc/subversion/passwd User view provider type passwd User edit provider type passwd Group view provider type svnauthfile Group edit provider type svnauthfile Repository view provider type svnclient Repository edit provider type svnclient Parent directory of the repositories (SVNParentPath) /home/svn Subversion client executable /usr/bin/svn Subversion admin executable /usr/bin/svnadmin 以上配置填写好后进行test测试,Test passed后再进行保存配置信息,特别注意Parent directory of the repositories (SVNParentPath)一定要Test passed...

May 17, 2024

Linux启用root远程登录

在Linux系统中,要启用远程登录root并允许使用密码登录,需要编辑SSH服务器的配置文件 /etc/ssh/sshd_config。 以下是步骤: 使用具有足够权限的用户(如sudo用户)通过SSH或终端登录到Linux服务器。 打开SSH配置文件: sudo vim /etc/ssh/sshd_config 修改以下配置项:允许root用户远程登录:将 PermitRootLogin 行改为 PermitRootLogin yes 或者 PermitRootLogin without-password (如果你打算使用密钥对验证而不是密码)。 注意:出于安全考虑,强烈建议使用公钥认证而非密码认证。如果禁用了密码登录,且希望重新启用密码登录,确保没有 PasswordAuthentication no 这一行或者将其注释掉,或者改为 PasswordAuthentication yes。 保存并关闭配置文件: 在nano编辑器中,按 Ctrl+X 然后按 Y 再按 Enter 来保存更改。 重启SSH服务以应用新的配置: sudo systemctl restart sshd 测试远程连接: 使用一个支持SSH的客户端尝试以root用户身份远程登录,并输入root用户的密码。请务必注意,允许root用户直接远程登录并通过密码验证是一项安全隐患,通常不推荐在生产环境中这样做。更安全的做法是使用公钥认证结合sudo或其他权限管理机制。

February 2, 2024

hugo基于gitea实现持续部署

安装Gitea/Caddy 基于docker: 官方文档 https://docs.gitea.com/zh-cn/installation/install-with-docker 手动创建docker网络 docker network create my-net 新建docker-compose.yml,其中networks 部分定义了一个外部网络 my-net,并将其设置为 external: true,表示这个网络是由 Docker Compose 之外的其他方式创建的 version: "3" networks: my-net: external: true services: gitea: image: gitea/gitea:1.21.4 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always networks: - my-net volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "222:22" caddy: image: caddy:latest container_name: caddy restart: always networks: - my-net volumes: - ./caddy/Caddyfile:/etc/caddy/Caddyfile - ./caddy/site:/site ports: - "80:80" - "443:443" Act_runner实现持续部署 参考官方文档:...

January 30, 2024