All Projects β†’ dtinth β†’ personal-puppeteer

dtinth / personal-puppeteer

Licence: other
A personal web page screenshotting service. Basically, it exposes an API that I can use to generate screenshot of any URL.

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to personal-puppeteer

code2img
Open REST API to create beautiful images of code snippets with 20+ color themes and syntax highlighting support for 10+ languages.
Stars: ✭ 25 (+31.58%)
Mutual labels:  puppeteer, vercel
Qawolf
🐺 Create browser tests 10x faster
Stars: ✭ 2,912 (+15226.32%)
Mutual labels:  puppeteer, vercel
deadlines
A simple, offline deadline tracker made with Vue.js and localForage.
Stars: ✭ 22 (+15.79%)
Mutual labels:  vercel
nextjs-microcms-tsx-jamstack-aspida-boilerplate
This is a Next.js^9.5 project bootstrapped with microCMS, aspida. And this is using TSX, Incremental Static Regeneration.
Stars: ✭ 13 (-31.58%)
Mutual labels:  vercel
jest-puppe-shots
A Jest plugin for creating screenshots of React components with a little help of Puppeteer
Stars: ✭ 86 (+352.63%)
Mutual labels:  puppeteer
youtube-json-server
Your personal Youtube API server to get Youtube API responses without needing credentials.
Stars: ✭ 32 (+68.42%)
Mutual labels:  vercel
Portfolio
A Next.js & Material UI portfolio that stylizes markdown files from the GitHub API and Contentful CMS.
Stars: ✭ 18 (-5.26%)
Mutual labels:  vercel
instagram-liked-posts-downloader
Download liked (or all) posts from an Instagram profile.
Stars: ✭ 19 (+0%)
Mutual labels:  puppeteer
trailing-slash-guide
Understand and fix your static website trailing slash issues!
Stars: ✭ 255 (+1242.11%)
Mutual labels:  vercel
browser-automation-api
Browser automation API for repetitive web-based tasks, with a friendly user interface. You can use it to scrape content or do many other things like capture a screenshot, generate pdf, extract content or execute custom Puppeteer, Playwright functions.
Stars: ✭ 24 (+26.32%)
Mutual labels:  puppeteer
onedrive-vercel-index
OneDrive public directory listing, powered by Vercel and Next.js
Stars: ✭ 1,725 (+8978.95%)
Mutual labels:  vercel
FrodoBot
πŸ₯ŠHibbett Mobile ATC bot
Stars: ✭ 18 (-5.26%)
Mutual labels:  puppeteer
percy-puppeteer
Visual testing with Puppeteer and Percy
Stars: ✭ 47 (+147.37%)
Mutual labels:  puppeteer
jest-puppeteer-istanbul
Collect code coverage information from end-to-end jest puppeteer tests
Stars: ✭ 26 (+36.84%)
Mutual labels:  puppeteer
instagram-get-images
Instagram get images πŸŒ„ (hashtags, account, locations) with puppeteer
Stars: ✭ 69 (+263.16%)
Mutual labels:  puppeteer
tina-starter-alpaca
NextJS Documentation starter powered by TinaCMS
Stars: ✭ 55 (+189.47%)
Mutual labels:  vercel
throughout
πŸŽͺ End-to-end testing made simple (using Jest and Puppeteer)
Stars: ✭ 16 (-15.79%)
Mutual labels:  puppeteer
animeflix
A anime discovery, streaming site made with NextJs and TailwindCSS. Uses AniList API and video data from GogoAnime. No ads and no vpn required
Stars: ✭ 326 (+1615.79%)
Mutual labels:  vercel
ts-faker
Generate fake data using TypeScript interfaces
Stars: ✭ 55 (+189.47%)
Mutual labels:  vercel
healeycodes.com
🏑 Personal blog/website running Next.js.
Stars: ✭ 44 (+131.58%)
Mutual labels:  vercel

personal-puppeteer

This is a personal web page screenshotting service. Basically, it exposes an API that I can use to generate screenshot of any URL. By personal I mean that only I can use it. It is secured with JWT. But it is open source, and you can run your own instance.

It is deployed to Vercel and is inspired by Vercel’s Open Graph Image as a Service. The main difference is that this service is designed to be reusable across many use cases. It can capture arbitrary URLs and run arbitrary code. It is multi-tenant. I can reuse this service without having to share secrets.

β†’ Read the project introduction post for more info.

Usage

See the website for usage information.

Adding a new tenant

Note: Do not send pull requests to this repository to add a new tenant. Instead, please deploy personal-puppeteer to your own account.

  1. Generate an RS256 keypair for JWT signing.

  2. Edit api/auth.ts and add a new entry to the allowList.

  3. Within less than a minute Vercel will deploy the changes allowing the new tenant to use the API right away.

Development

yarn
yarn vercel dev

Docker-based development

This setup uses the recently-released AWS Lambda Base Images to get a development environment as closest to the actual serverless function when run in Vercel as possible. This allows you to locally test, e.g. how fonts are rendered.

docker-compose build
docker-compose run server yarn vercel login
docker-compose up

Deployment

yarn
yarn vercel
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].