diff --git a/Network/HTTP/Conduit/Downloader.hs b/Network/HTTP/Conduit/Downloader.hs
--- a/Network/HTTP/Conduit/Downloader.hs
+++ b/Network/HTTP/Conduit/Downloader.hs
@@ -69,6 +69,7 @@
     ) where
 
 import Control.Monad.Trans
+import qualified Data.Text as T
 import qualified Data.ByteString.Lazy.Char8 as BL
 import qualified Data.ByteString.Char8 as B
 import qualified Data.ByteString.Internal as B
@@ -90,7 +91,7 @@
 import Network.HTTP.Client.Internal (makeConnection, Connection)
 import qualified Control.Monad.Trans.Resource as C
 import qualified Data.Conduit as C
-import System.Timeout.Lifted
+import System.Timeout
 import Codec.Compression.Zlib.Raw as Deflate
 import Network.URI
 -- import ADNS.Cache
@@ -343,9 +344,9 @@
               (E.fromException e)
     Right rq -> do
         let dl req firstTime = do
-                r <- C.runResourceT (timeout (dsTimeout settings * 1000000) $ do
+                r <- (timeout (dsTimeout settings * 1000000) $ C.runResourceT $ do
                     r <- C.http req manager
-                    mbb <- C.responseBody r C.$$+-
+                    mbb <- C.sealConduitT (C.responseBody r) C.$$+-
                            sinkByteString (dsMaxDownloadSize settings)
 --                    liftIO $ print ("sink", mbb)
                     case mbb of
@@ -457,6 +458,7 @@
     C.InvalidProxyEnvironmentVariable n v ->
         DRError $ "Invalid proxy environment variable "
         ++ show n ++ "=" ++ show v
+    C.InvalidProxySettings s -> DRError $ "Invalid proxy settings:\n" ++ T.unpack s
     C.ConnectionClosed -> DRError "Connection closed"
     where ea expected actual =
               "(expected " ++ show expected ++ " bytes, actual is "
@@ -489,7 +491,7 @@
 
 -- | Sink data using 32k buffers to reduce memory fragmentation.
 -- Returns 'Nothing' if downloaded too much data.
-sinkByteString :: MonadIO m => Int -> C.Sink B.ByteString m (Maybe B.ByteString)
+sinkByteString :: MonadIO m => Int -> C.ConduitT B.ByteString C.Void m (Maybe B.ByteString)
 sinkByteString limit = do
     buf <- liftIO $ newBuf
     go 0 [] buf
diff --git a/http-conduit-downloader.cabal b/http-conduit-downloader.cabal
--- a/http-conduit-downloader.cabal
+++ b/http-conduit-downloader.cabal
@@ -1,6 +1,6 @@
 cabal-version:  >= 1.6
 name:           http-conduit-downloader
-version:        1.0.30
+version:        1.0.31
 author:         Vladimir Shabanov <vshabanoff@gmail.com>
 maintainer:     Vladimir Shabanov <vshabanoff@gmail.com>
 homepage:       https://github.com/bazqux/http-conduit-downloader
@@ -41,8 +41,8 @@
 
 library
     build-depends:
-        base == 4.*, http-conduit >= 2.2.0, http-client >= 0.5.0, connection, zlib, lifted-base,
-        conduit, resourcet, http-types, data-default, bytestring, mtl,
+        base == 4.*, http-conduit >= 2.3.2, http-client >= 0.5.0, connection, zlib,
+        conduit, resourcet, http-types, data-default, bytestring, text, mtl,
         time >= 1.5.0, HsOpenSSL >= 0.11.2, network-uri >= 2.6, network >= 2.6
 
     exposed-modules:
