diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index bd44d025d..d68bd2529 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -13,8 +13,8 @@ Please verify that you've followed these steps
"
options:
- label: "
-确保你使用的是**本仓库**最新的的 clash 或 clash Alpha 版本
-Ensure you are using the latest version of Clash or Clash Premium from **this repository**.
+确保你使用的是**本仓库**最新的的 mihomo 或 mihomo Alpha 版本
+Ensure you are using the latest version of Mihomo or Mihomo Alpha from **this repository**.
"
required: true
- label: "
@@ -38,14 +38,14 @@ I have read the [documentation](https://wiki.metacubex.one/) and was unable to s
"
required: true
- label: "
-这是 Clash 核心的问题,并非我所使用的 Clash 衍生版本(如 OpenClash、KoolClash 等)的特定问题
-This is an issue of the Clash core *per se*, not to the derivatives of Clash, like OpenClash or KoolClash.
+这是 Mihomo 核心的问题,并非我所使用的 Mihomo 衍生版本(如 OpenMihomo、KoolMihomo 等)的特定问题
+This is an issue of the Mihomo core *per se*, not to the derivatives of Mihomo, like OpenMihomo or KoolMihomo.
"
required: true
- type: input
attributes:
- label: Clash version
- description: "use `clash -v`"
+ label: Mihomo version
+ description: "use `mihomo -v`"
validations:
required: true
- type: dropdown
@@ -61,20 +61,20 @@ This is an issue of the Clash core *per se*, not to the derivatives of Clash, li
- type: textarea
attributes:
render: yaml
- label: "Clash config"
+ label: "Mihomo config"
description: "
-在下方附上 Clash core 配置文件,请确保配置文件中没有敏感信息(比如:服务器地址,密码,端口等)
-Paste the Clash core configuration file below, please make sure that there is no sensitive information in the configuration file (e.g., server address/url, password, port)
+在下方附上 Mihomo core 配置文件,请确保配置文件中没有敏感信息(比如:服务器地址,密码,端口等)
+Paste the Mihomo core configuration file below, please make sure that there is no sensitive information in the configuration file (e.g., server address/url, password, port)
"
validations:
required: true
- type: textarea
attributes:
render: shell
- label: Clash log
+ label: Mihomo log
description: "
-在下方附上 Clash Core 的日志,log level 使用 DEBUG
-Paste the Clash core log below with the log level set to `DEBUG`.
+在下方附上 Mihomo Core 的日志,log level 使用 DEBUG
+Paste the Mihomo core log below with the log level set to `DEBUG`.
"
- type: textarea
attributes:
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 0cf546281..75d37b635 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- - name: Clash.Meta Community Support
- url: https://github.com/MetaCubeX/Clash.Meta/discussions
- about: Please ask and answer questions about Clash.Meta here.
+ - name: mihomo Community Support
+ url: https://github.com/MetaCubeX/mihomo/discussions
+ about: Please ask and answer questions about mihomo here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index a32d313de..7987526c4 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -25,7 +25,7 @@ I have read the [documentation](https://wiki.metacubex.one/) and was unable to s
- type: textarea
attributes:
label: Description
- description: 请详细、清晰地表达你要提出的论述,例如这个问题如何影响到你?你想实现什么功能?目前 Clash Core 的行为是什麽?
+ description: 请详细、清晰地表达你要提出的论述,例如这个问题如何影响到你?你想实现什么功能?目前 Mihomo Core 的行为是什麽?
validations:
required: true
- type: textarea
diff --git a/.github/rename-cgo.sh b/.github/rename-cgo.sh
index a0d736deb..2bfdb3c6e 100644
--- a/.github/rename-cgo.sh
+++ b/.github/rename-cgo.sh
@@ -5,25 +5,25 @@ for FILENAME in $FILENAMES
do
if [[ $FILENAME =~ "darwin-10.16-arm64" ]];then
echo "rename darwin-10.16-arm64 $FILENAME"
- mv $FILENAME clash.meta-darwin-arm64-cgo
+ mv $FILENAME mihomo-darwin-arm64-cgo
elif [[ $FILENAME =~ "darwin-10.16-amd64" ]];then
echo "rename darwin-10.16-amd64 $FILENAME"
- mv $FILENAME clash.meta-darwin-amd64-cgo
+ mv $FILENAME mihomo-darwin-amd64-cgo
elif [[ $FILENAME =~ "windows-4.0-386" ]];then
echo "rename windows 386 $FILENAME"
- mv $FILENAME clash.meta-windows-386-cgo.exe
+ mv $FILENAME mihomo-windows-386-cgo.exe
elif [[ $FILENAME =~ "windows-4.0-amd64" ]];then
echo "rename windows amd64 $FILENAME"
- mv $FILENAME clash.meta-windows-amd64-cgo.exe
- elif [[ $FILENAME =~ "clash.meta-linux-arm-5" ]];then
- echo "rename clash.meta-linux-arm-5 $FILENAME"
- mv $FILENAME clash.meta-linux-armv5-cgo
- elif [[ $FILENAME =~ "clash.meta-linux-arm-6" ]];then
- echo "rename clash.meta-linux-arm-6 $FILENAME"
- mv $FILENAME clash.meta-linux-armv6-cgo
- elif [[ $FILENAME =~ "clash.meta-linux-arm-7" ]];then
- echo "rename clash.meta-linux-arm-7 $FILENAME"
- mv $FILENAME clash.meta-linux-armv7-cgo
+ mv $FILENAME mihomo-windows-amd64-cgo.exe
+ elif [[ $FILENAME =~ "mihomo-linux-arm-5" ]];then
+ echo "rename mihomo-linux-arm-5 $FILENAME"
+ mv $FILENAME mihomo-linux-armv5-cgo
+ elif [[ $FILENAME =~ "mihomo-linux-arm-6" ]];then
+ echo "rename mihomo-linux-arm-6 $FILENAME"
+ mv $FILENAME mihomo-linux-armv6-cgo
+ elif [[ $FILENAME =~ "mihomo-linux-arm-7" ]];then
+ echo "rename mihomo-linux-arm-7 $FILENAME"
+ mv $FILENAME mihomo-linux-armv7-cgo
elif [[ $FILENAME =~ "linux" ]];then
echo "rename linux $FILENAME"
mv $FILENAME $FILENAME-cgo
diff --git a/.github/workflows/android-branch-auto-sync.yml b/.github/workflows/android-branch-auto-sync.yml
index c7ee5ebae..fd7c9d662 100644
--- a/.github/workflows/android-branch-auto-sync.yml
+++ b/.github/workflows/android-branch-auto-sync.yml
@@ -50,8 +50,8 @@ jobs:
run: |
git push origin android-real --force
- # Send "core-updated" to MetaCubeX/ClashMetaForAndroid to trigger update-dependencies
- trigger-CMFA-update:
+ # Send "core-updated" to MetaCubeX/MihomoForAndroid to trigger update-dependencies
+ trigger-MFA-update:
needs: update-dependencies
runs-on: ubuntu-latest
steps:
@@ -63,7 +63,7 @@ jobs:
- name: Trigger update-dependencies
run: |
- curl -X POST https://api.github.com/repos/MetaCubeX/ClashMetaForAndroid/dispatches \
+ curl -X POST https://api.github.com/repos/MetaCubeX/MihomoForAndroid/dispatches \
-H "Accept: application/vnd.github.everest-preview+json" \
-H "Authorization: token ${{ steps.generate-token.outputs.token }}" \
-d '{"event_type": "core-updated"}'
\ No newline at end of file
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 57a00f3e9..a644f97a2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -118,7 +118,7 @@ jobs:
- name: Set ENV
run: |
sudo timedatectl set-timezone "Asia/Shanghai"
- echo "NAME=clash.meta" >> $GITHUB_ENV
+ echo "NAME=mihomo" >> $GITHUB_ENV
echo "REPO=${{ github.repository }}" >> $GITHUB_ENV
echo "ShortSHA=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV
echo "BUILDTIME=$(date)" >> $GITHUB_ENV
@@ -128,7 +128,7 @@ jobs:
- name: Set ENV
run: |
echo "TAGS=with_gvisor,with_lwip" >> $GITHUB_ENV
- echo "LDFLAGS=-X 'github.com/Dreamacro/clash/constant.Version=${VERSION}' -X 'github.com/Dreamacro/clash/constant.BuildTime=${BUILDTIME}' -w -s -buildid=" >> $GITHUB_ENV
+ echo "LDFLAGS=-X 'github.com/metacubex/mihomo/constant.Version=${VERSION}' -X 'github.com/metacubex/mihomo/constant.BuildTime=${BUILDTIME}' -w -s -buildid=" >> $GITHUB_ENV
shell: bash
- name: Setup Go
@@ -153,7 +153,7 @@ jobs:
- name: Build WithoutCGO
if: ${{ matrix.job.type!='WithCGO' }}
env:
- NAME: Clash.Meta
+ NAME: mihomo
BINDIR: bin
run: make -j$(($(nproc) + 1)) ${{ matrix.job.target }}
@@ -271,7 +271,7 @@ jobs:
Release created at ${{ env.BUILDTIME }}
Synchronize ${{ github.ref_name }} branch code updates, keeping only the latest version
- [我应该下载哪个文件? / Which file should I download?](https://github.com/MetaCubeX/Clash.Meta/wiki/FAQ)
+ [我应该下载哪个文件? / Which file should I download?](https://github.com/MetaCubeX/mihomo/wiki/FAQ)
[查看文档 / Docs](https://metacubex.github.io/Meta-Docs/)
EOF
diff --git a/.golangci.yaml b/.golangci.yaml
index f5b673973..1de71ad84 100644
--- a/.golangci.yaml
+++ b/.golangci.yaml
@@ -11,7 +11,7 @@ linters-settings:
custom-order: true
sections:
- standard
- - prefix(github.com/Dreamacro/clash)
+ - prefix(github.com/metacubex/mihomo)
- default
staticcheck:
go: '1.19'
diff --git a/Dockerfile b/Dockerfile
index 6c5a91f95..c9cd56b7a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,25 +3,25 @@ ARG TARGETPLATFORM
RUN echo "I'm building for $TARGETPLATFORM"
RUN apk add --no-cache gzip && \
- mkdir /clash-config && \
- wget -O /clash-config/geoip.metadb https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb && \
- wget -O /clash-config/geosite.dat https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat && \
- wget -O /clash-config/geoip.dat https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat
+ mkdir /mihomo-config && \
+ wget -O /mihomo-config/geoip.metadb https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb && \
+ wget -O /mihomo-config/geosite.dat https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat && \
+ wget -O /mihomo-config/geoip.dat https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat
-COPY docker/file-name.sh /clash/file-name.sh
-WORKDIR /clash
+COPY docker/file-name.sh /mihomo/file-name.sh
+WORKDIR /mihomo
COPY bin/ bin/
RUN FILE_NAME=`sh file-name.sh` && echo $FILE_NAME && \
FILE_NAME=`ls bin/ | egrep "$FILE_NAME.*"|awk NR==1` && echo $FILE_NAME && \
- mv bin/$FILE_NAME clash.gz && gzip -d clash.gz && echo "$FILE_NAME" > /clash-config/test
+ mv bin/$FILE_NAME mihomo.gz && gzip -d mihomo.gz && echo "$FILE_NAME" > /mihomo-config/test
FROM alpine:latest
-LABEL org.opencontainers.image.source="https://github.com/MetaCubeX/Clash.Meta"
+LABEL org.opencontainers.image.source="https://github.com/MetaCubeX/mihomo"
RUN apk add --no-cache ca-certificates tzdata iptables
-VOLUME ["/root/.config/clash/"]
+VOLUME ["/root/.config/mihomo/"]
-COPY --from=builder /clash-config/ /root/.config/clash/
-COPY --from=builder /clash/clash /clash
-RUN chmod +x /clash
-ENTRYPOINT [ "/clash" ]
+COPY --from=builder /mihomo-config/ /root/.config/mihomo/
+COPY --from=builder /mihomo/mihomo /mihomo
+RUN chmod +x /mihomo
+ENTRYPOINT [ "/mihomo" ]
diff --git a/Makefile b/Makefile
index 028b986cd..f6ffcae53 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-NAME=clash.meta
+NAME=mihomo
BINDIR=bin
BRANCH=$(shell git branch --show-current)
ifeq ($(BRANCH),Alpha)
@@ -12,8 +12,8 @@ VERSION=$(shell git rev-parse --short HEAD)
endif
BUILDTIME=$(shell date -u)
-GOBUILD=CGO_ENABLED=0 go build -tags with_gvisor -trimpath -ldflags '-X "github.com/Dreamacro/clash/constant.Version=$(VERSION)" \
- -X "github.com/Dreamacro/clash/constant.BuildTime=$(BUILDTIME)" \
+GOBUILD=CGO_ENABLED=0 go build -tags with_gvisor -trimpath -ldflags '-X "github.com/metacubex/mihomo/constant.Version=$(VERSION)" \
+ -X "github.com/metacubex/mihomo/constant.BuildTime=$(BUILDTIME)" \
-w -s -buildid='
PLATFORM_LIST = \
diff --git a/README.md b/README.md
index d5022dfb9..8c82536c5 100644
--- a/README.md
+++ b/README.md
@@ -3,17 +3,17 @@
Meta Kernel
-
Another Clash Kernel.
+Another Mihomo Kernel.
-
-
+
+
-
-
-
+
+
+
-
+
@@ -27,7 +27,7 @@
- Remote groups allow users to implement powerful rules. Supports automatic fallback, load balancing or auto select node
based off latency
- Remote providers, allowing users to get node lists remotely instead of hard-coding in config
-- Netfilter TCP redirecting. Deploy Clash on your Internet gateway with `iptables`.
+- Netfilter TCP redirecting. Deploy Mihomo on your Internet gateway with `iptables`.
- Comprehensive HTTP RESTful API controller
## Dashboard
@@ -36,22 +36,22 @@ A web dashboard with first-class support for this project has been created; it c
## Configration example
-Configuration example is located at [/docs/config.yaml](https://github.com/MetaCubeX/Clash.Meta/blob/Alpha/docs/config.yaml).
+Configuration example is located at [/docs/config.yaml](https://github.com/MetaCubeX/mihomo/blob/Alpha/docs/config.yaml).
## Docs
-Documentation can be found in [Clash.Meta Docs](https://clash-meta.wiki).
+Documentation can be found in [mihomo Docs](https://wiki.metacubex.one/).
## For development
Requirements:
[Go 1.20 or newer](https://go.dev/dl/)
-Build Clash.Meta:
+Build mihomo:
```shell
-git clone https://github.com/MetaCubeX/Clash.Meta.git
-cd Clash.Meta && go mod download
+git clone https://github.com/MetaCubeX/mihomo.git
+cd mihomo && go mod download
go build
```
@@ -98,4 +98,4 @@ API.
This software is released under the GPL-3.0 license.
-[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FDreamacro%2Fclash.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FDreamacro%2Fclash?ref=badge_large)
+[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FMetaCubeX%2Fmihomo.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FMetaCubeX%2Fmihomo?ref=badge_large)
diff --git a/adapter/adapter.go b/adapter/adapter.go
index 62941e6d1..74b11bd91 100644
--- a/adapter/adapter.go
+++ b/adapter/adapter.go
@@ -12,12 +12,12 @@ import (
"strconv"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/queue"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/queue"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/puzpuzpuz/xsync/v2"
)
diff --git a/adapter/inbound/addition.go b/adapter/inbound/addition.go
index df03b84a3..a9896c8c8 100644
--- a/adapter/inbound/addition.go
+++ b/adapter/inbound/addition.go
@@ -3,7 +3,7 @@ package inbound
import (
"net"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type Addition func(metadata *C.Metadata)
diff --git a/adapter/inbound/auth.go b/adapter/inbound/auth.go
index 4022659f3..984c9bd68 100644
--- a/adapter/inbound/auth.go
+++ b/adapter/inbound/auth.go
@@ -4,7 +4,7 @@ import (
"net"
"net/netip"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
var skipAuthPrefixes []netip.Prefix
diff --git a/adapter/inbound/http.go b/adapter/inbound/http.go
index 7f3b143f8..137e17d3f 100644
--- a/adapter/inbound/http.go
+++ b/adapter/inbound/http.go
@@ -3,8 +3,8 @@ package inbound
import (
"net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
// NewHTTP receive normal http request and return HTTPContext
diff --git a/adapter/inbound/https.go b/adapter/inbound/https.go
index 891ac9e7c..55f6731a4 100644
--- a/adapter/inbound/https.go
+++ b/adapter/inbound/https.go
@@ -4,7 +4,7 @@ import (
"net"
"net/http"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
// NewHTTPS receive CONNECT request and return ConnContext
diff --git a/adapter/inbound/packet.go b/adapter/inbound/packet.go
index 0e3f6c486..7e245f984 100644
--- a/adapter/inbound/packet.go
+++ b/adapter/inbound/packet.go
@@ -1,8 +1,8 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
// NewPacket is PacketAdapter generator
diff --git a/adapter/inbound/socket.go b/adapter/inbound/socket.go
index 21cb490b7..8cd301f7e 100644
--- a/adapter/inbound/socket.go
+++ b/adapter/inbound/socket.go
@@ -3,8 +3,8 @@ package inbound
import (
"net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
// NewSocket receive TCP inbound and return ConnContext
diff --git a/adapter/inbound/util.go b/adapter/inbound/util.go
index acae7c3e1..743337fc1 100644
--- a/adapter/inbound/util.go
+++ b/adapter/inbound/util.go
@@ -7,9 +7,9 @@ import (
"strconv"
"strings"
- "github.com/Dreamacro/clash/common/nnip"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/common/nnip"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
func parseSocksAddr(target socks5.Addr) *C.Metadata {
diff --git a/adapter/outbound/base.go b/adapter/outbound/base.go
index ba991bfc9..ae8c4651b 100644
--- a/adapter/outbound/base.go
+++ b/adapter/outbound/base.go
@@ -7,10 +7,10 @@ import (
"strings"
"syscall"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
)
type Base struct {
diff --git a/adapter/outbound/direct.go b/adapter/outbound/direct.go
index 75e999a6f..b9b9fefce 100644
--- a/adapter/outbound/direct.go
+++ b/adapter/outbound/direct.go
@@ -5,10 +5,10 @@ import (
"errors"
"net/netip"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
)
type Direct struct {
diff --git a/adapter/outbound/http.go b/adapter/outbound/http.go
index 19074bb3a..b837e49a9 100644
--- a/adapter/outbound/http.go
+++ b/adapter/outbound/http.go
@@ -13,11 +13,11 @@ import (
"net/http"
"strconv"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
)
type Http struct {
diff --git a/adapter/outbound/hysteria.go b/adapter/outbound/hysteria.go
index 5a41274c3..dacffd106 100644
--- a/adapter/outbound/hysteria.go
+++ b/adapter/outbound/hysteria.go
@@ -14,17 +14,17 @@ import (
"github.com/metacubex/quic-go/congestion"
M "github.com/sagernet/sing/common/metadata"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- hyCongestion "github.com/Dreamacro/clash/transport/hysteria/congestion"
- "github.com/Dreamacro/clash/transport/hysteria/core"
- "github.com/Dreamacro/clash/transport/hysteria/obfs"
- "github.com/Dreamacro/clash/transport/hysteria/pmtud_fix"
- "github.com/Dreamacro/clash/transport/hysteria/transport"
- "github.com/Dreamacro/clash/transport/hysteria/utils"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ hyCongestion "github.com/metacubex/mihomo/transport/hysteria/congestion"
+ "github.com/metacubex/mihomo/transport/hysteria/core"
+ "github.com/metacubex/mihomo/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/transport/hysteria/pmtud_fix"
+ "github.com/metacubex/mihomo/transport/hysteria/transport"
+ "github.com/metacubex/mihomo/transport/hysteria/utils"
)
const (
diff --git a/adapter/outbound/hysteria2.go b/adapter/outbound/hysteria2.go
index 6ed4cd8c0..ddd5cceaf 100644
--- a/adapter/outbound/hysteria2.go
+++ b/adapter/outbound/hysteria2.go
@@ -9,12 +9,12 @@ import (
"runtime"
"strconv"
- CN "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
- tuicCommon "github.com/Dreamacro/clash/transport/tuic/common"
+ CN "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
+ tuicCommon "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/metacubex/sing-quic/hysteria2"
diff --git a/adapter/outbound/reality.go b/adapter/outbound/reality.go
index 23314e5f1..766138dad 100644
--- a/adapter/outbound/reality.go
+++ b/adapter/outbound/reality.go
@@ -5,7 +5,7 @@ import (
"encoding/hex"
"errors"
- tlsC "github.com/Dreamacro/clash/component/tls"
+ tlsC "github.com/metacubex/mihomo/component/tls"
"golang.org/x/crypto/curve25519"
)
diff --git a/adapter/outbound/reject.go b/adapter/outbound/reject.go
index f1de39819..5625f932c 100644
--- a/adapter/outbound/reject.go
+++ b/adapter/outbound/reject.go
@@ -6,9 +6,9 @@ import (
"net"
"time"
- "github.com/Dreamacro/clash/common/buf"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/buf"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
)
type Reject struct {
diff --git a/adapter/outbound/shadowsocks.go b/adapter/outbound/shadowsocks.go
index 1ae16c434..ffc72abb6 100644
--- a/adapter/outbound/shadowsocks.go
+++ b/adapter/outbound/shadowsocks.go
@@ -7,16 +7,16 @@ import (
"net"
"strconv"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/structure"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/restls"
- obfs "github.com/Dreamacro/clash/transport/simple-obfs"
- shadowtls "github.com/Dreamacro/clash/transport/sing-shadowtls"
- v2rayObfs "github.com/Dreamacro/clash/transport/v2ray-plugin"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/structure"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/restls"
+ obfs "github.com/metacubex/mihomo/transport/simple-obfs"
+ shadowtls "github.com/metacubex/mihomo/transport/sing-shadowtls"
+ v2rayObfs "github.com/metacubex/mihomo/transport/v2ray-plugin"
restlsC "github.com/3andne/restls-client-go"
shadowsocks "github.com/metacubex/sing-shadowsocks2"
diff --git a/adapter/outbound/shadowsocksr.go b/adapter/outbound/shadowsocksr.go
index 0f03f86d1..07d780477 100644
--- a/adapter/outbound/shadowsocksr.go
+++ b/adapter/outbound/shadowsocksr.go
@@ -7,16 +7,16 @@ import (
"net"
"strconv"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/shadowsocks/core"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowaead"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowstream"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/ssr/obfs"
- "github.com/Dreamacro/clash/transport/ssr/protocol"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/shadowsocks/core"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowaead"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowstream"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/ssr/obfs"
+ "github.com/metacubex/mihomo/transport/ssr/protocol"
)
type ShadowSocksR struct {
@@ -125,7 +125,7 @@ func (ssr *ShadowSocksR) SupportWithDialer() C.NetWork {
func NewShadowSocksR(option ShadowSocksROption) (*ShadowSocksR, error) {
// SSR protocol compatibility
- // https://github.com/Dreamacro/clash/pull/2056
+ // https://github.com/metacubex/mihomo/pull/2056
if option.Cipher == "none" {
option.Cipher = "dummy"
}
diff --git a/adapter/outbound/singmux.go b/adapter/outbound/singmux.go
index fb6b1c296..dff1e8eb5 100644
--- a/adapter/outbound/singmux.go
+++ b/adapter/outbound/singmux.go
@@ -5,11 +5,11 @@ import (
"errors"
"runtime"
- CN "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
+ CN "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
mux "github.com/sagernet/sing-mux"
E "github.com/sagernet/sing/common/exceptions"
diff --git a/adapter/outbound/snell.go b/adapter/outbound/snell.go
index 16405fcfe..76ed4be91 100644
--- a/adapter/outbound/snell.go
+++ b/adapter/outbound/snell.go
@@ -6,13 +6,13 @@ import (
"net"
"strconv"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/structure"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
- obfs "github.com/Dreamacro/clash/transport/simple-obfs"
- "github.com/Dreamacro/clash/transport/snell"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/structure"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
+ obfs "github.com/metacubex/mihomo/transport/simple-obfs"
+ "github.com/metacubex/mihomo/transport/snell"
)
type Snell struct {
diff --git a/adapter/outbound/socks5.go b/adapter/outbound/socks5.go
index 43dfe8ef5..c17ee6a7a 100644
--- a/adapter/outbound/socks5.go
+++ b/adapter/outbound/socks5.go
@@ -10,12 +10,12 @@ import (
"net/netip"
"strconv"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Socks5 struct {
diff --git a/adapter/outbound/trojan.go b/adapter/outbound/trojan.go
index d3c14e8a6..cd1dd28ca 100644
--- a/adapter/outbound/trojan.go
+++ b/adapter/outbound/trojan.go
@@ -8,14 +8,14 @@ import (
"net/http"
"strconv"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- tlsC "github.com/Dreamacro/clash/component/tls"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/gun"
- "github.com/Dreamacro/clash/transport/trojan"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/gun"
+ "github.com/metacubex/mihomo/transport/trojan"
)
type Trojan struct {
diff --git a/adapter/outbound/tuic.go b/adapter/outbound/tuic.go
index 93e49dc7d..666e72fad 100644
--- a/adapter/outbound/tuic.go
+++ b/adapter/outbound/tuic.go
@@ -10,12 +10,12 @@ import (
"strconv"
"time"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/tuic"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/tuic"
"github.com/gofrs/uuid/v5"
"github.com/metacubex/quic-go"
diff --git a/adapter/outbound/util.go b/adapter/outbound/util.go
index b048cd8ba..ce9e5f657 100644
--- a/adapter/outbound/util.go
+++ b/adapter/outbound/util.go
@@ -11,9 +11,9 @@ import (
"strconv"
"sync"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
var (
diff --git a/adapter/outbound/vless.go b/adapter/outbound/vless.go
index 5f54153b0..dbe8b1a48 100644
--- a/adapter/outbound/vless.go
+++ b/adapter/outbound/vless.go
@@ -12,20 +12,20 @@ import (
"strconv"
"sync"
- "github.com/Dreamacro/clash/common/convert"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/component/resolver"
- tlsC "github.com/Dreamacro/clash/component/tls"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/gun"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/vless"
- "github.com/Dreamacro/clash/transport/vmess"
+ "github.com/metacubex/mihomo/common/convert"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/gun"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/vless"
+ "github.com/metacubex/mihomo/transport/vmess"
vmessSing "github.com/metacubex/sing-vmess"
"github.com/metacubex/sing-vmess/packetaddr"
diff --git a/adapter/outbound/vmess.go b/adapter/outbound/vmess.go
index aed61aa30..8811fb0d9 100644
--- a/adapter/outbound/vmess.go
+++ b/adapter/outbound/vmess.go
@@ -11,17 +11,17 @@ import (
"strings"
"sync"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/component/resolver"
- tlsC "github.com/Dreamacro/clash/component/tls"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/ntp"
- "github.com/Dreamacro/clash/transport/gun"
- clashVMess "github.com/Dreamacro/clash/transport/vmess"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/ntp"
+ "github.com/metacubex/mihomo/transport/gun"
+ mihomoVMess "github.com/metacubex/mihomo/transport/vmess"
vmess "github.com/metacubex/sing-vmess"
"github.com/metacubex/sing-vmess/packetaddr"
@@ -105,7 +105,7 @@ func (v *Vmess) StreamConnContext(ctx context.Context, c net.Conn, metadata *C.M
switch v.option.Network {
case "ws":
host, port, _ := net.SplitHostPort(v.addr)
- wsOpts := &clashVMess.WebsocketConfig{
+ wsOpts := &mihomoVMess.WebsocketConfig{
Host: host,
Port: port,
Path: v.option.WSOpts.Path,
@@ -141,12 +141,12 @@ func (v *Vmess) StreamConnContext(ctx context.Context, c net.Conn, metadata *C.M
wsOpts.TLSConfig.ServerName = host
}
}
- c, err = clashVMess.StreamWebsocketConn(ctx, c, wsOpts)
+ c, err = mihomoVMess.StreamWebsocketConn(ctx, c, wsOpts)
case "http":
// readability first, so just copy default TLS logic
if v.option.TLS {
host, _, _ := net.SplitHostPort(v.addr)
- tlsOpts := &clashVMess.TLSConfig{
+ tlsOpts := &mihomoVMess.TLSConfig{
Host: host,
SkipCertVerify: v.option.SkipCertVerify,
ClientFingerprint: v.option.ClientFingerprint,
@@ -157,24 +157,24 @@ func (v *Vmess) StreamConnContext(ctx context.Context, c net.Conn, metadata *C.M
if v.option.ServerName != "" {
tlsOpts.Host = v.option.ServerName
}
- c, err = clashVMess.StreamTLSConn(ctx, c, tlsOpts)
+ c, err = mihomoVMess.StreamTLSConn(ctx, c, tlsOpts)
if err != nil {
return nil, err
}
}
host, _, _ := net.SplitHostPort(v.addr)
- httpOpts := &clashVMess.HTTPConfig{
+ httpOpts := &mihomoVMess.HTTPConfig{
Host: host,
Method: v.option.HTTPOpts.Method,
Path: v.option.HTTPOpts.Path,
Headers: v.option.HTTPOpts.Headers,
}
- c = clashVMess.StreamHTTPConn(c, httpOpts)
+ c = mihomoVMess.StreamHTTPConn(c, httpOpts)
case "h2":
host, _, _ := net.SplitHostPort(v.addr)
- tlsOpts := clashVMess.TLSConfig{
+ tlsOpts := mihomoVMess.TLSConfig{
Host: host,
SkipCertVerify: v.option.SkipCertVerify,
NextProtos: []string{"h2"},
@@ -186,24 +186,24 @@ func (v *Vmess) StreamConnContext(ctx context.Context, c net.Conn, metadata *C.M
tlsOpts.Host = v.option.ServerName
}
- c, err = clashVMess.StreamTLSConn(ctx, c, &tlsOpts)
+ c, err = mihomoVMess.StreamTLSConn(ctx, c, &tlsOpts)
if err != nil {
return nil, err
}
- h2Opts := &clashVMess.H2Config{
+ h2Opts := &mihomoVMess.H2Config{
Hosts: v.option.HTTP2Opts.Host,
Path: v.option.HTTP2Opts.Path,
}
- c, err = clashVMess.StreamH2Conn(c, h2Opts)
+ c, err = mihomoVMess.StreamH2Conn(c, h2Opts)
case "grpc":
c, err = gun.StreamGunWithConn(c, v.gunTLSConfig, v.gunConfig, v.realityConfig)
default:
// handle TLS
if v.option.TLS {
host, _, _ := net.SplitHostPort(v.addr)
- tlsOpts := &clashVMess.TLSConfig{
+ tlsOpts := &mihomoVMess.TLSConfig{
Host: host,
SkipCertVerify: v.option.SkipCertVerify,
ClientFingerprint: v.option.ClientFingerprint,
@@ -215,7 +215,7 @@ func (v *Vmess) StreamConnContext(ctx context.Context, c net.Conn, metadata *C.M
tlsOpts.Host = v.option.ServerName
}
- c, err = clashVMess.StreamTLSConn(ctx, c, tlsOpts)
+ c, err = mihomoVMess.StreamTLSConn(ctx, c, tlsOpts)
}
}
diff --git a/adapter/outbound/wireguard.go b/adapter/outbound/wireguard.go
index 6a11a2347..9af1751ba 100644
--- a/adapter/outbound/wireguard.go
+++ b/adapter/outbound/wireguard.go
@@ -13,13 +13,13 @@ import (
"strings"
"sync"
- CN "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/dns"
- "github.com/Dreamacro/clash/log"
+ CN "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/dns"
+ "github.com/metacubex/mihomo/log"
wireguard "github.com/metacubex/sing-wireguard"
diff --git a/adapter/outboundgroup/fallback.go b/adapter/outboundgroup/fallback.go
index 899b9a9b6..d0dd98b1d 100644
--- a/adapter/outboundgroup/fallback.go
+++ b/adapter/outboundgroup/fallback.go
@@ -6,13 +6,13 @@ import (
"errors"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/common/callback"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/common/callback"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
)
type Fallback struct {
diff --git a/adapter/outboundgroup/groupbase.go b/adapter/outboundgroup/groupbase.go
index 22dd407be..d4a812f6a 100644
--- a/adapter/outboundgroup/groupbase.go
+++ b/adapter/outboundgroup/groupbase.go
@@ -7,14 +7,14 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
- types "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
+ types "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel"
"github.com/dlclark/regexp2"
)
diff --git a/adapter/outboundgroup/loadbalance.go b/adapter/outboundgroup/loadbalance.go
index e336c5f00..885aeaeed 100644
--- a/adapter/outboundgroup/loadbalance.go
+++ b/adapter/outboundgroup/loadbalance.go
@@ -9,14 +9,14 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/common/cache"
- "github.com/Dreamacro/clash/common/callback"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/common/cache"
+ "github.com/metacubex/mihomo/common/callback"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
"golang.org/x/net/publicsuffix"
)
diff --git a/adapter/outboundgroup/parser.go b/adapter/outboundgroup/parser.go
index a8bdc557b..8f3335d8e 100644
--- a/adapter/outboundgroup/parser.go
+++ b/adapter/outboundgroup/parser.go
@@ -5,12 +5,12 @@ import (
"fmt"
"strings"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/adapter/provider"
- "github.com/Dreamacro/clash/common/structure"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- types "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/adapter/provider"
+ "github.com/metacubex/mihomo/common/structure"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ types "github.com/metacubex/mihomo/constant/provider"
)
var (
diff --git a/adapter/outboundgroup/relay.go b/adapter/outboundgroup/relay.go
index ba733616d..2b1be8a56 100644
--- a/adapter/outboundgroup/relay.go
+++ b/adapter/outboundgroup/relay.go
@@ -3,11 +3,11 @@ package outboundgroup
import (
"context"
"encoding/json"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
)
type Relay struct {
diff --git a/adapter/outboundgroup/selector.go b/adapter/outboundgroup/selector.go
index 96934f0c2..4d06c5446 100644
--- a/adapter/outboundgroup/selector.go
+++ b/adapter/outboundgroup/selector.go
@@ -5,10 +5,10 @@ import (
"encoding/json"
"errors"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
)
type Selector struct {
diff --git a/adapter/outboundgroup/urltest.go b/adapter/outboundgroup/urltest.go
index 3f6c6ab05..8c8617687 100644
--- a/adapter/outboundgroup/urltest.go
+++ b/adapter/outboundgroup/urltest.go
@@ -6,13 +6,13 @@ import (
"errors"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/common/callback"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/singledo"
- "github.com/Dreamacro/clash/component/dialer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/common/callback"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/singledo"
+ "github.com/metacubex/mihomo/component/dialer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
)
type urlTestOption func(*URLTest)
diff --git a/adapter/parser.go b/adapter/parser.go
index 43ebfe5f0..1d363c1f9 100644
--- a/adapter/parser.go
+++ b/adapter/parser.go
@@ -3,11 +3,11 @@ package adapter
import (
"fmt"
- tlsC "github.com/Dreamacro/clash/component/tls"
+ tlsC "github.com/metacubex/mihomo/component/tls"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/common/structure"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/common/structure"
+ C "github.com/metacubex/mihomo/constant"
)
func ParseProxy(mapping map[string]any) (C.Proxy, error) {
diff --git a/adapter/provider/healthcheck.go b/adapter/provider/healthcheck.go
index feb972ab5..e7f021e14 100644
--- a/adapter/provider/healthcheck.go
+++ b/adapter/provider/healthcheck.go
@@ -6,12 +6,12 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/batch"
- "github.com/Dreamacro/clash/common/singledo"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/batch"
+ "github.com/metacubex/mihomo/common/singledo"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/dlclark/regexp2"
)
diff --git a/adapter/provider/parser.go b/adapter/provider/parser.go
index d885a5467..321380edb 100644
--- a/adapter/provider/parser.go
+++ b/adapter/provider/parser.go
@@ -5,11 +5,11 @@ import (
"fmt"
"time"
- "github.com/Dreamacro/clash/common/structure"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/resource"
- C "github.com/Dreamacro/clash/constant"
- types "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/common/structure"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/resource"
+ C "github.com/metacubex/mihomo/constant"
+ types "github.com/metacubex/mihomo/constant/provider"
)
var (
diff --git a/adapter/provider/provider.go b/adapter/provider/provider.go
index d547dcb7a..ffaec91bb 100644
--- a/adapter/provider/provider.go
+++ b/adapter/provider/provider.go
@@ -10,15 +10,15 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/adapter"
- "github.com/Dreamacro/clash/common/convert"
- "github.com/Dreamacro/clash/common/utils"
- clashHttp "github.com/Dreamacro/clash/component/http"
- "github.com/Dreamacro/clash/component/resource"
- C "github.com/Dreamacro/clash/constant"
- types "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel/statistic"
+ "github.com/metacubex/mihomo/adapter"
+ "github.com/metacubex/mihomo/common/convert"
+ "github.com/metacubex/mihomo/common/utils"
+ mihomoHttp "github.com/metacubex/mihomo/component/http"
+ "github.com/metacubex/mihomo/component/resource"
+ C "github.com/metacubex/mihomo/constant"
+ types "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel/statistic"
"github.com/dlclark/regexp2"
"gopkg.in/yaml.v3"
@@ -119,8 +119,8 @@ func (pp *proxySetProvider) getSubscriptionInfo() {
go func() {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*90)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, pp.Vehicle().(*resource.HTTPVehicle).Url(),
- http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, pp.Vehicle().(*resource.HTTPVehicle).Url(),
+ http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return
}
@@ -128,7 +128,7 @@ func (pp *proxySetProvider) getSubscriptionInfo() {
userInfoStr := strings.TrimSpace(resp.Header.Get("subscription-userinfo"))
if userInfoStr == "" {
- resp2, err := clashHttp.HttpRequest(ctx, pp.Vehicle().(*resource.HTTPVehicle).Url(),
+ resp2, err := mihomoHttp.HttpRequest(ctx, pp.Vehicle().(*resource.HTTPVehicle).Url(),
http.MethodGet, http.Header{"User-Agent": {"Quantumultx"}}, nil)
if err != nil {
return
diff --git a/common/cache/lrucache.go b/common/cache/lrucache.go
index 2f9d3e79b..d71cc3b93 100644
--- a/common/cache/lrucache.go
+++ b/common/cache/lrucache.go
@@ -6,7 +6,7 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/generics/list"
+ "github.com/metacubex/mihomo/common/generics/list"
"github.com/samber/lo"
)
diff --git a/common/callback/callback.go b/common/callback/callback.go
index fe76dc67a..9ae0f94a3 100644
--- a/common/callback/callback.go
+++ b/common/callback/callback.go
@@ -1,9 +1,9 @@
package callback
import (
- "github.com/Dreamacro/clash/common/buf"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/buf"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
)
type firstWriteCallBackConn struct {
diff --git a/common/convert/converter.go b/common/convert/converter.go
index 5a618f429..55035bbe9 100644
--- a/common/convert/converter.go
+++ b/common/convert/converter.go
@@ -9,10 +9,10 @@ import (
"strconv"
"strings"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
)
-// ConvertsV2Ray convert V2Ray subscribe proxies data to clash proxies config
+// ConvertsV2Ray convert V2Ray subscribe proxies data to mihomo proxies config
func ConvertsV2Ray(buf []byte) ([]map[string]any, error) {
data := DecodeBase64(buf)
diff --git a/common/convert/util.go b/common/convert/util.go
index 0ec35acdd..a715b556f 100644
--- a/common/convert/util.go
+++ b/common/convert/util.go
@@ -6,7 +6,7 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/utils"
+ "github.com/metacubex/mihomo/common/utils"
"github.com/metacubex/sing-shadowsocks/shadowimpl"
"github.com/zhangyunhao116/fastrand"
diff --git a/common/net/bufconn.go b/common/net/bufconn.go
index b840fefcc..37c8ba25f 100644
--- a/common/net/bufconn.go
+++ b/common/net/bufconn.go
@@ -4,7 +4,7 @@ import (
"bufio"
"net"
- "github.com/Dreamacro/clash/common/buf"
+ "github.com/metacubex/mihomo/common/buf"
)
var _ ExtendedConn = (*BufferedConn)(nil)
diff --git a/common/net/cached.go b/common/net/cached.go
index 3b7da44c1..fb605b742 100644
--- a/common/net/cached.go
+++ b/common/net/cached.go
@@ -3,7 +3,7 @@ package net
import (
"net"
- "github.com/Dreamacro/clash/common/buf"
+ "github.com/metacubex/mihomo/common/buf"
)
var _ ExtendedConn = (*CachedConn)(nil)
diff --git a/common/net/deadline/packet.go b/common/net/deadline/packet.go
index bcf2db9d8..670431987 100644
--- a/common/net/deadline/packet.go
+++ b/common/net/deadline/packet.go
@@ -6,8 +6,8 @@ import (
"runtime"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/net/packet"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/net/packet"
)
type readResult struct {
diff --git a/common/net/deadline/packet_enhance.go b/common/net/deadline/packet_enhance.go
index 5b7d767f0..3e314fb8d 100644
--- a/common/net/deadline/packet_enhance.go
+++ b/common/net/deadline/packet_enhance.go
@@ -5,7 +5,7 @@ import (
"os"
"runtime"
- "github.com/Dreamacro/clash/common/net/packet"
+ "github.com/metacubex/mihomo/common/net/packet"
)
type EnhancePacketConn struct {
diff --git a/common/net/deadline/packet_sing.go b/common/net/deadline/packet_sing.go
index f41f3f5bc..65db1b8f9 100644
--- a/common/net/deadline/packet_sing.go
+++ b/common/net/deadline/packet_sing.go
@@ -4,7 +4,7 @@ import (
"os"
"runtime"
- "github.com/Dreamacro/clash/common/net/packet"
+ "github.com/metacubex/mihomo/common/net/packet"
"github.com/sagernet/sing/common/buf"
"github.com/sagernet/sing/common/bufio"
M "github.com/sagernet/sing/common/metadata"
diff --git a/common/net/packet.go b/common/net/packet.go
index fc562c426..fd03b4f80 100644
--- a/common/net/packet.go
+++ b/common/net/packet.go
@@ -1,8 +1,8 @@
package net
import (
- "github.com/Dreamacro/clash/common/net/deadline"
- "github.com/Dreamacro/clash/common/net/packet"
+ "github.com/metacubex/mihomo/common/net/deadline"
+ "github.com/metacubex/mihomo/common/net/packet"
)
type EnhancePacketConn = packet.EnhancePacketConn
diff --git a/common/net/packet/packet.go b/common/net/packet/packet.go
index 6c9542c1b..0cdbccaee 100644
--- a/common/net/packet/packet.go
+++ b/common/net/packet/packet.go
@@ -3,7 +3,7 @@ package packet
import (
"net"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
type WaitReadFrom interface {
diff --git a/common/net/packet/packet_posix.go b/common/net/packet/packet_posix.go
index 2861482f0..2073e35de 100644
--- a/common/net/packet/packet_posix.go
+++ b/common/net/packet/packet_posix.go
@@ -7,7 +7,7 @@ import (
"strconv"
"syscall"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
type enhanceUDPConn struct {
diff --git a/common/net/refconn.go b/common/net/refconn.go
index 5caaebc80..6d0dde981 100644
--- a/common/net/refconn.go
+++ b/common/net/refconn.go
@@ -5,7 +5,7 @@ import (
"runtime"
"time"
- "github.com/Dreamacro/clash/common/buf"
+ "github.com/metacubex/mihomo/common/buf"
)
type refConn struct {
diff --git a/common/net/relay.go b/common/net/relay.go
index 6191e76bb..f2a1b1463 100644
--- a/common/net/relay.go
+++ b/common/net/relay.go
@@ -12,7 +12,7 @@ package net
//
// go func() {
// // Wrapping to avoid using *net.TCPConn.(ReadFrom)
-// // See also https://github.com/Dreamacro/clash/pull/1209
+// // See also https://github.com/metacubex/mihomo/pull/1209
// _, err := io.Copy(WriteOnlyWriter{Writer: leftConn}, ReadOnlyReader{Reader: rightConn})
// leftConn.SetReadDeadline(time.Now())
// ch <- err
diff --git a/common/observable/observable_test.go b/common/observable/observable_test.go
index 5a02273da..d263cb940 100644
--- a/common/observable/observable_test.go
+++ b/common/observable/observable_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/common/atomic"
+ "github.com/metacubex/mihomo/common/atomic"
"github.com/stretchr/testify/assert"
)
diff --git a/common/singledo/singledo_test.go b/common/singledo/singledo_test.go
index 9e114fb76..2f92f0ae0 100644
--- a/common/singledo/singledo_test.go
+++ b/common/singledo/singledo_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/common/atomic"
+ "github.com/metacubex/mihomo/common/atomic"
"github.com/stretchr/testify/assert"
)
diff --git a/component/dhcp/conn.go b/component/dhcp/conn.go
index 5b71d3cd4..ff26275b1 100644
--- a/component/dhcp/conn.go
+++ b/component/dhcp/conn.go
@@ -5,7 +5,7 @@ import (
"net"
"runtime"
- "github.com/Dreamacro/clash/component/dialer"
+ "github.com/metacubex/mihomo/component/dialer"
)
func ListenDHCPClient(ctx context.Context, ifaceName string) (net.PacketConn, error) {
diff --git a/component/dhcp/dhcp.go b/component/dhcp/dhcp.go
index be2c578aa..04ad2eda9 100644
--- a/component/dhcp/dhcp.go
+++ b/component/dhcp/dhcp.go
@@ -6,8 +6,8 @@ import (
"net"
"net/netip"
- "github.com/Dreamacro/clash/common/nnip"
- "github.com/Dreamacro/clash/component/iface"
+ "github.com/metacubex/mihomo/common/nnip"
+ "github.com/metacubex/mihomo/component/iface"
"github.com/insomniacslk/dhcp/dhcpv4"
)
diff --git a/component/dialer/bind.go b/component/dialer/bind.go
index c90212efc..72df8c721 100644
--- a/component/dialer/bind.go
+++ b/component/dialer/bind.go
@@ -6,7 +6,7 @@ import (
"strconv"
"strings"
- "github.com/Dreamacro/clash/component/iface"
+ "github.com/metacubex/mihomo/component/iface"
)
func LookupLocalAddrFromIfaceName(ifaceName string, network string, destination netip.Addr, port int) (net.Addr, error) {
diff --git a/component/dialer/bind_darwin.go b/component/dialer/bind_darwin.go
index 8705a708c..f83b86f82 100644
--- a/component/dialer/bind_darwin.go
+++ b/component/dialer/bind_darwin.go
@@ -6,7 +6,7 @@ import (
"net/netip"
"syscall"
- "github.com/Dreamacro/clash/component/iface"
+ "github.com/metacubex/mihomo/component/iface"
"golang.org/x/sys/unix"
)
diff --git a/component/dialer/bind_windows.go b/component/dialer/bind_windows.go
index 0d38d1c5e..120f16571 100644
--- a/component/dialer/bind_windows.go
+++ b/component/dialer/bind_windows.go
@@ -9,7 +9,7 @@ import (
"syscall"
"unsafe"
- "github.com/Dreamacro/clash/component/iface"
+ "github.com/metacubex/mihomo/component/iface"
)
const (
diff --git a/component/dialer/dialer.go b/component/dialer/dialer.go
index 3cb8bba9f..0e0e3cef9 100644
--- a/component/dialer/dialer.go
+++ b/component/dialer/dialer.go
@@ -11,7 +11,7 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/component/resolver"
+ "github.com/metacubex/mihomo/component/resolver"
)
type dialFunc func(ctx context.Context, network string, ips []netip.Addr, port string, opt *option) (net.Conn, error)
diff --git a/component/dialer/mark_nonlinux.go b/component/dialer/mark_nonlinux.go
index ea4482768..64e587842 100644
--- a/component/dialer/mark_nonlinux.go
+++ b/component/dialer/mark_nonlinux.go
@@ -7,7 +7,7 @@ import (
"net/netip"
"sync"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
)
var printMarkWarnOnce sync.Once
diff --git a/component/dialer/options.go b/component/dialer/options.go
index 781d71646..c0c21891d 100644
--- a/component/dialer/options.go
+++ b/component/dialer/options.go
@@ -4,8 +4,8 @@ import (
"context"
"net"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/component/resolver"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/component/resolver"
)
var (
diff --git a/component/ebpf/bpf/redir.c b/component/ebpf/bpf/redir.c
index a24afec8a..6ef5ee0ce 100644
--- a/component/ebpf/bpf/redir.c
+++ b/component/ebpf/bpf/redir.c
@@ -173,7 +173,7 @@ static __always_inline bool is_lan_ip(__be32 addr) {
return false;
}
-SEC("tc_clash_auto_redir_ingress")
+SEC("tc_mihomo_auto_redir_ingress")
int tc_redir_ingress_func(struct __sk_buff *skb) {
void *data = (void *)(long)skb->data;
void *data_end = (void *)(long)skb->data_end;
@@ -264,7 +264,7 @@ int tc_redir_ingress_func(struct __sk_buff *skb) {
return TC_ACT_OK;
}
-SEC("tc_clash_auto_redir_egress")
+SEC("tc_mihomo_auto_redir_egress")
int tc_redir_egress_func(struct __sk_buff *skb) {
void *data = (void *)(long)skb->data;
void *data_end = (void *)(long)skb->data_end;
@@ -276,10 +276,10 @@ int tc_redir_egress_func(struct __sk_buff *skb) {
if (eth->h_proto != bpf_htons(ETH_P_IP))
return TC_ACT_OK;
- __u32 key = 0, *redir_ip, *redir_port; // *clash_mark
+ __u32 key = 0, *redir_ip, *redir_port; // *mihomo_mark
-// clash_mark = bpf_map_lookup_elem(&redir_params_map, &key);
-// if (clash_mark && *clash_mark != 0 && *clash_mark == skb->mark)
+// mihomo_mark = bpf_map_lookup_elem(&redir_params_map, &key);
+// if (mihomo_mark && *mihomo_mark != 0 && *mihomo_mark == skb->mark)
// return TC_ACT_OK;
struct iphdr *iph = (struct iphdr *)(eth + 1);
diff --git a/component/ebpf/bpf/tc.c b/component/ebpf/bpf/tc.c
index 4eebf41ca..3513bf040 100644
--- a/component/ebpf/bpf/tc.c
+++ b/component/ebpf/bpf/tc.c
@@ -38,7 +38,7 @@ static __always_inline bool is_lan_ip(__be32 addr) {
return false;
}
-SEC("tc_clash_redirect_to_tun")
+SEC("tc_mihomo_redirect_to_tun")
int tc_tun_func(struct __sk_buff *skb) {
void *data = (void *)(long)skb->data;
void *data_end = (void *)(long)skb->data_end;
@@ -50,13 +50,13 @@ int tc_tun_func(struct __sk_buff *skb) {
if (eth->h_proto == bpf_htons(ETH_P_ARP))
return TC_ACT_OK;
- __u32 key = 0, *clash_mark, *tun_ifindex;
+ __u32 key = 0, *mihomo_mark, *tun_ifindex;
- clash_mark = bpf_map_lookup_elem(&tc_params_map, &key);
- if (!clash_mark)
+ mihomo_mark = bpf_map_lookup_elem(&tc_params_map, &key);
+ if (!mihomo_mark)
return TC_ACT_OK;
- if (skb->mark == *clash_mark)
+ if (skb->mark == *mihomo_mark)
return TC_ACT_OK;
if (eth->h_proto == bpf_htons(ETH_P_IP)) {
diff --git a/component/ebpf/ebpf.go b/component/ebpf/ebpf.go
index 6257675cb..b0f5a65f6 100644
--- a/component/ebpf/ebpf.go
+++ b/component/ebpf/ebpf.go
@@ -3,8 +3,8 @@ package ebpf
import (
"net/netip"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type TcEBpfProgram struct {
diff --git a/component/ebpf/ebpf_linux.go b/component/ebpf/ebpf_linux.go
index 2ffd4bd5b..304f32fe7 100644
--- a/component/ebpf/ebpf_linux.go
+++ b/component/ebpf/ebpf_linux.go
@@ -6,11 +6,11 @@ import (
"fmt"
"net/netip"
- "github.com/Dreamacro/clash/common/cmd"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/ebpf/redir"
- "github.com/Dreamacro/clash/component/ebpf/tc"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/cmd"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/ebpf/redir"
+ "github.com/metacubex/mihomo/component/ebpf/tc"
+ C "github.com/metacubex/mihomo/constant"
"github.com/sagernet/netlink"
)
@@ -47,7 +47,7 @@ func NewTcEBpfProgram(ifaceNames []string, tunName string) (*TcEBpfProgram, erro
tunIndex := uint32(tunIface.Attrs().Index)
- dialer.DefaultRoutingMark.Store(C.ClashTrafficMark)
+ dialer.DefaultRoutingMark.Store(C.MihomoTrafficMark)
ifMark := uint32(dialer.DefaultRoutingMark.Load())
diff --git a/component/ebpf/redir/auto_redirect.go b/component/ebpf/redir/auto_redirect.go
index 4fd8b7850..57c996163 100644
--- a/component/ebpf/redir/auto_redirect.go
+++ b/component/ebpf/redir/auto_redirect.go
@@ -16,9 +16,9 @@ import (
"github.com/sagernet/netlink"
"golang.org/x/sys/unix"
- "github.com/Dreamacro/clash/component/ebpf/byteorder"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/component/ebpf/byteorder"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
//go:generate go run github.com/cilium/ebpf/cmd/bpf2go -cc $BPF_CLANG -cflags $BPF_CFLAGS bpf ../bpf/redir.c
@@ -131,7 +131,7 @@ func (e *EBpfRedirect) Start() error {
filter := &netlink.BpfFilter{
FilterAttrs: filterAttrs,
Fd: objs.bpfPrograms.TcRedirIngressFunc.FD(),
- Name: "clash-redir-ingress-" + e.ifName,
+ Name: "mihomo-redir-ingress-" + e.ifName,
DirectAction: true,
}
@@ -153,7 +153,7 @@ func (e *EBpfRedirect) Start() error {
filterEgress := &netlink.BpfFilter{
FilterAttrs: filterAttrsEgress,
Fd: objs.bpfPrograms.TcRedirEgressFunc.FD(),
- Name: "clash-redir-egress-" + e.ifName,
+ Name: "mihomo-redir-egress-" + e.ifName,
DirectAction: true,
}
diff --git a/component/ebpf/tc/redirect_to_tun.go b/component/ebpf/tc/redirect_to_tun.go
index 1edc1781f..d7be64afd 100644
--- a/component/ebpf/tc/redirect_to_tun.go
+++ b/component/ebpf/tc/redirect_to_tun.go
@@ -14,8 +14,8 @@ import (
"github.com/sagernet/netlink"
"golang.org/x/sys/unix"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
//go:generate go run github.com/cilium/ebpf/cmd/bpf2go -cc $BPF_CLANG -cflags $BPF_CFLAGS bpf ../bpf/tc.c
@@ -115,7 +115,7 @@ func (e *EBpfTC) Start() error {
filter := &netlink.BpfFilter{
FilterAttrs: filterAttrs,
Fd: objs.bpfPrograms.TcTunFunc.FD(),
- Name: "clash-tc-" + e.ifName,
+ Name: "mihomo-tc-" + e.ifName,
DirectAction: true,
}
diff --git a/component/fakeip/cachefile.go b/component/fakeip/cachefile.go
index c31d751f8..6f0cc48bd 100644
--- a/component/fakeip/cachefile.go
+++ b/component/fakeip/cachefile.go
@@ -3,7 +3,7 @@ package fakeip
import (
"net/netip"
- "github.com/Dreamacro/clash/component/profile/cachefile"
+ "github.com/metacubex/mihomo/component/profile/cachefile"
)
type cachefileStore struct {
diff --git a/component/fakeip/memory.go b/component/fakeip/memory.go
index 249c5e2a1..f36bbb55b 100644
--- a/component/fakeip/memory.go
+++ b/component/fakeip/memory.go
@@ -3,7 +3,7 @@ package fakeip
import (
"net/netip"
- "github.com/Dreamacro/clash/common/cache"
+ "github.com/metacubex/mihomo/common/cache"
)
type memoryStore struct {
diff --git a/component/fakeip/pool.go b/component/fakeip/pool.go
index 9b51929e4..2b06fc0bd 100644
--- a/component/fakeip/pool.go
+++ b/component/fakeip/pool.go
@@ -6,9 +6,9 @@ import (
"strings"
"sync"
- "github.com/Dreamacro/clash/common/nnip"
- "github.com/Dreamacro/clash/component/profile/cachefile"
- "github.com/Dreamacro/clash/component/trie"
+ "github.com/metacubex/mihomo/common/nnip"
+ "github.com/metacubex/mihomo/component/profile/cachefile"
+ "github.com/metacubex/mihomo/component/trie"
)
const (
diff --git a/component/fakeip/pool_test.go b/component/fakeip/pool_test.go
index 183a7185d..a7569ab0c 100644
--- a/component/fakeip/pool_test.go
+++ b/component/fakeip/pool_test.go
@@ -7,8 +7,8 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/component/profile/cachefile"
- "github.com/Dreamacro/clash/component/trie"
+ "github.com/metacubex/mihomo/component/profile/cachefile"
+ "github.com/metacubex/mihomo/component/trie"
"github.com/stretchr/testify/assert"
"go.etcd.io/bbolt"
@@ -32,7 +32,7 @@ func createCachefileStore(options Options) (*Pool, string, error) {
if err != nil {
return nil, "", err
}
- f, err := os.CreateTemp("", "clash")
+ f, err := os.CreateTemp("", "mihomo")
if err != nil {
return nil, "", err
}
diff --git a/component/geodata/attr.go b/component/geodata/attr.go
index e35a25cae..a9742aca9 100644
--- a/component/geodata/attr.go
+++ b/component/geodata/attr.go
@@ -3,7 +3,7 @@ package geodata
import (
"strings"
- "github.com/Dreamacro/clash/component/geodata/router"
+ "github.com/metacubex/mihomo/component/geodata/router"
)
type AttributeList struct {
diff --git a/component/geodata/geodata.go b/component/geodata/geodata.go
index 9d0b0df02..a6ef146ac 100644
--- a/component/geodata/geodata.go
+++ b/component/geodata/geodata.go
@@ -3,8 +3,8 @@ package geodata
import (
"fmt"
- "github.com/Dreamacro/clash/component/geodata/router"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ C "github.com/metacubex/mihomo/constant"
)
type loader struct {
diff --git a/component/geodata/geodataproto.go b/component/geodata/geodataproto.go
index 34bdad700..0f1ce4d27 100644
--- a/component/geodata/geodataproto.go
+++ b/component/geodata/geodataproto.go
@@ -1,7 +1,7 @@
package geodata
import (
- "github.com/Dreamacro/clash/component/geodata/router"
+ "github.com/metacubex/mihomo/component/geodata/router"
)
type LoaderImplementation interface {
diff --git a/component/geodata/init.go b/component/geodata/init.go
index acae1a34e..0b193c948 100644
--- a/component/geodata/init.go
+++ b/component/geodata/init.go
@@ -8,10 +8,10 @@ import (
"os"
"time"
- clashHttp "github.com/Dreamacro/clash/component/http"
- "github.com/Dreamacro/clash/component/mmdb"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ mihomoHttp "github.com/metacubex/mihomo/component/http"
+ "github.com/metacubex/mihomo/component/mmdb"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
var initGeoSite bool
@@ -44,7 +44,7 @@ func InitGeoSite() error {
func downloadGeoSite(path string) (err error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*90)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, C.GeoSiteUrl, http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, C.GeoSiteUrl, http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return
}
@@ -63,7 +63,7 @@ func downloadGeoSite(path string) (err error) {
func downloadGeoIP(path string) (err error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*90)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, C.GeoIpUrl, http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, C.GeoIpUrl, http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return
}
diff --git a/component/geodata/memconservative/cache.go b/component/geodata/memconservative/cache.go
index ca78d19dd..ef76a42c7 100644
--- a/component/geodata/memconservative/cache.go
+++ b/component/geodata/memconservative/cache.go
@@ -5,9 +5,9 @@ import (
"os"
"strings"
- "github.com/Dreamacro/clash/component/geodata/router"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"google.golang.org/protobuf/proto"
)
diff --git a/component/geodata/memconservative/memc.go b/component/geodata/memconservative/memc.go
index 88d3b4e50..30d89f102 100644
--- a/component/geodata/memconservative/memc.go
+++ b/component/geodata/memconservative/memc.go
@@ -5,8 +5,8 @@ import (
"fmt"
"runtime"
- "github.com/Dreamacro/clash/component/geodata"
- "github.com/Dreamacro/clash/component/geodata/router"
+ "github.com/metacubex/mihomo/component/geodata"
+ "github.com/metacubex/mihomo/component/geodata/router"
)
type memConservativeLoader struct {
diff --git a/component/geodata/router/condition.go b/component/geodata/router/condition.go
index 4e0ad46c0..156614aeb 100644
--- a/component/geodata/router/condition.go
+++ b/component/geodata/router/condition.go
@@ -7,7 +7,7 @@ import (
"sort"
"strings"
- "github.com/Dreamacro/clash/component/geodata/strmatcher"
+ "github.com/metacubex/mihomo/component/geodata/strmatcher"
)
var matcherTypeMap = map[Domain_Type]strmatcher.Type{
diff --git a/component/geodata/router/config.pb.go b/component/geodata/router/config.pb.go
index 7c3af22a2..59d90c7a9 100644
--- a/component/geodata/router/config.pb.go
+++ b/component/geodata/router/config.pb.go
@@ -84,7 +84,7 @@ type Domain struct {
unknownFields protoimpl.UnknownFields
// Domain matching type.
- Type Domain_Type `protobuf:"varint,1,opt,name=type,proto3,enum=clash.component.geodata.router.Domain_Type" json:"type,omitempty"`
+ Type Domain_Type `protobuf:"varint,1,opt,name=type,proto3,enum=mihomo.component.geodata.router.Domain_Type" json:"type,omitempty"`
// Domain value.
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// Attributes of this domain. May be used for filtering.
@@ -585,22 +585,22 @@ func file_component_geodata_router_config_proto_rawDescGZIP() []byte {
var file_component_geodata_router_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_component_geodata_router_config_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_component_geodata_router_config_proto_goTypes = []interface{}{
- (Domain_Type)(0), // 0: clash.component.geodata.router.Domain.Type
- (*Domain)(nil), // 1: clash.component.geodata.router.Domain
- (*CIDR)(nil), // 2: clash.component.geodata.router.CIDR
- (*GeoIP)(nil), // 3: clash.component.geodata.router.GeoIP
- (*GeoIPList)(nil), // 4: clash.component.geodata.router.GeoIPList
- (*GeoSite)(nil), // 5: clash.component.geodata.router.GeoSite
- (*GeoSiteList)(nil), // 6: clash.component.geodata.router.GeoSiteList
- (*Domain_Attribute)(nil), // 7: clash.component.geodata.router.Domain.Attribute
+ (Domain_Type)(0), // 0: mihomo.component.geodata.router.Domain.Type
+ (*Domain)(nil), // 1: mihomo.component.geodata.router.Domain
+ (*CIDR)(nil), // 2: mihomo.component.geodata.router.CIDR
+ (*GeoIP)(nil), // 3: mihomo.component.geodata.router.GeoIP
+ (*GeoIPList)(nil), // 4: mihomo.component.geodata.router.GeoIPList
+ (*GeoSite)(nil), // 5: mihomo.component.geodata.router.GeoSite
+ (*GeoSiteList)(nil), // 6: mihomo.component.geodata.router.GeoSiteList
+ (*Domain_Attribute)(nil), // 7: mihomo.component.geodata.router.Domain.Attribute
}
var file_component_geodata_router_config_proto_depIdxs = []int32{
- 0, // 0: clash.component.geodata.router.Domain.type:type_name -> clash.component.geodata.router.Domain.Type
- 7, // 1: clash.component.geodata.router.Domain.attribute:type_name -> clash.component.geodata.router.Domain.Attribute
- 2, // 2: clash.component.geodata.router.GeoIP.cidr:type_name -> clash.component.geodata.router.CIDR
- 3, // 3: clash.component.geodata.router.GeoIPList.entry:type_name -> clash.component.geodata.router.GeoIP
- 1, // 4: clash.component.geodata.router.GeoSite.domain:type_name -> clash.component.geodata.router.Domain
- 5, // 5: clash.component.geodata.router.GeoSiteList.entry:type_name -> clash.component.geodata.router.GeoSite
+ 0, // 0: mihomo.component.geodata.router.Domain.type:type_name -> mihomo.component.geodata.router.Domain.Type
+ 7, // 1: mihomo.component.geodata.router.Domain.attribute:type_name -> mihomo.component.geodata.router.Domain.Attribute
+ 2, // 2: mihomo.component.geodata.router.GeoIP.cidr:type_name -> mihomo.component.geodata.router.CIDR
+ 3, // 3: mihomo.component.geodata.router.GeoIPList.entry:type_name -> mihomo.component.geodata.router.GeoIP
+ 1, // 4: mihomo.component.geodata.router.GeoSite.domain:type_name -> mihomo.component.geodata.router.Domain
+ 5, // 5: mihomo.component.geodata.router.GeoSiteList.entry:type_name -> mihomo.component.geodata.router.GeoSite
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
diff --git a/component/geodata/router/config.proto b/component/geodata/router/config.proto
index 245faadf9..98795740d 100644
--- a/component/geodata/router/config.proto
+++ b/component/geodata/router/config.proto
@@ -1,9 +1,9 @@
syntax = "proto3";
-package clash.component.geodata.router;
-option csharp_namespace = "Clash.Component.Geodata.Router";
-option go_package = "github.com/Dreamacro/clash/component/geodata/router";
-option java_package = "com.clash.component.geodata.router";
+package mihomo.component.geodata.router;
+option csharp_namespace = "Mihomo.Component.Geodata.Router";
+option go_package = "github.com/metacubex/mihomo/component/geodata/router";
+option java_package = "com.mihomo.component.geodata.router";
option java_multiple_files = true;
// Domain for routing decision.
diff --git a/component/geodata/standard/standard.go b/component/geodata/standard/standard.go
index 355cbf348..bfaae5ece 100644
--- a/component/geodata/standard/standard.go
+++ b/component/geodata/standard/standard.go
@@ -6,9 +6,9 @@ import (
"os"
"strings"
- "github.com/Dreamacro/clash/component/geodata"
- "github.com/Dreamacro/clash/component/geodata/router"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/component/geodata"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ C "github.com/metacubex/mihomo/constant"
"google.golang.org/protobuf/proto"
)
diff --git a/component/geodata/strmatcher/ac_automaton_matcher.go b/component/geodata/strmatcher/ac_automaton_matcher.go
index d134c68aa..ca7dc48b6 100644
--- a/component/geodata/strmatcher/ac_automaton_matcher.go
+++ b/component/geodata/strmatcher/ac_automaton_matcher.go
@@ -1,7 +1,7 @@
package strmatcher
import (
- "github.com/Dreamacro/clash/common/generics/list"
+ "github.com/metacubex/mihomo/common/generics/list"
)
const validCharCount = 53
diff --git a/component/geodata/utils.go b/component/geodata/utils.go
index 04ccfa515..4716ccbde 100644
--- a/component/geodata/utils.go
+++ b/component/geodata/utils.go
@@ -6,9 +6,9 @@ import (
"golang.org/x/sync/singleflight"
"strings"
- "github.com/Dreamacro/clash/component/geodata/router"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
var geoLoaderName = "memconservative"
diff --git a/component/http/http.go b/component/http/http.go
index 073f02374..455db681d 100644
--- a/component/http/http.go
+++ b/component/http/http.go
@@ -11,9 +11,9 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/component/ca"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/inner"
+ "github.com/metacubex/mihomo/component/ca"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/inner"
)
func HttpRequest(ctx context.Context, url, method string, header map[string][]string, body io.Reader) (*http.Response, error) {
diff --git a/component/iface/iface.go b/component/iface/iface.go
index 03051cb3d..bf186165f 100644
--- a/component/iface/iface.go
+++ b/component/iface/iface.go
@@ -7,7 +7,7 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/singledo"
+ "github.com/metacubex/mihomo/common/singledo"
)
type Interface struct {
diff --git a/component/mmdb/mmdb.go b/component/mmdb/mmdb.go
index 5db8bee94..f83b99221 100644
--- a/component/mmdb/mmdb.go
+++ b/component/mmdb/mmdb.go
@@ -8,9 +8,9 @@ import (
"sync"
"time"
- clashHttp "github.com/Dreamacro/clash/component/http"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ mihomoHttp "github.com/metacubex/mihomo/component/http"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/oschwald/maxminddb-golang"
)
@@ -79,7 +79,7 @@ func Instance() Reader {
func DownloadMMDB(path string) (err error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*90)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, C.MmdbUrl, http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, C.MmdbUrl, http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return
}
diff --git a/component/nat/proxy.go b/component/nat/proxy.go
index 29ff3c813..66af3be28 100644
--- a/component/nat/proxy.go
+++ b/component/nat/proxy.go
@@ -3,8 +3,8 @@ package nat
import (
"net"
- "github.com/Dreamacro/clash/common/atomic"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/atomic"
+ C "github.com/metacubex/mihomo/constant"
)
type writeBackProxy struct {
diff --git a/component/nat/table.go b/component/nat/table.go
index df258dc28..b2908c948 100644
--- a/component/nat/table.go
+++ b/component/nat/table.go
@@ -4,7 +4,7 @@ import (
"net"
"sync"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
"github.com/puzpuzpuz/xsync/v2"
)
diff --git a/component/process/process_freebsd_amd64.go b/component/process/process_freebsd_amd64.go
index 709ade3b3..1884afcc1 100644
--- a/component/process/process_freebsd_amd64.go
+++ b/component/process/process_freebsd_amd64.go
@@ -10,8 +10,8 @@ import (
"syscall"
"unsafe"
- "github.com/Dreamacro/clash/common/nnip"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/nnip"
+ "github.com/metacubex/mihomo/log"
)
// store process name for when dealing with multiple PROCESS-NAME rules
diff --git a/component/process/process_windows.go b/component/process/process_windows.go
index 21878bf6b..d43c78c6b 100644
--- a/component/process/process_windows.go
+++ b/component/process/process_windows.go
@@ -7,8 +7,8 @@ import (
"syscall"
"unsafe"
- "github.com/Dreamacro/clash/common/nnip"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/nnip"
+ "github.com/metacubex/mihomo/log"
"golang.org/x/sys/windows"
)
diff --git a/component/profile/cachefile/cache.go b/component/profile/cachefile/cache.go
index 3d2dd1deb..688128249 100644
--- a/component/profile/cachefile/cache.go
+++ b/component/profile/cachefile/cache.go
@@ -5,9 +5,9 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/component/profile"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/profile"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"go.etcd.io/bbolt"
)
diff --git a/component/profile/profile.go b/component/profile/profile.go
index aa6df2f77..36db8cc39 100644
--- a/component/profile/profile.go
+++ b/component/profile/profile.go
@@ -1,7 +1,7 @@
package profile
import (
- "github.com/Dreamacro/clash/common/atomic"
+ "github.com/metacubex/mihomo/common/atomic"
)
// StoreSelected is a global switch for storing selected proxy to cache
diff --git a/component/proxydialer/proxydialer.go b/component/proxydialer/proxydialer.go
index 2d14abaef..71a658b86 100644
--- a/component/proxydialer/proxydialer.go
+++ b/component/proxydialer/proxydialer.go
@@ -8,12 +8,12 @@ import (
"net/netip"
"strings"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/tunnel"
- "github.com/Dreamacro/clash/tunnel/statistic"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/tunnel"
+ "github.com/metacubex/mihomo/tunnel/statistic"
)
type proxyDialer struct {
diff --git a/component/proxydialer/sing.go b/component/proxydialer/sing.go
index 9b116527b..71180c016 100644
--- a/component/proxydialer/sing.go
+++ b/component/proxydialer/sing.go
@@ -4,7 +4,7 @@ import (
"context"
"net"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
M "github.com/sagernet/sing/common/metadata"
N "github.com/sagernet/sing/common/network"
diff --git a/component/resolver/host.go b/component/resolver/host.go
index d6eb58732..69c29a3c6 100644
--- a/component/resolver/host.go
+++ b/component/resolver/host.go
@@ -6,8 +6,8 @@ import (
"strings"
_ "unsafe"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/trie"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/trie"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/component/resolver/resolver.go b/component/resolver/resolver.go
index 6be6a95ff..8cbc62fa3 100644
--- a/component/resolver/resolver.go
+++ b/component/resolver/resolver.go
@@ -9,8 +9,8 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/trie"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/trie"
"github.com/miekg/dns"
"github.com/zhangyunhao116/fastrand"
diff --git a/component/resource/fetcher.go b/component/resource/fetcher.go
index c92687b16..31dc5c08b 100644
--- a/component/resource/fetcher.go
+++ b/component/resource/fetcher.go
@@ -7,8 +7,8 @@ import (
"path/filepath"
"time"
- types "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/log"
+ types "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/log"
"github.com/samber/lo"
)
diff --git a/component/resource/vehicle.go b/component/resource/vehicle.go
index 2f4bfbc8d..b2e294182 100644
--- a/component/resource/vehicle.go
+++ b/component/resource/vehicle.go
@@ -8,8 +8,8 @@ import (
"os"
"time"
- clashHttp "github.com/Dreamacro/clash/component/http"
- types "github.com/Dreamacro/clash/constant/provider"
+ mihomoHttp "github.com/metacubex/mihomo/component/http"
+ types "github.com/metacubex/mihomo/constant/provider"
)
type FileVehicle struct {
@@ -52,7 +52,7 @@ func (h *HTTPVehicle) Path() string {
func (h *HTTPVehicle) Read() ([]byte, error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*20)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, h.url, http.MethodGet, nil, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, h.url, http.MethodGet, nil, nil)
if err != nil {
return nil, err
}
diff --git a/component/sniffer/base_sniffer.go b/component/sniffer/base_sniffer.go
index 6d869aa09..55f51c500 100644
--- a/component/sniffer/base_sniffer.go
+++ b/component/sniffer/base_sniffer.go
@@ -3,9 +3,9 @@ package sniffer
import (
"errors"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/sniffer"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/sniffer"
)
type SnifferConfig struct {
diff --git a/component/sniffer/dispatcher.go b/component/sniffer/dispatcher.go
index 11deb1eda..29bea0885 100644
--- a/component/sniffer/dispatcher.go
+++ b/component/sniffer/dispatcher.go
@@ -8,12 +8,12 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/cache"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/trie"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/sniffer"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/cache"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/trie"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/sniffer"
+ "github.com/metacubex/mihomo/log"
)
var (
diff --git a/component/sniffer/http_sniffer.go b/component/sniffer/http_sniffer.go
index ee958a1c0..76bf15591 100644
--- a/component/sniffer/http_sniffer.go
+++ b/component/sniffer/http_sniffer.go
@@ -7,9 +7,9 @@ import (
"net"
"strings"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/sniffer"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/sniffer"
)
var (
diff --git a/component/sniffer/quic_sniffer.go b/component/sniffer/quic_sniffer.go
index ef49e5adf..0e3994f07 100644
--- a/component/sniffer/quic_sniffer.go
+++ b/component/sniffer/quic_sniffer.go
@@ -8,9 +8,9 @@ import (
"errors"
"io"
- "github.com/Dreamacro/clash/common/buf"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/buf"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
"github.com/metacubex/quic-go/quicvarint"
"golang.org/x/crypto/hkdf"
diff --git a/component/sniffer/tls_sniffer.go b/component/sniffer/tls_sniffer.go
index b695c76fc..974df79a5 100644
--- a/component/sniffer/tls_sniffer.go
+++ b/component/sniffer/tls_sniffer.go
@@ -5,9 +5,9 @@ import (
"errors"
"strings"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/sniffer"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/sniffer"
)
var (
diff --git a/component/tls/reality.go b/component/tls/reality.go
index 2902aa4b9..250dc4d02 100644
--- a/component/tls/reality.go
+++ b/component/tls/reality.go
@@ -20,9 +20,9 @@ import (
"time"
"unsafe"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/ntp"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/ntp"
utls "github.com/sagernet/utls"
"github.com/zhangyunhao116/fastrand"
diff --git a/component/tls/utls.go b/component/tls/utls.go
index 3aa030d35..787f6fadc 100644
--- a/component/tls/utls.go
+++ b/component/tls/utls.go
@@ -4,7 +4,7 @@ import (
"crypto/tls"
"net"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
"github.com/mroth/weightedrand/v2"
utls "github.com/sagernet/utls"
diff --git a/component/trie/domain_set.go b/component/trie/domain_set.go
index e1ad65597..860d1235d 100644
--- a/component/trie/domain_set.go
+++ b/component/trie/domain_set.go
@@ -7,7 +7,7 @@ import (
"sort"
"strings"
- "github.com/Dreamacro/clash/common/utils"
+ "github.com/metacubex/mihomo/common/utils"
"github.com/openacid/low/bitmap"
)
diff --git a/component/trie/domain_set_test.go b/component/trie/domain_set_test.go
index 9e0e0b70a..77106d5ff 100644
--- a/component/trie/domain_set_test.go
+++ b/component/trie/domain_set_test.go
@@ -3,7 +3,7 @@ package trie_test
import (
"testing"
- "github.com/Dreamacro/clash/component/trie"
+ "github.com/metacubex/mihomo/component/trie"
"github.com/stretchr/testify/assert"
)
diff --git a/component/trie/domain_test.go b/component/trie/domain_test.go
index 976055a9e..4c5d8002d 100644
--- a/component/trie/domain_test.go
+++ b/component/trie/domain_test.go
@@ -4,7 +4,7 @@ import (
"net/netip"
"testing"
- "github.com/Dreamacro/clash/component/trie"
+ "github.com/metacubex/mihomo/component/trie"
"github.com/stretchr/testify/assert"
)
diff --git a/component/trie/ipcidr_trie.go b/component/trie/ipcidr_trie.go
index 08edbbeb7..a2ccfa162 100644
--- a/component/trie/ipcidr_trie.go
+++ b/component/trie/ipcidr_trie.go
@@ -3,7 +3,7 @@ package trie
import (
"net"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
)
type IPV6 bool
diff --git a/config/config.go b/config/config.go
index 11951aa1a..76ff9d689 100644
--- a/config/config.go
+++ b/config/config.go
@@ -13,31 +13,31 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/adapter"
- "github.com/Dreamacro/clash/adapter/outbound"
- "github.com/Dreamacro/clash/adapter/outboundgroup"
- "github.com/Dreamacro/clash/adapter/provider"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/auth"
- "github.com/Dreamacro/clash/component/fakeip"
- "github.com/Dreamacro/clash/component/geodata"
- "github.com/Dreamacro/clash/component/geodata/router"
- P "github.com/Dreamacro/clash/component/process"
- "github.com/Dreamacro/clash/component/resolver"
- SNIFF "github.com/Dreamacro/clash/component/sniffer"
- tlsC "github.com/Dreamacro/clash/component/tls"
- "github.com/Dreamacro/clash/component/trie"
- C "github.com/Dreamacro/clash/constant"
- providerTypes "github.com/Dreamacro/clash/constant/provider"
- snifferTypes "github.com/Dreamacro/clash/constant/sniffer"
- "github.com/Dreamacro/clash/dns"
- L "github.com/Dreamacro/clash/listener"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/log"
- R "github.com/Dreamacro/clash/rules"
- RP "github.com/Dreamacro/clash/rules/provider"
- T "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/adapter"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ "github.com/metacubex/mihomo/adapter/outboundgroup"
+ "github.com/metacubex/mihomo/adapter/provider"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/auth"
+ "github.com/metacubex/mihomo/component/fakeip"
+ "github.com/metacubex/mihomo/component/geodata"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ P "github.com/metacubex/mihomo/component/process"
+ "github.com/metacubex/mihomo/component/resolver"
+ SNIFF "github.com/metacubex/mihomo/component/sniffer"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ "github.com/metacubex/mihomo/component/trie"
+ C "github.com/metacubex/mihomo/constant"
+ providerTypes "github.com/metacubex/mihomo/constant/provider"
+ snifferTypes "github.com/metacubex/mihomo/constant/sniffer"
+ "github.com/metacubex/mihomo/dns"
+ L "github.com/metacubex/mihomo/listener"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/log"
+ R "github.com/metacubex/mihomo/rules"
+ RP "github.com/metacubex/mihomo/rules/provider"
+ T "github.com/metacubex/mihomo/tunnel"
"gopkg.in/yaml.v3"
)
@@ -162,7 +162,7 @@ type Experimental struct {
QUICGoDisableECN bool `yaml:"quic-go-disable-ecn"`
}
-// Config is clash config manager
+// Config is mihomo config manager
type Config struct {
General *General
IPTables *IPTables
@@ -381,7 +381,7 @@ func UnmarshalRawConfig(buf []byte) (*RawConfig, error) {
ProxyGroup: []map[string]any{},
TCPConcurrent: false,
FindProcessMode: P.FindProcessStrict,
- GlobalUA: "clash.meta",
+ GlobalUA: "mihomo",
Tun: RawTun{
Enable: false,
Device: "",
@@ -917,9 +917,9 @@ func parseHosts(cfg *RawConfig) (*trie.DomainTrie[resolver.HostValue], error) {
if len(cfg.Hosts) != 0 {
for domain, anyValue := range cfg.Hosts {
- if str, ok := anyValue.(string); ok && str == "clash" {
+ if str, ok := anyValue.(string); ok && str == "mihomo" {
if addrs, err := net.InterfaceAddrs(); err != nil {
- log.Errorln("insert clash to host error: %s", err)
+ log.Errorln("insert mihomo to host error: %s", err)
} else {
ips := make([]netip.Addr, 0)
for _, addr := range addrs {
diff --git a/config/initial.go b/config/initial.go
index 6d6429ab4..61d128956 100644
--- a/config/initial.go
+++ b/config/initial.go
@@ -4,8 +4,8 @@ import (
"fmt"
"os"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
// Init prepare necessary files
diff --git a/config/update_geo.go b/config/update_geo.go
index 07f211e4c..718c2d076 100644
--- a/config/update_geo.go
+++ b/config/update_geo.go
@@ -4,9 +4,9 @@ import (
"fmt"
"runtime"
- "github.com/Dreamacro/clash/component/geodata"
- _ "github.com/Dreamacro/clash/component/geodata/standard"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/component/geodata"
+ _ "github.com/metacubex/mihomo/component/geodata/standard"
+ C "github.com/metacubex/mihomo/constant"
"github.com/oschwald/maxminddb-golang"
)
diff --git a/config/update_ui.go b/config/update_ui.go
index 27e0f3824..e5596597d 100644
--- a/config/update_ui.go
+++ b/config/update_ui.go
@@ -11,7 +11,7 @@ import (
"strings"
"sync"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
var (
diff --git a/config/utils.go b/config/utils.go
index 1fa546344..5a4fecbf0 100644
--- a/config/utils.go
+++ b/config/utils.go
@@ -11,15 +11,15 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/adapter/outboundgroup"
- "github.com/Dreamacro/clash/common/structure"
- clashHttp "github.com/Dreamacro/clash/component/http"
+ "github.com/metacubex/mihomo/adapter/outboundgroup"
+ "github.com/metacubex/mihomo/common/structure"
+ mihomoHttp "github.com/metacubex/mihomo/component/http"
)
func downloadForBytes(url string) ([]byte, error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*90)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, url, http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, url, http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return nil, err
}
diff --git a/constant/adapters.go b/constant/adapters.go
index ad50a8aba..5cf6e07c9 100644
--- a/constant/adapters.go
+++ b/constant/adapters.go
@@ -9,9 +9,9 @@ import (
"sync"
"time"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/dialer"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/dialer"
)
// Adapter Type
diff --git a/constant/context.go b/constant/context.go
index 1c70124b6..11ad70110 100644
--- a/constant/context.go
+++ b/constant/context.go
@@ -3,7 +3,7 @@ package constant
import (
"net"
- N "github.com/Dreamacro/clash/common/net"
+ N "github.com/metacubex/mihomo/common/net"
"github.com/gofrs/uuid/v5"
)
diff --git a/constant/ebpf.go b/constant/ebpf.go
index b722dce14..e3bb62fed 100644
--- a/constant/ebpf.go
+++ b/constant/ebpf.go
@@ -3,14 +3,14 @@ package constant
import (
"net/netip"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
)
const (
- BpfFSPath = "/sys/fs/bpf/clash"
+ BpfFSPath = "/sys/fs/bpf/mihomo"
- TcpAutoRedirPort = 't'<<8 | 'r'<<0
- ClashTrafficMark = 'c'<<24 | 'l'<<16 | 't'<<8 | 'm'<<0
+ TcpAutoRedirPort = 't'<<8 | 'r'<<0
+ MihomoTrafficMark = 'c'<<24 | 'l'<<16 | 't'<<8 | 'm'<<0
)
type EBpf interface {
diff --git a/constant/metadata.go b/constant/metadata.go
index 5f4722054..4b547a818 100644
--- a/constant/metadata.go
+++ b/constant/metadata.go
@@ -7,7 +7,7 @@ import (
"net/netip"
"strconv"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
)
// Socks addr type
@@ -161,7 +161,7 @@ func (m *Metadata) SourceAddress() string {
func (m *Metadata) SourceDetail() string {
if m.Type == INNER {
- return fmt.Sprintf("%s", ClashName)
+ return fmt.Sprintf("%s", MihomoName)
}
switch {
diff --git a/constant/path.go b/constant/path.go
index 0d82f549f..a920fbbc6 100644
--- a/constant/path.go
+++ b/constant/path.go
@@ -10,7 +10,7 @@ import (
"strings"
)
-const Name = "clash"
+const Name = "mihomo"
var (
GeositeName = "GeoSite.dat"
@@ -19,8 +19,8 @@ var (
// Path is used to get the configuration path
//
-// on Unix systems, `$HOME/.config/clash`.
-// on Windows, `%USERPROFILE%/.config/clash`.
+// on Unix systems, `$HOME/.config/mihomo`.
+// on Windows, `%USERPROFILE%/.config/mihomo`.
var Path = func() *path {
homeDir, err := os.UserHomeDir()
if err != nil {
@@ -165,7 +165,7 @@ func (p *path) GetAssetLocation(file string) string {
func (p *path) GetExecutableFullPath() string {
exePath, err := os.Executable()
if err != nil {
- return "clash"
+ return "mihomo"
}
res, _ := filepath.EvalSymlinks(exePath)
return res
diff --git a/constant/provider/interface.go b/constant/provider/interface.go
index 34590a48e..809db9c51 100644
--- a/constant/provider/interface.go
+++ b/constant/provider/interface.go
@@ -1,8 +1,8 @@
package provider
import (
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/constant"
)
// Vehicle Type
diff --git a/constant/rule_extra.go b/constant/rule_extra.go
index 3c5de5d53..62dc1cc37 100644
--- a/constant/rule_extra.go
+++ b/constant/rule_extra.go
@@ -1,7 +1,7 @@
package constant
import (
- "github.com/Dreamacro/clash/component/geodata/router"
+ "github.com/metacubex/mihomo/component/geodata/router"
)
type RuleGeoSite interface {
diff --git a/constant/sniffer/sniffer.go b/constant/sniffer/sniffer.go
index 47dbd069f..36da69a3b 100644
--- a/constant/sniffer/sniffer.go
+++ b/constant/sniffer/sniffer.go
@@ -1,6 +1,6 @@
package sniffer
-import "github.com/Dreamacro/clash/constant"
+import "github.com/metacubex/mihomo/constant"
type Sniffer interface {
SupportNetwork() constant.NetWork
diff --git a/constant/version.go b/constant/version.go
index cbb7ab61b..c71024c28 100644
--- a/constant/version.go
+++ b/constant/version.go
@@ -1,8 +1,8 @@
package constant
var (
- Meta = true
- Version = "1.10.0"
- BuildTime = "unknown time"
- ClashName = "clash.meta"
+ Meta = true
+ Version = "1.10.0"
+ BuildTime = "unknown time"
+ MihomoName = "mihomo"
)
diff --git a/context/conn.go b/context/conn.go
index afeed852e..bae07c23d 100644
--- a/context/conn.go
+++ b/context/conn.go
@@ -1,11 +1,11 @@
package context
import (
- "github.com/Dreamacro/clash/common/utils"
+ "github.com/metacubex/mihomo/common/utils"
"net"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
"github.com/gofrs/uuid/v5"
)
diff --git a/context/dns.go b/context/dns.go
index ae29154fa..1cc2067d8 100644
--- a/context/dns.go
+++ b/context/dns.go
@@ -2,7 +2,7 @@ package context
import (
"context"
- "github.com/Dreamacro/clash/common/utils"
+ "github.com/metacubex/mihomo/common/utils"
"github.com/gofrs/uuid/v5"
"github.com/miekg/dns"
diff --git a/context/packetconn.go b/context/packetconn.go
index d695bae50..feab7666f 100644
--- a/context/packetconn.go
+++ b/context/packetconn.go
@@ -3,8 +3,8 @@ package context
import (
"net"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
"github.com/gofrs/uuid/v5"
)
diff --git a/dns/client.go b/dns/client.go
index 5cdd1ec02..95f0f29b1 100644
--- a/dns/client.go
+++ b/dns/client.go
@@ -8,10 +8,10 @@ import (
"net/netip"
"strings"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
D "github.com/miekg/dns"
"github.com/zhangyunhao116/fastrand"
diff --git a/dns/dhcp.go b/dns/dhcp.go
index 70f9aeebb..dc1344f50 100644
--- a/dns/dhcp.go
+++ b/dns/dhcp.go
@@ -8,8 +8,8 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/component/dhcp"
- "github.com/Dreamacro/clash/component/iface"
+ "github.com/metacubex/mihomo/component/dhcp"
+ "github.com/metacubex/mihomo/component/iface"
D "github.com/miekg/dns"
)
diff --git a/dns/doh.go b/dns/doh.go
index 488e90258..9e173c843 100644
--- a/dns/doh.go
+++ b/dns/doh.go
@@ -15,9 +15,9 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/component/ca"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/ca"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/metacubex/quic-go"
"github.com/metacubex/quic-go/http3"
D "github.com/miekg/dns"
diff --git a/dns/doq.go b/dns/doq.go
index 76da913fa..70b67c2a6 100644
--- a/dns/doq.go
+++ b/dns/doq.go
@@ -12,9 +12,9 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/component/ca"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/ca"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/metacubex/quic-go"
D "github.com/miekg/dns"
diff --git a/dns/enhancer.go b/dns/enhancer.go
index ab144fd32..82fdd35a2 100644
--- a/dns/enhancer.go
+++ b/dns/enhancer.go
@@ -3,9 +3,9 @@ package dns
import (
"net/netip"
- "github.com/Dreamacro/clash/common/cache"
- "github.com/Dreamacro/clash/component/fakeip"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/cache"
+ "github.com/metacubex/mihomo/component/fakeip"
+ C "github.com/metacubex/mihomo/constant"
)
type ResolverEnhancer struct {
diff --git a/dns/filters.go b/dns/filters.go
index f7e953e8d..8eb1e48e2 100644
--- a/dns/filters.go
+++ b/dns/filters.go
@@ -4,12 +4,12 @@ import (
"net/netip"
"strings"
- "github.com/Dreamacro/clash/component/geodata"
- "github.com/Dreamacro/clash/component/geodata/router"
- "github.com/Dreamacro/clash/component/mmdb"
- "github.com/Dreamacro/clash/component/trie"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/geodata"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ "github.com/metacubex/mihomo/component/mmdb"
+ "github.com/metacubex/mihomo/component/trie"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type fallbackIPFilter interface {
diff --git a/dns/middleware.go b/dns/middleware.go
index 695432da4..f8e051a09 100644
--- a/dns/middleware.go
+++ b/dns/middleware.go
@@ -5,13 +5,13 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/cache"
- "github.com/Dreamacro/clash/common/nnip"
- "github.com/Dreamacro/clash/component/fakeip"
- R "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/context"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/cache"
+ "github.com/metacubex/mihomo/common/nnip"
+ "github.com/metacubex/mihomo/component/fakeip"
+ R "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/context"
+ "github.com/metacubex/mihomo/log"
D "github.com/miekg/dns"
)
diff --git a/dns/resolver.go b/dns/resolver.go
index d27f7bccf..610a06f09 100644
--- a/dns/resolver.go
+++ b/dns/resolver.go
@@ -7,14 +7,14 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/cache"
- "github.com/Dreamacro/clash/component/fakeip"
- "github.com/Dreamacro/clash/component/geodata/router"
- "github.com/Dreamacro/clash/component/resolver"
- "github.com/Dreamacro/clash/component/trie"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/cache"
+ "github.com/metacubex/mihomo/component/fakeip"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ "github.com/metacubex/mihomo/component/resolver"
+ "github.com/metacubex/mihomo/component/trie"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/log"
D "github.com/miekg/dns"
"github.com/samber/lo"
diff --git a/dns/server.go b/dns/server.go
index 5c5970db7..1cf58d4d8 100644
--- a/dns/server.go
+++ b/dns/server.go
@@ -5,9 +5,9 @@ import (
"errors"
"net"
- "github.com/Dreamacro/clash/common/sockopt"
- "github.com/Dreamacro/clash/context"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/sockopt"
+ "github.com/metacubex/mihomo/context"
+ "github.com/metacubex/mihomo/log"
D "github.com/miekg/dns"
)
diff --git a/dns/system.go b/dns/system.go
index 202829291..37607a60b 100644
--- a/dns/system.go
+++ b/dns/system.go
@@ -8,7 +8,7 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
D "github.com/miekg/dns"
"golang.org/x/exp/slices"
diff --git a/dns/util.go b/dns/util.go
index 34f7aa940..c354a73d8 100644
--- a/dns/util.go
+++ b/dns/util.go
@@ -11,15 +11,15 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/cache"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/nnip"
- "github.com/Dreamacro/clash/common/picker"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/common/cache"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/nnip"
+ "github.com/metacubex/mihomo/common/picker"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel"
D "github.com/miekg/dns"
"github.com/samber/lo"
diff --git a/docker/file-name.sh b/docker/file-name.sh
index 1ac2cee0f..3b2d61f97 100644
--- a/docker/file-name.sh
+++ b/docker/file-name.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-os="clash.meta-linux-"
+os="mihomo-linux-"
case $TARGETPLATFORM in
"linux/amd64")
arch="amd64-compatible"
diff --git a/docs/config.yaml b/docs/config.yaml
index 61a2dee9a..d5e1174ad 100644
--- a/docs/config.yaml
+++ b/docs/config.yaml
@@ -16,7 +16,7 @@ skip-auth-prefixes: # 设置跳过验证的IP段
# find-process-mode has 3 values:always, strict, off
# - always, 开启,强制匹配所有进程
-# - strict, 默认,由 clash 判断是否开启
+# - strict, 默认,由 mihomo 判断是否开启
# - off, 不匹配进程,推荐在路由器上使用此模式
find-process-mode: strict
@@ -74,11 +74,11 @@ experimental:
# 类似于 /etc/hosts, 仅支持配置单个 IP
hosts:
-# '*.clash.dev': 127.0.0.1
+# '*.mihomo.dev': 127.0.0.1
# '.dev': 127.0.0.1
-# 'alpha.clash.dev': '::1'
+# 'alpha.mihomo.dev': '::1'
# test.com: [1.1.1.1, 2.2.2.2]
-# clash.lan: clash # clash 为特别字段,将加入本地所有网卡的地址
+# mihomo.lan: mihomo # mihomo 为特别字段,将加入本地所有网卡的地址
# baidu.com: google.com # 只允许配置一个别名
profile: # 存储 select 选择记录
@@ -754,7 +754,7 @@ proxies: # socks5
proxy-groups:
# 代理链,目前relay可以支持udp的只有vmess/vless/trojan/ss/ssr/tuic
# wireguard目前不支持在relay中使用,请使用proxy中的dialer-proxy配置项
- # Traffic: clash <-> http <-> vmess <-> ss1 <-> ss2 <-> Internet
+ # Traffic: mihomo <-> http <-> vmess <-> ss1 <-> ss2 <-> Internet
- name: "relay"
type: relay
proxies:
@@ -823,13 +823,13 @@ proxy-groups:
- Proxy
- DIRECT
-# Clash 格式的节点或支持 *ray 的分享格式
+# Mihomo 格式的节点或支持 *ray 的分享格式
proxy-providers:
provider1:
type: http # http 的 path 可空置,默认储存路径为 homedir的proxies文件夹,文件名为url的md5
url: "url"
interval: 3600
- path: ./provider1.yaml # 默认只允许存储在 clash 的 Home Dir,如果想存储到任意位置,添加环境变量 SKIP_SAFE_PATH_CHECK=1
+ path: ./provider1.yaml # 默认只允许存储在 mihomo 的 Home Dir,如果想存储到任意位置,添加环境变量 SKIP_SAFE_PATH_CHECK=1
health-check:
enable: true
interval: 600
@@ -846,7 +846,7 @@ rule-providers:
rule1:
behavior: classical # domain ipcidr
interval: 259200
- path: /path/to/save/file.yaml # 默认只允许存储在 clash 的 Home Dir,如果想存储到任意位置,添加环境变量 SKIP_SAFE_PATH_CHECK=1
+ path: /path/to/save/file.yaml # 默认只允许存储在 mihomo 的 Home Dir,如果想存储到任意位置,添加环境变量 SKIP_SAFE_PATH_CHECK=1
type: http # http 的 path 可空置,默认储存路径为 homedir的rules文件夹,文件名为url的md5
url: "url"
rule2:
diff --git a/flake.nix b/flake.nix
index ffd186294..afe6e1c1d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,5 +1,5 @@
{
- description = "Another Clash Kernel";
+ description = "Another Mihomo Kernel";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/master";
@@ -15,7 +15,7 @@
};
in
rec {
- packages.default = pkgs.clash-meta;
+ packages.default = pkgs.mihomo-meta;
}
) //
(
@@ -23,8 +23,8 @@
{
overlay = final: prev: {
- clash-meta = final.buildGo119Module {
- pname = "clash-meta";
+ mihomo-meta = final.buildGo119Module {
+ pname = "mihomo-meta";
inherit version;
src = ./.;
@@ -38,8 +38,8 @@
ldflags = [
"-s"
"-w"
- "-X github.com/Dreamacro/clash/constant.Version=dev-${version}"
- "-X github.com/Dreamacro/clash/constant.BuildTime=${version}"
+ "-X github.com/metacubex/mihomo/constant.Version=dev-${version}"
+ "-X github.com/metacubex/mihomo/constant.BuildTime=${version}"
];
tags = [
@@ -50,7 +50,7 @@
doCheck = false;
postInstall = ''
- mv $out/bin/clash $out/bin/clash-meta
+ mv $out/bin/mihomo $out/bin/mihomo-meta
'';
};
diff --git a/go.mod b/go.mod
index 80ab477c6..da45cd28c 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/Dreamacro/clash
+module github.com/metacubex/mihomo
go 1.20
diff --git a/hub/executor/executor.go b/hub/executor/executor.go
index 87e0e0b1d..6ea029895 100644
--- a/hub/executor/executor.go
+++ b/hub/executor/executor.go
@@ -11,32 +11,32 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/ntp"
+ "github.com/metacubex/mihomo/ntp"
- "github.com/Dreamacro/clash/adapter"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/adapter/outboundgroup"
- "github.com/Dreamacro/clash/component/auth"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/component/dialer"
- G "github.com/Dreamacro/clash/component/geodata"
- "github.com/Dreamacro/clash/component/iface"
- "github.com/Dreamacro/clash/component/profile"
- "github.com/Dreamacro/clash/component/profile/cachefile"
- "github.com/Dreamacro/clash/component/resolver"
- SNI "github.com/Dreamacro/clash/component/sniffer"
- "github.com/Dreamacro/clash/component/trie"
- "github.com/Dreamacro/clash/config"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/dns"
- "github.com/Dreamacro/clash/listener"
- authStore "github.com/Dreamacro/clash/listener/auth"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/inner"
- "github.com/Dreamacro/clash/listener/tproxy"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/adapter"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/adapter/outboundgroup"
+ "github.com/metacubex/mihomo/component/auth"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/component/dialer"
+ G "github.com/metacubex/mihomo/component/geodata"
+ "github.com/metacubex/mihomo/component/iface"
+ "github.com/metacubex/mihomo/component/profile"
+ "github.com/metacubex/mihomo/component/profile/cachefile"
+ "github.com/metacubex/mihomo/component/resolver"
+ SNI "github.com/metacubex/mihomo/component/sniffer"
+ "github.com/metacubex/mihomo/component/trie"
+ "github.com/metacubex/mihomo/config"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/dns"
+ "github.com/metacubex/mihomo/listener"
+ authStore "github.com/metacubex/mihomo/listener/auth"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/inner"
+ "github.com/metacubex/mihomo/listener/tproxy"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel"
)
var mux sync.Mutex
@@ -505,5 +505,5 @@ func Shutdown() {
tproxy.CleanupTProxyIPTables()
resolver.StoreFakePoolState()
- log.Warnln("Clash shutting down")
+ log.Warnln("Mihomo shutting down")
}
diff --git a/hub/hub.go b/hub/hub.go
index bd228fad1..323f87495 100644
--- a/hub/hub.go
+++ b/hub/hub.go
@@ -1,10 +1,10 @@
package hub
import (
- "github.com/Dreamacro/clash/config"
- "github.com/Dreamacro/clash/hub/executor"
- "github.com/Dreamacro/clash/hub/route"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/config"
+ "github.com/metacubex/mihomo/hub/executor"
+ "github.com/metacubex/mihomo/hub/route"
+ "github.com/metacubex/mihomo/log"
)
type Option func(*config.Config)
@@ -27,7 +27,7 @@ func WithSecret(secret string) Option {
}
}
-// Parse call at the beginning of clash
+// Parse call at the beginning of mihomo
func Parse(options ...Option) error {
cfg, err := executor.Parse()
if err != nil {
diff --git a/hub/route/cache.go b/hub/route/cache.go
index bdfd2e35c..f07eb33ab 100644
--- a/hub/route/cache.go
+++ b/hub/route/cache.go
@@ -3,7 +3,7 @@ package route
import (
"net/http"
- "github.com/Dreamacro/clash/component/resolver"
+ "github.com/metacubex/mihomo/component/resolver"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/configs.go b/hub/route/configs.go
index e86bb2a80..3b5f62b32 100644
--- a/hub/route/configs.go
+++ b/hub/route/configs.go
@@ -6,17 +6,17 @@ import (
"path/filepath"
"sync"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/resolver"
- "github.com/Dreamacro/clash/config"
- "github.com/Dreamacro/clash/constant"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/hub/executor"
- P "github.com/Dreamacro/clash/listener"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/resolver"
+ "github.com/metacubex/mihomo/config"
+ "github.com/metacubex/mihomo/constant"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/hub/executor"
+ P "github.com/metacubex/mihomo/listener"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/connections.go b/hub/route/connections.go
index 67d5afa30..e0ff24264 100644
--- a/hub/route/connections.go
+++ b/hub/route/connections.go
@@ -7,7 +7,7 @@ import (
"strconv"
"time"
- "github.com/Dreamacro/clash/tunnel/statistic"
+ "github.com/metacubex/mihomo/tunnel/statistic"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/ctxkeys.go b/hub/route/ctxkeys.go
index 563701926..6883b208f 100644
--- a/hub/route/ctxkeys.go
+++ b/hub/route/ctxkeys.go
@@ -10,5 +10,5 @@ var (
type contextKey string
func (c contextKey) String() string {
- return "clash context key " + string(c)
+ return "mihomo context key " + string(c)
}
diff --git a/hub/route/dns.go b/hub/route/dns.go
index 2918b059b..1762c9471 100644
--- a/hub/route/dns.go
+++ b/hub/route/dns.go
@@ -5,7 +5,7 @@ import (
"math"
"net/http"
- "github.com/Dreamacro/clash/component/resolver"
+ "github.com/metacubex/mihomo/component/resolver"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/groups.go b/hub/route/groups.go
index c82207f06..e36b8ab04 100644
--- a/hub/route/groups.go
+++ b/hub/route/groups.go
@@ -8,11 +8,11 @@ import (
"strconv"
"time"
- "github.com/Dreamacro/clash/adapter"
- "github.com/Dreamacro/clash/adapter/outboundgroup"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/adapter"
+ "github.com/metacubex/mihomo/adapter/outboundgroup"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/tunnel"
)
func GroupRouter() http.Handler {
diff --git a/hub/route/provider.go b/hub/route/provider.go
index c050a9f1e..a8611a794 100644
--- a/hub/route/provider.go
+++ b/hub/route/provider.go
@@ -4,9 +4,9 @@ import (
"context"
"net/http"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/tunnel"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/tunnel"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/proxies.go b/hub/route/proxies.go
index c1e30b219..759e64d22 100644
--- a/hub/route/proxies.go
+++ b/hub/route/proxies.go
@@ -7,12 +7,12 @@ import (
"strconv"
"time"
- "github.com/Dreamacro/clash/adapter"
- "github.com/Dreamacro/clash/adapter/outboundgroup"
- "github.com/Dreamacro/clash/common/utils"
- "github.com/Dreamacro/clash/component/profile/cachefile"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/adapter"
+ "github.com/metacubex/mihomo/adapter/outboundgroup"
+ "github.com/metacubex/mihomo/common/utils"
+ "github.com/metacubex/mihomo/component/profile/cachefile"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/tunnel"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/restart.go b/hub/route/restart.go
index a907021ff..49d7e5170 100644
--- a/hub/route/restart.go
+++ b/hub/route/restart.go
@@ -8,8 +8,8 @@ import (
"runtime"
"syscall"
- "github.com/Dreamacro/clash/hub/executor"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/hub/executor"
+ "github.com/metacubex/mihomo/log"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/rules.go b/hub/route/rules.go
index 51f8f01ce..43d33299a 100644
--- a/hub/route/rules.go
+++ b/hub/route/rules.go
@@ -1,10 +1,10 @@
package route
import (
- "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/constant"
"net/http"
- "github.com/Dreamacro/clash/tunnel"
+ "github.com/metacubex/mihomo/tunnel"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/route/server.go b/hub/route/server.go
index 93afd9890..d510e9868 100644
--- a/hub/route/server.go
+++ b/hub/route/server.go
@@ -11,12 +11,12 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/adapter/inbound"
- CN "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel/statistic"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ CN "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel/statistic"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
@@ -189,7 +189,7 @@ func authentication(next http.Handler) http.Handler {
}
func hello(w http.ResponseWriter, r *http.Request) {
- render.JSON(w, r, render.M{"hello": "clash.meta"})
+ render.JSON(w, r, render.M{"hello": "mihomo"})
}
func traffic(w http.ResponseWriter, r *http.Request) {
diff --git a/hub/route/upgrade.go b/hub/route/upgrade.go
index 7b486ee31..ea371798f 100644
--- a/hub/route/upgrade.go
+++ b/hub/route/upgrade.go
@@ -6,9 +6,9 @@ import (
"net/http"
"os"
- "github.com/Dreamacro/clash/config"
- "github.com/Dreamacro/clash/hub/updater"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/config"
+ "github.com/metacubex/mihomo/hub/updater"
+ "github.com/metacubex/mihomo/log"
"github.com/go-chi/chi/v5"
"github.com/go-chi/render"
diff --git a/hub/updater/updater.go b/hub/updater/updater.go
index 1a930c03b..a3bc9a423 100644
--- a/hub/updater/updater.go
+++ b/hub/updater/updater.go
@@ -15,15 +15,15 @@ import (
"sync"
"time"
- clashHttp "github.com/Dreamacro/clash/component/http"
- "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ mihomoHttp "github.com/metacubex/mihomo/component/http"
+ "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/klauspost/cpuid/v2"
)
// modify from https://github.com/AdguardTeam/AdGuardHome/blob/595484e0b3fb4c457f9bb727a6b94faa78a66c5f/internal/updater/updater.go
-// Updater is the Clash.Meta updater.
+// Updater is the mihomo updater.
var (
goarm string
gomips string
@@ -41,8 +41,8 @@ var (
backupExeName string // 备份文件名
updateExeName string // 更新后的可执行文件
- baseURL string = "https://github.com/MetaCubeX/Clash.Meta/releases/download/Prerelease-Alpha/clash.meta"
- versionURL string = "https://github.com/MetaCubeX/Clash.Meta/releases/download/Prerelease-Alpha/version.txt"
+ baseURL string = "https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/mihomo"
+ versionURL string = "https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/version.txt"
packageURL string
latestVersion string
)
@@ -135,9 +135,9 @@ func prepare(exePath string) (err error) {
backupDir = filepath.Join(workDir, "meta-backup")
if runtime.GOOS == "windows" {
- updateExeName = "clash.meta" + "-" + runtime.GOOS + "-" + runtime.GOARCH + amd64Compatible + ".exe"
+ updateExeName = "mihomo" + "-" + runtime.GOOS + "-" + runtime.GOARCH + amd64Compatible + ".exe"
} else {
- updateExeName = "clash.meta" + "-" + runtime.GOOS + "-" + runtime.GOARCH + amd64Compatible
+ updateExeName = "mihomo" + "-" + runtime.GOOS + "-" + runtime.GOARCH + amd64Compatible
}
log.Infoln("updateExeName: %s ", updateExeName)
@@ -231,7 +231,7 @@ const MaxPackageFileSize = 32 * 1024 * 1024
func downloadPackageFile() (err error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*90)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, packageURL, http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, packageURL, http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return fmt.Errorf("http request failed: %w", err)
}
@@ -412,7 +412,7 @@ func copyFile(src, dst string) error {
func getLatestVersion() (version string, err error) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
- resp, err := clashHttp.HttpRequest(ctx, versionURL, http.MethodGet, http.Header{"User-Agent": {"clash"}}, nil)
+ resp, err := mihomoHttp.HttpRequest(ctx, versionURL, http.MethodGet, http.Header{"User-Agent": {"mihomo"}}, nil)
if err != nil {
return "", fmt.Errorf("get Latest Version fail: %w", err)
}
diff --git a/listener/auth/auth.go b/listener/auth/auth.go
index 70473114d..46f552b80 100644
--- a/listener/auth/auth.go
+++ b/listener/auth/auth.go
@@ -1,7 +1,7 @@
package auth
import (
- "github.com/Dreamacro/clash/component/auth"
+ "github.com/metacubex/mihomo/component/auth"
)
var authenticator auth.Authenticator
diff --git a/listener/autoredir/tcp.go b/listener/autoredir/tcp.go
index 57df45f3d..2b21b087b 100644
--- a/listener/autoredir/tcp.go
+++ b/listener/autoredir/tcp.go
@@ -4,11 +4,11 @@ import (
"net"
"net/netip"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Listener struct {
diff --git a/listener/config/tun.go b/listener/config/tun.go
index 3f151d1ed..6db1fd661 100644
--- a/listener/config/tun.go
+++ b/listener/config/tun.go
@@ -3,7 +3,7 @@ package config
import (
"net/netip"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
func StringSliceToNetipPrefixSlice(ss []string) ([]netip.Prefix, error) {
diff --git a/listener/http/client.go b/listener/http/client.go
index 84c284ff3..c35cadad6 100644
--- a/listener/http/client.go
+++ b/listener/http/client.go
@@ -7,9 +7,9 @@ import (
"net/http"
"time"
- "github.com/Dreamacro/clash/adapter/inbound"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
func newClient(srcConn net.Conn, tunnel C.Tunnel, additions ...inbound.Addition) *http.Client {
diff --git a/listener/http/proxy.go b/listener/http/proxy.go
index fa1d8f88d..76da4d953 100644
--- a/listener/http/proxy.go
+++ b/listener/http/proxy.go
@@ -6,12 +6,12 @@ import (
"net/http"
"strings"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/cache"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- authStore "github.com/Dreamacro/clash/listener/auth"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/cache"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ authStore "github.com/metacubex/mihomo/listener/auth"
+ "github.com/metacubex/mihomo/log"
)
func HandleConn(c net.Conn, tunnel C.Tunnel, cache *cache.LruCache[string, bool], additions ...inbound.Addition) {
diff --git a/listener/http/server.go b/listener/http/server.go
index 0377d3b60..a75e20927 100644
--- a/listener/http/server.go
+++ b/listener/http/server.go
@@ -3,9 +3,9 @@ package http
import (
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/cache"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/cache"
+ C "github.com/metacubex/mihomo/constant"
)
type Listener struct {
diff --git a/listener/http/upgrade.go b/listener/http/upgrade.go
index 6e4f063d1..8a6291d13 100644
--- a/listener/http/upgrade.go
+++ b/listener/http/upgrade.go
@@ -7,10 +7,10 @@ import (
"net/http"
"strings"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
func isUpgradeRequest(req *http.Request) bool {
diff --git a/listener/inbound/base.go b/listener/inbound/base.go
index 83695bb1a..e8f860a05 100644
--- a/listener/inbound/base.go
+++ b/listener/inbound/base.go
@@ -6,8 +6,8 @@ import (
"net/netip"
"strconv"
- "github.com/Dreamacro/clash/adapter/inbound"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ C "github.com/metacubex/mihomo/constant"
)
type Base struct {
diff --git a/listener/inbound/http.go b/listener/inbound/http.go
index 995771776..f5301f46c 100644
--- a/listener/inbound/http.go
+++ b/listener/inbound/http.go
@@ -1,9 +1,9 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/http"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/http"
+ "github.com/metacubex/mihomo/log"
)
type HTTPOption struct {
diff --git a/listener/inbound/hysteria2.go b/listener/inbound/hysteria2.go
index df537a413..112d03f8d 100644
--- a/listener/inbound/hysteria2.go
+++ b/listener/inbound/hysteria2.go
@@ -1,10 +1,10 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing_hysteria2"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing_hysteria2"
+ "github.com/metacubex/mihomo/log"
)
type Hysteria2Option struct {
diff --git a/listener/inbound/mixed.go b/listener/inbound/mixed.go
index ce445bdab..fc6438219 100644
--- a/listener/inbound/mixed.go
+++ b/listener/inbound/mixed.go
@@ -3,11 +3,11 @@ package inbound
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
- "github.com/Dreamacro/clash/listener/mixed"
- "github.com/Dreamacro/clash/listener/socks"
+ "github.com/metacubex/mihomo/listener/mixed"
+ "github.com/metacubex/mihomo/listener/socks"
)
type MixedOption struct {
diff --git a/listener/inbound/redir.go b/listener/inbound/redir.go
index 085bf3a83..ee090ade0 100644
--- a/listener/inbound/redir.go
+++ b/listener/inbound/redir.go
@@ -1,9 +1,9 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/redir"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/redir"
+ "github.com/metacubex/mihomo/log"
)
type RedirOption struct {
diff --git a/listener/inbound/shadowsocks.go b/listener/inbound/shadowsocks.go
index fa5b30824..cb32dcfb3 100644
--- a/listener/inbound/shadowsocks.go
+++ b/listener/inbound/shadowsocks.go
@@ -1,10 +1,10 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing_shadowsocks"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing_shadowsocks"
+ "github.com/metacubex/mihomo/log"
)
type ShadowSocksOption struct {
diff --git a/listener/inbound/socks.go b/listener/inbound/socks.go
index 09580a577..7e10d93af 100644
--- a/listener/inbound/socks.go
+++ b/listener/inbound/socks.go
@@ -2,9 +2,9 @@ package inbound
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/socks"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/socks"
+ "github.com/metacubex/mihomo/log"
)
type SocksOption struct {
diff --git a/listener/inbound/tproxy.go b/listener/inbound/tproxy.go
index 682188f54..acc8cb5e8 100644
--- a/listener/inbound/tproxy.go
+++ b/listener/inbound/tproxy.go
@@ -3,9 +3,9 @@ package inbound
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/tproxy"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/tproxy"
+ "github.com/metacubex/mihomo/log"
)
type TProxyOption struct {
diff --git a/listener/inbound/tuic.go b/listener/inbound/tuic.go
index e7b513920..c2a73b84f 100644
--- a/listener/inbound/tuic.go
+++ b/listener/inbound/tuic.go
@@ -1,10 +1,10 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/tuic"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/tuic"
+ "github.com/metacubex/mihomo/log"
)
type TuicOption struct {
diff --git a/listener/inbound/tun.go b/listener/inbound/tun.go
index 472269d68..d1044b8ee 100644
--- a/listener/inbound/tun.go
+++ b/listener/inbound/tun.go
@@ -4,10 +4,10 @@ import (
"errors"
"strings"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing_tun"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing_tun"
+ "github.com/metacubex/mihomo/log"
)
type TunOption struct {
diff --git a/listener/inbound/tunnel.go b/listener/inbound/tunnel.go
index 2af663a57..2dfaac743 100644
--- a/listener/inbound/tunnel.go
+++ b/listener/inbound/tunnel.go
@@ -3,9 +3,9 @@ package inbound
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- LT "github.com/Dreamacro/clash/listener/tunnel"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ LT "github.com/metacubex/mihomo/listener/tunnel"
+ "github.com/metacubex/mihomo/log"
)
type TunnelOption struct {
diff --git a/listener/inbound/vmess.go b/listener/inbound/vmess.go
index 3f516198f..3508aa3cd 100644
--- a/listener/inbound/vmess.go
+++ b/listener/inbound/vmess.go
@@ -1,10 +1,10 @@
package inbound
import (
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing_vmess"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing_vmess"
+ "github.com/metacubex/mihomo/log"
)
type VmessOption struct {
diff --git a/listener/inner/tcp.go b/listener/inner/tcp.go
index 8973c4310..373fd2b46 100644
--- a/listener/inner/tcp.go
+++ b/listener/inner/tcp.go
@@ -6,7 +6,7 @@ import (
"net/netip"
"strconv"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
var tunnel C.Tunnel
@@ -26,7 +26,7 @@ func HandleTcp(address string) (conn net.Conn, err error) {
metadata.NetWork = C.TCP
metadata.Type = C.INNER
metadata.DNSMode = C.DNSNormal
- metadata.Process = C.ClashName
+ metadata.Process = C.MihomoName
if h, port, err := net.SplitHostPort(address); err == nil {
if port, err := strconv.ParseUint(port, 10, 16); err == nil {
metadata.DstPort = uint16(port)
diff --git a/listener/listener.go b/listener/listener.go
index a6bbdbf59..903cb64b7 100644
--- a/listener/listener.go
+++ b/listener/listener.go
@@ -9,22 +9,22 @@ import (
"strings"
"sync"
- "github.com/Dreamacro/clash/component/ebpf"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/autoredir"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/http"
- "github.com/Dreamacro/clash/listener/mixed"
- "github.com/Dreamacro/clash/listener/redir"
- embedSS "github.com/Dreamacro/clash/listener/shadowsocks"
- "github.com/Dreamacro/clash/listener/sing_shadowsocks"
- "github.com/Dreamacro/clash/listener/sing_tun"
- "github.com/Dreamacro/clash/listener/sing_vmess"
- "github.com/Dreamacro/clash/listener/socks"
- "github.com/Dreamacro/clash/listener/tproxy"
- "github.com/Dreamacro/clash/listener/tuic"
- LT "github.com/Dreamacro/clash/listener/tunnel"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/ebpf"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/autoredir"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/http"
+ "github.com/metacubex/mihomo/listener/mixed"
+ "github.com/metacubex/mihomo/listener/redir"
+ embedSS "github.com/metacubex/mihomo/listener/shadowsocks"
+ "github.com/metacubex/mihomo/listener/sing_shadowsocks"
+ "github.com/metacubex/mihomo/listener/sing_tun"
+ "github.com/metacubex/mihomo/listener/sing_vmess"
+ "github.com/metacubex/mihomo/listener/socks"
+ "github.com/metacubex/mihomo/listener/tproxy"
+ "github.com/metacubex/mihomo/listener/tuic"
+ LT "github.com/metacubex/mihomo/listener/tunnel"
+ "github.com/metacubex/mihomo/log"
"github.com/samber/lo"
)
diff --git a/listener/mixed/mixed.go b/listener/mixed/mixed.go
index d2ede0966..97d1407c7 100644
--- a/listener/mixed/mixed.go
+++ b/listener/mixed/mixed.go
@@ -3,14 +3,14 @@ package mixed
import (
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/cache"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/listener/http"
- "github.com/Dreamacro/clash/listener/socks"
- "github.com/Dreamacro/clash/transport/socks4"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/cache"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/listener/http"
+ "github.com/metacubex/mihomo/listener/socks"
+ "github.com/metacubex/mihomo/transport/socks4"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Listener struct {
diff --git a/listener/parse.go b/listener/parse.go
index b0fac86aa..1c8b6463e 100644
--- a/listener/parse.go
+++ b/listener/parse.go
@@ -3,9 +3,9 @@ package listener
import (
"fmt"
- "github.com/Dreamacro/clash/common/structure"
- C "github.com/Dreamacro/clash/constant"
- IN "github.com/Dreamacro/clash/listener/inbound"
+ "github.com/metacubex/mihomo/common/structure"
+ C "github.com/metacubex/mihomo/constant"
+ IN "github.com/metacubex/mihomo/listener/inbound"
)
func ParseListener(mapping map[string]any) (C.InboundListener, error) {
diff --git a/listener/redir/tcp.go b/listener/redir/tcp.go
index 6419760fb..8474a8e21 100644
--- a/listener/redir/tcp.go
+++ b/listener/redir/tcp.go
@@ -3,9 +3,9 @@ package redir
import (
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
)
type Listener struct {
diff --git a/listener/redir/tcp_darwin.go b/listener/redir/tcp_darwin.go
index 5a2f331c3..6e1821bbd 100644
--- a/listener/redir/tcp_darwin.go
+++ b/listener/redir/tcp_darwin.go
@@ -5,7 +5,7 @@ import (
"syscall"
"unsafe"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
)
func parserPacket(c net.Conn) (socks5.Addr, error) {
diff --git a/listener/redir/tcp_freebsd.go b/listener/redir/tcp_freebsd.go
index 6ecb24967..9eb199f07 100644
--- a/listener/redir/tcp_freebsd.go
+++ b/listener/redir/tcp_freebsd.go
@@ -8,7 +8,7 @@ import (
"syscall"
"unsafe"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
"golang.org/x/sys/unix"
)
diff --git a/listener/redir/tcp_linux.go b/listener/redir/tcp_linux.go
index b65c34ee4..fce746786 100644
--- a/listener/redir/tcp_linux.go
+++ b/listener/redir/tcp_linux.go
@@ -8,7 +8,7 @@ import (
"syscall"
"unsafe"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
"golang.org/x/sys/unix"
)
diff --git a/listener/redir/tcp_other.go b/listener/redir/tcp_other.go
index a01550c79..ae3bebfd5 100644
--- a/listener/redir/tcp_other.go
+++ b/listener/redir/tcp_other.go
@@ -6,7 +6,7 @@ import (
"errors"
"net"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
)
func parserPacket(conn net.Conn) (socks5.Addr, error) {
diff --git a/listener/shadowsocks/tcp.go b/listener/shadowsocks/tcp.go
index 8959e6baf..c08667de6 100644
--- a/listener/shadowsocks/tcp.go
+++ b/listener/shadowsocks/tcp.go
@@ -4,12 +4,12 @@ import (
"net"
"strings"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/transport/shadowsocks/core"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/transport/shadowsocks/core"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Listener struct {
diff --git a/listener/shadowsocks/udp.go b/listener/shadowsocks/udp.go
index 53f5549aa..4336db225 100644
--- a/listener/shadowsocks/udp.go
+++ b/listener/shadowsocks/udp.go
@@ -3,13 +3,13 @@ package shadowsocks
import (
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/sockopt"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/shadowsocks/core"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/sockopt"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/shadowsocks/core"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type UDPListener struct {
diff --git a/listener/shadowsocks/utils.go b/listener/shadowsocks/utils.go
index a732cbbe5..5d6a2977e 100644
--- a/listener/shadowsocks/utils.go
+++ b/listener/shadowsocks/utils.go
@@ -6,7 +6,7 @@ import (
"net"
"net/url"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type packet struct {
diff --git a/listener/sing/context.go b/listener/sing/context.go
index 4204757ac..e1e8b452b 100644
--- a/listener/sing/context.go
+++ b/listener/sing/context.go
@@ -4,7 +4,7 @@ import (
"context"
"golang.org/x/exp/slices"
- "github.com/Dreamacro/clash/adapter/inbound"
+ "github.com/metacubex/mihomo/adapter/inbound"
"github.com/sagernet/sing/common/auth"
)
diff --git a/listener/sing/sing.go b/listener/sing/sing.go
index ff72f67d9..306bd705a 100644
--- a/listener/sing/sing.go
+++ b/listener/sing/sing.go
@@ -8,10 +8,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
vmess "github.com/metacubex/sing-vmess"
mux "github.com/sagernet/sing-mux"
diff --git a/listener/sing_hysteria2/server.go b/listener/sing_hysteria2/server.go
index bc25ec2a1..965539952 100644
--- a/listener/sing_hysteria2/server.go
+++ b/listener/sing_hysteria2/server.go
@@ -11,14 +11,14 @@ import (
"net/url"
"strings"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/adapter/outbound"
- CN "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/sockopt"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ CN "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/sockopt"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing"
+ "github.com/metacubex/mihomo/log"
"github.com/metacubex/sing-quic/hysteria2"
diff --git a/listener/sing_shadowsocks/server.go b/listener/sing_shadowsocks/server.go
index 51baeaa15..5a4896af0 100644
--- a/listener/sing_shadowsocks/server.go
+++ b/listener/sing_shadowsocks/server.go
@@ -6,15 +6,15 @@ import (
"net"
"strings"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/sockopt"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- embedSS "github.com/Dreamacro/clash/listener/shadowsocks"
- "github.com/Dreamacro/clash/listener/sing"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/ntp"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/sockopt"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ embedSS "github.com/metacubex/mihomo/listener/shadowsocks"
+ "github.com/metacubex/mihomo/listener/sing"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/ntp"
shadowsocks "github.com/metacubex/sing-shadowsocks"
"github.com/metacubex/sing-shadowsocks/shadowaead"
diff --git a/listener/sing_tun/dns.go b/listener/sing_tun/dns.go
index 88e3f6d6c..62a15c6cc 100644
--- a/listener/sing_tun/dns.go
+++ b/listener/sing_tun/dns.go
@@ -9,10 +9,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/component/resolver"
- "github.com/Dreamacro/clash/listener/sing"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/component/resolver"
+ "github.com/metacubex/mihomo/listener/sing"
+ "github.com/metacubex/mihomo/log"
D "github.com/miekg/dns"
diff --git a/listener/sing_tun/server.go b/listener/sing_tun/server.go
index 0548ac41a..212c3d900 100644
--- a/listener/sing_tun/server.go
+++ b/listener/sing_tun/server.go
@@ -10,13 +10,13 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/iface"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/iface"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing"
+ "github.com/metacubex/mihomo/log"
tun "github.com/metacubex/sing-tun"
"github.com/sagernet/sing/common"
diff --git a/listener/sing_tun/server_android.go b/listener/sing_tun/server_android.go
index 4f85c4188..ac41282d5 100644
--- a/listener/sing_tun/server_android.go
+++ b/listener/sing_tun/server_android.go
@@ -1,7 +1,7 @@
package sing_tun
import (
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
tun "github.com/metacubex/sing-tun"
"github.com/sagernet/netlink"
"golang.org/x/sys/unix"
diff --git a/listener/sing_tun/server_windows.go b/listener/sing_tun/server_windows.go
index 9584f32fa..8da212879 100644
--- a/listener/sing_tun/server_windows.go
+++ b/listener/sing_tun/server_windows.go
@@ -3,7 +3,7 @@ package sing_tun
import (
"time"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
tun "github.com/metacubex/sing-tun"
)
diff --git a/listener/sing_vmess/server.go b/listener/sing_vmess/server.go
index 014e86f93..e790e3bc9 100644
--- a/listener/sing_vmess/server.go
+++ b/listener/sing_vmess/server.go
@@ -8,13 +8,13 @@ import (
"net/url"
"strings"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing"
- "github.com/Dreamacro/clash/ntp"
- clashVMess "github.com/Dreamacro/clash/transport/vmess"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing"
+ "github.com/metacubex/mihomo/ntp"
+ mihomoVMess "github.com/metacubex/mihomo/transport/vmess"
vmess "github.com/metacubex/sing-vmess"
"github.com/sagernet/sing/common"
@@ -81,7 +81,7 @@ func New(config LC.VmessServer, tunnel C.Tunnel, additions ...inbound.Addition)
if config.WsPath != "" {
httpMux = http.NewServeMux()
httpMux.HandleFunc(config.WsPath, func(w http.ResponseWriter, r *http.Request) {
- conn, err := clashVMess.StreamUpgradedWebsocketConn(w, r)
+ conn, err := mihomoVMess.StreamUpgradedWebsocketConn(w, r)
if err != nil {
http.Error(w, err.Error(), 500)
return
diff --git a/listener/socks/tcp.go b/listener/socks/tcp.go
index 9448f269e..c8c33e7b9 100644
--- a/listener/socks/tcp.go
+++ b/listener/socks/tcp.go
@@ -4,12 +4,12 @@ import (
"io"
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- authStore "github.com/Dreamacro/clash/listener/auth"
- "github.com/Dreamacro/clash/transport/socks4"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ authStore "github.com/metacubex/mihomo/listener/auth"
+ "github.com/metacubex/mihomo/transport/socks4"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Listener struct {
diff --git a/listener/socks/udp.go b/listener/socks/udp.go
index 2f786e959..ef31b20e9 100644
--- a/listener/socks/udp.go
+++ b/listener/socks/udp.go
@@ -3,12 +3,12 @@ package socks
import (
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/sockopt"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/sockopt"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type UDPListener struct {
diff --git a/listener/socks/utils.go b/listener/socks/utils.go
index 3456b595d..d113d45c9 100644
--- a/listener/socks/utils.go
+++ b/listener/socks/utils.go
@@ -3,7 +3,7 @@ package socks
import (
"net"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type packet struct {
diff --git a/listener/tproxy/packet.go b/listener/tproxy/packet.go
index 24fff09a0..e48526651 100644
--- a/listener/tproxy/packet.go
+++ b/listener/tproxy/packet.go
@@ -6,10 +6,10 @@ import (
"net"
"net/netip"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type packet struct {
diff --git a/listener/tproxy/tproxy.go b/listener/tproxy/tproxy.go
index 319d5c30c..efb144a9a 100644
--- a/listener/tproxy/tproxy.go
+++ b/listener/tproxy/tproxy.go
@@ -3,10 +3,10 @@ package tproxy
import (
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Listener struct {
diff --git a/listener/tproxy/tproxy_iptables.go b/listener/tproxy/tproxy_iptables.go
index 31ac24e56..5ddd7b4c8 100644
--- a/listener/tproxy/tproxy_iptables.go
+++ b/listener/tproxy/tproxy_iptables.go
@@ -6,9 +6,9 @@ import (
"net"
"runtime"
- "github.com/Dreamacro/clash/common/cmd"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/cmd"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/log"
)
var (
@@ -48,25 +48,25 @@ func SetTProxyIPTables(ifname string, bypass []string, tport uint16, dport uint1
execCmd(fmt.Sprintf("iptables -t filter -A FORWARD -i %s -o %s -j ACCEPT", interfaceName, interfaceName))
}
- // set clash divert
- execCmd("iptables -t mangle -N clash_divert")
- execCmd("iptables -t mangle -F clash_divert")
- execCmd(fmt.Sprintf("iptables -t mangle -A clash_divert -j MARK --set-mark %s", PROXY_FWMARK))
- execCmd("iptables -t mangle -A clash_divert -j ACCEPT")
+ // set mihomo divert
+ execCmd("iptables -t mangle -N mihomo_divert")
+ execCmd("iptables -t mangle -F mihomo_divert")
+ execCmd(fmt.Sprintf("iptables -t mangle -A mihomo_divert -j MARK --set-mark %s", PROXY_FWMARK))
+ execCmd("iptables -t mangle -A mihomo_divert -j ACCEPT")
// set pre routing
- execCmd("iptables -t mangle -N clash_prerouting")
- execCmd("iptables -t mangle -F clash_prerouting")
- execCmd("iptables -t mangle -A clash_prerouting -s 172.17.0.0/16 -j RETURN")
- execCmd("iptables -t mangle -A clash_prerouting -p udp --dport 53 -j ACCEPT")
- execCmd("iptables -t mangle -A clash_prerouting -p tcp --dport 53 -j ACCEPT")
- execCmd("iptables -t mangle -A clash_prerouting -m addrtype --dst-type LOCAL -j RETURN")
- addLocalnetworkToChain("clash_prerouting", bypass)
- execCmd("iptables -t mangle -A clash_prerouting -p tcp -m socket -j clash_divert")
- execCmd("iptables -t mangle -A clash_prerouting -p udp -m socket -j clash_divert")
- execCmd(fmt.Sprintf("iptables -t mangle -A clash_prerouting -p tcp -j TPROXY --on-port %d --tproxy-mark %s/%s", tProxyPort, PROXY_FWMARK, PROXY_FWMARK))
- execCmd(fmt.Sprintf("iptables -t mangle -A clash_prerouting -p udp -j TPROXY --on-port %d --tproxy-mark %s/%s", tProxyPort, PROXY_FWMARK, PROXY_FWMARK))
- execCmd("iptables -t mangle -A PREROUTING -j clash_prerouting")
+ execCmd("iptables -t mangle -N mihomo_prerouting")
+ execCmd("iptables -t mangle -F mihomo_prerouting")
+ execCmd("iptables -t mangle -A mihomo_prerouting -s 172.17.0.0/16 -j RETURN")
+ execCmd("iptables -t mangle -A mihomo_prerouting -p udp --dport 53 -j ACCEPT")
+ execCmd("iptables -t mangle -A mihomo_prerouting -p tcp --dport 53 -j ACCEPT")
+ execCmd("iptables -t mangle -A mihomo_prerouting -m addrtype --dst-type LOCAL -j RETURN")
+ addLocalnetworkToChain("mihomo_prerouting", bypass)
+ execCmd("iptables -t mangle -A mihomo_prerouting -p tcp -m socket -j mihomo_divert")
+ execCmd("iptables -t mangle -A mihomo_prerouting -p udp -m socket -j mihomo_divert")
+ execCmd(fmt.Sprintf("iptables -t mangle -A mihomo_prerouting -p tcp -j TPROXY --on-port %d --tproxy-mark %s/%s", tProxyPort, PROXY_FWMARK, PROXY_FWMARK))
+ execCmd(fmt.Sprintf("iptables -t mangle -A mihomo_prerouting -p udp -j TPROXY --on-port %d --tproxy-mark %s/%s", tProxyPort, PROXY_FWMARK, PROXY_FWMARK))
+ execCmd("iptables -t mangle -A PREROUTING -j mihomo_prerouting")
execCmd(fmt.Sprintf("iptables -t nat -I PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p tcp --dport 53 -j REDIRECT --to %d", dnsPort))
execCmd(fmt.Sprintf("iptables -t nat -I PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p udp --dport 53 -j REDIRECT --to %d", dnsPort))
@@ -77,27 +77,27 @@ func SetTProxyIPTables(ifname string, bypass []string, tport uint16, dport uint1
}
// set output
- execCmd("iptables -t mangle -N clash_output")
- execCmd("iptables -t mangle -F clash_output")
- execCmd(fmt.Sprintf("iptables -t mangle -A clash_output -m mark --mark %#x -j RETURN", dialer.DefaultRoutingMark.Load()))
- execCmd("iptables -t mangle -A clash_output -p udp -m multiport --dports 53,123,137 -j ACCEPT")
- execCmd("iptables -t mangle -A clash_output -p tcp --dport 53 -j ACCEPT")
- execCmd("iptables -t mangle -A clash_output -m addrtype --dst-type LOCAL -j RETURN")
- execCmd("iptables -t mangle -A clash_output -m addrtype --dst-type BROADCAST -j RETURN")
- addLocalnetworkToChain("clash_output", bypass)
- execCmd(fmt.Sprintf("iptables -t mangle -A clash_output -p tcp -j MARK --set-mark %s", PROXY_FWMARK))
- execCmd(fmt.Sprintf("iptables -t mangle -A clash_output -p udp -j MARK --set-mark %s", PROXY_FWMARK))
- execCmd(fmt.Sprintf("iptables -t mangle -I OUTPUT -o %s -j clash_output", interfaceName))
+ execCmd("iptables -t mangle -N mihomo_output")
+ execCmd("iptables -t mangle -F mihomo_output")
+ execCmd(fmt.Sprintf("iptables -t mangle -A mihomo_output -m mark --mark %#x -j RETURN", dialer.DefaultRoutingMark.Load()))
+ execCmd("iptables -t mangle -A mihomo_output -p udp -m multiport --dports 53,123,137 -j ACCEPT")
+ execCmd("iptables -t mangle -A mihomo_output -p tcp --dport 53 -j ACCEPT")
+ execCmd("iptables -t mangle -A mihomo_output -m addrtype --dst-type LOCAL -j RETURN")
+ execCmd("iptables -t mangle -A mihomo_output -m addrtype --dst-type BROADCAST -j RETURN")
+ addLocalnetworkToChain("mihomo_output", bypass)
+ execCmd(fmt.Sprintf("iptables -t mangle -A mihomo_output -p tcp -j MARK --set-mark %s", PROXY_FWMARK))
+ execCmd(fmt.Sprintf("iptables -t mangle -A mihomo_output -p udp -j MARK --set-mark %s", PROXY_FWMARK))
+ execCmd(fmt.Sprintf("iptables -t mangle -I OUTPUT -o %s -j mihomo_output", interfaceName))
// set dns output
- execCmd("iptables -t nat -N clash_dns_output")
- execCmd("iptables -t nat -F clash_dns_output")
- execCmd(fmt.Sprintf("iptables -t nat -A clash_dns_output -m mark --mark %#x -j RETURN", dialer.DefaultRoutingMark.Load()))
- execCmd("iptables -t nat -A clash_dns_output -s 172.17.0.0/16 -j RETURN")
- execCmd(fmt.Sprintf("iptables -t nat -A clash_dns_output -p udp -j REDIRECT --to-ports %d", dnsPort))
- execCmd(fmt.Sprintf("iptables -t nat -A clash_dns_output -p tcp -j REDIRECT --to-ports %d", dnsPort))
- execCmd("iptables -t nat -I OUTPUT -p tcp --dport 53 -j clash_dns_output")
- execCmd("iptables -t nat -I OUTPUT -p udp --dport 53 -j clash_dns_output")
+ execCmd("iptables -t nat -N mihomo_dns_output")
+ execCmd("iptables -t nat -F mihomo_dns_output")
+ execCmd(fmt.Sprintf("iptables -t nat -A mihomo_dns_output -m mark --mark %#x -j RETURN", dialer.DefaultRoutingMark.Load()))
+ execCmd("iptables -t nat -A mihomo_dns_output -s 172.17.0.0/16 -j RETURN")
+ execCmd(fmt.Sprintf("iptables -t nat -A mihomo_dns_output -p udp -j REDIRECT --to-ports %d", dnsPort))
+ execCmd(fmt.Sprintf("iptables -t nat -A mihomo_dns_output -p tcp -j REDIRECT --to-ports %d", dnsPort))
+ execCmd("iptables -t nat -I OUTPUT -p tcp --dport 53 -j mihomo_dns_output")
+ execCmd("iptables -t nat -I OUTPUT -p udp --dport 53 -j mihomo_dns_output")
return nil
}
@@ -113,7 +113,7 @@ func CleanupTProxyIPTables() {
dialer.DefaultRoutingMark.Store(0)
}
- if _, err := cmd.ExecCmd("iptables -t mangle -L clash_divert"); err != nil {
+ if _, err := cmd.ExecCmd("iptables -t mangle -L mihomo_divert"); err != nil {
return
}
@@ -132,7 +132,7 @@ func CleanupTProxyIPTables() {
// clean PREROUTING
execCmd(fmt.Sprintf("iptables -t nat -D PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p tcp --dport 53 -j REDIRECT --to %d", dnsPort))
execCmd(fmt.Sprintf("iptables -t nat -D PREROUTING ! -s 172.17.0.0/16 ! -d 127.0.0.0/8 -p udp --dport 53 -j REDIRECT --to %d", dnsPort))
- execCmd("iptables -t mangle -D PREROUTING -j clash_prerouting")
+ execCmd("iptables -t mangle -D PREROUTING -j mihomo_prerouting")
// clean POSTROUTING
if interfaceName != "lo" {
@@ -140,19 +140,19 @@ func CleanupTProxyIPTables() {
}
// clean OUTPUT
- execCmd(fmt.Sprintf("iptables -t mangle -D OUTPUT -o %s -j clash_output", interfaceName))
- execCmd("iptables -t nat -D OUTPUT -p tcp --dport 53 -j clash_dns_output")
- execCmd("iptables -t nat -D OUTPUT -p udp --dport 53 -j clash_dns_output")
+ execCmd(fmt.Sprintf("iptables -t mangle -D OUTPUT -o %s -j mihomo_output", interfaceName))
+ execCmd("iptables -t nat -D OUTPUT -p tcp --dport 53 -j mihomo_dns_output")
+ execCmd("iptables -t nat -D OUTPUT -p udp --dport 53 -j mihomo_dns_output")
// clean chain
- execCmd("iptables -t mangle -F clash_prerouting")
- execCmd("iptables -t mangle -X clash_prerouting")
- execCmd("iptables -t mangle -F clash_divert")
- execCmd("iptables -t mangle -X clash_divert")
- execCmd("iptables -t mangle -F clash_output")
- execCmd("iptables -t mangle -X clash_output")
- execCmd("iptables -t nat -F clash_dns_output")
- execCmd("iptables -t nat -X clash_dns_output")
+ execCmd("iptables -t mangle -F mihomo_prerouting")
+ execCmd("iptables -t mangle -X mihomo_prerouting")
+ execCmd("iptables -t mangle -F mihomo_divert")
+ execCmd("iptables -t mangle -X mihomo_divert")
+ execCmd("iptables -t mangle -F mihomo_output")
+ execCmd("iptables -t mangle -X mihomo_output")
+ execCmd("iptables -t nat -F mihomo_dns_output")
+ execCmd("iptables -t nat -X mihomo_dns_output")
interfaceName = ""
tProxyPort = 0
diff --git a/listener/tproxy/udp.go b/listener/tproxy/udp.go
index c8460def2..aa0fee192 100644
--- a/listener/tproxy/udp.go
+++ b/listener/tproxy/udp.go
@@ -4,10 +4,10 @@ import (
"net"
"net/netip"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type UDPListener struct {
diff --git a/listener/tuic/server.go b/listener/tuic/server.go
index 544f13286..7fa7b18e2 100644
--- a/listener/tuic/server.go
+++ b/listener/tuic/server.go
@@ -7,15 +7,15 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/adapter/inbound"
- CN "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/sockopt"
- C "github.com/Dreamacro/clash/constant"
- LC "github.com/Dreamacro/clash/listener/config"
- "github.com/Dreamacro/clash/listener/sing"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/tuic"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ CN "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/sockopt"
+ C "github.com/metacubex/mihomo/constant"
+ LC "github.com/metacubex/mihomo/listener/config"
+ "github.com/metacubex/mihomo/listener/sing"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/tuic"
"github.com/gofrs/uuid/v5"
"github.com/metacubex/quic-go"
diff --git a/listener/tunnel/packet.go b/listener/tunnel/packet.go
index 35601e389..165004d6e 100644
--- a/listener/tunnel/packet.go
+++ b/listener/tunnel/packet.go
@@ -3,7 +3,7 @@ package tunnel
import (
"net"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
type packet struct {
diff --git a/listener/tunnel/tcp.go b/listener/tunnel/tcp.go
index 9fca14dd7..794dc8ac6 100644
--- a/listener/tunnel/tcp.go
+++ b/listener/tunnel/tcp.go
@@ -4,10 +4,10 @@ import (
"fmt"
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type Listener struct {
diff --git a/listener/tunnel/udp.go b/listener/tunnel/udp.go
index 00d616632..f7d980aba 100644
--- a/listener/tunnel/udp.go
+++ b/listener/tunnel/udp.go
@@ -4,10 +4,10 @@ import (
"fmt"
"net"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type PacketConn struct {
diff --git a/log/log.go b/log/log.go
index acddeaffb..d431dcb1e 100644
--- a/log/log.go
+++ b/log/log.go
@@ -4,7 +4,7 @@ import (
"fmt"
"os"
- "github.com/Dreamacro/clash/common/observable"
+ "github.com/metacubex/mihomo/common/observable"
log "github.com/sirupsen/logrus"
)
diff --git a/main.go b/main.go
index d41450b6e..fd1e065ca 100644
--- a/main.go
+++ b/main.go
@@ -3,7 +3,7 @@ package main
import (
"flag"
"fmt"
- "github.com/Dreamacro/clash/constant/features"
+ "github.com/metacubex/mihomo/constant/features"
"os"
"os/signal"
"path/filepath"
@@ -11,11 +11,11 @@ import (
"strings"
"syscall"
- "github.com/Dreamacro/clash/config"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/hub"
- "github.com/Dreamacro/clash/hub/executor"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/config"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/hub"
+ "github.com/metacubex/mihomo/hub/executor"
+ "github.com/metacubex/mihomo/log"
"go.uber.org/automaxprocs/maxprocs"
)
@@ -38,7 +38,7 @@ func init() {
flag.StringVar(&externalController, "ext-ctl", os.Getenv("CLASH_OVERRIDE_EXTERNAL_CONTROLLER"), "override external controller address")
flag.StringVar(&secret, "secret", os.Getenv("CLASH_OVERRIDE_SECRET"), "override secret for RESTful API")
flag.BoolVar(&geodataMode, "m", false, "set geodata mode")
- flag.BoolVar(&version, "v", false, "show current version of clash")
+ flag.BoolVar(&version, "v", false, "show current version of mihomo")
flag.BoolVar(&testConfig, "t", false, "test configuration and exit")
flag.Parse()
}
@@ -46,7 +46,7 @@ func init() {
func main() {
_, _ = maxprocs.Set(maxprocs.Logger(func(string, ...any) {}))
if version {
- fmt.Printf("Clash Meta %s %s %s with %s %s\n",
+ fmt.Printf("Mihomo Meta %s %s %s with %s %s\n",
C.Version, runtime.GOOS, runtime.GOARCH, runtime.Version(), C.BuildTime)
if len(features.TAGS) != 0 {
fmt.Printf("Use tags: %s\n", strings.Join(features.TAGS, ", "))
diff --git a/ntp/service.go b/ntp/service.go
index c5506197b..4c95045a8 100644
--- a/ntp/service.go
+++ b/ntp/service.go
@@ -5,9 +5,9 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/component/dialer"
- "github.com/Dreamacro/clash/component/proxydialer"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/dialer"
+ "github.com/metacubex/mihomo/component/proxydialer"
+ "github.com/metacubex/mihomo/log"
M "github.com/sagernet/sing/common/metadata"
"github.com/sagernet/sing/common/ntp"
diff --git a/rules/common/domain.go b/rules/common/domain.go
index 35a06a70b..23f21185a 100644
--- a/rules/common/domain.go
+++ b/rules/common/domain.go
@@ -3,7 +3,7 @@ package common
import (
"strings"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type Domain struct {
diff --git a/rules/common/domain_keyword.go b/rules/common/domain_keyword.go
index d945f2007..ec01293a1 100644
--- a/rules/common/domain_keyword.go
+++ b/rules/common/domain_keyword.go
@@ -3,7 +3,7 @@ package common
import (
"strings"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type DomainKeyword struct {
diff --git a/rules/common/domain_suffix.go b/rules/common/domain_suffix.go
index b13036a3b..b7b1794d8 100644
--- a/rules/common/domain_suffix.go
+++ b/rules/common/domain_suffix.go
@@ -3,7 +3,7 @@ package common
import (
"strings"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type DomainSuffix struct {
diff --git a/rules/common/final.go b/rules/common/final.go
index 8aa5ed7b2..d3a415a06 100644
--- a/rules/common/final.go
+++ b/rules/common/final.go
@@ -1,7 +1,7 @@
package common
import (
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type Match struct {
diff --git a/rules/common/geoip.go b/rules/common/geoip.go
index 2f96c2ef1..3a29fae41 100644
--- a/rules/common/geoip.go
+++ b/rules/common/geoip.go
@@ -4,12 +4,12 @@ import (
"fmt"
"strings"
- "github.com/Dreamacro/clash/component/geodata"
- "github.com/Dreamacro/clash/component/geodata/router"
- "github.com/Dreamacro/clash/component/mmdb"
- "github.com/Dreamacro/clash/component/resolver"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/geodata"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ "github.com/metacubex/mihomo/component/mmdb"
+ "github.com/metacubex/mihomo/component/resolver"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type GEOIP struct {
diff --git a/rules/common/geosite.go b/rules/common/geosite.go
index e89dc19b9..e9b19d0ef 100644
--- a/rules/common/geosite.go
+++ b/rules/common/geosite.go
@@ -3,12 +3,12 @@ package common
import (
"fmt"
- "github.com/Dreamacro/clash/component/geodata"
- _ "github.com/Dreamacro/clash/component/geodata/memconservative"
- "github.com/Dreamacro/clash/component/geodata/router"
- _ "github.com/Dreamacro/clash/component/geodata/standard"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/geodata"
+ _ "github.com/metacubex/mihomo/component/geodata/memconservative"
+ "github.com/metacubex/mihomo/component/geodata/router"
+ _ "github.com/metacubex/mihomo/component/geodata/standard"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type GEOSITE struct {
diff --git a/rules/common/in_name.go b/rules/common/in_name.go
index 1e2abe15b..9b14ef6a6 100644
--- a/rules/common/in_name.go
+++ b/rules/common/in_name.go
@@ -2,7 +2,7 @@ package common
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
"strings"
)
diff --git a/rules/common/in_type.go b/rules/common/in_type.go
index 453045d8d..fc73b2081 100644
--- a/rules/common/in_type.go
+++ b/rules/common/in_type.go
@@ -2,7 +2,7 @@ package common
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
"strings"
)
diff --git a/rules/common/in_user.go b/rules/common/in_user.go
index 24f4b2e5f..ebe881af8 100644
--- a/rules/common/in_user.go
+++ b/rules/common/in_user.go
@@ -2,7 +2,7 @@ package common
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
"strings"
)
diff --git a/rules/common/ipcidr.go b/rules/common/ipcidr.go
index 4cdf9106e..663c9397c 100644
--- a/rules/common/ipcidr.go
+++ b/rules/common/ipcidr.go
@@ -3,7 +3,7 @@ package common
import (
"net/netip"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type IPCIDROption func(*IPCIDR)
diff --git a/rules/common/ipsuffix.go b/rules/common/ipsuffix.go
index b01557dcb..3251faf80 100644
--- a/rules/common/ipsuffix.go
+++ b/rules/common/ipsuffix.go
@@ -1,7 +1,7 @@
package common
import (
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
"net/netip"
)
diff --git a/rules/common/network_type.go b/rules/common/network_type.go
index 1184ba893..83a332d89 100644
--- a/rules/common/network_type.go
+++ b/rules/common/network_type.go
@@ -2,7 +2,7 @@ package common
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
"strings"
)
diff --git a/rules/common/port.go b/rules/common/port.go
index 334d083f2..ec76cf30a 100644
--- a/rules/common/port.go
+++ b/rules/common/port.go
@@ -3,8 +3,8 @@ package common
import (
"fmt"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
)
type Port struct {
diff --git a/rules/common/process.go b/rules/common/process.go
index e972d2bc7..ce6435941 100644
--- a/rules/common/process.go
+++ b/rules/common/process.go
@@ -3,7 +3,7 @@ package common
import (
"strings"
- C "github.com/Dreamacro/clash/constant"
+ C "github.com/metacubex/mihomo/constant"
)
type Process struct {
diff --git a/rules/common/uid.go b/rules/common/uid.go
index 3b20928ff..de46c4093 100644
--- a/rules/common/uid.go
+++ b/rules/common/uid.go
@@ -4,9 +4,9 @@ import (
"fmt"
"runtime"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type Uid struct {
diff --git a/rules/logic/logic.go b/rules/logic/logic.go
index a53503df5..4256a2001 100644
--- a/rules/logic/logic.go
+++ b/rules/logic/logic.go
@@ -5,9 +5,9 @@ import (
"regexp"
"strings"
- "github.com/Dreamacro/clash/common/collections"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/rules/common"
+ "github.com/metacubex/mihomo/common/collections"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/rules/common"
)
type Logic struct {
diff --git a/rules/logic_test/logic_test.go b/rules/logic_test/logic_test.go
index 52318b3f3..e88c85787 100644
--- a/rules/logic_test/logic_test.go
+++ b/rules/logic_test/logic_test.go
@@ -2,10 +2,10 @@ package logic_test
import (
// https://github.com/golang/go/wiki/CodeReviewComments#import-dot
- . "github.com/Dreamacro/clash/rules/logic"
+ . "github.com/metacubex/mihomo/rules/logic"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/rules"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/rules"
"github.com/stretchr/testify/assert"
"testing"
)
diff --git a/rules/parser.go b/rules/parser.go
index df790bc34..b1baa7585 100644
--- a/rules/parser.go
+++ b/rules/parser.go
@@ -2,10 +2,10 @@ package rules
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- RC "github.com/Dreamacro/clash/rules/common"
- "github.com/Dreamacro/clash/rules/logic"
- RP "github.com/Dreamacro/clash/rules/provider"
+ C "github.com/metacubex/mihomo/constant"
+ RC "github.com/metacubex/mihomo/rules/common"
+ "github.com/metacubex/mihomo/rules/logic"
+ RP "github.com/metacubex/mihomo/rules/provider"
)
func ParseRule(tp, payload, target string, params []string, subRules map[string][]C.Rule) (parsed C.Rule, parseErr error) {
diff --git a/rules/provider/classical_strategy.go b/rules/provider/classical_strategy.go
index 6561f12f9..f8042164a 100644
--- a/rules/provider/classical_strategy.go
+++ b/rules/provider/classical_strategy.go
@@ -2,8 +2,8 @@ package provider
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"strings"
)
diff --git a/rules/provider/domain_strategy.go b/rules/provider/domain_strategy.go
index d686d5982..c0787d583 100644
--- a/rules/provider/domain_strategy.go
+++ b/rules/provider/domain_strategy.go
@@ -1,9 +1,9 @@
package provider
import (
- "github.com/Dreamacro/clash/component/trie"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/trie"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type domainStrategy struct {
diff --git a/rules/provider/ipcidr_strategy.go b/rules/provider/ipcidr_strategy.go
index f54302f14..321e901a0 100644
--- a/rules/provider/ipcidr_strategy.go
+++ b/rules/provider/ipcidr_strategy.go
@@ -1,9 +1,9 @@
package provider
import (
- "github.com/Dreamacro/clash/component/trie"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/trie"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
type ipcidrStrategy struct {
diff --git a/rules/provider/parse.go b/rules/provider/parse.go
index 0fbfb2ccd..3a5c4fd79 100644
--- a/rules/provider/parse.go
+++ b/rules/provider/parse.go
@@ -5,10 +5,10 @@ import (
"fmt"
"time"
- "github.com/Dreamacro/clash/common/structure"
- "github.com/Dreamacro/clash/component/resource"
- C "github.com/Dreamacro/clash/constant"
- P "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/common/structure"
+ "github.com/metacubex/mihomo/component/resource"
+ C "github.com/metacubex/mihomo/constant"
+ P "github.com/metacubex/mihomo/constant/provider"
)
var (
diff --git a/rules/provider/provider.go b/rules/provider/provider.go
index 65d21d2fe..adc2e44a2 100644
--- a/rules/provider/provider.go
+++ b/rules/provider/provider.go
@@ -9,10 +9,10 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/component/resource"
- C "github.com/Dreamacro/clash/constant"
- P "github.com/Dreamacro/clash/constant/provider"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/component/resource"
+ C "github.com/metacubex/mihomo/constant"
+ P "github.com/metacubex/mihomo/constant/provider"
)
var (
diff --git a/rules/provider/rule_set.go b/rules/provider/rule_set.go
index 45cddf6cc..1d9401886 100644
--- a/rules/provider/rule_set.go
+++ b/rules/provider/rule_set.go
@@ -2,9 +2,9 @@ package provider
import (
"fmt"
- C "github.com/Dreamacro/clash/constant"
- P "github.com/Dreamacro/clash/constant/provider"
- "github.com/Dreamacro/clash/rules/common"
+ C "github.com/metacubex/mihomo/constant"
+ P "github.com/metacubex/mihomo/constant/provider"
+ "github.com/metacubex/mihomo/rules/common"
)
type RuleSet struct {
diff --git a/test/.golangci.yaml b/test/.golangci.yaml
index b65afc5ef..e1fbbf76e 100644
--- a/test/.golangci.yaml
+++ b/test/.golangci.yaml
@@ -10,7 +10,7 @@ linters-settings:
gci:
sections:
- standard
- - prefix(github.com/Dreamacro/clash)
+ - prefix(github.com/metacubex/mihomo)
- default
staticcheck:
go: '1.19'
diff --git a/test/README.md b/test/README.md
index a95f3aea6..e9fa56301 100644
--- a/test/README.md
+++ b/test/README.md
@@ -1,4 +1,4 @@
-## Clash testing suit
+## Mihomo testing suit
### Protocol testing suit
@@ -51,8 +51,8 @@ $ make test
benchmark (Linux)
> Cannot represent the throughput of the protocol on your machine
-> but you can compare the corresponding throughput of the protocol on clash
-> (change chunkSize to measure the maximum throughput of clash on your machine)
+> but you can compare the corresponding throughput of the protocol on mihomo
+> (change chunkSize to measure the maximum throughput of mihomo on your machine)
```
$ make benchmark
diff --git a/test/clash_test.go b/test/clash_test.go
index 60b997915..90ac9d228 100644
--- a/test/clash_test.go
+++ b/test/clash_test.go
@@ -16,13 +16,13 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/hub/executor"
- "github.com/Dreamacro/clash/transport/socks5"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
"github.com/docker/go-connections/nat"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/hub/executor"
+ "github.com/metacubex/mihomo/transport/socks5"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -658,7 +658,7 @@ func benchmarkProxy(b *testing.B, proxy C.ProxyAdapter) {
})
}
-func TestClash_Basic(t *testing.T) {
+func TestMihomo_Basic(t *testing.T) {
basic := `
mixed-port: 10000
log-level: silent
diff --git a/test/dns_test.go b/test/dns_test.go
index 8e30ba98a..f45ffbe07 100644
--- a/test/dns_test.go
+++ b/test/dns_test.go
@@ -21,7 +21,7 @@ func exchange(address, domain string, tp uint16) ([]dns.RR, error) {
return r.Answer, nil
}
-func TestClash_DNS(t *testing.T) {
+func TestMihomo_DNS(t *testing.T) {
basic := `
log-level: silent
dns:
@@ -49,11 +49,11 @@ dns:
assert.Empty(t, rr)
}
-func TestClash_DNSHostAndFakeIP(t *testing.T) {
+func TestMihomo_DNSHostAndFakeIP(t *testing.T) {
basic := `
log-level: silent
hosts:
- foo.clash.dev: 1.1.1.1
+ foo.mihomo.dev: 1.1.1.1
dns:
enable: true
listen: 0.0.0.0:8553
@@ -81,7 +81,7 @@ dns:
{"foo.org", "198.18.0.4"},
{"bar.org", "198.18.0.5"},
{"foo.org", "198.18.0.4"},
- {"foo.clash.dev", "1.1.1.1"},
+ {"foo.mihomo.dev", "1.1.1.1"},
}
for _, pair := range list {
diff --git a/test/go.mod b/test/go.mod
index 36fa72569..adb42a2c5 100644
--- a/test/go.mod
+++ b/test/go.mod
@@ -1,17 +1,17 @@
-module clash-test
+module mihomo-test
-go 1.19
+go 1.20
require (
- github.com/Dreamacro/clash v0.0.0
github.com/docker/docker v20.10.21+incompatible
github.com/docker/go-connections v0.4.0
+ github.com/metacubex/mihomo v0.0.0
github.com/miekg/dns v1.1.56
github.com/stretchr/testify v1.8.4
golang.org/x/net v0.17.0
)
-replace github.com/Dreamacro/clash => ../
+replace github.com/metacubex/mihomo => ../
require (
github.com/3andne/restls-client-go v0.1.6 // indirect
@@ -30,17 +30,18 @@ require (
github.com/ericlagergren/polyval v0.0.0-20220411101811-e25bc10ba391 // indirect
github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1 // indirect
github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010 // indirect
- github.com/fsnotify/fsnotify v1.6.0 // indirect
+ github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/gaukas/godicttls v0.0.4 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
+ github.com/gobwas/httphead v0.1.0 // indirect
+ github.com/gobwas/pool v0.2.1 // indirect
+ github.com/gobwas/ws v1.3.0 // indirect
github.com/gofrs/uuid/v5 v5.0.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
- github.com/golang/mock v1.6.0 // indirect
github.com/google/btree v1.1.2 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
- github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/yamux v0.1.1 // indirect
github.com/insomniacslk/dhcp v0.0.0-20230908212754-65c27093e38a // indirect
github.com/josharian/native v1.1.0 // indirect
@@ -54,9 +55,10 @@ require (
github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 // indirect
github.com/metacubex/gvisor v0.0.0-20231001104248-0f672c3fb8d8 // indirect
github.com/metacubex/quic-go v0.39.1-0.20231019030608-fd969d66f16b // indirect
+ github.com/metacubex/sing-quic v0.0.0-20231008050747-a684db516966 // indirect
github.com/metacubex/sing-shadowsocks v0.2.5 // indirect
github.com/metacubex/sing-shadowsocks2 v0.1.4 // indirect
- github.com/metacubex/sing-tun v0.1.15-0.20231003075803-dffa0200e64c // indirect
+ github.com/metacubex/sing-tun v0.1.15-0.20231103033938-170591e8d5bd // indirect
github.com/metacubex/sing-vmess v0.1.9-0.20230921005247-a0488d7dac74 // indirect
github.com/metacubex/sing-wireguard v0.0.0-20231001110902-321836559170 // indirect
github.com/moby/term v0.5.0 // indirect
@@ -77,7 +79,7 @@ require (
github.com/quic-go/qtls-go1-20 v0.3.4 // indirect
github.com/sagernet/go-tun2socks v1.16.12-0.20220818015926-16cb67876a61 // indirect
github.com/sagernet/netlink v0.0.0-20220905062125-8043b4a9aa97 // indirect
- github.com/sagernet/sing v0.2.13 // indirect
+ github.com/sagernet/sing v0.2.14 // indirect
github.com/sagernet/sing-mux v0.1.3 // indirect
github.com/sagernet/sing-shadowtls v0.1.4 // indirect
github.com/sagernet/smux v0.0.0-20230312102458-337ec2a5af37 // indirect
@@ -100,6 +102,8 @@ require (
github.com/zhangyunhao116/fastrand v0.3.0 // indirect
gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec // indirect
go.etcd.io/bbolt v1.3.7 // indirect
+ go.uber.org/mock v0.3.0 // indirect
+ go4.org/netipx v0.0.0-20230824141953-6213f710f925 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
golang.org/x/mod v0.13.0 // indirect
diff --git a/test/go.sum b/test/go.sum
index 10d016c99..c7524eff0 100644
--- a/test/go.sum
+++ b/test/go.sum
@@ -15,8 +15,7 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y=
-github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs=
+github.com/cilium/ebpf v0.12.0 h1:oQEuIQIXgYhe1v7sYUG0P9vtJTYZLLdA6tiQmrOB1mo=
github.com/cilium/ebpf v0.12.0/go.mod h1:u9H29/Iq+8cy70YqI6p5pfADkFl3vdnV2qXDg5JL0Zo=
github.com/coreos/go-iptables v0.7.0 h1:XWM3V+MPRr5/q51NuWSgU0fqMad64Zyxs8ZUoMsamr8=
github.com/coreos/go-iptables v0.7.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
@@ -43,22 +42,26 @@ github.com/ericlagergren/siv v0.0.0-20220507050439-0b757b3aa5f1/go.mod h1:4Rfsap
github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010 h1:fuGucgPk5dN6wzfnxl3D0D3rVLw4v2SbBT9jb4VnxzA=
github.com/ericlagergren/subtle v0.0.0-20220507045147-890d697da010/go.mod h1:JtBcj7sBuTTRupn7c2bFspMDIObMJsVK8TeUvpShPok=
github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA=
-github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
-github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
+github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
+github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/gaukas/godicttls v0.0.4 h1:NlRaXb3J6hAnTmWdsEKb9bcSBD6BvcIjdGdeb0zfXbk=
github.com/gaukas/godicttls v0.0.4/go.mod h1:l6EenT4TLWgTdwslVb4sEMOCf7Bv0JAK67deKr9/NCI=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
-github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
+github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
+github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
+github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
+github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
+github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
+github.com/gobwas/ws v1.3.0 h1:sbeU3Y4Qzlb+MOzIe6mQGf7QR4Hkv6ZD0qhGkBFL2O0=
+github.com/gobwas/ws v1.3.0/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M=
github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
-github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
@@ -71,8 +74,6 @@ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE=
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/tink/go v1.6.1 h1:t7JHqO8Ath2w2ig5vjwQYJzhGEZymedQc90lQXUBa4I=
-github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
-github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=
github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@@ -101,29 +102,23 @@ github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U
github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA=
github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759 h1:cjd4biTvOzK9ubNCCkQ+ldc4YSH/rILn53l/xGBFHHI=
github.com/metacubex/gopacket v1.1.20-0.20230608035415-7e2f98a3e759/go.mod h1:UHOv2xu+RIgLwpXca7TLrXleEd4oR3sPatW6IF8wU88=
-github.com/metacubex/gvisor v0.0.0-20230611153922-78842f086475 h1:qSEOvPPaMrWggFyFhFYGyMR8i1HKyhXjdi1QYUAa2ww=
-github.com/metacubex/gvisor v0.0.0-20230611153922-78842f086475/go.mod h1:wehEpqiogdeyncfhckJP5gD2LtBgJW0wnDC24mJ+8Jg=
+github.com/metacubex/gvisor v0.0.0-20231001104248-0f672c3fb8d8 h1:npBvaPAT145UY8682AzpUMWpdIxJti/WPLjy7gCiYYs=
github.com/metacubex/gvisor v0.0.0-20231001104248-0f672c3fb8d8/go.mod h1:ZR6Gas7P1GcADCVBc1uOrA0bLQqDDyp70+63fD/BE2c=
-github.com/metacubex/quic-go v0.38.1-0.20230909013832-033f6a2115cf h1:hflzPbb2M+3uUOZEVO72MKd2R62xEermoVaNhJOzBR8=
-github.com/metacubex/quic-go v0.38.1-0.20230909013832-033f6a2115cf/go.mod h1:7RCcKJJk1DMeNQQNnYKS+7FqftqPfG031oP8jrYRMw8=
+github.com/metacubex/quic-go v0.39.1-0.20231019030608-fd969d66f16b h1:uZ++sW8yg7Fr/Wvmmrb/V+SfxvRs0iMC+2+u2bRmO8g=
github.com/metacubex/quic-go v0.39.1-0.20231019030608-fd969d66f16b/go.mod h1:4pe6cY+nAMFU/Uxn1rfnxNIowsaJGDQ3uyy4VuiPkP4=
-github.com/metacubex/sing-shadowsocks v0.2.4 h1:Gc99Z17JVif1PKKq1pjqhSmc2kvHUgk+AqxOstCzhQ0=
-github.com/metacubex/sing-shadowsocks v0.2.4/go.mod h1:w9qoEZSh9aKeXSLXHe0DGbG2UE9/2VlLGwukzQZ7byI=
+github.com/metacubex/sing-quic v0.0.0-20231008050747-a684db516966 h1:wbOsbU3kfD5LRuJIntJwEPmgGSQukof8CgLNypi8az8=
+github.com/metacubex/sing-quic v0.0.0-20231008050747-a684db516966/go.mod h1:GU7g2AZesXItk4CspDP8Dc7eGtlA2GVDihyCwsUXRSo=
+github.com/metacubex/sing-shadowsocks v0.2.5 h1:O2RRSHlKGEpAVG/OHJQxyHqDy8uvvdCW/oW2TDBOIhc=
github.com/metacubex/sing-shadowsocks v0.2.5/go.mod h1:Xz2uW9BEYGEoA8B4XEpoxt7ERHClFCwsMAvWaruoyMo=
-github.com/metacubex/sing-shadowsocks2 v0.1.3 h1:nZvH+4jQXZ92NeNdR9fXaUGTPNJPt6u0nkcuh/NEt5Y=
-github.com/metacubex/sing-shadowsocks2 v0.1.3/go.mod h1:5Mt93RlmRlIcDmvtapkhQJ8YTRGLFhHciLYopJjs7j8=
+github.com/metacubex/sing-shadowsocks2 v0.1.4 h1:OOCf8lgsVcpTOJUeaFAMzyKVebaQOBnKirDdUdBoKIE=
github.com/metacubex/sing-shadowsocks2 v0.1.4/go.mod h1:Qz028sLfdY3qxGRm9FDI+IM2Ae3ty2wR7HIzD/56h/k=
-github.com/metacubex/sing-tun v0.1.11 h1:B8meDewklvKkeUfjqR2ViuYLam0/m4IgkTi3qcJIOuc=
-github.com/metacubex/sing-tun v0.1.11/go.mod h1:vbki176Y5sxXC1DWXucrPh3q5j8cKai1D87y8m8rjQc=
-github.com/metacubex/sing-tun v0.1.15-0.20231003075803-dffa0200e64c/go.mod h1:vwmlad7eS1E+Hdv6ux0muC1FCM4UF23FHOMlrDtVARU=
-github.com/metacubex/sing-vmess v0.1.8-0.20230801054944-603005461ff8 h1:AqqZCr9gOeKdO6oIzFh4b2puOUFcw8MdpmGHWRehyX8=
-github.com/metacubex/sing-vmess v0.1.8-0.20230801054944-603005461ff8/go.mod h1:tyJg7b4s8NrSztl/Y1ajA7X0sJLlIsEJWkgRVocjmgY=
+github.com/metacubex/sing-tun v0.1.15-0.20231103033938-170591e8d5bd h1:k0+92eARqyTAovGhg2AxdsMWHjUsdiGCnR5NuXF3CQY=
+github.com/metacubex/sing-tun v0.1.15-0.20231103033938-170591e8d5bd/go.mod h1:Q7zmpJ+qOvMMXyUoYlxGQuWkqALUpXzFSSqO+KLPyzA=
+github.com/metacubex/sing-vmess v0.1.9-0.20230921005247-a0488d7dac74 h1:FtupiyFkaVjFvRa7B/uDtRWg5BNsoyPC9MTev3sDasY=
github.com/metacubex/sing-vmess v0.1.9-0.20230921005247-a0488d7dac74/go.mod h1:8EWBZpc+qNvf5gmvjAtMHK1/DpcWqzfcBL842K00BsM=
-github.com/metacubex/sing-wireguard v0.0.0-20230611155257-1498ae315a28 h1:mXFpxfR/1nADh+GoT8maWEvc6LO6uatPsARD8WzUDMA=
-github.com/metacubex/sing-wireguard v0.0.0-20230611155257-1498ae315a28/go.mod h1:KrDPq/dE793jGIJw9kcIvjA/proAfU0IeU7WlMXW7rs=
+github.com/metacubex/sing-wireguard v0.0.0-20231001110902-321836559170 h1:DBGA0hmrP4pVIwLiXUONdphjcppED+plmVaKf1oqkwk=
github.com/metacubex/sing-wireguard v0.0.0-20231001110902-321836559170/go.mod h1:/VbJfbdLnANE+SKXyMk/96sTRrD4GdFLh5mkegqqFcY=
-github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo=
-github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
+github.com/miekg/dns v1.1.56 h1:5imZaSeoRNvpM9SzWNhEcP9QliKiz20/dA2QabIGVnE=
github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY=
github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
@@ -155,13 +150,11 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
-github.com/puzpuzpuz/xsync/v2 v2.5.0 h1:2k4qrO/orvmEXZ3hmtHqIy9XaQtPTwzMZk1+iErpE8c=
-github.com/puzpuzpuz/xsync/v2 v2.5.0/go.mod h1:gD2H2krq/w52MfPLE+Uy64TzJDVY7lP2znR9qmR35kU=
+github.com/puzpuzpuz/xsync/v2 v2.5.1 h1:mVGYAvzDSu52+zaGyNjC+24Xw2bQi3kTr4QJ6N9pIIU=
github.com/puzpuzpuz/xsync/v2 v2.5.1/go.mod h1:gD2H2krq/w52MfPLE+Uy64TzJDVY7lP2znR9qmR35kU=
github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
-github.com/quic-go/qtls-go1-20 v0.3.3 h1:17/glZSLI9P9fDAeyCHBFSWSqJcwx1byhLwP5eUIDCM=
-github.com/quic-go/qtls-go1-20 v0.3.3/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
+github.com/quic-go/qtls-go1-20 v0.3.4 h1:MfFAPULvst4yoMgY9QmtpYmfij/em7O8UUi+bNVm7Cg=
github.com/quic-go/qtls-go1-20 v0.3.4/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/sagernet/go-tun2socks v1.16.12-0.20220818015926-16cb67876a61 h1:5+m7c6AkmAylhauulqN/c5dnh8/KssrE9c93TQrXldA=
@@ -170,11 +163,9 @@ github.com/sagernet/netlink v0.0.0-20220905062125-8043b4a9aa97 h1:iL5gZI3uFp0X6E
github.com/sagernet/netlink v0.0.0-20220905062125-8043b4a9aa97/go.mod h1:xLnfdiJbSp8rNqYEdIW/6eDO4mVoogml14Bh2hSiFpM=
github.com/sagernet/sing v0.0.0-20220817130738-ce854cda8522/go.mod h1:QVsS5L/ZA2Q5UhQwLrn0Trw+msNd/NPGEhBKR/ioWiY=
github.com/sagernet/sing v0.1.8/go.mod h1:jt1w2u7lJQFFSGLiRrRIs5YWmx4kAPfWuOejuDW9qMk=
-github.com/sagernet/sing v0.2.10-0.20230807080248-4db0062caa0a h1:b89t6Mjgk4rJ5lrNMnCzy1/J116XkhgdB3YNd9FHyF4=
-github.com/sagernet/sing v0.2.10-0.20230807080248-4db0062caa0a/go.mod h1:9uOZwWkhT2Z2WldolLxX34s+1svAX4i4vvz5hy8u1MA=
-github.com/sagernet/sing v0.2.13/go.mod h1:AhNEHu0GXrpqkuzvTwvC8+j2cQUU/dh+zLEmq4C99pg=
-github.com/sagernet/sing-mux v0.1.3-0.20230811111955-dc1639b5204c h1:35/FowAvt3Z62mck0TXzVc4jS5R5CWq62qcV2P1cp0I=
-github.com/sagernet/sing-mux v0.1.3-0.20230811111955-dc1639b5204c/go.mod h1:TKxqIvfQQgd36jp2tzsPavGjYTVZilV+atip1cssjIY=
+github.com/sagernet/sing v0.2.14 h1:L3AXDh22nsOOYz2nTRU1JvpRsmzViWKI1B8TsQYG1eY=
+github.com/sagernet/sing v0.2.14/go.mod h1:AhNEHu0GXrpqkuzvTwvC8+j2cQUU/dh+zLEmq4C99pg=
+github.com/sagernet/sing-mux v0.1.3 h1:fAf7PZa2A55mCeh0KKM02f1k2Y4vEmxuZZ/51ahkkLA=
github.com/sagernet/sing-mux v0.1.3/go.mod h1:wGeIeiiFLx4HUM5LAg65wrNZ/X1muOimqK0PEhNbPi0=
github.com/sagernet/sing-shadowtls v0.1.4 h1:aTgBSJEgnumzFenPvc+kbD9/W0PywzWevnVpEx6Tw3k=
github.com/sagernet/sing-shadowtls v0.1.4/go.mod h1:F8NBgsY5YN2beQavdgdm1DPlhaKQlaL6lpDdcBglGK4=
@@ -190,8 +181,7 @@ github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM=
github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA=
github.com/scjalliance/comshim v0.0.0-20230315213746-5e51f40bd3b9 h1:rc/CcqLH3lh8n+csdOuDfP+NuykE0U6AeYSJJHKDgSg=
github.com/scjalliance/comshim v0.0.0-20230315213746-5e51f40bd3b9/go.mod h1:a/83NAfUXvEuLpmxDssAXxgUgrEy12MId3Wd7OTs76s=
-github.com/shirou/gopsutil/v3 v3.23.8 h1:xnATPiybo6GgdRoC4YoGnxXZFRc3dqQTGi73oLvvBrE=
-github.com/shirou/gopsutil/v3 v3.23.8/go.mod h1:7hmCaBn+2ZwaZOr6jmPBZDfawwMGuo1id3C6aM8EDqQ=
+github.com/shirou/gopsutil/v3 v3.23.9 h1:ZI5bWVeu2ep4/DIxB4U9okeYJ7zp/QLTO4auRb/ty/E=
github.com/shirou/gopsutil/v3 v3.23.9/go.mod h1:x/NWSb71eMcjFIO0vhyGW5nZ7oSIgVjrCnADckb85GA=
github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM=
github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ=
@@ -228,7 +218,6 @@ github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74 h1:gga7acRE695AP
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw=
github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
github.com/zhangyunhao116/fastrand v0.3.0 h1:7bwe124xcckPulX6fxtr2lFdO2KQqaefdtbk+mqO/Ig=
@@ -237,37 +226,33 @@ gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec h1:FpfFs4EhNehiV
gitlab.com/yawning/bsaes.git v0.0.0-20190805113838-0a714cd429ec/go.mod h1:BZ1RAoRPbCxum9Grlv5aeksu2H8BiKehBYooU2LFiOQ=
go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ=
go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
+go.uber.org/mock v0.3.0 h1:3mUxI1No2/60yUYax92Pt8eNOEecx2D3lcXZh2NEZJo=
+go.uber.org/mock v0.3.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
+go4.org/netipx v0.0.0-20230824141953-6213f710f925 h1:eeQDDVKFkx0g4Hyy8pHgmZaK0EqB4SD6rvKbUdN3ziQ=
+go4.org/netipx v0.0.0-20230824141953-6213f710f925/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck=
-golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
+golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
-golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g=
-golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k=
+golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc=
-golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8=
-golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
-golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -277,22 +262,18 @@ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220622161953-175b2fd9d664/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
@@ -304,9 +285,7 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=
-golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
diff --git a/test/hysteria_test.go b/test/hysteria_test.go
index ae638e629..e783d9c2f 100644
--- a/test/hysteria_test.go
+++ b/test/hysteria_test.go
@@ -5,13 +5,13 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
"github.com/docker/docker/api/types/container"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
"github.com/stretchr/testify/assert"
)
-func TestClash_Hysteria(t *testing.T) {
+func TestMihomo_Hysteria(t *testing.T) {
cfg := &container.Config{
Image: ImageHysteria,
ExposedPorts: defaultExposedPorts,
diff --git a/test/snell_test.go b/test/snell_test.go
index ae9ce0c18..311ca7b77 100644
--- a/test/snell_test.go
+++ b/test/snell_test.go
@@ -5,13 +5,13 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
"github.com/docker/docker/api/types/container"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
"github.com/stretchr/testify/require"
)
-func TestClash_SnellObfsHTTP(t *testing.T) {
+func TestMihomo_SnellObfsHTTP(t *testing.T) {
cfg := &container.Config{
Image: ImageSnell,
ExposedPorts: defaultExposedPorts,
@@ -44,7 +44,7 @@ func TestClash_SnellObfsHTTP(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_SnellObfsTLS(t *testing.T) {
+func TestMihomo_SnellObfsTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageSnell,
ExposedPorts: defaultExposedPorts,
@@ -77,7 +77,7 @@ func TestClash_SnellObfsTLS(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_Snell(t *testing.T) {
+func TestMihomo_Snell(t *testing.T) {
cfg := &container.Config{
Image: ImageSnell,
ExposedPorts: defaultExposedPorts,
@@ -107,7 +107,7 @@ func TestClash_Snell(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_Snellv3(t *testing.T) {
+func TestMihomo_Snellv3(t *testing.T) {
cfg := &container.Config{
Image: ImageSnell,
ExposedPorts: defaultExposedPorts,
diff --git a/test/ss_test.go b/test/ss_test.go
index bec1734b1..866fe3a84 100644
--- a/test/ss_test.go
+++ b/test/ss_test.go
@@ -8,13 +8,13 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
"github.com/docker/docker/api/types/container"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
"github.com/stretchr/testify/require"
)
-func TestClash_Shadowsocks(t *testing.T) {
+func TestMihomo_Shadowsocks(t *testing.T) {
for _, method := range []string{
"aes-128-ctr",
"aes-192-ctr",
@@ -30,7 +30,7 @@ func TestClash_Shadowsocks(t *testing.T) {
"xchacha20-ietf-poly1305",
} {
t.Run(method, func(t *testing.T) {
- testClash_Shadowsocks(t, method, "FzcLbKs2dY9mhL")
+ testMihomo_Shadowsocks(t, method, "FzcLbKs2dY9mhL")
})
}
for _, method := range []string{
@@ -39,17 +39,17 @@ func TestClash_Shadowsocks(t *testing.T) {
"chacha20-ietf-poly1305",
} {
t.Run(method, func(t *testing.T) {
- testClash_ShadowsocksRust(t, method, "FzcLbKs2dY9mhL")
+ testMihomo_ShadowsocksRust(t, method, "FzcLbKs2dY9mhL")
})
}
}
-func TestClash_Shadowsocks2022(t *testing.T) {
+func TestMihomo_Shadowsocks2022(t *testing.T) {
for _, method := range []string{
"2022-blake3-aes-128-gcm",
} {
t.Run(method, func(t *testing.T) {
- testClash_ShadowsocksRust(t, method, mkKey(16))
+ testMihomo_ShadowsocksRust(t, method, mkKey(16))
})
}
for _, method := range []string{
@@ -57,7 +57,7 @@ func TestClash_Shadowsocks2022(t *testing.T) {
"2022-blake3-chacha20-poly1305",
} {
t.Run(method, func(t *testing.T) {
- testClash_ShadowsocksRust(t, method, mkKey(32))
+ testMihomo_ShadowsocksRust(t, method, mkKey(32))
})
}
}
@@ -68,7 +68,7 @@ func mkKey(bits int) string {
return base64.StdEncoding.EncodeToString(k)
}
-func testClash_Shadowsocks(t *testing.T, method string, password string) {
+func testMihomo_Shadowsocks(t *testing.T, method string, password string) {
cfg := &container.Config{
Image: ImageShadowsocks,
Env: []string{
@@ -102,7 +102,7 @@ func testClash_Shadowsocks(t *testing.T, method string, password string) {
testSuit(t, proxy)
}
-func testClash_ShadowsocksRust(t *testing.T, method string, password string) {
+func testMihomo_ShadowsocksRust(t *testing.T, method string, password string) {
cfg := &container.Config{
Image: ImageShadowsocksRust,
Entrypoint: []string{"ssserver"},
@@ -134,7 +134,7 @@ func testClash_ShadowsocksRust(t *testing.T, method string, password string) {
testSuit(t, proxy)
}
-func TestClash_ShadowsocksObfsHTTP(t *testing.T) {
+func TestMihomo_ShadowsocksObfsHTTP(t *testing.T) {
cfg := &container.Config{
Image: ImageShadowsocks,
Env: []string{
@@ -172,7 +172,7 @@ func TestClash_ShadowsocksObfsHTTP(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_ShadowsocksObfsTLS(t *testing.T) {
+func TestMihomo_ShadowsocksObfsTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageShadowsocks,
Env: []string{
@@ -210,7 +210,7 @@ func TestClash_ShadowsocksObfsTLS(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_ShadowsocksV2RayPlugin(t *testing.T) {
+func TestMihomo_ShadowsocksV2RayPlugin(t *testing.T) {
cfg := &container.Config{
Image: ImageShadowsocks,
Env: []string{
@@ -280,7 +280,7 @@ func Benchmark_Shadowsocks(b *testing.B) {
benchmarkProxy(b, proxy)
}
-func TestClash_ShadowsocksUoT(t *testing.T) {
+func TestMihomo_ShadowsocksUoT(t *testing.T) {
configPath := C.Path.Resolve("xray-shadowsocks.json")
cfg := &container.Config{
diff --git a/test/trojan_test.go b/test/trojan_test.go
index 4885fd3be..c6b1fea09 100644
--- a/test/trojan_test.go
+++ b/test/trojan_test.go
@@ -6,13 +6,13 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
"github.com/docker/docker/api/types/container"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
"github.com/stretchr/testify/require"
)
-func TestClash_Trojan(t *testing.T) {
+func TestMihomo_Trojan(t *testing.T) {
cfg := &container.Config{
Image: ImageTrojan,
ExposedPorts: defaultExposedPorts,
@@ -48,7 +48,7 @@ func TestClash_Trojan(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_TrojanGrpc(t *testing.T) {
+func TestMihomo_TrojanGrpc(t *testing.T) {
cfg := &container.Config{
Image: ImageXray,
ExposedPorts: defaultExposedPorts,
@@ -87,7 +87,7 @@ func TestClash_TrojanGrpc(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_TrojanWebsocket(t *testing.T) {
+func TestMihomo_TrojanWebsocket(t *testing.T) {
cfg := &container.Config{
Image: ImageTrojanGo,
ExposedPorts: defaultExposedPorts,
@@ -123,7 +123,7 @@ func TestClash_TrojanWebsocket(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_TrojanXTLS(t *testing.T) {
+func TestMihomo_TrojanXTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageXray,
ExposedPorts: defaultExposedPorts,
diff --git a/test/vless_test.go b/test/vless_test.go
index b75fb3ade..d0e6f071a 100644
--- a/test/vless_test.go
+++ b/test/vless_test.go
@@ -5,14 +5,14 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
"github.com/docker/docker/api/types/container"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
"github.com/stretchr/testify/assert"
)
// TODO: fix udp test
-func TestClash_VlessTLS(t *testing.T) {
+func TestMihomo_VlessTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -51,7 +51,7 @@ func TestClash_VlessTLS(t *testing.T) {
}
// TODO: fix udp test
-func TestClash_VlessXTLS(t *testing.T) {
+func TestMihomo_VlessXTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageXray,
ExposedPorts: defaultExposedPorts,
@@ -81,7 +81,6 @@ func TestClash_VlessXTLS(t *testing.T) {
ServerName: "example.org",
UDP: true,
Flow: "xtls-rprx-direct",
- FlowShow: true,
})
if err != nil {
assert.FailNow(t, err.Error())
@@ -92,7 +91,7 @@ func TestClash_VlessXTLS(t *testing.T) {
}
// TODO: fix udp test
-func TestClash_VlessWS(t *testing.T) {
+func TestMihomo_VlessWS(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
diff --git a/test/vmess_test.go b/test/vmess_test.go
index fd83fff8b..80c3d4d84 100644
--- a/test/vmess_test.go
+++ b/test/vmess_test.go
@@ -5,13 +5,13 @@ import (
"testing"
"time"
- "github.com/Dreamacro/clash/adapter/outbound"
- C "github.com/Dreamacro/clash/constant"
"github.com/docker/docker/api/types/container"
+ "github.com/metacubex/mihomo/adapter/outbound"
+ C "github.com/metacubex/mihomo/constant"
"github.com/stretchr/testify/require"
)
-func TestClash_Vmess(t *testing.T) {
+func TestMihomo_Vmess(t *testing.T) {
configPath := C.Path.Resolve("vmess.json")
cfg := &container.Config{
@@ -44,7 +44,7 @@ func TestClash_Vmess(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessAuthenticatedLength(t *testing.T) {
+func TestMihomo_VmessAuthenticatedLength(t *testing.T) {
configPath := C.Path.Resolve("vmess.json")
cfg := &container.Config{
@@ -78,7 +78,7 @@ func TestClash_VmessAuthenticatedLength(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessPacketAddr(t *testing.T) {
+func TestMihomo_VmessPacketAddr(t *testing.T) {
configPath := C.Path.Resolve("vmess.json")
cfg := &container.Config{
@@ -112,7 +112,7 @@ func TestClash_VmessPacketAddr(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessTLS(t *testing.T) {
+func TestMihomo_VmessTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -149,7 +149,7 @@ func TestClash_VmessTLS(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessHTTP2(t *testing.T) {
+func TestMihomo_VmessHTTP2(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -191,7 +191,7 @@ func TestClash_VmessHTTP2(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessHTTP(t *testing.T) {
+func TestMihomo_VmessHTTP(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -241,7 +241,7 @@ func TestClash_VmessHTTP(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessWebsocket(t *testing.T) {
+func TestMihomo_VmessWebsocket(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -274,7 +274,7 @@ func TestClash_VmessWebsocket(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessWebsocketTLS(t *testing.T) {
+func TestMihomo_VmessWebsocketTLS(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -311,7 +311,7 @@ func TestClash_VmessWebsocketTLS(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessGrpc(t *testing.T) {
+func TestMihomo_VmessGrpc(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -352,7 +352,7 @@ func TestClash_VmessGrpc(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessWebsocket0RTT(t *testing.T) {
+func TestMihomo_VmessWebsocket0RTT(t *testing.T) {
cfg := &container.Config{
Image: ImageVmess,
ExposedPorts: defaultExposedPorts,
@@ -390,7 +390,7 @@ func TestClash_VmessWebsocket0RTT(t *testing.T) {
testSuit(t, proxy)
}
-func TestClash_VmessWebsocketXray0RTT(t *testing.T) {
+func TestMihomo_VmessWebsocketXray0RTT(t *testing.T) {
cfg := &container.Config{
Image: ImageXray,
ExposedPorts: defaultExposedPorts,
diff --git a/transport/gun/gun.go b/transport/gun/gun.go
index d6ef63176..cf986c8e5 100644
--- a/transport/gun/gun.go
+++ b/transport/gun/gun.go
@@ -17,10 +17,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/buf"
- "github.com/Dreamacro/clash/common/pool"
- tlsC "github.com/Dreamacro/clash/component/tls"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/buf"
+ "github.com/metacubex/mihomo/common/pool"
+ tlsC "github.com/metacubex/mihomo/component/tls"
"golang.org/x/net/http2"
)
diff --git a/transport/hysteria/conns/faketcp/obfs.go b/transport/hysteria/conns/faketcp/obfs.go
index 35f7d0133..cf58e5696 100644
--- a/transport/hysteria/conns/faketcp/obfs.go
+++ b/transport/hysteria/conns/faketcp/obfs.go
@@ -1,7 +1,7 @@
package faketcp
import (
- "github.com/Dreamacro/clash/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/transport/hysteria/obfs"
"net"
"sync"
"syscall"
diff --git a/transport/hysteria/conns/faketcp/tcp_linux.go b/transport/hysteria/conns/faketcp/tcp_linux.go
index 76ed0d5e7..2aaaf1398 100644
--- a/transport/hysteria/conns/faketcp/tcp_linux.go
+++ b/transport/hysteria/conns/faketcp/tcp_linux.go
@@ -20,7 +20,7 @@ import (
"github.com/metacubex/gopacket"
"github.com/metacubex/gopacket/layers"
- "github.com/Dreamacro/clash/component/dialer"
+ "github.com/metacubex/mihomo/component/dialer"
)
var (
diff --git a/transport/hysteria/conns/udp/hop.go b/transport/hysteria/conns/udp/hop.go
index 447a75920..eb0732f02 100644
--- a/transport/hysteria/conns/udp/hop.go
+++ b/transport/hysteria/conns/udp/hop.go
@@ -9,8 +9,8 @@ import (
"syscall"
"time"
- "github.com/Dreamacro/clash/transport/hysteria/obfs"
- "github.com/Dreamacro/clash/transport/hysteria/utils"
+ "github.com/metacubex/mihomo/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/transport/hysteria/utils"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/hysteria/conns/udp/obfs.go b/transport/hysteria/conns/udp/obfs.go
index d63034b5d..a5c6c06ca 100644
--- a/transport/hysteria/conns/udp/obfs.go
+++ b/transport/hysteria/conns/udp/obfs.go
@@ -1,7 +1,7 @@
package udp
import (
- "github.com/Dreamacro/clash/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/transport/hysteria/obfs"
"net"
"sync"
"time"
diff --git a/transport/hysteria/conns/wechat/obfs.go b/transport/hysteria/conns/wechat/obfs.go
index d13cca55a..4266d268c 100644
--- a/transport/hysteria/conns/wechat/obfs.go
+++ b/transport/hysteria/conns/wechat/obfs.go
@@ -6,8 +6,8 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/hysteria/obfs"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/hysteria/core/client.go b/transport/hysteria/core/client.go
index ecc8a6f19..b556c70d4 100644
--- a/transport/hysteria/core/client.go
+++ b/transport/hysteria/core/client.go
@@ -11,10 +11,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/transport/hysteria/obfs"
- "github.com/Dreamacro/clash/transport/hysteria/pmtud_fix"
- "github.com/Dreamacro/clash/transport/hysteria/transport"
- "github.com/Dreamacro/clash/transport/hysteria/utils"
+ "github.com/metacubex/mihomo/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/transport/hysteria/pmtud_fix"
+ "github.com/metacubex/mihomo/transport/hysteria/transport"
+ "github.com/metacubex/mihomo/transport/hysteria/utils"
"github.com/lunixbochs/struc"
"github.com/metacubex/quic-go"
diff --git a/transport/hysteria/transport/client.go b/transport/hysteria/transport/client.go
index 67568bc82..f5cc9f07e 100644
--- a/transport/hysteria/transport/client.go
+++ b/transport/hysteria/transport/client.go
@@ -9,11 +9,11 @@ import (
"github.com/metacubex/quic-go"
- "github.com/Dreamacro/clash/transport/hysteria/conns/faketcp"
- "github.com/Dreamacro/clash/transport/hysteria/conns/udp"
- "github.com/Dreamacro/clash/transport/hysteria/conns/wechat"
- obfsPkg "github.com/Dreamacro/clash/transport/hysteria/obfs"
- "github.com/Dreamacro/clash/transport/hysteria/utils"
+ "github.com/metacubex/mihomo/transport/hysteria/conns/faketcp"
+ "github.com/metacubex/mihomo/transport/hysteria/conns/udp"
+ "github.com/metacubex/mihomo/transport/hysteria/conns/wechat"
+ obfsPkg "github.com/metacubex/mihomo/transport/hysteria/obfs"
+ "github.com/metacubex/mihomo/transport/hysteria/utils"
)
type ClientTransport struct {
diff --git a/transport/shadowsocks/core/cipher.go b/transport/shadowsocks/core/cipher.go
index cd30360cb..44b2e8d42 100644
--- a/transport/shadowsocks/core/cipher.go
+++ b/transport/shadowsocks/core/cipher.go
@@ -7,9 +7,9 @@ import (
"sort"
"strings"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowaead"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowstream"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowaead"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowstream"
)
type Cipher interface {
diff --git a/transport/shadowsocks/shadowaead/packet.go b/transport/shadowsocks/shadowaead/packet.go
index e84ac5707..f9d21ec70 100644
--- a/transport/shadowsocks/shadowaead/packet.go
+++ b/transport/shadowsocks/shadowaead/packet.go
@@ -6,8 +6,8 @@ import (
"io"
"net"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
)
// ErrShortPacket means that the packet is too short for a valid encrypted packet.
diff --git a/transport/shadowsocks/shadowaead/stream.go b/transport/shadowsocks/shadowaead/stream.go
index e92bddabb..de0993b27 100644
--- a/transport/shadowsocks/shadowaead/stream.go
+++ b/transport/shadowsocks/shadowaead/stream.go
@@ -7,7 +7,7 @@ import (
"io"
"net"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
const (
diff --git a/transport/shadowsocks/shadowstream/packet.go b/transport/shadowsocks/shadowstream/packet.go
index f0bf43ef9..39d09a70e 100644
--- a/transport/shadowsocks/shadowstream/packet.go
+++ b/transport/shadowsocks/shadowstream/packet.go
@@ -6,8 +6,8 @@ import (
"io"
"net"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
)
// ErrShortPacket means the packet is too short to be a valid encrypted packet.
diff --git a/transport/shadowtls/shadowtls.go b/transport/shadowtls/shadowtls.go
index 2c0c59461..a0a3d7fb7 100644
--- a/transport/shadowtls/shadowtls.go
+++ b/transport/shadowtls/shadowtls.go
@@ -11,8 +11,8 @@ import (
"io"
"net"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
)
const (
diff --git a/transport/simple-obfs/http.go b/transport/simple-obfs/http.go
index 80db34ba7..681c1864f 100644
--- a/transport/simple-obfs/http.go
+++ b/transport/simple-obfs/http.go
@@ -8,7 +8,7 @@ import (
"net"
"net/http"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/simple-obfs/tls.go b/transport/simple-obfs/tls.go
index 20166bbec..78317f0a3 100644
--- a/transport/simple-obfs/tls.go
+++ b/transport/simple-obfs/tls.go
@@ -7,7 +7,7 @@ import (
"net"
"time"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/sing-shadowtls/shadowtls.go b/transport/sing-shadowtls/shadowtls.go
index 6d731ae66..982d847a5 100644
--- a/transport/sing-shadowtls/shadowtls.go
+++ b/transport/sing-shadowtls/shadowtls.go
@@ -5,9 +5,9 @@ import (
"crypto/tls"
"net"
- "github.com/Dreamacro/clash/component/ca"
- tlsC "github.com/Dreamacro/clash/component/tls"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/component/ca"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ "github.com/metacubex/mihomo/log"
"github.com/sagernet/sing-shadowtls"
sing_common "github.com/sagernet/sing/common"
diff --git a/transport/snell/cipher.go b/transport/snell/cipher.go
index 24999e283..e18ce5100 100644
--- a/transport/snell/cipher.go
+++ b/transport/snell/cipher.go
@@ -4,7 +4,7 @@ import (
"crypto/aes"
"crypto/cipher"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowaead"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowaead"
"golang.org/x/crypto/argon2"
"golang.org/x/crypto/chacha20poly1305"
diff --git a/transport/snell/pool.go b/transport/snell/pool.go
index 2a233a752..cc097df78 100644
--- a/transport/snell/pool.go
+++ b/transport/snell/pool.go
@@ -5,8 +5,8 @@ import (
"net"
"time"
- "github.com/Dreamacro/clash/component/pool"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowaead"
+ "github.com/metacubex/mihomo/component/pool"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowaead"
)
type Pool struct {
@@ -61,7 +61,7 @@ func (pc *PoolConn) Write(b []byte) (int, error) {
}
func (pc *PoolConn) Close() error {
- // clash use SetReadDeadline to break bidirectional copy between client and server.
+ // mihomo use SetReadDeadline to break bidirectional copy between client and server.
// reset it before reuse connection to avoid io timeout error.
_ = pc.Snell.Conn.SetReadDeadline(time.Time{})
pc.pool.Put(pc.Snell)
diff --git a/transport/snell/snell.go b/transport/snell/snell.go
index e2bd28208..fe3e4ee00 100644
--- a/transport/snell/snell.go
+++ b/transport/snell/snell.go
@@ -8,9 +8,9 @@ import (
"net"
"sync"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/transport/shadowsocks/shadowaead"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/transport/shadowsocks/shadowaead"
+ "github.com/metacubex/mihomo/transport/socks5"
)
const (
diff --git a/transport/socks4/socks4.go b/transport/socks4/socks4.go
index 0d5c5a770..9533a1c0a 100644
--- a/transport/socks4/socks4.go
+++ b/transport/socks4/socks4.go
@@ -9,7 +9,7 @@ import (
"net/netip"
"strconv"
- "github.com/Dreamacro/clash/component/auth"
+ "github.com/metacubex/mihomo/component/auth"
)
const Version = 0x04
diff --git a/transport/socks5/socks5.go b/transport/socks5/socks5.go
index 6f95cce9e..c97c370ca 100644
--- a/transport/socks5/socks5.go
+++ b/transport/socks5/socks5.go
@@ -9,7 +9,7 @@ import (
"net/netip"
"strconv"
- "github.com/Dreamacro/clash/component/auth"
+ "github.com/metacubex/mihomo/component/auth"
)
// Error represents a SOCKS error
diff --git a/transport/ssr/obfs/http_simple.go b/transport/ssr/obfs/http_simple.go
index c91cca49e..359ca3427 100644
--- a/transport/ssr/obfs/http_simple.go
+++ b/transport/ssr/obfs/http_simple.go
@@ -8,7 +8,7 @@ import (
"strconv"
"strings"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/obfs/random_head.go b/transport/ssr/obfs/random_head.go
index 4c55d9514..9a2072fe4 100644
--- a/transport/ssr/obfs/random_head.go
+++ b/transport/ssr/obfs/random_head.go
@@ -5,7 +5,7 @@ import (
"hash/crc32"
"net"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/obfs/tls1.2_ticket_auth.go b/transport/ssr/obfs/tls1.2_ticket_auth.go
index af945133b..d5e3ca887 100644
--- a/transport/ssr/obfs/tls1.2_ticket_auth.go
+++ b/transport/ssr/obfs/tls1.2_ticket_auth.go
@@ -8,8 +8,8 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/transport/ssr/tools"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/transport/ssr/tools"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/protocol/auth_aes128_md5.go b/transport/ssr/protocol/auth_aes128_md5.go
index d3bc94172..c6ae415e4 100644
--- a/transport/ssr/protocol/auth_aes128_md5.go
+++ b/transport/ssr/protocol/auth_aes128_md5.go
@@ -1,6 +1,6 @@
package protocol
-import "github.com/Dreamacro/clash/transport/ssr/tools"
+import "github.com/metacubex/mihomo/transport/ssr/tools"
func init() {
register("auth_aes128_md5", newAuthAES128MD5, 9)
diff --git a/transport/ssr/protocol/auth_aes128_sha1.go b/transport/ssr/protocol/auth_aes128_sha1.go
index e2f0e1431..6ee4160e3 100644
--- a/transport/ssr/protocol/auth_aes128_sha1.go
+++ b/transport/ssr/protocol/auth_aes128_sha1.go
@@ -8,10 +8,10 @@ import (
"strconv"
"strings"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/ssr/tools"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/ssr/tools"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/protocol/auth_chain_a.go b/transport/ssr/protocol/auth_chain_a.go
index 12345db6f..396172ef8 100644
--- a/transport/ssr/protocol/auth_chain_a.go
+++ b/transport/ssr/protocol/auth_chain_a.go
@@ -12,11 +12,11 @@ import (
"strconv"
"strings"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/shadowsocks/core"
- "github.com/Dreamacro/clash/transport/ssr/tools"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/shadowsocks/core"
+ "github.com/metacubex/mihomo/transport/ssr/tools"
)
func init() {
@@ -108,7 +108,7 @@ func (a *authChainA) Decode(dst, src *bytes.Buffer) error {
dataLength := int(binary.LittleEndian.Uint16(src.Bytes()[:2]) ^ binary.LittleEndian.Uint16(a.lastServerHash[14:16]))
randDataLength := a.randDataLength(dataLength, a.lastServerHash, &a.randomServer)
length := dataLength + randDataLength
- // Temporary workaround for https://github.com/Dreamacro/clash/issues/1352
+ // Temporary workaround for https://github.com/metacubex/mihomo/issues/1352
if dataLength < 0 || randDataLength < 0 || length < 0 {
return errors.New("ssr crashing blocked")
}
@@ -135,7 +135,7 @@ func (a *authChainA) Decode(dst, src *bytes.Buffer) error {
if dataLength > 0 && randDataLength > 0 {
pos += getRandStartPos(randDataLength, &a.randomServer)
}
- // Temporary workaround for https://github.com/Dreamacro/clash/issues/1352
+ // Temporary workaround for https://github.com/metacubex/mihomo/issues/1352
if pos < 0 || pos+dataLength < 0 || dataLength < 0 {
return errors.New("ssr crashing blocked")
}
diff --git a/transport/ssr/protocol/auth_chain_b.go b/transport/ssr/protocol/auth_chain_b.go
index 857b2a3aa..223613a95 100644
--- a/transport/ssr/protocol/auth_chain_b.go
+++ b/transport/ssr/protocol/auth_chain_b.go
@@ -4,7 +4,7 @@ import (
"net"
"sort"
- "github.com/Dreamacro/clash/transport/ssr/tools"
+ "github.com/metacubex/mihomo/transport/ssr/tools"
)
func init() {
diff --git a/transport/ssr/protocol/auth_sha1_v4.go b/transport/ssr/protocol/auth_sha1_v4.go
index 260391819..ed1a39f18 100644
--- a/transport/ssr/protocol/auth_sha1_v4.go
+++ b/transport/ssr/protocol/auth_sha1_v4.go
@@ -7,9 +7,9 @@ import (
"hash/crc32"
"net"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/transport/ssr/tools"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/transport/ssr/tools"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/protocol/base.go b/transport/ssr/protocol/base.go
index a826bec8b..e26a65875 100644
--- a/transport/ssr/protocol/base.go
+++ b/transport/ssr/protocol/base.go
@@ -9,9 +9,9 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/shadowsocks/core"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/shadowsocks/core"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/protocol/origin.go b/transport/ssr/protocol/origin.go
index 52525a2fe..4d8b630a7 100644
--- a/transport/ssr/protocol/origin.go
+++ b/transport/ssr/protocol/origin.go
@@ -4,7 +4,7 @@ import (
"bytes"
"net"
- N "github.com/Dreamacro/clash/common/net"
+ N "github.com/metacubex/mihomo/common/net"
)
type origin struct{}
diff --git a/transport/ssr/protocol/packet.go b/transport/ssr/protocol/packet.go
index 988ff75d8..86d573f37 100644
--- a/transport/ssr/protocol/packet.go
+++ b/transport/ssr/protocol/packet.go
@@ -3,8 +3,8 @@ package protocol
import (
"net"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
)
type PacketConn struct {
diff --git a/transport/ssr/protocol/protocol.go b/transport/ssr/protocol/protocol.go
index 1c27da48b..a04e6bd4d 100644
--- a/transport/ssr/protocol/protocol.go
+++ b/transport/ssr/protocol/protocol.go
@@ -6,7 +6,7 @@ import (
"fmt"
"net"
- N "github.com/Dreamacro/clash/common/net"
+ N "github.com/metacubex/mihomo/common/net"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/ssr/protocol/stream.go b/transport/ssr/protocol/stream.go
index 3c846157a..436859c3d 100644
--- a/transport/ssr/protocol/stream.go
+++ b/transport/ssr/protocol/stream.go
@@ -4,7 +4,7 @@ import (
"bytes"
"net"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
type Conn struct {
diff --git a/transport/ssr/tools/random.go b/transport/ssr/tools/random.go
index 338543ea6..c76011e47 100644
--- a/transport/ssr/tools/random.go
+++ b/transport/ssr/tools/random.go
@@ -3,7 +3,7 @@ package tools
import (
"encoding/binary"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
// XorShift128Plus - a pseudorandom number generator
diff --git a/transport/trojan/trojan.go b/transport/trojan/trojan.go
index 20ba80b35..c4bd11670 100644
--- a/transport/trojan/trojan.go
+++ b/transport/trojan/trojan.go
@@ -12,13 +12,13 @@ import (
"net/http"
"sync"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/component/ca"
- tlsC "github.com/Dreamacro/clash/component/tls"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/vmess"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/component/ca"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/vmess"
)
const (
diff --git a/transport/tuic/common/congestion.go b/transport/tuic/common/congestion.go
index 13c1300fb..485e2e6a6 100644
--- a/transport/tuic/common/congestion.go
+++ b/transport/tuic/common/congestion.go
@@ -1,8 +1,8 @@
package common
import (
- "github.com/Dreamacro/clash/transport/tuic/congestion"
- congestionv2 "github.com/Dreamacro/clash/transport/tuic/congestion_v2"
+ "github.com/metacubex/mihomo/transport/tuic/congestion"
+ congestionv2 "github.com/metacubex/mihomo/transport/tuic/congestion_v2"
"github.com/metacubex/quic-go"
c "github.com/metacubex/quic-go/congestion"
diff --git a/transport/tuic/common/type.go b/transport/tuic/common/type.go
index 9a568dd73..c663fa0b9 100644
--- a/transport/tuic/common/type.go
+++ b/transport/tuic/common/type.go
@@ -7,8 +7,8 @@ import (
"net"
"time"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
"github.com/metacubex/quic-go"
)
diff --git a/transport/tuic/pool_client.go b/transport/tuic/pool_client.go
index 4a779706e..e492fba72 100644
--- a/transport/tuic/pool_client.go
+++ b/transport/tuic/pool_client.go
@@ -8,10 +8,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/generics/list"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/generics/list"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
"github.com/metacubex/quic-go"
)
diff --git a/transport/tuic/server.go b/transport/tuic/server.go
index cabc04e08..a273e4622 100644
--- a/transport/tuic/server.go
+++ b/transport/tuic/server.go
@@ -7,14 +7,14 @@ import (
"net"
"time"
- "github.com/Dreamacro/clash/adapter/inbound"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/tuic/common"
- v4 "github.com/Dreamacro/clash/transport/tuic/v4"
- v5 "github.com/Dreamacro/clash/transport/tuic/v5"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/tuic/common"
+ v4 "github.com/metacubex/mihomo/transport/tuic/v4"
+ v5 "github.com/metacubex/mihomo/transport/tuic/v5"
"github.com/gofrs/uuid/v5"
"github.com/metacubex/quic-go"
diff --git a/transport/tuic/tuic.go b/transport/tuic/tuic.go
index 387a152c5..02aaa3ad3 100644
--- a/transport/tuic/tuic.go
+++ b/transport/tuic/tuic.go
@@ -1,10 +1,10 @@
package tuic
import (
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/tuic/common"
- v4 "github.com/Dreamacro/clash/transport/tuic/v4"
- v5 "github.com/Dreamacro/clash/transport/tuic/v5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/tuic/common"
+ v4 "github.com/metacubex/mihomo/transport/tuic/v4"
+ v5 "github.com/metacubex/mihomo/transport/tuic/v5"
)
type ClientOptionV4 = v4.ClientOption
diff --git a/transport/tuic/v4/client.go b/transport/tuic/v4/client.go
index ce33b72bd..0bc8f9bbb 100644
--- a/transport/tuic/v4/client.go
+++ b/transport/tuic/v4/client.go
@@ -13,13 +13,13 @@ import (
"time"
"unsafe"
- atomic2 "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/buf"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/tuic/common"
+ atomic2 "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/buf"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/metacubex/quic-go"
"github.com/puzpuzpuz/xsync/v2"
diff --git a/transport/tuic/v4/packet.go b/transport/tuic/v4/packet.go
index 2066ceb73..5bd6504ce 100644
--- a/transport/tuic/v4/packet.go
+++ b/transport/tuic/v4/packet.go
@@ -5,10 +5,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/transport/tuic/common"
+ "github.com/metacubex/mihomo/common/atomic"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/metacubex/quic-go"
)
diff --git a/transport/tuic/v4/protocol.go b/transport/tuic/v4/protocol.go
index bbdca67c3..295367427 100644
--- a/transport/tuic/v4/protocol.go
+++ b/transport/tuic/v4/protocol.go
@@ -11,8 +11,8 @@ import (
"github.com/metacubex/quic-go"
"lukechampine.com/blake3"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
)
type BufferedReader interface {
diff --git a/transport/tuic/v4/server.go b/transport/tuic/v4/server.go
index 56133fea9..c4e4d735c 100644
--- a/transport/tuic/v4/server.go
+++ b/transport/tuic/v4/server.go
@@ -7,13 +7,13 @@ import (
"net"
"sync"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/atomic"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/tuic/common"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/atomic"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/gofrs/uuid/v5"
"github.com/metacubex/quic-go"
diff --git a/transport/tuic/v5/client.go b/transport/tuic/v5/client.go
index c4ac25d48..e37d60fc1 100644
--- a/transport/tuic/v5/client.go
+++ b/transport/tuic/v5/client.go
@@ -12,12 +12,12 @@ import (
"sync/atomic"
"time"
- atomic2 "github.com/Dreamacro/clash/common/atomic"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/transport/tuic/common"
+ atomic2 "github.com/metacubex/mihomo/common/atomic"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/metacubex/quic-go"
"github.com/puzpuzpuz/xsync/v2"
diff --git a/transport/tuic/v5/frag.go b/transport/tuic/v5/frag.go
index 8df9f7854..4e07a1c71 100644
--- a/transport/tuic/v5/frag.go
+++ b/transport/tuic/v5/frag.go
@@ -4,7 +4,7 @@ import (
"bytes"
"sync"
- "github.com/Dreamacro/clash/common/cache"
+ "github.com/metacubex/mihomo/common/cache"
"github.com/metacubex/quic-go"
)
diff --git a/transport/tuic/v5/packet.go b/transport/tuic/v5/packet.go
index efbe0bb95..8ab450688 100644
--- a/transport/tuic/v5/packet.go
+++ b/transport/tuic/v5/packet.go
@@ -6,10 +6,10 @@ import (
"sync"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/pool"
- "github.com/Dreamacro/clash/transport/tuic/common"
+ "github.com/metacubex/mihomo/common/atomic"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/pool"
+ "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/metacubex/quic-go"
"github.com/zhangyunhao116/fastrand"
diff --git a/transport/tuic/v5/protocol.go b/transport/tuic/v5/protocol.go
index 964401e19..de51a0800 100644
--- a/transport/tuic/v5/protocol.go
+++ b/transport/tuic/v5/protocol.go
@@ -8,9 +8,9 @@ import (
"net/netip"
"strconv"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
"github.com/metacubex/quic-go"
)
diff --git a/transport/tuic/v5/server.go b/transport/tuic/v5/server.go
index 10003a9df..c8170f620 100644
--- a/transport/tuic/v5/server.go
+++ b/transport/tuic/v5/server.go
@@ -7,12 +7,12 @@ import (
"net"
"sync"
- "github.com/Dreamacro/clash/adapter/inbound"
- "github.com/Dreamacro/clash/common/atomic"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/transport/socks5"
- "github.com/Dreamacro/clash/transport/tuic/common"
+ "github.com/metacubex/mihomo/adapter/inbound"
+ "github.com/metacubex/mihomo/common/atomic"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/transport/socks5"
+ "github.com/metacubex/mihomo/transport/tuic/common"
"github.com/gofrs/uuid/v5"
"github.com/metacubex/quic-go"
diff --git a/transport/v2ray-plugin/websocket.go b/transport/v2ray-plugin/websocket.go
index 9cb4420c7..1c7056d68 100644
--- a/transport/v2ray-plugin/websocket.go
+++ b/transport/v2ray-plugin/websocket.go
@@ -6,8 +6,8 @@ import (
"net"
"net/http"
- "github.com/Dreamacro/clash/component/ca"
- "github.com/Dreamacro/clash/transport/vmess"
+ "github.com/metacubex/mihomo/component/ca"
+ "github.com/metacubex/mihomo/transport/vmess"
)
// Option is options of websocket obfs
diff --git a/transport/vless/config.pb.go b/transport/vless/config.pb.go
index 1407e4d7b..14fcc5f96 100644
--- a/transport/vless/config.pb.go
+++ b/transport/vless/config.pb.go
@@ -108,7 +108,7 @@ func file_transport_vless_config_proto_rawDescGZIP() []byte {
var file_transport_vless_config_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_transport_vless_config_proto_goTypes = []interface{}{
- (*Addons)(nil), // 0: clash.transport.vless.Addons
+ (*Addons)(nil), // 0: mihomo.transport.vless.Addons
}
var file_transport_vless_config_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
diff --git a/transport/vless/config.proto b/transport/vless/config.proto
index 809002302..44cad4793 100644
--- a/transport/vless/config.proto
+++ b/transport/vless/config.proto
@@ -1,9 +1,9 @@
syntax = "proto3";
-package clash.transport.vless;
-option csharp_namespace = "Clash.Transport.Vless";
-option go_package = "github.com/Dreamacro/clash/transport/vless";
-option java_package = "com.clash.transport.vless";
+package mihomo.transport.vless;
+option csharp_namespace = "Mihomo.Transport.Vless";
+option go_package = "github.com/metacubex/mihomo/transport/vless";
+option java_package = "com.mihomo.transport.vless";
option java_multiple_files = true;
message Addons {
diff --git a/transport/vless/conn.go b/transport/vless/conn.go
index 33ecd97a9..02224892e 100644
--- a/transport/vless/conn.go
+++ b/transport/vless/conn.go
@@ -7,9 +7,9 @@ import (
"net"
"sync"
- "github.com/Dreamacro/clash/common/buf"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/transport/vless/vision"
+ "github.com/metacubex/mihomo/common/buf"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/transport/vless/vision"
"github.com/gofrs/uuid/v5"
"google.golang.org/protobuf/proto"
diff --git a/transport/vless/vision/conn.go b/transport/vless/vision/conn.go
index 03f524aaa..79c778352 100644
--- a/transport/vless/vision/conn.go
+++ b/transport/vless/vision/conn.go
@@ -9,9 +9,9 @@ import (
"io"
"net"
- "github.com/Dreamacro/clash/common/buf"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/buf"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/log"
"github.com/gofrs/uuid/v5"
utls "github.com/sagernet/utls"
diff --git a/transport/vless/vision/filter.go b/transport/vless/vision/filter.go
index e070de352..55b5663f6 100644
--- a/transport/vless/vision/filter.go
+++ b/transport/vless/vision/filter.go
@@ -4,7 +4,7 @@ import (
"bytes"
"encoding/binary"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/log"
)
var (
diff --git a/transport/vless/vision/padding.go b/transport/vless/vision/padding.go
index d5a230d11..e5f9dc85e 100644
--- a/transport/vless/vision/padding.go
+++ b/transport/vless/vision/padding.go
@@ -4,8 +4,8 @@ import (
"bytes"
"encoding/binary"
- "github.com/Dreamacro/clash/common/buf"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/buf"
+ "github.com/metacubex/mihomo/log"
"github.com/gofrs/uuid/v5"
"github.com/zhangyunhao116/fastrand"
diff --git a/transport/vless/vision/vision.go b/transport/vless/vision/vision.go
index 3b52dd4bc..09299b230 100644
--- a/transport/vless/vision/vision.go
+++ b/transport/vless/vision/vision.go
@@ -10,8 +10,8 @@ import (
"reflect"
"unsafe"
- N "github.com/Dreamacro/clash/common/net"
- tlsC "github.com/Dreamacro/clash/component/tls"
+ N "github.com/metacubex/mihomo/common/net"
+ tlsC "github.com/metacubex/mihomo/component/tls"
"github.com/gofrs/uuid/v5"
"github.com/sagernet/sing/common"
diff --git a/transport/vless/vless.go b/transport/vless/vless.go
index 6c01b8390..ce07cdb41 100644
--- a/transport/vless/vless.go
+++ b/transport/vless/vless.go
@@ -3,7 +3,7 @@ package vless
import (
"net"
- "github.com/Dreamacro/clash/common/utils"
+ "github.com/metacubex/mihomo/common/utils"
"github.com/gofrs/uuid/v5"
)
diff --git a/transport/vmess/aead.go b/transport/vmess/aead.go
index d4fbf2d9b..89ec6a3b7 100644
--- a/transport/vmess/aead.go
+++ b/transport/vmess/aead.go
@@ -7,7 +7,7 @@ import (
"io"
"sync"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
type aeadWriter struct {
diff --git a/transport/vmess/chunk.go b/transport/vmess/chunk.go
index ab1adb6df..f52fc82cf 100644
--- a/transport/vmess/chunk.go
+++ b/transport/vmess/chunk.go
@@ -5,7 +5,7 @@ import (
"errors"
"io"
- "github.com/Dreamacro/clash/common/pool"
+ "github.com/metacubex/mihomo/common/pool"
)
const (
diff --git a/transport/vmess/http.go b/transport/vmess/http.go
index d9e73f686..782e7eb2c 100644
--- a/transport/vmess/http.go
+++ b/transport/vmess/http.go
@@ -8,7 +8,7 @@ import (
"net/http"
"net/textproto"
- "github.com/Dreamacro/clash/common/util"
+ "github.com/metacubex/mihomo/common/util"
"github.com/zhangyunhao116/fastrand"
)
diff --git a/transport/vmess/tls.go b/transport/vmess/tls.go
index 8bcb6513e..bdaa8cccb 100644
--- a/transport/vmess/tls.go
+++ b/transport/vmess/tls.go
@@ -6,8 +6,8 @@ import (
"errors"
"net"
- "github.com/Dreamacro/clash/component/ca"
- tlsC "github.com/Dreamacro/clash/component/tls"
+ "github.com/metacubex/mihomo/component/ca"
+ tlsC "github.com/metacubex/mihomo/component/tls"
)
type TLSConfig struct {
diff --git a/transport/vmess/vmess.go b/transport/vmess/vmess.go
index 2dd071ebb..7c587c6a0 100644
--- a/transport/vmess/vmess.go
+++ b/transport/vmess/vmess.go
@@ -5,7 +5,7 @@ import (
"net"
"runtime"
- "github.com/Dreamacro/clash/common/utils"
+ "github.com/metacubex/mihomo/common/utils"
"github.com/gofrs/uuid/v5"
"github.com/zhangyunhao116/fastrand"
diff --git a/transport/vmess/websocket.go b/transport/vmess/websocket.go
index 9f09185b4..b30bb8aad 100644
--- a/transport/vmess/websocket.go
+++ b/transport/vmess/websocket.go
@@ -18,10 +18,10 @@ import (
"strings"
"time"
- "github.com/Dreamacro/clash/common/buf"
- N "github.com/Dreamacro/clash/common/net"
- tlsC "github.com/Dreamacro/clash/component/tls"
- "github.com/Dreamacro/clash/log"
+ "github.com/metacubex/mihomo/common/buf"
+ N "github.com/metacubex/mihomo/common/net"
+ tlsC "github.com/metacubex/mihomo/component/tls"
+ "github.com/metacubex/mihomo/log"
"github.com/gobwas/ws"
"github.com/gobwas/ws/wsutil"
diff --git a/tunnel/connection.go b/tunnel/connection.go
index 9fc4f405c..33cc4e8d1 100644
--- a/tunnel/connection.go
+++ b/tunnel/connection.go
@@ -6,9 +6,9 @@ import (
"net/netip"
"time"
- N "github.com/Dreamacro/clash/common/net"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/log"
+ N "github.com/metacubex/mihomo/common/net"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/log"
)
func handleUDPToRemote(packet C.UDPPacket, pc C.PacketConn, metadata *C.Metadata) error {
diff --git a/tunnel/statistic/manager.go b/tunnel/statistic/manager.go
index 4797829f5..8e962daee 100644
--- a/tunnel/statistic/manager.go
+++ b/tunnel/statistic/manager.go
@@ -4,7 +4,7 @@ import (
"os"
"time"
- "github.com/Dreamacro/clash/common/atomic"
+ "github.com/metacubex/mihomo/common/atomic"
"github.com/puzpuzpuz/xsync/v2"
"github.com/shirou/gopsutil/v3/process"
diff --git a/tunnel/statistic/tracker.go b/tunnel/statistic/tracker.go
index bc2dbd5c6..0bf7995dd 100644
--- a/tunnel/statistic/tracker.go
+++ b/tunnel/statistic/tracker.go
@@ -6,11 +6,11 @@ import (
"net/netip"
"time"
- "github.com/Dreamacro/clash/common/atomic"
- "github.com/Dreamacro/clash/common/buf"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/common/utils"
- C "github.com/Dreamacro/clash/constant"
+ "github.com/metacubex/mihomo/common/atomic"
+ "github.com/metacubex/mihomo/common/buf"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/common/utils"
+ C "github.com/metacubex/mihomo/constant"
"github.com/gofrs/uuid/v5"
)
diff --git a/tunnel/tunnel.go b/tunnel/tunnel.go
index fe37d75e6..596e26d77 100644
--- a/tunnel/tunnel.go
+++ b/tunnel/tunnel.go
@@ -12,16 +12,16 @@ import (
"github.com/jpillora/backoff"
- N "github.com/Dreamacro/clash/common/net"
- "github.com/Dreamacro/clash/component/nat"
- P "github.com/Dreamacro/clash/component/process"
- "github.com/Dreamacro/clash/component/resolver"
- "github.com/Dreamacro/clash/component/sniffer"
- C "github.com/Dreamacro/clash/constant"
- "github.com/Dreamacro/clash/constant/provider"
- icontext "github.com/Dreamacro/clash/context"
- "github.com/Dreamacro/clash/log"
- "github.com/Dreamacro/clash/tunnel/statistic"
+ N "github.com/metacubex/mihomo/common/net"
+ "github.com/metacubex/mihomo/component/nat"
+ P "github.com/metacubex/mihomo/component/process"
+ "github.com/metacubex/mihomo/component/resolver"
+ "github.com/metacubex/mihomo/component/sniffer"
+ C "github.com/metacubex/mihomo/constant"
+ "github.com/metacubex/mihomo/constant/provider"
+ icontext "github.com/metacubex/mihomo/context"
+ "github.com/metacubex/mihomo/log"
+ "github.com/metacubex/mihomo/tunnel/statistic"
)
var (