summaryrefslogtreecommitdiff
path: root/community/tor
diff options
context:
space:
mode:
Diffstat (limited to 'community/tor')
-rw-r--r--community/tor/PKGBUILD13
-rw-r--r--community/tor/tor.install7
-rw-r--r--community/tor/tor.service7
-rw-r--r--community/tor/torrc222
4 files changed, 144 insertions, 105 deletions
diff --git a/community/tor/PKGBUILD b/community/tor/PKGBUILD
index 53b161791..95cad22cb 100644
--- a/community/tor/PKGBUILD
+++ b/community/tor/PKGBUILD
@@ -1,15 +1,16 @@
-# $Id: PKGBUILD 90563 2013-05-13 08:20:47Z lfleischer $
+# $Id: PKGBUILD 92386 2013-06-04 12:52:29Z lfleischer $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: simo <simo@archlinux.org>
+# Contributor: Sid Karunaratne
pkgname=tor
pkgver=0.2.3.25
-pkgrel=2
+pkgrel=3
pkgdesc='Anonymizing overlay network.'
arch=('i686' 'x86_64' 'mips64el')
url='http://www.torproject.org/'
license=('BSD')
-depends=('openssl' 'libevent' 'tsocks' 'bash')
+depends=('openssl' 'libevent' 'torsocks' 'bash')
makedepends=('ca-certificates')
backup=('etc/tor/torrc'
'etc/tor/torrc-dist'
@@ -19,9 +20,9 @@ source=("http://www.torproject.org/dist/${pkgname}-${pkgver}.tar.gz"{,.asc}
'torrc'
'tor.service')
md5sums=('a1c364189a9a66ed9daa8e6436489daf'
- 'a4c12795ffb8f68550a5dab4a9eb0654'
- '56c75d4e8a66f34167d31e38c43793dd'
- 'b8989a7b3ab39d697624b243f7fc255d')
+ 'SKIP'
+ 'c1dd4004c63edaeaa829e01be5413cfc'
+ 'a396657e6f6df21d319ad586500c04b1')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/community/tor/tor.install b/community/tor/tor.install
index 2c448d28e..beceb6070 100644
--- a/community/tor/tor.install
+++ b/community/tor/tor.install
@@ -1,9 +1,4 @@
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
@@ -11,8 +6,6 @@ post_install() {
}
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
diff --git a/community/tor/tor.service b/community/tor/tor.service
index 33bbc0776..264a95624 100644
--- a/community/tor/tor.service
+++ b/community/tor/tor.service
@@ -3,10 +3,9 @@ Description=Anonymizing Overlay Network
After=network.target
[Service]
-Type=forking
-GuessMainPID=yes
-ExecStart=/usr/bin/tor -f /etc/tor/torrc --quiet
-ExecReload=/bin/kill -HUP $MAINPID
+User=tor
+Type=simple
+ExecStart=/usr/bin/tor -f /etc/tor/torrc
KillSignal=SIGINT
LimitNOFILE=8192
diff --git a/community/tor/torrc b/community/tor/torrc
index 3505653ab..19e05970a 100644
--- a/community/tor/torrc
+++ b/community/tor/torrc
@@ -1,82 +1,72 @@
-## 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
-
+## Configuration file for a typical Tor user
+## Last updated 22 April 2012 for Tor 0.2.3.14-alpha.
+## (may or may not work for much older or much newer versions of Tor.)
+##
+## Lines that begin with "## " try to explain what's going on. Lines
+## that begin with just "#" are disabled commands: you can enable them
+## by removing the "#" symbol.
+##
+## See 'man tor', or https://www.torproject.org/docs/tor-manual.html,
+## for more options you can use in this file.
+##
+## Tor will look for this file in various places based on your platform:
+## https://www.torproject.org/docs/faq#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
+## Tor opens a socks proxy on port 9050 by default -- even if you don't
+## configure one below. Set "SocksPort 0" if you plan to run Tor only
+## as a relay, and not make any local application connections yourself.
+#SocksPort 9050 # Default: Bind to localhost:9050 for local connections.
+#SocksPort 192.168.0.1:9100 # Bind to this adddress: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
+## all (and only) requests that reach a SocksPort. Untrusted users who
+## can access your SocksPort may be able to learn about the connections
+## you make.
+#SocksPolicy accept 192.168.0.0/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
+## else, like one of the below lines. You can have as many Log lines as
## you want.
##
+## We advise using "notice" in most cases, since anything more verbose
+## may provide sensitive information to an attacker who obtains the logs.
+##
## 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:
+## Send every possible message to /var/log/tor/debug.log
+#Log debug file /var/log/tor/debug.log
+## Use the system log instead of Tor's logfiles
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
+## --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
## 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.
+## The port on which Tor will listen for local connections from Tor
+## controller applications, as documented in control-spec.txt.
#ControlPort 9051
+## If you enable the controlport, be sure to enable one of these
+## authentication methods, to prevent attackers from accessing it.
+#HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
+#CookieAuthentication 1
############### 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.
+## Once you have configured a hidden service, you can look at the
+## contents of the file ".../hidden_service/hostname" for the address
+## to tell people.
+##
+## HiddenServicePort x y:z says to redirect requests on port x to the
+## address y:z.
#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80
@@ -84,60 +74,116 @@ DataDirectory /var/lib/tor
#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.
+################ This section is just for relays #####################
+#
+## See https://www.torproject.org/docs/tor-doc-relay for details.
-## Required: A unique handle for this server
-#Nickname ididnteditheconfig
+## Required: what port to advertise for incoming 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), you can do it as
+## follows. You'll need to do ipchains or other port forwarding
+## yourself to make this work.
+#ORPort 443 NoListen
+#ORPort 127.0.0.1:9090 NoAdvertise
-## The IP or fqdn for this server. Leave commented out and Tor will guess.
+## The IP address or full DNS name for incoming connections to your
+## relay. 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.
+## If you have multiple network interfaces, you can specify one for
+## outgoing traffic to use.
+# OutboundBindAddress 10.0.0.5
+
+## A handle for your relay, so people don't have to refer to it by key.
+#Nickname ididnteditheconfig
+
+## Define these to limit how much relayed traffic you will allow. Your
+## own traffic is still unthrottled. Note that RelayBandwidthRate must
+## be at least 20 KB.
+## Note that units for these config options are bytes per second, not bits
+## per second, and that prefixes are binary prefixes, i.e. 2^10, 2^20, etc.
+#RelayBandwidthRate 100 KB # Throttle traffic to 100KB/s (800Kbps)
+#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)
+
+## Use these to restrict the maximum traffic per day, week, or month.
+## Note that this threshold applies separately to sent and received bytes,
+## not to their sum: setting "4 GB" may allow up to 8 GB total before
+## hibernating.
+##
+## Set a maximum of 4 gigabytes each way per period.
+#AccountingMax 4 GB
+## Each period starts daily at midnight (AccountingMax is per day)
+#AccountingStart day 00:00
+## Each period starts on the 3rd of the month at 15:00 (AccountingMax
+## is per month)
+#AccountingStart month 3 15:00
+
+## Contact info to be published in the directory, so we can contact you
+## if your relay is misconfigured or something else goes wrong. Google
+## indexes this, so spammers might also collect it.
#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
+#ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com>
-## Uncomment this to mirror the directory for others (please do)
+## Uncomment this to mirror directory information for others. Please do
+## if you have enough bandwidth.
#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
+## If you want to listen on a port other than the one advertised in
+## DirPort (e.g. to advertise 80 but bind to 9091), you can do it as
+## follows. below too. You'll need to do ipchains or other port
+## forwarding yourself to make this work.
+#DirPort 80 NoListen
+#DirPort 127.0.0.1:9091 NoAdvertise
+## Uncomment to return an arbitrary blob of html on your DirPort. Now you
+## can explain what Tor is if anybody wonders why your IP address is
+## contacting them. See contrib/tor-exit-notice.html in Tor's source
+## distribution for a sample.
+#DirPortFrontPage /etc/tor/tor-exit-notice.html
+
+## Uncomment this if you run more than one Tor relay, and add the identity
+## key fingerprint of each Tor relay you control, even if they're on
+## different networks. You declare it here so Tor clients can avoid
+## using more than one of your relays in a single circuit. See
+## https://www.torproject.org/docs/faq#MultipleRelays
+## However, you should never include a bridge's fingerprint here, as it would
+## break its concealability and potentionally reveal its IP/TCP address.
+#MyFamily $keyid,$keyid,...
## A comma-separated list of exit policies. They're considered first
-## to last, and the first match wins. If you want to *replace*
+## 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
+## 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
+## described in the man page or at
+## https://www.torproject.org/documentation.html
##
-## Look at http://tor.eff.org/faq-abuse.html#TypicalAbuses
+## Look at https://www.torproject.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.
##
+## For security, by default Tor rejects connections to private (local)
+## networks, including to your public IP address. See the man page entry
+## for ExitPolicyRejectPrivate if you want to allow "exit enclaving".
+##
#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
+#ExitPolicy reject *:* # no exits allowed
+
+## Bridge relays (or "bridges") are Tor relays that aren't listed in the
+## main directory. Since there is no complete public list of them, even an
+## ISP that filters connections to all the known Tor relays probably
+## won't be able to block all the bridges. Also, websites won't treat you
+## differently because they won't know you're running Tor. If you can
+## be a real relay, please do; but if not, be a bridge!
+#BridgeRelay 1
+## By default, Tor will advertise your bridge to users through various
+## mechanisms like https://bridges.torproject.org/. If you want to run
+## a private bridge, for example because you'll give out your bridge
+## address manually to your friends, uncomment this line:
+#PublishServerDescriptor 0