Redsocks is a daemon running on the local system, that will transparently
tunnel any TCP connection via a remote SOCKS4, SOCKS5 or HTTP proxy server. It
uses the system firewall's redirection facility to intercept TCP connections,
thus the redirection is system-wide, with fine-grained control, and does
not depend on LD_PRELOAD libraries.


Signed-off-by: Sebastian Muszynski <ba...@linkt.de>

--- 

Index: feeds/packages/net/redsocks/patches/010-fix-undeclared.diff
===================================================================
--- feeds/packages/net/redsocks/patches/010-fix-undeclared.diff (revision 0)
+++ feeds/packages/net/redsocks/patches/010-fix-undeclared.diff (revision 0)
@@ -0,0 +1,28 @@
+diff -ur redsocks-0.4.orig/redudp.c redsocks-0.4/redudp.c
+--- redsocks-0.4.orig/redudp.c 2012-07-27 20:30:40.283988208 +0200
++++ redsocks-0.4/redudp.c      2012-07-27 20:31:35.759985938 +0200
+@@ -33,6 +33,10 @@
+ #include "redsocks.h"
+ #include "redudp.h"
+ 
++#define IP_ORIGDSTADDR 20
++#define IP_TRANSPARENT 19
++#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
++
+ #define redudp_log_error(client, prio, msg...) \
+       redsocks_log_write_plain(__FILE__, __LINE__, __func__, 0, &(client)-
>clientaddr, get_destaddr(client), prio, ## msg)
+ #define redudp_log_errno(client, prio, msg...) \
+diff -ur redsocks-0.4.orig/utils.c redsocks-0.4/utils.c
+--- redsocks-0.4.orig/utils.c  2012-07-27 20:30:40.283988208 +0200
++++ redsocks-0.4/utils.c       2012-07-27 20:31:20.075986580 +0200
+@@ -26,6 +26,10 @@
+ #include "utils.h"
+ #include "redsocks.h" // for redsocks_close
+ 
++#define IP_ORIGDSTADDR 20
++#define IP_TRANSPARENT 19
++#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
++
+ int red_recv_udp_pkt(int fd, char *buf, size_t buflen, struct sockaddr_in 
*inaddr, struct sockaddr_in *toaddr)
+ {
+       socklen_t addrlen = sizeof(*inaddr);
Index: feeds/packages/net/redsocks/Makefile
===================================================================
--- feeds/packages/net/redsocks/Makefile        (revision 0)
+++ feeds/packages/net/redsocks/Makefile        (revision 0)
@@ -0,0 +1,54 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=redsocks
+PKG_VERSION:=0.4
+PKG_RELEASE=$(PKG_SOURCE_VERSION)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/darkk/redsocks.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=a9cfd090119385a1ef973baf94342a2db20595b9
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+# PKG_MIRROR_MD5SUM:=
+# CMAKE_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/redsocks
+       SECTION:=net
+       CATEGORY:=Network
+       SUBMENU:=Web Servers/Proxies
+       DEPENDS:=+libevent2
+       TITLE:=Redirect any TCP connection to a SOCKS or HTTPS proxy server
+endef
+
+define Package/redsocks/description
+       Redsocks is a daemon running on the local system, that will 
transparently
+       tunnel any TCP connection via a remote SOCKS4, SOCKS5 or HTTP proxy 
server. It
+       uses the system firewall's redirection facility to intercept TCP 
connections,
+       thus the redirection is system-wide, with fine-grained control, and 
does
+       not depend on LD_PRELOAD libraries.
+       .
+       Redsocks supports tunneling TCP connections and UDP packets. It has
+       authentication support for both, SOCKS and HTTP proxies.
+       .
+       Also included is a small DNS server returning answers with the 
"truncated" flag
+       set for any UDP query, forcing the resolver to use TCP.
+endef
+
+TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+#TARGET_CFLAGS += -ggdb3
+
+CMAKE_OPTIONS += -DDEBUG=1
+
+define Package/redsocks/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/redsocks $(1)/usr/sbin/
+
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/redsocks.init $(1)/etc/init.d/redsocks
+       $(INSTALL_DIR) $(1)/etc
+       $(INSTALL_CONF) $(PKG_BUILD_DIR)/redsocks.conf.example 
$(1)/etc/redsocks.conf
+endef
+
+$(eval $(call BuildPackage,redsocks))
Index: feeds/packages/net/redsocks/files/redsocks.init
===================================================================
--- feeds/packages/net/redsocks/files/redsocks.init     (revision 0)
+++ feeds/packages/net/redsocks/files/redsocks.init     (revision 0)
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+
+START=80
+APP=redsocks
+PID_FILE=/var/run/$APP.pid
+
+start() {
+        start-stop-daemon -S -x $APP -p $PID_FILE -m -b -- -c 
/etc/redsocks.conf
+}
+
+stop() {
+        start-stop-daemon -K -n $APP -p $PID_FILE -s TERM
+        rm -rf $PID_FILE
+}

Property changes on: feeds/packages/net/redsocks/files/redsocks.init
___________________________________________________________________
Added: svn:executable
   + *

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to