core/core.go: Replace "Custom" with vcs info if available (#5665)

https://github.com/XTLS/Xray-core/pull/5665#issuecomment-3890500863
This commit is contained in:
风扇滑翔翼
2026-02-12 22:00:15 +08:00
committed by GitHub
parent d100be5ad5
commit 1fe6d4a0f5

View File

@@ -12,6 +12,7 @@ package core
import (
"fmt"
"runtime"
"runtime/debug"
"github.com/xtls/xray-core/common/serial"
)
@@ -28,6 +29,34 @@ var (
intro = "A unified platform for anti-censorship."
)
func init() {
// Manually injected
if build != "Custom" {
return
}
info, ok := debug.ReadBuildInfo()
if !ok {
return
}
var isDirty bool
var foundBuild bool
for _, setting := range info.Settings {
switch setting.Key {
case "vcs.revision":
if len(setting.Value) < 7 {
return
}
build = setting.Value[:7]
foundBuild = true
case "vcs.modified":
isDirty = setting.Value == "true"
}
}
if isDirty && foundBuild {
build += "-dirty"
}
}
// Version returns Xray's version as a string, in the form of "x.y.z" where x, y and z are numbers.
// ".z" part may be omitted in regular releases.
func Version() string {