diff options
Diffstat (limited to 'community/tor')
-rw-r--r-- | community/tor/PKGBUILD | 13 | ||||
-rw-r--r-- | community/tor/tor.install | 7 | ||||
-rw-r--r-- | community/tor/tor.service | 7 | ||||
-rw-r--r-- | community/tor/torrc | 222 |
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 |