| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | package mainimport (	"flag"	"os"	"github.com/xtls/xray-core/main/commands/base"	_ "github.com/xtls/xray-core/main/distro/all")func main() {	os.Args = getArgsV4Compatible()	base.RootCommand.Long = "Xray is a platform for building proxies."	base.RootCommand.Commands = append(		[]*base.Command{			cmdRun,			cmdVersion,		},		base.RootCommand.Commands...,	)	base.Execute()}func getArgsV4Compatible() []string {	if len(os.Args) == 1 {		return []string{os.Args[0], "run"}	}	if os.Args[1][0] != '-' {		return os.Args	}	version := false	fs := flag.NewFlagSet("", flag.ContinueOnError)	fs.BoolVar(&version, "version", false, "")	// parse silently, no usage, no error output	fs.Usage = func() {}	fs.SetOutput(&null{})	err := fs.Parse(os.Args[1:])	if err == flag.ErrHelp {		// fmt.Println("DEPRECATED: -h, WILL BE REMOVED IN V5.")		// fmt.Println("PLEASE USE: xray help")		// fmt.Println()		return []string{os.Args[0], "help"}	}	if version {		// fmt.Println("DEPRECATED: -version, WILL BE REMOVED IN V5.")		// fmt.Println("PLEASE USE: xray version")		// fmt.Println()		return []string{os.Args[0], "version"}	}	// fmt.Println("COMPATIBLE MODE, DEPRECATED.")	// fmt.Println("PLEASE USE: xray run [arguments] INSTEAD.")	// fmt.Println()	return append([]string{os.Args[0], "run"}, os.Args[1:]...)}type null struct{}func (n *null) Write(p []byte) (int, error) {	return len(p), nil}
 |