北海的鱼 - 建站心得 分享日常搭建网站的一些心得体会! 2026-10-13T14:40:08+08:00 Typecho https://blog.qsuu.cn/feed/atom/category/xinde/ <![CDATA[网心云 OEC-Turbo 刷飞牛OS:拆机短接保姆级教程(附避坑清单)]]> https://blog.qsuu.cn/archives/OEC-Turbo-OS.html 2026-10-13T14:40:08+08:00 2026-10-13T14:40:08+08:00 北海的鱼 https://blog.qsuu.cn 手上一台网心云 OEC-Turbo(圈内简称 OECT),原本是跑 PCDN 赚点电费钱的边缘计算盒子。这玩意儿现在已经可以刷成飞牛 OS,摇身一变成为一台正经的家用 NAS。

刷机过程不算难,但坑不少——尤其是短接这一步,很多人卡在这里反复失败。这篇把完整流程和我踩过的坑都记下来。

一、这机器到底什么底子

先搞清楚你要刷的是什么:

项目规格
SoC瑞芯微 RK3566,四核 A55,最高 1.8GHz
内存4GB LPDDR4X(OEC 普通版是 2GB)
板载存储8GB eMMC
硬盘SATA 3.0 × 1,支持 2.5 寸硬盘
网络千兆网口 × 1
其他接口USB 3.0 × 1、USB 2.0 Type-C × 1
电源12V / 2A
功耗待机 1~2W,满载约 4W

优势很明确:RK3566 带 SATA,功耗个位数,一年电费不到二十块。缺点也很明确——8GB eMMC 太小了。

二、动手前先想清楚三件事

这不是点几下鼠标的事,先把风险摆在前面:

1. 固件带硬件锁,别乱刷
OEC/OECT 的飞牛固件是针对这台机器的,严禁刷入其他任何设备,刷错必变砖,而且没有救砖办法。反过来也一样,别把别的机型的固件往 OECT 里怼。

2. 8GB eMMC 会很紧张
飞牛官方对 ARM 设备的建议是 eMMC 不低于 16GB,32GB 以上最优。OECT 只有 8GB,系统能装下、能跑,但应用别指望装太多,存储主力还是要靠那块 2.5 寸硬盘。

3. 硬件版本不止一个
OECT 存在多个硬件版本,不同版本进入 MASKROM 模式的短接方法不一样。网上教程的触点位置可能对不上你的板子,多找几份同型号的图片对比。

另外,刷完 PCDN 收益就没了,硬盘会被格式化,有数据先备份。

三、准备清单

硬件

  • Windows 10 / 11 64 位电脑
  • Type-C 数据线(优先 A-A 双公头线,插电脑的 USB 2.0 口成功率明显更高)
  • 螺丝刀、镊子或一小段导线(用来短接)
  • 网线一根

软件

  • 瑞芯微 USB 驱动:Rockchip_DriverAssitant_v5.1.1
  • 刷机工具:RKDevTool(v2.84 或 v3.x 版本都有人用,个别版本有兼容性差异,刷不动就换个版本)
  • Bootloader 文件:RK3566/RK3568 对应 rk356x_spl_loader_ddr1056_v1.10.111.bin(一般在 RKDevTool 目录的 Firmware 下,选 rk3568 那一项)
  • 飞牛固件:OEC/OECT 对应的是 rk3566-null 系列,例如 fnos_Mainland-PE_arm_1.1.19_rk3566-null_544

固件去哪找
飞牛 ARM 版的官方下载页是 https://fnnas.com/download-arm。需要说明的是,官网的设备支持列表会随版本变动,OEC/OECT 的固件在 2026 年上半年的公测版本里是独立的一个包,之后列表调整过。如果你打开官网没找到 OEC/OECT,有两条路:

  1. 去飞牛社区、恩山论坛找资源汇总帖,里面有对应版本的固件和下载地址
  2. 用社区维护的 ophub/fnnas 项目,它的支持列表里有 WXY-OEC-turbo-4g,刷完可以走 OTA

下载到的固件如果是 rar/zip/gz,一定要先解压出 .img 文件,工具不认压缩包。

