All Projects → jamescun → Switcher

jamescun / Switcher

Licence: bsd-3-clause
Run SSH and HTTP(S) on the same port

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Switcher

Chameleon
Customizable honeypots for monitoring network traffic, bots activities and username\password credentials (DNS, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, RDP, VNC, SMB, SOCKS5, Redis, TELNET, Postgres and MySQL)
Stars: ✭ 230 (-73.77%)
Mutual labels:  proxy, ssh, https
Fq Book
📖《这本书能让你连接互联网》详细阐述代理、隧道、VPN运作过程,并对GFW策略如:地址端口封锁、服务器缓存投毒、数字验证攻击、SSL连接阻断做相关的原理说明
Stars: ✭ 2,393 (+172.86%)
Mutual labels:  proxy, ssh, https
Forwardproxy
Forward proxy plugin for the Caddy web server
Stars: ✭ 333 (-62.03%)
Mutual labels:  proxy, https
Ssh Mitm
ssh mitm server for security audits supporting public key authentication, session hijacking and file manipulation
Stars: ✭ 335 (-61.8%)
Mutual labels:  proxy, ssh
Exodus
network proxy and tunnel (VPN)
Stars: ✭ 432 (-50.74%)
Mutual labels:  proxy, ssh
gost
GO Simple Tunnel - a simple tunnel written in golang
Stars: ✭ 154 (-82.44%)
Mutual labels:  ssh, https
client
Remote access and tunnels to your localhost from everywhere in the world.
Stars: ✭ 25 (-97.15%)
Mutual labels:  ssh, https
Asuswrt Merlin Transparent Proxy
transparent proxy base on ss, v2ray, ipset, iptables, chinadns on asuswrt merlin.
Stars: ✭ 367 (-58.15%)
Mutual labels:  proxy, ssh
Gsnova
Private proxy solution & network troubleshooting tool.
Stars: ✭ 509 (-41.96%)
Mutual labels:  proxy, ssh
Tor2web
Tor2web is an HTTP proxy software that enables access to Tor Hidden Services by mean of common web browsers
Stars: ✭ 531 (-39.45%)
Mutual labels:  proxy, https
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (-33.07%)
Mutual labels:  proxy, https
seahorse
ELKFH - Elastic, Logstash, Kibana, Filebeat and Honeypot (HTTP, HTTPS, SSH, RDP, VNC, Redis, MySQL, MONGO, SMB, LDAP)
Stars: ✭ 31 (-96.47%)
Mutual labels:  ssh, https
Mallory
HTTP/HTTPS proxy over SSH
Stars: ✭ 251 (-71.38%)
Mutual labels:  proxy, ssh
Nps
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
Stars: ✭ 19,537 (+2127.71%)
Mutual labels:  ssh, https
Fasttunnel
NAT 内网穿透 远程内网计算机 域名访问内网站点 反向代理内网服务 花生壳 端口转发 http代理 微信 小程序 expose a local server behind a NAT or firewall to the internet like ngrok and frp. NAT ssh proxy tunnel reverse-proxy
Stars: ✭ 248 (-71.72%)
Mutual labels:  proxy, ssh
E2guardian
E2guardian is a web content filter that can work in proxy, transparent or icap server modes
Stars: ✭ 340 (-61.23%)
Mutual labels:  proxy, https
Python Proxy
HTTP/HTTP2/HTTP3/Socks4/Socks5/Shadowsocks/ShadowsocksR/SSH/Redirect/Pf TCP/UDP asynchronous tunnel proxy implemented in Python 3 asyncio.
Stars: ✭ 692 (-21.09%)
Mutual labels:  proxy, ssh
Frpc Android
Android,安卓版frpc,一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露给Internet。
Stars: ✭ 205 (-76.62%)
Mutual labels:  proxy, https
Websafety
Simple and powerful web filter for HTTP and HTTPS traffic
Stars: ✭ 208 (-76.28%)
Mutual labels:  proxy, https
Localdots
HTTPS domains for localhost. 🏠
Stars: ✭ 486 (-44.58%)
Mutual labels:  proxy, https
Switcher

Switcher

Switcher is a proxy server which accepts connections and proxies based on which protocol is detected.

Currently implemented is:

  • SSH

The use case is running HTTP(S) and SSH on the same port.

Usage

Download release or Build:

make

To get help:

$ ./switcher --help
Switcher 1.0.0
usage: switcher [options]

Options:
  --listen   <:80>            Server Listen Address
  --ssh      <127.0.0.1:22>   SSH Server Address
  --default  <127.0.0.1:8080>  Default Server Address

Examples:
  To serve SSH(127.0.0.1:22) and HTTP(127.0.0.1:8080) on port 80
  $ switcher

  To serve SSH(127.0.0.1:2222) and HTTPS(127.0.0.1:443) on port 443
  $ switcher --listen :443 --ssh 127.0.0.1:2222 --default 127.0.0.1:443

Example

Run switcher on HTTP port 80, proxy to SSH on 127.0.0.1:22 and Nginx on 127.0.0.1:8080

$ switcher --listen :80 --ssh 127.0.0.1:22 --default 127.0.0.1:8080

To test HTTP:

$ curl -I http://my-server.local
HTTP/1.1 200 OK

To test SSH

$ ssh [email protected] -p 80
Password:

Why not sslh

Switcher is heavily influenced by sslh. It started out as a learning exercise to discover how sslh worked and attempt an implementation in Go.

The result is useful in its own right through use of Go's interfaces for protocol matching (making adding new protocols trivial), and lightweight goroutines (instead of forking, which is more CPU intensive under load).

License

3-Clause "Modified" BSD Licence.

License

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].