diff --git a/PastePipe.cabal b/PastePipe.cabal
--- a/PastePipe.cabal
+++ b/PastePipe.cabal
@@ -1,5 +1,5 @@
 name:                PastePipe
-version:             1.7
+version:             1.8
 synopsis:            CLI for pasting to lpaste.net
 description:         PastePipe reads from standard in and posts to <lpaste.net>.
                      It will auto-detect your username, but that can be
@@ -12,17 +12,20 @@
 bug-reports:         http://github.com/Fuuzetsu/pastepipe/issues
 author:              Rogan Creswick
 maintainer:          fuuzetsu@fuuzetsu.co.uk
-Cabal-Version:       >=1.4
+Cabal-Version:       >=1.8
 build-type:          Simple
 
 
 Executable pastepipe
-  hs-source-dirs:    src
-  Main-is:           Main.hs
-  Build-Depends:     base >= 4 && < 5, HTTP, network, cmdargs, network-uri
+  Main-is:           src/Main.hs
+  Build-Depends:     base >= 4 && < 5, cmdargs, PastePipe
   ghc-options:       -Wall
 
 library
   hs-source-dirs:    src
   exposed-modules:   Utils.PastePipe
   Build-Depends:     base >= 4 && < 5, HTTP, network, cmdargs, network-uri
+
+source-repository head
+  type:     git
+  location: https://github.com/Fuuzetsu/PastePipe.git
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -1,7 +1,7 @@
 -- |
 -- Module      :  Main
 -- Copyright   :  (c) Ragon Creswick, 2009-2012
---                    Mateusz Kowalczyk, 2014
+--                    Mateusz Kowalczyk, 2014-2015
 -- License     :  GPL-3
 --
 -- Entry point for the executable, using "Utils.PastePipe".
diff --git a/src/Utils/PastePipe.hs b/src/Utils/PastePipe.hs
--- a/src/Utils/PastePipe.hs
+++ b/src/Utils/PastePipe.hs
@@ -2,7 +2,7 @@
 -- |
 -- Module      :  Utils.PastePipe
 -- Copyright   :  (c) Ragon Creswick, 2009-2012
---                    Mateusz Kowalczyk, 2014
+--                    Mateusz Kowalczyk, 2014-2015
 -- License     :  GPL-3
 --
 -- Configuration and communication with lpaste.net
@@ -22,37 +22,43 @@
                      , channel :: String
                      , title :: String
                      , uri :: String
-                     , test :: Bool }
+                     , private :: Bool
+                     , test :: Bool
+                     }
               deriving (Show, Data, Typeable)
 
+-- | Default config builder
 config :: String -> Config
-config realUser = Config { userName = realUser
-                                &= help "Your user name"
-                                &= typ "USER"
-                                &= explicit
-                                &= name "user"
-                         , language = "haskell"
-                                &= help "The language used for syntax highlighting"
-                                &= typ "LANGUAGE"
-                         , channel = ""
-                                &= help "#channel to post your snippet. The lpaste bot will not post the message if you do not set --title=TITLE and --user=<YOUR NICK>"
-                                &= typ "#channel-name"
-                                &= name "channel"
-                                &= name "c"
-                         , title = ""
-                                &= help "The title of the snippet"
-                                &= typ "TITLE"
-                                &= explicit
-                                &= name "title"
-                                &= name "t"
-                         , uri = defaultUri
-                                &= help "The URI of the lpaste instance to post to"
-                                &= typ "URL"
-                         , test = False
-                                &= help "Prevents PastePipe from actually posting content, just echos the configuration and input"
-                         }
-                         &= summary "PastePipe v1.3, (C) Rogan Creswick 2009"
-                         &= program "pastepipe"
+config realUser = Config
+ { userName = realUser
+              &= help "Your user name"
+              &= typ "USER"
+              &= explicit
+              &= name "user"
+ , language = "haskell"
+              &= help "The language used for syntax highlighting"
+              &= typ "LANGUAGE"
+ , channel = ""
+              &= help "#channel to post your snippet. The lpaste bot will not post the message if you do not set --title=TITLE and --user=<YOUR NICK>"
+              &= typ "#channel-name"
+              &= name "channel"
+              &= name "c"
+ , title = ""
+              &= help "The title of the snippet"
+              &= typ "TITLE"
+              &= explicit
+              &= name "title"
+              &= name "t"
+ , uri = defaultUri
+              &= help "The URI of the lpaste instance to post to"
+              &= typ "URL"
+ , private = False
+              &= help "Make this a private snippet, off by default"
+ , test = False
+              &= help "Prevents PastePipe from actually posting content, just echos the configuration and input"
+ }
+ &= summary "PastePipe v1.8, (C) Rogan Creswick 2009-2012, (C) Mateusz Kowalczyk 2014-2015"
+ &= program "pastepipe"
 
 -- | Takes a string to post to the default and returns the URI.
 -- Client code is expected to catch any exceptions.
@@ -87,6 +93,11 @@
                   request $ buildRequest conf str
   return url
 
+-- | Make a pair suitable for encoding out of 'private' setting.
+mkPrivatePair :: Config -> (String, String)
+mkPrivatePair conf | private conf = ("private", "Private")
+                   | otherwise = ("public", "Public")
+
 -- | Creates the request to post a chunk of content.
 buildRequest :: Config -> String -> Request String
 buildRequest conf str = formToRequest $ Form POST (saveUri $ uri conf)
@@ -95,9 +106,12 @@
                              , ("paste", str)
                              , ("language", language conf)
                              , ("channel", channel conf)
+                             , mkPrivatePair conf
                              , ("email", "")
                              ]
 
+-- | Just print out the fields and the 'URI' that we would have used
+-- if we ran with the given 'Config'.
 fakePost ::  Config -> String -> IO URI
 fakePost conf str = do
   putStrLn $ "uri: "++uri conf
@@ -106,4 +120,5 @@
   putStrLn $ "chan: "++channel conf
   putStrLn $ "title: "++title conf
   putStrLn $ "content: "++str
+  putStrLn $ (\(p, p') -> p ++ ":" ++ p') (mkPrivatePair conf)
   return $ fromJust $ parseURI $ uri conf
