分享一个在老毛子固件 Pandava 守护进程运行 frpc 的脚本 / 斐讯 K2P 路由器 作者: Shine 时间: 2025-10-17 分类: Linux 评论 分享一个在老毛子固件 Pandava 守护进程运行 frpc 的脚本,比如我的斐讯 K2P 路由器,是没有富裕的闪存空间存放二进制文件,所以必须在路由器启动的时候放置在内存缓存空间中 ## 使用方法 1. 放置脚本,你可以放置在 `/etc/storage/frpc.sh` 这里 2. 修改脚本内容 3. 完善脚本里的环境变量 * `FRPC_URL` - frpc 的下载链接,我是建议你把这个文件放到你自己的服务器(或对象存储)上。 * `FRPC_CONFIG` - frpc 的配置文件路径,配置文件必须放在 `/etc/storage` 目录下 4. 基于执行权限 `chmod +x /etc/storage/frpc/sh` 5. 非常重要的一个步骤,必须执行 `/sbin/mtd_storage.sh save` 保存命令,否则重启后文件就会消失 🫠 6. 配置 `crontab`,可以设置如定时 5 分钟运行一次这个脚本(实现守护进程) 1. 执行 `crontab -e` 编辑计划任务 2. 按下 `i` 键进入编辑模式 3. 粘贴这个内容 `*/5 * * * * /etc/storage/frpc.sh` 4. 按下 `ESC` 键,然后输入 `:wq` 保存文件并退出 7. 配置自定义启动脚本,进入路由器管理后台 `高级设置 -> 自定义设置 -> 脚本 -> 在路由器启动后执行` 1. 在最后一行写入命令 `/etc/storage/frpc.sh > /dev/null 2>&1` 2. 然后保存即可 脚本内容如下: ```shell #!/bin/sh # 文件名:/etc/storage/frpc.sh # 功能: # 1. 检查 frpc 是否已运行,若已运行则退出 # 2. 若不存在 frpc 文件则下载 # 3. 使用 nohup 后台运行,不输出日志 APP_DIR="/opt/app" FRPC_FILE="$APP_DIR/frpc" FRPC_URL="https://example.com/请换成/真是的/下载地址链接/v0.65.0-frpc_linux_mipsle" FRPC_CONFIG="/etc/storage/frpc.toml" # 检查是否已经运行 if ps | grep -v grep | grep -q "$FRPC_FILE"; then echo "frpc already running." exit 0 fi # 创建目录 [ ! -d "$APP_DIR" ] && mkdir -p "$APP_DIR" # 检查文件是否存在,否则下载 if [ ! -f "$FRPC_FILE" ]; then echo "Downloading frpc..." wget -O "$FRPC_FILE" "$FRPC_URL" chmod +x "$FRPC_FILE" fi # 检查文件是否可执行 if [ ! -x "$FRPC_FILE" ]; then echo "frpc file is not executable. Exit." exit 1 fi # 测试是否能运行(防止架构不匹配) "$FRPC_FILE" --version >/dev/null 2>&1 if [ $? -ne 0 ]; then echo "frpc cannot run properly (maybe wrong architecture). Exit." exit 1 fi # 启动 frpc(后台运行,不输出日志) echo "Starting frpc..." nohup "$FRPC_FILE" -c "$FRPC_CONFIG" >/dev/null 2>&1 & ``` 该脚本的主要作用如下: 1. 使用 `ps` 命令检查是否有 frpc 进程运行,如果有则退出; 2. 判断是否存在程序运行目录,如果没有则创建; 3. 判断是否存在 `frpc` 文件,如果没有则下载(注意,建议将这个文件保存到你的服务器、对象存储上); 1. 然后赋予可执行权限 4. 检查下载的 `frpc` 文件是否可以运行,不可运行则退出; 5. 测试 `frpc` 是否真的能运行,不可运行则退出 6. 使用 `nohup` 后台运行 `frpc` 命令
使用 Cyberduck 替代 Transmit 连接 Cloudflare R2 (兼容 S3 协议) 作者: Shine 时间: 2025-09-11 分类: 软件,其他分类 评论 Cyberduck 官网:https://cyberduck.io/ > Cyberduck 是一款适用于 Mac 和 Windows 的自由服务器和云存储浏览器,支持 FTP、SFTP、WebDAV、Amazon S3、OpenStack Swift、Backblaze B2、Microsoft Azure 和 OneDrive、Google Drive 以及 Dropbox。  1. 服务商选择“Amazon S3” 2. 重点是需要输入**路径**,路径是你在 Cloudflare R2 创建存储桶时的名字  然后就可以愉快的连接上啦~
macOS 微信/WeChat Clash 规则 作者: Shine 时间: 2025-09-11 分类: 神奇技巧 评论 备忘一下 ```yaml rules: - DOMAIN-SUFFIX,4.ipxy.cc,Proxy - PROCESS-NAME,WeChat,Proxy - PROCESS-NAME,WeChatAppEx Helper,Proxy ```
基于 SSH 跳板的多协议代理服务配置(GOST) 作者: Shine 时间: 2025-08-06 分类: 神奇技巧 评论 本配置通过 [`gost`](https://github.com/go-gost/gost) 搭建一个代理服务,使用 **SSH 服务器作为跳板**,在本地提供 **SOCKS5 / HTTP 自动识别代理接口**。 适用于: - 局域网代理出口(走内网/专线 SSH 隧道) - 内网穿透访问远程服务器 - 将公司服务器作为中转跳板代理上网 --- ## 🧭 总览 - **代理入口**:本地监听端口 `31080` - **代理协议**:自动识别(SOCKS5、HTTP、HTTPS CONNECT) - **跳板方式**:通过 SSH 登录远程服务器 `10.10.1.2:22` - **认证方式**:SSH 用户名 + 密码(也可替换为私钥) ## 服务定义 ```yaml services: - name: service-alibaba-cloud-proxy addr: ":1080" handler: type: auto chain: chain-alibaba-cloud-dev listener: type: tcp ``` * `name`: 服务名称(可选) * `addr`: 本地监听地址和端口,`:1080` 表示监听所有 IP 的 1080 端口 * `handler.type: auto`: 自动识别代理协议(SOCKS5、HTTP、tunnel 等) * `handler.chain`: 指定使用的代理链 * `listener.type: tcp`: 使用 TCP 监听 --- ## 代理链定义 ```yaml chains: - name: chain-alibaba-cloud-dev hops: - name: hop-alibaba-cloud-dev nodes: - name: node-alibaba-cloud-dev # SSH Server addr: 10.10.1.2:22 connector: type: sshd dialer: type: sshd auth: username: root password: "example.password" ``` ### 说明: * `chain-alibaba-cloud-dev`: 代理链名称 * `hops`: 跳板链路(支持多跳) * `addr`: SSH 服务器地址及端口(默认 22) * `connector`: 建立连接使用 SSH * `dialer`: 转发请求也使用 SSH * `auth`: SSH 登录认证信息(用户名/密码) --- ## 使用方式 1. 启动 gost: ```bash gost -C gost.yaml ``` 2. 设置系统或浏览器代理为: ``` socks5://127.0.0.1:1080 ``` 或 HTTP: ``` http://127.0.0.1:1080 ``` 3. 测试: ```bash curl --socks5 127.0.0.1:1080 https://ipinfo.io ``` --- ## 安全建议 * 避免明文存储密码(可使用环境变量或加密配置方式) * 生产环境建议使用 SSH 私钥认证 * 加防火墙限制,仅允许可信 IP 使用此代理端口 --- ## 参考 * GOST GitHub: [https://github.com/go-gost/gost](https://github.com/go-gost/gost) * 支持协议文档: [https://gost.run](https://gost.run)
Tailscale 子网路由轻松上手:打造无缝网络连接 作者: Shine 时间: 2025-07-28 分类: Linux 评论 今天我们来聊聊如何使用 Tailscale 的 `--advertise-routes=192.168.15.0/24,192.168.40.0/24` 参数来配置子网路由,以及客户端该如何使用它。 ## 什么是 Tailscale 和子网路由? Tailscale 是一个基于 WireGuard 的 VPN 工具,它能让你轻松构建一个安全的私有网络(Tailnet),让不同地点的设备像在同一个局域网里一样互相访问。而子网路由(Subnet Router)是 Tailscale 的一个强大功能,允许你将本地网络的子网(如家里的局域网)“分享”给 Tailnet 里的其他设备,即使这些设备不在同一个物理网络中。 通过设置 `--advertise-routes=192.168.15.0/24,192.168.40.0/24`,你可以让 Tailscale 把这两个子网的流量路由到你的 Tailnet,远程设备就能访问这些子网里的资源,比如 NAS、打印机或者其他服务。听起来是不是很酷?让我们一起来配置吧! ## 前提准备 在开始之前,确保你已经: 1. **注册了 Tailscale 账户**:访问 [Tailscale 官网](https://tailscale.com/) 注册并登录。 2. **安装了 Tailscale 客户端**:在需要配置子网路由的设备(如你的家用服务器或路由器)以及其他客户端设备(如手机、笔记本电脑)上安装 Tailscale。 3. **有管理权限**:确保你有权限在 Tailscale 管理控制台(Admin Console)中操作。 4. **了解你的网络**:确认你要分享的子网地址,比如这里我们用的是 `192.168.15.0/24` 和 `192.168.40.0/24`。 准备好了吗?让我们开始动手! ## 配置子网路由 假设你有一台 Linux 服务器(也可以是 Windows 或 macOS,但我们以 Linux 为例),它连接着你家里的局域网,里面有设备运行在 `192.168.15.0/24` 和 `192.168.40.0/24` 两个子网上。我们要把这台服务器设置为子网路由器,让 Tailnet 里的其他设备可以访问这些子网。 ### 步骤 1:启用 IP 转发 Tailscale 的子网路由需要设备支持 IP 转发。Linux 系统上,我们需要做一些简单的配置: ```bash # 启用 IPv4 转发 echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf # 如果需要支持 IPv6(本例中我们只用 IPv4,可以跳过) echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf # 应用配置 sudo sysctl -p /etc/sysctl.d/99-tailscale.conf ``` 这些命令确保你的服务器可以转发网络流量。如果你的系统没有 `/etc/sysctl.d` 目录,可以直接写入 `/etc/sysctl.conf`。 ### 步骤 2:设置子网路由 接下来,我们在这台服务器上运行 Tailscale 的命令,告诉它要分享哪些子网: ```bash sudo tailscale up --advertise-routes=192.168.15.0/24,192.168.40.0/24 ``` 这条命令做了什么? - `--advertise-routes` 参数告诉 Tailscale 这台设备要“广播”两个子网:`192.168.15.0/24` 和 `192.168.40.0/24`。 - 如果你的设备已经通过 `tailscale up` 登录过,可以用 `tailscale set` 更新路由: ```bash sudo tailscale set --advertise-routes=192.168.15.0/24,192.168.40.0/24 ``` ### 步骤 3:批准子网路由 设置好路由后,你需要到 Tailscale 的管理控制台([login.tailscale.com](https://login.tailscale.com))批准这些路由: 1. 登录 Tailscale 管理控制台,进入 **Machines** 页面。 2. 找到刚刚配置的服务器(会有一个 “Subnets” 标签)。 3. 点击右侧的菜单(三个点),选择 **Edit route settings**。 4. 勾选 `192.168.15.0/24` 和 `192.168.40.0/24`,然后点击 **Save**。 如果你的 Tailnet 配置了 `autoApprovers`,这一步可以自动完成,无需手动批准。想了解更多,可以参考 [Tailscale 文档](https://tailscale.com/kb/1019/subnets/)。[](https://tailscale.com/kb/1019/subnets) ### 步骤 4:验证子网路由 配置完成后,验证一下路由是否生效: 1. 在服务器上运行: ```bash tailscale status ``` 确认设备在线,并且可以看到 Tailscale 的 IP 地址(通常是 `100.x.x.x` 格式)。 2. 从另一台 Tailnet 设备(比如你的笔记本电脑)尝试 ping 子网内的设备: ```bash ping 192.168.15.1 ``` 如果能收到回复,说明子网路由已经工作啦! ## 客户端如何使用 现在,你的子网路由已经配置好,Tailnet 里的其他设备该怎么访问这些子网呢?很简单! ### 客户端配置 1. **确保客户端已连接 Tailnet**: 在你的手机、笔记本电脑或其他设备上,运行 Tailscale 客户端并登录。可以用以下命令检查: ```bash tailscale status ``` 2. **启用子网路由**: - 在 **Linux** 上,默认不自动接受子网路由,需要运行: ```bash tailscale up --accept-routes ``` - 在 **Windows** 和 **macOS** 上,子网路由默认启用,无需额外配置。 - 在 **Android** 或 **iOS** 上,打开 Tailscale 应用,进入设置,启用 “Use Tailscale subnets” 选项。[](https://superuser.com/questions/1889154/why-am-i-unable-to-use-local-ip-with-tailscale-subnet-router) 3. **访问子网资源**: 现在,你可以直接用 IP 地址访问子网内的设备,比如: - 访问 `192.168.15.10` 上的 Web 服务:打开浏览器,输入 `http://192.168.15.10`。 - SSH 到 `192.168.40.5`:运行 `ssh user@192.168.40.5`。 ### 小贴士 - **DNS 配置**:如果你的子网设备使用的是本地 DNS(比如 Pi-hole),你可能需要在 Tailscale 管理控制台的 **DNS** 页面添加本地 DNS 服务器的 Tailscale IP,并启用 “Override local DNS” 选项,确保 DNS 查询走 Tailnet。[](https://fullmetalbrackets.com/blog/comprehensive-guide-tailscale-securely-access-home-network/) - **性能注意事项**:Windows 的子网路由性能可能不如 Linux,因为它使用的是用户空间网络栈。如果需要高性能,推荐用 Linux 设备作为子网路由器。[](https://www.reddit.com/r/Tailscale/comments/vqdgfy/here_is_the_howtoconfigure_tailscale_subnet/) - **防火墙**:确保子网路由器的防火墙允许转发流量。如果使用 `firewalld`,可以运行: ```bash sudo firewall-cmd --add-masquerade --permanent sudo firewall-cmd --reload ``` ## 遇到问题怎么办? 配置过程中可能会遇到一些小问题,别慌!这里是几个常见问题和解决办法: - **无法 ping 子网设备**:检查子网路由器是否在线,路由是否在管理控制台被批准,还要确认目标设备的防火墙没有阻止 Tailscale 的流量。 - **DNS 解析失败**:确保 Tailscale 的 DNS 设置正确,或者尝试直接用 IP 地址访问。 - **路由冲突**:如果你的本地网络和 Tailnet 有重叠的 IP 范围,可以调整 `--advertise-routes` 为更具体的子网(如从 `/24` 改为 `/25`)来避免冲突。[](https://tailscale.com/kb/1023/troubleshooting) 如果还有其他问题,可以去 [Tailscale 社区](https://tailscale.com/contact/support) 或 Reddit 的 r/Tailscale 寻求帮助,那里有很多热心的用户和专家。[](https://www.reddit.com/r/Tailscale/comments/vqdgfy/here_is_the_howtoconfigure_tailscale_subnet/) ## 总结 通过 Tailscale 的 `--advertise-routes=192.168.15.0/24,192.168.40.0/24` 参数,你可以轻松把家里的子网分享到 Tailnet,让远程设备无缝访问本地资源。整个过程就像搭积木一样:启用 IP 转发、设置路由、批准路由、客户端启用子网访问,简单几步就搞定! 希望这篇教程能帮到你!如果你有任何问题,或者想分享你的 Tailscale 使用心得,欢迎在评论区告诉我。让我们一起探索 Tailscale 的更多可能性,打造一个超级便捷的私有网络吧!🚀