优化安装脚本安装后很多不必要的垃圾

This commit is contained in:
CN-JS-HuiBai
2026-04-15 16:40:13 +08:00
parent 77e39d4cdb
commit be98cd7628
2 changed files with 53 additions and 22 deletions

View File

@@ -153,12 +153,10 @@ read -p "This node is behind an L4 proxy/LB that sends PROXY protocol? [${ENABLE
ENABLE_PROXY_PROTOCOL_HINT=${INPUT_PROXY_PROTOCOL:-${ENABLE_PROXY_PROTOCOL_HINT:-n}}
declare -a NODE_IDS
declare -a NODE_TAGS
i=1
while true; do
DEFAULT_NODE_ID=""
DEFAULT_NODE_TAG=""
if [[ "$i" -eq 1 && -n "$NODE_ID" ]]; then
DEFAULT_NODE_ID="$NODE_ID"
fi
@@ -168,10 +166,7 @@ while true; do
echo -e "${RED}Node ID is required for node #$i${NC}"
exit 1
fi
read -p "Enter Tag for node #$i (optional) [${DEFAULT_NODE_TAG}]: " INPUT_TAG
CURRENT_NODE_TAG=${INPUT_TAG:-$DEFAULT_NODE_TAG}
NODE_IDS+=("$CURRENT_NODE_ID")
NODE_TAGS+=("$CURRENT_NODE_TAG")
read -p "Add another node? [y/N]: " INPUT_ADD_ANOTHER
if [[ ! "$INPUT_ADD_ANOTHER" =~ ^([yY][eE][sS]|[yY]|1|true|TRUE)$ ]]; then
@@ -193,15 +188,11 @@ fi
# Clean up trailing slash
PANEL_URL="${PANEL_URL%/}"
CONFIG_PANEL_URL=$PANEL_URL
USER_PANEL_URL=$PANEL_URL
SERVICE_JSON=$(cat <<EOF
{
"type": "xboard",
"panel_url": "$PANEL_URL",
"config_panel_url": "$CONFIG_PANEL_URL",
"user_panel_url": "$USER_PANEL_URL",
"key": "$PANEL_TOKEN",
"sync_interval": "1m",
"report_interval": "1m"
@@ -211,9 +202,7 @@ EOF
if [[ "$NODE_COUNT" -eq 1 ]]; then
SERVICE_JSON+=$(cat <<EOF
,
"node_id": ${NODE_IDS[0]},
"config_node_id": ${NODE_IDS[0]},
"user_node_id": ${NODE_IDS[0]}
"node_id": ${NODE_IDS[0]}
EOF
)
else
@@ -222,18 +211,9 @@ SERVICE_JSON+=$',
for ((i=0; i<NODE_COUNT; i++)); do
NODE_BLOCK=$(cat <<EOF
{
"node_id": ${NODE_IDS[$i]},
"config_node_id": ${NODE_IDS[$i]},
"user_node_id": ${NODE_IDS[$i]}
"node_id": ${NODE_IDS[$i]}
EOF
)
if [[ -n "${NODE_TAGS[$i]}" ]]; then
NODE_BLOCK+=$(cat <<EOF
,
"tag": "${NODE_TAGS[$i]}"
EOF
)
fi
NODE_BLOCK+=$'\n }'
if [[ "$i" -gt 0 ]]; then
SERVICE_JSON+=$','

View File

@@ -94,6 +94,57 @@ func TestExpandNodeOptions(t *testing.T) {
}
}
func TestExpandNodeOptionsMinimalInstallConfig(t *testing.T) {
base := option.XBoardServiceOptions{
PanelURL: "https://panel.example",
Key: "shared-token",
SyncInterval: 60,
ReportInterval: 60,
Nodes: []option.XBoardNodeOptions{
{NodeID: 286},
{NodeID: 774},
},
}
nodes := expandNodeOptions(base)
if len(nodes) != 2 {
t.Fatalf("expandNodeOptions() len = %d, want 2", len(nodes))
}
for index, node := range nodes {
if node.PanelURL != base.PanelURL {
t.Fatalf("node %d PanelURL = %q, want %q", index, node.PanelURL, base.PanelURL)
}
if node.Key != base.Key {
t.Fatalf("node %d Key = %q, want %q", index, node.Key, base.Key)
}
if node.SyncInterval != base.SyncInterval {
t.Fatalf("node %d SyncInterval = %v, want %v", index, node.SyncInterval, base.SyncInterval)
}
if node.ReportInterval != base.ReportInterval {
t.Fatalf("node %d ReportInterval = %v, want %v", index, node.ReportInterval, base.ReportInterval)
}
if node.ConfigPanelURL != "" || node.UserPanelURL != "" {
t.Fatalf("node %d unexpected panel overrides: config=%q user=%q", index, node.ConfigPanelURL, node.UserPanelURL)
}
if node.ConfigNodeID != 0 || node.UserNodeID != 0 {
t.Fatalf("node %d unexpected node overrides: config=%d user=%d", index, node.ConfigNodeID, node.UserNodeID)
}
}
if nodes[0].NodeID != 286 {
t.Fatalf("first node NodeID = %d, want 286", nodes[0].NodeID)
}
if nodes[1].NodeID != 774 {
t.Fatalf("second node NodeID = %d, want 774", nodes[1].NodeID)
}
}
func TestExpandedNodeTagFallsBackToNodeID(t *testing.T) {
tag := expandedNodeTag("", 0, option.XBoardNodeOptions{NodeID: 286}, option.XBoardServiceOptions{NodeID: 286})
if tag != "xboard-286" {
t.Fatalf("expandedNodeTag() = %q, want %q", tag, "xboard-286")
}
}
func TestBuildInboundMultiplex(t *testing.T) {
config := &XMultiplexConfig{
Enabled: true,