diff --git a/manifest.dhall b/manifest.dhall
index f82727b741bee6037431c8ce0df8fc34049cc159..2235cb05720fbc1f586adc796c1f3d2142ba4f72 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -443,6 +443,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "singleton-bool" "0.1.6"
     , callHackage "singletons" "3.0.2"
     , callHackage "slugify" "0.1.0.1"
+    , callHackage "socks" "0.6.1"
     , callHackage "some" "1.0.4"
     , callHackage "sop-core" "0.5.0.1"
     , callHackage "souffle-haskell" "3.5.0"
diff --git a/overlay.nix b/overlay.nix
index 3015085c3b3e7533ec861fc43c94af4356ceb2a2..1102489012d7c3b91df6790c3bfc0136e2923c83 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -543,6 +543,8 @@ final: prev: with pkgs.haskell.lib; {
 
   slugify = prev.callPackage (./pkgs/slugify.nix) { };
 
+  socks = prev.callPackage (./pkgs/socks.nix) { };
+
   some = prev.callPackage (./pkgs/some.nix) { };
 
   sop-core = prev.callPackage (./pkgs/sop-core.nix) { };
diff --git a/pkgs/socks.nix b/pkgs/socks.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1e13b2673e949ca701f0fdb461e6c78655afe165
--- /dev/null
+++ b/pkgs/socks.nix
@@ -0,0 +1,27 @@
+{ mkDerivation, base, basement, bytestring, cereal, lib, network }:
+mkDerivation {
+  pname = "socks";
+  version = "0.6.1";
+  sha256 = "734447558bb061ce768f53a0df1f2401902c6bee396cc96ce627edd986ef6a73";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    basement
+    bytestring
+    cereal
+    network
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/vincenthz/hs-socks";
+  description = "Socks proxy (ver 5)";
+  license = lib.licenses.bsd3;
+  broken = false;
+}