This is the English translation of the post:
The remote TCP port forwarding feature has been added into gost 2.1, you can directly map a service behind firewall to a designated port of the external network.
However, there are some limitations. This feature is based on standard SOCKS5 BIND command, and one tunnel per connection. So a single connection service (such as ssh) can work well, but services such as HTTP, which require many connections, are not available.
Gost 2.2 has supported HTTP2, then we can use HTTP2 to achieve this function:
Suppose there is a host A in public network, IP: 1.2.3.4
another host B behind firewall can access host A, IP: 192.168.1.10
On server side (host A):
gost -L socks://:1080
On client side (host B):
gost -L http2://:8080 (a standalone http2 server)
gost -L rtcp://:1443/:8080 -F socks://
1.2.3.4:1080 (mapping the http2 service behind firewall to public network on port 1443)
Then on host C(may be host A or any other hosts that can access port 1443 of host A):
gost -L :8888 -F http2://
1.2.3.4:1443 (standard HTTP/SOCKS5 proxy)
You can now access any services (such as HTTP server) on the network where host B is located via the proxy on server C (port 8888).
Or map a specific service to local host: