# ๐Ÿ”จ MosDNS ๅคšๅนณๅฐๆž„ๅปบ่„šๆœฌไฝฟ็”จ่ฏดๆ˜Ž > ๆ”ฏๆŒ Linuxใ€Windowsใ€macOS ๅ…จๅนณๅฐ็ผ–่ฏ‘๏ผŒ่‡ชๅŠจๆž„ๅปบ Web UI --- ## ๐Ÿ“‹ ่„šๆœฌๅฏนๆฏ” | ็‰นๆ€ง | Windows ็‰ˆๆœฌ | Linux ็‰ˆๆœฌ | |------|-------------|-----------| | ๆ–‡ไปถๅ | `build-all-platforms.bat` | `build-all-platforms.sh` | | ่ฟ่กŒ็Žฏๅขƒ | Windows CMD/PowerShell | Linux/macOS Bash | | ่ฏญๆณ• | ๆ‰นๅค„็† (.bat) | Shell Script (.sh) | | ้ขœ่‰ฒๆ”ฏๆŒ | โœ… ๆœ‰้™ๆ”ฏๆŒ | โœ… ๅฎŒๆ•ด ANSI ่‰ฒๅฝฉ | | ไบคไบ’่œๅ• | โœ… | โœ… | | ่‡ชๅŠจๆž„ๅปบ Vue | โœ… | โœ… | --- ## ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹ ### Linux/macOS ไฝฟ็”จๆ–นๆณ• ```bash # 1. ่ต‹ไบˆๆ‰ง่กŒๆƒ้™ chmod +x build-all-platforms.sh # 2. ่ฟ่กŒ่„šๆœฌ ./build-all-platforms.sh ``` ### Windows ไฝฟ็”จๆ–นๆณ• ```cmd # ็›ดๆŽฅ่ฟ่กŒๆ‰นๅค„็†ๆ–‡ไปถ build-all-platforms.bat ``` --- ## ๐Ÿ“ ๅŠŸ่ƒฝ็‰นๆ€ง ### 1. ่‡ชๅŠจ็Žฏๅขƒๆฃ€ๆŸฅ **ๆฃ€ๆŸฅ้กน็›ฎ**: - โœ… Go ็Žฏๅขƒๆ˜ฏๅฆๅฎ‰่ฃ… - โœ… Node.js ็Žฏๅขƒ๏ผˆ็”จไบŽๆž„ๅปบ Vue๏ผ‰ - โœ… npm ๅŒ…็ฎก็†ๅ™จ - โœ… Vue ๅ‰็ซฏๆ˜ฏๅฆๅทฒๆž„ๅปบ **่‡ชๅŠจๅค„็†**: ```bash # ๅฆ‚ๆžœ web-ui/dist ไธๅญ˜ๅœจ๏ผŒ่‡ชๅŠจๆ‰ง่กŒ๏ผš cd web-ui npm install # ๅฎ‰่ฃ…ไพ่ต– npm run build # ๆž„ๅปบๅ‰็ซฏ cd .. ``` --- ### 2. ไบคไบ’ๅผ่œๅ• ``` โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ MosDNS ๅคšๅนณๅฐๆž„ๅปบๅทฅๅ…ท (ๅธฆ Web UI) โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ่ฏท้€‰ๆ‹ฉ่ฆ็ผ–่ฏ‘็š„ๅนณๅฐ๏ผš [1] Linux AMD64 (x86_64 ๆœๅŠกๅ™จ) [2] Linux ARM64 (ๆ ‘่Ž“ๆดพใ€ARM ๆœๅŠกๅ™จ) [3] Windows AMD64 (Windows 64ไฝ) [4] macOS AMD64 (Intel Mac) [5] macOS ARM64 (Apple Silicon M1/M2/M3) [6] ็ผ–่ฏ‘ๆ‰€ๆœ‰ Linux ็‰ˆๆœฌ (AMD64 + ARM64) [7] ็ผ–่ฏ‘ๆ‰€ๆœ‰ macOS ็‰ˆๆœฌ (AMD64 + ARM64) [8] ็ผ–่ฏ‘ๆ‰€ๆœ‰ Windows ็‰ˆๆœฌ (ไป… AMD64) [A] ็ผ–่ฏ‘ๅ…จ้ƒจๅนณๅฐ (ๆŽจ่็”จไบŽๅ‘ๅธƒ) [0] ้€€ๅ‡บ ``` --- ### 3. ๆ”ฏๆŒ็š„ๅนณๅฐ | ๅนณๅฐ | ๆžถๆž„ | ่พ“ๅ‡บๆ–‡ไปถ | ็”จ้€” | |------|------|---------|------| | **Linux** | AMD64 | `mosdns-linux-amd64` | x86_64 ๆœๅŠกๅ™จ | | **Linux** | ARM64 | `mosdns-linux-arm64` | ๆ ‘่Ž“ๆดพใ€ARM ๆœๅŠกๅ™จ | | **Windows** | AMD64 | `mosdns-windows-amd64.exe` | Windows 64ไฝ | | **macOS** | AMD64 | `mosdns-darwin-amd64` | Intel Mac | | **macOS** | ARM64 | `mosdns-darwin-arm64` | Apple Silicon (M1/M2/M3) | --- ### 4. ๆž„ๅปบๅ‚ๆ•ฐ **่‡ชๅŠจ่ฎพ็ฝฎ**: ```bash VERSION="v5.0.0-webui" BUILD_TIME=$(date '+%Y-%m-%d %H:%M:%S') CGO_ENABLED=0 LDFLAGS="-s -w -X 'main.version=$VERSION' -X 'main.buildTime=$BUILD_TIME'" ``` **็ผ–่ฏ‘ไผ˜ๅŒ–**: - `-s`: ๅŽป้™ค็ฌฆๅท่กจ๏ผˆๅ‡ๅฐไฝ“็งฏ๏ผ‰ - `-w`: ๅŽป้™ค DWARF ่ฐƒ่ฏ•ไฟกๆฏ๏ผˆๅ‡ๅฐไฝ“็งฏ๏ผ‰ - `CGO_ENABLED=0`: ้™ๆ€็ผ–่ฏ‘๏ผŒๆ— ้œ€ๅค–้ƒจไพ่ต– --- ## ๐Ÿ“Š ๆž„ๅปบๆต็จ‹ ### ๅฎŒๆ•ดๆต็จ‹็คบๆ„ๅ›พ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 1. ๆฃ€ๆŸฅ Go ็Žฏๅขƒ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 2. ๆฃ€ๆŸฅ/ๆž„ๅปบ Vue ๅ‰็ซฏ โ”‚ โ”‚ - ๆฃ€ๆŸฅ web-ui/dist/index.html โ”‚ โ”‚ - ๅฆ‚ไธๅญ˜ๅœจ๏ผšnpm install && npm build โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 3. ๆ˜พ็คบๅนณๅฐ้€‰ๆ‹ฉ่œๅ• โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 4. ๅˆๅง‹ๅŒ–ๆž„ๅปบๅ‚ๆ•ฐ โ”‚ โ”‚ - ่ฎพ็ฝฎ็‰ˆๆœฌๅทใ€ๆž„ๅปบๆ—ถ้—ด โ”‚ โ”‚ - ๅˆ›ๅปบ dist/ ็›ฎๅฝ• โ”‚ โ”‚ - ่ฎพ็ฝฎ LDFLAGS โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 5. ๆ‰ง่กŒ่ทจๅนณๅฐ็ผ–่ฏ‘ โ”‚ โ”‚ - ่ฎพ็ฝฎ GOOS, GOARCH โ”‚ โ”‚ - go build -ldflags="..." โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 6. ๆ˜พ็คบๆž„ๅปบ็ป“ๆžœ โ”‚ โ”‚ - ๅˆ—ๅ‡บๆž„ๅปบไบง็‰ฉ โ”‚ โ”‚ - ๆ˜พ็คบๆ–‡ไปถๅคงๅฐ โ”‚ โ”‚ - ๆไพ›ไฝฟ็”จ่ฏดๆ˜Ž โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 7. ่ฏข้—ฎๆ˜ฏๅฆ็ปง็ปญ (ๅพช็Žฏ) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## ๐ŸŽจ ่พ“ๅ‡บ็คบไพ‹ ### ๆˆๅŠŸๆž„ๅปบ ```bash โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ๐ŸŽ‰ ๆž„ๅปบๅฎŒๆˆ๏ผ ๐Ÿ“ฆ ๆž„ๅปบไบง็‰ฉๅˆ—่กจ: mosdns-darwin-amd64 mosdns-darwin-arm64 mosdns-linux-amd64 mosdns-linux-arm64 mosdns-windows-amd64.exe ๐Ÿ“Š ๆ–‡ไปถๅคงๅฐ่ฏฆๆƒ…: mosdns-linux-amd64 - 24M mosdns-linux-arm64 - 23M mosdns-windows-amd64.exe - 24M mosdns-darwin-amd64 - 24M mosdns-darwin-arm64 - 23M โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• ๐Ÿ“ ไฝฟ็”จๆ–นๆณ•: Linux: chmod +x dist/mosdns-linux-amd64 ./dist/mosdns-linux-amd64 start -c config.yaml Windows: dist\mosdns-windows-amd64.exe start -c config.yaml macOS: chmod +x dist/mosdns-darwin-amd64 ./dist/mosdns-darwin-amd64 start -c config.yaml ๐ŸŒ Web ็ฎก็†็•Œ้ข: http://localhost:5555 ๐Ÿ’ก ๆ็คบ: ๆ‰€ๆœ‰ๅฏๆ‰ง่กŒๆ–‡ไปถๅทฒๅ†…ๅตŒ Web ่ต„ๆบ๏ผŒๅฏ็‹ฌ็ซ‹่ฟ่กŒ ``` --- ## ๐Ÿ”ง ้ซ˜็บง็”จๆณ• ### 1. ไป…ๆž„ๅปบ Vue ๅ‰็ซฏ ```bash cd web-ui npm install npm run build ``` ### 2. ๆ‰‹ๅŠจ็ผ–่ฏ‘ๅ•ไธชๅนณๅฐ ```bash # Linux AMD64 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \ go build -ldflags="-s -w" -o dist/mosdns-linux-amd64 . # macOS ARM64 CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 \ go build -ldflags="-s -w" -o dist/mosdns-darwin-arm64 . # Windows AMD64 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 \ go build -ldflags="-s -w" -o dist/mosdns-windows-amd64.exe . ``` ### 3. ่‡ชๅฎšไน‰็‰ˆๆœฌๅท **็ผ–่พ‘่„šๆœฌ**: ```bash # Linux ่„šๆœฌ (build-all-platforms.sh) VERSION="v5.0.0-webui" # ไฟฎๆ”นๆญค่กŒ # Windows ่„šๆœฌ (build-all-platforms.bat) set "VERSION=v5.0.0-webui" # ไฟฎๆ”นๆญค่กŒ ``` ### 4. ่‡ชๅฎšไน‰่พ“ๅ‡บ็›ฎๅฝ• ```bash # Linux ่„šๆœฌ OUTPUT_DIR="dist" # ไฟฎๆ”นไธบ "release" ๆˆ–ๅ…ถไป–็›ฎๅฝ• # Windows ่„šๆœฌ set "OUTPUT_DIR=dist" # ไฟฎๆ”นไธบ "release" ๆˆ–ๅ…ถไป–็›ฎๅฝ• ``` --- ## ๐Ÿ› ๆ•…้šœๆŽ’ๆŸฅ ### ้—ฎ้ข˜ 1: Go ็Žฏๅขƒๆœชๆ‰พๅˆฐ **้”™่ฏฏไฟกๆฏ**: ``` โŒ Go ๆœชๅฎ‰่ฃ…ๆˆ–ไธๅœจ PATH ไธญ ``` **่งฃๅ†ณๆ–นๆกˆ**: ```bash # ๆฃ€ๆŸฅ Go ๆ˜ฏๅฆๅฎ‰่ฃ… which go go version # ๅฆ‚ๆœชๅฎ‰่ฃ…๏ผŒ่ฏท่ฎฟ้—ฎ https://golang.org/dl/ # ๆˆ–ไฝฟ็”จๅŒ…็ฎก็†ๅ™จๅฎ‰่ฃ… sudo apt install golang-go # Debian/Ubuntu brew install go # macOS ``` --- ### ้—ฎ้ข˜ 2: Node.js ็Žฏๅขƒๆœชๆ‰พๅˆฐ **้”™่ฏฏไฟกๆฏ**: ``` โŒ Node.js ๆœชๅฎ‰่ฃ…๏ผŒๆ— ๆณ•ๆž„ๅปบ Vue ๅ‰็ซฏ ``` **่งฃๅ†ณๆ–นๆกˆ**: ```bash # ๆฃ€ๆŸฅ Node.js node --version npm --version # ๅฆ‚ๆœชๅฎ‰่ฃ… sudo apt install nodejs npm # Debian/Ubuntu brew install node # macOS # ๆˆ–่ฎฟ้—ฎ https://nodejs.org/ ``` --- ### ้—ฎ้ข˜ 3: Vue ๆž„ๅปบๅคฑ่ดฅ **้”™่ฏฏไฟกๆฏ**: ``` โŒ Vue ๆž„ๅปบๅคฑ่ดฅ ERROR: "type-check" exited with 1. ``` **่งฃๅ†ณๆ–นๆกˆ**: ```bash # ๅทฒไฟฎๅค TypeScript ็ฑปๅž‹้”™่ฏฏ # ็กฎไฟไฝฟ็”จๆœ€ๆ–ฐไปฃ็  cd web-ui npm install npm run build ``` --- ### ้—ฎ้ข˜ 4: ๆƒ้™ไธ่ถณ (Linux/macOS) **้”™่ฏฏไฟกๆฏ**: ``` bash: ./build-all-platforms.sh: Permission denied ``` **่งฃๅ†ณๆ–นๆกˆ**: ```bash # ่ต‹ไบˆๆ‰ง่กŒๆƒ้™ chmod +x build-all-platforms.sh # ๆˆ–ไฝฟ็”จ bash ๆ‰ง่กŒ bash build-all-platforms.sh ``` --- ## ๐Ÿ“ฆ ๆž„ๅปบไบง็‰ฉ่ฏดๆ˜Ž ### ๆ–‡ไปถๅคงๅฐ | ๅนณๅฐ | ้ข„ๆœŸๅคงๅฐ | ่ฏดๆ˜Ž | |------|---------|------| | Linux AMD64 | ~24MB | ๅŒ…ๅซๅฎŒๆ•ด Web UI | | Linux ARM64 | ~23MB | ARM ๆžถๆž„็จๅฐ | | Windows AMD64 | ~24MB | .exe ๅฏๆ‰ง่กŒๆ–‡ไปถ | | macOS AMD64 | ~24MB | Intel Mac | | macOS ARM64 | ~23MB | Apple Silicon | ### ๅ†…ๅตŒ่ต„ๆบ ๆฏไธชๅฏๆ‰ง่กŒๆ–‡ไปถ้ƒฝๅŒ…ๅซ๏ผš - โœ… MosDNS ๆ ธๅฟƒๅผ•ๆ“Ž - โœ… ๆ‰€ๆœ‰ๆ’ไปถ๏ผˆๅŒ…ๆ‹ฌ smart_fallback, mikrotik_addresslist ็ญ‰๏ผ‰ - โœ… Vue 3 Web ็ฎก็†็•Œ้ข๏ผˆๅฎŒๆ•ด SPA๏ผ‰ - โœ… ็ƒญๅŠ ่ฝฝๅŠŸ่ƒฝ - โœ… RESTful API **ไผ˜ๅŠฟ**: - ๐Ÿš€ ๅ•ๆ–‡ไปถ้ƒจ็ฝฒ๏ผŒๆ— ้œ€้ขๅค–ไพ่ต– - ๐Ÿ“ฆ ๅผ€็ฎฑๅณ็”จ๏ผŒๆ— ้œ€ๅฎ‰่ฃ… Node.js - ๐Ÿ”’ ่ต„ๆบๅตŒๅ…ฅไบŒ่ฟ›ๅˆถ๏ผŒๅฎ‰ๅ…จๅฏ้  --- ## ๐ŸŽฏ ๆœ€ไฝณๅฎž่ทต ### 1. ๅ‘ๅธƒ็‰ˆๆœฌๆž„ๅปบ ```bash # ้€‰ๆ‹ฉ [A] ็ผ–่ฏ‘ๅ…จ้ƒจๅนณๅฐ ./build-all-platforms.sh # ่พ“ๅ…ฅ: A # ๆž„ๅปบไบง็‰ฉ dist/ โ”œโ”€โ”€ mosdns-darwin-amd64 โ”œโ”€โ”€ mosdns-darwin-arm64 โ”œโ”€โ”€ mosdns-linux-amd64 โ”œโ”€โ”€ mosdns-linux-arm64 โ””โ”€โ”€ mosdns-windows-amd64.exe ``` ### 2. ๆต‹่ฏ•ๅ•ๅนณๅฐ ```bash # ้€‰ๆ‹ฉ [1] ไป…็ผ–่ฏ‘ Linux AMD64 ./build-all-platforms.sh # ่พ“ๅ…ฅ: 1 # ็ซ‹ๅณๆต‹่ฏ• chmod +x dist/mosdns-linux-amd64 ./dist/mosdns-linux-amd64 start -c config.yaml ``` ### 3. CI/CD ้›†ๆˆ ```yaml # GitHub Actions ็คบไพ‹ - name: Build all platforms run: | chmod +x build-all-platforms.sh echo "A" | ./build-all-platforms.sh ``` --- ## ๐Ÿ“š ็›ธๅ…ณๆ–‡ๆกฃ - [Go ่ทจๅนณๅฐ็ผ–่ฏ‘ๆ–‡ๆกฃ](https://golang.org/doc/install/source#environment) - [MosDNS ้กน็›ฎๆ–‡ๆกฃ](./README.md) - [Vue 3 ๆž„ๅปบ้…็ฝฎ](./web-ui/README.md) - [็ƒญๅŠ ่ฝฝๅŠŸ่ƒฝ่ฏดๆ˜Ž](./็ƒญๅŠ ่ฝฝๅŠŸ่ƒฝๅฎž็Žฐๆ€ป็ป“.md) - [TypeScript ็ฑปๅž‹ไฟฎๅค](./TypeScript็ฑปๅž‹้”™่ฏฏไฟฎๅค.md) --- ## ๐ŸŽ‰ ๆ€ป็ป“ ### Linux ็‰ˆๆœฌ่„šๆœฌ็‰นๆ€ง โœ… **ๅฎŒๆ•ดๅŠŸ่ƒฝๅฏน็ญ‰** - ไธŽ Windows ็‰ˆๆœฌๅŠŸ่ƒฝๅฎŒๅ…จไธ€่‡ด โœ… **ๅฝฉ่‰ฒ่พ“ๅ‡บ** - ไฝฟ็”จ ANSI ่‰ฒๅฝฉๅขžๅผบๅฏ่ฏปๆ€ง โœ… **ไบคไบ’ๅผ่œๅ•** - ๅ‹ๅฅฝ็š„็”จๆˆท็•Œ้ข โœ… **้”™่ฏฏๅค„็†** - ๅฎŒๅ–„็š„้”™่ฏฏๆฃ€ๆต‹ๅ’Œๆ็คบ โœ… **่ทจๅนณๅฐ็ผ–่ฏ‘** - ๆ”ฏๆŒ 5 ็งๅนณๅฐๆžถๆž„ โœ… **่‡ชๅŠจๅŒ–ๆต็จ‹** - Vue ๅ‰็ซฏ่‡ชๅŠจๆž„ๅปบ ### ไฝฟ็”จๅœบๆ™ฏ - ๐Ÿ–ฅ๏ธ **Linux ๆœๅŠกๅ™จ**: ็›ดๆŽฅๅœจๆœๅŠกๅ™จไธŠๆž„ๅปบ - ๐ŸŽ **macOS ๅผ€ๅ‘ๆœบ**: ๆœฌๅœฐๅผ€ๅ‘ๅ’Œๆต‹่ฏ• - ๐Ÿณ **Docker ๅฎนๅ™จ**: ๅฎนๅ™จๅŒ–ๆž„ๅปบ็Žฏๅขƒ - ๐Ÿ”„ **CI/CD ็ฎก้“**: ่‡ชๅŠจๅŒ–ๆž„ๅปบๅ’Œๅ‘ๅธƒ --- **๐Ÿ”จ ๆž„ๅปบ่„šๆœฌๅทฒๅ‡†ๅค‡ๅฐฑ็ปช๏ผŒๅผ€ๅง‹ๆž„ๅปบๆ‚จ็š„ MosDNS๏ผ** *ๆ›ดๆ–ฐๆ—ถ้—ด: 2025-10-16* *็‰ˆๆœฌ: v1.0*