@ -0,0 +1,87 @@ | |||
# | |||
# Copyright (C) 2011-2012 OpenWrt.org | |||
# | |||
# This is free software, licensed under the GNU General Public License v2. | |||
# See /LICENSE for more information. | |||
# | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=libnatpmp | |||
PKG_VERSION:=20140401 | |||
PKG_RELEASE:=1 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||
PKG_SOURCE_URL:=http://miniupnp.free.fr/files | |||
PKG_MD5SUM:=7c9a7c76e200ead4e6447fe4b105f676 | |||
PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> | |||
PKG_LICENSE:=BSD-3c | |||
PKG_LICENSE_FILE:=LICENSE | |||
PKG_INSTALL:=1 | |||
include $(INCLUDE_DIR)/package.mk | |||
define Package/libnatpmp/Default | |||
TITLE:=NAT Port Mapping Protocol (NAT-PMP) | |||
URL:=http://miniupnp.free.fr/libnatpmp.html | |||
endef | |||
define Package/libnatpmp/Default/description | |||
libnatpmp is an attempt to make a portable and fully compliant implementation | |||
of the protocol for the client side. It is based on non blocking sockets and | |||
all calls of the API are asynchronous. It is therefore very easy to integrate | |||
the NAT-PMP code to any event driven code. | |||
endef | |||
define Package/libnatpmp | |||
$(call Package/libnatpmp/Default) | |||
SECTION:=libs | |||
CATEGORY:=Libraries | |||
TITLE+= library | |||
endef | |||
define Package/libnatpmp/description | |||
$(call Package/libnatpmp/Default/description) | |||
This package contains the shared library. | |||
endef | |||
define Package/natpmpc | |||
$(call Package/libnatpmp/Default) | |||
SECTION:=net | |||
CATEGORY:=Network | |||
SUBMENU:=Firewall | |||
TITLE+= client | |||
DEPENDS:=+libnatpmp | |||
endef | |||
define Package/natpmpc/description | |||
$(call Package/libnatpmp/Default/description) | |||
This package contains the natpmp client. | |||
endef | |||
MAKE_FLAGS += \ | |||
COPTS="$(TARGET_CFLAGS)" \ | |||
PREFIX="$(PKG_INSTALL_DIR)" \ | |||
OS="Linux" | |||
define Build/InstallDev | |||
$(INSTALL_DIR) $(1)/usr/include | |||
$(CP) $(PKG_INSTALL_DIR)/usr/include/declspec.h $(1)/usr/include/ | |||
$(CP) $(PKG_INSTALL_DIR)/usr/include/natpmp.h $(1)/usr/include/ | |||
$(INSTALL_DIR) $(1)/usr/lib | |||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp*.{so*,a} $(1)/usr/lib/ | |||
endef | |||
define Package/libnatpmp/install | |||
$(INSTALL_DIR) $(1)/usr/lib | |||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp.so.* $(1)/usr/lib/ | |||
endef | |||
define Package/natpmpc/install | |||
$(INSTALL_DIR) $(1)/usr/bin | |||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/natpmpc $(1)/usr/bin/ | |||
endef | |||
$(eval $(call BuildPackage,libnatpmp)) | |||
$(eval $(call BuildPackage,natpmpc)) |
@ -0,0 +1,11 @@ | |||
--- a/Makefile | |||
+++ b/Makefile | |||
@@ -56,7 +56,7 @@ else | |||
endif | |||
endif | |||
-HEADERS = natpmp.h | |||
+HEADERS = natpmp.h declspec.h | |||
EXECUTABLES = testgetgateway natpmpc-shared natpmpc-static | |||
@ -0,0 +1,120 @@ | |||
# | |||
# Copyright (C) 2008-2014 OpenWrt.org | |||
# | |||
# This is free software, licensed under the GNU General Public License v2. | |||
# See /LICENSE for more information. | |||
# | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=tor | |||
PKG_VERSION:=0.2.4.23 | |||
PKG_RELEASE:=1 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||
PKG_SOURCE_URL:=https://www.torproject.org/dist \ | |||
https://archive.torproject.org/tor-package-archive | |||
PKG_MD5SUM:=9e39928e310612c3bffee727f554c63f | |||
PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> | |||
PKG_LICENSE_FILE:=LICENSE | |||
PKG_BUILD_DEPENDS:=libminiupnpc libnatpmp | |||
PKG_INSTALL:=1 | |||
include $(INCLUDE_DIR)/package.mk | |||
define Package/tor/Default | |||
SECTION:=net | |||
CATEGORY:=Network | |||
URL:=https://www.torproject.org/ | |||
endef | |||
define Package/tor/Default/description | |||
Tor is a toolset for a wide range of organizations and people that want to | |||
improve their safety and security on the Internet. Using Tor can help you | |||
anonymize web browsing and publishing, instant messaging, IRC, SSH, and | |||
more. Tor also provides a platform on which software developers can build | |||
new applications with built-in anonymity, safety, and privacy features. | |||
endef | |||
define Package/tor | |||
$(call Package/tor/Default) | |||
TITLE:=An anonymous Internet communication system | |||
DEPENDS:=+libevent2 +libopenssl +libpthread +librt +SSP_SUPPORT:libssp | |||
endef | |||
define Package/tor/description | |||
$(call Package/tor/Default/description) | |||
This package contains the tor daemon. | |||
endef | |||
define Package/tor-fw-helper | |||
$(call Package/tor/Default) | |||
TITLE:=Firewall helper for tor | |||
DEPENDS:=+tor +libminiupnpc +libnatpmp | |||
endef | |||
define Package/tor-fw-helper/description | |||
$(call Package/tor/Default/description) | |||
This package contains a helper for automatically configuring port forwarding. | |||
endef | |||
define Package/tor-geoip | |||
$(call Package/tor/Default) | |||
TITLE:=GeoIP db for tor | |||
DEPENDS:=+tor | |||
endef | |||
define Package/tor-geoip/description | |||
$(call Package/tor/Default/description) | |||
This package contains a GeoIP database mapping IP addresses to countries. | |||
endef | |||
define Package/tor/conffiles | |||
/etc/tor/torrc | |||
endef | |||
CONFIGURE_ARGS += \ | |||
--with-libevent-dir="$(STAGING_DIR)/usr" \ | |||
--with-ssl-dir="$(STAGING_DIR)/usr" \ | |||
--enable-upnp \ | |||
--with-libminiupnpc-dir="$(STAGING_DIR)/usr" \ | |||
--enable-nat-pmp \ | |||
--with-libnatpmp-dir="$(STAGING_DIR)/usr" \ | |||
--disable-asciidoc | |||
ifneq ($(CONFIG_SSP_SUPPORT),y) | |||
CONFIGURE_ARGS += \ | |||
--disable-gcc-hardening | |||
MAKE_FLAGS += \ | |||
CFLAGS="$(TARGET_CFLAGS)" | |||
else | |||
MAKE_FLAGS += \ | |||
CFLAGS="$(TARGET_CFLAGS) -fPIC" | |||
endif | |||
CONFIGURE_VARS += \ | |||
CROSS_COMPILE="yes" | |||
define Package/tor/install | |||
$(INSTALL_DIR) $(1)/usr/sbin | |||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/ | |||
$(INSTALL_DIR) $(1)/etc/init.d | |||
$(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor | |||
$(INSTALL_DIR) $(1)/etc/tor | |||
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc | |||
endef | |||
define Package/tor-fw-helper/install | |||
$(INSTALL_DIR) $(1)/usr/bin | |||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-fw-helper $(1)/usr/bin/ | |||
endef | |||
define Package/tor-geoip/install | |||
$(INSTALL_DIR) $(1)/usr/share/tor | |||
$(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/ | |||
endef | |||
$(eval $(call BuildPackage,tor)) | |||
$(eval $(call BuildPackage,tor-fw-helper)) | |||
$(eval $(call BuildPackage,tor-geoip)) |
@ -0,0 +1,28 @@ | |||
#!/bin/sh /etc/rc.common | |||
# Copyright (C) 2006-2011 OpenWrt.org | |||
START=50 | |||
STOP=50 | |||
USE_PROCD=1 | |||
start_service() { | |||
user_exists tor 52 || user_add tor 52 52 /var/lib/tor | |||
group_exists tor 52 || group_add tor 52 | |||
[ -f /var/run/tor.pid ] || { | |||
touch /var/run/tor.pid | |||
chown tor:tor /var/run/tor.pid | |||
} | |||
[ -d /var/lib/tor ] || { | |||
mkdir -m 0755 -p /var/lib/tor | |||
chmod 0700 /var/lib/tor | |||
chown tor:tor /var/lib/tor | |||
} | |||
[ -d /var/log/tor ] || { | |||
mkdir -m 0755 -p /var/log/tor | |||
chown tor:tor /var/log/tor | |||
} | |||
procd_open_instance | |||
procd_set_param command /usr/sbin/tor --runasdaemon 0 | |||
procd_close_instance | |||
} |
@ -0,0 +1,21 @@ | |||
--- a/src/config/torrc.sample.in | |||
+++ b/src/config/torrc.sample.in | |||
@@ -45,11 +45,11 @@ | |||
## Uncomment this to start the process in the background... or use | |||
## --runasdaemon 1 on the command line. This is ignored on Windows; | |||
## see the FAQ entry if you want Tor to run as an NT service. | |||
-#RunAsDaemon 1 | |||
+RunAsDaemon 1 | |||
## The directory for keeping all the keys/etc. By default, we store | |||
## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. | |||
-#DataDirectory @LOCALSTATEDIR@/lib/tor | |||
+DataDirectory @LOCALSTATEDIR@/lib/tor | |||
## The port on which Tor will listen for local connections from Tor | |||
## controller applications, as documented in control-spec.txt. | |||
@@ -187,3 +187,4 @@ | |||
## address manually to your friends, uncomment this line: | |||
#PublishServerDescriptor 0 | |||
+User tor |