四、拆机:找到那两个触点

原厂系统、从没刷过的机器,必须拆机短接才能进 MaskROM。

  1. 推底部盖板:按箭头方向推开,取下底盖
  2. 取出硬盘:有硬盘先拔出来,避免碍事
  3. 卸螺丝:卸下标注的四颗螺丝,侧边盖板往下滑就能卸下来
  4. 拆主板隔板:拧下这一圈的螺丝(固定 SATA 接口的那颗不用拆),小心顶一下凹进去的硬盘提手,整块隔板就能分离出来
  5. 注意排线:SATA 连接排线不用拔,别用力扯断了,把隔板简单固定、能看到主板就行

在主板上找到两个触点,位置在 SATA 接口旁边,一般标记为 GND 和 1V8,等下就要把这两个点短接在一起。

顺带说一句 Type-C 口:网心云官方说明书里写「硬盘槽旁边的 Type-C 口为生产调试使用,不具备实际功能性」,但刷机恰恰就要用这个口,别被这句话劝退。

五、刷机:关键就在那 3 秒钟

第一步,装驱动
进 DriverAssitant 目录,运行 DriverInstall.exe,默认安装即可。

第二步,连设备
打开 RKDevTool.exe,底部会显示「没有发现设备」。

全程不需要接电源线——设备靠 USB 供电就够了。用数据线连接设备的 Type-C 口,另一头插电脑。

第三步,进 MaskROM(最容易翻车的一步)
用镊子短接主板那两个触点,同时把 USB 插到电脑上。设备灯会亮,等 3~4 秒就可以松开短接了。

软件底部显示「发现一个 MASKROM 设备」,就说明成功了。

如果一直不识别,别急,这步多试几次很正常。几个提高成功率的办法:

  • 短接和插 USB 的时机要同步,先短接好、接触稳了再插
  • 换 USB 2.0 接口,USB 3.0 容易失败
  • 换一根数据线
  • 有玩家反馈短接主板上标 18ct 元件的 2、3 脚,成功率比 GND/1V8 高不少
  • 如果你的机器之前刷过 Armbian 或群晖,一般就不用再短接了,直接走 Loader 模式刷即可

第四步,加载文件开刷

  • 修改 Loader 路径:选择对应处理器的 bin 文件(RK3566 选 rk3568 目录下的 MiniLoaderAll.bin)
  • 修改 System 路径:选择解压出来的 .img 固件
  • 勾选「强制按地址写」,留意地址是否正确:0xCCCCCCCC 对应 Bootloader,0x00000000 对应固件镜像
  • 点击「执行」

进度条走完大概要 7 分钟左右,工具提示「下载完成」就刷好了。

另一种进 Loader 模式的方法:不想拆机的话,可以试通电前用卡针顶住机身的 Reset 小孔,再插刷机线,进入 Loader 模式。这时候去掉勾选 Bootloader 那一项,直接执行刷入 Image 固件即可。不过这个办法对原厂固件版本有要求,升级过系统的机器可能失效。

六、首次启动与访问

先别急着装回去。

  1. 拔掉 Type-C 数据线
  2. 插上网线,接上电源
  3. 登录路由器后台,找一台名为 debian 的新设备——这就是刷好飞牛的机器,记下它的 IP
  4. 浏览器访问这个 IP,就能进入飞牛 OS 的部署界面

后面就是设置账号、挂载硬盘、开 SMB 共享、装飞牛影视这些常规操作了,跟 x86 版基本一致。

七、避坑清单

把散在各处的坑集中一下,刷之前建议过一遍:

坑说明
短接时机短接和插 USB 要同步,失败就多试几次,这是最高频的卡点
USB 口选择优先 USB 2.0,3.0 口失败率明显更高
红灯常亮刷完指示灯常亮红灯是正常现象,不是刷失败了,别慌
固件格式必须解压成 .img,压缩包工具不认
硬件版本OECT 有多个硬件版本,短接点可能不同,多对比图片
固件锁OEC 固件有硬件锁,刷别的设备必砖,反之亦然
eMMC 空间只有 8GB,装应用悠着点,主力存储交给 SATA 硬盘
工具版本RKDevTool 各版本兼容性有差异,卡住了就换个版本试

