{"id":23286428,"url":"https://github.com/httparchive/httparchive.org","last_synced_at":"2025-04-05T12:06:38.197Z","repository":{"id":37546337,"uuid":"88894044","full_name":"HTTPArchive/httparchive.org","owner":"HTTPArchive","description":"The HTTP Archive website hosted on App Engine","archived":false,"fork":false,"pushed_at":"2024-04-12T16:23:00.000Z","size":6904,"stargazers_count":316,"open_issues_count":36,"forks_count":48,"subscribers_count":19,"default_branch":"main","last_synced_at":"2024-04-15T02:34:53.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://httparchive.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HTTPArchive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":null,"patreon":null,"open_collective":"httparchive","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2017-04-20T17:45:53.000Z","updated_at":"2024-04-16T14:28:11.637Z","dependencies_parsed_at":"2023-10-01T23:39:59.144Z","dependency_job_id":"c5b498c9-b0dc-40ee-9df4-23ab0ba2a194","html_url":"https://github.com/HTTPArchive/httparchive.org","commit_stats":{"total_commits":823,"total_committers":27,"mean_commits":30.48148148148148,"dds":0.5880923450789793,"last_synced_commit":"9bb33dedb1ecbc194f10bc834b6298c291b7f371"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTTPArchive%2Fhttparchive.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTTPArchive%2Fhttparchive.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTTPArchive%2Fhttparchive.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HTTPArchive%2Fhttparchive.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HTTPArchive","download_url":"https://codeload.github.com/HTTPArchive/httparchive.org/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247332605,"owners_count":20921853,"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":[],"created_at":"2024-12-20T02:12:29.057Z","updated_at":"2025-04-05T12:06:38.172Z","avatar_url":"https://github.com/HTTPArchive.png","language":"JavaScript","funding_links":["https://opencollective.com/httparchive"],"categories":[],"sub_categories":[],"readme":"# HTTPArchive.org Web Server on App Engine\nNew and improved version of [HTTP Archive](https://httparchive.org). This replaces the [legacy version](https://legacy.httparchive.org), the source code for which is still available at [HTTPArchive/legacy.httparchive.org](https://github.com/HTTPArchive/legacy.httparchive.org).\n\n## Run Locally\n\n[Source](https://cloud.google.com/appengine/docs/flexible/python/quickstart)\n\n1. If you don't have virtualenv, install it using pip.\n\n```\nsudo pip install virtualenv\n```\n\n2. Create an isolated Python environment, and install dependencies:\n\n```\nvirtualenv --python python3.12 .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n```\n\n3. Install the NPM dependencies:\n\n```\nnpm install\n```\n\n4. Initialize the Google Cloud CLI (this is necessary because the App Engine server uses Google Cloud APIs):\n\n```\ngcloud init\n```\n\n5. Run the application:\n\n```\nnpm run start\n```\n\nNote: Windows users may need to run `npm run watch` and `python main.py` separately.\n\n6. In your web browser, enter the following address: http://127.0.0.1:8080\n\n## Staging\n\nTo test changes on a GCP App Engine server without deploying to the production instance, use the staging app at https://httparchive-staging.appspot.com.\n\n```\nnpm run stage\n```\n\n## Deploy\n\nTo push changes live to the production instance, use the deployment script. Changes will be available on https://httparchive.org.\n\n```\nnpm run deploy\n```\n\n## Added new icons\n\nWe use [Font Awesome](https://fontawesome.com/) icons but inline them directly in the code to save using the JavaScript library. To add, or change an icon, [find one on the Font Awesome website](https://fontawesome.com/icons) and copy the path from the SVG tab and reference it by name in the [reports.json](/config/reports.json) and add the SVG path in the [reports.html](/templates/reports.html) file as per the others. The width in the `reports.json` can be set based on display preferences.\n\n## Third-party software licenses\n\nHTTP Archive uses Highcharts. See their [licensing terms](https://shop.highcharts.com/) for more info.\nHTTP Archive uses Font Awesome. See their [licensing terms](https://github.com/FortAwesome/Font-Awesome#license) for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttparchive%2Fhttparchive.org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhttparchive%2Fhttparchive.org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttparchive%2Fhttparchive.org/lists"}