You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
URIs can be joined by "__" to indicate tunneling by relay. For example, ss://1.2.3.4:1324__http://4.5.6.7:4321 make remote connection to the first shadowsocks proxy server, and then tunnel to the second http proxy server.
371
+
URIs can be joined by "__" to indicate tunneling by jump. For example, ss://1.2.3.4:1324__http://4.5.6.7:4321 make remote connection to the first shadowsocks proxy server, and then jump to the second http proxy server.
Make sure **pproxy** runs in root mode (sudo), otherwise it cannot redirect pf packet.
561
563
562
-
- Relay tunnel
563
-
564
-
Relay tunnel example:
564
+
- Multiple jumps example
565
565
566
566
.. code:: rst
567
567
@@ -659,6 +659,12 @@ Examples
659
659
660
660
Server connects to client_ip:8081 and waits for client proxy requests. The protocol http specified is just an example. It can be any protocol and cipher **pproxy** supports. The scheme "**in**" should exist in URI to inform **pproxy** that it is a backward proxy.
It is a complicated example. Server connects to client_ip:8081 by jump http://jumpserver. The backward proxy works through jumps.
667
+
662
668
- SSH client tunnel
663
669
664
670
SSH client tunnel support is enabled by installing additional library asyncssh_. After "pip3 install asyncssh", you can specify "**ssh**" as scheme to proxy via ssh client tunnel.
@@ -675,6 +681,30 @@ Examples
675
681
676
682
SSH connection known_hosts feature is disabled by default.
First connection to server1 is made. Second, ssh connection to server2 is made from server1. Finally, connect to server3, and use server3 for proxying traffic.
It is a complicated example. SSH server2 is jumped from SSH server1, and ss://0.0.0.0:1234 on server2 is listened. Traffic is forwarded to ss://server3:1234.
707
+
678
708
- Trojan protocol example
679
709
680
710
Normally trojan:// should be used together with ssl://. You should specify the SSL crt/key file for ssl usage. A typical trojan server would be:
@@ -685,6 +715,21 @@ Examples
685
715
686
716
If trojan password doesn't match, the tunnal{localhost:80} will be switched to. It looks exactly the same as a common HTTPS website.
687
717
718
+
- QUIC protocol example
719
+
720
+
QUIC is a UDP stream protocol in HTTP/3. Library **aioquic** is required if you want to proxy via QUIC.
721
+
722
+
.. code:: rst
723
+
724
+
$ pip3 install aioquic
725
+
$ pproxy --ssl ssl.crt,ssl.key -l quic://:1234
726
+
727
+
On the client:
728
+
729
+
$ pproxy -r quic://server:1234
730
+
731
+
QUIC protocol can transfer a lot of TCP streams on one single UDP stream. If the connection number is hugh, QUIC can benefit by reducing TCP handshake time.
732
+
688
733
- VPN Server Example
689
734
690
735
You can run VPN server simply by installing pvpn (python vpn), a lightweight VPN server with pproxy tunnel feature.
0 commit comments