summaryrefslogtreecommitdiff
path: root/community-testing/tor
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-18 00:01:40 +0000
committerroot <root@rshg054.dnsready.net>2012-06-18 00:01:40 +0000
commit0838a7ed482f29ddf71cf05e7ec6cf7c2728ce34 (patch)
treec7eab7aecb6ae497d23cfa7074bffd060d5eb8fe /community-testing/tor
parent61f450a3578b7e51c337e1a687c0cef2bc07ff35 (diff)
Mon Jun 18 00:01:40 UTC 2012
Diffstat (limited to 'community-testing/tor')
-rw-r--r--community-testing/tor/PKGBUILD53
-rw-r--r--community-testing/tor/tor44
-rw-r--r--community-testing/tor/tor.conf.d9
-rw-r--r--community-testing/tor/tor.install24
-rw-r--r--community-testing/tor/tor.service13
-rw-r--r--community-testing/tor/torrc143
6 files changed, 286 insertions, 0 deletions
diff --git a/community-testing/tor/PKGBUILD b/community-testing/tor/PKGBUILD
new file mode 100644
index 000000000..b0ab616ac
--- /dev/null
+++ b/community-testing/tor/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 72561 2012-06-16 17:11:10Z dreisner $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: simo <simo@archlinux.org>
+
+pkgname=tor
+pkgver=0.2.2.36
+pkgrel=2
+pkgdesc='Anonymizing overlay network.'
+arch=('i686' 'x86_64')
+url='http://www.torproject.org/'
+license=('BSD')
+depends=('openssl' 'libevent' 'tsocks' 'bash')
+makedepends=('ca-certificates')
+backup=('etc/tor/torrc'
+ 'etc/tor/torrc-dist'
+ 'etc/tor/tor-tsocks.conf'
+ 'etc/conf.d/tor')
+install='tor.install'
+source=("http://www.torproject.org/dist/${pkgname}-${pkgver}.tar.gz"{,.asc}
+ 'torrc'
+ 'tor'
+ 'tor.conf.d'
+ 'tor.service')
+md5sums=('620b2110086aba01236b57f1d5aba416'
+ '0401cf01ad0bcc9aba4f9c1bb5e8e810'
+ '56c75d4e8a66f34167d31e38c43793dd'
+ 'f8e6868a389877346e7eebaacd1078bb'
+ '5c7c6834064b3530c442def6079ac3aa'
+ 'cf23b97a1da09670214da6229a3ecb09')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm0700 "${pkgdir}/var/lib/tor"
+
+ mv "${pkgdir}/etc/tor/torrc.sample" "${pkgdir}/etc/tor/torrc-dist"
+ install -Dm0644 "${srcdir}/torrc" "${pkgdir}/etc/tor/torrc"
+ install -Dm0755 "${srcdir}/tor" "${pkgdir}/etc/rc.d/tor"
+ install -Dm0644 "${srcdir}/tor.conf.d" "${pkgdir}/etc/conf.d/tor"
+
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ install -Dm0644 "${srcdir}/tor.service" "${pkgdir}/usr/lib/systemd/system/tor.service"
+}
diff --git a/community-testing/tor/tor b/community-testing/tor/tor
new file mode 100644
index 000000000..522c498ce
--- /dev/null
+++ b/community-testing/tor/tor
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/tor ] && . /etc/conf.d/tor
+
+PID=`pidof -o %PPID /usr/bin/tor`
+case "$1" in
+ start)
+ stat_busy "Starting Tor Daemon"
+ if [ -z "${TOR_MAX_FD}" ] || ulimit -n "${TOR_MAX_FD}"; then
+ [ -z "$PID" ] && /usr/bin/tor -f ${TOR_CONF} ${TOR_ARGS} &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon tor
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Tor Daemon"
+ [ ! -z "$PID" ] && kill -INT $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon tor
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
+# vim: ft=sh ts=2 sw=2
diff --git a/community-testing/tor/tor.conf.d b/community-testing/tor/tor.conf.d
new file mode 100644
index 000000000..e9fa098e0
--- /dev/null
+++ b/community-testing/tor/tor.conf.d
@@ -0,0 +1,9 @@
+# Location of the config file.
+TOR_CONF='/etc/tor/torrc'
+
+# Custom ulimit for maximum number of open files.
+TOR_MAX_FD=
+
+# Additional arguments.
+TOR_ARGS="--quiet"
+
diff --git a/community-testing/tor/tor.install b/community-testing/tor/tor.install
new file mode 100644
index 000000000..2c448d28e
--- /dev/null
+++ b/community-testing/tor/tor.install
@@ -0,0 +1,24 @@
+post_install() {
+ echo "-> Tor has been preconfigured to run as a client only."
+ echo "-> Tor is experimental software. Do not rely on it for strong anonymity."
+ echo '-> '
+ echo '-> You can set custom file descriptor ulimits for Tor in'
+ echo '-> "/etc/conf.d/tor" using the "TOR_MAX_FD" variable.'
+ groupadd -g 43 tor &>/dev/null
+ useradd -u 43 -g tor -d /var/lib/tor -s /bin/false tor &> /dev/null
+ chown tor:tor var/lib/tor &> /dev/null
+ chmod 700 var/lib/tor &> /dev/null
+}
+
+post_upgrade() {
+ echo '-> You can now set custom file descriptor ulimits for Tor in'
+ echo '-> "/etc/conf.d/tor" using the "TOR_MAX_FD" variable.'
+ getent group tor &>/dev/null || groupadd -g 43 tor &>/dev/null
+ getent passwd tor &>/dev/null || useradd -u 43 -g tor -d /var/lib/tor -s /bin/false tor &> /dev/null
+ chown tor:tor var/lib/tor &> /dev/null
+}
+
+pre_remove() {
+ getent passwd tor &>/dev/null && userdel tor &> /dev/null
+ getent group tor &>/dev/null && groupdel tor &> /dev/null
+}
diff --git a/community-testing/tor/tor.service b/community-testing/tor/tor.service
new file mode 100644
index 000000000..eb9b556b5
--- /dev/null
+++ b/community-testing/tor/tor.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Anonymizing Overlay Network
+
+[Service]
+Type=forking
+GuessMainPID=yes
+EnvironmentFile=/etc/conf.d/tor
+ExecStart=/usr/bin/tor -f $TOR_CONF $TOR_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+KillSignal=SIGINT
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/tor/torrc b/community-testing/tor/torrc
new file mode 100644
index 000000000..3505653ab
--- /dev/null
+++ b/community-testing/tor/torrc
@@ -0,0 +1,143 @@
+## CONFIGURED FOR ARCHLINUX
+
+## Last updated 22 July 2005 for Tor 0.1.0.13.
+## (May or may not work for older or newer versions of Tor.)
+#
+## See the man page, or http://tor.eff.org/tor-manual.html, for more
+## options you can use in this file.
+#
+# On Unix, Tor will look for this file in someplace like "~/.tor/torrc" or
+# "/etc/torrc"
+#
+# On Windows, Tor will look for the configuration file in someplace like
+# "Application Data\tor\torrc" or "Application Data\<username>\tor\torrc"
+#
+# With the default Mac OS X installer, Tor will look in ~/.tor/torrc or
+# /Library/Tor/torrc
+
+
+## Replace this with "SocksPort 0" if you plan to run Tor only as a
+## server, and not make any local application connections yourself.
+SocksPort 9050 # what port to open for local application connections
+SocksBindAddress 127.0.0.1 # accept connections only from localhost
+#SocksBindAddress 192.168.0.1:9100 # listen on a chosen IP/port too
+
+## Entry policies to allow/deny SOCKS requests based on IP address.
+## First entry that matches wins. If no SocksPolicy is set, we accept
+## all (and only) requests from SocksBindAddress.
+#SocksPolicy accept 192.168.0.1/16
+#SocksPolicy reject *
+
+## Allow no-name routers (ones that the dirserver operators don't
+## know anything about) in only these positions in your circuits.
+## Other choices (not advised) are entry,exit,introduction.
+AllowUnverifiedNodes middle,rendezvous
+
+## Logs go to stdout at level "notice" unless redirected by something
+## else, like one of the below lines. You can have as many log lines as
+## you want.
+##
+## Send all messages of level 'notice' or higher to /var/log/tor/notices.log
+#Log notice file /var/log/tor/notices.log
+## Send only debug and info messages to /var/log/tor/debug.log
+#Log debug-info file /var/log/tor/debug.log
+## Send ONLY debug messages to /var/log/tor/debug.log
+#Log debug-debug file /var/log/tor/debug.log
+## To use the system log instead of Tor's logfiles, uncomment these lines:
+Log notice syslog
+## To send all messages to stderr:
+#Log debug stderr
+
+## Uncomment this to start the process in the background... or use
+## --runasdaemon 1 on the command line.
+RunAsDaemon 1
+User tor
+Group tor
+
+## Tor only trusts directories signed with one of these keys, and
+## uses the given addresses to connect to the trusted directory
+## servers. If no DirServer lines are specified, Tor uses the built-in
+## defaults (moria1, moria2, tor26), so you can leave this alone unless
+## you need to change it.
+#DirServer 18.244.0.188:9031 FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441
+#DirServer 18.244.0.114:80 719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF
+#DirServer 86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D
+
+## 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 /var/lib/tor
+
+## The port on which Tor will listen for local connections from Tor controller
+## applications, as documented in control-spec.txt. NB: this feature is
+## currently experimental.
+#ControlPort 9051
+
+############### This section is just for location-hidden services ###
+
+## Look in .../hidden_service/hostname for the address to tell people.
+## HiddenServicePort x y:z says to redirect a port x request from the
+## client to y:z.
+
+#HiddenServiceDir /var/lib/tor/hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+
+#HiddenServiceDir /var/lib/tor/other_hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+#HiddenServicePort 22 127.0.0.1:22
+#HiddenServiceNodes moria1,moria2
+#HiddenServiceExcludeNodes bad,otherbad
+
+################ This section is just for servers #####################
+
+## NOTE: If you enable these, you should consider mailing your identity
+## key fingerprint to the tor-ops, so we can add you to the list of
+## servers that clients will trust. See
+## http://tor.eff.org/doc/tor-doc.html#server for details.
+
+## Required: A unique handle for this server
+#Nickname ididnteditheconfig
+
+## The IP or fqdn for this server. Leave commented out and Tor will guess.
+#Address noname.example.com
+
+## Contact info that will be published in the directory, so we can
+## contact you if you need to upgrade or if something goes wrong.
+## This is optional but recommended.
+#ContactInfo Random Person <nobody AT example dot com>
+## You might also include your PGP or GPG fingerprint if you have one:
+#ContactInfo 1234D/FFFFFFFF Random Person <nobody AT example dot com>
+
+## Required: what port to advertise for tor connections
+#ORPort 9001
+## If you want to listen on a port other than the one advertised
+## in ORPort (e.g. to advertise 443 but bind to 9090), uncomment
+## the line below. You'll need to do ipchains or other port forwarding
+## yourself to make this work.
+#ORBindAddress 0.0.0.0:9090
+
+## Uncomment this to mirror the directory for others (please do)
+#DirPort 9030 # what port to advertise for directory connections
+## If you want to listen on a port other than the one advertised
+## in DirPort (e.g. to advertise 80 but bind 9091), uncomment the line
+## below. You'll need to do ipchains or other port forwarding yourself
+## to make this work.
+#DirBindAddress 0.0.0.0:9091
+
+## A comma-separated list of exit policies. They're considered first
+## to last, and the first match wins. If you want to *replace*
+## the default exit policy, end this with either a reject *:* or an
+## accept *:*. Otherwise, you're *augmenting* (prepending to) the
+## default exit policy. Leave commented to just use the default, which is
+## available in the man page or at http://tor.eff.org/documentation.html
+##
+## Look at http://tor.eff.org/faq-abuse.html#TypicalAbuses
+## for issues you might encounter if you use the default exit policy.
+##
+## If certain IPs and ports are blocked externally, e.g. by your firewall,
+## you should update your exit policy to reflect this -- otherwise Tor
+## users will be told that those destinations are down.
+##
+#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
+#ExitPolicy accept *:119 # accept nntp as well as default exit policy
+#ExitPolicy reject *:* # middleman only -- no exits allowed
+