Merge a635f266a93103460d7e2139c5ec4d406b0cbc55 into d6428af91dd320608d645be9bdcb3540e1cc9e54

This commit is contained in:
AYAHASSAN287 2025-12-26 12:31:56 +00:00 committed by GitHub
commit a68be9c7bf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 259 additions and 0 deletions

View File

@ -0,0 +1,51 @@
#!/bin/bash
#this script build the canary app and make basic run to connect to well-known peer via TCP .
set -e
PEER_ADDRESS="/dns4/store-01.do-ams3.status.staging.status.im/tcp/30303/p2p/16Uiu2HAm3xVDaz6SRJ6kErwC21zBJEZjavVXg7VSkoWzaV1aMA3F"
PROTOCOL="relay"
LOG_DIR="logs"
CLUSTER="16"
SHARD="64"
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="$LOG_DIR/canary_run_$TIMESTAMP.log"
mkdir -p "$LOG_DIR"
echo "Building Waku Canary app..."
make wakucanary >> "$LOG_FILE" 2>&1
echo "Running Waku Canary against:"
echo " Peer : $PEER_ADDRESS"
echo " Protocol: $PROTOCOL"
echo "Log file : $LOG_FILE"
echo "-----------------------------------"
{
echo "=== Canary Run: $TIMESTAMP ==="
echo "Peer : $PEER_ADDRESS"
echo "Protocol : $PROTOCOL"
echo "LogLevel : DEBUG"
echo "-----------------------------------"
./build/wakucanary \
--address="$PEER_ADDRESS" \
--protocol="$PROTOCOL" \
--cluster-id="$CLUSTER"\
--shard="$SHARD"\
--log-level=DEBUG
echo "-----------------------------------"
echo "Exit code: $?"
} 2>&1 | tee "$LOG_FILE"
EXIT_CODE=${PIPESTATUS[0]}
if [ $EXIT_CODE -eq 0 ]; then
echo "SUCCESS: Connected to peer and protocol '$PROTOCOL' is supported."
else
echo "FAILURE: Could not connect or protocol '$PROTOCOL' is unsupported."
fi
exit $EXIT_CODE

View File

@ -0,0 +1,30 @@
#!/bin/bash
WAKUCANARY_BIN="./wakucanary"
PEERS=(
"/ip4/147.75.80.165/tcp/30303/p2p/16Uiu2HAmAj6uqzKX6F1M7Mf97TLGFeXkNiNzV7MvFpxRExo6FNTN"
"/dns4/node.waku.example.com/tcp/30304/p2p/16Uiu2HAmYkD6x6Bj6h1fRfQtbMz5Epqfj12NpywPSrFNiLwo7uQ7"
)
LOGFILE="ping_results_$(date +%Y%m%d_%H%M%S).log"
PING_COUNT=3
echo "Starting peer ping test..." | tee "$LOGFILE"
echo "------------------------------------" | tee -a "$LOGFILE"
for PEER in "${PEERS[@]}"; do
echo "Pinging peer: $PEER" | tee -a "$LOGFILE"
"$WAKUCANARY_BIN" --peer="$PEER" --ping --count="$PING_COUNT" >> "$LOGFILE" 2>&1
EXIT_CODE=$?
if [[ $EXIT_CODE -eq 0 ]]; then
echo "✅ Ping successful: $PEER" | tee -a "$LOGFILE"
else
echo "❌ Ping failed: $PEER (exit code: $EXIT_CODE)" | tee -a "$LOGFILE"
fi
echo "------------------------------------" | tee -a "$LOGFILE"
done
echo "Ping test completed. Results saved to: $LOGFILE"

View File

@ -0,0 +1,44 @@
#!/bin/bash
set -e
WAKUCANARY_BIN="./wakucanary"
PEERS=(
"/ip4/147.75.80.165/tcp/30303/p2p/16Uiu2HAmAj6uqzKX6F1M7Mf97TLGFeXkNiNzV7MvFpxRExo6FNTN"
"/dns4/node.waku.example.com/tcp/30304/p2p/16Uiu2HAmYkD6x6Bj6h1fRfQtbMz5Epqfj12NpywPSrFNiLwo7uQ7"
)
REQUIRED_PROTOCOLS=(
"/vac/waku/relay/2.0.0"
"/vac/waku/store/2.0.0"
"/vac/waku/filter/2.0.0"
"/vac/waku/lightpush/2.0.0"
)
LOGFILE="protocol_check_$(date +%Y%m%d_%H%M%S).log"
echo "Starting protocol support verification..." | tee "$LOGFILE"
echo "------------------------------------" | tee -a "$LOGFILE"
for PEER in "${PEERS[@]}"; do
echo "Checking peer: $PEER" | tee -a "$LOGFILE"
OUTPUT=$("$WAKUCANARY_BIN" --peer="$PEER" --list-protocols 2>&1)
EXIT_CODE=$?
if [[ $EXIT_CODE -ne 0 ]]; then
echo "❌ Failed to check protocols for $PEER" | tee -a "$LOGFILE"
echo "$OUTPUT" >> "$LOGFILE"
echo "------------------------------------" | tee -a "$LOGFILE"
continue
fi
for PROTO in "${REQUIRED_PROTOCOLS[@]}"; do
if echo "$OUTPUT" | grep -q "$PROTO"; then
echo "$PROTO supported" | tee -a "$LOGFILE"
else
echo "$PROTO NOT supported" | tee -a "$LOGFILE"
fi
done
echo "------------------------------------" | tee -a "$LOGFILE"
done
echo "Protocol verification completed. Results saved to: $LOGFILE"

