{"id":18841967,"url":"https://github.com/ahmetozer/latencytable","last_synced_at":"2026-04-12T23:37:15.135Z","repository":{"id":136065573,"uuid":"287132954","full_name":"ahmetozer/latencytable","owner":"ahmetozer","description":"Realtime Latency Table For Datacenters.","archived":false,"fork":false,"pushed_at":"2020-09-06T20:37:25.000Z","size":84,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-16T18:35:18.159Z","etag":null,"topics":["automated","container","datacenter","docker","https","ipv6","latency","latency-table","linux","network","network-operations-center","noc","region"],"latest_commit_sha":null,"homepage":"https://edgeuno.cloud/latency","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ahmetozer.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-08-12T23:08:42.000Z","updated_at":"2023-10-31T13:00:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d7770b9-31cd-4db0-a258-5a7f6c498b1a","html_url":"https://github.com/ahmetozer/latencytable","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ahmetozer/latencytable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Flatencytable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Flatencytable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Flatencytable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Flatencytable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmetozer","download_url":"https://codeload.github.com/ahmetozer/latencytable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmetozer%2Flatencytable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281748735,"owners_count":26554833,"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","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["automated","container","datacenter","docker","https","ipv6","latency","latency-table","linux","network","network-operations-center","noc","region"],"created_at":"2024-11-08T02:53:13.237Z","updated_at":"2025-10-30T05:17:45.097Z","avatar_url":"https://github.com/ahmetozer.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Latency Table\n\nThis software created for showing real time connection status between servers.  \nSystem supports both IPv4 and IPv6.  \nYou can use by globally or region.  \n\n![IPv4 Min Latency](https://github.com/ahmetozer/latencytable/raw/docs/img/ipv4_min_latency.png)\n![IPv6 Packet Loss](https://github.com/ahmetozer/latencytable/raw/docs/img/ipv6_packet_loss.png)\n\n## Installation\n\n### Website\n\nSite title, description, logo, favicon and company info configurations is under **_config.yml**\n\n```yml\ntitle: Acme Corp Latency Table\ndescription: \u003e-\n  Welcome to Acme Data Center Latency Table. You can watch the Latency between our data centers in realtime.\ncompany:\n  url:                  https://example.com\n  name:                 Acme Corp\n  logo:                 # /acme.jpg\n  logoinvert:           true\n  favicon:              /favicon.png\n```\n\nYou can also add your own links at footer.\nTo set custom footer links add, change or remove change footerLinks item at **_config.yml**. Maximum footer Links are limited to 7.\n\n```yml\nfooterLinks:\n  - one:\n    name: \"Link1\"\n    link:  \"#Link1\"\n  - two:\n    name: \"Link2\"\n    link:  \"#Link2\"\n  - three:\n    name: \"Link3\"\n    link:  \"#Link3\"\n  - four:\n    name: \"Link4\"\n    link:  \"#Link4\"\n```\n\n### Server List (servers.json)\n\nTable is created from servers json and servers make a request to given data.\nEnsure given data is correct.\n\nScheme of json is easy to configure.  \nEnter name of region or server, give a net-tools-service url and server connection addr.\n\nSystem has a few modes to detecting IPv4 and IPv6.\n\nYou can set IPv4 and IPv6 addr by manual\n\n```json\n {\"name\":\"Ams1\",\"ntsurl\":\"https://net-tools-service-ams1.ahmetozer.org/\",   \"ipv4\":\"203.0.113.2\",       \"ipv6\":\"2001:db8:900d:c0de::2\"   },\n {\"name\":\"Ams1\",\"ntsurl\":\"https://net-tools-service-ams1.ahmetozer.org/\",   \"ipv4\":\"ipv4-ams1.ahmetozer.org\",       \"ipv6\":\"ipv6-ams1.ahmetozer.org\"   }\n```\n\nOr give a Dualstack domain (has a A and AAAA record) for resolving addr.\n\n```json\n {\"name\":\"Ams1\",\"ntsurl\":\"https://net-tools-service-ams1.ahmetozer.org/\",   \"ds\": \"ds-ams1.ahmetozer.org\"   }\n```\n\nExample configuration\n\n```json\n{\n    \"servers\": [\n        {\"name\":\"Ist1\",\"ntsurl\":\"https://net-tools-service-ist1.ahmetozer.org/\",   \"ipv4\":\"203.0.113.2\",       \"ipv6\":\"2001:db8:900d:c0de::2\"   },\n        {\"name\":\"Ams1\",\"ntsurl\":\"https://net-tools-service-ams1.ahmetozer.org/\",   \"ds\": \"ds-ams1.ahmetozer.org\"   }\n        {\"name\":\"Saw1\",\"ntsurl\":\"https://net-tools-service-ist1.ahmetozer.org/\",    \"ipv4\":\"203.0.113.5\",       \"ipv6\":\"2001:db8:900d:c0de::5\"   },\n        {\"name\":\"Iad1\",\"ntsurl\":\"https://net-tools-service-iad1.ahmetozer.org/\",    \"ipv4\":\"203.0.113.10\",     \"ipv6\":\"2001:db8:900d:c0de::10\"  }\n    ]\n}\n```\n\n### Region Pages\n\n1. Create new md file under root directory.\n\n2. Create and set server list.  \nEx. eu.json\n\n```json\n{\n    \"servers\": [\n        {\"name\":\"Ams1\",\"ntsurl\":\"https://net-tools-service-ams1.ahmetozer.org/\",   \"ipv4\":\"203.0.113.2\",     \"ipv6\":\"2001:db8:900d:c0de::2\"     },\n        {\"name\":\"Dlm1\",\"ntsurl\":\"https://net-tools-service-dlm1.ahmetozer.org/\",    \"ipv4\":\"203.0.113.4\",     \"ipv6\":\"2001:db8:900d:c0de::4\"     },\n        {\"name\":\"Saw1\",\"ntsurl\":\"https://net-tools-service-ist1.ahmetozer.org/\",    \"ipv4\":\"203.0.113.5\",     \"ipv6\":\"2001:db8:900d:c0de::5\"     }\n    ]\n}\n```\n\n3.  Configure page settings.\n\n```markdown\n---\ntitle: EU\ndescr: Data centers in Europe\nlayout: default\nlisturl: /eu.json\npermalink: /eu/\ntags: [\"region\"]\n---\n```\n\n### Methods for Deploying Web Page\n\n#### Github\n\nYou can just fork this repo on github and configure your github pages\n\n#### Self hosting\n\nRun ahmetozer/latencytable container on your server.\n\n```bash\n# Expose ports with signed certificate\ndocker run -it --name latencytable --restart always \\\n-e webserver=yes -p 80:80 -p 443:443 \\\n--mount type=bind,source=\"signed_certificate.crt\",target=/etc/ssl/certs/project.crt,readonly \\\n--mount type=bind,source=\"signed_certificate.key\",target=/etc/ssl/private/project.key,readonly \\\nahmetozer/latencytable\n\n# Expose ports with self signed certificate\ndocker run -it --name latencytable --restart always \\\n-e webserver=yes -p 80:80 -p 443:443 \\\nahmetozer/latencytable\n```\n\nOverwrite configuration files or add region pages\n\n```bash\ndocker cp _config.yml latencytable:/srv/jekyll/_config.yml\ndocker cp logo.png latencytable:/srv/jekyll/logo.png\ndocker cp servers.json latencytable:/srv/jekyll/servers.json\n\n### If you have a regions, copy region files\ndocker cp eu.md latencytable:/srv/jekyll/eu.md\ndocker cp eu.json latencytable:/srv/jekyll/eu.json\n\n### To re building, restart your Container\ndocker restart latencytable\n```\n\n### Net Tools Service Configuration\n\nThis system requires [net tools service](https://github.com/ahmetozer/net-tools-service) for measure latency and serving data to web.\n\nYou can see more details for installation and configuration on [net tools service](https://github.com/ahmetozer/net-tools-service) main page.\n\nLatency table requires icmp function on net tools service.  \nBy default net tools rate limit is one request in one second. To prevent getting rate limit error on latency table increase rate limit to 10.  \nFor preventing cors, set referrers to your latency table host.\n\n```bash\n#   Example Conf\ndocker run -it -e rate=\"10\" -e functions=\"icmp\" ahmetozer/net-tools-service\n\n## Prevent cors request from other websites. Change `latencytable.ahmetozer.org` to your latency table host\ndocker run -it -e rate=\"10\" -e functions=\"icmp\" -e referrers=\"latencytable.ahmetozer.org\" -p 443:443 ahmetozer/net-tools-service\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmetozer%2Flatencytable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmetozer%2Flatencytable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmetozer%2Flatencytable/lists"}