[{"data":1,"prerenderedAt":300},["ShallowReactive",2],{"site-settings":3,"site-articles":186},{"siteTitle":4,"siteDesc":5,"siteFavicon":6,"siteUrl":7,"siteIcp":8,"siteCreateTime":9,"themeBackground":10,"themeHeadmsg":11,"themeNav":12,"themeNavTravelling":22,"themeAboutPages":23,"themeAboutMapPoints":121,"themeWifes":132,"commentMemes":144,"userName":4,"userDesc":5,"userHeadpic":178,"userSocialLink":179},"狱杰的博客","曾几何时 稚嫩的小手也拥有了追越我们的坚强","\u002Ffavicon.ico","https:\u002F\u002Fuegee.com","鲁ICP备2022037364号","","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fbackground-2k.png","🤗",[13,16,19],{"label":14,"to":15},"关于","\u002Fabout",{"label":17,"to":18},"友链","\u002Ffriends",{"label":20,"to":21},"游戏室","\u002Fgames",true,{"education":24,"hobby":28,"life_target":33,"map":48,"skills":51,"slogan":62,"visitor_data":69,"welcome":72,"wifes_card":76},{"text":25,"time":26,"university":27},"好好学习,天天向上！————毛泽东","2020\u002F2023","山东曲阜师范大学",[29,30,31,32],"jk","computer","hardware","linux",{"target":34,"text":47},{"finish":35,"not_yet":38},[36,37],"建造属于自己的HomeLab","每年回一次老家2026",[39,40,41,42,43,44,45,46],"拥有一辆自己的汽车","有一份稳定的工作","拥有9950x3d","月均收入达8000","与爱人结婚","有一套属于自己的房子","MacBookPro","活到100岁","人生目标",{"天津":49,"山东":50},"117.200983, 39.084158","x118.000923, 36.675807",{"programlanguage":52,"title":61},[53,54,55,56,57,58,59,60],"python","vue","nuxt","docker","ubuntu","linux mint","mysql","redis","创造,源于热爱",{"main":63,"more":64,"text":68},"我的人生可以早点",[65,66,67],"顺利","暴富","退休","希望",{"tips":70,"title":71},"本站自主统计","访问数据",{"desc":73,"name":74,"text":75},"是一个无业游民，一个穷孩子生活在有钱人的城市。","UEGEE","hi👋 我是",{"Aihara Enju":77,"Alisa Mikhailovna Kujō":81,"Ijichi Nijika":85,"Nagisa":89,"Nao Tomori":93,"Perlica":97,"Sento Isuzu":101,"Suō Yuki":105,"Takagi":109,"Togawa Sakiko":113,"Zhuangfangyi":117},{"cn_name":78,"image":79,"other_name":80},"蓝原延珠","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FAihara_Enju-half.png","蓝原延珠是神崎紫电所创作的小说《漆黑的子弹》及其衍生作品的登场角色。",{"cn_name":82,"image":83,"other_name":84},"艾莉莎·米哈伊羅芙娜·九條","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FAlisa_Mikhaylovna_Kujō.png","艾莉莎·米哈伊罗芙娜·九条（日语：アリサ・ミハイロヴナ・九条）是轻小说《不时轻声地以俄语遮羞的邻座艾莉同学》及其衍生作品的登场角色。",{"cn_name":86,"image":87,"other_name":88},"伊地知虹夏","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FIjichiNijika-half.png","伊地知虹夏（日语：伊地知（いじち）虹夏（にじか））是由はまじあき所创作的漫画《孤独摇滚！》及其衍生作品中的登场角色。",{"cn_name":90,"image":91,"other_name":92},"古河渚","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002Ffurukawa_nagisa.png","古河渚（zhǔ）是Key旗下游戏《CLANNAD》及其衍生作品的登场角色，女主角之一，作品中的第一女主角。",{"cn_name":94,"image":95,"other_name":96},"友利奈绪","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FTomori_Nao-half.png","友利奈绪是key&ANIPLEX联合企划，麻枝准担当原作及全话脚本，Na-Ga担当角色原案，P.A.WORKS制作的原创动画《Charlotte》中的女主角。",{"cn_name":98,"image":99,"other_name":100},"佩丽卡","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FPerlica-half.png","佩丽卡是游戏《明日方舟：终末地》及其衍生作品的登场角色。",{"cn_name":102,"image":103,"other_name":104},"千斗五十鈴","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FSento_Isuzu-half.png","千斗五十铃（日语：千斗（せんと） いすず；罗马拼音：Sento Isuzu）是贺东招二所创作的小说《甘城光辉游乐园》及其衍生作品的登场角色。",{"cn_name":106,"image":107,"other_name":108},"周防有希","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FYuki_Suou_1.png","周防有希（日语：周防（すおう） 有希（ゆき））是由灿々SUN所创作的小说《不时轻声地以俄语遮羞的邻座艾莉同学》及其衍生作品的登场角色。",{"cn_name":110,"image":111,"other_name":112},"高木同学","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002Ftakagi3-half.png","高木同学是由山本崇一朗创作的漫画《擅长捉弄的高木同学》及其衍生作品的登场角色。",{"cn_name":114,"image":115,"other_name":116},"丰川祥子","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002FTogawa Sakiko-top.png","丰川祥子（日语：豊川（とがわ） 祥子（さきこ））是由日本娱乐公司Bushiroad策划的次世代少女乐队企划《BanG Dream!》及其衍生作品的登场角色。Ave Mujica的键盘手，代号Oblivionis[3]，代表色为#7799CC。",{"cn_name":118,"image":119,"other_name":120},"庄方宜","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fwifes\u002Fzhuangfangyi.png","庄方宜是游戏《明日方舟：终末地》及其衍生作品的登场角色。",[122,127],{"label":123,"coords":124},"天津",[125,126],117.200983,39.084158,{"label":128,"coords":129},"山东",[130,131],118.000923,36.675807,[133,134,135,136,137,138,139,140,141,142,143],{"cnName":78,"otherName":80,"image":79},{"cnName":82,"otherName":84,"image":83},{"cnName":86,"otherName":88,"image":87},{"cnName":90,"otherName":92,"image":91},{"cnName":94,"otherName":96,"image":95},{"cnName":98,"otherName":100,"image":99},{"cnName":102,"otherName":104,"image":103},{"cnName":106,"otherName":108,"image":107},{"cnName":110,"otherName":112,"image":111},{"cnName":114,"otherName":116,"image":115},{"cnName":118,"otherName":120,"image":119},{"endfield":145,"memepics":162},{"10":146,"11":147,"12":148,"13":149,"14":150,"15":151,"16":152,"01":153,"02":154,"03":155,"04":156,"05":157,"06":158,"07":159,"08":160,"09":161},"https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F10.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F11.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F12.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F13.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F14.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F15.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F16.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F01.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F02.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F03.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F04.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F05.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F06.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F07.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F08.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fendfield\u002F09.png",{"001":163,"002":164,"003":165,"004":166,"005":167,"006":168,"007":169,"008":170,"009":171,"010":172,"011":173,"012":174,"013":175,"014":176,"015":177},"https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F001.gif","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F002.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F003.gif","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F004.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F005.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F006.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F007.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F008.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F009.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F010.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F011.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F012.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F013.png","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F014.jpg","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fmemes\u002Fmemepics\u002F015.jpg","\u002Fimages\u002Fhead.jpg",{"bilibili":180,"feed":181,"github":182,"email":183,"music":184,"steam":185},"https:\u002F\u002Fspace.bilibili.com\u002F20980892","\u002Ffeed","https:\u002F\u002Fgithub.com\u002Fnehex","mailto:i@uegee.com","https:\u002F\u002Fmusic.163.com","https:\u002F\u002Fsteampowered.com",[187,203,216,229,239,250,263,276,289],{"id":188,"title":189,"summary":190,"excerpt":191,"cover":192,"category":193,"tags":194,"views":197,"likes":198,"top":199,"featured":22,"content":200,"publishedAt":201,"updatedAt":201,"edited":202},"4","NeHex 部署&使用教程","# NeHex 部署&使用教程 > NeHex是一个基于AI的个人空间解决方案，采用Python + Fast…","# NeHex 部署&使用教程 > NeHex是一个基于AI的个人空间解决方案，采用Python + FastAPI + PostgreSQL 架构搭建，轻量高效，支持文章编辑、…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F10\u002F7f8ad15570b943b5.png","tech,技术",[195,196],"Nehex","教程",110,0,1,"# NeHex 部署&使用教程\n\n> NeHex是一个基于AI的个人空间解决方案，采用Python + FastAPI + PostgreSQL 架构搭建，轻量高效，支持文章编辑、相册管理、草稿保存等核心功能，适用于个人博客、个人展示空间等场景。\n> \n> \n\n## 一、系统要求\n\n确保服务器满足以下最低配置，避免部署后出现性能或兼容性问题：\n\n```plain text\nlinux \u002F macos （不推荐Windows系统，兼容性较差）\nLinux 内核版本 >= 4.19\n内存（Memory）>= 1.5G\nDocker 及 Docker Compose 已安装（推荐最新稳定版）\n```\n\n## 二、安装部署步骤\n\n### 2.1 拉取项目文件\n\n推荐使用**手动下载稳定版**（避免Git拉取的开发版存在未知问题），步骤如下：\n\n1. 访问NeHex官方发行页：[https:\u002F\u002Fgithub.com\u002FNeHex\u002Fnehex-core\u002Freleases](https:\u002F\u002Fgithub.com\u002FNeHex\u002Fnehex-core\u002Freleases)\n\n2. 下载最新稳定版（当前最新为 **v1.0.2**），选择适合服务器系统的压缩包\n\n3. 将压缩包上传至服务器目标目录（如 \u002Fopt\u002Fnehex），并解压：\n`unzip nehex-core-v1.0.2.zip -d nehex-core`\n\n*不推荐 Git 拉取方式：*直接拉取仓库主分支可能包含未稳定的代码，若需尝试，执行命令：\n`git clone git@github.com:NeHex\u002Fnehex-core.git`\n\n### 2.2 配置 .env 文件（关键步骤）\n\n项目依赖 .env 文件配置运行参数，需严格按照以下步骤操作，避免报错：\n\n1. 进入项目根目录，复制示例配置文件为正式配置文件：\n`cp .env.example .env`\n\n2. 使用 vi 或 nano 编辑 .env 文件（以 vi 为例）：\n`vi .env`\n\n3. 按以下配置修改（标注 **必填修改** 的项必须更改，其余可默认）：\n\n```plain text\nAPP_NAME=NeHex Core API\nAPP_VERSION=v1.0.2  # 与下载的版本保持一致\nAPP_ENV=dev  # 生产环境可改为 prod\nAPP_PORT=7878     \u003C-- 后台端口，可自定义，需确保端口未被占用\nCORS_ALLOW_ORIGINS=http:\u002F\u002F127.0.0.1:3000,http:\u002F\u002Flocalhost:3000     \u003C-- 允许的前端域名，多个用逗号分隔（解决跨域问题）\nCORS_ALLOW_CREDENTIALS=true\nADMIN_MANAGER_WEB=\u002Fnehex-admin     \u003C-- 后台管理页面路径，默认即可\nADMIN_MANAGER_BUILD_ON_STARTUP=false     \u003C-- 建议关闭，避免启动时耗时构建\nADMIN_API_SECRET=please-change-me     \u003C-- 【必填修改】后台API密钥，自定义复杂字符串（如随机生成32位字符）\nADMIN_API_CLIENT_ID=nehex-vuetify-admin     \u003C-- 后台客户端ID，默认即可\nADMIN_API_TOKEN_TTL_SECONDS=43200\nADMIN_COOKIE_DOMAIN=     \u003C-- 建议留空（本地部署），域名部署可填写主域名（如 .example.com）\nADMIN_PUBLIC_COOKIE_DOMAIN=     \u003C-- 【推荐配置】填写你的域名（如 .example.com），用于前端读取登录Cookie（v1.0.2新增）\nSIMPLE_CACHE_MAX_ENTRIES=1024  # 内存缓存上限，默认即可\nREDIS_ENABLED=true  # 启用Redis缓存（推荐开启，提升性能）\nREDIS_URL=redis:\u002F\u002F127.0.0.1:6379\u002F0  # Redis地址，本地部署默认即可\nREDIS_CACHE_PREFIX=nehex:cache:\nREDIS_CONNECT_RETRY_SECONDS=30\nREDIS_SOCKET_CONNECT_TIMEOUT=1.0\nREDIS_SOCKET_TIMEOUT=1.5\n\n# 数据库配置（【必填修改】）\nDB_HOST=127.0.0.1\nDB_DRIVER=postgresql\nDB_PORT=5432\nDB_NAME=nehex_dtbs     \u003C-- 自定义数据库名称\nDB_USER=nehex_dtbs     \u003C-- 自定义数据库账户\nDB_PASSWORD=change-me     \u003C-- 自定义数据库密码（复杂密码，避免泄露）\nDB_URL=\n\nDB_POOL_SIZE=10\nDB_MAX_OVERFLOW=20\nDB_POOL_RECYCLE=1800\nDB_POOL_TIMEOUT=30\nDB_CONNECT_TIMEOUT=5\nDB_READ_TIMEOUT=15\nDB_WRITE_TIMEOUT=15\nDB_AUTO_CREATE_TABLES=false  # 不自动建表，避免误操作\nDB_STARTUP_MAX_RETRIES=30\nDB_STARTUP_RETRY_INTERVAL_SECONDS=2\nTZ=Asia\u002FShanghai  # 时区，默认亚洲\u002F上海，无需修改\n```\n\n注意：v1.0.2版本新增 `ADMIN_COOKIE_DOMAIN` 和 `ADMIN_PUBLIC_COOKIE_DOMAIN` 两个变量，若遗漏配置，会导致后台登录后前端无法读取Cookie，出现登录失效问题。\n\n### 2.3 启动服务\n\n配置完成后，通过Docker Compose启动服务，执行以下命令（项目根目录下）：\n\n```bash\ndocker compose up -d --build\n```\n\n命令说明：\n- `up -d`：后台启动容器\n- `--build`：重新构建镜像（首次启动或更新版本时必须添加）\n\n启动后，可执行 `docker ps` 查看容器状态，若状态为`Up`，则启动成功。\n\n### 2.4 反向代理配置（可选，推荐）\n\n若需通过域名访问（而非IP+端口），需配置反向代理，以Nginx为例：\n\n```nginx\nserver {\n    listen 80;\n    server_name your-domain.com;  # 替换为你的域名\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:7878;  # 代理到NeHex后台端口（与.env中APP_PORT一致）\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;  # 支持HTTPS反向代理（v1.0.1+新增）\n    }\n}\n```\n\n配置完成后，重启Nginx：`systemctl restart nginx`\n\n### 2.5 首次安装配置\n\n1. 启动成功后，访问后台管理页面：\n- 无反向代理：`http:\u002F\u002F服务器IP:7878\u002Fnehex-admin`\n- 有反向代理：`http:\u002F\u002F你的域名\u002Fnehex-admin`\n\n2. 按照页面指引完成首次安装（设置管理员账号、密码等），安装完成后即可登录后台。\n\n## 三、常见报错解决（结合实际报错信息）\n\n### 3.1 报错：URL拼写可能存在错误，请检查（对应 http:\u002F\u002F127.0.0.1:7878 报错）\n\n1. 检查 .env 文件中 `APP_PORT` 是否为 7878，若修改过端口，访问时需对应替换\n\n2. 检查Docker容器是否启动：`docker ps`，若未启动，执行 `docker compose up -d`\n\n3. 检查服务器防火墙是否放行对应端口（如7878）：\nCentOS：`firewall-cmd --permanent --add-port=7878\u002Ftcp && firewall-cmd --reload`\nUbuntu：`ufw allow 7878 && ufw reload`\n\n### 3.2 报错：网页解析失败，可能是不支持的网页类型（对应 http:\u002F\u002F127.0.0.1:3000 报错）\n\n1. 检查 `CORS_ALLOW_ORIGINS`配置，确保包含前端地址（如 http:\u002F\u002F127.0.0.1:3000），多个地址用逗号分隔\n\n2. 确认前端服务已启动（若有独立前端），或检查 `ADMIN_MANAGER_WEB` 路径是否正确（默认 \u002Fnehex-admin）\n\n3. 若无需前端服务，可暂时删除 `CORS_ALLOW_ORIGINS` 中的前端地址（不推荐，可能影响后台操作）\n\n### 3.3 其他常见问题\n\n- 登录后无法操作：检查 `ADMIN_COOKIE_DOMAIN` 和 `ADMIN_PUBLIC_COOKIE_DOMAIN` 配置，域名部署需填写正确域名，本地部署留空\n\n- 数据库连接失败：检查 .env 中数据库配置（DB_HOST、DB_USER、DB_PASSWORD等），确保PostgreSQL服务正常\n\n- 缓存异常：若启用Redis，检查Redis服务是否启动，Redis_URL配置是否正确\n\n## 四、更新指南\n\n1. 备份现有 .env 文件（关键！新增变量需手动添加）：\n`cp .env .env.bak`\n\n2. 拉取新版本文件\n\n3. 重建并启动容器：\n`docker compose up -d --build`\n\n## 五、功能说明（v1.0.2 新增特性）\n\n- 编辑器优化：修改布局，新增快捷操作按钮，提升编辑体验\n\n- 草稿功能：支持草稿保存，后台可按“已发布”“草稿”分类管理\n\n- 备份功能：后端支持备份，多余备份文件可手动删除\n\n- Cookie优化：登录后向浏览器写入前端可读取的Cookie，提升登录稳定性\n\n- 相册编辑器：优化样式，提升视觉体验\n\n- 邮件通知：新增直达链接，点击即可跳转对应内容\n\n## 六、问题反馈\n\n若部署或使用过程中遇到其他问题，可通过以下方式反馈：\n\n- GitHub Issues：[https:\u002F\u002Fgithub.com\u002FNeHex\u002Fnehex-core\u002Fissues](https:\u002F\u002Fgithub.com\u002FNeHex\u002Fnehex-core\u002Fissues)（当前Issues数量为0，可直接提交新问题）\n\n- 邮件联系：[i@uegee.com](mailto:i@uegee.com)\n> （注：文档部分内容可能由 AI 生成）","2026-04-12T01:25:52.503Z",false,{"id":204,"title":205,"summary":206,"excerpt":207,"cover":208,"category":209,"tags":210,"views":213,"likes":198,"top":198,"featured":202,"content":214,"publishedAt":215,"updatedAt":215,"edited":202},"12","使用CloudFlare搭建属于自己的全球加速网络","> 本教程所有内容（包括但不限于文字、图片、视频、代码、步骤说明等）均为参考性学习资料，由作者基于自身经验、公…","> 本教程所有内容（包括但不限于文字、图片、视频、代码、步骤说明等）均为参考性学习资料，由作者基于自身经验、公开信息整理创作，仅用于个人学习、研究用途，不构成任何专业建议、承诺或…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002Ff4c92bc0c1b27498.png","tech",[211,212],"cloudflare","加密网络",44,"> 本教程所有内容（包括但不限于文字、图片、视频、代码、步骤说明等）均为参考性学习资料，由作者基于自身经验、公开信息整理创作，仅用于个人学习、研究用途，不构成任何专业建议、承诺或担保。\n# 前期准备\n - CloudFlare账号一枚\n - 托管在CloudFlare的域名一枚\n - GitHub账号一枚\n\n# 部署\n## CloudFlare Workers KV\n进入CloudFlare的DashBord，在左侧 存储和数据库 中找到 Workers KV\n创建一个Instance\n\n命名空间名称一定要记住，教程里设定为：endfield\n\n![2950fe97-c1d3-4104-b8dd-a97a64089a19](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002Ffbc55df2a691e7b7.png)\n\n## Clone edgetunnel\n进入[edgetunnel](https:\u002F\u002Fgithub.com\u002Fcmliu\u002Fedgetunnel)\n右侧会有Use This Template选项，选择Create a new Repository\n之后你就进入到属于你的EdgeTunnel仓库了；\n\n## Create CloudFlare Pages\n在CloudFlare左侧导航栏里找到 构建-> 计算-> Workers 和 Pages\n点击右上角的创建应用程序，点击 `想要部署 Pages？开始使用` 的开始使用；\n导入现有 Git 存储库\n\n![a31f6c06-d858-46c3-8a4a-83cb00477479](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002F9fe1deb9a5685a9d.png)\n\n项目名称可以自定义\n\n然后前往设置，去设置机密和绑定；\n机密的名称必须为`ADMIN`,密码可以自定义，但是一定要记住；\n然后是绑定，点击后选择KV命名空间\n![4eaa14b4-c0b3-462d-a4b3-aa4510e7d431](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002Fe22768b130f4dfe4.png)\n\n变量名称一定要为`KV`\n然后在下面选择刚刚创建的KV空间\n\n> 一图流\n\n![3cc2e07d-6e17-4585-9f7e-daa3eeb8c261](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002Fed9d73258d0b71aa.png)\n\n然后绑定你的自定义域名（也可以不使用）\n\n![15679dec-8232-4239-8d41-a38b5a137b7b](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002F06e5c948ba44e08e.png)\n\n## 重新部署\n你可以在你克隆的github仓库，创建一个hash文件，里面的内容随便填写\nCloudFlare会自动重新拉取并构建部署\n\n## 导入到你的上网软件\n如果你设定了自定义域名，那就在自定义域名后面加上`\u002Fadmin`;\n如果你没设定自定义域名，那么在部署标签页里可以看到CloudFlare分配的域名，后面同样加上`\u002Fadmin`;\n\n进入后输入你刚刚设定的机密变量的密码，进入后就能自己探索辣；\n\n# 速度测试\n\n![f619e9da-c490-46f9-b0eb-fe6cea8e68b3](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002F175e04f87d4fa2f0.png)\n![028ffefa-45fe-425c-92a9-62cfcfb90e8b](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F24\u002F4c0a2b6541997963.png)","2026-04-23T22:18:45.040Z",{"id":217,"title":218,"summary":219,"excerpt":220,"cover":221,"category":209,"tags":222,"views":226,"likes":198,"top":198,"featured":202,"content":227,"publishedAt":228,"updatedAt":228,"edited":202},"11","制作一个属于自己的openwrt固件","软路由重装之后还要自己配置上网设置啥的 比较麻烦，所以自己编译一个属于自己的openwrt固件 # 优化内容…","软路由重装之后还要自己配置上网设置啥的 比较麻烦，所以自己编译一个属于自己的openwrt固件 # 优化内容 ## 国内优化 更换opkg为国内清华源镜像 ` cp \u002Fetc\u002Fo…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F14\u002F2502a05b09949b87.png",[223,224,225],"openwrt","软路由","编译",16,"软路由重装之后还要自己配置上网设置啥的\n比较麻烦，所以自己编译一个属于自己的openwrt固件\n\n# 优化内容\n\n## 国内优化\n更换opkg为国内清华源镜像\n`\ncp \u002Fetc\u002Fopkg\u002Fdistfeeds.conf \u002Fetc\u002Fopkg\u002Fdistfeeds.conf.bak\nsed -i 's#https\\?:\u002F\u002Fdownloads.openwrt.org#https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fopenwrt#g' \u002Fetc\u002Fopkg\u002Fdistfeeds.conf\n`\n\n## 删除grub引导等待时间\n`sed -i 's\u002Fset timeout=5\u002Fset timeout=0\u002Fg' \u002Fboot\u002Fgrub\u002Fgrub.cfg`\n\n## 中文界面\n`luci-i18n-base-zh-cn`\n\n## 扩容需要的插件\n`block-mount`\n`mount-utils`\n`libmount1`\n\n## 网络优化\n网口配置：br-lan 绑定 eth1+eth2+eth3，eth0 为 WAN 口\nLAN 地址：10.0.0.1\u002F24\nWAN 协议：PPPoE 拨号\n\n\n# 构建命令\n## 预安装的软件包\n`base-files ca-bundle dnsmasq dropbear e2fsprogs firewall4 fstools grub2-bios-setup kmod-button-hotplug kmod-nft-offload libc libgcc libustream-mbedtls logd mkf2fs mtd netifd nftables odhcp6c odhcpd-ipv6only opkg partx-utils ppp ppp-mod-pppoe procd-ujail uci uclient-fetch urandom-seed urngd kmod-amazon-ena kmod-amd-xgbe kmod-bnx2 kmod-dwmac-intel kmod-e1000e kmod-e1000 kmod-forcedeth kmod-fs-vfat kmod-igb kmod-igc kmod-ixgbe kmod-r8169 kmod-tg3 kmod-drm-i915 luci luci-app-attendedsysupgrade luci-i18n-base-zh-cn block-mount mount-utils libmount1 `\n\n## 首次启动时运行的脚本（uci-defaults）\n\n\n```\nwlan_name=\"OpenWrt\"\nwlan_password=\"123123\"\n\nroot_password=\"123123\"\n\nlan_ip_address=\"10.0.0.1\u002F24\"\n\npppoe_username=\"00000\"\npppoe_password=\"00000\"\ncp -f \u002Fetc\u002Fopkg\u002Fdistfeeds.conf \u002Fetc\u002Fopkg\u002Fdistfeeds.conf.bak\nsed -i 's#https\\?:\u002F\u002Fdownloads.openwrt.org#https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fopenwrt#g' \u002Fetc\u002Fopkg\u002Fdistfeeds.conf\n\n[ -f \u002Fboot\u002Fgrub\u002Fgrub.cfg ] && sed -i 's\u002Fset timeout=5\u002Fset timeout=0\u002Fg' \u002Fboot\u002Fgrub\u002Fgrub.cfg\n\nif [ -n \"$root_password\" ]; then\n  (echo \"$root_password\"; sleep 1; echo \"$root_password\") | passwd > \u002Fdev\u002Fnull\nfi\n\nuci del network.@device[0].ports\nuci add_list network.@device[0].ports='eth1'\nuci add_list network.@device[0].ports='eth2'\nuci add_list network.@device[0].ports='eth3'\n\nuci set network.lan.proto='static'\nuci set network.lan.ipaddr=\"$lan_ip_address\"\nuci set network.lan.device='br-lan'\n\nif [ -n \"$pppoe_username\" ] && [ -n \"$pppoe_password\" ]; then\n  uci set network.wan.device='eth0'\n  uci set network.wan.proto='pppoe'\n  uci set network.wan.username=\"$pppoe_username\"\n  uci set network.wan.password=\"$pppoe_password\"\n  uci set network.wan.peerdns='1'\n  uci set network.wan.delegate='0'\nfi\n\nuci set network.wan6.auto='0'\n\nuci commit network\n\nif [ -n \"$wlan_name\" ] && [ -n \"$wlan_password\" ] && [ ${#wlan_password} -ge 8 ]; then\n  uci set wireless.@wifi-device[0].disabled='0'\n  uci set wireless.@wifi-iface[0].disabled='0'\n  uci set wireless.@wifi-iface[0].encryption='psk2'\n  uci set wireless.@wifi-iface[0].ssid=\"$wlan_name\"\n  uci set wireless.@wifi-iface[0].key=\"$wlan_password\"\n  uci commit wireless\nfi\n\n\u002Fetc\u002Finit.d\u002Fnetwork restart\n\necho \"All configuration completed successfully!\"\n\n```\n\n# 下载\n[uegee-openwrt-x86-64-generic-ext4-combined-efi.img.gz](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fshare\u002Fopenwrt\u002Fuegee-openwrt-x86-64-generic-ext4-combined-efi.img.gz)\n[uegee-openwrt-x86-64-generic-ext4-combined.img.gz](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fshare\u002Fopenwrt\u002Fuegee-openwrt-x86-64-generic-ext4-combined.img.gz)\n[uegee-openwrt-x86-64-generic-ext4-rootfs.img.gz](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fshare\u002Fopenwrt\u002Fuegee-openwrt-x86-64-generic-ext4-rootfs.img.gz)\n[uegee-openwrt-x86-64-generic-squashfs-combined-efi.img.gz](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fshare\u002Fopenwrt\u002Fuegee-openwrt-x86-64-generic-squashfs-combined-efi.img.gz)\n[uegee-openwrt-x86-64-generic-squashfs-combined.img.gz](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fshare\u002Fopenwrt\u002Fuegee-openwrt-x86-64-generic-squashfs-combined.img.gz)\n[uegee-openwrt-x86-64-generic-squashfs-rootfs.img.gz](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fshare\u002Fopenwrt\u002Fuegee-openwrt-x86-64-generic-squashfs-rootfs.img.gz)","2026-04-23T16:03:23.938Z",{"id":230,"title":231,"summary":232,"excerpt":233,"cover":234,"category":209,"tags":235,"views":236,"likes":198,"top":198,"featured":202,"content":237,"publishedAt":238,"updatedAt":238,"edited":202},"6","OpenWRT安装从零至硬盘教程","# 引言 之前入手了一台J4125主机，打算用来搭建软路由。浏览了网上不少教程，发现大多需要通过复杂的命令行写…","# 引言 之前入手了一台J4125主机，打算用来搭建软路由。浏览了网上不少教程，发现大多需要通过复杂的命令行写入硬盘，操作门槛较高，因此整理了这篇简化版教程，全程步骤清晰，新手也…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F23\u002Fe9a8990f8cc265bc.png",[223,224,196],75,"# 引言\n\n之前入手了一台J4125主机，打算用来搭建软路由。浏览了网上不少教程，发现大多需要通过复杂的命令行写入硬盘，操作门槛较高，因此整理了这篇简化版教程，全程步骤清晰，新手也能轻松上手。\n\n# 准备工作\n\n提前准备好以下工具和文件，避免操作中临时中断，所有工具均提供官方及本站CDN双下载渠道，若CDN下载出现「不支持该文件类型」报错，优先选择官网下载。\n\n## 一、OpenWRT镜像\n\n- 官网选择器下载（推荐，可匹配对应机型）：[OpenWRT 24.10.6 固件选择器](https:\u002F\u002Ffirmware-selector.openwrt.org\u002F?version=24.10.6)\n\n- 本站CDN下载（快速直达，适用于x86\u002F64机型）：[24.10.6 (r29141-81be8a8869) Generic x86\u002F64 COMBINED-EFI (EXT4)](https:\u002F\u002Fcdn-hms.uegee.com\u002Fshare\u002Fopenwrt-24.10.6-x86-64-generic-ext4-combined-efi.img.gz)\nsha256sum: ed776d1d2caac32112bf5228594f2f4f357eb6cdb1937b9c9c4281178129a3ff\n\n注意：若CDN下载提示「当前不支持该文件类型」，请切换至官网选择器下载，选择对应机型的EXT4格式EFI镜像即可。\n\n## 二、Physdiskwrite工具\n\n一款轻量的Windows命令行工具，可直接将镜像写入硬盘（支持自动解压gzip格式镜像），无需复杂命令，新手可快速上手。\n\n- 官网下载（安全可靠，含详细使用说明）：[Physdiskwrite 官网](https:\u002F\u002Fm0n0.ch\u002Fwall\u002Fphysdiskwrite.php)\n\n- 本站CDN下载（快速直达，版本0.5.3）：[physdiskwrite-0.5.3.zip](https:\u002F\u002Fcdn-hms.uegee.com\u002Fshare\u002Fphysdiskwrite-0.5.3.zip)\n\n注意：若CDN下载提示「当前不支持该文件类型」，请切换至官网下载；该工具需以管理员身份运行，否则无法识别磁盘。\n\n## 三、微PE工具箱\n\n一款功能强大的Windows PE维护工具，内置DiskGenius、Dism++等实用工具，用于制作启动U盘、删除硬盘分区，适配新旧机型，支持UEFI引导。\n\n- 官网下载：[微PE工具箱官网](https:\u002F\u002Fwww.wepe.com.cn\u002Fdownload.html)\n\n提示：老机器建议下载V1.3版本（W8PE64内核），新机器建议下载V2.3版本（10PE新内核），均支持UEFI引导。\n\n## 四、U盘准备（关键步骤）\n\n1. 备份U盘内所有数据，后续操作会格式化U盘，避免数据丢失；\n\n2. 打开下载好的微PE工具箱，选择「安装至其它介质」，将PE系统写入U盘；\n\n![729acc9e-af4b-4e1b-aaa3-451fd0a1a06d](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F14\u002F57bc02c764889b67.png)\n\n\n3. 写入完成后，务必确认U盘已生成EFI引导分区（可通过PE内的DiskGenius查看，若未生成，重新写入PE）；\n\n4. 使用WinRAR、7-ZIP等解压工具，分别解压OpenWRT镜像（解压后得到.img格式文件）和Physdiskwrite压缩包（解压后得到physdiskwrite.exe）；\n\n5. 将解压后的OpenWRT镜像文件和physdiskwrite.exe，复制到U盘根目录下（方便后续命令行调用，避免输入复杂路径）。\n\n微PE写入U盘示意图：\n\n# 安装步骤（全程图解，新手无忧）\n\n1. 启动软路由：将制作好的PEU盘插入J4125软路由的USB接口，开机后按对应快捷键（多数J4125主板为F12、F2或Del），选择U盘启动，进入WinPE系统。\n\n2. 删除目标硬盘分区（重点！）：\n        \n打开PE系统内的「DiskGenius」工具，找到需要安装OpenWRT的目标硬盘（注意：**不要选错为U盘**，可通过容量区分），删除该硬盘上的所有分区，删除后保存更改（避免后续写入镜像失败）。\n      \n\n3. 打开命令行窗口：\n        \n进入U盘根目录（即存放镜像和Physdiskwrite工具的目录），按住「Shift」键+鼠标右键，选择「在此处打开命令窗口」（管理员模式）。\n\n4. 执行写入命令：\n        \n在命令行中输入以下指令（复制粘贴即可，避免输错）：\n        \n`physdiskwrite.exe -u 镜像文件名.img`\n示例（若镜像文件名为openwrt-24.10.6-x86-64-generic-ext4-combined-efi.img）：\n        \n`physdiskwrite.exe -u X:\\openwrt-24.10.6-x86-64-generic-ext4-combined-efi.img`\n说明：X代表U盘的盘符（可在PE的「此电脑」中查看，一般为D、E、F盘，根据实际情况替换）。\n      \n\n5. 选择目标硬盘：\n        \n输入命令后按下回车，工具会自动搜索物理磁盘，出现类似以下界面（不同设备显示略有差异）：\n        \n一般情况下，目标硬盘为第一个磁盘（输入0），确认无误后按下回车，开始写入镜像（过程中不要中断，耐心等待）。\n      \n![44aeff44-d982-4f32-9662-d6cc579b4207](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F14\u002F1678de1993d37f4e.png)\n\n\n6. 完成安装并重启：\n        \n当命令行显示写入完成（出现类似「Write successful」的提示），即可拔掉PEU盘，重启软路由。\n        \n重启后，OpenWRT系统会自动启动，至此，OpenWRT已成功安装到J4125软路由的硬盘中。\n      \n\n# 常见问题排查\n\n- 问题1：Physdiskwrite无法识别磁盘？\n       \n解决：以管理员身份运行命令行，重新执行写入命令；若仍无法识别，检查U盘是否插好，或更换USB接口。\n      \n\n- 问题2：写入镜像时提示错误（65536字节后报错）？\n        \n解决：确认目标硬盘的所有分区已删除，若无法删除，可通过PE的「diskpart」工具清理磁盘（具体步骤：管理员命令行输入diskpart → list disk → select disk X → clean）。\n      \n\n- 问题3：CDN下载文件提示「不支持该文件类型」？\n        \n解决：切换至对应工具\u002F镜像的官网下载，确保下载的文件格式正确（OpenWRT为.gz压缩包，Physdiskwrite为.zip压缩包）。\n      \n\n- 问题4：软路由重启后无法进入OpenWRT？\n        \n解决：确认U盘已拔掉，检查硬盘是否正确写入镜像；若仍失败，重新下载镜像，重复安装步骤。\n      \n> （注：文档部分内容可能由 AI 生成）","2026-04-22T16:42:38.778Z",{"id":240,"title":241,"summary":242,"excerpt":243,"cover":244,"category":209,"tags":245,"views":247,"likes":198,"top":198,"featured":202,"content":248,"publishedAt":249,"updatedAt":249,"edited":202},"9","OpenWRT 扩容教程","> 教程参考 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1JH4y167LB > 教程…","> 教程参考 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1JH4y167LB > 教程适用于OpenWRT官方原版镜像 # 原理 ![ChatGPT Im…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F23\u002F42a5bf5ff1761d0e.png",[223,246,224],"扩容",7,"> 教程参考 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1JH4y167LB\n> 教程适用于OpenWRT官方原版镜像\n\n# 原理\n\n![ChatGPT Image 2026年4月23日 08_21_07](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F23\u002F42a5bf5ff1761d0e.png)\n\n# 扩容\n## 准备\n首先需要安装以下插件来进行扩容：`cfdisk` `block-mount` `mount-utils` `libmount1`\n使用以下命令一键安装\n`opkg install cfdisk block-mount mount-utils libmount1`\n\n> 如果安装过慢，可以试试更改opkg镜像源到国内镜像站，例如[清华大学源](https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fopenwrt)\n\n安装之后请重启你的软路由：`reboot`\n\n重启之后，登录到你的后台，在nav导航栏的系统二级菜单内就可以找到挂载点插件了；\n![22312e5a-1a7a-4ac7-be5d-79bfa79679d7](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F23\u002F25503a1e6842b992.png)\n\n## 创建分区\n使用`cfdisk`命令进入到磁盘管理工具；\n选择FreeSpace选项回车，输入要扩容的大小；使用左右方向键选择到 `[write]` 选择项，按下回车，\n会提示你是否确认，要输入`yes` or `no` * 注意这里必须要全部拼写上，不可以是y\u002Fn\n然后选择`[quit]`回车，\n\n## 格式化分区\n使用命令 `mkfs.ext4 \u002Fdev\u002Fsda3`\nmkfs.ext4是创建一个filesystem 格式为ext4 , \u002Fdev\u002Fsda3就是刚刚分好的区；\n\n回车，等待完成即可；\n\n## 挂载分区\n使用命令`mount \u002Fdev\u002Fsda3 \u002Fmnt\u002Fsda3`\n命令解析：挂载 \u002Fdev\u002Fsda3(分区) 到 \u002Fmnt\u002Fsda3(文件夹)\n这里可能会报错，提示你没有\u002Fmnt\u002Fsda3文件夹，那么就创建一个\n使用`mkdir -p \u002Fmnt\u002Fsda3` 来创建sda3挂载目标点文件夹\n然后再执行命令`mount \u002Fdev\u002Fsda3 \u002Fmnt\u002Fsda3`\n就挂载成功了；\n可以使用命令`ls \u002Fmnt\u002Fsda3`\n如果里面有 `lost + found` 字符等，就说明挂载成功了；\n\n## 转移overlay文件\n使用命令`cp -r \u002Foverlay\u002F* \u002Fmnt\u002Fsda3`\n命令解析：复制 \u002Foverlay\u002F下的所有文件(*) 到 \u002Fmnt\u002Fsda3\n命令跑完之后，你可以执行\n`ls \u002Foverlay\u002F` 和 `ls \u002Fmnt\u002Fsda3` 来检查两个文件夹内的文件\u002F目录是否完全一致。\n\n## 挂载点\n在Openwrt的Web管理页面，找到我们安装的挂载点插件\n\n在 挂载点 处，点击添加按钮，会有弹窗配置；\n把UUID选择为我们刚刚创建的分区（\u002Fdev\u002Fsda3)\n挂载点选择`作为外部 overlay 使用（\u002Foverlay）`\n\nok,保存并应用后，重启软路由\n\n# Done\n至此，扩容结束；到Software查看容量，变大了；\n\n教程适用于COMBINED-EFI (EXT4)\\COMBINED-EFI (SQUASHFS)等等","2026-04-22T16:40:03.274Z",{"id":251,"title":252,"summary":253,"excerpt":254,"cover":255,"category":209,"tags":256,"views":260,"likes":198,"top":198,"featured":202,"content":261,"publishedAt":262,"updatedAt":262,"edited":202},"10","无需本地部署 codespaces + cloudflare pages部署hexo博客教程","> 前言：保罗群里的小伙伴想用docker部署hexo，但是我就问了，你既然都可以部署docker了，为啥还非…","> 前言：保罗群里的小伙伴想用docker部署hexo，但是我就问了，你既然都可以部署docker了，为啥还非得hexo？ > 结果他说，不想搞数据库（ > 还说不想搞本地环境；…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002F58a6a5912babae90.png",[257,258,259],"codespaces","hexo","blog",61,"> 前言：保罗群里的小伙伴想用docker部署hexo，但是我就问了，你既然都可以部署docker了，为啥还非得hexo？\n> 结果他说，不想搞数据库（\n> 还说不想搞本地环境；害，那我就写一篇教程来吧\n\n# 准备工作\n需要如下工具&账号\n - Cloudflare 账号一枚\n - Github 账号一枚\n - Chrome浏览器一只(or edge)\n# 创建仓库\n在你喜欢的地方创建一个github 仓库，在创建的时候建议勾选 `Add README`\nrepository visibility 最好选择public\n\n# 进入codespaces\n进入刚刚创建好的仓库，选择使用codespaces打开\n![fc976e46-d031-4730-92d6-6f5a96d49a65](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002Febe527647c534974.png)\n会自动弹出新标签页，进入到codespaces visual studio code页面\n\n# 安装hexo\n在codespaces页面的终端里，可直接输入hexo的安装指令\n`npm install hexo-cli -g`\n使用`rm -rf README.md`命令删除README文件，因为在执行`hexo init`命令时，文件夹内必须为空；\n\n然后使用`mv`命令，将.git文件夹先暂时移出，使安装hexo文件夹内保持空；\n`\nmkdir -p \u002Fworkspaces\u002Fbackup\nmv .git ..\u002Fbackup\u002F.git\n`\n\n移动完之后使用`ls -al`命令确保文件夹内为空\n然后执行`hexo init`命令来安装hexo\n由于海外机房的原因，hexo的安装十分迅速\n\n安装结束后就可以把刚刚移出去的.git文件移回来了\n`mv \u002Fworkspaces\u002Fbackup\u002F.git \u002Fworkspaces\u002Fhexo-test\u002F`\n\n# 安装主题\n这里随便选了一个主题进行安装\n[hexo-theme-material](https:\u002F\u002Fgithub.com\u002Fiblh\u002Fhexo-theme-material\u002F)\n\n按照主题作者的文档，进行安装；\n`\ncd themes\ngit clone https:\u002F\u002Fgithub.com\u002Fbollnh\u002Fhexo-theme-material.git material\ncd material\ngit checkout {branch\u002Ftags name}\n`\n\n找到hexo的配置文件，将theme段修改为 `material`即可\n\n`\ntheme: material\n`\n\n# 调试\n写文章、配置主题啥的我这里就不写了，有很多教程，就不重复造轮子了；\n\n使用 `hexo s`打开在线调试\n右侧的转发端口会显示出链接，点击进去就可以在线调试了；\n\n![acdcd4a5-3ff6-4d96-81e2-ddacffb0d9f6](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002F09c211ae5e53d75c.png)\n\n# push\n写好文章之后，就可以push到仓库了捏\n\n使用git三连来push到你的仓库\n`\ngit status\ngit add .\ngit commit -m \"内容\"\n`\n然后就可以了捏\n\n# 部署到cloudflare pages\n当你写好文章且调试好，push到你的仓库之后\n就可以明目张胆的用cloudflare pages来部署你的博客了\n(记得关闭codespaces！！！)\n\n来到cloudflare pages\n![9f070841-93e6-4c28-83ef-bd2daf9a3afd](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002F8826c5573ebb670a.png)\n点击创建应用程序，选择pages\n![c8586050-ef44-4dae-b307-da5accbc0d05](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002F93cc94a853109ec8.png)\n选择导入现有存储库，链接到你的GitHub账户，选择刚刚创建好的仓库\n\n构建命令：`npm exec hexo generate`\n构建输出目录: `public`\n\n# 大功告成✨\n![6c5060cb-46c6-475a-a45e-d731142b4b86](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002Fe4291c9bab0021ab.png)\n\n![78842c45-92f1-4c9a-973a-d5bcfd3b3237](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F22\u002F2e8cc436878d0fdb.png)\n\n# 新增文章\n继续在仓库页面打开codespace\n进入codespaces后会自动拉取仓库内的文件\n直接在终端输入`npm install hexo-cli -g`\n无需再次`hexo init`，就可以编辑文章调试了；\n\n写好文章之后push到仓库,cloudflare pages会自动拉取构建，不用手动去操作了\n\n✨至此，大功告成","2026-04-22T12:40:48.217Z",{"id":264,"title":265,"summary":266,"excerpt":267,"cover":268,"category":269,"tags":270,"views":273,"likes":198,"top":198,"featured":202,"content":274,"publishedAt":275,"updatedAt":275,"edited":202},"5","记录一下红米显示器售后过程","# 起因 25年6月低的时候，买了一款红米的显示器 红米G27U 这款显示器总体来说还是很有性价比的 双模，4…","# 起因 25年6月低的时候，买了一款红米的显示器 红米G27U 这款显示器总体来说还是很有性价比的 双模，4k 160hz\u002F1080p 320hz ![微信图片_2026041…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F10\u002F8d8fa9fc2cfe505d.jpg","life,生活",[271,272],"售后","显示器",29,"# 起因\n25年6月低的时候，买了一款红米的显示器\n红米G27U\n\n这款显示器总体来说还是很有性价比的\n双模，4k 160hz\u002F1080p 320hz\n\n\n![微信图片_20260410173720_234_81](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F10\u002F8d8fa9fc2cfe505d.jpg)\n\n\n买的时候主要是想拿来打cs的，其次4k看起来也很舒服\n\n但是26年初的时候，就出现了一些坏点\n\n![微信图片_20260410173719_233_81](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F10\u002Fe470921c25c92328.jpg)\n\n![微信图片_20260410173716_232_81](https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fnehex-uploads\u002F2026-04\u002F10\u002F9573013ca0df027d.jpg)\n\n\n联系京东小米客服，客服给了维修师傅电话\n\n维修师傅打电话来询问买了多久\n看样子时间不到一年，\n就直接说给我换一台新的；\n\n这解决方法很简单粗暴啊，不过我喜欢😋","2026-04-12T01:25:34.791Z",{"id":277,"title":278,"summary":279,"excerpt":280,"cover":281,"category":193,"tags":282,"views":286,"likes":198,"top":198,"featured":202,"content":287,"publishedAt":288,"updatedAt":288,"edited":202},"3","CodeX Cli & CodeX 插件登陆失败问题","> 最近在linux mint上使用codex cli登陆的时候，返回登陆失败等问题 # 问题分析 是Code…","> 最近在linux mint上使用codex cli登陆的时候，返回登陆失败等问题 # 问题分析 是Codex在终端内没有配置proxy的问题 ## 相关报错 ``` Toke…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Fcodex-fix-cover.png",[283,284,285],"codex","ai","chatgpt",64,"> 最近在linux mint上使用codex cli登陆的时候，返回登陆失败等问题\n\n# 问题分析\n是Codex在终端内没有配置proxy的问题\n\n## 相关报错\n```\nToken exchange failed: token endpoint returned status 403 Forbidden\n```\n\n# 解决方法\n## windows powershell\nWindows 系统（CMD\u002FPowerShell）\n```\n:: CMD命令行\nset http_proxy=http:\u002F\u002F127.0.0.1:7890\nset https_proxy=http:\u002F\u002F127.0.0.1:7890\n:: 关键！排除本地地址，防止登录时被代理拦截导致卡死\nset no_proxy=127.0.0.1,localhost,::1\n\n:: PowerShell\n$env:http_proxy = \"http:\u002F\u002F127.0.0.1:7890\"\n$env:https_proxy = \"http:\u002F\u002F127.0.0.1:7890\"\n$env:no_proxy = \"127.0.0.1,localhost,::1\"\n```\n\n## Linux\u002FmacOS 系统（终端）\n```\n# 临时生效（当前终端会话）\nexport http_proxy=http:\u002F\u002F127.0.0.1:7890\nexport https_proxy=http:\u002F\u002F127.0.0.1:7890\nexport no_proxy=127.0.0.1,localhost,::1\n\n# 永久生效（写入配置文件）\necho \"export http_proxy=http:\u002F\u002F127.0.0.1:7890\" >> ~\u002F.bashrc\necho \"export https_proxy=http:\u002F\u002F127.0.0.1:7890\" >> ~\u002F.bashrc\necho \"export no_proxy=127.0.0.1,localhost,::1\" >> ~\u002F.bashrc\nsource ~\u002F.bashrc  # 立即生效\n```","2026-04-12T01:21:19.318Z",{"id":290,"title":291,"summary":292,"excerpt":293,"cover":294,"category":193,"tags":295,"views":297,"likes":198,"top":198,"featured":202,"content":298,"publishedAt":299,"updatedAt":299,"edited":202},"2","制作了一个 个人空间 引擎","# 制作了一个 个人空间 引擎 之前的博客部署在了家里的HomeLab上，过年期间HomeLab关机，所以博客…","# 制作了一个 个人空间 引擎 之前的博客部署在了家里的HomeLab上，过年期间HomeLab关机，所以博客无法访问； 后来在过年期间，就萌生了想做个属于自己的个人空间引擎的想…","https:\u002F\u002Fs3.hi168.com\u002Fhi168-31358-3621l8yj\u002Fimages\u002Ftest_cover.png",[296,53,54,55],"博客",23,"# 制作了一个 个人空间 引擎\n\n之前的博客部署在了家里的HomeLab上，过年期间HomeLab关机，所以博客无法访问；\n后来在过年期间，就萌生了想做个属于自己的个人空间引擎的想法；\n没别的原因，就是因为属于自己。\n\n# NeHex\n\n这是一个全新的，基于Python FastAPI + MySQL + Vuetify制作的个人空间引擎。\n\n参考&模仿项目：\n[Chill-Round 寒蝉圆体系列](https:\u002F\u002Fgithub.com\u002FWarren2060\u002FChillRound)\n[koi](https:\u002F\u002Fgithub.com\u002Ftcdw\u002Fkoi)\n[Yohaku.](https:\u002F\u002Fgithub.com\u002FInnei\u002FYohaku)\n[保罗的小窝](https:\u002F\u002Fpaul.ren\u002F)\n\n推荐使用[mx-space](https:\u002F\u002Fmx-space.js.org\u002F)博客引擎，更加简易好用！而且功能更加全面，性能更好，主题也多！\nMix Space 是一个现代化的前后端分离个人空间解决方案，也可以作为个人博客使用！\n\n# 前端\n\n这个主题参考了很多主题的设计，因为我没什么UI设计感（\n采用Nuxt制作\n\n# 使用\n\n目前还没有完全实现，虽然已经开源了，但是还没做懒人一键部署和文档等内容。\n所以还不建议使用；","2026-04-12T01:20:45.961Z",1777833064747]