还有个进阶玩法:恩山论坛有大佬做了 OEC/OECT 多系统切换工具,支持系统升级、克隆、改 LED 灯、改 MAC 地址,想折腾多系统的可以去搜一下。

八、值不值得刷

如果你手上已经有一台吃灰的 OECT,那答案是很值——零成本多一台低功耗 NAS,跑跑下载、影音、文件备份绰绰有余。

但如果还没入手,就得算笔账了:这机器因为能刷 NAS 已经涨过一波价,同样的钱现在能买到不少正经的 ARM 小主机,eMMC 还更大。为了刷飞牛专门去买 OECT,性价比已经不如从前了。

刷机有风险,动手前确认自己能接受最坏结果。祝各位一次点亮。

]]>
<![CDATA[想让 AI 代发文章?Typecho 后台自动化对接踩坑实录]]> https://blog.qsuu.cn/archives/AI-Typecho.html 2026-10-10T15:23:25+08:00 2026-10-10T15:23:25+08:00 北海的鱼 https://blog.qsuu.cn 最近在折腾一件事:让 AI 助手直接登录博客后台,帮我整理并发布文章。想法很朴素——内容采集、改写、排版都交给它,我只负责最后确认。

真动手才发现,这条路比想象中绕。前后踩了三个坑,记录一下,省得你重走。

第一个坑:curl 登录,看起来成功其实是假的

最直觉的做法是命令行模拟表单提交。Typecho 的登录表单长这样:

<form action="https://example.com/index.php/action/login?_=xxxx" method="post">
  <input type="text" name="name" />
  <input type="password" name="password" />
  <input type="hidden" name="referer" value="https://example.com/admin/" />
</form>

于是:

curl -c cookie.txt -L "https://example.com/admin/" -o login.html
TOKEN=$(grep -oE 'login\?_=[a-zA-Z0-9]+' login.html | head -1 | cut -d= -f2)
curl -b cookie.txt -c cookie.txt -L \
  --data-urlencode "name=你的账号" \
  --data-urlencode "password=你的密码" \
  --data-urlencode "referer=https://example.com/admin/" \
  "https://example.com/index.php/action/login?_=$TOKEN"

诡异的是,返回 302 且 Location 指向后台——看着像成功了。但一访问后台,还是登录页。

关键判断点在这里:

curl ... -D - -o /dev/null "..." | grep -i "set-cookie"

如果响应头里没有 Set-Cookie,那就是没登录成功,不管 Location 跳去哪。Typecho 登录成功一定下发 __typecho_authCode。

为什么失败?看完整响应头就能发现线索:

EO-Cache-Status: MISS
EO-LOG-UUID: 17057971157060924413

站点在腾讯云 EdgeOne 这类 CDN 后面,非浏览器请求在会话层就被处理掉了,压根到不了 PHP。结论:curl 这条路对这类站点不通,别浪费时间调参数。

第二个坑:浏览器工具下载 Chromium 会超时

既然要真实浏览器,那就装自动化工具。agent-browser 这类 CLI 有个 install 子命令负责拉 Chromium,约 198MB。

实际结果:

40/198 MB (20%)
Retrying download (attempt 2/3)
Retrying download (attempt 3/3)
✗ Download error: operation timed out

国内网络拉 Google 的 chrome-for-testing 源,超时是常态。不要在这步死等。

第三个坑:headless 模式也会被拦

绕过下载的办法:你机器上大概率已经有 Chrome 或 Edge,直接拿来用。

npm install playwright-core

playwright-core 不含浏览器,只有驱动,几 MB,秒装。然后指向本机 Chrome:

const browser = await chromium.launch({
  executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
  headless: true
});

结果访问后台直接 30 秒超时。改成 headless: false 立刻正常——同样的 cookie、同样的 URL。CDN 对无头浏览器同样有识别。

最终能跑通的方案

const { chromium } = require('playwright-core');

