From 2ab4b6dc114b2ab669bf1cc16ba23f90a886d34e Mon Sep 17 00:00:00 2001 From: Pectics Date: Wed, 24 Jun 2026 16:17:51 +0800 Subject: [PATCH] Document fork provenance baseline Add Mihoto fork notice and baseline policy documentation. Record the upstream v0.14.0 base tag, rename boundary, CI expectations, and fork metadata while keeping the inherited mihoro runtime names unchanged. Co-Authored-By: Codex GPT-5 --- Cargo.toml | 4 +-- NOTICE.md | 32 +++++++++++++++++++++++ README.md | 24 ++++++++++++----- docs/fork-baseline.md | 61 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 NOTICE.md create mode 100644 docs/fork-baseline.md diff --git a/Cargo.toml b/Cargo.toml index f1142a6..89b0164 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,8 +6,8 @@ edition = "2021" readme = "README.md" license = "MIT" authors = ["spencerwooo "] -homepage = "https://github.com/spencerwooo/mihoro" -repository = "https://github.com/spencerwooo/mihoro" +homepage = "https://github.com/Pectics/mihoto" +repository = "https://github.com/Pectics/mihoto" keywords = ["cli", "clash", "network", "linux", "mihomo"] categories = ["command-line-utilities"] diff --git a/NOTICE.md b/NOTICE.md new file mode 100644 index 0000000..eab818b --- /dev/null +++ b/NOTICE.md @@ -0,0 +1,32 @@ +# Mihoto Fork Notice + +Mihoto is a fork of [spencerwooo/mihoro](https://github.com/spencerwooo/mihoro), +the Rust-based Mihomo CLI client for Linux. + +The fork keeps the upstream Git history and the original MIT license text in +`LICENSE`. The original copyright notice remains: + +```text +Copyright (c) 2023 Spencer (Shangbo Wu) +``` + +## Fork Baseline + +- Upstream repository: `spencerwooo/mihoro` +- Fork repository: `Pectics/mihoto` +- Upstream baseline tag: `mihoro-v0.14.0-base` +- Baseline commit: `e31827ed257e7ce97217cd0a2dbcd1ef96dbac7f` +- Baseline upstream release: `v0.14.0` + +The `mihoro-v0.14.0-base` tag marks the upstream release baseline used to start +Mihoto governance work. It is intended to be immutable. + +## Attribution Policy + +- Preserve upstream Git history whenever possible. +- Preserve upstream authorship when porting commits. +- Prefer `git cherry-pick -x` when taking code from upstream commits. +- Reference upstream issues or pull requests in Mihoto issues and PRs when they + motivate a change. +- Keep mechanical rename work separate from behavior changes and architecture + changes. diff --git a/README.md b/README.md index 6c7a3a1..f6bb765 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@
mihoro banner
- - CI + + CI - - Release + + Release - - GitHub release (latest by date) + + GitHub release (latest by date)
@@ -16,6 +16,12 @@ **mihoro** - The đŸ¦€ Rustâ„¢-based [Mihomo](https://github.com/MetaCubeX/mihomo) CLI client on Linux. +Mihoto is a safety-focused fork of [spencerwooo/mihoro](https://github.com/spencerwooo/mihoro). +The inherited CLI, binary, package, and config names remain `mihoro` until +dedicated rename PRs change them. See [NOTICE.md](NOTICE.md) and +[docs/fork-baseline.md](docs/fork-baseline.md) for fork attribution, the +`mihoro-v0.14.0-base` baseline tag, and CI expectations. + - Setup, update, apply overrides, and manage with systemd. **No more, no less.** - No root privilege required. Maintains per-user instance. - First-class support for config subscription. @@ -24,6 +30,9 @@ ## Install +Until Mihoto publishes its own release artifacts, the install commands below +continue to install upstream `mihoro` release builds. + ```shell curl -fsSL https://raw.githubusercontent.com/spencerwooo/mihoro/main/install.sh | sh ``` @@ -252,4 +261,5 @@ Web-based dashboards require enabling `external_controller` under `[mihomo_confi ## License -[MIT](LICENSE) +[MIT](LICENSE). Mihoto preserves the upstream Mihoro license and author +attribution; see [NOTICE.md](NOTICE.md). diff --git a/docs/fork-baseline.md b/docs/fork-baseline.md new file mode 100644 index 0000000..da32a4d --- /dev/null +++ b/docs/fork-baseline.md @@ -0,0 +1,61 @@ +# Fork Baseline and CI Policy + +Mihoto starts as a safety-focused fork of +[spencerwooo/mihoro](https://github.com/spencerwooo/mihoro). This document fixes +the fork provenance, naming boundary, and CI expectations for early Mihoto work. + +## Provenance + +- `origin` is `Pectics/mihoto`. +- `upstream` is `spencerwooo/mihoro`. +- `mihoro-v0.14.0-base` marks upstream `v0.14.0` at commit + `e31827ed257e7ce97217cd0a2dbcd1ef96dbac7f`. +- The baseline tag is intended to be immutable. Do not move or force-update it. +- Ported upstream code should preserve authorship and include upstream references + in issues, commits, or PR descriptions. + +## Rename Matrix + +Mihoto is the fork and roadmap name. The inherited CLI remains `mihoro` until a +dedicated rename PR changes each surface deliberately. + +| Surface | Current value | Baseline decision | +| --- | --- | --- | +| GitHub repository | `Pectics/mihoto` | Fork identity | +| Upstream repository | `spencerwooo/mihoro` | Attribution and sync source | +| Cargo package | `mihoro` | Keep until mechanical rename | +| Binary | `mihoro` | Keep until mechanical rename | +| Config file | `~/.config/mihoro.toml` | Keep until migration plan exists | +| User agent | `mihoro` | Keep until compatibility impact is reviewed | +| systemd service | `mihomo.service` | Keep; it manages Mihomo core | +| Release assets | `mihoro--.tar.gz` | Keep until release rename plan | + +Rename work must be split from behavior changes so that user-visible migrations +can be reviewed, tested, and rolled back independently. + +## CI and Branch Protection Expectations + +All Mihoto implementation work should use issue-linked pull requests against +`main`. The protected CI baseline is the `CI` workflow with these checks: + +- `cargo fmt --all -- --check` +- `cargo clippy` +- `cargo check --all-targets` +- `cargo test --all-targets` + +Branch protection is a repository setting, not a source-controlled file. The +expected GitHub setting for `main` is to require PRs and the `CI` status before +merge. If branch protection is changed, record that change in the linked issue or +PR. + +## Safety Baseline + +Early Mihoto work follows these rules: + +- Updates, service changes, TUN/DNS changes, and migrations must be explicit, + validated, auditable, and recoverable. +- Subscription URLs, secrets, and authentication material must not appear in + logs, issues, or PR artifacts. +- Documentation-only PRs should say why no runtime tests were added. +- Rollback for documentation-only changes is a normal revert. The baseline tag + should not be deleted or moved as part of rollback.