{"id":28568570,"url":"https://github.com/m0kr4n3/esicdn","last_synced_at":"2025-09-19T22:54:50.073Z","repository":{"id":214084511,"uuid":"640828611","full_name":"m0kr4n3/esiCDN","owner":"m0kr4n3","description":"esiCDN - a CDN architecture for Algerian universities","archived":false,"fork":false,"pushed_at":"2023-12-26T11:10:41.000Z","size":52213,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T16:41:10.780Z","etag":null,"topics":["cdn","dns","geodns","nginx","streaming","varnish"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/m0kr4n3.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,"zenodo":null}},"created_at":"2023-05-15T08:03:26.000Z","updated_at":"2024-02-28T18:24:33.000Z","dependencies_parsed_at":"2025-06-10T16:41:30.606Z","dependency_job_id":null,"html_url":"https://github.com/m0kr4n3/esiCDN","commit_stats":null,"previous_names":["m0kr4n3/esicdn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/m0kr4n3/esiCDN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m0kr4n3%2FesiCDN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m0kr4n3%2FesiCDN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m0kr4n3%2FesiCDN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m0kr4n3%2FesiCDN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m0kr4n3","download_url":"https://codeload.github.com/m0kr4n3/esiCDN/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m0kr4n3%2FesiCDN/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276012477,"owners_count":25569844,"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-09-19T02:00:09.700Z","response_time":108,"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":["cdn","dns","geodns","nginx","streaming","varnish"],"created_at":"2025-06-10T16:30:22.863Z","updated_at":"2025-09-19T22:54:50.032Z","avatar_url":"https://github.com/m0kr4n3.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esiCDN - a CDN architecture for Algerian universities\n\n## Overview\nesiCDN is a customized Content Delivery Network designed to meet the specific needs of Algerian students. This CDN aims to accelerate the distribution of educational content, providing students with faster loading times and increased availability. The system comprises three main components: GeoDNS, cache servers, and an origin server.\n\n## Architecture Diagram\n\n![Architecture Diagram](pictures/architecture.png)\n\n## Components\n\n### 1. GeoDNS\nGeoDNS is responsible for resolving a domain name to the IP address of the cache server closest to the client's geographical location. The system utilizes [BIND 9](https://github.com/isc-projects/bind9) dns software, which employs geographic proximity determination techniques based on customer IP addresses. This ensures that students can access educational content from the nearest cache server, optimizing their experience.\n\n![dns ](pictures/dns.png)\n\n### 2. Cache Servers\nCaching plays a crucial role in the CDN architecture, and [Varnish](https://www.varnish-software.com/) is employed as the caching solution. The cache servers intercept HTTP requests, process them according to user-defined configurations, and return a cached response. If the requested content is not cached, the servers forward the request to the upstream web server. The response is then cached and returned to the client. The cache servers are distributed across Algeria, allowing students to access educational content from the nearest server.\n\n![cache](pictures/cache.png)\n\n### 3. Origin Server\nThe origin server hosts the web platform that stores educational content in various formats, including PDFs, images, and videos.  Importantly, the origin server is not directly accessible by visitors; it is only accessed from cache servers, enhancing security and content control.\n\n![origin](pictures/origin1.png)\n![origin](pictures/origin2.png)\n\nThe videos are served through streaming, allowing cache servers to efficiently store content segments.\n\n![origin](pictures/origin3.png)\n\n## Project Team\nesiCDN was realized with the collaborative efforts of:\n\n- Khaled Fouad MEDDAH\n- Zakaria HEBBAL\n- Mouad ELHAOUARI\n- Samia AMEUR\n- Mohamed Amine BENTAYEB\n- Mohamed Amokrane ABDELMALEK (myself)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm0kr4n3%2Fesicdn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm0kr4n3%2Fesicdn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm0kr4n3%2Fesicdn/lists"}