Mirror XYZ Raster Tiles locally, rebuild the server arborescence and estimate total mirror coverage
The goal of Speculum is to provide kind of disk backed Tiles & WMS cache that work transparently like a proxy on your data provider. The cache is populated incrementally depending client requests and are served from disk in priority.
This enable you to partially mirror data from your provider, and reduce requests on it, acting like a local proxy.
lein uberjar
docker build -t speculum .
To enable authentification, specify the key in the :component/config
component as follow
on your component definition:
:component/config
{:realm? true
:realm-username "root"
:realm-password "toor"
...}
Then hash the couple as follow and use it as authentification header:
(def mk-base64
(comp codecs/bytes->str
base64/encode))
(comment
(let [header (str "Basic "(mk-base64 "root:toor"))]
(->> (h/get "http://localhost:8090/ping"
{:headers {:authorization header}})
:body)))
- Basic authentification support
- Parametrized connection pool usage
- Removed hash support for the moment, improve request responses performances significantly
- Removed lag preview in ping routes, use total indexed tiles instead
- Filesystem tree is checked in priority over memory
- make preview route falcultative via component definition
- fix: webserver listen on all interfaces
- Component default values
- Granular configurations for
config
component
- WMS Mirroring Support
- Fix: Avoid return of warn tile on 404 - design choice
- Naive ressource hashing and XYZ raster tile mirroring support
- Basic preview screen with Leaflet to estimage missing parts
This project can be subjected to Copyright infringement. After using the application, be sure to don't violate creator’s exclusive rights to the work without permission.
Speculum is an experimental project, use at you own risk.
Copyright © 2022 iomonad iomonad@riseup.net
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.