diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 444ef8ead2b1533f27b110804625b941ca7eb44c..af8afed91f411709a62e5abf2d8c96c2d6c61c40 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -34,9 +34,10 @@ cache:
   script:
     - eatmydata gem install bundler --no-ri --no-rdoc
     - eatmydata bundle install --jobs $(nproc) --path vendor
-    - rm /dev/random && ln -s /dev/urandom /dev/random
+    - utils/ci/entropy.sh &
     - SCHLEUDER_ENV=test SCHLEUDER_CONFIG=spec/schleuder.yml eatmydata bundle exec rake db:init
     - eatmydata bundle exec rspec
+    - pkill -f entropy.sh
 
 codespell:
   image: debian:unstable
diff --git a/utils/ci/entropy.sh b/utils/ci/entropy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..43ce61804a0cae2fe6d9eac7c155eaf22ebdaf61
--- /dev/null
+++ b/utils/ci/entropy.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+# For testing purposes only 
+# DO NOT USE THIS, THIS DOES NOT PROVIDE ENTROPY TO /dev/random, JUST BYTES
+
+import fcntl
+import time
+import struct
+
+RNDADDENTROPY=0x40085203
+
+while True:
+    random = "3420348024823049823-984230942049832423l4j2l42j"
+    t = struct.pack("ii32s", 8, 32, random)
+    with open("/dev/random", mode='wb') as fp:
+        # as fp has a method fileno(), you can pass it to ioctl
+        res = fcntl.ioctl(fp, RNDADDENTROPY, t)
+    time.sleep(0.001)