2014-03-31 03:37:54 +00:00
|
|
|
module Propellor.Property.Tor where
|
2014-03-30 04:38:16 +00:00
|
|
|
|
2014-03-31 03:55:59 +00:00
|
|
|
import Propellor
|
2014-03-31 03:37:54 +00:00
|
|
|
import qualified Propellor.Property.File as File
|
|
|
|
import qualified Propellor.Property.Apt as Apt
|
2014-09-23 17:19:26 +00:00
|
|
|
import qualified Propellor.Property.Service as Service
|
2014-03-30 04:38:16 +00:00
|
|
|
|
|
|
|
isBridge :: Property
|
2014-03-30 04:52:02 +00:00
|
|
|
isBridge = setup `requires` Apt.installed ["tor"]
|
2014-03-30 19:53:35 +00:00
|
|
|
`describe` "tor bridge"
|
2014-03-30 04:52:02 +00:00
|
|
|
where
|
2014-03-30 17:12:33 +00:00
|
|
|
setup = "/etc/tor/torrc" `File.hasContent`
|
2014-03-30 04:52:02 +00:00
|
|
|
[ "SocksPort 0"
|
|
|
|
, "ORPort 443"
|
|
|
|
, "BridgeRelay 1"
|
|
|
|
, "Exitpolicy reject *:*"
|
2014-09-23 17:19:26 +00:00
|
|
|
] `onChange` restarted
|
2014-03-30 04:38:16 +00:00
|
|
|
|
2014-09-23 17:19:26 +00:00
|
|
|
restarted :: Property
|
|
|
|
restarted = Service.restarted "tor"
|