Total Pageviews

Saturday, 22 August 2026

利用openrung翻墙

 下载客户端程序:

https://github.com/openrung/openrung/releases/download/v0.1.3/OpenRung-windows-amd64.zip

from  https://openrung.org/#download

(工作原理: https://openrung.org/#how)

项目地址: https://github.com/openrung/openrung

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

使用说明:

 下载客户端程序-

https://github.com/openrung/openrung/releases/download/v0.1.3/OpenRung-windows-amd64.zip

解压,运行openrung.exe ,程序窗口里会显示一幅世界地图,点击某个节点城市名称,然后

点击程序窗口左下角的connect按钮,等待连接成功。连接成功后,程序就自动设好你的系统代理,你就直接可用chrome/edge浏览器翻墙了。至于火狐浏览器,还要设置一下:

在火狐浏览器的地址栏里,访问 about:preferences#connectionSecurity 

把页面往下拉,拉到proxy settings那里,点击configure proxy .在弹出的窗口中,选择use system proxy settings, 然后点击ok, 火狐浏览器即可翻墙。

开源的自托管的云平台程序patr

 Patr is an incredibly simplified cloud platform that can deploy static sites, web apps, databases, containers and more in seconds. In fact, You can build, deploy and host ANYTHING with a Dockerfile. You also get instant support from our dev team.

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

 

Self-hosted, production-grade DevOps platform

 

Patr

Ask DeepWiki

GitHub top language

Patr is a self-hosted, production-grade DevOps automation platform built for fast-moving teams.

It lets developers deploy and manage services without needing to understand or operate traditional DevOps infrastructure. No Kubernetes expertise required. No bespoke CI/CD glue. No hand-rolled observability stacks.

Patr is designed to feel closer to a control plane than a hosting provider.

⚠️ Early Beta
Patr is still in the early stages of development. APIs and resource models may change.
Not recommended for mission-critical production workloads yet. We would LOVE to have contributors onboard, but please be aware that the project is not yet ready for production use.

Using the CLI

To manage Patr resources from your terminal, install the CLI:

curl -fsSL https://raw.githubusercontent.com/patr-cloud/patr/develop/assets/cli/install.sh | sh

See cli/README.md for channels, upgrade, and uninstall instructions.

Running the project

Nobody reads large text anyway (other than LLMs), so here's a skimmed down version:

Dependencies needed

  • Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Node.js (>=22) and pnpm (the frontend is a SolidJS app)
  • Postgres
  • Redis

Create a config file

Copy ./config/api.sample.json to ./config/api.json and fill in the required fields. You'll primarily need to fill in database and redis fields.

Run the project

cargo api

???

Profit!

You can now access the project at http://localhost:3001.

Features

Patr is built with Rust, Axum, and Postgres. It is designed to be fast, secure, and scalable. Your code can be deployed to any environment from a single dashboard. For example, you can manage your deployments that are running on a VM (say, EC2 instance) as well as your deployments that are running on a Kubernetes cluster, all from a simple, easy-to-use, unified dashboard. Where your code runs is up to you, Patr just helps you manage it. This means that you can also use Patr to manage your deployments on your local machine, if you so desire. A common use-case of having a home-box on a Raspberry Pi, for example, and managing your deployments on it with Patr is supported.

from  https://github.com/patr-cloud/patr

---------

相关帖子:

 https://briteming.blogspot.com/2022/07/coolify-heroku-netlify.html

 https://briteming.blogspot.com/2025/11/vercel-netlify-dokploy.html

LLMinator

 

Gradio based tool to run opensource LLM models directly from Huggingface.

 

LLMinator: Run & Test LLMs directly from HuggingFace

Gradio based tool with integrated chatbot to locally run & test LLMs directly from HuggingFace.

An easy-to-use tool made with Gradio, LangChain, and Torch.

LLMinator chat tab

LLMinator models tab

⚡ Features

  • Context-aware Streaming Chatbot.
  • Inbuilt code syntax highlighting.
  • Load any LLM repo directly from HuggingFace.
  • Supports both CPU & CUDA modes.
  • Enable LLM inference with llama.cpp using llama-cpp-python
  • Convert models(Safetensors, pt to gguf etc)
  • Customize LLM inference parameters(n_gpu_layers, temperature, max_tokens etc)
  • Real-time text generation via websockets, enabling seamless integration with different frontend frameworks.

🚀 Installation

To use LLMinator, follow these simple steps:

Clone the LLMinator repository from GitHub & install requirements

```
git clone https://github.com/Aesthisia/LLMinator.git
cd LLMinator
pip install -r requirements.txt
```

Build LLMinator with llama.cpp:

  • Using make:

    • On Linux or MacOS:

      make
    • On Windows:

      1. Download the latest fortran version of w64devkit.
      2. Extract w64devkit on your pc.
      3. Run w64devkit.exe.
      4. Use the cd command to reach the LLMinator folder.
      5. From here you can run:
        make
  • Using CMake:

    mkdir build
    cd build
    cmake ..

Launch LLMinator on browser

  • Run the LLMinator tool using the command python webui.py.
  • Access the web interface by opening the http://127.0.0.1:7860 in your browser.
  • Start interacting with the chatbot and experimenting with LLMs!

Checkout this youtube video to follow installation steps

Command line arguments

Argument Command Default Description
--host 127.0.0.1 Host or IP address on which the server will listen for incoming connections
--port 7860 Launch gradio with given server port
--share False This generates a public shareable link that you can send to anybody

Connect to WebSocket for generation

Connect to ws://localhost:7861/ for real-time text generation. Submit prompts and receive responses through the websocket connection.

Integration with Frontends:

The provided example/index.html demonstrates basic usage of text generation through websocket connection. You can integrate it with any frontend framework like React.js

Installation and Development Tips

Python Version

  • Compatible Versions: This project is compatible with Python versions 3.8+ to 3.11. Ensure you have one of these versions installed on your system. You can check your Python version by running python --version or python3 --version in your terminal.

Cmake and C Compiler

  • Cmake Dependency: If you plan to build the project using Cmake, make sure you have Cmake installed.
  • C Compiler: Additionally, you'll need a C compiler such as GCC. These are typically included with most Linux distributions. You can check this by running gcc --version in your terminal. Installation instructions for your specific operating system can be found online.

Visual Studio Code

  • Visual Studio Installer: If you're using Visual Studio Code for development, you'll need the C++ development workload installed. You can achieve this through the Visual Studio Installer

GPU Acceleration (CUDA):

  • CUDA Installation: To leverage GPU acceleration, you'll need CUDA installed on your system. Download instructions are available on the NVIDIA website.
  • Torch Compatibility: After installing CUDA, confirm CUDA availability with torch.cuda.is_available(). When using a GPU, ensure you follow the project's specific llama-cpp-python installation configuration for CUDA support.

from  https://github.com/Aesthisia/LLMinator

Friday, 21 August 2026

PI-Desktop


A local-first desktop app for AI coding agents.

Bring your own models. Keep your code, your keys, and your conversations on your machine.

Release CI Platforms

Download · Getting started · Highlights · Screenshots · How it works · Development · 简体中文


PI-Desktop workbench with agent orchestration

What is PI-Desktop?

PI-Desktop puts an AI coding agent in a native desktop app. Point it at a project, describe what you want — explore and understand code, build a feature, review changes, fix a failing test — and watch it work, with every file edit and shell command surfaced for your approval.

There is no account, no subscription, and no cloud in the middle: you connect the model provider you already use, and everything else — sessions, settings, API keys — stays local.

Highlights

  • Any model, your keys. Anthropic, OpenAI, or anything that speaks an OpenAI-compatible API — hosted relays as well as local gateways like Ollama or LM Studio. Model IDs are free-form (no hardcoded allowlist), with per-model context window, output limit, temperature, and thinking-mode controls.
  • Agent, Plan, and Goal modes. Agent mode reads, edits, and runs commands to get things done. Plan has the same agent inspect the project and submit an immutable implementation checkpoint for approval. Goal lets the agent agree on an outcome and acceptance criteria, then continue autonomously after approval.
  • You approve every change. File writes and shell commands ask first, with session-scoped grants and a configurable default policy. Unanswered prompts deny by default.
  • A real workbench. Review the agent's edits as message-scoped diffs with guarded rollback, inspect command output in the transcript, preview a local app in a browser, and browse project files — all in a side panel, without leaving the conversation.
  • Projects and sessions. Sessions are grouped by project in a multi-project sidebar, with pinning, archiving, sorting, branching, notifications, and throwaway scratch sessions.
  • Local-first and private. Transcripts live on disk as plain JSONL with a SQLite index — easy to back up, grep, or delete. API keys go into the OS keychain. Logs stay local; there is no telemetry.
  • Agent capabilities beyond plugins. Manage standalone MCP servers, Skills, and global Subagents from Settings → Agent, with project-scoped Skills and MCP overrides. The Extensions page is reserved for installed plugins and the marketplace. Plugins can add commands, panels, agent tools, skills, themes, MCP servers, resident services, and a message bus; the local/official marketplace and .piplug package workflow are available today.
  • A fast daily workflow. Use slash commands and @ file references, paste files into session scratch, stage the next turn while an answer streams, search plugins globally with Option/Alt+Space, and create manual or recurring task prompts.
  • Comfortable to live in. English and 简体中文, light/dark/system and plugin themes, command palette, onboarding checklist, local notifications, context checkpoints, and update notifications for packaged builds.

Plugin APIs and panels are permission-gated and run out-of-process. Plugin code is still user-trusted code rather than a complete OS sandbox, so review permissions and only install plugins you trust.

A conversation with the minimap rail on the right The plugin marketplace with installable plugins
Every turn in one transcript, with a minimap rail for long conversations Install from the official catalog, a mirror, or a custom URL you configure
The model menu in the top bar Basics — language, theme, and appearance
Switch the model per session — any provider you have configured, keys in the OS keychain Language, theme, and appearance, including themes plugins contribute

See every screen →

Download

Grab the latest build from the Releases page.

Platform Package Status
macOS (Apple Silicon) .dmg / .zip ✅ Published with each release
Windows (x64) NSIS installer ✅ Published with each release; in-app auto-update
Linux (x64) .AppImage / .deb ✅ Published with each release; AppImage auto-updates in-app

macOS note: builds are not yet code-signed or notarized. If macOS refuses to open the app, right-click it and choose Open, or clear the quarantine flag:

xattr -cr /Applications/PI-Desktop.app

Packaged builds check GitHub Releases for new versions and show an in-app update banner.

Getting started

  1. Add a model provider. Open Settings → Model configuration → Add provider: pick the API style, paste the base URL and your API key, then choose or type a model ID. The key is stored in your OS keychain and never shown again.
  2. Open a project. Add a project folder from the sidebar — sessions, tools, and permissions are scoped to it.
  3. Describe the task. Start in Agent mode to make changes, switch to Plan for an approval checkpoint, or use Goal when you want to approve an outcome rather than prescribe the steps. Review work in the Review diff panel before you commit anything.
  4. Extend the workspace when needed. Open Settings → Agent to manage Skills, MCP servers, and global Subagents; open Extensions for installed plugins and the marketplace. Use Settings → Import to bring in local sessions from Claude Code, OpenCode, Codex, or Pi.

How it works

PI-Desktop keeps renderer privileges narrow and separates the agent loop from the desktop UI:

  • Electron shell — a sandboxed React renderer plus the main/preload bridge for desktop-only services such as panels, browser preview, updates, and supervision.
  • Rust host core — owns SQLite, transcript persistence, secrets, permissions, and workspace access over stdio JSON-RPC.
  • pi agent sidecar — a Node process running the pi agent engine (pi-ai + pi-agent-core) for the actual agent loop.

The full picture lives in the architecture spec.

Status & roadmap

PI-Desktop is an early preview under active development. The current 0.5.x line ships the app shell, streaming agent runtime, Agent/Plan/Goal contracts, workspace tools with permissions, the workbench, projects and sessions, imports, agent capability management (MCP/Skills/Subagents), extensions (plugins), context checkpoints, notifications, and cross-platform packaging with update checks.

Still in progress: signed and notarized macOS builds, native Windows/Linux qualification, a stronger plugin sandbox and publisher-signature path, and full UI-driven E2E coverage. See the milestones and the project board.

Development

Prerequisites: Node.js >=22.19, pnpm >=10 (the repository uses pnpm 11), and a stable Rust toolchain.

# build the Rust host core
cargo build -p host-core

# install JS dependencies and build packages + app
pnpm install
pnpm build:js

# run in dev mode
pnpm dev

# protocol e2e smoke test
PI_DESKTOP_TEST_API_KEY=... pnpm test:e2e

# Plan host acceptance (includes the real 60-second default timeout)
PI_DESKTOP_E2E_LONG_TIMEOUT=1 pnpm test:e2e:plan

# rendered English / Simplified Chinese Plan acceptance through Electron CDP
pnpm test:e2e:plan-ui

# focused desktop probes
pnpm test:e2e:boot
pnpm test:e2e:supervision
pnpm test:e2e:subagents

CI runs JS build / typecheck / lint / unit tests plus cargo test for code-related pull requests and pushes to main; documentation-only changes are skipped. Releases are cut by tag:

node scripts/release.mjs 0.2.0 --tag   # bump versions + commit + tag v0.2.0
git push origin main v0.2.0            # Release workflow builds & publishes

Documentation

Open-source acknowledgements

PI-Desktop is built with and informed by these open-source projects:

from  https://github.com/vastsa/PI-Desktop

初秋时节的三首经典诗词

 初秋,说不出有多美好。仅是默念“初秋”两个字,便能感受到一丝丝清凉与心灵的宁静。

林语堂先生曾坦言对初秋的喜爱:“大概我所爱的不是晚秋,是初秋,那是喧气初消,月正圆,蟹正肥,桂花皎洁。”

初秋的美,美在清凉宁静,美在丰盈饱满。当我们踏入初秋,仿佛走进了一幅诗意的画卷。


 01

宋·徐玑《 秋行》

戛戛秋蝉响似筝,听蝉闲傍柳边行。

小溪清水平如镜,一叶飞来浪细生。 


秋蝉的“戛戛”鸣叫声,就像古筝悠扬的旋律,诗人便在这样的音符中,悠闲地在柳树林边漫步。

小溪的水面,平静得仿佛一面未经触摸的镜子,映照着四周的景致。忽然间刮起了一阵风,一片落叶轻轻飘落在水中,泛起了无数细小的涟漪。

徐玑这首《 秋行》,宛如一曲清绝的短笛,吹奏出秋天的韵味。

诗中意境轻快闲适,短短几句,便将秋日风物呈现得栩栩如生,有一种别致的情趣。


02

清·陈文述 《夏日杂诗》

水窗低傍画栏开,枕簟萧疏玉漏催。  

一夜雨声凉到梦,万荷叶上送秋来


秋风轻拂,酷暑退场,清爽宜人的初秋如约而来。

诗人打开窗户,窗户临水敞开。他躺在卧室的竹席上,便能感受到秋天的凉意。荷叶上的雨声送来了秋意,一夜雨声把清凉带入了梦境。梦境犹凉,凉得温柔细腻,凉得体贴入微,凉得惬意舒适。陈文述以其独到的视角,生动地描绘了秋凉的到来,营造了一个清丽而奇趣的意境,令人回味无穷。

元代盍西村在《莲塘雨声》中写道:“忽闻疏雨打新荷,有梦都惊破。”写的是荷上雨声,惊破好梦;而陈文述写的是荷上雨声,为梦送凉,一动一静,各具韵味,堪称妙绝。


03

杨万里《秋凉晚步》

秋气堪悲未必然,轻寒正是可人天。

绿池落尽红蕖却,荷叶犹开最小钱。


自古以来,文人墨客多爱悲叹秋天萧条、凄冷与空旷。

杨万里却认为,秋气轻寒,天高云淡,正是四季之中最宜人的时候。

潋滟池塘里的荷花虽然都落尽了,但无穷碧的荷叶却仍生机盎然,新生的小荷叶只有铜钱大小,异常可爱喜人。

秋,固然带着几分寥落与清冷。但秋也是丰满的,成熟的,金黄的。秋思之不同,实际上是心境之不同。

一如杨万里,在一片秋日的悲凉中,他看到的却不是凄冷,而是新生,是碧绿,是生命的另一种绽放与妩媚。

人生之路,即使挑战重重,境遇多舛,却仍要满怀希望,蓬勃向上。由是,才能迎来自己的柳暗花明,"荷叶新开。”


LibreTTS - 在线文本转语音工具

 

TTS-文本转语音/文本转语音前端,兼容OpenAI、EdgeTTS等接口。


LibreTTS 是一款免费的在线文本转语音工具,支持多种声音选择,可调节语速和语调,提供即时试听和下载功能。

功能特点

  • 🎯 支持超过300种不同语言和口音的声音
  • 🔊 实时预览和试听功能
  • ⚡ 支持长文本自动分段处理
  • 🎛️ 可调节语速和语调
  • 📱 响应式设计,支持移动端
  • 💾 支持音频下载
  • 📝 历史记录功能(最多保存50条)
  • 🔌 支持添加自定义OpenAI格式的TTS API

API 说明

本项目提供以下 API 端点:

Edge API 路径

  • /api/tts - 文本转语音 API

    • 支持 GET/POST 方法
    • GET 示例: /api/tts?t=你好世界&v=zh-CN-XiaoxiaoNeural&r=0&p=0
    • POST 示例: 请求体为JSON格式 {"text": "你好世界", "voice": "zh-CN-XiaoxiaoNeural", "rate": 0, "pitch": 0}
  • /api/voices - 获取可用语音列表 API

    • 仅支持 GET 方法
    • 示例: /api/voices?l=zh&f=1 (l参数用于筛选语言,f参数指定返回格式)

例如:https://libretts.is-an.org/api/tts

自定义 API

LibreTTS 支持添加自定义 API 端点,目前支持两种格式:

OpenAI 格式 API

  • 支持与 OpenAI TTS API 兼容的服务,如 OpenAI、LMStudio、LocalAI 等
  • 请求格式: POST
    {
      "model": "tts-1",
      "input": "您好,这是一段测试文本",
      "voice": "alloy",
      "response_format": "mp3"
    }
  • 可选参数:instructions - 语音风格指导

Edge 格式 API

  • 支持与 Microsoft Edge TTS API 兼容的服务
  • 请求格式: POST
    {
      "text": "您好,这是一段测试文本",
      "voice": "zh-CN-XiaoxiaoNeural",
      "rate": 0,
      "pitch": 0
    }

如何添加自定义 API

  1. 点击界面上的"管理API"按钮

  2. 填写以下信息:

    • API 名称:自定义名称
    • API 端点:语音生成服务地址
    • API 密钥:可选,用于授权
    • 模型列表端点:可选,用于获取可用模型
    • API 格式:选择 OpenAI 或 Edge 格式
    • 手动输入讲述人列表:逗号分隔的讲述人列表
    • 最大文本长度:可选,限制单次请求的文本长度
  3. 点击"获取模型"按钮可自动填充可用讲述人列表

  4. 点击"保存"完成添加

导入/导出 API 配置

  • 导出:将所有自定义 API 配置导出为 JSON 文件
  • 导入:从 JSON 文件导入 API 配置

部署指南

Vercel 部署

  1. Fork 本仓库到你的 GitHub 账号

  2. 登录 Vercel,点击 "New Project"

  3. 导入你 fork 的仓库,并选择默认设置部署即可

  4. 部署完成后,你会获得一个 your-project.vercel.app 的域名

Cloudflare Pages 部署

  1. Fork 本仓库到你的 GitHub 账号

  2. 登录 Cloudflare Dashboard,进入 Pages 页面

  3. 创建新项目,选择从 Git 导入:

    • 选择你 fork 的仓库
    • 构建设置:
      • 构建命令:留空
      • 输出目录:/
      • 环境变量:无需设置
  4. 部署完成后,你会获得一个 xxx.pages.dev 的域名

环境变量

除了原有配置外,现在项目支持设置环境变量 PASSWORD 来开启访问密码验证。如果 PASSWORD 非空,则用户第一次访问页面时会显示密码输入界面,输入正确后在该设备上后续访问将不再需要验证。

from  https://github.com/LibreSpark/LibreTTS

MiSub, 一个聚焦订阅翻墙节点管理、多客户端订阅生成、内置模板输出与转换链路编排的工具



📸 应用截图

登录界面 管理界面
登录界面 管理界面

✨ 功能特性

🎯 核心功能

  • 🗂️ 订阅分组 (Profiles)

    • 自由组合机场订阅和手动节点
    • 为不同场景生成专属订阅链接
    • 支持全选/全不选,操作便捷
    • 自定义分组名称和订阅链接
  • 📦 订阅与节点分离管理

    • 机场订阅和手动节点独立管理
    • 批量导入自动分类
    • 支持拖拽排序
    • 一键按地区自动排序
  • 🧩 统一模板与链式处理

    • 操作符链 (Operator Chain):支持过滤、重命名、脚本、排序与去重的流式管道
    • 统一模板模型输出 Clash、Sing-Box、Surge、Loon、QX
    • 支持按客户端自动适配模板策略
    • 内置 ACL4SSR 风格完整分流模板预设
    • 支持第三方转换后端接入,MiSub 先完成节点预处理再交给外部后端转换
  • 🎨 精致的 UI/UX

    • 明亮/暗黑模式自动切换
    • 磨砂玻璃质感现代化设计
    • 完善的交互提示和加载状态
    • 响应式布局,支持移动端
  • 🌍 公开主页 (Explore)

    • 访客模式:无需登录即可预览公开分享的订阅
    • 管理员分享:精选中转/直连机场订阅
    • 一键复制:访客可直接复制订阅链接
    • 客户端推荐:主流全平台客户端下载指引

🆕 v2.7.0 更新亮点

  • 🚀 订阅生成链路增强

    • 第三方转换后端模式不再依赖外部服务回调 MiSub 节点链接,改为内联发送预处理后的节点
    • 多节点外部转换统一使用 | 分隔,兼容 FatSheep / subconverter 等后端
    • 修复 Clash / Party / Shadowrocket 等客户端导入链路与目标格式识别问题
    • 服务集成 Cron 同时支持兼容链接 /cron?secret=[REDACTED] 与更安全的 Bearer Token Header
  • 🧱 内置模板与规则输出增强

    • 补强 ACL4SSR provider、IP-CIDR provider、远程规则集与 Sing-Box 规则源
    • 新增/优化自定义规则模板与模板变量辅助说明
    • 支持 Hysteria2 realm 等协议细节输出
  • 🧰 节点刷新与缓存稳定性

    • 订阅保存与手动刷新时保留保护性节点缓存,降低临时抓取失败对可用节点的影响
    • 节点更新失败会在 API / UI 中展示更明确的错误结果
    • 空缓存与运行时信息同步逻辑更稳健

🧩 主要能力

  • 📝 订阅备注

    • 为每个订阅添加备注信息
    • 记录官网、价格、到期时间等
    • 在订阅卡片上清晰显示
  • 🌐 自定义 User-Agent

    • 为每个订阅设置独立的 UA
    • 10+ 常用客户端 UA 预设
    • 解决机场 UA 限制问题
  • 🔧 Snell 协议完整支持

    • 支持 Snell v1-v5
    • 完整的参数支持 (reuse/tfo)
    • Surge 配置导入支持
  • 📐 模板输出增强

    • Clash / Sing-Box / iOS 客户端统一走模板主线
    • 支持远程规则集、策略组与地区分组映射
    • 支持内置模板预设与客户端能力兼容表
  • 📊 流量与到期时间显示

    • 订阅卡片显示已用/总流量
    • 到期时间提醒,颜色高亮
    • 自动更新节点数和流量信息

💾 双重存储支持

  • Cloudflare KV 存储

    • 极快的查询速度
    • 适合轻度使用
    • 简单易配置
  • Cloudflare D1 数据库

    • 不受 KV 每日写入次数限制
    • 适合频繁更新
    • 一键数据迁移

🔐 安全与定制

  • 密码保护: 管理界面由自定义密码保护
  • 高度可定制: 自定义输出文件名、模板来源、规则级别等
  • 数据备份: 支持导出/导入备份
  • TG 推送: 支持 Telegram 通知

🌍 多格式支持

支持主流代理客户端和格式:

客户端 格式支持 自动识别
Clash / Clash Meta
Sing-Box
Surge
Shadowrocket
V2rayN / V2rayNG
Quantumult X
Loon

📡 支持的协议

  • Shadowsocks (SS/SS2022)
  • VMess
  • VLESS(Quantumult X v1.5.5+ 支持 TLS / REALITY / XTLS Vision 输出)
  • Trojan
  • Hysteria2 / HY2
  • TUIC
  • Snell
  • WireGuard
  • AnyTLS(Quantumult X v1.6.0+ 支持)
  • HTTPS
  • SOCKS5 / SOCKS5-TLS

📦 内置格式说明

  • clash:兼容性最好,适合主力导出
  • surge:支持规则模板与地区分组
  • loon:支持规则模板与地区分组
  • quanx:支持统一模板输出与基础策略组、规则映射
  • singbox:JSON 输出,支持统一模板模型与路由规则映射
  • base64:兜底格式

🚀 快速开始

前置要求

  • Cloudflare 账号
  • GitHub 账号

一键部署

  1. Fork 本仓库到你的 GitHub 账号
  2. 登录 Cloudflare Dashboard
  3. 进入 Workers & Pages创建应用程序Pages连接到 Git
  4. 选择你 Fork 的仓库
  5. 配置构建设置:
    • 框架预设: Vue
    • 构建命令: npm run build
    • 构建输出目录: dist
  6. 点击 保存并部署

📚 部署指南

1. 绑定 KV 命名空间 (必需)

部署完成后,进入项目设置:

  1. 设置函数KV 命名空间绑定
  2. 点击 添加绑定
  3. 变量名称: MISUB_KV
  4. KV 命名空间: 选择或创建一个 KV 命名空间

2. 绑定 D1 数据库 (可选,推荐)

创建 D1 数据库:

wrangler d1 create misub

绑定数据库:

  1. 设置函数D1 数据库绑定
  2. 点击 添加绑定
  3. 变量名称: MISUB_DB
  4. D1 数据库: 选择刚创建的数据库

初始化表结构:

wrangler d1 execute misub --file=schema.sql --remote

💡 若无法初始化,可在 Cloudflare 控制台手动执行 schema.sql

说明 D1 表结构未更新,请在 D1 控制台执行最新 schema.sql

3. 设置环境变量

设置环境变量 中添加 生产环境 变量:

可选:

变量名 说明 示例
ADMIN_PASSWORD 管理员登录密码 your_secure_password (未设置则默认为 admin)
COOKIE_SECRET Cookie 加密密钥 64位随机字符串 (推荐留空,系统自动生成)

可选(按需设置):

变量名 说明 示例
CORS_ORIGINS 允许跨域访问的来源(逗号分隔),同域可不填 https://example.com,http://localhost:5173
MISUB_PUBLIC_URL 站点对外访问的公开域名,用于生成订阅转换回调地址 https://your-domain.pages.dev
MISUB_CALLBACK_URL 订阅转换回调基础地址(优先级高于 MISUB_PUBLIC_URL),通常保持默认即可 https://your-domain.pages.dev

前端构建变量(可选):

变量名 说明 示例
VITE_ERROR_REPORT_URL 前端错误上报地址,不需要上报可不填 /api/system/error_report

提示:启用错误上报后会发送页面地址与浏览器信息等运行数据,请根据隐私与合规要求进行评估与披露。

4. 重新部署

完成配置后,在 部署 选项卡重新部署项目。


💡 使用说明

登录管理界面

  1. 部署完成后,公开页面默认 不开启(访问域名会显示伪装页)。
  2. 请直接访问 您的域名/login 进入登录页面。
  3. 输入设置的 ADMIN_PASSWORD 即可进入管理后台。
    • 注意:如果未设置 ADMIN_PASSWORD,默认密码为 admin
    • 首次登录:使用默认密码登录后,系统会提示您立即在「设置」->「基础设置」中修改密码。

添加订阅

  1. 点击 新增订阅
  2. 填写订阅名称和链接
  3. (可选) 设置自定义 UA
  4. (可选) 添加备注信息
  5. (可选) 设置操作符链(详情请参考 操作符指南
  6. 保存订阅

创建订阅组

  1. 在右侧面板点击 新增订阅组
  2. 选择要包含的订阅和节点
  3. 设置分组名称
  4. 保存并获取订阅链接

转换链路说明

MiSub 默认使用内置转换器将订阅内容转换为目标格式,并支持按需接入第三方转换后端。

处理顺序统一为:机场订阅 / 手动节点 → MiSub 节点预处理(拉取、解析、过滤、重命名、去重、排序等)→ 内置模板输出或第三方后端转换。

当启用第三方转换后端时,MiSub 会把预处理后的节点以内联方式交给外部后端,避免外部后端再次回调 MiSub 节点链接造成 No nodes were found! 等抓取失败。多节点会使用 | 分隔,以兼容常见 subconverter / FatSheep 后端。

支持的目标格式:

  • clash
  • surge
  • loon
  • quanx
  • singbox
  • base64

内置转换说明:

  • surge 会根据客户端或 URL 参数保留版本感知。
  • singbox 会输出 JSON 配置。
  • 不支持的目标格式会回退为 base64
  • 若在设置或订阅组中启用第三方转换,MiSub 会先完成节点预处理,再将节点交给第三方后端输出目标格式。

远端模板占位符

如果你在 transformConfig 中使用远端模板,可以在模板里放入以下占位符:

  • <%proxies%>: 已渲染的代理块
  • <%rules%>: 规则块
  • <%fileName%>: 输出文件名
  • <%interval%>: 刷新间隔
  • <%managedConfigUrl%>: 模板地址
  • <%targetFormat%>: 目标格式
  • <%nodeCount%>: 节点数量
  • <%regionGroups%>: 地区分组 JSON
  • <%regionGroupNames%>: 地区分组名称列表
  • <%regionGroupCounts%>: 地区分组及数量
  • <%regionGroupList%>: 地区分组清单

示例

proxies:
<%proxies%>

proxy-groups:
  - name: 节点选择
    type: select
    proxies:
      - 自动选择
      - <%regionGroupNames%>

  - name: 自动选择
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: <%interval%>
    proxies:
      - <%regionGroupNames%>

rules:
<%rules%>

数据迁移 (KV → D1)

如果已在使用 KV 存储,想迁移到 D1:

  1. 配置 D1 数据库 (参考部署指南)
  2. 登录管理界面,进入 设置
  3. 点击 迁移数据到 D1 数据库
  4. 确认迁移,等待完成

服务集成 Cron

MiSub 提供 /cron 接口用于外部定时服务触发订阅刷新,适合 Cloudflare Pages 免费版无法直接使用 Cron Trigger 的场景。

  • 兼容链接:在「设置」→「服务集成」复制 /cron?secret=[REDACTED] 链接,可直接配置到 UptimeRobot、Cron-Job.org 等外部监控服务。
  • 推荐方式:如果定时服务支持自定义 Header,建议请求 /cron 并设置 Bearer Token Header,避免密钥出现在 URL、浏览器历史或第三方访问日志中。
  • 安全提示:不要公开分享带 secret 的 Cron 链接;如果怀疑泄露,请在后台重置 Cron 密钥后更新外部定时任务。

🛰️ 代理抓取 (Vercel)

如果由于网络限制导致订阅内容抓取失败,可以额外部署一个用于抓取转发的 Edge Functions 代理:

说明:该代理仅作为可选的辅助抓取组件,不属于 MiSub 主站部署方式。MiSub 主站仍然仅支持部署在 Cloudflare Pages。

📊 存储类型对比

特性 KV 存储 D1 数据库
写入限制 每日写入次数有限 不受 KV 每日写入次数限制
查询速度 极快
适用场景 读多写少 频繁更新
配置复杂度 简单 中等
推荐使用 轻度使用 重度使用

选择建议:

  • 🔰 新用户: 建议直接配置 D1,避免 KV 写入额度限制
  • 📈 现有用户: 遇到限制可使用迁移工具
  • 轻度使用: KV 完全够用,速度更快
  • 🚀 重度使用: D1 是最佳选择

🛠️ 技术栈

  • 前端: Vue 3 + Vite + Tailwind CSS
  • 后端: Cloudflare Pages Functions
  • 存储: Cloudflare KV + D1 数据库
  • 部署平台: 仅 Cloudflare Pages

📚 文档索引

from  https://github.com/imzyb/MiSub/blob/main/README-zh.md