All Projects → shoriwe → FullProxy

shoriwe / FullProxy

Licence: MIT license
Bind and reverse connection based, SOCKS5, HTTP and PortForward based portable proxy

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to FullProxy

Awslambdaproxy
An AWS Lambda powered HTTP/SOCKS web proxy
Stars: ✭ 571 (+2495.45%)
Mutual labels:  tunnel, proxy-server, http-proxy, socks5
Flynet
A powerful TCP/UDP tool, which support socks5 proxy by tcp and udp, http proxy and NAT traversal. This tool can help you bypass gfw easily
Stars: ✭ 124 (+463.64%)
Mutual labels:  proxy-server, http-proxy, socks5
LiveProxies
Asynchronous proxy checker
Stars: ✭ 17 (-22.73%)
Mutual labels:  proxy-server, http-proxy, socks5
Glider
glider is a forward proxy with multiple protocols support, and also a dns/dhcp server with ipset management features(like dnsmasq).
Stars: ✭ 1,710 (+7672.73%)
Mutual labels:  tunnel, http-proxy, socks5
Mubeng
An incredibly fast proxy checker & IP rotator with ease.
Stars: ✭ 234 (+963.64%)
Mutual labels:  proxy-server, http-proxy, socks5
taosocks
A smart tunnel proxy that helps you bypass firewalls.
Stars: ✭ 26 (+18.18%)
Mutual labels:  tunnel, http-proxy, socks5
firefox-secure-proxy
Standalone wrapper for Firefox Private Network
Stars: ✭ 15 (-31.82%)
Mutual labels:  proxy-server, http-proxy
Prox5
🧮 SOCKS5/4/4a 🌾 validating proxy pool and upstream SOCKS5 server for 🤽 LOLXDsoRANDum connections 🎋
Stars: ✭ 39 (+77.27%)
Mutual labels:  proxy-server, socks5
3proxy
3proxy - tiny free proxy server
Stars: ✭ 2,493 (+11231.82%)
Mutual labels:  proxy-server, socks5
fuso
一款体积小, 快速, 稳定, 高效, 轻量的内网穿透, 端口转发工具 支持多连接,级联代理,传输加密 (A small volume, fast, stable, efficient, and lightweight intranet penetration, port forwarding tool supports multiple connections, cascading proxy, and transmission encryption)
Stars: ✭ 1,132 (+5045.45%)
Mutual labels:  tunnel, socks5
node-proxy
High performance HTTP and reverse proxy server based on Node.js. 基于 Node.js 的高性能 HTTP 及反向代理服务器,类似nginx。
Stars: ✭ 71 (+222.73%)
Mutual labels:  proxy-server, http-proxy
microsocks11
A cross-platform SOCKS5 library and server based on the microsocks project.
Stars: ✭ 22 (+0%)
Mutual labels:  proxy-server, socks5
mps
MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. MPS 是一个高性能HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket代理
Stars: ✭ 64 (+190.91%)
Mutual labels:  proxy-server, http-proxy
ProxyChecker
An easy to use open-source, multithreaded Proxy Checker. Allows you to quickly check HTTP and SOCKS proxies in a user friendly GUI, for Windows, Mac OS, Linux.
Stars: ✭ 113 (+413.64%)
Mutual labels:  http-proxy, socks5
nimSocks
A filtering SOCKS proxy server and client library written in nim.
Stars: ✭ 51 (+131.82%)
Mutual labels:  proxy-server, socks5
C-Sharp-Proxy-Server
A proxy server built with c# can be both normal and MITM Proxy
Stars: ✭ 86 (+290.91%)
Mutual labels:  proxy-server, http-proxy
knx-go
KNX clients and protocol implementation in Go
Stars: ✭ 62 (+181.82%)
Mutual labels:  tunnel, protocol
wasm-joey
Serverless Wasm - A lightweight Node.js application for deploying and executing WebAssembly(Wasm) binary-code via HTTP
Stars: ✭ 48 (+118.18%)
Mutual labels:  portable, executable
Socks5
A full-fledged high-performance socks5 proxy server written in C#. Plugin support included.
Stars: ✭ 331 (+1404.55%)
Mutual labels:  proxy-server, socks5
asyncio-socks-server
A SOCKS proxy server implemented with the powerful python cooperative concurrency framework asyncio.
Stars: ✭ 154 (+600%)
Mutual labels:  proxy-server, socks5

FullProxy

build made-with-Go GitHub go.mod Go version of a Go module Go Report Card Release

