准备工作 Typecho 数据导出插件 Byetyp https://github.com/sunxiyuan/ByeTyp 打包备份Typecho中/usr/uploads 的数据 备份统计代码和ADsense 代码 步骤 注: 因为是迁移完之后才写的笔记,所以没有截图了,接下来的内容就只有文字步骤了。 文字步骤 将Byetyp插件上传到Typecho博客中的插件目录(Plug), 并去掉版本号修改目录名(否则无法正常启用) 将Typecho中/usr/uploads 用户上传的文件打包下载备份到本地 ,稍后要上传到Wordpress 的 wp-content/uploads 目录 激活Byetyp插件导出Typecho博客的数据,格式为xml 安装好Wordpress 并导入Typecho中的数据 执行数据库命令 ,将post-content 表中的附件路径(图片路径)替换成Wordpress SQL command UPDATE wp_posts SET post_content = REPLACE( post_content, '/usr/uploads/', '/wp-content/uploads/'); 注: wp_posts是Wordpress表名 , 请根据你的实际情况来 1pannel - PHP 容器运行环境部署的网站 权限问题 问题现象: 上传主题 或者文件 、 插件到Wordpress 会提示权限不足、或者需要你填写FTP信息 解决办法: 通过 PHP 容器运行环境部署的网站,需要将 index 和子目录下的所有文件、文件夹所有者和用户组设置为 1000,本地 PHP 环境需要参考本地 PHP-FPM 用户和用户组设置 如果VPS中没有id为1000的用户或者组,请新建一个并设置其ID为1000,再到1panel的网站目录配置界面,将其设置为1000 小结 之前因为嫌Wordpress 麻烦,所以就用了蛮多年的Typecho。 然后今年有一些想要的插件或者功能,typecho 没办法实现, 所以就又换回来wordpress。目前的访问速度还能接受,图片显示可能会比较慢,因为采用了cloudflare 的porxy 所以图片显示会慢一些。 编辑器:采用的是MarkupMarkdown, 主题:Theme Kratos Made By Seaton Jiang 参考: 将Typecho无缝迁移到WordPress https://www.csl88.top/archives/987/ Byetyp https://github.com/sunxiyuan/ByeTyp

April 17, 2025 0comments 87hotness 0likes Read all

04/04/2025 15:01 文章目录 先决条件 WireGuard 安装(Wg-easy) docker 常用命令 VPS安装Wireguard的先决条件 带公网IP地址的设备 / IPV6 也可以 (该笔记使用的Ubuntu18.04 操作系统的VPS 作为例子) VPS 启用SSH VPS安装Docker VPS Wireguard 的安装步骤 1. Docker 安装 sudo apt install docker.io docker-compose sudo service docker start whoami sudo usermod -aG docker {ubuntu} //添加用户进docker组 exec su - $USER //输入密码 2. 创建Wg-easy 密码和密匙 docker run -it ghcr.io/wg-easy/wg-easy wgpw {你的密码} PASSWORD_HASH='$2a$12$NJOIUwURc7qX4XnihBNKqOTSqKVxGJahAmwg6FUuboLvxzapBCYHK' //{你的密码} //系统自动开始拉取镜像并返回密码密匙 //复制保存好密匙 3. 运行wg-easy docker 镜像 docker run --detach \ --name wg-easy \ --env LANG=en \ --env WG_HOST={你的服务器地址} \ --env PASSWORD_HASH='{步骤2中获取的密码密匙}' \ --env PORT=51821 \ --env WG_PORT=65534 \ --volume ~/.wg-easy:/etc/wireguard \ --publish 65534:65534/udp \ --publish 51821:51821/tcp \ --cap-add NET_ADMIN \ --cap-add SYS_MODULE \ --sysctl 'net.ipv4.conf.all.src_valid_mark=1' \ --sysctl 'net.ipv4.ip_forward=1' \ --restart unless-stopped \ ghcr.io/wg-easy/wg-easy docker ps //查看容器 运行状态 以及列表 docker stop wg-easy //停止容器 docker start wg-easy // 启动容器 docker rm wg-easy //删除容器 4. 登录wg-easy 添加peer 当容器运行正常之后,可以在浏览器中访问服务器地址带上端口进行访问 例如: http://{服务器地址}:51821 密码请输入步骤2中你设置的密码即可添加 peer的配置信息在下载下来的cnf文件中, 使用notepad++查看 Docker 常用命令 docker ps //查看容器 运行状态 以及列表 docker stop wg-easy //停止容器 docker start wg-easy // 启动容器 docker rm wg-easy //删除容器

April 11, 2025 0comments 75hotness 0likes Read all

ERPNext 在 Ubuntu 24.04 LTS 中的安装笔记 Step by Step 文章目录 | Table of Contents ERPnext 简介 先决条件 安装步骤 总结 & 引用 先决条件 | Prerequisites 系统环境要求 Ubuntu 24.04 A user with sudo privileges Python 3.11+ pip 20+ MariaDB 10.3.x Node.js 18 Yarn 1.12+ 硬件要求 2 Process 2 Core 4GB ram 40GB Storage Intenet 安装步骤 | Installtion Steps 包升级和创建新用户 Update and Upgrade Packages sudo apt-get update -y && sudo apt-get upgrade -y Create a New user sudo adduser **Your-user-name** #Fill in the information as prompted sudo usemod -aG sudo **Your-user-name** su **Your-user-name** #Enter your password cd ~ 安装环境需要的包 sudo bench setup production **erp-user** 将 ERPNext 配置为生产模式。 该命令会: 配置 Gunicorn(用于处理 Python 请求的 WSGI 服务器)。 配置 Supervisor(用于管理后台进程)。 确保站点在生产环境中以最佳性能运行。 [**erp-user**] 是运行 Frappe/ERPNext 的系统用户(通常为 frappe)。 bench setup nginx 配置 Nginx 作为反向代理服务器。 Nginx 负责处理外部请求并将其转发给 Gunicorn。 该命令会自动生成 Nginx 配置文件并启用站点。 sudo supervisorctl restart all 重启所有由 Supervisor 管理的进程。 确保所有服务(如 Gunicorn、后台工作进程等)使用最新的配置。 sudo bench setup production **erp-user**(重复) 再次运行以确保所有生产配置已正确应用。 访问站点 在生产模式下,ERPNext 通过 Nginx 提供服务,默认使用 HTTP(80 端口)或 HTTPS(443 端口)。 你可以直接通过服务器的 IP 地址或域名访问站点,无需指定端口号(如 http://your-server-ip)。 总结 和 引用 | Conclusion & References References: How to Install ERPNext Version 15 on Ubuntu 24.04: A Step-by-Step Guide - https://syncbricks.com/how-to-install-erpnext-version-15-on-ubuntu-24-04-a-step-by-step-guide/ Youtube - Chat GPT & DeepSeek

March 5, 2025 0comments 50hotness 0likes Read all

故障现象 Proxmox 性能显示界面无数据,且时间为1970-01-01 解决方法 同步系统时间和硬件时间: 先确保系统时间和硬件时间是正确且同步的: # 设置正确的系统时间(例如:2025-01-13 10:00:00) date -s "2025-01-13 10:00:00" 1. 同步系统时间到硬件时钟 hwclock -w 1. 检查硬件时钟时间 hwclock 重启 PVE 服务: 修改时间后,重启相关服务以确保正常运行: systemctl restart pve-cluster systemctl restart pveproxy systemctl restart pvedaemon 清理 rrd 数据缓存(可选): 如果时间错乱严重,可能需要清理并重建 RRD 数据: systemctl stop pve-cluster rm -rf /var/lib/rrdcached/db/pve2-node/ rm -rf /var/lib/rrdcached/db/pve2-storage/ rm -rf /var/lib/rrdcached/db/pve2-vm/ systemctl start pve-cluster 验证 NTP 配置: 使用 NTP 服务确保系统时间自动同步: apt update apt install ntp systemctl enable ntp systemctl start ntp ntpq -p 如果不需要 NTP,可以手动设置时间,但建议保持系统和硬件时钟同步。 刷新 Web 界面: 重新登录 Proxmox 的 Web UI,查看内存图表是否恢复正常。

February 2, 2025 0comments 189hotness 0likes Read all

