diff -up surf-upstream/config.def.h surf/config.def.h
--- surf-upstream/config.def.h	2013-02-10 20:40:14.000000000 +0200
+++ surf/config.def.h	2013-08-06 21:04:17.150798111 +0300
@@ -16,6 +16,9 @@ static char *cafile         = "/etc/ssl/
 static char *strictssl      = FALSE; /* Refuse untrusted SSL connections */
 static int   indicator_thickness = 2;
 
+static char *searchengine	= "http://www.google.com/search?q=%s";
+static char *homepage		= "http://www.google.com/";
+
 /* Webkit default features */
 static Bool enablespatialbrowsing = TRUE;
 static Bool enableplugins = TRUE;
Only in surf/: config.h
diff -up surf-upstream/surf.c surf/surf.c
--- surf-upstream/surf.c	2013-02-10 20:40:14.000000000 +0200
+++ surf/surf.c	2013-08-07 00:53:13.778066638 +0300
@@ -626,9 +626,12 @@ loaduri(Client *c, const Arg *arg) {
 		rp = realpath(uri, NULL);
 		u = g_strdup_printf("file://%s", rp);
 		free(rp);
-	} else {
+	} else if ((g_strrstr(uri, ".") && !g_strrstr(uri, " ")) ||
+			uri[strlen(uri)-1] == '/' || g_strcmp0(uri, "localhost") >= 0) {
 		u = g_strrstr(uri, "://") ? g_strdup(uri)
 			: g_strdup_printf("http://%s", uri);
+	} else {
+		u = g_strdup_printf(searchengine, uri);
 	}
 
 	/* prevents endless loop */
@@ -1220,6 +1223,8 @@ main(int argc, char *argv[]) {
 	} ARGEND;
 	if(argc > 0)
 		arg.v = argv[0];
+	else
+		arg.v = homepage;
 
 	setup();
 	newclient();
