Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

comaps

README for CoMaps

CoMaps is a mobile app for Android, available in F-Droid app store, that lets you view and navigate maps.

I store some CoMaps maps in my http mirror so I do not need to depend on the public CDN.

Operations

Download the latest maps

To determine which URLs are needed, configure the app to use the local mirror, and try ot download maps. View the 404 errors on server3.

# grep -E 'mirror\/comaps' /var/log/httpd/access_log | grep 404

Then adjust the urls and visit them at the official url, seen below. A minimal script is below.

td=/mnt/mirror/comaps/maps/260207
mkdir -p "${td}" ; cd "${td}"
wget --continue https://cdn-fi-1.comaps.app/maps/260207/<region_territory>.mwm \
    https://cdn-fi-1.comaps.app/maps/260207/<region_territory>.mwm \
    https://cdn-fi-1.comaps.app/maps/260207/World.mwm
    https://cdn-fi-1.comaps.app/maps/260207/WorldCoasts.mwm

It appears that the date component is derived by the latest release of the app in F-Droid:

New in version 2026.02.09-4-FDroid • OpenStreetMap data as of February 7

But that might change based on a comment

Ye, when i did a build i just set the metaserver to "" and just put my proxy as the default cdn server, sine the logic for multiple servers is not needed

Also, the very first thing that users will run into with this feature is that /YYMMDD/{country names}.mwm is hardcoded into each app's compilation via countries.txt

If the user just hosts the same files or just proxy's from upstream that will not be a problem, but in future might be more complicated if the app and map-version become separate, #110 , comaps/meta-php#26

On the World download view imo the advanced.. should be more sutle of a setting since most users wont need it and if you are a advanced user you know you have to press the little menu in the top right for example

Configure app to use my local mirror.

Adjust the settings in the app to use http://server3.ipa.internal.com/mirror/comaps/.

Restore configuration of app to use default server.

Delete the setting in the app, or use https://cdn-fi-1.comaps.app/maps/

Export my data from CoMaps android app

This also works for OrganicMaps. On the main interface when looking at the map, select the Star icon for opening the Favorites. Select menu entry "Export all Places and Tracks."

Alternatives

CoMaps forked from OrganicMaps, which is still a fine alternative.

References

  1. Custom map server / CDN url option · Issue #4232 · organicmaps/organicmaps
  2. #41 - Make maps download url configurable - comaps/comaps - Codeberg.org
  3. #2565 - [android] Make map download server configurable - comaps/comaps - Codeberg.org
  4. comaps/private.h at main - comaps/comaps - Codeberg.org
    #define DEFAULT_URLS_JSON R"([ "https://cdn-us-2.comaps.tech/", "https://comaps.firewall-gateway.de/", "https://cdn-fi-1.comaps.app/", "https://comaps-cdn.s3-website.cloud.ru/", "https://mapgen-fi-1.comaps.app/" ])"
    

Comments