mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-02 18:55:32 +00:00
github transfer test workflow: test HTTP over TLS too, rename
This commit is contained in:
parent
95e8831daf
commit
60cafbad6a
4 changed files with 68 additions and 13 deletions
122
.github/actions/test-transfer-udp-http/entrypoint.sh
vendored
122
.github/actions/test-transfer-udp-http/entrypoint.sh
vendored
|
|
@ -1,122 +0,0 @@
|
|||
#!/bin/bash
|
||||
# IPv6 is unfortunately disabled by default in Docker
|
||||
# (see sysctl net.ipv6.conf.lo.disable_ipv6)
|
||||
|
||||
set -e
|
||||
|
||||
# Install programs and build dependencies
|
||||
|
||||
if command -v sudo; then
|
||||
SUDO="sudo "
|
||||
else
|
||||
SUDO=""
|
||||
fi
|
||||
|
||||
$SUDO apt-get update
|
||||
$SUDO apt-get install -y cmake libssl-dev screen rtorrent mktorrent
|
||||
|
||||
rtorrent -h
|
||||
|
||||
# Build and start tracker
|
||||
|
||||
if [[ -z "${GITHUB_WORKSPACE}" ]]; then
|
||||
cd "$HOME"
|
||||
|
||||
git clone https://github.com/greatest-ape/aquatic.git
|
||||
|
||||
cd aquatic
|
||||
else
|
||||
cd "$GITHUB_WORKSPACE"
|
||||
fi
|
||||
|
||||
cargo build --bin aquatic
|
||||
|
||||
echo "log_level = 'debug'
|
||||
|
||||
[network]
|
||||
address = '127.0.0.1:3000'" > http.toml
|
||||
./target/debug/aquatic http -c http.toml &
|
||||
|
||||
echo "[network]
|
||||
address = '127.0.0.1:3000'" > udp.toml
|
||||
screen -dmS aquatic-udp ./target/debug/aquatic udp -c udp.toml
|
||||
|
||||
# Setup directories
|
||||
|
||||
cd "$HOME"
|
||||
|
||||
mkdir seed
|
||||
mkdir leech
|
||||
mkdir torrents
|
||||
|
||||
# Create torrents
|
||||
|
||||
echo "http-test-ipv4" > seed/http-test-ipv4
|
||||
echo "udp-test-ipv4" > seed/udp-test-ipv4
|
||||
|
||||
mktorrent -p -o "torrents/http-ipv4.torrent" -a "http://127.0.0.1:3000/announce" "seed/http-test-ipv4"
|
||||
mktorrent -p -o "torrents/udp-ipv4.torrent" -a "udp://127.0.0.1:3000" "seed/udp-test-ipv4"
|
||||
|
||||
cp -r torrents torrents-seed
|
||||
cp -r torrents torrents-leech
|
||||
|
||||
# Start seeding client
|
||||
|
||||
echo "directory.default.set = $HOME/seed
|
||||
schedule2 = watch_directory,5,5,load.start=$HOME/torrents-seed/*.torrent" > ~/.rtorrent.rc
|
||||
|
||||
echo "Starting seeding client"
|
||||
screen -dmS rtorrent-seed rtorrent
|
||||
|
||||
sleep 10 # Give seeding rtorrent time to load its config file
|
||||
|
||||
# Start leeching client
|
||||
|
||||
echo "directory.default.set = $HOME/leech
|
||||
schedule2 = watch_directory,5,5,load.start=$HOME/torrents-leech/*.torrent" > ~/.rtorrent.rc
|
||||
|
||||
echo "Starting leeching client.."
|
||||
screen -dmS rtorrent-leech rtorrent
|
||||
|
||||
# Check for completion
|
||||
|
||||
HTTP_IPv4="Failed"
|
||||
UDP_IPv4="Failed"
|
||||
|
||||
i="0"
|
||||
|
||||
echo "Watching for finished files.."
|
||||
|
||||
while [ $i -lt 300 ]
|
||||
do
|
||||
if test -f "leech/http-test-ipv4"; then
|
||||
if grep -q "http-test-ipv4" "leech/http-test-ipv4"; then
|
||||
HTTP_IPv4="Ok"
|
||||
fi
|
||||
fi
|
||||
if test -f "leech/udp-test-ipv4"; then
|
||||
if grep -q "udp-test-ipv4" "leech/udp-test-ipv4"; then
|
||||
UDP_IPv4="Ok"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$HTTP_IPv4" = "Ok" ] && [ "$UDP_IPv4" = "Ok" ]; then
|
||||
break
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
|
||||
i=$[$i+1]
|
||||
done
|
||||
|
||||
echo "Waited for $i seconds"
|
||||
|
||||
echo "::set-output name=http_ipv4::$HTTP_IPv4"
|
||||
echo "::set-output name=udp_ipv4::$UDP_IPv4"
|
||||
|
||||
echo "UDP IPv4: $UDP_IPv4"
|
||||
echo "HTTP IPv4: $HTTP_IPv4"
|
||||
|
||||
if [ "$HTTP_IPv4" != "Ok" ] || [ "$UDP_IPv4" != "Ok" ]; then
|
||||
exit 1
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue