mirror of https://github.com/ospab/ostp.git
Enhancement: Add Section 8 for concurrent multiplexed offline traffic routing verification
This commit is contained in:
parent
93bf3579fd
commit
ef8bea242b
|
|
@ -329,6 +329,71 @@ wait $SEC_UNAUTH_PID 2>/dev/null
|
||||||
wait $SEC_SRV_PID 2>/dev/null
|
wait $SEC_SRV_PID 2>/dev/null
|
||||||
print_result "security audit daemon teardown" 0
|
print_result "security audit daemon teardown" 0
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
# SECTION 8: MULTIPLEXED END-TO-END OFFLINE TRAFFIC ROUTING
|
||||||
|
# ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Only run if python3 and curl are present locally
|
||||||
|
if command -v python3 >/dev/null 2>&1 && command -v curl >/dev/null 2>&1; then
|
||||||
|
HTTP_PORT=49230
|
||||||
|
ROUTE_SRV_PORT=49231
|
||||||
|
ROUTE_CLI_SOCKS=49232
|
||||||
|
|
||||||
|
# 1. Instantiate an isolated HTTP endpoint inside our sandbox
|
||||||
|
python3 -m http.server $HTTP_PORT --bind 127.0.0.1 > http_dest.log 2>&1 &
|
||||||
|
HTTP_PID=$!
|
||||||
|
|
||||||
|
# 2. Provision and pair Client & Server configs
|
||||||
|
ROUTE_KEY=$("$OSTP_BIN" -g)
|
||||||
|
"$OSTP_BIN" --init server --config config_srv_rt.json > /dev/null 2>&1
|
||||||
|
sed -i "s/\"listen\": \".*\"/\"listen\": \"127.0.0.1:$ROUTE_SRV_PORT\"/g" config_srv_rt.json
|
||||||
|
sed -i "s/\"[0-9a-f]\{32\}\"/\"$ROUTE_KEY\"/g" config_srv_rt.json
|
||||||
|
|
||||||
|
"$OSTP_BIN" --init client --config config_cli_rt.json > /dev/null 2>&1
|
||||||
|
sed -i "s/\"socks5_bind\": \".*\"/\"socks5_bind\": \"127.0.0.1:$ROUTE_CLI_SOCKS\"/g" config_cli_rt.json
|
||||||
|
sed -i "s/\"server\": \".*\"/\"server\": \"127.0.0.1:$ROUTE_SRV_PORT\"/g" config_cli_rt.json
|
||||||
|
sed -i "s/\"[0-9a-f]\{32\}\"/\"$ROUTE_KEY\"/g" config_cli_rt.json
|
||||||
|
|
||||||
|
# 3. Launch Tunnel Backbone
|
||||||
|
"$OSTP_BIN" --config config_srv_rt.json > srv_rt.log 2>&1 &
|
||||||
|
TUN_SRV_PID=$!
|
||||||
|
sleep 1
|
||||||
|
"$OSTP_BIN" --config config_cli_rt.json > cli_rt.log 2>&1 &
|
||||||
|
TUN_CLI_PID=$!
|
||||||
|
|
||||||
|
# Await cryptographic synchronization
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
# 4. EXECUTE SIMULTANEOUS MULTIPLEXED FETCHES
|
||||||
|
# Launches 3 independent, parallel cURL fetches targeting the SOCKS5 bridge
|
||||||
|
curl -s -m 5 --socks5-hostname 127.0.0.1:$ROUTE_CLI_SOCKS http://127.0.0.1:$HTTP_PORT > fetch1.out &
|
||||||
|
F1_PID=$!
|
||||||
|
curl -s -m 5 --socks5-hostname 127.0.0.1:$ROUTE_CLI_SOCKS http://127.0.0.1:$HTTP_PORT > fetch2.out &
|
||||||
|
F2_PID=$!
|
||||||
|
curl -s -m 5 --socks5-hostname 127.0.0.1:$ROUTE_CLI_SOCKS http://127.0.0.1:$HTTP_PORT > fetch3.out &
|
||||||
|
F3_PID=$!
|
||||||
|
|
||||||
|
# Await parallel processing completion
|
||||||
|
wait $F1_PID $F2_PID $F3_PID
|
||||||
|
|
||||||
|
# 5. Analyze the output integrity across the demux pipeline
|
||||||
|
ROUTING_SUCCESS=1
|
||||||
|
if [ -s fetch1.out ] && [ -s fetch2.out ] && [ -s fetch3.out ]; then
|
||||||
|
# Verify HTTP payload signature delivered through the encrypted matrix
|
||||||
|
grep -q "Directory listing" fetch1.out
|
||||||
|
ROUTING_SUCCESS=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_result "multiplexed end-to-end local traffic routing" $ROUTING_SUCCESS "Decrypted pipeline failure or concurrency hang!"
|
||||||
|
|
||||||
|
# 6. Clean up components
|
||||||
|
kill $HTTP_PID $TUN_CLI_PID $TUN_SRV_PID 2>/dev/null
|
||||||
|
wait $HTTP_PID $TUN_CLI_PID $TUN_SRV_PID 2>/dev/null
|
||||||
|
print_result "traffic routing verification daemon teardown" 0
|
||||||
|
else
|
||||||
|
echo -e "${CYAN}Testing multiplexed end-to-end local traffic routing ...${NC} ${CYAN}SKIPPED (Requires python3 and curl)${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
# FINAL CLEANUP
|
# FINAL CLEANUP
|
||||||
# ---------------------------------------------------------------------
|
# ---------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue