diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandInfo.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandInfo.java
new file mode 100644
index 0000000000000000000000000000000000000000..977faa7434dd7b1b66e1b237fc328075fd700464
--- /dev/null
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/CommandInfo.java
@@ -0,0 +1,67 @@
+package de.deadlocker8.budgetmasterclient.ui.commandLine.commands;
+
+import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
+import de.deadlocker8.budgetmaster.logic.serverconnection.ServerInformation;
+import de.deadlocker8.budgetmaster.logic.updater.VersionInformation;
+import de.deadlocker8.budgetmaster.logic.utils.Strings;
+import de.deadlocker8.budgetmasterclient.ui.commandLine.CommandBundle;
+import tools.Localization;
+
+/**
+ * prints help for given command
+ */
+public class CommandInfo extends Command
+{
+	public CommandInfo()
+	{
+		super();	
+		super.keyword = "info";		
+		super.numberOfParams = 1;
+		super.helptText = "help.info";
+	}
+
+	@Override
+	public void execute(String[] command, CommandBundle bundle)
+	{		
+		if(!isValid(command))
+		{			
+			bundle.getController().print(bundle.getString("error.invalid.arguments"));
+			return;
+		}
+		
+		if(command[1].equals("client"))
+		{	
+			String text = Localization.getString(Strings.APP_NAME) 
+					+ " v" + Localization.getString(Strings.VERSION_NAME) 
+					+ " (" + Localization.getString(Strings.VERSION_CODE) 
+					+ ") from " + Localization.getString(Strings.VERSION_DATE);
+			bundle.getController().print(text);
+			return;
+		}
+		
+		if(command[1].equals("server"))
+		{			
+			try
+			{
+				ServerConnection connection = new ServerConnection(bundle.getSettings());
+				ServerInformation serverInfo = connection.getServerInfo();
+				VersionInformation versionInfo = serverInfo.getVersionInfo();
+				
+				String text = "BudgetMasterServer v" + versionInfo.getVersionName() + " (" + versionInfo.getVersionCode() + ") from " + versionInfo.getDate() + "\n"
+				+ "Listening on port " + serverInfo.getServerPort() + "\n"
+				+ "Connected with user \"" + serverInfo.getDatabaseUsername() + "\" to database \"" + serverInfo.getDatabaseName() + "@" + serverInfo.getDatabaseUrl() + "\"\n"
+				+ "Keystore location is: \"" + serverInfo.getKeystorePath() + "\"";			
+				
+				bundle.getController().print(text);
+			}
+			catch(Exception e)
+			{
+				bundle.getController().print(bundle.getString("delete.error.connection"));
+			}
+			
+			return;
+		}
+		
+		bundle.getController().print(bundle.getString("error.invalid.parameter", command[1], keyword));
+	}
+}
diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/PossibleCommands.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/PossibleCommands.java
index 907982b0500c6e3d60d9a1a2d6bcc78a4096e71a..9e8536214ad9139ac1b130945557fdf29f82b2ce 100644
--- a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/PossibleCommands.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/commandLine/commands/PossibleCommands.java
@@ -11,6 +11,7 @@ public class PossibleCommands
 				new CommandClear(),
 				new CommandShortcuts(),
 				new CommandOpen(),
-				new CommandDelete()
+				new CommandDelete(),
+				new CommandInfo()
 			));	
 }
\ No newline at end of file
diff --git a/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/commandLine/_en.properties b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/commandLine/_en.properties
index 314ada7b021bb41b0f8b4f5f8e41fd6645e42e08..bc2a8acd373c35ec0eb8b684e478e5434222c599 100644
--- a/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/commandLine/_en.properties
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/commandLine/_en.properties
@@ -16,6 +16,10 @@ help.open=open - opens files and folders\nSYNTAX: open [PARAMETER]\npossible par
 open.success=Successfully opened folder {0}
 
 # delete
-help.delete=delte - deletes files\nSYNTAX: delete [PARAMETER]\npossible parameters:\nlog-client\nlog-server
+help.delete=delete - deletes files\nSYNTAX: delete [PARAMETER]\npossible parameters:\nlog-client\nlog-server
 delete.success=Successfully deleted {0}
 delete.error.connection=An error occurred while establishing the server connection
