summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Arnott2015-12-15 05:28:41 +0000
committerColin Arnott2015-12-15 05:28:41 +0000
commit32c88940f8582958d85974d376221afdb54b20b9 (patch)
tree40f16208385d03f875ecca47d0a99a4e71bc6350
downloadaur-32c88940f8582958d85974d376221afdb54b20b9.tar.gz
initial commit, mostly stolen from tor-git, with a new patch file added
-rw-r--r--.SRCINFO37
-rw-r--r--PKGBUILD77
-rw-r--r--routelen6.patch20
-rw-r--r--tor.install18
-rw-r--r--tor.service12
-rw-r--r--tor.sysusers1
-rw-r--r--tor.tmpfiles4
-rw-r--r--torrc229
8 files changed, 398 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..738cfdd25005
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,37 @@
+# Generated by mksrcinfo v8
+# Tue Dec 15 05:22:40 UTC 2015
+pkgbase = tor6-git
+ pkgdesc = An anonymizing overlay network (development version)
+ pkgver = 0.2.8.0.alpha.21273
+ pkgrel = 1
+ url = http://www.torproject.org
+ install = tor.install
+ arch = i686
+ arch = x86_64
+ arch = armv6h
+ arch = armv7h
+ license = BSD
+ makedepends = asciidoc
+ depends = openssl>=1.0.2.a
+ depends = ca-certificates
+ depends = libevent
+ depends = libseccomp
+ optdepends = torsocks: for torify support
+ provides = tor
+ conflicts = tor
+ backup = etc/tor/torrc
+ source = git+https://git.torproject.org/tor.git#branch=master
+ source = torrc
+ source = tor.service
+ source = tor.tmpfiles
+ source = tor.sysusers
+ source = routelen6.patch
+ sha256sums = SKIP
+ sha256sums = e49f03ed46ce9cc4c4c53449c1cf7946bd363e9de98c73fe4618abc3b86950e9
+ sha256sums = 5acd97eed1e4e175d5d547704a7d125009de6dc51d3c7163b7311e82fd34e9a2
+ sha256sums = 37ff22a2e6f3dab412f08b46b86dede063538f6a32039d58a90d1212f188b379
+ sha256sums = 4a27a177889c044ff4e3e1f6ab8bbb32211466d53d884974240dab67592343b2
+ sha256sums = 0d7c27b8e1ab1fe24c28c031b4426306bb74d0d1d45a7138f5d147df65e36af9
+
+pkgname = tor6-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..fe09cee80c46
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,77 @@
+pkgname=tor6-git
+_branch=master
+#_branch=maint-0.2.6
+pkgver=0.2.8.0.alpha.21273
+pkgrel=1
+pkgdesc="An anonymizing overlay network (development version)"
+arch=('i686' 'x86_64' 'armv6h' 'armv7h')
+url="http://www.torproject.org"
+license=('BSD')
+depends=('openssl>=1.0.2.a' 'ca-certificates' 'libevent' 'libseccomp')
+makedepends=('asciidoc')
+optdepends=('torsocks: for torify support')
+conflicts=('tor')
+provides=('tor')
+install='tor.install'
+backup=('etc/tor/torrc')
+
+source=("git+https://git.torproject.org/tor.git#branch=${_branch}"
+ 'torrc'
+ 'tor.service' 'tor.tmpfiles' 'tor.sysusers' 'routelen6.patch')
+
+sha256sums=('SKIP'
+ 'e49f03ed46ce9cc4c4c53449c1cf7946bd363e9de98c73fe4618abc3b86950e9'
+ '5acd97eed1e4e175d5d547704a7d125009de6dc51d3c7163b7311e82fd34e9a2'
+ '37ff22a2e6f3dab412f08b46b86dede063538f6a32039d58a90d1212f188b379'
+ '4a27a177889c044ff4e3e1f6ab8bbb32211466d53d884974240dab67592343b2'
+ '0d7c27b8e1ab1fe24c28c031b4426306bb74d0d1d45a7138f5d147df65e36af9')
+
+pkgver () {
+ cd "$srcdir/tor"
+ echo "$(grep AC_INIT configure.ac \
+ | sed 's/.*\[\(.*\)\].*/\1/;s/-/./g;s/.dev//').$(git rev-list --count origin/$_branch)"
+}
+
+prepare() {
+ cd "$srcdir/tor"
+ ./autogen.sh
+ patch -p1 -i "$srcdir/routelen6.patch"
+}
+
+build() {
+ cd "$srcdir/tor"
+
+ ## For performance testing - https://trac.torproject.org/projects/tor/ticket/11332
+ #pacman -S community/perf
+ #torrc: DisableDebuggerAttachment 0
+ #export CFLAGS='-Wall -g -O2 -pipe -fno-omit-frame-pointer'
+ #options=(!strip)
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ #--with-tcmalloc
+ #--enable-openbsd-malloc
+ #--with-dmalloc
+ make
+}
+
+check() {
+ cd "$srcdir/tor"
+ make test || true
+}
+
+package() {
+ cd "$srcdir/tor"
+ make DESTDIR="$pkgdir" install
+
+ rm -f "$pkgdir/etc/tor/tor-tsocks.conf"
+ install -Dm640 "$srcdir/torrc" "$pkgdir/etc/tor/torrc"
+
+ install -Dm644 "$srcdir/tor.service" "$pkgdir/usr/lib/systemd/system/tor.service"
+ install -Dm644 "$srcdir/tor.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/tor.conf"
+ install -Dm644 "$srcdir/tor.sysusers" "$pkgdir/usr/lib/sysusers.d/tor.conf"
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/tor/LICENSE"
+}
diff --git a/routelen6.patch b/routelen6.patch
new file mode 100644
index 000000000000..bce26a8e54d3
--- /dev/null
+++ b/routelen6.patch
@@ -0,0 +1,20 @@
+---
+ src/or/or.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/or/or.h b/src/or/or.h
+index 945934e..e0f1c5f 100644
+--- a/src/or/or.h
++++ b/src/or/or.h
+@@ -4472,7 +4472,7 @@ struct socks_request_t {
+ /********************************* circuitbuild.c **********************/
+
+ /** How many hops does a general-purpose circuit have by default? */
+-#define DEFAULT_ROUTE_LEN 3
++#define DEFAULT_ROUTE_LEN 6
+
+ /* Circuit Build Timeout "public" structures. */
+
+--
+2.6.4
+
diff --git a/tor.install b/tor.install
new file mode 100644
index 000000000000..0ce0da0fe262
--- /dev/null
+++ b/tor.install
@@ -0,0 +1,18 @@
+post_install() {
+ echo "==> "
+ 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 "==> "
+ post_upgrade
+}
+
+post_upgrade() {
+ systemd-sysusers tor.conf
+ systemd-tmpfiles --create tor.conf
+ chown -R tor:tor /etc/tor
+ chmod -R 750 /etc/tor
+}
+
+pre_remove() {
+ echo
+}
diff --git a/tor.service b/tor.service
new file mode 100644
index 000000000000..b83b3da56400
--- /dev/null
+++ b/tor.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Anonymizing overlay network
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/tor -f /etc/tor/torrc
+KillSignal=SIGINT
+LimitNOFILE=8196
+
+[Install]
+WantedBy=multi-user.target
diff --git a/tor.sysusers b/tor.sysusers
new file mode 100644
index 000000000000..96fd73d360d0
--- /dev/null
+++ b/tor.sysusers
@@ -0,0 +1 @@
+u tor - "TOR Network Daemon" /var/lib/tor
diff --git a/tor.tmpfiles b/tor.tmpfiles
new file mode 100644
index 000000000000..c32b05495b36
--- /dev/null
+++ b/tor.tmpfiles
@@ -0,0 +1,4 @@
+# systemd tmpfile settings for tor
+# See tmpfiles.d(5) for details
+
+d /var/lib/tor 0700 tor tor -
diff --git a/torrc b/torrc
new file mode 100644
index 000000000000..2197fe623221
--- /dev/null
+++ b/torrc
@@ -0,0 +1,229 @@
+## CONFIGURED FOR ARCHLINUX
+
+## Last updated 9 October 2013 for Tor 0.2.5.2-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
+
+
+## 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 127.0.0.1:9050 # Default: Bind to localhost:9050 for local connections.
+#SocksPort 192.168.0.1:9100 # Bind to this address:port too.
+
+## If non-zero, open this port to listen for UDP DNS requests, and resolve
+## them anonymously. This port only handles A, AAAA, and PTR requests
+## it doesn’t handle arbitrary DNS request types.
+#DNSPort 127.0.0.1:9053
+
+## 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 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 *
+
+## 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.
+##
+## 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 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. This is ignored on Windows;
+## see the FAQ entry if you want Tor to run as an NT service.
+RunAsDaemon 1
+User tor
+
+## 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.
+#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 ###
+
+## 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
+
+#HiddenServiceDir /var/lib/tor/other_hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+#HiddenServicePort 22 127.0.0.1:22
+
+################ This section is just for relays #####################
+#
+## See https://www.torproject.org/docs/tor-doc-relay for details.
+
+## 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 address or full DNS name for incoming connections to your
+## relay. Leave commented out and Tor will guess.
+#Address noname.example.com
+
+## 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 0xFFFFFFFF Random Person <nobody AT example dot com>
+
+## 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 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_
+## 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
+## described in the man page or at
+## https://www.torproject.org/documentation.html
+##
+## 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 *:* # 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
+
+## This is useful when running on flash memory or other media that support only
+## a limited number of writes.
+#AvoidDiskWrites 1
+
+## BAD NODES - http://xqz3u5drneuzhaeo.onion/users/badtornodes
+## The following list provides information about relays that have been checked
+## for injecting content over HTTP-connections.
+ExcludeNodes $bbefffa108ad16b8e5f0323cf086811c17190bba, $2d5e2ca4b22809379b36028da5b7cb453671e5b6, \
+ $5eb6c2094c4ac42d3fbd1cba25fc3b4196e2ff83, $c813d142c092ac01f2f20970dba7086b8a7e52a3, \
+ $9c8bb2a38d99283c4acefb1ad4f52a23413787d6, $7c18ee0cb68a259ba6ce0001f2f7b8180a875a6d, \
+ $47bbde163dc80f5f5e666698ab4b97900dcff929, $acbacb92581c078cc6e285075cfef467e9ccf76a, \
+ $5d84518804ab4b032531b2647603fe1c5e569c26, $2d9a667f3d44f2a3296800bdd310c3747dc8f465, \
+ $1824cc33499fd55920a804c66bbaa05669d43117, $4205c064e59aaafeadd2ace80d705183c4f2758a, \
+ $14f04a0861b913bfcac1eabac74a1f47bdf41f3a, $1f9803d6ade967718912622ac876feef1088cfaa, \
+ $90804a60f89789d44a16a88596598fbc8f5e177b, $0d4f72f90e50b6f5967c4c7267354b22fa48ea86, \
+ $eda829cba890bbb30fe5be04779d83044126ba67, $c0e236c6e9a6b29efe247dcbc8a1eaaac247770c, \
+ $192fa9d6e9a27024f6e733a6196d33cc8425d1c9, $fe0551589d19dcbeb193fe78a9a003a8a2fc09aa, \
+ $2539ea281de61d5b289f580af52dde9a42cdae36, $6c7c819f808ac125c69e1d981f350dcba44da8b5, \
+ $35bdc6486420efd442c985d8d3c074988bfe544b, $43be706e24143ab6b3b86dbf7cd4fde1e0c4caf1, \
+ $103827708bd078eec737137585eccb5bcea6424b, $8ff73b8fbfbf2ccb52a8e46a515418f97a69c812, \
+ $94cbe5df362142d06de73b102e054442cfe627c9, $f2244a8d5da14359cda1dab70f328e62e74e9837, \
+ $14be6d0789a234bc4c1866b809d8062d22ee38cf, $9e6ee731a0dec6c65bb4bfb8dd2be461b6e58144, \
+ $2cb53ff756483b738e7b0b39ada3453b5259a1f3, $0077b6576a668f861f9f41fdf8da7795c8bb86d5, \
+ $c9be2c39ca4e6f120293c80d2cbe2bc34f3a1f30, $bcc93397b50c1ac75c94452954a5bcda01f47215, \
+ $ee25656d71db9a82c8efd8c4a99ddbec89f24a67, $1caa0aff0a8236fa7f83f392c11b76cf7eeaac60, \
+ $28151be14cb5c22a236163c3e97409d6fd607356, $1b777f2c879c76fc529d1ec63508aad0e1759e79, \
+ $53c4c4e1741ca61ad4f09cc9eae8abe1fd92f08b
+
+## If StrictNodes is set to 1, Tor will treat the ExcludeNodes option as a
+## requirement to follow for all the circuits you generate, even if doing so
+## will break functionality for you.
+#StrictNodes 1