(async () => {
  const browser = await chromium.launch({
    executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
    headless: false,
    args: ['--disable-blink-features=AutomationControlled']
  });
  const ctx = await browser.newContext({
    viewport: { width: 1280, height: 860 },
    userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
  });
  const page = await ctx.newPage();

  await page.goto('https://example.com/admin/', { waitUntil: 'domcontentloaded' });
  await page.fill('#name', '你的账号');
  await page.fill('#password', '你的密码');
  await page.check('#remember');          // 勾选记住登录,cookie 有效期更长
  await page.click('button[type="submit"]');
  await page.waitForTimeout(5000);

  console.log(await page.title());        // 输出「网站概要」即为成功
  await ctx.storageState({ path: 'state.json' });   // 保存登录态
  await browser.close();
})();

跑完看到标题变成「网站概要 - ...」,就算进去了。

storageState 这一步很值钱:登录态存成 state.json 后,后续所有脚本都这样复用,不用再输一次密码:

const ctx = await browser.newContext({ storageState: 'state.json' });

发布文章:先摸清表单字段

不同主题的写作页字段差异不小(特别是加了自定义字段的主题)。先探测再填,别猜:

document.querySelectorAll('input[name], select[name], textarea[name]').forEach(el => {
  console.log(el.tagName, el.name, el.type, el.id);
});

Typecho 原生字段一般是这些:

  • title 标题、text 正文(Markdown)、slug 别名
  • category[] 分类(checkbox,值是分类 ID)
  • tags 标签、date 日期
  • visibility 可见性、allowComment 允许评论

带自定义字段的主题还会有 fields[excerpt](摘要)、fields[imgst](封面图)、fields[catalog](目录开关)这类,按需填。

填完点「发布文章」提交:

await page.fill('#title', '文章标题');
await page.evaluate(t => { document.querySelector('#text').value = t; }, 正文内容);
await page.check('#category-1');        // 勾选分类,注意是 ID 不是名字
await page.fill('#tags', '标签1,标签2');
await page.click('button:has-text("发布文章")');
await page.waitForTimeout(5000);

摘要里那句「注意是 ID 不是名字」是血泪:分类复选框的 id 是 category-1 这种,对应的是分类 ID,得先遍历一遍把 ID 和名称对应上:

document.querySelectorAll('input[name="category[]"]').forEach(el => {
  const lab = document.querySelector(`label[for="${el.id}"]`);
  console.log(el.value, lab ? lab.textContent.trim() : '?');
});

几条安全提醒

折腾完回看,这几条比技术细节更重要:

  1. 密码不要写进任何笔记或脚本。登录一次拿到 state.json 就够了,后续全靠它
  2. state.json 等同于账号权限,别提交到公开仓库,也别随手发给别人
  3. 发文章前先看一眼草稿。自动化发错分类、发错时间,删起来很烦
  4. 采集来的内容要重写再发,直接搬运既有版权风险,也不利于收录
  5. 文章里涉及自己站点的后台路径、账号名,一律用 example.com 之类替代

小结

三个坑其实指向同一件事:现代站点前面挡着 CDN,自动化得按真实浏览器的路子走。curl 走不通,无头浏览器走不通,用本机浏览器 + 有头模式反而最省事。

真正跑通之后,体验是值得的:内容整理、排版、配图、发布一气呵成,人只做最后的判断。这条路走顺了,后面就是批量化的事了。

]]>
<![CDATA[两行代码解决飞牛OS里面的宝塔装不上PHP]]> https://blog.qsuu.cn/archives/78.html 2025-12-04T11:38:43+08:00 2025-12-04T11:38:43+08:00 北海的鱼 https://blog.qsuu.cn 飞牛OS安装宝塔后,安装PHP无法启动,提示安装详情:启动失败,pid文件不存在无论是PHP7.x还是8.x 问题都是一样。
解决方案:
点击宝塔面板-终端,然后输入下面命令,执行完再去安装php

apt update 
apt upgrade openssl
]]>
<![CDATA[x-ui魔法面板]]> https://blog.qsuu.cn/archives/77.html 2025-01-22T11:37:00+08:00 2025-01-22T11:37:00+08:00 北海的鱼 https://blog.qsuu.cn 这个要自己准备国外vps,来搭建魔法上网!
Test

功能介绍

