diff --git a/files/hina/.404.html b/files/hina/.404.html
new file mode 100644
index 0000000000000000000000000000000000000000..c06745d70fa6bdfed308ccb19c4dfd3d9d789d95
--- /dev/null
+++ b/files/hina/.404.html
@@ -0,0 +1,12 @@
+<html>
+<title>404 - page not found</title>
+<body>
+	<div style="text-align:center;">
+		<h1>404 - page not found</h1>
+		<img src="/.404.png" alt="Hina Nitta sign saying Give page, please! 404" />
+		<hr>
+		<div>This server can also be reached on the Tor network at</div>
+		<div><a href="http://lysator7eknrfl47rlyxvgeamrv7ucefgrrlhk7rouv3sna25asetwid.onion/">lysator7eknrfl47rlyxvgeamrv7ucefgrrlhk7rouv3sna25asetwid.onion</a></div>
+	</div>
+</body>
+</html>
diff --git a/files/hina/.404.png b/files/hina/.404.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa6a6d520460de54145b57b5bddc31dcf0b31d1b
Binary files /dev/null and b/files/hina/.404.png differ
diff --git a/manifests/hina.pp b/manifests/hina.pp
index 99735e4152f76fa09e599223dc925e11390f629b..70630ddc9bed2cadf09fa22d0b22f73bccbc5767 100644
--- a/manifests/hina.pp
+++ b/manifests/hina.pp
@@ -125,6 +125,22 @@ class ftp::hina {
     group  => 'wheel',
     mode   => '0644',
   }
+
+  file { '/var/ftp/.404.html':
+    ensure => file,
+    source => 'puppet:///modules/ftp/hina/.404.html',
+    owner  => 'root',
+    group  => 'wheel',
+    mode   => '0644',
+  }
+
+  file { '/var/ftp/.404.png':
+    ensure => file,
+    source => 'puppet:///modules/ftp/hina/.404.png',
+    owner  => 'root',
+    group  => 'wheel',
+    mode   => '0644',
+  }
 }
 
 define ftp::hina::vsftpd($ftp_listen) {