0.3.0 • Published 1 year ago

tcpfwd-maxconc-pmb v0.3.0

Weekly downloads
21
License
ISC
Repository
github
Last release
1 year ago

tcpfwd-maxconc-pmb

Transparently proxy TCP connections ('forward' their data), with a limit on the total number of concurrent connections (maxconn, maxsockets). Might help guard your proxy from overly aggressive programs.

Usage

$ echo $https_proxy
http://hostname.currently.ignored:3128/
$ nodejs -r tcpfwd-maxconc-pmb -e 0 -- max_conc=5
17:12:16 Gonna listen on TCP localhost:3129 --{maxConc=5}--> localhost:3128
17:12:16 Listening. 127.0.0.1:3129 --{maxConc=5}--> localhost:3128

Options

Options can be given via

  • CLI with dashes, e.g. --max-conc=5
  • CLI with underscores, e.g. max_conc=5
  • all-uppercase environment variables, e.g. MAX_CONC=5
  • additional undocumented methods that you shouldn't rely on.

Available options:

  • max_conc (typo fallback: max_conn): Up to how many connections the target shall be bothered with at the same time.
  • tgt_host or tgt_addr: Where to connect (target).
    • Currently defaults to localhost, but might change to an attempt at guessing your HTTP(S) proxy hostname.
    • Can also be a unix domain socket path.
  • tgt_port: In case the target looks like TCP, this is the port. If empty or zero, tries to guess your HTTP(S) proxy's port and use that.
  • lsn_addr: Like tgt_addr but for where the proxy itself shall listen.
  • lsn_port: In case lsn_addr looks like TCP, this is the port. If empty or zero, a port is chosen based on tgt_port and some offset to ensure its above 1024.
  • debuglevel or loglv: Verbosity level as a number. Default: 0. You'll need negative numbers to make the proxy quiet.
  • idle_quit: Close the server after this many minutes(!) without activity.
    • BUG: Not yet reliable at time of this writing, but I hope newer versions of autoquit will support it.
  • tgt_idle: If set to a positive number, target connections are reclaimed after tgt_idle seconds without data transfer. Default: 0 = Target is allowed to idle forever.
  • peek_data: Once a connection is forwarded, dump up to this many bytes from each participant's initial message chunk. This can be useful to debug what's being requested from an upstream proxy. Default: 0 = Don't dump traffic.

Recommended options

Known issues

  • Needs more/better tests and docs.

 

License

ISC

0.3.0

1 year ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.8

3 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago