{"id":25135174,"url":"https://github.com/kimboslice99/iis-cgeoipmodule","last_synced_at":"2026-04-30T02:33:45.030Z","repository":{"id":240325644,"uuid":"802329747","full_name":"kimboslice99/IIS-CGeoIPModule","owner":"kimboslice99","description":"Geoblocking module for IIS written in native C++","archived":false,"fork":false,"pushed_at":"2026-04-08T02:06:03.000Z","size":301,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-08T03:31:39.729Z","etag":null,"topics":["cpp","iis","iis-server"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kimboslice99.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-18T02:20:55.000Z","updated_at":"2026-04-08T02:14:40.000Z","dependencies_parsed_at":"2024-12-26T19:20:40.484Z","dependency_job_id":"e6d27c06-6342-4be8-9db8-ea6cb2acd46d","html_url":"https://github.com/kimboslice99/IIS-CGeoIPModule","commit_stats":null,"previous_names":["kimboslice99/iis-cgeoipmodule"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/kimboslice99/IIS-CGeoIPModule","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimboslice99%2FIIS-CGeoIPModule","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimboslice99%2FIIS-CGeoIPModule/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimboslice99%2FIIS-CGeoIPModule/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimboslice99%2FIIS-CGeoIPModule/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kimboslice99","download_url":"https://codeload.github.com/kimboslice99/IIS-CGeoIPModule/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kimboslice99%2FIIS-CGeoIPModule/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32452644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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":["cpp","iis","iis-server"],"created_at":"2025-02-08T16:18:36.124Z","updated_at":"2026-04-30T02:33:45.016Z","avatar_url":"https://github.com/kimboslice99.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CGeoIPModule\n _Geoblocking module for IIS written in native C++_\n \n This is my first real dive into C++! If you notice ive done something incorrectly within this code, please do point it out or make a PR!\n\n## Installation\n\nGrab the latest installer from the releases page\n\nServer variable `GEOIP_COUNTRY` will contain the iso country code on successful lookup, `ZZ` for local addresses as defined by the `IsLocalAddress()` function or `--` for unsuccessful lookups\n\n## Building\n\n- Get libmaxminddb\n```cmd\n# Clone the libmaxminddb repository with submodules\ngit clone --recursive https://github.com/maxmind/libmaxminddb\n\n# Navigate to the libmaxminddb directory\ncd libmaxminddb\n\n# Create build directories for both x64 and x86 architectures\nmkdir build/x64 build/x86\n\n# Configure and build the x64 version\ncmake -Bbuild/x64 -S. -DMSVC_STATIC_RUNTIME=ON -DBUILD_SHARED_LIBS=OFF -A x64\ncmake --build build/x64 --config Release --target install\n\n# Configure and build the x86 version\ncmake -Bbuild/x86 -S. -DMSVC_STATIC_RUNTIME=ON -DBUILD_SHARED_LIBS=OFF -A Win32\ncmake --build build/x86 --config Release --target install\n```\n\n- Download and install Windows SDK.\n\n- Get [Wix](https://github.com/wixtoolset/wix3/releases)\n\n- Get [Wix Extension for VS2022](https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2022Extension)\n\n- Build project with Visual Studio\n\n## Reason for this modules existence\nI have been using the [GeoIP2blockModule](https://github.com/RvdHout/IIS-GeoIP2block-Module) for several years, and while its a well written solution, it is a bit slower (probably due to the introduction of asp.net into the request pipeline)\n\nThis module has much lower impact on IIS's performance, making it more suitable to sites that see heavy load.\n\n## Bombardier results\n1.39 KB static file for testing (small to emphasize transactional throughput)\n\nNo module enabled\n```\nStatistics        Avg      Stdev        Max\n  Reqs/sec     13327.21    6434.57   31616.04\n  Latency        9.37ms     2.08ms    53.62ms\n  HTTP codes:\n    1xx - 0, 2xx - 133322, 3xx - 0, 4xx - 0, 5xx - 0\n    others - 0\n  Throughput:    22.34MB/s\n```\n\nC# module\n```\nStatistics        Avg      Stdev        Max\n  Reqs/sec       842.83     144.49    1301.78\n  Latency      147.69ms    10.07ms   252.26ms\n  HTTP codes:\n    1xx - 0, 2xx - 8518, 3xx - 0, 4xx - 0, 5xx - 0\n    others - 0\n  Throughput:     1.41MB/s\n```\n\nC++ module\n```\nStatistics        Avg      Stdev        Max\n  Reqs/sec      5507.09    1081.12   16498.01\n  Latency       22.77ms     2.33ms   113.10ms\n  HTTP codes:\n    1xx - 0, 2xx - 54745, 3xx - 0, 4xx - 0, 5xx - 0\n    others - 0\n  Throughput:     9.17MB/s\n```\n\nThe dev branch has some performance improvements, though stability has not been verified.\n```\nStatistics        Avg      Stdev        Max\n  Reqs/sec      9776.10     200.54   10107.25\n  Latency       12.77ms     0.95ms    94.00ms\n  HTTP codes:\n    1xx - 0, 2xx - 97873, 3xx - 0, 4xx - 0, 5xx - 0\n    others - 0\n  Throughput:    16.84MB/s\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimboslice99%2Fiis-cgeoipmodule","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkimboslice99%2Fiis-cgeoipmodule","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkimboslice99%2Fiis-cgeoipmodule/lists"}