Index: /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/BoundingBoxDownloader2.java
===================================================================
--- /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/BoundingBoxDownloader2.java	(revision 27678)
+++ /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/BoundingBoxDownloader2.java	(revision 27679)
@@ -26,5 +26,5 @@
         try {
             OsmApi.getOsmApi().initialize(progressMonitor);
-            urlStr = "http://overpass-api.de/api/xapi?" + urlStr;
+            urlStr = MirroredDownloadPlugin.getDownloadUrl() + urlStr;
             return getInputStreamRaw(urlStr, progressMonitor);
         } finally {
Index: /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/MirroredDownloadPlugin.java
===================================================================
--- /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/MirroredDownloadPlugin.java	(revision 27678)
+++ /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/MirroredDownloadPlugin.java	(revision 27679)
@@ -42,4 +42,5 @@
     jMenu.addSeparator();
     jMenu.add(new JMenuItem(new DownloadAction2()));
+    jMenu.add(new JMenuItem(new UrlSelectionAction()));
     setEnabledAll(true);
   }
@@ -53,3 +54,12 @@
     }
   }
+
+  private static String downloadUrl = "http://overpass.osm.rambler.ru/cgi/xapi?";//"http://overpass-api.de/api/xapi?";
+
+  public static String getDownloadUrl() {
+    return downloadUrl;
+  }
+  public static void setDownloadUrl(String downloadUrl_) {
+    downloadUrl = downloadUrl_;
+  }
 }
Index: /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/UrlSelectionAction.java
===================================================================
--- /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/UrlSelectionAction.java	(revision 27679)
+++ /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/UrlSelectionAction.java	(revision 27679)
@@ -0,0 +1,35 @@
+// License: GPL. Copyright 2007 by Immanuel Scholz and others
+package mirrored_download;
+
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.util.concurrent.Future;
+
+import org.openstreetmap.josm.actions.JosmAction;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask;
+import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler;
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.gui.download.DownloadDialog;
+import org.openstreetmap.josm.tools.Shortcut;
+
+/**
+ * TODO: Write comment.
+ */
+public class UrlSelectionAction extends JosmAction {
+
+    public UrlSelectionAction() {
+        super(tr("Select URL..."), null, tr("Select URL to download from."),
+                Shortcut.registerShortcut("file:selecturl", tr("File: {0}", tr("Select URL...")), KeyEvent.VK_D, Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY), true);
+        putValue("help", ht("/Action/SelectUrl"));
+    }
+
+    public void actionPerformed(ActionEvent e) {
+        UrlSelectionDialog dialog = new UrlSelectionDialog(this);
+        dialog.setVisible(true);
+    }
+}
Index: /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/UrlSelectionDialog.java
===================================================================
--- /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/UrlSelectionDialog.java	(revision 27679)
+++ /applications/editors/josm/plugins/mirrored_download/src/mirrored_download/UrlSelectionDialog.java	(revision 27679)
@@ -0,0 +1,131 @@
+package mirrored_download;
+
+import static org.openstreetmap.josm.tools.I18n.marktr;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Container;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.IOException;
+import java.text.DecimalFormat;
+import java.text.Format;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Vector;
+import java.util.zip.GZIPInputStream;
+
+import javax.swing.DefaultCellEditor;
+import javax.swing.DefaultListModel;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTable;
+import javax.swing.JTextField;
+import javax.swing.KeyStroke;
+import javax.swing.ListSelectionModel;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.event.TableModelEvent;
+import javax.swing.event.TableModelListener;
+import javax.swing.table.DefaultTableModel;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.ChangeCommand;
+import org.openstreetmap.josm.command.DeleteCommand;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.gpx.GpxData;
+import org.openstreetmap.josm.data.gpx.GpxTrack;
+import org.openstreetmap.josm.data.gpx.GpxTrackSegment;
+import org.openstreetmap.josm.data.gpx.WayPoint;
+import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
+import org.openstreetmap.josm.io.GpxReader;
+
+import org.xml.sax.SAXException;
+
+public class UrlSelectionDialog
+{
+  private JDialog jDialog = null;
+  private JTabbedPane tabbedPane = null;
+  private JComboBox cbSelectUrl = null;
+
+  public UrlSelectionDialog(UrlSelectionAction controller) {
+
+    Frame frame = JOptionPane.getFrameForComponent(Main.parent);
+    jDialog = new JDialog(frame, tr("Create Stops from GPX"), false);
+    tabbedPane = new JTabbedPane();
+    JPanel tabSettings = new JPanel();
+    tabbedPane.addTab(tr("Settings"), tabSettings);
+    tabbedPane.setEnabledAt(0, true);
+    jDialog.add(tabbedPane);
+
+    //Settings Tab
+    JPanel contentPane = tabSettings;
+    GridBagLayout gridbag = new GridBagLayout();
+    GridBagConstraints layoutCons = new GridBagConstraints();
+    contentPane.setLayout(gridbag);
+
+    JLabel label = new JLabel(tr("Base URL"));
+
+    layoutCons.gridx = 0;
+    layoutCons.gridy = 0;
+    layoutCons.gridwidth = 2;
+    layoutCons.weightx = 0.0;
+    layoutCons.weighty = 0.0;
+    layoutCons.fill = GridBagConstraints.BOTH;
+    gridbag.setConstraints(label, layoutCons);
+    contentPane.add(label);
+
+    cbSelectUrl = new JComboBox();
+    cbSelectUrl.setEditable(false);
+
+    cbSelectUrl.addItem("http://overpass.osm.rambler.ru/cgi/xapi?");
+    cbSelectUrl.addItem("http://overpass-api.de/api/xapi?");
+
+    cbSelectUrl.setActionCommand("selectURL");
+    cbSelectUrl.addActionListener(new UrlChangedAction());
+
+    layoutCons.gridx = 0;
+    layoutCons.gridy = 1;
+    layoutCons.gridwidth = 1;
+    layoutCons.weightx = 0.0;
+    layoutCons.weighty = 0.0;
+    layoutCons.fill = GridBagConstraints.BOTH;
+    gridbag.setConstraints(cbSelectUrl, layoutCons);
+    contentPane.add(cbSelectUrl);
+
+    jDialog.pack();
+    jDialog.setLocationRelativeTo(frame);
+  }
+
+  public class UrlChangedAction implements ActionListener {
+
+    public void actionPerformed(ActionEvent e) {
+      MirroredDownloadPlugin.setDownloadUrl(cbSelectUrl.getSelectedItem().toString());
+    }
+
+  }
+
+  public void setVisible(boolean visible) {
+    jDialog.setVisible(visible);
+  }
+}
