Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 3379)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 3380)
@@ -752,5 +752,5 @@
      * The default plugin site
      */
-    private final static String[] DEFAULT_PLUGIN_SITE = {"http://josm.openstreetmap.de/plugin"};
+    private final static String[] DEFAULT_PLUGIN_SITE = {"http://josm.openstreetmap.de/plugin%<?plugins=>"};
 
     /**
Index: trunk/src/org/openstreetmap/josm/plugins/ReadRemotePluginInformationTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/ReadRemotePluginInformationTask.java	(revision 3379)
+++ trunk/src/org/openstreetmap/josm/plugins/ReadRemotePluginInformationTask.java	(revision 3380)
@@ -104,4 +104,5 @@
         String name;
         try {
+            site = site.replaceAll("%<(.*)>", "");
             URL url = new URL(site);
             StringBuilder sb = new StringBuilder();
@@ -146,6 +147,14 @@
         StringBuilder sb = new StringBuilder();
         try {
+            /* replace %<x> with empty string or x=plugins (separated with comma) */
+            String pl = Main.pref.getCollectionAsString("plugins");
+            String printsite = site.replaceAll("%<(.*)>", "");
+            if(pl != null && pl.length() != 0)
+                site = site.replaceAll("%<(.*)>", "$1"+pl);
+            else
+                site = printsite;
+
             monitor.beginTask("");
-            monitor.indeterminateSubTask(tr("Downloading plugin list from ''{0}''", site));
+            monitor.indeterminateSubTask(tr("Downloading plugin list from ''{0}''", printsite));
 
             URL url = new URL(site);
@@ -196,6 +205,7 @@
         InputStream in = null;
         OutputStream out = null;
-        System.err.println("icons site: "+site);
-        try {
+        try {
+            site = site.replaceAll("%<(.*)>", "");
+
             monitor.beginTask("");
             monitor.indeterminateSubTask(tr("Downloading plugin list from ''{0}''", site));
@@ -337,5 +347,6 @@
 
         for (String site: sites) {
-            getProgressMonitor().subTask(tr("Processing plugin list from site ''{0}''", site));
+            String printsite = site.replaceAll("%<(.*)>", "");
+            getProgressMonitor().subTask(tr("Processing plugin list from site ''{0}''", printsite));
             String list = downloadPluginList(site, getProgressMonitor().createSubTaskMonitor(0, false));
             if (canceled) return;