Bind and reverse connection based, SOCKS5, HTTP and PortForward proxy.

Description

FullProxyLogo

FullProxy is a Bind and Reverse Connection based HTTP, SOCKS5 and PortForward portable proxy

Index

Usage

Implemented protocols

user@linux:~$ fullproxy

Outputs:

path/to/fullproxy MODE NETWORK_TYPE ADDRESS PROTOCOL [OPTIONS]
	- MODE:         bind|master|slave
	- NETWORK_TYPE: tcp|udp
	- ADDRESS:      IPv4|IPv6 or Domain followed by ":" and the PORT; For Example -> "127.0.0.1:80"
	- PROTOCOL:     socks5|http|port-forward|translate-socks5
Environment Variables:
	- C2Address     Host and port of the C2 port of the master server

SOCKS5

user@linux:~$ fullproxy bind tcp 127.0.0.1:9050 socks5 --help

Outputs:

Usage of socks5:
  -auth-cmd string
        shell command to pass the hex encoded username and password, exit code 0 means login success
  -inbound-blacklist string
        plain text file list with all the HOST that are forbidden to connect to the proxy
  -inbound-whitelist string
        plain text file list with all the HOST that are permitted to connect to the proxy
  -outbound-blacklist string
        plain text file list with all the forbidden proxy targets
  -outbound-whitelist string
        plain text file list with all the permitted proxy targets
  -users-file string
        json file with username as keys and sha3-513 of the password as values

HTTP

HTTP proxy could be implemented thanks to goproxy

user@linux:~$ fullproxy http -help

Outputs:

Usage of http:
  -auth-cmd string
        shell command to pass the hex encoded username and password, exit code 0 means login success
  -inbound-blacklist string
        plain text file list with all the HOST that are forbidden to connect to the proxy
  -inbound-whitelist string
        plain text file list with all the HOST that are permitted to connect to the proxy
  -outbound-blacklist string
        plain text file list with all the forbidden proxy targets
  -outbound-whitelist string
        plain text file list with all the permitted proxy targets
  -users-file string
        json file with username as keys and sha3-513 of the password as values

Port Forward

user@linux:~$ fullproxy bind tcp 127.0.0.1:9050 port-forward --help

Outputs

Usage of port-forward:
  -inbound-blacklist string
        plain text file list with all the HOST that are forbidden to connect to the proxy
  -inbound-whitelist string
        plain text file list with all the HOST that are permitted to connect to the proxy
  -network-type string
        tcp or udp (default "tcp")
  -target-address string
        Address to connect (default "127.0.0.1:80")

Master and Slave

Preparing the master

Serve a socks5 proxy using master and slave.

user@linux:~$ export C2Address="127.0.0.1:9051" && fullproxy master tcp 127.0.0.1:9050 socks5 [OPTIONS]

Preparing the slave

Connect to the master and proxy the networks from the slave side.

user@linux:~$ export C2Address="127.0.0.1:9051" && fullproxy slave tcp 127.0.0.1:9050 socks5

Implemented tools

fullproxy-users

This tool will create a valid JSON file to use with the flag -users-file

user@linux:~$ fullproxy-users

Outputs:

fullproxy-users COMMAND DATABASE_FILE USERNAME
Available commands:
        - new
        - delete
        - set

Commands:

new

Creates a new file with a new user.

delete

Deletes an existing user in the file.

set

Creates or updates a user in the file.

Concepts

Master/Slave

Handles the proxying between a reverse connected proxy and the clients. In other words, it will receive the connections of the clients and will forward the traffic to the proxy that is reverse connected to it.

How it works

  1. It first binds to the host specified by the user.
  2. Then accept the connection from the proxy server.
  3. Finally, it proxy the traffic of all new incoming connections to the proxy server that was reverse connected to it in the second step. In other words, is the proxy of another proxy but totally invisible for the client.

Applications

This could be specially useful when you need to proxy a network that a machine have access to, but you can't bind inside that machine.

Installation

Pre-compiled binaries

You can find pre-compiled binaries for windows and linux Here

Build from source code

fullproxy

go install github.com/shoriwe/FullProxy/v2/cmd/fullproxy@latest

fullproxy-users

go install github.com/shoriwe/FullProxy/v2/cmd/fullproxy-users@latest

Note

For some reason (possibly a coding fault commit by me) if you extremely stress the master/slave protocol, it will crash in away that it is still running and the new connections are received but the connections to the targets are never made.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].