{"id":15058893,"url":"https://github.com/marvinsiefke/pepper-osmproxy","last_synced_at":"2026-01-02T10:55:59.178Z","repository":{"id":238484798,"uuid":"796654635","full_name":"marvinsiefke/pepper-osmproxy","owner":"marvinsiefke","description":"A very lightweight OSM tile proxy with caching","archived":false,"fork":false,"pushed_at":"2024-06-03T14:34:38.000Z","size":605,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T11:47:34.742Z","etag":null,"topics":["openstreetmap","php","proxy","tileserver"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marvinsiefke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-06T11:26:23.000Z","updated_at":"2024-06-03T14:34:43.000Z","dependencies_parsed_at":"2024-06-03T16:46:13.490Z","dependency_job_id":"2f1b9028-8196-4f3e-bcc9-94eaf0d09719","html_url":"https://github.com/marvinsiefke/pepper-osmproxy","commit_stats":null,"previous_names":["marvinsiefke/osm-tile-proxy","marvinsiefke/pepper-osmproxy"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinsiefke%2Fpepper-osmproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinsiefke%2Fpepper-osmproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinsiefke%2Fpepper-osmproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marvinsiefke%2Fpepper-osmproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marvinsiefke","download_url":"https://codeload.github.com/marvinsiefke/pepper-osmproxy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243801609,"owners_count":20350106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openstreetmap","php","proxy","tileserver"],"created_at":"2024-09-24T22:32:27.355Z","updated_at":"2026-01-02T10:55:59.144Z","avatar_url":"https://github.com/marvinsiefke.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pepper-osmproxy\npepper-osmproxy is a smart and lightweight proxy with caching for OpenStreetMap tile servers.\n\n## Usage\nThis script runs even on shared hosting environments. It does not have any specific requirements other than needing a newer PHP version with curl. The rewrite rules in the .htaccess file adapt the typical URL schema for tile servers on this proxy: https://proxy.domain.com/{z}/{x}/{y}.png\n\n## Features\n- Privacy friendly handling (allows a GDPR-compliant usage of OpenStreetMap without an own tileserver)\n- Simple file caching\n- Anonymized IP and session based rate limiting\n- Access control with maxBounds, maxZoom and minZoom (equivalent to Leaflet)\n- Error logging (if PHP Error logs are enabled)\n- Asynchronous tile update via cronjob\n\n## Configuration\n\nAccording to the ToS of the openstreetmap.org tile server, it is strongly recommended to provide the email address of the administrator in the config.php. You can also define trusted hosts.\n\n### Options\n- **`$config['operator']` Required according to the ToS of the openstreetmap.org Tileserver:** The email address of the administrator.\n- `$config['trustedHosts']` An array of domains that are trusted as proxy hosts. The host can be optionally limitated with allowed `referers` (checks if it matches if the client/browser exposes a referer) or a specific area `maxBounds` (equivalent to Leaflet). Furthermore you can set `minZoom` and `maxZoom`. Default: empty (all hosts allowed, no limitations).\n- `$config['cron']` Allows running `cron.php` via cli that updates tiles from the queue in the background.\n- `$config['browserTtl']` The time to live of the tiles in the browser cache. Default: 86400 * 7 sec. (7 days).\n- `$config['tileservers']` The tileservers with url and ttl. \n- `$config['tolerance']` expands the maximum bounds for tile requests by a small degree to account for rounding errors and ensure all necessary tiles are fetched.\n- `$config['storage']` The directory of the file cache. Default: `tmp/`\n- `$config['ratelimits']` The options for the rate limiter: `durationInterval` The interval during which the hits are counted (Default: 60 seconds). `durationHardBan` The duration for any hard bans, e.g., in case of too many soft bans or invalid arguments (Default: 21600 seconds). `maxHits` The allowed number of provided tiles per interval. (Default: 1500 hits). `maxSoftBans` The allowed number of soft bans (Default: 50 soft bans).\n\nPlease have a look at the config.php. This documentation is miserable, I will explain some things better soon.\n\n## Demo\nQuite unimpressive, because you shouldn't note a difference, but here we go:\n- https://jugendforum-fks.de/veranstaltungen/orte\n- https://jugendbeiratfalkensee.eu/der-kasten/\n- https://critical-mass-falkensee.de/\n- https://galafa.de/kontakt/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarvinsiefke%2Fpepper-osmproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarvinsiefke%2Fpepper-osmproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarvinsiefke%2Fpepper-osmproxy/lists"}