Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save bodrovis/1a719d96b7f32a4df5fee323d58464d0 to your computer and use it in GitHub Desktop.

Select an option

Save bodrovis/1a719d96b7f32a4df5fee323d58464d0 to your computer and use it in GitHub Desktop.
Slipstream proxy (via DNS, QUIC)
Сервер
sudo apt update
sudo apt install -y git curl build-essential cmake pkg-config libssl-dev python3 netcat-openbsd
curl https://sh.rustup.rs -sSf | sh
source "$HOME/.cargo/env"
rustc --version
cargo --version
git clone https://github.com/Mygod/slipstream-rust.git
cd slipstream-rust
git submodule update --init --recursive
cargo build --release -p slipstream-server
ls ./target/release/slipstream-server
./target/release/slipstream-server \
--dns-listen-host 0.0.0.0 \
--dns-listen-port 8853 \
--target-address 127.0.0.1:5201 \
--domain tunnel.harrypot.lol \
--cert ./cert.pem \
--key ./key.pem \
--reset-seed ./reset-seed
клиент
sudo apt update
sudo apt install -y git curl build-essential cmake pkg-config libssl-dev python3 netcat-openbsd
curl https://sh.rustup.rs -sSf | sh
source "$HOME/.cargo/env"
cd ~
git clone https://github.com/Mygod/slipstream-rust.git
cd slipstream-rust
git submodule update --init --recursive
cargo build --release -p slipstream-client
./target/release/slipstream-client \
--tcp-listen-host 127.0.0.1 \
--tcp-listen-port 7000 \
--resolver 5.199.168.67:8853 \
--domain tunnel.harrypot.lol
на сервере
nc -l -p 5201
на клиенте
echo "hello through rust slipstream" | nc 127.0.0.1 7000
====
ещё одна проверка
сервер
sudo ./target/release/slipstream-server \
--dns-listen-host 5.199.168.67 \
--dns-listen-port 53 \
--target-address 127.0.0.1:5201 \
--domain tunnel.harrypot.lol \
--cert ./cert.pem \
--key ./key.pem \
--reset-seed ./reset-seed
клиент
./target/release/slipstream-client \
--tcp-listen-host 127.0.0.1 \
--tcp-listen-port 7000 \
--authoritative 5.199.168.67:53 \
--domain tunnel.harrypot.lol
на сервере
nc -l -p 5201
на клиенте
echo "hello on 53" | nc 127.0.0.1 7000
===
клиент через резолвер
./target/release/slipstream-client \
--tcp-listen-host 127.0.0.1 \
--tcp-listen-port 7000 \
--resolver 1.1.1.1:53 \
--domain tunnel.harrypot.lol
====
запускаем клиент и сервер
sudo ./target/release/slipstream-server \
--dns-listen-host 5.199.168.67 \
--dns-listen-port 53 \
--target-address 127.0.0.1:22 \
--domain tunnel.harrypot.lol \
--cert ./cert.pem \
--key ./key.pem \
--reset-seed ./reset-seed
./target/release/slipstream-client \
--tcp-listen-host 127.0.0.1 \
--tcp-listen-port 7000 \
--resolver 1.1.1.1:53 \
--domain tunnel.harrypot.lol
на клиенте в другой вкладке
ssh -N -D 127.0.0.1:1080 -p 7000 root@127.0.0.1
проверка на клиенте:
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me/ip
прокси в браузере
SOCKS Host: 127.0.0.1
Port: 1080
SOCKS v5: включено
Proxy DNS when using SOCKS v5: включено
===
GUI
сервер
sudo apt update
sudo apt install -y microsocks
sudo modprobe tcp_bbr
lsmod | grep bbr
sudo vim /etc/sysctl.conf
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
sudo sysctl -p
sysctl net.ipv4.tcp_congestion_control
запускаем на сервере
microsocks -i 127.0.0.1 -p 5201
и в другой вкладке сервера
sudo ./target/release/slipstream-server \
--dns-listen-host 5.199.168.67 \
--dns-listen-port 53 \
--target-address 127.0.0.1:5201 \
--domain tunnel.harrypot.lol \
--cert ./cert.pem \
--key ./key.pem \
--reset-seed ./reset-seed
на клиенте коннектимся через https://github.com/mirzaaghazadeh/SlipStreamGUI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment