{"id":18755398,"url":"https://github.com/jonfairbanks/expresshttp","last_synced_at":"2026-04-16T19:46:57.149Z","repository":{"id":42907249,"uuid":"140798798","full_name":"jonfairbanks/ExpressHTTP","owner":"jonfairbanks","description":"Express HTTP File Server with Lusca and DDoS Rate Limiting","archived":false,"fork":false,"pushed_at":"2023-01-07T21:11:04.000Z","size":888,"stargazers_count":0,"open_issues_count":9,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T01:39:40.423Z","etag":null,"topics":["express","express-server","file-server","http-server","https-server"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/jonfairbanks/expresshttp","language":"JavaScript","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/jonfairbanks.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}},"created_at":"2018-07-13T04:58:10.000Z","updated_at":"2021-08-23T01:59:55.000Z","dependencies_parsed_at":"2023-02-08T02:02:06.530Z","dependency_job_id":null,"html_url":"https://github.com/jonfairbanks/ExpressHTTP","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonfairbanks%2FExpressHTTP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonfairbanks%2FExpressHTTP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonfairbanks%2FExpressHTTP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonfairbanks%2FExpressHTTP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonfairbanks","download_url":"https://codeload.github.com/jonfairbanks/ExpressHTTP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239644125,"owners_count":19673580,"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":["express","express-server","file-server","http-server","https-server"],"created_at":"2024-11-07T17:32:41.280Z","updated_at":"2025-11-29T13:30:12.459Z","avatar_url":"https://github.com/jonfairbanks.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ExpressHTTP :shipit:\n\n![GitHub Workflow Status](\u003chttps://img.shields.io/github/workflow/status/jonfairbanks/ExpressHTTP/Create%20Release(s)?label=Docker%20Build\u003e)\n![GitHub top language](https://img.shields.io/github/languages/top/jonfairbanks/ExpressHTTP.svg)\n![Docker Pulls](https://img.shields.io/docker/pulls/jonfairbanks/express-http.svg)\n![GitHub last commit](https://img.shields.io/github/last-commit/jonfairbanks/ExpressHTTP.svg)\n![Lines of code](https://img.shields.io/tokei/lines/github/jonfairbanks/ExpressHTTP)\n![License](https://img.shields.io/github/license/jonfairbanks/ExpressHTTP.svg?style=flat)\n\nExpress HTTP File Server with Helmet and DDoS Rate Limiting\n\n#### Prerequisites\n\n- Node v10+\n- A Redis instance: `docker run --name redis -d -p 6379:6379 redis`\n\n#### Quick Start\n\n- Fetch the code using git or wget\n- While in the app directory run `npm install` to setup\n- Once complete, run `npm start` to launch the server\n- Load files into the **public/** directory\n- Navigate to \u003chost\u003e:8080/ in your browser\n\n_[Optional] To keep ExpressHTTP up and running behind the scenes, checkout [PM2](http://pm2.keymetrics.io/ 'PM2')._\n\n#### Production Support\n\nTo properly enable session support in ExpressHTTP, you must utilize a Redis instance. By default ExpressHTTP connects to a Redis instance running on the localhost when the app is launched in `production` mode. To override these settings, see the [Config Options](#Config-Options) below.\n\nTo setup a Redis instance if you do not have one running already: `docker run --name redis -d -p 6379:6379 redis`\n\nFinally, run ExpressHTTP in `production` mode: `NODE_ENV=production npm start`\n\n#### Running with Docker\n\nExpressHTTP is also available on [DockerHub](https://hub.docker.com/r/jonfairbanks/expresshttp).\n\nBefore Docker setup, ensure Redis is running and finally run the following command:\n\n`docker run -d -p 8080:8080 -e REDIS_HOST=1.2.3.4 -v ~/ExpressHTTP/public:/app/public --name ExpressHTTP --restart=always jonfairbanks/expresshttp`\n\n#### Config Options\n\nThe following options can be passed in at runtime as ENV variables:\n\n- `SESSION_SECRET`: Either a string or array of secrets used to sign the session ID cookie\n  - If array is passed -- the first secret is to sign, other secrets are used to verify\n- `LOGGING`: If **true**, an access.log will be created for incoming site requests using Morgan logging\n- `RATE_LIMIT`: If **true**, enables DDoS and RateLimit protections through Express\n- `SITE_ROOT`: Override the default path files are served from (default: /public)\n- `PORT`: Override the default address the ExpressHTTP app is served from (default: 8080)\n- `REDIS`: If **true**, Express sessions will be saved in Redis (ideal for production)\n- `REDIS_HOST`: Override the default address used to connect to Redis (default: 127.0.0.1)\n- `REDIS_PORT`: Override the default port used to connect to Redis (default: 6370)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonfairbanks%2Fexpresshttp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonfairbanks%2Fexpresshttp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonfairbanks%2Fexpresshttp/lists"}