File: fake-client.sh

package info (click to toggle)
trojan 1.16.0-1.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 496 kB
  • sloc: cpp: 2,815; sh: 102; python: 28; makefile: 11
file content (49 lines) | stat: -rwxr-xr-x 960 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
set -u

source "$(dirname "$0")/common.sh"

cp server.json fake-client.json forward.json "$TMPDIR"
cd "$TMPDIR"

exec 2>> test.log

yes '' | openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1 -nodes

mkdir true
cd true
echo true > whoami.txt
python3 -m http.server 10081 > server.log 2>&1 &
PID1="$!"
cd ..

mkdir fake
cd fake
echo fake > whoami.txt
python3 -m http.server 10080 > server.log 2>&1 &
PID2="$!"
cd ..

./trojan -v

./trojan -t server.json
./trojan server.json -l server.log &
PID3="$!"

./trojan -t fake-client.json
./trojan fake-client.json -l fake-client.log &
PID4="$!"

wait_port 10081
wait_port 10080
wait_port 10443
wait_port 11080

WHOAMI=$(curl -v --socks5 127.0.0.1:11080 http://127.0.0.1:10081/whoami.txt)
WHOAMI2=$(curl -v --insecure https://127.0.0.1:10443/whoami.txt)
kill -KILL "$PID1" "$PID2" "$PID3" "$PID4"
if [[ "$WHOAMI" != "true" && "$WHOAMI2" = "fake" ]]; then
    exit 0
else
    exit 1
fi