Chris cc30d2288e fix: sanitize API_KEY and BLOCK_PRIVATE_IPS in config generation
- Fix Issue 1: Normalize BLOCK_PRIVATE_IPS to safe boolean (true/false) using shell case statement to prevent PHP injection from non-boolean values like 'yes'
- Fix Issue 2: Strip single quotes from API_KEY to prevent PHP string injection if the value contains quotes
- Update docker-compose-dev.yml to document these configuration options

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 21:50:59 +02:00
ups
2025-06-10 11:23:45 +02:00
2025-06-10 11:09:14 +02:00
ups
2025-06-10 11:23:45 +02:00
ups
2025-06-10 11:23:45 +02:00
2025-06-10 10:39:47 +02:00
ups
2025-06-10 11:23:45 +02:00
ups
2025-06-10 11:23:45 +02:00

http2pic

Introduction

http2pic is an Open Source website renderer. It uses the wkhtmltox to render websites with various options.

Live demo on https://http2pic.haschek.at/

Dependencies

  • wkhtmltox
  • curl extension for PHP apt-get install php5-curl
  • Make sure the server has the "timeout" command apt-get install coreutils

Install

  • Download this repo and extract it somewhere on your webserver

With WKHTMLToImage

  • Install wkhtmltox on your server
  • Make /usr/sbin/wkhtmltoimage executable for the user that runs the webserver. For Apache it's the www-data user. Or use sudo

With PhantomJS

  • Install PhantomJS. eg via npm install -g phantomjs
  • Make /usr/bin/phantomjs executable for the user that runs the webserver. For Apache it's the www-data user. Or use sudo

Upgrade

Whenever you come to this page you can just download the repo again and overwrite the existing files. Should work out of the box

Usage

After you extracted the contents of this repo to your webserver and can access the page and it will tell you how to use the API.

But it's as simple as:

https://your-url-and.path/api.php?[OPTIONS]&url=[WEBSITE_URL]

The requested page will render as image (not provide a link). So you can use the path to your api.php file like so:

<img src="https://your-url-and.path/api.php?url=http://xkcd.com" title="screenshot of xkcd.com" />

Example php script to proxy an image to the local server

<?php
    $targeturl = 'http://www.xkcd.com';
    $url = 'https://http2pic.haschek.at/api.php?url='.rawurlencode($targeturl);
	    
    $ch = curl_init($url);
    $fp = fopen('xkcd.jpg', 'wb');
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
?>

This is a HASCHEK SOLUTIONS project

HS logo

Description
No description provided
Readme 27 MiB
Languages
JavaScript 47.3%
PHP 29.5%
CSS 10.1%
Less 8.9%
Dockerfile 2.7%
Other 1.5%