WIP
This commit is contained in:
parent
ecb1c0c5fc
commit
eb1dad3cea
4 changed files with 105 additions and 4 deletions
99
scripts/2021/donaralt
Executable file
99
scripts/2021/donaralt
Executable file
|
@ -0,0 +1,99 @@
|
||||||
|
#!/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))
|
||||||
|
CONTROL_PORT=$((9100+$1))
|
||||||
|
LOCAL_PORT=$((9200+$1))
|
||||||
|
DONAR_PORT=$((7000+$1*12))
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
touch /tmp/empty
|
||||||
|
rm -rf /tmp/tor$CONTROL_PORT
|
||||||
|
/usr/bin/tor \
|
||||||
|
-f /tmp/empty --defaults-torrc /tmp/empty \
|
||||||
|
--hush \
|
||||||
|
--UseEntryGuards 1 \
|
||||||
|
--NumEntryGuards 2 \
|
||||||
|
--NumPrimaryGuards 2 \
|
||||||
|
--SocksPort 0 \
|
||||||
|
--ControlPort $CONTROL_PORT \
|
||||||
|
--DataDirectory /tmp/tor$CONTROL_PORT | red &
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
rm -rf /tmp/tor$SOCK_PORT
|
||||||
|
/usr/bin/tor \
|
||||||
|
-f /tmp/empty --defaults-torrc /tmp/empty \
|
||||||
|
--hush \
|
||||||
|
--UseEntryGuards 1 \
|
||||||
|
--NumEntryGuards 2 \
|
||||||
|
--NumPrimaryGuards 2 \
|
||||||
|
--SocksPort "127.0.0.1:$SOCK_PORT IsolateDestPort IsolateDestAddr IsolateClientAddr" \
|
||||||
|
--DataDirectory /tmp/tor$SOCK_PORT | green &
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
rm -rf state_$LOCAL_PORT/
|
||||||
|
mkdir state_$LOCAL_PORT/
|
||||||
|
pushd .
|
||||||
|
cd state_$LOCAL_PORT/
|
||||||
|
/usr/local/bin/donar \
|
||||||
|
-s \
|
||||||
|
-a lightning \
|
||||||
|
-q $CONTROL_PORT \
|
||||||
|
-k $DONAR_PORT \
|
||||||
|
-l 12 \
|
||||||
|
-p 'fast_count=3!tick_tock=1!measlat=0!window=2000' \
|
||||||
|
-b \
|
||||||
|
-e $LOCAL_PORT 2>&1 | yellow &
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
/usr/local/bin/donar \
|
||||||
|
-c \
|
||||||
|
-a lightning \
|
||||||
|
-q $SOCK_PORT \
|
||||||
|
-k $DONAR_PORT \
|
||||||
|
-o ./onion_services.pub \
|
||||||
|
-l 12 \
|
||||||
|
-p 'fast_count=3!tick_tock=1!measlat=0!window=2000' \
|
||||||
|
-b \
|
||||||
|
-r $LOCAL_PORT 2>&1 | blue &
|
||||||
|
sleep 1
|
||||||
|
popd
|
||||||
|
|
||||||
|
/usr/local/bin/measlat \
|
||||||
|
-l \
|
||||||
|
-t udp \
|
||||||
|
-h 127.0.0.1 \
|
||||||
|
-p $LOCAL_PORT \
|
||||||
|
-c 135000 \
|
||||||
|
-i 40 \
|
||||||
|
-m donaralt \
|
||||||
|
-s 172 2>&1 | cyan &
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
/usr/local/bin/measlat \
|
||||||
|
-t udp \
|
||||||
|
-h 127.13.3.7 \
|
||||||
|
-p $LOCAL_PORT \
|
||||||
|
-b \
|
||||||
|
-c 1 \
|
||||||
|
-i 5000 \
|
||||||
|
-m donaralt \
|
||||||
|
-s 172 2>&1 | purple
|
||||||
|
|
||||||
|
/usr/local/bin/measlat \
|
||||||
|
-t udp \
|
||||||
|
-h 127.13.3.7 \
|
||||||
|
-p $LOCAL_PORT \
|
||||||
|
-c 135000 \
|
||||||
|
-i 40 \
|
||||||
|
-m donaralt \
|
||||||
|
-s 172 2>&1 | purple
|
||||||
|
|
||||||
|
kill -9 $(jobs -p)
|
||||||
|
done
|
|
@ -70,7 +70,7 @@ popd
|
||||||
-t udp \
|
-t udp \
|
||||||
-h 127.0.0.1 \
|
-h 127.0.0.1 \
|
||||||
-p $LOCAL_PORT \
|
-p $LOCAL_PORT \
|
||||||
-c 1350 \
|
-c 135000 \
|
||||||
-i 40 \
|
-i 40 \
|
||||||
-m donardup \
|
-m donardup \
|
||||||
-s 172 2>&1 | cyan &
|
-s 172 2>&1 | cyan &
|
||||||
|
@ -90,10 +90,10 @@ sleep 1
|
||||||
-t udp \
|
-t udp \
|
||||||
-h 127.13.3.7 \
|
-h 127.13.3.7 \
|
||||||
-p $LOCAL_PORT \
|
-p $LOCAL_PORT \
|
||||||
-c 1350 \
|
-c 135000 \
|
||||||
-i 40 \
|
-i 40 \
|
||||||
-m donardup \
|
-m donardup \
|
||||||
-s 172 2>&1 | purple
|
-s 172 2>&1 | purple
|
||||||
|
|
||||||
kill $(jobs -p)
|
kill -9 $(jobs -p)
|
||||||
done
|
done
|
||||||
|
|
|
@ -102,8 +102,9 @@ int main_on_tcp_write(struct evt_core_ctx* ctx, struct evt_core_fdinfo* fdinfo)
|
||||||
// 0. Show some information about circuits
|
// 0. Show some information about circuits
|
||||||
uint8_t is_rdy = fdinfo->cat->socklist->len >= app_ctx->link_count ? 1 : 0;
|
uint8_t is_rdy = fdinfo->cat->socklist->len >= app_ctx->link_count ? 1 : 0;
|
||||||
if (!app_ctx->is_rdy && is_rdy) printf("=== Our %d requested circuits are now up ===\n", app_ctx->link_count);
|
if (!app_ctx->is_rdy && is_rdy) printf("=== Our %d requested circuits are now up ===\n", app_ctx->link_count);
|
||||||
else if (app_ctx->is_rdy && !is_rdy) printf("=== Only %d/%d circuits are available, results could be biased ===\n", fdinfo->cat->socklist->len, app_ctx->link_count);
|
else if (app_ctx->is_rdy && !is_rdy && fdinfo->cat->socklist->len != app_ctx->past_links) printf("=== Only %d/%d circuits are available, results could be biased ===\n", fdinfo->cat->socklist->len, app_ctx->link_count);
|
||||||
app_ctx->is_rdy = app_ctx->is_rdy || is_rdy; // we don't want deactivation finally, after all the test is running
|
app_ctx->is_rdy = app_ctx->is_rdy || is_rdy; // we don't want deactivation finally, after all the test is running
|
||||||
|
app_ctx->past_links = fdinfo->cat->socklist->len;
|
||||||
|
|
||||||
// 1. Get current write buffer OR a buffer from the waiting queue OR leave
|
// 1. Get current write buffer OR a buffer from the waiting queue OR leave
|
||||||
if ((bp = get_write_buffer(&app_ctx->br, fdinfo)) == NULL) return 1;
|
if ((bp = get_write_buffer(&app_ctx->br, fdinfo)) == NULL) return 1;
|
||||||
|
|
|
@ -39,6 +39,7 @@ struct algo_ctx {
|
||||||
struct algo_desc* desc;
|
struct algo_desc* desc;
|
||||||
uint8_t link_count;
|
uint8_t link_count;
|
||||||
uint8_t is_rdy;
|
uint8_t is_rdy;
|
||||||
|
uint8_t past_links;
|
||||||
struct algo_params ap;
|
struct algo_params ap;
|
||||||
int ref_count;
|
int ref_count;
|
||||||
uint64_t udp_rcv, udp_sent, cell_rcv, cell_sent;
|
uint64_t udp_rcv, udp_sent, cell_rcv, cell_sent;
|
||||||
|
|
Loading…
Reference in a new issue