๐Ÿ“ฆ phil294 / websnapper

Browsing websites with very low bandwidth usage

โ˜… 9 stars โ‘‚ 1 forks ๐Ÿ‘ 9 watching โš–๏ธ MIT License
๐Ÿ“ฅ Clone https://github.com/phil294/websnapper.git
HTTPS git clone https://github.com/phil294/websnapper.git
SSH git clone git@github.com:phil294/websnapper.git
CLI gh repo clone phil294/websnapper
Philip Waritschlager Philip Waritschlager typo d3eff27 5 years ago ๐Ÿ“ History
๐Ÿ“‚ master View all commits โ†’
๐Ÿ“ .vscode
๐Ÿ“„ .gitignore
๐Ÿ“„ Dockerfile
๐Ÿ“„ example.png
๐Ÿ“„ howto.html
๐Ÿ“„ LICENSE
๐Ÿ“„ package.json
๐Ÿ“„ README.md
๐Ÿ“„ server.coffee
๐Ÿ“„ snap.coffee
๐Ÿ“„ yarn.lock
๐Ÿ“„ README.md

Try out and use online

You can use this software online: http://websnapper.waritschlager.de/howto

For detailed information about what all of this is, please go to this link or see the file howto.html.

Example of what this software does, a 800x600 comparison of a scrolled down section of GitHub.com: websnapper vs normal website in this case, 1.1 KB vs. 36 KB

Reddit discussion thread for some more details

... or run the server locally

Docker image

Simply run e.g.

docker run -p 80:8080 --rm -it --cap-add=SYS_ADMIN phil294/websnapper

Then, you can access in your browser at localhost/howto the same page as above, just locally.

Manual installation

To run this software yourself, here is what you need to do, for example on a VM, docker image, v-server or locally:

  • Have nodejs and npm or yarn installed (using yarn below)
  • Install the system dependencies for puppeteer: sudo apt install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget (source)
  • Make the package manager install the dependencies: yarn. This will also download a specific chromium browser module into your node_modules folder
  • Run the server e.g. with PORT=7001 yarn run start

Enable Javascript

For JS to work, remove this line in your local version.