下载 Go 1.21.5 版本(以 Linux amd64 为例)

wget https://golang.org/dl/go1.21.5.linux-amd64.tar.gz

解压到 /usr/local 目录

sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz

将 go 命令加入 PATH

编辑 /etc/profile 文件,添加以下内容:

export GOROOT=/usr/local/go
export GOPATH=$HOME/gowork
export GOBIN=$GOPATH/bin
export PATH=$GOROOT/bin:$GOBIN:$PATH

验证安装版本

go version

1.在服务器上安装/启用Buildx和QEMU(一次即可):

docker run --privileged --rm tonistiigi/binfmt --install all

2.创建一个支持多平台的 builder:

docker buildx create --use --name mybuilder

docker buildx inspect --bootstrap

3.使用buildx构建并推送(同时支持两种架构):

docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -t your-repo/your-image:tag \
  --push .

构建全部架构(不推荐,除非有特殊需求,构建时间会很长):

docker buildx build \
  --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6,linux/386,linux/riscv64,linux/ppc64le,linux/s390x \
  -t your-repo/image:tag \
  --push .

L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition)#免安装版本

5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Standard Edition)#安装版本

P427L-9Y552-5433E-8DSR3-58Z68(MAC) #mac版本

mosdns 是 Go 编写的超轻量 DNS 服务器(单二进制 ~10MB,内存 <30MB,常驻低),专为自建 DoH/DoT/anti-pollution设计

优势:
原生支持标准 DoH 服务(/dns-query,兼容 GET/POST)。
只转发上游,无 UI、无额外功能,纯轻量。
支持多个上游、fallback 等。

1.下载并安装 mosdns

wget https://github.com/IrineSistiana/mosdns/releases/latest/download/mosdns-linux-amd64.zip
unzip mosdns-linux-amd64.zip
chmod +x mosdns
mv mosdns /usr/local/bin/mosdns

2.创建目录和 config:

mkdir -p /etc/mosdns

cat > /etc/mosdns/config.yaml <<EOF
log:
  level: info

plugins:
  - tag: upstreams
    type: forward
    args:
      upstreams:
        - addr: tls://1.1.1.1
        - addr: tls://dns.google

  - tag: doh_http
    type: http_server
    args:
      listen: 127.0.0.1:8053
      entries:
        - path: /dns-query
          exec: upstreams  # 所有 /dns-query 请求直接执行 upstreams 插件(forward)
      idle_timeout: 30
EOF

3.运行并守护
测试运行:

mosdns -c /etc/mosdns/config.yaml

守护进程(用 Supervisor 或 systemd):

cat > /etc/systemd/system/mosdns.service <<EOF
[Unit]
Description=mosdns DoH proxy
After=network.target

[Service]
ExecStart=/usr/local/bin/mosdns -c /etc/mosdns/config.yaml
Restart=always

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload

systemctl enable --now mosdns

apache配置文件添加以下代码进行反代即可绑定域名

<Location /dns-query>
    ProxyPass http://127.0.0.1:8053/dns-query
    ProxyPassReverse http://127.0.0.1:8053/dns-query
    RequestHeader set Upgrade $http_upgrade
    RequestHeader set Connection "upgrade"
</Location>