diff --git a/pkgs/tools/networking/redir/default.nix b/pkgs/tools/networking/redir/default.nix
new file mode 100644
index 00000000000..1fcb73e00dc
--- /dev/null
+++ b/pkgs/tools/networking/redir/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "redir-2.2.1";
+
+  src = fetchurl {
+    url = "http://sammy.net/~sammy/hacks/${name}.tar.gz";
+    sha256 = "0v0f14br00rrmd1ss644adsby4gm29sn7a2ccy7l93ik6pw099by";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp redir $out/bin
+  '';
+
+  meta = {
+    description = "A port redirector";
+    homepage = http://sammy.net/~sammy/hacks/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ globin ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8a4a6543a82..c8ab4c78159 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2872,6 +2872,8 @@ let
 
   read-edid = callPackage ../os-specific/linux/read-edid { };
 
+  redir = callPackage ../tools/networking/redir { };
+
   redmine = callPackage ../applications/version-management/redmine { };
 
   rtmpdump = callPackage ../tools/video/rtmpdump { };