diff --git a/plugins/ddg.py b/plugins/ddg.py
new file mode 100644
index 0000000000000000000000000000000000000000..acdf5500be65e79ebc2dacc0f9d6135855c87f49
--- /dev/null
+++ b/plugins/ddg.py
@@ -0,0 +1,32 @@
+# dns module
+# --gry
+
+import urllib
+import socket
+import json
+
+@plugin
+class ddg(object):
+    def __init__(self, server):
+        self.server = server
+        self.commands = ["ddg"]
+        self.server.handle("command", self.handle_command, self.commands)
+    
+    def handle_command(self, channel, user, cmd, args):
+        if cmd == "ddg":
+            if len(args) < 1:
+                self.server.doMessage(channel, user+": DuckDuckGo.com Zero-Click infoboxes search. Syntax: ddg <query>.")
+                return
+            try:
+                request = "+".join(args)
+                sock = urllib.urlopen("http://api.duckduckgo.com/?q=%s&o=json"%request)
+                data = sock.read()
+                sock.close()
+                if json.loads(data)["AbstractText"] != "":
+                    self.server.doMessage(channel, user+": "+"%s %s)"%(json.loads(data)["AbstractURL"].encode('utf-8'),json.loads(data)["AbstractText"].encode('utf-8')[0:200]))
+                elif json.loads(data)["Definition"] != "":
+                    self.server.doMessage(channel, user+": "+"%s %s"%(json.loads(data)["DefinitionURL"].encode('utf-8'),json.loads(data)["Definition"].encode('utf-8')))
+            except Exception, e:
+                self.server.doMessage(channel, user+": "+str(e))
+
+