+
+# info
+help.info=info - information about client and server \nSYNTAX: info [PARAMETER]\npossible parameters:\client\nserver
+info.error.connection=An error occurred while establishing the server connection
\ No newline at end of file
diff --git a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
index e04ab2d77f742a3a2fd0439b0ae051dc94104d89..cd04ca5d70863a407fd6ca139a189ea4eb86570d 100644
--- a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
@@ -561,8 +561,26 @@ public class ServerConnection
 	}
 	
 	/*
-	 * VERSION
+	 * INFORMATION
 	 */
+	public ServerInformation getServerInfo() throws Exception
+	{
+		URL url = new URL(settings.getUrl() + "/info?secret=" + Helpers.getURLEncodedString(settings.getSecret()));
+		HttpsURLConnection httpsCon = (HttpsURLConnection)url.openConnection();
+		httpsCon.setDoOutput(true);
+		httpsCon.setRequestMethod("GET");
+
+		if(httpsCon.getResponseCode() == HttpsURLConnection.HTTP_OK)
+		{
+			String result = Read.getStringFromInputStream(httpsCon.getInputStream());			
+			return gson.fromJson(result, ServerInformation.class);
+		}
+		else
+		{
+			throw new ServerConnectionException(String.valueOf(httpsCon.getResponseCode()));
+		}
+	}
+	
 	public VersionInformation getServerVersion() throws Exception
 	{
 		URL url = new URL(settings.getUrl() + "/version?secret=" + Helpers.getURLEncodedString(settings.getSecret()));
@@ -579,7 +597,7 @@ public class ServerConnection
 		{
 			throw new ServerConnectionException(String.valueOf(httpsCon.getResponseCode()));
 		}
-	}	
+	}
 	
 	public void deleteLog() throws Exception
 	{
diff --git a/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerInformation.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerInformation.java
new file mode 100644
index 0000000000000000000000000000000000000000..d4172b446694ea58eb4b269f57903837d87f17bc
--- /dev/null
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerInformation.java
@@ -0,0 +1,84 @@
+package de.deadlocker8.budgetmaster.logic.serverconnection;
+
+import de.deadlocker8.budgetmaster.logic.updater.VersionInformation;
+
+public class ServerInformation
+{
+	private String databaseUrl;
+	private String databaseName;
+	private String databaseUsername;
+	private int serverPort;
+	private String keystorePath;
+	private VersionInformation versionInfo;
+
+	public ServerInformation()
+	{
+
+	}
+
+	public String getDatabaseUrl()
+	{
+		return databaseUrl;
+	}
+
+	public void setDatabaseUrl(String databaseUrl)
+	{
+		this.databaseUrl = databaseUrl;
+	}
+
+	public String getDatabaseName()
+	{
+		return databaseName;
+	}
+
+	public void setDatabaseName(String databaseName)
+	{
+		this.databaseName = databaseName;
+	}
+
+	public String getDatabaseUsername()
+	{
+		return databaseUsername;
+	}
+
+	public void setDatabaseUsername(String databaseUsername)
+	{
+		this.databaseUsername = databaseUsername;
+	}
+
+	public int getServerPort()
+	{
+		return serverPort;
+	}
+
+	public void setServerPort(int serverPort)
+	{
+		this.serverPort = serverPort;
+	}
+
+	public String getKeystorePath()
+	{
+		return keystorePath;
+	}
+
+	public void setKeystorePath(String keystorePath)
+	{
+		this.keystorePath = keystorePath;
+	}
+
+	public VersionInformation getVersionInfo()
+	{
+		return versionInfo;
+	}
+
+	public void setVersionInfo(VersionInformation versionInfo)
+	{
+		this.versionInfo = versionInfo;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "ServerInfo [databaseUrl=" + databaseUrl + ", databaseName=" + databaseName + ", databaseUsername=" + databaseUsername + ", serverPort=" + serverPort + ", keystorePath=" + keystorePath + ", versionInfo=" + versionInfo + "]";
+	}
+}
\ No newline at end of file
diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/SparkServer.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/SparkServer.java
index 3272b8046a9a0ff83872e210074e65d980de064f..2e4d55abf7d2113c3ada2fe859f6d97ac484f2ae 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/SparkServer.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/SparkServer.java
@@ -33,6 +33,8 @@ import de.deadlocker8.budgetmasterserver.server.charts.MonthInOutSum;
 import de.deadlocker8.budgetmasterserver.server.database.DatabaseDelete;
 import de.deadlocker8.budgetmasterserver.server.database.DatabaseExport;
 import de.deadlocker8.budgetmasterserver.server.database.DatabaseImport;
+import de.deadlocker8.budgetmasterserver.server.info.InformationGet;
+import de.deadlocker8.budgetmasterserver.server.info.VersionGet;
 import de.deadlocker8.budgetmasterserver.server.log.LogDelete;
 import de.deadlocker8.budgetmasterserver.server.payment.normal.PaymentAdd;
 import de.deadlocker8.budgetmasterserver.server.payment.normal.PaymentDelete;
@@ -59,7 +61,6 @@ import de.deadlocker8.budgetmasterserver.server.tag.tag.TagGet;
 import de.deadlocker8.budgetmasterserver.server.tag.tag.TagGetAll;
 import de.deadlocker8.budgetmasterserver.server.tag.tag.TagGetByName;
 import de.deadlocker8.budgetmasterserver.server.updater.RepeatingPaymentUpdater;
-import de.deadlocker8.budgetmasterserver.server.version.VersionGet;
 import logger.Logger;
 import spark.Spark;
 import spark.route.RouteOverview;
@@ -167,6 +168,7 @@ public class SparkServer
 		post("/database", new DatabaseImport(handler, tagHandler, gson));
 		delete("/database", new DatabaseDelete(handler, settings));
 		
+		get("/info", new InformationGet(gson, versionInfo, settings));
 		get("/version", new VersionGet(gson, versionInfo));
 		delete("/log", new LogDelete());
 
diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/info/InformationGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/info/InformationGet.java
new file mode 100644
index 0000000000000000000000000000000000000000..199b19a2a283a7bce75bb9352d6af8d62489b679
--- /dev/null
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/info/InformationGet.java
@@ -0,0 +1,38 @@
+package de.deadlocker8.budgetmasterserver.server.info;
+
+import com.google.gson.Gson;
+
+import de.deadlocker8.budgetmaster.logic.serverconnection.ServerInformation;
+import de.deadlocker8.budgetmaster.logic.updater.VersionInformation;
+import de.deadlocker8.budgetmasterserver.logic.Settings;
+import spark.Request;
+import spark.Response;
+import spark.Route;
+
+public class InformationGet implements Route
+{	
+	private Gson gson;
+	private VersionInformation versionInfo;
+	private Settings settings;
+
+	public InformationGet(Gson gson, VersionInformation versionInfo, Settings settings)
+	{
+		this.gson = gson;
+		this.versionInfo = versionInfo;
+		this.settings = settings;
+	}
+
+	@Override
+	public Object handle(Request req, Response res) throws Exception
+	{
+		ServerInformation serverInfo = new ServerInformation();
+		serverInfo.setDatabaseUrl(settings.getDatabaseUrl());
+		serverInfo.setDatabaseName(settings.getDatabaseName());
+		serverInfo.setDatabaseUsername(settings.getDatabaseUsername());
+		serverInfo.setServerPort(settings.getServerPort());
+		serverInfo.setKeystorePath(settings.getKeystorePath());
+		serverInfo.setVersionInfo(versionInfo);		
+		
+		return gson.toJson(serverInfo);
+	}
+}
\ No newline at end of file
diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/info/VersionGet.java
similarity index 86%
rename from BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/info/VersionGet.java
index dfbb05e481e274b158baf6c4e5e0371ae4cd7313..eb77c8cbc3f574f2818093c2289864e174fa62bf 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/info/VersionGet.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.server.version;
+package de.deadlocker8.budgetmasterserver.server.info;
 
 import com.google.gson.Gson;
 
@@ -14,7 +14,7 @@ public class VersionGet implements Route
 
 	public VersionGet(Gson gson, VersionInformation versionInfo)
 	{
-		this.gson=gson;
+		this.gson = gson;
 		this.versionInfo = versionInfo;
 	}