优化安装脚本安装后很多不必要的垃圾
This commit is contained in:
24
install.sh
24
install.sh
@@ -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}}
|
ENABLE_PROXY_PROTOCOL_HINT=${INPUT_PROXY_PROTOCOL:-${ENABLE_PROXY_PROTOCOL_HINT:-n}}
|
||||||
|
|
||||||
declare -a NODE_IDS
|
declare -a NODE_IDS
|
||||||
declare -a NODE_TAGS
|
|
||||||
|
|
||||||
i=1
|
i=1
|
||||||
while true; do
|
while true; do
|
||||||
DEFAULT_NODE_ID=""
|
DEFAULT_NODE_ID=""
|
||||||
DEFAULT_NODE_TAG=""
|
|
||||||
if [[ "$i" -eq 1 && -n "$NODE_ID" ]]; then
|
if [[ "$i" -eq 1 && -n "$NODE_ID" ]]; then
|
||||||
DEFAULT_NODE_ID="$NODE_ID"
|
DEFAULT_NODE_ID="$NODE_ID"
|
||||||
fi
|
fi
|
||||||
@@ -168,10 +166,7 @@ while true; do
|
|||||||
echo -e "${RED}Node ID is required for node #$i${NC}"
|
echo -e "${RED}Node ID is required for node #$i${NC}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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_IDS+=("$CURRENT_NODE_ID")
|
||||||
NODE_TAGS+=("$CURRENT_NODE_TAG")
|
|
||||||
|
|
||||||
read -p "Add another node? [y/N]: " INPUT_ADD_ANOTHER
|
read -p "Add another node? [y/N]: " INPUT_ADD_ANOTHER
|
||||||
if [[ ! "$INPUT_ADD_ANOTHER" =~ ^([yY][eE][sS]|[yY]|1|true|TRUE)$ ]]; then
|
if [[ ! "$INPUT_ADD_ANOTHER" =~ ^([yY][eE][sS]|[yY]|1|true|TRUE)$ ]]; then
|
||||||
@@ -193,15 +188,11 @@ fi
|
|||||||
|
|
||||||
# Clean up trailing slash
|
# Clean up trailing slash
|
||||||
PANEL_URL="${PANEL_URL%/}"
|
PANEL_URL="${PANEL_URL%/}"
|
||||||
CONFIG_PANEL_URL=$PANEL_URL
|
|
||||||
USER_PANEL_URL=$PANEL_URL
|
|
||||||
|
|
||||||
SERVICE_JSON=$(cat <<EOF
|
SERVICE_JSON=$(cat <<EOF
|
||||||
{
|
{
|
||||||
"type": "xboard",
|
"type": "xboard",
|
||||||
"panel_url": "$PANEL_URL",
|
"panel_url": "$PANEL_URL",
|
||||||
"config_panel_url": "$CONFIG_PANEL_URL",
|
|
||||||
"user_panel_url": "$USER_PANEL_URL",
|
|
||||||
"key": "$PANEL_TOKEN",
|
"key": "$PANEL_TOKEN",
|
||||||
"sync_interval": "1m",
|
"sync_interval": "1m",
|
||||||
"report_interval": "1m"
|
"report_interval": "1m"
|
||||||
@@ -211,9 +202,7 @@ EOF
|
|||||||
if [[ "$NODE_COUNT" -eq 1 ]]; then
|
if [[ "$NODE_COUNT" -eq 1 ]]; then
|
||||||
SERVICE_JSON+=$(cat <<EOF
|
SERVICE_JSON+=$(cat <<EOF
|
||||||
,
|
,
|
||||||
"node_id": ${NODE_IDS[0]},
|
"node_id": ${NODE_IDS[0]}
|
||||||
"config_node_id": ${NODE_IDS[0]},
|
|
||||||
"user_node_id": ${NODE_IDS[0]}
|
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
@@ -222,18 +211,9 @@ SERVICE_JSON+=$',
|
|||||||
for ((i=0; i<NODE_COUNT; i++)); do
|
for ((i=0; i<NODE_COUNT; i++)); do
|
||||||
NODE_BLOCK=$(cat <<EOF
|
NODE_BLOCK=$(cat <<EOF
|
||||||
{
|
{
|
||||||
"node_id": ${NODE_IDS[$i]},
|
"node_id": ${NODE_IDS[$i]}
|
||||||
"config_node_id": ${NODE_IDS[$i]},
|
|
||||||
"user_node_id": ${NODE_IDS[$i]}
|
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
if [[ -n "${NODE_TAGS[$i]}" ]]; then
|
|
||||||
NODE_BLOCK+=$(cat <<EOF
|
|
||||||
,
|
|
||||||
"tag": "${NODE_TAGS[$i]}"
|
|
||||||
EOF
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
NODE_BLOCK+=$'\n }'
|
NODE_BLOCK+=$'\n }'
|
||||||
if [[ "$i" -gt 0 ]]; then
|
if [[ "$i" -gt 0 ]]; then
|
||||||
SERVICE_JSON+=$','
|
SERVICE_JSON+=$','
|
||||||
|
|||||||
@@ -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) {
|
func TestBuildInboundMultiplex(t *testing.T) {
|
||||||
config := &XMultiplexConfig{
|
config := &XMultiplexConfig{
|
||||||
Enabled: true,
|
Enabled: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user