Mallory is a HTTP/HTTPS proxy over SSH tool.
Installation
- Local machine:
go get github.com/justmao945/mallory/cmd/mallory - Remote server: need our old friend sshd
Default path is $HOME/.config/mallory.json, can be set when start program
mallory -config path/to/config.json
Content:
id_rsais the path to our private key file, can be generated byssh-keygenlocal_smartis the local address to serve HTTP proxy with smart detection of destination hostlocal_normalis similar tolocal_smartbut send all traffic through remote SSH server without destination host detectionremoteis the remote address of SSH serverblockedis a list of domains that need use proxy, any other domains will connect to their server directly
Also Read – DrMemory : Memory Debugger for Windows, Linux, Mac & Android
{
“id_rsa”: “$HOME/.ssh/id_rsa”,
“local_smart”: “:1315”,
“local_normal”: “:1316”,
“remote”: “ssh://user@vm.me:22”,
“blocked”: [
“angularjs.org”,
“golang.org”,
“google.com”,
“google.co.jp”,
“googleapis.com”,
“googleusercontent.com”,
“google-analytics.com”,
“gstatic.com”,
“twitter.com”,
“youtube.com”
]
}
Blocked list in config file will be reloaded automatically when updated, and you can do it manually:
#send signal to reload
kill -USR2
#or use reload command by sending http request
mallory -reload
System config
- Set both HTTP and HTTPS proxy to
localhostwith port1315to use with block list - Set env var
http_proxyandhttps_proxytolocalhost:1316for terminal usage
Get the right suffix name for a domain
mallory -suffix www.google.com
A simple command to forward all traffic for the given port
#install it: go get github.com/justmao945/mallory/cmd/forward
#all traffic through port 20022 will be forwarded to destination.com:22
forward -network tcp -listen :20022 -forward destination.com:22
#you can ssh to destination:22 through localhost:20022
ssh root@localhost -p 20022











