2024年3月28日星期四

OpenResty/Nginx设置TCP/UDP端口转发

TCP/UDP端口转发配置示例:
~/nginx.conf文件末尾添加配置代码:


stream {
include /etc/nginx/conf.d/*.stream;
}

或

stream {
include /usr/local/openresty/nginx/conf/conf.d/*.stream;
}

conf.d目录下,添加*.stream后缀的配置文件,并编辑配置:

tcp.stream 文件:
#同时监听ipv4及ipv6的88端口并转发到本地localhost的80端口
server {
listen 88;
listen [::]:88;
proxy_connect_timeout 5s;
proxy_timeout 20s;
proxy_pass localhost:80;
}
#将udp 53端口转发到192.168.1.23 53端口
server {
listen 88 udp reuseport;
listen [::]:88 udp reuseport;
proxy_timeout 20s;
proxy_pass localhost:80;
}


2024年3月14日星期四

使用ddns-go配置DDNS

ddns-go

自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。

系统中使用

  • 从 Releases 下载并解压 ddns-go

  • 安装服务

    • Mac/Linux: sudo ./ddns-go -s install
    • Win(以管理员打开cmd): .\ddns-go.exe -s install
    • (默认配置保存在C:\Users\当前用户)
    • 指定配置文件路径示例命令:

      .\ddns-go.exe -s install -c "%HOMEPATH%\AppData\Local\ddns-go\.ddns_go_config.yaml"

      .\ddns-go.exe -s install -c "%PROGRAMFILES%\ddns-go\ddns_go_config.yaml"
  • [可选] 服务卸载

    • Mac/Linux: sudo ./ddns-go -s uninstall
    • Win(以管理员打开cmd): .\ddns-go.exe -s uninstall
  • [可选] 支持安装带参数

    • -l 监听地址
    • -f 同步间隔时间(秒)
    • -cacheTimes 间隔N次与服务商比对
    • -c 自定义配置文件路径
    • -noweb 不启动web服务
    • -skipVerify 跳过证书验证
    • -dns 自定义 DNS 服务器
  • [可选] 参考示例

    • 10分钟同步一次, 并指定了配置文件地址
      ./ddns-go -s install -f 600 -c /Users/name/.ddns_go_config.yaml
    • 每 10 秒检查一次本地 IP 变化, 每 30 分钟对比一下 IP 变化, 实现 IP 变化即时触发更新且不会被服务商限流, 如果使用接口获取IP, 需要注意接口限流
      ./ddns-go -s install -f 10 -cacheTimes 180

Docker中使用

  • 挂载主机目录, 使用docker host模式。可把 /opt/ddns-go 替换为你主机任意目录, 配置文件为隐藏文件

    docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
  • 在浏览器中打开http://主机IP:9876,并修改你的配置

  • [可选] 使用 ghcr.io 镜像

    docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root ghcr.io/jeessy2/ddns-go
  • [可选] 支持启动带参数 -l监听地址 -f间隔时间(秒)

    docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go -l :9877 -f 600
  • [可选] 不使用docker host模式

    docker run -d --name ddns-go --restart=always -p 9876:9876 -v /opt/ddns-go:/root jeessy/ddns-go

使用IPv6

  • 前提:你的电脑或终端能正常获取IPv6,并能正常访问IPv6
  • Windows/Mac:推荐 系统中使用,Windows/Mac桌面版的docker不支持--net=host
  • docker使用与 Docker Host 相同的网络,高级设置中勾选启动自动重新启动
  • Linux的x86或arm架构,推荐使用Docker的--net=host模式。参考 Docker中使用

2024年1月22日星期一

使用 Docker 部署 Memos 的综合指南

在继续安装 Memos 之前,请确保满足以下先决条件:

  • 安装了 Docker 的服务器:Memos 被设计为使用 Docker 进行自托管。

Docker 运行

要使用 设置备忘录,请执行以下命令以启动备忘录:docker run

docker run -d \
--init \
--name memos \
--publish 5230:5230 \
--volume ~/.memos/:/var/opt/memos \
neosmemo/memos:stable

此命令将在后台启动 Memos,将其暴露在端口上。数据将存储在目录中。您可以根据需要自定义端口和数据目录路径。5230``~/.memos/

参数选项

  • 模式(-m、–mode):

    • 值:“prod”或“dev”

    • 默认值:“prod”

    • 用途:设置服务器的模式,影响其运行时行为。选项包括生产(“prod”)、开发(“dev”)。

  • 地址 (-a, –addr):

    • 值:表示服务器地址的字符串。

    • 默认值:空字符串。

    • 用途:指定服务器侦听传入连接的地址。

  • 端口(-p、–port):

    • 值:表示服务器端口的整数。

    • 默认值:8081。

    • 用途:设置可访问服务器的端口。

  • 数据 (-d, –data):

    • 值:表示数据目录的字符串。

    • 默认值:空字符串。

    • 用途:指定备忘录将存储其数据的目录。

  • 驱动程序 (–driver):

    • 值:表示数据库驱动程序的字符串。我们目前支持“sqlite”和“mysql”。

    • 默认值:“sqlite”

    • 用途:设置备忘录要使用的数据库驱动程序。

  • DSN (–DSN):

    • 值:表示数据库源名称的字符串。仅在使用 MySQL 驱动程序时适用。

    • 默认值:空字符串。

    • 用途:指定用于连接到数据库的数据库源名称 (DSN)。

  • 指标 (–metric):

    • 值:布尔值 (true/false)。

    • 默认值:true。

    • 用途:启用或禁用指标收集。启用后,“备忘录”会收集指标进行分析。

Docker Compose的

要使用 部署备忘录,请使用以下配置创建文件:docker compose``docker-compose.yml

version: "3.0"
services:
memos:
image: neosmemo/memos:stable
container_name: memos
volumes:
- ~/.memos/:/var/opt/memos
ports:
- 5230:5230

现在,执行以启动备忘录。虽然可以编辑端口和数据目录,但只需修改第一个端口(例如,)以指定备用端口。第二个端口指定 Memos 在容器内侦听的端口。同样的原则也适用于目录路径,其中第一个路径表示主机系统上的位置,第二个路径表示容器内的目录。docker-compose up -d``8081:5230

升级备忘录

若要将备忘录升级到最新版本,请执行以下步骤:

  1. 首先,停止并移除旧容器:

    docker stop memos && docker rm memos
  2. 尽管是可选的,但建议备份数据库:

    cp -r ~/.memos/memos_prod.db ~/.memos/memos_prod.db.bak
  3. 接下来,拉取最新的备忘录图像:
    官网链接docker-Memos

    docker pull neosmemo/memos:stable
  4. 最后,按照 Docker 运行 部分中概述的步骤启动备忘录。升级后的备忘录实例现在将启动并运行最新的增强功能和功能。

面板运行:

  1. -本机目录 :/opt/apps/memos/ -权限:读写 -容器目录 : /var/opt/memos

  2. Entrypoint命令: ‘./memos’

  3. 镜像版本:neosmemo/memos:stable

2024年1月21日星期日

鲸鱼盒子安装armbian系统记录

 1.下载armbian镜像(有5.15、6.1、6.6版本linux内核可选)

https://github.com/ophub/amlogic-s9xxx-armbian/releases

s905x3,选择选x88pro版本对应的系统,如Armbian_xx.x.x_amlogic_s905x3-x88-pro-x3_xxxxxxxx_x.x.xx_server_202x.xx.xx.img.gz。

2.镜像写入U盘

使用USB Image Tool把下载回来并解压缩的img镜像写入U盘(Restore),该步骤会清空U盘内容,请注意。

其他类似专们写镜像的工具都可以用。

更改 uEnv.txt,dtb指向/dtb/amlogic/meson-sm1-x96-max-plus.dtb

使用TF卡引导或把U盘插到蓝色3.0接口那个U口按住鲸鱼头背面那个圆点(用曲别针或牙签戳住),上电,再松开。

盒子启动后,重启后MAC可能会发生改变,可使用ping 盒子ip -t 命令跟踪启动情况

启动后使用Putty以ssh方式登录终端,初始内置账户root、密码1234。

3.把armbian写入到鲸鱼盒子主板的emmc里使用 armbian-install 命令,模型选择525 对应whale。

4.写入完成后执行 poweroff 关闭电源后拔出TF卡重新上电。

5.LED灯控制。

whale.conf,序号23: 678294e

直接同步脚本即可使用:

# 先同步脚本

armbian-sync

# 在终端执行以下命令启用 openvfd 服务,小鲸鱼盒子是23

sed -i 's|^#*openvfd_enable=.*|openvfd_enable="yes"|g' /etc/custom_service/start_service.sh

sed -i 's|^#*openvfd_boxid=.*|openvfd_boxid="23"|g' /etc/custom_service/start_service.sh

# 重启

sync && reboot


更新 Armbian 内核

#执行命令后将更新为最新版本。

armbian-update

脚本文件路径

/usr/sbin/armbian-update



-----------------------------------------------------------------------------------------


以下为过期方法,可参考,但由于镜像文件变更,不一定能成功。

 1.下载armbian镜像(有5.15、6.1、6.6版本linux内核可选)

https://github.com/ophub/amlogic-s9xxx-armbian/releases

s905x3,选择选x88pro版本对应的系统,如Armbian_xx.x.x_amlogic_s905x3-x88-pro-x3_xxxxxxxx_x.x.xx_server_202x.xx.xx.img.gz。

2.镜像写入U盘

使用USB Image Tool把下载回来并解压缩的img镜像写入U盘(Restore),该步骤会清空U盘内容,请注意。

其他类似专们写镜像的工具都可以用,我是习惯用USB Image Tool了。

下载专用dtb(登录后可下载)蓝奏云 解压并重命名dtb文件为 meson-sm1-x96-max-plus.dtb ,

替换原路径/dtb/amlogic/meson-sm1-x96-max-plus.dtb文件

更改 uEnv.txt,指向该 dtb

把U盘插到蓝色3.0接口那个U口或使用TF卡引导,按住鲸鱼头背面那个圆点(用曲别针或牙签戳住),上电,再松开。

盒子启动后,重启后MAC可能会发生改变,使用ping 盒子ip -t 命令 跟踪启动情况

使用Putty以ssh方式登录终端,初始内置账户root、密码1234。

3.把armbian写入到鲸鱼盒子主板的emmc里

主要参考:https://www.right.com.cn/forum/thread-8289728-1-1.html

6.x.x以上内核,使用 armbian-install -m yes -a yes

据说5.15内核用armbian-install即可。6以上版本该命令安装后黑屏。

需要选择机型,不知道选哪个好,输入502(对应X96-Max+_1GB meson-sm1-x96-max-plus.dtb) ♦️ (dtb 可用meson-sm1-x88-pro-x3.dtb 但模型只能选502 X96-Max+_1GB,否则会覆写系统引导分区)

安装后请用poweroff关机,拔掉U盘,拔掉电源,再连接电源开机。

开机后IP会改变,注意分辨。

开机后用内置账户root、1234登录。

4.配置无线

配置wifi,用armbian-config命令,连接好wifi(有线网络似乎不能直接使用,懒得改)

5.安装软件

增加一个普通用户adduser 用户名,会要求输入密码。

之后使用armbian-software就能看到很多可用的安装包

我想体验桌面环境,就输入201进行安装。

安装后问要不要中文支持,当然要了。

然后问需要哪个用户来登录桌面,就输入之前新增的普通用户名。

按提示重启,就可以看到GUI界面了。

体验一下,感觉还可以,显示驱动有点问题,光标、界面有时候会闪。

还是command line比较实用,小马没法拉大车,图形界面下4G内存用近3G,发热还可以,空载50度左右。

之后还可以apt-get update升级软件包。

也可以进入图形化软件商店下一些特定软件。

已知问题:因为型号不对应,所以网卡不启动(可硬改)、蓝牙不驱动、前面板不显示……




参考:

安装homeassistant https://blog.csdn.net/weixin_53928448/article/details/127202419

增加用户https://blog.csdn.net/u013541325/article/details/128521356

刷机https://www.bilibili.com/read/cv26496453/

前面板相关https://www.znds.com/tv-1233520-1-1.html

封面图自己懒得拍,为互联网搜索得到,感谢!

https://blog.csdn.net/qq_36005253/article/details/130562874

可以从U盘启动armbian但不能写入emmc(以江苏移动E900V22D为例) 编译与反编译DTB

1.安装依赖
sudo apt-get update
sudo apt-get install -y device-tree-compiler

2.反编译命令(使用 dtb 文件生成 dts 源码)
cd /boot/dtb/amlogic/
dtc -I dtb -O dts -o meson-g12a-s905l3a-e900v22c.dts meson-g12a-s905l3a-e900v22c.dtb

3.打开转换成功的meson-g12a-s905l3a-e900v22c.dts搜索max-frequency找到mmc开头的把默认值改为0x5f5e100

注:位于 mmc@ffe07000 { 段下

4.编译命令(使用 dts 编译生成 dtb 文件)
dtc -I dts -O dtb -o meson-g12a-s905l3a-e900v22c.dtb meson-g12a-s905l3a-e900v22c.dts

5.写入emmc
armbian-install -a yes