A Web Server for Chrome, serves web pages from a local folder over the network, using HTTP. Runs offline.
Web Server for Chrome Application
Web Server for Chrome is an open source (MIT) HTTP server for Chrome.
It runs anywhere that you have Chrome installed, so you can take it anywhere. It even works on ARM chromebooks.
It now has the option to listen on the local network, so other computers can access your files. Additionally, it can try and get an internet address.
Many people use this to do basic web development on a chromebook. It is also handy for sharing files over a local network between computers, or even on the internet.
Once you install it, navigate to http://127.0.0.1:8887
Please let me know what new features you want!
https://github.com/kzahel/web-server-chrome
Update - 0.5.2 Apr 6 2021
- Add HTTPS self signed cert support (Thanks to Fredrik Johansson)
Update - 0.5.0 Jan 11 2020
- Add some mime types (mjs and wasm)
- Rewrite UI using react/material-ui
Update - 0.4.8 Sept 22 2017
- Correctly set CORS headers for OPTIONS
- Add PUT method to CORS methods
Update - 0.4.7 Sept 13 2017
- Single page app mod-rewrite
- Fix a curl compatibility issue
Update - 0.4.5 Oct 25 2016
- return JSON format if specify accept header or ?json=1 parameter
Update - 0.4.4 Oct 25 2016
- Show index.htm as well as index.html
Update - 0.4.3 Sept 21 2016
- Fix FileError deprecated in dev channel
Update - 0.4.1 May 23 2016
- Added verbose logging option
Update - 0.4.0 May 6 2016
- New option to get internet address using UPNP
- Less memory usage because it can suspend when inactive and automatically resume (persistent listening socket)
- Make package much smaller (< 1/2 meg)
- Add advanced options (CORS, IPV6, static rendering)
Update - 0.3.4 March 5 2016
- Add option to prevent system sleep
- Fix for ChromeOS, background mode with accessible to other computers
Update - Feb 14 2016
- Append ?static=1 query parameter to not use JS to generate directory listings
Update - Feb 8 2016
- Add auto start option
- Fix run in background mode
Update - Dec 14 2015
- Fix decoding filenames with commas and other characters
Update - Oct 13 2015
- Sort directory list by filename
- Option to automatically show index.html
Update - Oct 1 2015
- Correctly serve utf-8 encoding for filenames in directory listing
- New user interface
- New option to run in background
- New option to listen on whole network or only local
Update - Sept 28 2015
- Stop server when window is closed
- Option to change port
Update - Jul 14
- Add option to listen on all interfaces
Update - June 4
- Allow serving to other computers (non localhost) when Chrome version >= 44
Update - May 5
- Fix utf8 encoding
Update - version 0.1.6 Sept 9 2014
- Fix directory entry listing not rendering as HTML
- Now showing directory listings with >100 files
Update - version 0.1.5 Sept 5 2014
- Migrated to new chrome.sockets API
- Improved range request handling
- Support HEAD requests
Update - July 13
- Fix to work on some Chrome engines that don't have String.prototype.startsWith
Update - May 28
- Fix for modifiedDate when serving from google drive folder
Update - Mar 3, 2014
- Small fixes for socket edge cases
Update - Feb 27, 2014 (Stability fixes)
- Fixed edge cases with connection closing
- Fixed cases where files are deleted/removed
Update - Feb 20, 2014
- It streams large files and handles range requests now
- You can now select which directory to serve files from
Read more
It runs anywhere that you have Chrome installed, so you can take it anywhere. It even works on ARM chromebooks.
It now has the option to listen on the local network, so other computers can access your files. Additionally, it can try and get an internet address.
Many people use this to do basic web development on a chromebook. It is also handy for sharing files over a local network between computers, or even on the internet.
Once you install it, navigate to http://127.0.0.1:8887
Please let me know what new features you want!
https://github.com/kzahel/web-server-chrome
Update - 0.5.2 Apr 6 2021
- Add HTTPS self signed cert support (Thanks to Fredrik Johansson)
Update - 0.5.0 Jan 11 2020
- Add some mime types (mjs and wasm)
- Rewrite UI using react/material-ui
Update - 0.4.8 Sept 22 2017
- Correctly set CORS headers for OPTIONS
- Add PUT method to CORS methods
Update - 0.4.7 Sept 13 2017
- Single page app mod-rewrite
- Fix a curl compatibility issue
Update - 0.4.5 Oct 25 2016
- return JSON format if specify accept header or ?json=1 parameter
Update - 0.4.4 Oct 25 2016
- Show index.htm as well as index.html
Update - 0.4.3 Sept 21 2016
- Fix FileError deprecated in dev channel
Update - 0.4.1 May 23 2016
- Added verbose logging option
Update - 0.4.0 May 6 2016
- New option to get internet address using UPNP
- Less memory usage because it can suspend when inactive and automatically resume (persistent listening socket)
- Make package much smaller (< 1/2 meg)
- Add advanced options (CORS, IPV6, static rendering)
Update - 0.3.4 March 5 2016
- Add option to prevent system sleep
- Fix for ChromeOS, background mode with accessible to other computers
Update - Feb 14 2016
- Append ?static=1 query parameter to not use JS to generate directory listings
Update - Feb 8 2016
- Add auto start option
- Fix run in background mode
Update - Dec 14 2015
- Fix decoding filenames with commas and other characters
Update - Oct 13 2015
- Sort directory list by filename
- Option to automatically show index.html
Update - Oct 1 2015
- Correctly serve utf-8 encoding for filenames in directory listing
- New user interface
- New option to run in background
- New option to listen on whole network or only local
Update - Sept 28 2015
- Stop server when window is closed
- Option to change port
Update - Jul 14
- Add option to listen on all interfaces
Update - June 4
- Allow serving to other computers (non localhost) when Chrome version >= 44
Update - May 5
- Fix utf8 encoding
Update - version 0.1.6 Sept 9 2014
- Fix directory entry listing not rendering as HTML
- Now showing directory listings with >100 files
Update - version 0.1.5 Sept 5 2014
- Migrated to new chrome.sockets API
- Improved range request handling
- Support HEAD requests
Update - July 13
- Fix to work on some Chrome engines that don't have String.prototype.startsWith
Update - May 28
- Fix for modifiedDate when serving from google drive folder
Update - Mar 3, 2014
- Small fixes for socket edge cases
Update - Feb 27, 2014 (Stability fixes)
- Fixed edge cases with connection closing
- Fixed cases where files are deleted/removed
Update - Feb 20, 2014
- It streams large files and handles range requests now
- You can now select which directory to serve files from
Source Manifest.json
{"update_url": "https://clients2.google.com/service/update2/crx", "key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7ZULSqbpKKQ1QP5Tb9f8g306PlY87OYYlXBrp7PlBHd/LJMUBDNWMCrWhpFR8sIjpvHjYipDr60j+2i7vj3PZlwbxZ7e3x+2A4cQt1LaC1PVZ6avnbsV0YMkFQi8H5f7NQiBKE2i2/Z/kB2r/DzyiUdGW63/sgjpBvgDCCMysHl3NWCnHqIOOtGD8SFlT5clgNJgVOgosFwHE4yYJDpIkvJ+nrLia9v6V/Cyc8ITEd0njvsp0q0aFJp332Ua/RPvh/m1UKcj8f3FNbaCrdScFzfKo5UNmifKLGhT377xhnvhOKuEJbyghNkPheMUquwVpTEHdRFMm7nVcLAt/kuZwIDAQAB", "name": "Web Server for Chrome", "short_name": "Web Server", "description": "A Web Server for Chrome, serves web pages from a local folder over the network, using HTTP. Runs offline.", "author": "Kyle Graehl", "version": "0.5.2", "manifest_version": 2, "offline_enabled": true, "minimum_chrome_version": "45", "app": { "background": { "scripts": ["underscore.js","encoding.js","common.js","assets/bundle.js", "log-full.js", "mime.js", "buffer.js","request.js","crypto.js","stream.js", "chromesocketxhr.js", "connection.js","webapp.js","websocket.js","handlers.js","httplib.js","upnp.js","background.js"] } }, "permissions": [ "alarms", "unlimitedStorage", "storage", "notifications",\t\t"browser", "power",\t\t"system.network", {"fileSystem":["write","directory","retainEntries"]} ],\t"optional_permissions": [ "background"\t], "sockets": { "udp": { "send": [""], "bind": [""], "multicastMembership": "" }, "tcp": { "connect": [""] }, "tcpServer": { "listen": ["*:*"] } }, "oauth2": { "client_id": "458955919969-ip5gtdesaugnbn0tcqfaf39kn72ncddl.apps.googleusercontent.com", "scopes": [ "https://www.googleapis.com/auth/chromewebstore.readonly" ] }, "icons": { "16": "images/200ok-16.png", "19": "images/200ok-19.png", "32": "images/200ok-32.png", "38": "images/200ok-38.png", "48": "images/200ok-48.png", "64": "images/200ok-64.png", "96": "images/200ok-96.png", "128": "images/200ok-128.png", "256": "images/200ok-256.png", "512": "images/200ok-512.png" }}
Read more