Always fixing things
This commit is contained in:
parent
1262d08278
commit
1a8e088431
|
@ -1,31 +1,36 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
red() { IFS= ; while read -r line; do echo -e '\e[31m'$line'\e[0m'; done; }
|
||||||
|
green() { IFS= ; while read -r line; do echo -e '\e[32m'$line'\e[0m'; done; }
|
||||||
|
yellow() { IFS= ; while read -r line; do echo -e '\e[33m'$line'\e[0m'; done; }
|
||||||
|
blue() { IFS= ; while read -r line; do echo -e '\e[34m'$line'\e[0m'; done; }
|
||||||
|
purple() { IFS= ; while read -r line; do echo -e '\e[35m'$line'\e[0m'; done; }
|
||||||
|
cyan() { IFS= ; while read -r line; do echo -e '\e[36m'$line'\e[0m'; done; }
|
||||||
|
|
||||||
SOCK_PORT=$((9000+$1))
|
SOCK_PORT=$((9000+$1))
|
||||||
CONTROL_PORT=$((9100+$1))
|
CONTROL_PORT=$((9100+$1))
|
||||||
LOCAL_PORT=$((9200+$1))
|
LOCAL_PORT=$((9200+$1))
|
||||||
DONAR_PORT=$((7000+$1*12))
|
DONAR_PORT=$((7000+$1*12))
|
||||||
|
|
||||||
|
while true; do
|
||||||
touch /tmp/empty
|
touch /tmp/empty
|
||||||
echo "tor daemon serv"
|
|
||||||
/usr/bin/tor \
|
/usr/bin/tor \
|
||||||
-f /tmp/empty --defaults-torrc /tmp/empty \
|
-f /tmp/empty --defaults-torrc /tmp/empty \
|
||||||
--hush \
|
--hush \
|
||||||
--UseEntryGuards 0 \
|
--UseEntryGuards 0 \
|
||||||
--SocksPort 0 \
|
--SocksPort 0 \
|
||||||
--ControlPort $CONTROL_PORT \
|
--ControlPort $CONTROL_PORT \
|
||||||
--DataDirectory /tmp/tor$CONTROL_PORT &
|
--DataDirectory /tmp/tor$CONTROL_PORT | red &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
echo "tor client serv"
|
|
||||||
/usr/bin/tor \
|
/usr/bin/tor \
|
||||||
-f /tmp/empty --defaults-torrc /tmp/empty \
|
-f /tmp/empty --defaults-torrc /tmp/empty \
|
||||||
--hush \
|
--hush \
|
||||||
--UseEntryGuards 0 \
|
--UseEntryGuards 0 \
|
||||||
--SocksPort "127.0.0.1:$SOCK_PORT IsolateDestPort IsolateDestAddr IsolateClientAddr" \
|
--SocksPort "127.0.0.1:$SOCK_PORT IsolateDestPort IsolateDestAddr IsolateClientAddr" \
|
||||||
--DataDirectory /tmp/tor$SOCK_PORT &
|
--DataDirectory /tmp/tor$SOCK_PORT | green &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
echo "donar serv"
|
|
||||||
rm -rf state_$LOCAL_PORT/
|
rm -rf state_$LOCAL_PORT/
|
||||||
mkdir state_$LOCAL_PORT/
|
mkdir state_$LOCAL_PORT/
|
||||||
pushd .
|
pushd .
|
||||||
|
@ -36,10 +41,10 @@ cd state_$LOCAL_PORT/
|
||||||
-q $CONTROL_PORT \
|
-q $CONTROL_PORT \
|
||||||
-k $DONAR_PORT \
|
-k $DONAR_PORT \
|
||||||
-l 2 \
|
-l 2 \
|
||||||
-e $LOCAL_PORT &
|
-b \
|
||||||
|
-e $LOCAL_PORT 2>&1 | yellow &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
echo "donar client"
|
|
||||||
/usr/local/bin/donar \
|
/usr/local/bin/donar \
|
||||||
-c \
|
-c \
|
||||||
-a dup2 \
|
-a dup2 \
|
||||||
|
@ -47,37 +52,40 @@ echo "donar client"
|
||||||
-k $DONAR_PORT \
|
-k $DONAR_PORT \
|
||||||
-o ./onion_services.pub \
|
-o ./onion_services.pub \
|
||||||
-l 2 \
|
-l 2 \
|
||||||
-r $LOCAL_PORT &
|
-b \
|
||||||
|
-r $LOCAL_PORT 2>&1 | blue &
|
||||||
sleep 1
|
sleep 1
|
||||||
popd
|
popd
|
||||||
|
|
||||||
echo "measlat serv"
|
|
||||||
/usr/local/bin/measlat \
|
/usr/local/bin/measlat \
|
||||||
-l \
|
-l \
|
||||||
-t udp \
|
-t udp \
|
||||||
-h 127.0.0.1 \
|
-h 127.0.0.1 \
|
||||||
-p $LOCAL_PORT \
|
-p $LOCAL_PORT \
|
||||||
-c 135 \
|
-c 1350 \
|
||||||
-i 40 \
|
-i 40 \
|
||||||
-s 172 &
|
-m torfone \
|
||||||
|
-s 172 2>&1 | cyan &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
echo "measlat client bootstrap"
|
|
||||||
/usr/local/bin/measlat \
|
/usr/local/bin/measlat \
|
||||||
-t udp \
|
-t udp \
|
||||||
-h 127.13.3.7 \
|
-h 127.13.3.7 \
|
||||||
-p $LOCAL_PORT \
|
-p $LOCAL_PORT \
|
||||||
-b \
|
-b \
|
||||||
-c 1 \
|
-c 1 \
|
||||||
-i 1000 \
|
-i 5000 \
|
||||||
-s 172
|
-m torfone \
|
||||||
|
-s 172 2>&1 | purple
|
||||||
|
|
||||||
echo "measlat client collect"
|
|
||||||
/usr/local/bin/measlat \
|
/usr/local/bin/measlat \
|
||||||
-t udp \
|
-t udp \
|
||||||
-h 127.13.3.7 \
|
-h 127.13.3.7 \
|
||||||
-p $LOCAL_PORT \
|
-p $LOCAL_PORT \
|
||||||
-c 135 \
|
-c 1350 \
|
||||||
-i 40 \
|
-i 40 \
|
||||||
-s 172
|
-m torfone \
|
||||||
|
-s 172 2>&1 | purple
|
||||||
|
|
||||||
|
kill $(jobs -p)
|
||||||
|
done
|
||||||
|
|
|
@ -151,7 +151,22 @@ int on_receive_measure_packet(struct evt_core_ctx* ctx, struct evt_core_fdinfo*
|
||||||
// 3. Process data in our measurement object
|
// 3. Process data in our measurement object
|
||||||
measure_parse (&mctx->mp, ms, mctx->verbose);
|
measure_parse (&mctx->mp, ms, mctx->verbose);
|
||||||
|
|
||||||
// 4. Persist our measurement object if needed
|
// 4. Detect if it is a probe
|
||||||
|
if (ms->mp_in->probe) { // Allow for probing without registering a timer
|
||||||
|
int s = mctx->connectionless && mctx->role == MEASLAT_SERVER ?
|
||||||
|
sendto(ms->fd, ms->mp_in, mctx->mp.payload_size, 0, (struct sockaddr*)&mctx->addr, mctx->addrlen) :
|
||||||
|
send(ms->fd, ms->mp_in, mctx->mp.payload_size, 0);
|
||||||
|
|
||||||
|
if (!mctx->connectionless || mctx->role == MEASLAT_CLIENT)
|
||||||
|
evt_core_rm_fd (ctx, fdinfo->fd);
|
||||||
|
|
||||||
|
if (mctx->role == MEASLAT_CLIENT)
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. Persist our measurement object if needed
|
||||||
// It includes starting a timer.
|
// It includes starting a timer.
|
||||||
if (ms == &ms_transi) {
|
if (ms == &ms_transi) {
|
||||||
if (ms->mp_in->counter != 1) { // Guard against rando scanning the IPv4 range
|
if (ms->mp_in->counter != 1) { // Guard against rando scanning the IPv4 range
|
||||||
|
@ -159,16 +174,6 @@ int on_receive_measure_packet(struct evt_core_ctx* ctx, struct evt_core_fdinfo*
|
||||||
evt_core_rm_fd (ctx, fdinfo->fd);
|
evt_core_rm_fd (ctx, fdinfo->fd);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (ms->mp_in->probe) { // Allow for probing without registering a timer
|
|
||||||
int s = mctx->connectionless && mctx->role == MEASLAT_SERVER ?
|
|
||||||
sendto(ms->fd, ms->mp_in, mctx->mp.payload_size, 0, (struct sockaddr*)&mctx->addr, mctx->addrlen) :
|
|
||||||
send(ms->fd, ms->mp_in, mctx->mp.payload_size, 0);
|
|
||||||
|
|
||||||
if (!(mctx->connectionless && mctx->role == MEASLAT_SERVER))
|
|
||||||
evt_core_rm_fd (ctx, fdinfo->fd);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
struct timespec next_tick = {0};
|
struct timespec next_tick = {0};
|
||||||
struct measure_state ms_new = {0};
|
struct measure_state ms_new = {0};
|
||||||
measure_state_init(&mctx->mp, &ms_new);
|
measure_state_init(&mctx->mp, &ms_new);
|
||||||
|
@ -179,7 +184,7 @@ int on_receive_measure_packet(struct evt_core_ctx* ctx, struct evt_core_fdinfo*
|
||||||
assoc_timer = register_timer (ctx, mctx, &ms_new, &next_tick);
|
assoc_timer = register_timer (ctx, mctx, &ms_new, &next_tick);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 5. Check if our measurements are done
|
// 6. Check if our measurements are done
|
||||||
if (ms->mp_in->counter >= mctx->mp.max_measure && ms->mp_out->counter >= mctx->mp.max_measure) {
|
if (ms->mp_in->counter >= mctx->mp.max_measure && ms->mp_out->counter >= mctx->mp.max_measure) {
|
||||||
measlat_stop(ctx, mctx, ms, fdinfo->fd, assoc_timer->fd);
|
measlat_stop(ctx, mctx, ms, fdinfo->fd, assoc_timer->fd);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Reference in a new issue