hiproxy - 轻量级网络代理工具


MIT
跨平台
JavaScript

软件简介

hiproxy是一个基于Node.js开发的轻量、可扩展的网络代理工具,主要目的是为了解决多个开发者在开发过程中遇到的hosts管理和请求代理的问题。使得在开发时,不再需要修改系统hosts和启动一个Nginx服务。

hiproxy支持hosts配置文件,同时也扩展了hosts的语法,支持端口号。此外,hiproxy还支跟Nginx配置文件相似语法的配置文件。

Features

  • 支持Nginx风格的配置文件格式,配置简单直观

  • 支持hosts以及扩展(支持端口号)

  • 支持插件扩展rewrite指令、CLI命令和页面

  • 支持HTTPS证书自动生成

  • 支持代理自动配置(Proxy auto-config)

  • 支持后台启动,日志输出到文件

  • 支持配置文件自动查找

  • 支持打开浏览器窗口并自动配置代理

  • 提供Node.js API

Install

npm install -g hiproxy

Usage

CLI

  1. 启动服务

    hiproxy start -p 5525 –debug –workspace 

  2. 配置浏览器代理

    127.0.0.1:5525

注意 : 也可在启动的时候,添加选项--open [browser],这样hiproxy会自动打开一个浏览器窗口,并设置好代理。

Node.js API

var HiProxyServer = require('hiproxy');
var proxy = new HiProxyServer(8848, 10086);

// events
proxy.on('request', function(req, res){
  req.someThing = 'some thing';
  console.log('new request =>', req.method, req.url);
});

proxy.on('data', function(data){
  console.log('on response =>', data.toString());
});

proxy.start().then(function (servers) {
  console.log('proxy server started at: 127.0.0.1:8848');
});

// stop proxy server
// proxy.stop();

// restart proxy server
// proxy.restart();

CLI命令和选项

> hiproxy --help

Commands:

  start   Start a local proxy server
  stop    Stop the local proxy server
  restart  Restart the local proxy server
  state   Show all the servers state
  open    Open browser and set proxy

Options:

  -v, --version     显示版本信息
  -h, --help        显示帮助信息
  -D, --daemon      后台运行
  --log-dir         后台运行时日志存放路径(绝对路径),默认为用户目录
  --log-time        显示日志时间
  --log-level       过滤日志级别,只有指定级别的日志才会显示
  --grep <content>  过滤日志内容,只有保护过滤字符串的日志才会显示