Access more HTTP ports over CDN with this application.

More-Ports

More Ports is a proxy service to establish all web-based applications on different ports on the server-side over a well known TCP port.

It is good to use while your CDN does not allow few ports or inside the restricted network such as school.

How it works ?

Firstly More-Ports runs as server mode on the server-side. Server applications start to listen to port 80 for HTTP and port 443 for HTTPS request. When the client tries to connect to non-regular HTTPS(80) and HTTP(443) ports, more-ports forward their request to localhost:8080. If the client requests different ports such as 3000, this request is handled by the more-ports client and forwarded to the more-ports server and the server redirects this request to the indicated port, for this example which is localhost:3000.

Work Logic

Server-Side

By default, the system starts a web server on port 80 and 443 for HTTP and HTTPS. If the request does not have a port information such as http://example.com or https://example.com, the request forwarded to http://localhost:8080 by default. If it has a port information, request forwarded to indicated port on localhost.

Note: server mode is only supported to Linux.

Configuration

Firstly start this service in host network mode to access shared ports if you use a container. If you don’t provide any certificate for https server, the program will create a self signed certificate.
To use your own certificates, you can mount your certificates inside a container with the docker mount option and provide the certificate locations with server-cert and server-key arguments.

If you want to use this software behind the CDN solution and authorize actions taken at edge, you can control whether a request comes from CDN or not with client-certificate check for HTTPS. Also don’t forget to set the server-name option, to prevent different domains from hitting your server from the same CDN and redirect all http requests to https with -https-redirect flag.
Cloudflare's 'Authenticated Origin Pulls’ cert is included by default in the container, to use add --client-cert /config/client-cloudflare.pem arg on your docker run command.

  -client-cert string
        Client certificate location to authorize the client.
  -default-port string
        Port not defined schemes redirect to this port. (default "8080")
  -h    Print help for server mode. (This)
  -http string
        HTTP server listen address. (default ":80")
  -https string
        HTTPS server listen address. (default ":443")
  -https-redirect
        Redirect all http requests to https.
  -remote string
        Remote address for forwarded ports. (default "127.0.0.1")
  -server-cert string
        Server cert location.
  -server-key string
        Server key location.
  -server-name string
        Server name check

Examples

  • Start with defaults
docker run -it --rm --network host ghcr.io/ahmetozer/more-ports server
  • Redirect http request to https
docker run -it --rm --network host ghcr.io/ahmetozer/more-ports server -https-redirect
  • With Cloudflare's 'Authenticated Origin Pulls’, server name control and https redirect
docker run -it --rm --network host ghcr.io/ahmetozer/more-ports server --server-name myserver.example.com --client-cert /config/client-cloudflare.pem --https-redirect
  • Custom certificate
docker run -it --rm --network host \
--mount type=bind,source="/data/certs/example.com/example.com.cert",target="/cert/my.cert",readonly \
 --mount type=bind,source="/data/keys/example.com/example.com.key",target="/cert/my.key",readonly \
 ghcr.io/ahmetozer/more-ports server --server-name myserver.example.com \
--client-cert /config/client-cloudflare.pem --https-redirect --server-cert /cert/my.cert --server-cert /cert/my.key

Client Side

If the clients only access regular ports like port 80 for HTTP or port 443 for HTTPS, they are not required to use this service but if they want to access different ports, they have to use the more-ports application on their system at the client mode.
You can access the precompiled application on the GitHub releases.

Configuration

In general, you don't need to make any changes for configurations on the client-side of the application, just set proxy configuration URL on your operating system from the program given URL.

  • Start the application
2021/05/07 01:25:48 More Ports Service
2021/05/07 01:25:48 Client mode
2021/05/07 01:25:48 Remote ports for http :80, https :443
2021/05/07 01:25:48 Client proxy server started at 127.0.0.1:8080
2021/05/07 01:25:48 Client proxy configuration located at http://127.0.0.1:8080/proxy.pac
  • Change settings on clients os. In this example for Windows.
    Client Windows configure
Owner
Ahmet ÖZER
Software Engineer Student ,Working on Linux Server, Network and IOT projects
Ahmet ÖZER
Similar Resources

rconn is a multiplatform program for creating generic reverse connections. Lets you consume services that are behind firewall or NAT without opening ports or port-forwarding.

rconn is a multiplatform program for creating generic reverse connections. Lets you consume services that are behind firewall or NAT without opening ports or port-forwarding.

rconn (r[everse] conn[ection]) is a multiplatform program for creating reverse connections. It lets you consume services that are behind NAT and/or fi

Jan 1, 2023

Information Gathering tool - DNS / Subdomains / Ports / Directories enumeration

