GNU General Public License v2.0

项目介绍

Intika-Linux-Proxy/Proxybound 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 GNU General Public License v2.0 许可证,目前获得 133 个 Star、22 次 Fork。

仓库全名
Intika-Linux-Proxy/Proxybound
开源许可证
GNU General Public License v2.0
Star 数
133
Fork 数
22
未关闭 Issue
8

README 摘要

ProxyBound v5.60 ================ ProxyBound force any unix application to use a specific proxy and prevent it from leaking the original ip; Technically, ProxyBound is a UNIX program, that hooks network-related libc functions in dynamically linked programs via a preloaded DLL and redirects the connections through SOCKS4A/5 or HTTP proxies. This project is based on proxychain by netcreature, proxychains-ng by rofl0r,…

完整内容见 GitHub 原始 README 或本页 。

常见问题

Proxybound 用什么语言开发?

主要使用 C 编写,采用 GNU General Public License v2.0 许可证,目前有 133 个 Star。

Proxybound 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v2.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 Proxybound 的源码?

可以直接克隆仓库:git clone https://github.com/Intika-Linux-Proxy/Proxybound.git;安装与运行步骤见仓库 README。

Proxybound 最近还在维护吗?

仓库最近一次更新为 2019年6月1日,当前有 8 个未关闭 Issue;Star 数为 133,可作为社区活跃度的参考。

关于

Linux applications proxifier

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
310
价值分
99
活跃状态
活跃

README

ProxyBound v5.60

ProxyBound force any unix application to use a specific proxy and prevent it from leaking the original ip; Technically, ProxyBound is a UNIX program, that hooks network-related libc functions in dynamically linked programs via a preloaded DLL and redirects the connections through SOCKS4A/5 or HTTP proxies. This project is based on proxychain by netcreature, proxychains-ng by rofl0r, proxychains by haad and torsocks by dgoulet

Features:

  • Proxify applications (like mainstream proxychains)
  • Works with tcp (like mainstream proxychains)
  • No leaks over udp/icmp/etc… (INET & INET6)
  • Unsupported protocols are blocked
  • Support chrome/chromium/skype/similar
  • Incompatible applications are terminated with a proper message
  • Many additional settings over environment variable
  • etc.

Used environment variable:

- PROXYBOUND_CONF_FILE:         Path to config file (default ./proxybound.conf then /etc/proxybound.conf)
- PROXYBOUND_QUIET_MODE:        Quiet mode (1 or 0, default 0)
- PROXYBOUND_SOCKS5_HOST:       Specify unique socks 5 proxy to use (default not used)
- PROXYBOUND_SOCKS5_PORT:       Socks 5 port (default not used)
- PROXYBOUND_FORCE_DNS:         Force dns resolv requests through (1 or 0, default 1)
- PROXYBOUND_ALLOW_DNS:         Allow direct dns, allow udp port 53 and 853 (1 or 0, default 0)
- PROXYBOUND_ALLOW_LEAKS:       Allow/Block unproxyfied protocols "UDP/ICMP/ETC", blocked by default (1 or 0, default 0)
- PROXYBOUND_WORKING_INDICATOR: Create '/tmp/proxybound.tmp' when dll is working as intended (1 or 0, default 0)

How it works:

Proxybound hook libc functions like connect(), dynamic loader facilities are used, namely dl_sym() and LD_PRELOAD thus dynamically linked programs are required.

Install:

  ./configure
  make
  [optional] sudo make install

If you dont install, you can use proxybound from the build directory like this: ./proxybound -f src/proxybound.conf telnet google.com 80

Install debug version :

  ./configure
  make debug
  [optional] sudo make install

Changelog:

Version 5.60:

  • Fix skype compatibility
  • Improve no leak feature
  • Improve debug version
  • Improve output/log messages
  • Rewrite main hooked functions connect
  • Rewrite main hooked functions bind
  • Rewrite main hooked functions sendmsg
  • Rewrite main hooked functions sendto
  • Rewrite main hooked functions send

Version 5.50:

  • Block non tcp packet on send()
  • Prevent bypass noleak
  • Add support for bind() to block listen on unsupported protocol
  • Add skype support

Version 5.40:

  • Add “–help” and “-h” parameter
  • Add “–version” and “-v” parameter
  • Update help page

Version 5.30:

  • Code cleaning
  • Move readme to md
  • Add support for hosts file (upstream import)

Version 5.20:

  • add PROXYBOUND_ALLOW_DNS
  • update lock feature (send sendto sendmsg)
  • add function to terminate when app is not supported
  • add PROXYBOUND_WORKING_INDICATOR
  • Code cleaning
  • Update readme

Version 5.10:

  • leak lock feature (send sendto sendmsg)

Version 5.00:

  • Initial leak lock feature
  • Code cleaning
  • Update readme

Version 4.90:

  • Import simple SOCKS5 proxy mode from @haad/proxychains
  • Code cleaning
  • Update readme

Version 4.80:

  • Updates with some features from @haad/proxychains

Version 4.70:

  • Fix chrome compatibility

Version 4.60:

  • Code cleanning & update

Version 4.50:

  • Changing the name to ProxyBound

Version 4.40:

  • Import security issue fix CVE-2015-3887
  • Used v4.3 (4.03) for initial fork

Limits :

  • IPv6 is blocked and not supported (currently partially supported)
  • Some applications are incompatible (they will be explicitly terminated 2 sec after startup, to avoid leaks)

Configuration:

Proxybound config file in following order:

1)	File listed in environment variable ${PROXYBOUND_CONF_FILE} or
    provided as a -f argument to proxybound script or binary.
2)	./proxybound.conf
3)	$(HOME)/.proxybound/proxybound.conf
4)	/etc/proxybound.conf

Usage Example:

In this example it will run telnet through proxy without using proxybound binary

$ export PROXYBOUND_QUIET_MODE="1"
$ export LD_PRELOAD=/usr/local/lib/libproxybound.so
$ export PROXYBOUND_CONF_FILE=/etc/proxybound.conf
$ telnet targethost.com

In this example it will run telnet through proxy(or chained proxies) specified by proxybound.conf

$ proxybound telnet targethost.com

In this example it will use different configuration file then proxybound.conf to connect to targethost2.com host.

$ proxybound -f /etc/proxybound-other.conf targethost2.com

In this example it will resolve targethost.com through proxy(or chained proxies) specified by proxybound.conf

$ proxyresolv targethost.com

评论

暂无评论