VMware Station 遷移到 Proxmox PVE 筆記 必要條件 VMware Station 中有VMS VMware Station宿主機和Proxmox 服務器有足夠的磁盤空間 一些基本的Linux命令知識 當前的軟件版本 VMware Station: VMware® Workstation 17 Pro 17.0.0 build-20800274 Proxmox : Proxmox Virtual Environment 8.3.0 操作步驟 從VMware Station 導出VMS ,文件為*.ovf 將VMware Station 導出的*.ovf 下載到Proxmox 節點中 執行導入命令 新增網絡設備,複製MAC地址 Step by Step 從VMware Station 導出VMS 點擊導出按鈕 導出文件到目錄 等待導出到目錄 通過Shell下載ovf 和vmdk文件 mf 在宿主服務器中建立HFS服務,將導出的ovf文件和vmdk文件添加到HFS服務中 在Proxmox 服務器中下載文件 wget http://10.253.253.100/Windwos10_wechat.ovf #依次將其下載到proxmox服務器中 Ubuntu ID: 100 Windows 10 導入到Proxmox root@pve:qm importovf <vmid> <manifest> <storage> [OPTIONS] #Create a new VM using parameters read from an OVF manifest #https://pve.proxmox.com/pve-docs/qm.1.html 參數說明: "vmid:" 虛擬機在PVE 中的ID,Proxmox 中初始第一台VM的ID 為100, 這個100就是VMID "manifest:" ovf格式文件,從VMware Station中導出的虛擬機文件 "storage:" PVE的存儲池, 例如 'local-lvm' "[OPTOPNS]:" ---format qcow2 | raw | vmdk Target format 詳細請參考: https://pve.proxmox.com/pve-docs/qm.1.html 示例: qm importovf 101 'Windows10_wechat.ovf' local-lvm --format vmdk 執行完該命令等待數據轉移,完成之後會自動回到命令執行界面,如下圖 轉換完成,在Proxmox 控制台中即可看到這台VM 添加新的網絡設備 注意: 記得將原來的MAC地址複製到新的網絡設備中 其它 如果是Windows操作系統,卡在 “booting from Hard Disk” 無法啟動,請先將VM停止, 再將BIOS 改成"UEFI"即可 檢查核對Proxmox 的時區、時間同步 基本的安全設置 總結 之前一直用的VMWare Station 和 ESXi,猶豫這次換了聯想Staiton S30 ,就開始使用Proxmox。在Windows上使用VMWare Station 和單獨的服務器使用 ESXi , 就算是上M2和 SSD 效率和啟動速度不如Proxmox;遠程虛擬主機(windows) 操作起來比VMWare 的流暢, 已經能滿足日常辦公使用了。 在易用性方面,ESXi 和 Sation 會比Proxmox 好一些(對於沒有Linux 基礎的人來說); Renfrence vmware-VM迁移至Proxmox VE教程https://foxi.buduanwang.vip/virtualization/375.html/ pve documenthttps://pve.proxmox.com/pve-docs/qm.1.html

January 13, 2025 0comments 55hotness 0likes Read all

故障现象 在登录WordPress 后台时 浏览器显示 “ERR_TOO_MANY_REDIRECTS” 导致无法正常登录后台 解决思路和步骤 检查Cloud Flare HTTPS 配置 - - OK 检查WEB 服务器中HTTPS 配置 - - OK 检查Wordpress 数据库中的 siteurl 和 home 值 是否为https 开头 检查WP-Config.php 中 HTTPS = 'on' 的值 结果验证 检查Wordpress 数据库中的 siteurl 和 home 值 是否为https 开头 这条数据因为之前关掉了https, 导致无法登录到后台去修改默认的url。所以只能进入数据库修改 检查WP-Config.php 中 HTTPS = 'on' 的值 原因也是因为为了关闭https,这个值修改成了off , 重新更改为on 之后,浏览器清除cookie , 按F5就能正常访问了。

December 18, 2024 0comments 59hotness 0likes Read all

Linux 真好用 与Windows 相比, Linux 的效率实在太好了。为了避免自己忘记用过的命令,避免手忙脚乱又到处去找,特意写一下笔记。最近在忙别的~ 11月好快,就要过完了,所以及时来水一篇。 Vim 配置 以下命令可以对齐VIM编辑器,会高亮输入光标 sudo echo set nu ts=2 et sw=2 cuc autoindent > ~/.vimrc 修改root 密码 sudo passwd root #之后根据提示输入2次密码即可 网络配置 #显示网卡 nmcli con show #修改网卡IP地址 nmcli con mod "Wire connection 1" ipv4.method manual ipv4.address 172.25.250.100/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.250 autoconnect yes #禁用和启用网卡 nmcli con down "Wire connection 1" nmcli con up "Wire connection 1" #修改 允许root 访问 ssh sudo echo "PermitRootLogin yes" >> /etc/ssh/sshd_config.d/01-permitrootlogin sudo systemd restart sshd 进程管理 #查找名为qcloud 的进程 ps aux | grep qcloud #根据进程ID 强制杀死进程 kill -9 1588

November 22, 2024 0comments 158hotness 0likes Read all

在本地PC使用遠程PC的軟件 起因是因為在日常工作的時候,有一個需求是要用到遠程計算機中的某一個應用程序。正常的操作是通過RD(remote desktop )來遠程目的PC,再進行操作。這樣對我來說有點麻煩, 我想直接在我本地的PC直接執行遠程PC的應用程序。於是就找到了“RemoteApp Tool” ; 在這篇文章中,會簡單的介紹“RemoteApp Tool”這個項目,以及它的使用方法和部分配置說明。以及使用後的一些體驗感受; RemoteAPP Tool RemoteAPP Tool 是Windows操作系統下的一款基於微軟遠程桌面 Microsoft Remote Desktop (RDP) 協議,可以實現“在本機桌面無縫運行遠程電腦的應用程序”。 項目地址: https://github.com/kimmknight/remoteapptool 軟件截圖 使用步驟 先決條件 遠程電腦已經開啟遠程桌面,且用戶有訪問權限 本機可以正常訪問遠程電腦 能夠完美支持的操作系統版本請參加下圖,如果你的操作系統不是受支持的版本,那可能要更換遠程電腦的操作系統了 服務端操作 運行“RemoteAPP Tool” 安裝程序,執行安裝 在“RemoteAPP Tool”主界面 點擊左下角的綠色“+”按鈕 添加你想要被遠程使用的應用軟件 在“RemoteAPP Tool” 的主界面選中剛剛添加到應用軟件,再點擊右下角的“Create client Connection” ,然後將rdp 文件拷貝到本機就可以在本機電腦使用遠程電腦的應用軟件了 本機操作 將遠程電腦創建的RDP文件 拷貝到本機直接 運行,輸入用戶名和密碼之後就可以了 當你執行的是遠程電腦的軟件的時候, 任務欄的軟件會顯示一個遠程連接的小的icon 總結 以上就是基本的使用指南情況使用情況 廣域網遠程的情況下這種聊天桌面軟件沒什麼延遲感受,但是瀏覽器看視頻,或者瀏覽器加載內容的時候會感受到延遲。 局域網遠程的情況下體驗很好可以用Adobe photoshop 沒問題 在這之前,也就是疫情期間,因為維護網吧的緣故,也是想盡一些辦法給在家無法出門的小伙伴們能遠程玩遊戲. 參考 Windows 10 開啟多人同時遠端桌面連線,最新1903、1909版適用- RDPWraphttps://iqmore.tw/windows-10-rdp-multiple-users-login#www.itiohubwww RemoteApp Tool 开源远程神器 - 在本机运行另一台电脑上的软件 (类似PD融合模式)https://www.iplaysoft.com/remoteapp-tool.html#www.itiohubwww https://blog.caomingjun.com/use-remoteapp-to-access-apps-in-virtual-machine/

October 25, 2024 0comments 77hotness 0likes Read all

Deep Live cam 笔记 项目地址: https://github.com/hacksider/Deep-Live-Cam 在本篇笔记中不会涉及cuda,Python,Conda,Git,等相关的计算机知识。只有步骤记录和在使用部署时遇到的问题记录。 以下操作都是在Windows操作系统下进行的,我的系统版本号为: Microsoft Windows 11 Pro10.0.22631 Build 22631 先决条件 带有Nvidia 显卡的桌面电脑或者笔记本电脑 稳定的网络环境 DeepLiveCam所需的软件或编译工具 Python 3.10.0 CUDA cuDNN Git ffmpeg Conda-Py 3.10 Microsoft C++ Build Tools DeepLiveCam项目本体 模型下载 GFPGANv1.4 inswapper_128_fp16.onnx 环境安装 Python 3.10.0 下载地址: https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe 像正常安装应用软件那样安装即可,记得勾选添加到系统变量 CUDA 下载地址: https://developer.nvidia.com/cuda-toolkit-archive 安装完成之后在命令行运行 nvidia-smi 检查显卡支持的最大CUDA 版本 nvidia-smi cuDNN 需要下载CUDA支持的版本 下载地址: http://developer.nvidia.com/rdp/cudnn-archive 安装完成之后在命令行运行 nvcc -V cuDNN的版本号 如果提示命令不存在,请检查系统的环境变量和用户变量 nvcc -V Git 下载地址: https://git-scm.com/downloads 安装完成之后在命令行运行 git --version 检查Git的版本号 git --version 如果提示命令不存在,请检查系统的环境变量和用户变量 Conda 下载地址: https://docs.anaconda.com/miniconda/ 选择Miniconda3-py310_24.7.1-0-Windows-x86_64.exe 安装完成之后在命令行运行 conda --version 检查conda的版本号 conda --version 注意: 若提示命令不存在,请检查环境变量和用户变量 路径如下: C:\ProgramData\miniconda3\Scripts ffmpeg 下载地址: https://www.ffmpeg.org/download.html 安装完成之后在命令行运行 ffmpeg --version 检查conda的版本号 ffmpeg -version 注意: 若提示命令不存在,请检查环境变量和用户变量 路径为:yourpath\ffmpeg-6.1.1-essentials_build\bin Microsoft C++ Build Tools 下载地址: https://visualstudio.microsoft.com/visual-cpp-build-tools/ 在安裝過程中,確保選擇了 "C++ build tools" 和 "Windows 10 SDK"(或相應的版本) 修改Windows PowerShell 的执行策略 查看当前执行策略 Get-ExecutionPolicy -List 设置执行策略:可以将执行策略设置为 Unrestricted 或 RemoteSigned。Unrestricted 允许所有脚本运行,而 RemoteSigned 仅要求从互联网下载的脚本必须经过签名。 设置为 Unrestricted: Set-ExecutionPolicy Unrestricted -Scope LocalMachine 或者设置为 RemoteSigned: Set-ExecutionPolicy RemoteSigned -Scope LocalMachine 确认更改:在提示时输入 Y 确认更改。 验证执行策略:再次运行以下命令以确认执行策略已更改: Get-ExecutionPolicy -List 项目部署 管理员运行PowerShell 在命令行你想要指定的位置创建一个英文目录 cd到你创建的目录下进行项目克隆 注意: 整个环境都不应该有中文目录或名称 克隆项目 git clone https://github.com/hacksider/Deep-Live-Cam.git CD 到 项目目录 cd /yourpath/Deep-Live-Cam 使用conda创建名为DeepLiveCam的 env #初始化conda 环境 conda init #创建DeepLiveCam的 env conda create -n deeplivecam python=3.10.0 #查看env 列表 conda env list #根据提示按Y #等待创建完成之后激活env conda activate deeplivecam #激活之后,命令行前会显示(deeplivecam) 安装DeepLiveCam项目 的requriements.txt 确认在项目目录内 yourpath/deeplivecam 执行以下命令 #安装环境包 (需要完全稳定的互联网) pip install -r requirements.txt #等待安装完成之后 重新安装一下以下软件包 pip uninstall onnxruntime onnxruntime-gpu #指定安装onnxruntime-gpu版本 pip install onnxruntime-gpu==1.16.3 拷贝模型文件 如果以上步骤和命令都已经完成安装且没有任何报错,将之前下载好的模型文件拷贝到项目的models 目录下, 文件树如下 Directory: D:\Deep-Live-Cam\models Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 9/2/2024 9:09 AM 348632874 GFPGANv1.4.pth -a---- 9/2/2024 10:27 PM 34 instructions.txt -a---- 9/2/2024 9:11 AM 277288649 inswapper_128_fp16.onnx 启动DeepLiveCam 项目 管理员运行Windows Power Shell 在 Windows Power Shell 中执行以下命令 #进入DeepLiveCam项目目录 cd D:\Deep-Live-Cam\ #根据自己的实际路径操作 conda activate deeplivecam # 激活deeplivecam 的env python run.py --execution-provider cuda #运行deeplivecam 项目 最终,在项目界面中选择一张照片进行Live验证…

September 6, 2024 0comments 91hotness 0likes Read all

