Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/n-thumann/easybell-carrier-map
A map showing the carriers used by Easybell for their VDSL products
https://github.com/n-thumann/easybell-carrier-map
1und1 carrier easybell map mapbox-gl-js maplibre-gl-js maptiler telekom versatel vitroconnect
Last synced: about 2 months ago
JSON representation
A map showing the carriers used by Easybell for their VDSL products
- Host: GitHub
- URL: https://github.com/n-thumann/easybell-carrier-map
- Owner: n-thumann
- License: mit
- Created: 2022-12-07T22:56:27.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-17T20:27:10.000Z (6 months ago)
- Last Synced: 2024-06-17T22:36:31.972Z (6 months ago)
- Topics: 1und1, carrier, easybell, map, mapbox-gl-js, maplibre-gl-js, maptiler, telekom, versatel, vitroconnect
- Language: TypeScript
- Homepage: https://n-thumann.github.io/easybell-carrier-map/
- Size: 1.11 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# easybell-carrier-map
A map showing the carriers used by Easybell for their VDSL products
## Usage
Open [map](https://n-thumann.github.io/easybell-carrier-map/), click to select area, wait, done.
## Running locally
Clone this repository, run `npm install`, run `npm run serve` to start the local development server or `npm run build` to build for production.
## How it works
1. Get the bounding box from the selected area
2. Query [Overpass](https://overpass-api.de/) for all addresses within the bounding box
3. Create hexagon grid inside bounding box
4. Assign addresses to corresponding hexagons
5. Sort addresses within each hexagon based on their distance to the hexagon's center (ascending distance)
6. Query Easybell availability API for every address in hexagon until a carrier has been found
7. Color hexagons on map based on carrier## Quirks
- Not every address, especially in more rural areas, is available in OpenStreetMap. This can result in Overpass not returning any addresses for a hexagon, even though there are buildings in there.
- The Easybell API doesn't set CORS HTTP headers so that your browser can query it directly. Therefore, a CORS proxy is used. This is not needed when running locally.## Background
Actually, I didn't build this to map Easybells carriers at all, but to visualize where 1&1 Versatel Layer 2 bitstream access is available. While playing around with Easybells availability API, I noticed that it also returns the carrier used, e.g. 1&1 Versatel.
My assumption is that in regions where 1&1 Versatel provides service to Easybell, they have L2-BSA available, which is in turn used for their own products (e.g. 1&1 DSL for consumers). I was able to confirm this assumption in multiple regions using e.g. RIPE Atlas nodes.
Because picking addresses at random and running e.g. `curl -s "https://www.easybell.de/api/provider-availabilities/TAL?exact_address=false&zip_code=49074&city=Osnabrück&street=Domhof&house_number=10" | jq -r ".results[0].carrier"` was a bit boring and lacked visualization, I built this project.