Replies: 3 comments
-
It's a good idea. I was thinking about something like this, as obfs4 is now very mature today, but first we need to see if it really works in current Internet situation in Iran. Have you tested this? |
Beta Was this translation helpful? Give feedback.
-
No, it has not been tested in a real-world situation. It is just an idea. One observation I have is that if everyone uses a method, eventually it gets blocked. So this was an idea for "flying under the radar" and doing something weird and different from everyone else. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The @net4people bbs issue 136 points to the increasing pace of the "cat-and-mouse game" and calls for four responses:
This post describes a new and experimental approach using the forward proxy feature of Xray together with Hamy's post on "How to hide (obfuscate) any traffic using obfs4."
Install and configure Xray on server
Use the standard Xray installation script.
Configure Xray like this. Notice that Xray listens only on
127.0.0.1
. We use11111
as an example port.Create a systemd override:
Insert the lines:
Restart Xray:
Install and configure obfs4proxy on server
obfs4proxy
will listen on port22222
. It will forward deobfuscated traffic to localhost port11111
, which is wherexray
is listening.Open port
22222/tcp
in your server's firewall.Install
obfs4proxy
:Make a directory for
obfs4proxy
to store its data:Start a new
screen
session namedobfs4
:Set up the environment variables that will cause
obfs4proxy
to function as intended:Start
obfs4proxy
running with these settings:obfs4proxy
displays the value of a variable calledcert
. We will redisplay this value in a moment.Press Ctrl+a then d to detach from the
screen
session namedobfs4
.Display the obfs4 bridge line:
You will need the value of the
cert
field for the client configuration. Let's refer to it as<cert>
.Install and configure obfs4proxy on client
Install
obfs4proxy
on your client PC:Make a directory for
obfs4proxy
to store its data:Set up the environment variables, replacing
<your-user-name>
by your actual user name on the client:Start
obfs4proxy
running with these settings:obfs4proxy
sets up a SOCKS5 server on a random local port, which it announces. You will need that port number for your Xray configuration in a moment. Let's refer to it as<obfs4proxy-port>
. Example output:So in this example,
<obfs4proxy-port>
is33333
.Leave the first window open with
obfs4proxy
running in it.Install and configure Xray on client
On the client, Xray will listen for SOCKS5 input on port
1080
. Xray will pass traffic toobfs4proxy
on localhost port<obfs4proxy-port>
, which in our example is port33333
.Download and unzip the latest
Xray-linux-64.zip
.Create a configuration file
config.json
. Make it look as below. The inbound is SOCKS5 input from the browser. The outbound is the Xray server. Traffic is passed first to the SOCKS5 forward proxy, which is listening on localhost port33333
in our example.Notice that the
user
andpass
fields are used to pass thecert
andiat-mode
parameters.In a second terminal, run Xray with the configuration you specified in
config.json
.Leave the second terminal window open with
xray
running in it.Configure browser on client
Configure Firefox to use the SOCKS5 proxy on localhost port
1080
. Check the box so that it proxies DNS when using SOCKS5.Perform your end-to-end testing.
Beta Was this translation helpful? Give feedback.
All reactions