Markdown 语法知识 Markdown 标题 使用# 的数量来标识标题的等级 /# 一级标题 /## 二级标题 以此类推 Markdown 段落 段落没有特殊的格式,一般直接回车就是一个段落。但是你可以在句子末尾后面留2格空格即可 是的吧 Markdown 分割线 *** * * * ***** - - - -------------------- 以上符号都可以作为分割线使用,但是分割线中不可有任何内容 Markdown 删除线 使用波浪线括住内容,即可实现删除线的样式。 格式 itiohub.com GOOGLE.COM ~~BAIDU.COM~~ 效果 ITIOHUB.COM GOOGLE.COM ~~BAIDU.COM~~ Markdown 下划线 使用 HTML <u> 标签实现 格式 <u> 看我有下划线般的滑板鞋哦</u> 效果 看我有下划线般的滑板鞋哦 Markdown 脚注 脚注可以用来对文章内容做补充说明,相当于word的引用,鼠标移动到你要做脚注的词汇中,就会显示。或者写refrence 时可以用到, 格式如下 格式 [^我是可爱的脚注~] 又一个效果示例: 究竟什么是真理呢? [^真理] [^真理]:真理是指与事实相符合的观点、陈述或信念。在哲学和认知科学中,真理通常被定义为与现实相一致的陈述或信念。真理是客观存在的,不受主观看法或情感影响,它是独立于个人观点的普遍准则。人们通过逻辑推理、科学方法和经验观察来寻求真理,以便更好地理解世界和解决问题。然而,有时真理可能是主观的,因为不同的人可能有不同的看法和信念。在哲学上,对真理的探讨是一个复杂而深刻的议题,各种学派和思想家对真理的本质和性质有着不同的见解。 究竟什么是真理呢? 1 (图片待补全) Markdown 列表 有序列表 意思就是有序号的,例如,1,2,3,4,这样的呀~ 记得在序号后面加一个. 并在. 后面留一个空格哟 格式 1. 我是可爱的第一项 2. 我第二项,但是我也很可爱 3. 呵呵,第三项表示白眼🙄 效果 我是可爱的第一项 我第二项,但是我也很可爱 呵呵,第三项表示白眼🙄 无序列表 无序列表没有序号,只有符号表示。无序列表使用星号 (*)、加号 (+) 或是减号 (-)`作为列表标记,这些标记后面要添加一个空格,然后再填写内容, 跳到下一个列表的时候直接回车即可哦~ 格式 * 无序列表一 * 无序列表一 * 无序列表一 + 无序列表一 + 无序列表一 + 无序列表一 - 无序列表一 - 无序列表一 - 无序列表一 以上格式我比较喜欢用- 效果 无序列表一类型 无序列表一类型 无序列表一类型 无序列表二类型 无序列表二类型 无序列表二类型 无序列表三类型 无序列表三类型 无序列表三类型 列表嵌套 列表嵌套需要在子列表中的选项前添加 2个或者 4个空格。 格式 1. 今天要做的事情: - 吃饭 - 睡觉 - 打豆豆 2. 明天要做的事情: - Book 《The Diary of a Young Girl》 - Python coding practice - Library 效果 今天要做的事情: 吃饭 睡觉 打豆豆明天要做的事情: Book 《The Diary of a Young Girl》 Python coding practice Library Markdown 区块 引用名言 当我们要引用鲁迅大哥的句子的时候,我们就要用到区块(引用功能)了。 它是用> 来实现的,就在键盘M 的右边。记得要在> 符号后 留一个空格哦~ 格式 > “面具戴太久,就会长到脸上,再想揭下来,除非伤筋动骨扒皮。” - 周树人 效果 “面具戴太久,就会长到脸上,再想揭下来,除非伤筋动骨扒皮。” - 周树人 多层级区块 多层级区块就是区块里面还有一个区块, 用多个>> 实现, 格式如下 格式 > “墨写的谎说,决掩不住血写的事实。” - 周树人 (最外层 比如外套 😄) >> “猛兽总是独行,牛羊才成群结队。” - 周树人 (第一层嵌套 比如毛衣 🤭) >>> “人类的悲欢并不相通,我只觉得他们吵闹。” 周树人 (最里层 比如内裤 😄) 效果 “墨写的谎说,决掩不住血写的事实。” - 周树人 (最外层 比如外套 😄) “猛兽总是独行,牛羊才成群结队。” - 周树人 (第一层嵌套 比如毛衣 🤭) “人类的悲欢并不相通,我只觉得他们吵闹。” 周树人 (最里层嵌套 比如内裤 😄)

August 28, 2024 0comments 82hotness 0likes Read all
1234513