View File

@ -0,0 +1,43 @@
#!/bin/bash
# === Configuration ===
WAKUCANARY_BINARY="./build/wakucanary"
PEER_ADDRESS="/dns4/store-01.do-ams3.status.staging.status.im/tcp/30303/p2p/16Uiu2HAm3xVDaz6SRJ6kErwC21zBJEZjavVXg7VSkoWzaV1aMA3F"
TIMEOUT=5
LOG_LEVEL="info"
PROTOCOLS=("store" "relay" "lightpush" "filter")
# === Logging Setup ===
LOG_DIR="logs"
mkdir -p "$LOG_DIR"
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="$LOG_DIR/ping_test_$TIMESTAMP.log"
echo "Protocol Support Test - $TIMESTAMP" | tee -a "$LOG_FILE"
echo "Peer: $PEER_ADDRESS" | tee -a "$LOG_FILE"
echo "---------------------------------------" | tee -a "$LOG_FILE"
# === Protocol Testing Loop ===
for PROTOCOL in "${PROTOCOLS[@]}"; do
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="$LOG_DIR/ping_test_${PROTOCOL}_$TIMESTAMP.log"
{
echo "=== Canary Run: $TIMESTAMP ==="
echo "Peer : $PEER_ADDRESS"
echo "Protocol : $PROTOCOL"
echo "LogLevel : DEBUG"
echo "-----------------------------------"
$WAKUCANARY_BINARY \
--address="$PEER_ADDRESS" \
--protocol="$PROTOCOL" \
--log-level=DEBUG
echo "-----------------------------------"
echo "Exit code: $?"
} 2>&1 | tee "$LOG_FILE"
echo "✅ Log saved to: $LOG_FILE"
echo ""
done
echo "All protocol checks completed. Log saved to: $LOG_FILE"

View File

@ -0,0 +1,40 @@
#!/bin/bash
WAKUCANARY_BINARY="./build/wakucanary"
NODE_PORT=60000
WSS_PORT=$((NODE_PORT + 1000))
PEER_ID="16Uiu2HAmB6JQpewXScGoQ2syqmimbe4GviLxRwfsR8dCpwaGBPSE"
PROTOCOL="relay"
KEY_PATH="./certs/client.key"
CERT_PATH="./certs/client.crt"
LOG_DIR="logs"
mkdir -p "$LOG_DIR"
PEER_ADDRESS="/ip4/127.0.0.1/tcp/$WSS_PORT/wss/p2p/$PEER_ID"
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="$LOG_DIR/wss_cert_test_$TIMESTAMP.log"
{
echo "=== Canary WSS + Cert Test ==="
echo "Timestamp : $TIMESTAMP"
echo "Node Port : $NODE_PORT"
echo "WSS Port : $WSS_PORT"
echo "Peer ID : $PEER_ID"
echo "Protocol : $PROTOCOL"
echo "Key Path : $KEY_PATH"
echo "Cert Path : $CERT_PATH"
echo "Address : $PEER_ADDRESS"
echo "------------------------------------------"
$WAKUCANARY_BINARY \
--address="$PEER_ADDRESS" \
--protocol="$PROTOCOL" \
--log-level=DEBUG \
--websocket-secure-key-path="$KEY_PATH" \
--websocket-secure-cert-path="$CERT_PATH"
echo "------------------------------------------"
echo "Exit code: $?"
} 2>&1 | tee "$LOG_FILE"
echo "✅ Log saved to: $LOG_FILE"

View File

@ -0,0 +1,51 @@
#!/bin/bash
#this script build the canary app and make basic run to connect to well-known peer via TCP .
set -e
PEER_ADDRESS="/dns4/node-01.do-ams3.waku.sandbox.status.im/tcp/8000/wss/p2p/16Uiu2HAmNaeL4p3WEYzC9mgXBmBWSgWjPHRvatZTXnp8Jgv3iKsb"
PROTOCOL="relay"
LOG_DIR="logs"
CLUSTER="16"
SHARD="64"
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
LOG_FILE="$LOG_DIR/canary_run_$TIMESTAMP.log"
mkdir -p "$LOG_DIR"
echo "Building Waku Canary app..."
make wakucanary >> "$LOG_FILE" 2>&1
echo "Running Waku Canary against:"
echo " Peer : $PEER_ADDRESS"
echo " Protocol: $PROTOCOL"
echo "Log file : $LOG_FILE"
echo "-----------------------------------"
{
echo "=== Canary Run: $TIMESTAMP ==="
echo "Peer : $PEER_ADDRESS"
echo "Protocol : $PROTOCOL"
echo "LogLevel : DEBUG"
echo "-----------------------------------"
./build/wakucanary \
--address="$PEER_ADDRESS" \
--protocol="$PROTOCOL" \
--cluster-id="$CLUSTER"\
--shard="$SHARD"\
--log-level=DEBUG
echo "-----------------------------------"
echo "Exit code: $?"
} 2>&1 | tee "$LOG_FILE"
EXIT_CODE=${PIPESTATUS[0]}
if [ $EXIT_CODE -eq 0 ]; then
echo "SUCCESS: Connected to peer and protocol '$PROTOCOL' is supported."
else
echo "FAILURE: Could not connect or protocol '$PROTOCOL' is unsupported."
fi
exit $EXIT_CODE