Information Gathering tool - DNS / Subdomains / Ports / Directories enumeration

Information Gathering tool - DNS / Subdomains / Ports / Directories enumeration

Jan 3, 2023

port close check scanner. detects open ports, sends alert with slack.

aite9 (port close check scanner) サーバのポートが空いてないことを確認するポートスキャナー たくさんのサーバを管理していると設定ミスで内部利用ポートが外部に公開されてしまっている可能性があり、それに早く気付くためのチェックツールです。 サーバのリストを標準入力で渡すと

Feb 3, 2022

Bee is a tool to scan ports by TCP and UDP protocols

Bee - Port scan tool 🐝 Bee is a tool to scan ports by TCP and UDP protocols Building from Source Code First, we compile the source code with the ligh

Oct 10, 2021

P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.

P2P Forwarder - a tool for farwarding tcp/udp ports. Made using libp2p.

P2P Forwarder A tool for farwarding ports. Made using libp2p. How it works A: opens desired ports ports inside P2P Forwarder A: shares it's id from P2

Nov 14, 2022

Program to simultaneously listen and respond on multiple TCP/UDP ports

listen Program to simultaneously listen on multiple TCP/UDP ports and reply back to anything sent along with IP addresses and lengths of data received

Feb 20, 2022

Simple traceroute ports in Go

go-traceroute simple traceroute ports in Go. Installation $ go install github.co

Dec 27, 2021

Automatically exposes the remote container's listening ports back to the local machine

Auto-portforward (apf) A handy tool to automatically set up proxies that expose the remote container's listening ports back to the local machine. Just

Dec 15, 2022

oniongrok forwards ports on the local host to remote Onion addresses as Tor hidden services and vice-versa

oniongrok Onion addresses for anything. oniongrok forwards ports on the local host to remote Onion addresses as Tor hidden services and vice-versa. Wh

Jan 1, 2023
Cdn - CDN microservice to upload files to zachlatta.com that only accepts traffic from Tailscale IPs

cdn CDN microservice to upload files to zachlatta.com that only accepts traffic from Tailscale IPs. source code available at https://github.com/zachla

Jun 26, 2022
V3IO Frames ("Frames") is a Golang based remote data frames access (over gRPC or HTTP stream)

V3IO Frames ("Frames") is a multi-model open-source data-access library that provides a unified high-performance DataFrame API for working with different types of data sources (backends). The library was developed by Iguazio to simplify working with data in the Iguazio Data Science Platform ("the platform"), but it can be extended to support additional backend types.

Oct 1, 2022
Transparent TLS and HTTP proxy serve and operate on all 65535 ports, with domain regex whitelist and rest api control

goshkan Transparent TLS and HTTP proxy serve & operating on all 65535 ports, with domain regex whitelist and rest api control tls and http on same por

Nov 5, 2022
CDN for the Tech With Tim website using Go
CDN for the Tech With Tim website using Go

Tech With Tim - CDN CDN for the Tech With Tim website using Go ?? Table of Contents ?? Getting Started Environment variables Running ?? Running with D

Apr 29, 2022
CDN Node

CDN Node Init 生產環境伺服器請使用 Ctrl Server Output 的 install.sh 安裝 Dev go get github.com/gin-gonic/gin go get github.com/prometheus/common/log go get gopkg.i

Dec 20, 2021
Zero Trust Network Communication Sentinel provides peer-to-peer, multi-protocol, automatic networking, cross-CDN and other features for network communication.
Zero Trust Network Communication Sentinel provides peer-to-peer, multi-protocol, automatic networking, cross-CDN and other features for network communication.

Thank you for your interest in ZASentinel ZASentinel helps organizations improve information security by providing a better and simpler way to protect

Nov 1, 2022
Titan CDN+ network

Titan CDN+ Titan is a Filecoin extension, backed by Filecoin and focused on last-mile CDN+ networks. Currently, Titan's goals are: Focus on the last m

May 4, 2023
The devs are over here at devzat, chat over SSH!

Devzat Where are the devs at? Devzat! Devzat is chat over SSH Try it out: ssh sshchat.hackclub.com Add this to ~/.ssh/config: Host chat HostName s

Jan 7, 2023
Nuke-Net is a VERY VERY over powered and ridiculous web crawler that is well- very very noisy XD read more here
Nuke-Net is a VERY VERY over powered and ridiculous web crawler that is well- very very noisy XD read more here

Nuke-Net is a VERY VERY over powered and ridiculous web crawler that is well- very very noisy XD read more here

Dec 20, 2021
netscanner - TCP/UDP scanner to find open or closed ports

netscanner netscanner - TCP/UDP scanner to find open or closed ports installation you have to run this command to install the program $ go get github.

Dec 19, 2022