用于SSH的HTTP/HTTPS代理工具 – Mallory

mallory ssh代理

一个基于SSH上的HTTP/HTTPS代理项目。

mallory安装与使用

  • 本地机器:go get github.com/justmao945/mallory/cmd/mallory
  • 远程服务器: 需要我们的老朋友 sshd

配置

默认路径是$HOME/.config/mallory.json,可以在启动程序时设置

mallory -config path/to/config.json

内容:

  • id_rsa 是我们的私钥文件的路径,可以通过以下方式生成 ssh-keygen
  • local_smart 是通过智能检测目标主机为HTTP代理提供服务的本地地址
  • local_normal类似于local_smart但通过远程SSH服务器发送所有流量,而没有检测到目标主机
  • remote 是SSH服务器的远程地址
  • blocked 是需要使用代理的域的列表,其他任何域都将直接连接到其服务器
{
"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"
]
}

配置文件中的阻止列表将在更新后自动重新加载,您可以手动执行:

# send signal to reload
kill -USR2 <pid of mallory>

# or use reload command by sending http request
mallory -reload

系统配置

  • HTTP和HTTPS代理都设置为localhostwith,1315以与阻止列表一起使用
  • 设置的环境变量http_proxy,并https_proxylocalhost:1316终端使用

为域获取正确的后缀名

mallory -suffix www.google.com

转发端口的所有流量

#安装它:go get github.com/justmao945/mallory/cmd/forward

#所有通过端口20022的流量都将转发到destination.com:22
forward -network tcp -listen :20022 -forward destination.com:22 

#您可以通过localhost:20022 SSH到目标:22 
ssh root@localhost -p 20022