Code Monkey home page Code Monkey logo

elestio / ws-screenshot Goto Github PK

View Code? Open in Web Editor NEW
117.0 117.0 38.0 67.15 MB

A simple way to take a screenshot of a website by providing its URL. ws-screenshot include a simple web UI but also a REST API and a Websocket API to automate screenshots.

Home Page: http://backup15.terasp.net/

License: MIT License

JavaScript 50.06% Shell 2.66% Dockerfile 2.55% CSS 5.81% HTML 34.32% Smarty 4.59%
api hacktoberfest nodejs screenshot websocket

ws-screenshot's People

Contributors

0xflotus avatar andreimaksimov avatar awichmann-mintel avatar davalimi avatar jbenguira avatar tonsv2 avatar wass08 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ws-screenshot's Issues

Resource managment

I run your great container to store images of more dynamic iframes to store as loading images. It is a great help. Today after testing the project with a few 100 screenshot requests I was a bit stunned to see that there are a lot of open threats and processes left after processing; the container at the moment has 10 GB of RAM with about ~100 open node servers.

Is one supposed to reset this container every few hours or call a certain API end to free resources?

Browser resolution and automation detection

This is a great tool and I hope you will keep updating it!

We have two issues:

  1. when we screenshot responsive sites, no matter what i put in the resx/resy, it keeps showing the mobile/tablet version of the site , even if I put crazy values
  2. most sites (but easy to check with reddit.com) that care about this kind of blocking see this browser instance as something automated and pop up protection from it; it doesn't really seem to matter from where I shoot the request

Does either of these sound familiar and are there fixes?

I guess a follow up for 2. would be; can we add proxy servers (optional) ?

Option to disable web UI

Thanks for your work on this great project!

Is there a way to completely disable the web UI? I only want to use the API endpoint.

release 1.1.0

Hi,
Could you release a new version with the custom header support?

Thanks!

puppeteer

hi
good time
I tried to run with nodejs as well
And I went through all the announced steps
But I get the following error

Cannot find module 'puppeteer'
Require stack:

  • /root/ws-screenshot/API/REST/Screenshot.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/modules/api-functions.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/modules/router.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/main.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/cloudgate.js
    Trace: Error: Cannot find module 'puppeteer'
    Require stack:
  • /root/ws-screenshot/API/REST/Screenshot.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/modules/api-functions.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/modules/router.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/main.js
  • /root/ws-screenshot/node_modules/@elestio/cloudgate/cloudgate.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at Function.Module._load (internal/modules/cjs/loader.js:841:27)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object. (/root/ws-screenshot/API/REST/Screenshot.js:1:19)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)

port 80

Hello
Good time
You wrote a good script

How can I run on port 80 instead of port 3000?

Thank

Block scripts?

Is there a way to block scripts? if not can it be added?

Add Option For Strict waitTime

First of all, thank you for the great project, this is exactly what I was looking for. :)
One feature I miss though is the option to wait a certain amount of time for the screenshot to be taken, even if the web page is already "finished" loading.

There is an option to wait a maximum time in milliseconds, but the SC is also executed here before the time has expired, even though the CSS of my website is not yet displayed correctly.

Docker Hub arm package

Would it be possible to publish arm64 images to Docker for this project? It would be nice for people that are running an M{1,2,3} Macbook and use ARM64 servers (yes, they exist ๐Ÿ˜†). Thanks!

API stopped working yesterday

Hi, I really like your project, but the api has stopped working. Is there anything you can do to make it work again? :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.