系统状态监控

支持多用户多协议,网页可视化操作

支持的协议:vmess、vless、trojan、shadowsocks、dokodemo-door、socks、http

支持配置更多传输配置

流量统计,限制流量,限制到期时间

可自定义 xray 配置模板

支持 https 访问面板(自备域名 + ssl 证书)

支持一键SSL证书申请且自动续签

更多高级配置项,详见面板

安装或升级

bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

手动安装升级

首先从 https://github.com/vaxilu/x-ui/releases 下载最新的压缩包,一般选择 amd64架构然后将这个压缩包上传到服务器的 /root/目录下,并使用 root用户登录服务器,如果你的服务器 cpu 架构不是 amd64,自行将命令中的 amd64替换为其他架构。

cd /root/
rm x-ui/ /usr/local/x-ui/ /usr/bin/x-ui -rf
tar zxvf x-ui-linux-amd64.tar.gz
chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
cp x-ui/x-ui.sh /usr/bin/x-ui
cp -f x-ui/x-ui.service /etc/systemd/system/
mv x-ui/ /usr/local/
systemctl daemon-reload
systemctl enable x-ui
systemctl restart x-ui

使用docker安装

安装docker

curl -fsSL https://get.docker.com | sh

安装x-ui

mkdir x-ui && cd x-ui
docker run -itd --network=host \
    -v $PWD/db/:/etc/x-ui/ \
    -v $PWD/cert/:/root/cert/ \
    --name x-ui --restart=unless-stopped \
    enwaiax/x-ui:latest

Build 自己的镜像

docker build -t x-ui .

从国内大厂买的vps,建议自己弄上域名和SSL证书伪装一下!

]]>
<![CDATA[宝塔搭建POLR短链接网站]]> https://blog.qsuu.cn/archives/73.html 2024-12-13T17:42:00+08:00 2024-12-13T17:42:00+08:00 北海的鱼 https://blog.qsuu.cn Polr短链接源码,开源不收费,可以开放注册,而且功能也足够强大,需要服务器才能搭建使用。
我这里用的宝塔,踩了很多坑,找了好多教程才搞好了,下面详细说一下吧,也希望大家能少走点弯路。
Test

教程开始

宝塔安装教程就不细说了,官方安装地址: 点击跳转 ,开心版地址: 仅用于学习 ,宝塔装好之后直接一键安装那几个环境就行。
PHP版本我这里用的是7.2(在禁用函数中去掉putenv),数据库5.7。
然后打开宝塔创建网站,数据库也一块创建了。创建好以后申请ssl后面好开启https。
Test
然后打开宝塔左侧有个终端,打开它,或者你自己的ssh远程工具也行,输入以下代码,下载源码到网站目录,xx.com换成你自己刚才创建的网站文件夹名字。

cd /www/wwwroot/xx.com

下载官方源码

git clone https://github.com/cydrobolt/polr.git
mv polr/{.,}* ./

由于官方是英文的,需要汉化一下

cd resources && rm -rf views && wget https://www.j8mao.com/usr/down/porl_views.tar.gz
tar zxvf porl_views.tar.gz
cd ..

使用Composer安装
Test
执行完以后,将.env.setup创建一个名为.env的副本

cp .env.setup .env

在宝塔面板上直接点击网站-设置-网站目录,选择/public文件夹,然后在伪静态那里填入以下代码:

location / {
            try_files $uri $uri/ /index.php$is_args$args;
}

然后进入网站目录,找到.evn点进去改成你的数据库名称,账户,密码,其他不用动,然后保存
Test
Test
保存好之后,改一下网站目录权限为777/www
Test
然后打开网站看看是不是到安装界面了
Test
里面的数据库名,数据库账户,密码,网站域名都改成你自己的。
Test
其他的根据需要自己设置就行了,STMP就是发件的邮箱,开启注册,不用邮箱验证(后期需要用),然后安装
Test
现在可以正常进入网站,但是如果你开始设置的是只有登录用户可以使用短链的话,此时是无法正常使用短链的。同时,你使用设置的用户进行登录时,会提示登陆错误。原因是数据库里现在没有用户信息。此时你就只需注册一个用户,使用注册用户进行登录,就可以正常使用短链功能了。
但是现在仍然有一个缺陷,你注册的用户并不具备管理员权限,只是一个普通用户,没有办法管理其他注册用户的短链。要将自己注册的用户升级为管理员,只需要进入数据库,在users中将你刚注册的用户的role赋值为admin然后点击右下角执行即可。然后回到网站,退出后重新登录,你就会发现你的账户已经是管理员了。
Test
Test
Test

其他配置

  1. 如果是使用Cloudflare,不要开启CDN(小云朵),会造成重定向次数太多,无法正常访问。如果非要开启CDN,使用Cloudflare,请在vender/autoload.php的第6行加入:

    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
     $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
  2. 不要关闭 防跨站攻击 ,否则网站无法正常访问。
  3. 想要修改设置仅能通过.env这个文件修改。
  4. 设置时区可在.env文件的最后加入(时区自行根据需要设置即可):

    APP_TIMEZONE=Asia/Shanghai

    好了 教程到此结束,快去试试吧

]]>
<![CDATA[科技lion大佬的一键脚本/服务器调优]]> https://blog.qsuu.cn/archives/72.html 2024-09-29T17:43:00+08:00 2024-09-29T17:43:00+08:00 北海的鱼 https://blog.qsuu.cn 这位大佬的脚本确实挺实用,特别是撸到手的甲骨文云,如果不是你想要的系统,那么可以用此脚本DD一个新系统!而且功能众多,自行体验!

脚本命令

bash <(curl -sL kejilion.sh)

进去之后,以后输入K就能直接唤出菜单。
Test
里面东西很多,一般用到的也就是系统工具,重装系统,一条龙调优(比如服务器用于网站,系统资源就可以全部倾向于网站访问速度),一键建站等等。
Test
Test
Test
Test
这里我自己拿了新加坡、东京服务器搭建网站、宝塔等,然后直接一条龙调优,选择网站优化模式测试了一下,速度明显感觉快了很多。

]]>
<![CDATA[Halo、Qexo使用Lsky-Pro兰空图床api ]]> https://blog.qsuu.cn/archives/67.html 2024-09-11T09:19:36+08:00 2024-09-11T09:19:36+08:00 北海的鱼 https://blog.qsuu.cn 搭建好lsky后在控制面板里可以看到接口页面,里面包含了api的各种使用方法。
和最为关键的接口URL——https://example.com/api/v1,那么如何更快更方便的获取token呢?
用curl命令获取token,命令如下:

curl -X POST https://example.com/api/v1/tokens \
-H "Content-Type: application/json" \
-d '{
  "email": "your_email@example.com",
  "password": "your_password"
}'

Test
以上接口要换成你自己的,下面是账户和密码都需要填上,然后整个复制到服务器命令,请求一下就出来了。

]]>
<![CDATA[甲骨文vps ubuntu开放所有端口]]> https://blog.qsuu.cn/archives/66.html 2024-08-23T10:58:00+08:00 2024-08-23T10:58:00+08:00 北海的鱼 https://blog.qsuu.cn 前提

在甲骨文的后台先开放所有的端口

1.切换到root用户

sudo -i

2.开放所有端口

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

3.Oracle自带的Ubuntu镜像默认设置了Iptable规则,关闭它

apt-get purge netfilter-persistent
reboot

4.强制删除规则

rm -rf /etc/iptables && reboot

5.删除oracle-cloud-agent,防止甲骨文监控

snap remove oracle-cloud-agent
]]>
<![CDATA[Oracle Cloud甲骨文云防火墙设置]]> https://blog.qsuu.cn/archives/64.html 2024-08-01T17:03:43+08:00 2024-08-01T17:03:43+08:00 北海的鱼 https://blog.qsuu.cn 申请了免费的服务器,却不会配置?
来看看这篇文章吧!Oracle Cloud甲骨文VPS在创建vps后某些服务要对防火墙进行放行设置。

甲骨文后台配置

