--- /dev/null
+#
+# 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))
--- /dev/null
+#!/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
+}
--- /dev/null
+--- 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