点击Instances,查看实例详情,进入【虚拟云网络】
Test
Test
然后点击子网中的数据
Test
再点安全列表中的数据
Test
入站规则,可见仅开放了22端口!ICMP 也是关闭的(禁ping)!
Test
编辑第一条数据。将目的地端口范围里的数据清空!保存即可!!
Test
或者直接开放所有协议!!!
Test

SSH里配置

关闭防火墙

关闭iptabls 或者 firewalld !建议单独开放自己需要的端口。

# 停止firewall
systemctl stop firewalld.service

# 禁止firewall开机启动
systemctl disable firewalld.service

# 关闭iptables
service iptables stop

# 去掉iptables开机启动
chkconfig iptables off

单独开放端口

不推荐直接关闭防火墙和开放所有端口
放行8888端口命令:iptables -I INPUT -p 协议 -m 协议 –dport 端口 -j ACCEPT

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

开放所有端口

可以一条一条的命令

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

关闭Iptable规则

Oracle自带的Ubuntu镜像默认设置了Iptable规则,关闭它。

apt-get purge netfilter-persistent

开启:

apt-get install netfilter-persistent

然后重启:

reboot

强制删除

rm -rf /etc/iptables && reboot

查看规则是否生效,命令:

iptables -L

备注:
关闭所有端口
关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。
下面是命令实现:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

再用命令iptables -L -n查看 是否设置好, 好看到全部DROP了。

删除规则
首先我们要知道 这条规则的编号,每条规则都有一个编号。通过iptables -L -n --line-number可以显示规则和相对应的编号。
num target prot opt source destination
1 DROP tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
2 DROP tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
3 DROP tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
多了 num 这一列, 这样我们就可以看到刚才的规则对应的是编号2,那么我们就可以进行删除了。

iptables -D INPUT 2

删除INPUT链编号为2的规则。
再iptables -L -n查看一下,发现规则已经被清除了。

]]>
<![CDATA[如何快速部署一个属于自己的GPT网站]]> https://blog.qsuu.cn/archives/56.html 2024-06-14T11:33:00+08:00 2024-06-14T11:33:00+08:00 北海的鱼 https://blog.qsuu.cn 如何快速部署一个属于自己的GPT网站?之前写过一篇,但是教程图片没了,重新写一下吧!
ChatGPT-Next-Web应该很多人听说过这个,开源作品,免费更新,目前71.6k stars,主要是不需要服务器,不需要域名,开袋即食!
Test
首先进入github源码地址: https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web ,进去往下滑,点击Deploy,使用github账号快捷登录,当然你有其他账号也可以用。
Test
Test
登录好以后就是以下界面,然后点击Create,如果名称不对,就改成纯数字也行。
Test
Test
然后下面1是你的GPT的apikey,可填可不填,如果你填上那么后面网站部署好就能直接用,如果没有设置密码,任何人打开都能直接用,如果不填后面部署好,可以再设置里面填写即可。
2就是设置使用密码,假如上面第一步你填了你的api,又不想让别人用,那么可以设置这个密码,即便网站泄露也得需要密码才能使用,第一步没填api就无所谓了。
第一第二又是必填,不然不能部署,所以不填api就随便填就行,然后点击下面部署,等待部署。
Test
Test
部署完以后,点击左上角你的账号那里来到首页,点击你刚才创建好的项目,箭头所指Domains下面就是你的临时域名,这个域名需要用上魔法才能打开,不然打不开。
Test
Test
如果想要不用魔法就能打开网页,就得需要自己注册域名,腾讯,阿里等都行。我这里就是用自己的域名演示。点击右上角Domains---输入域名---点击Add---选第三个,然后点击Add。
Test
Test
Test
完事以后要把你的域名解析到cname.vercel-dns.com.地址,不会的可以百度或者看我下一篇教程吧。
Test
解析完以后就是这个状态,点击域名就能访问,到此网站就部署成功了。
Test
Test
成功以后点击右下角设置,找到自定义接口,默认接口是官方接口,只需要填写自己的key就行,下面是选择想使用的模型。
如果不想使用官方接口,就把接口换成第三方的填上,key也是第三方的key,适合使用转发的api!
Test
Test
以上就是ChatGPT-Next-Web基本部署教程,其他的自己摸索吧!

]]>