1
2
mirror of https://github.com/vimagick/dockerfiles synced 2024-06-16 11:58:47 +00:00
dockerfiles/splash
2015-07-17 16:38:25 +08:00
..
fonts add splash 2015-06-02 16:45:18 +08:00
docker-compose.yml add pure-ftpd 2015-06-09 22:45:42 +08:00
Dockerfile add splash 2015-06-02 16:45:18 +08:00
README.md upate 2015-07-17 16:38:25 +08:00

splash

Splash is a javascript rendering service with an HTTP API. It's a lightweight browser with an HTTP API, implemented in Python using Twisted and QT.

It's fast, lightweight and state-less which makes it easy to distribute.

docker-compose.yml

splash:
  image: vimagick/splash
  command: --maxrss 4096
  ports:
    - "8050:8050"
    - "8051:8051"
    - "5023:5023"
  volumes:
    - ./splash/proxy-profiles:/etc/splash/proxy-profiles
    - ./splash/js-profiles:/etc/splash/js-profiles
    - ./splash/filters:/etc/splash/filters
  mem_limit: 4500M
  restart: always

server

$ cd ~/fig/splash

$ tree
.
├── docker-compose.yml
└── splash
    ├── filters
    │   ├── easylist.txt
    │   └── default.txt
    ├── js-profiles
    └── proxy-profiles

$ cat splash/filters/default.txt
||fonts.googleapis.com^
||ajax.googleapis.com^

$ docker-compose up -d

If default.txt file is present in --filters-path folder it is used by default when filters argument is not specified. Pass filters=none if you dont want default filters to be applied.

client

$ http --proxy http:http://server:8051 http://stackoverflow.com x-splash-render:json x-splash-html:1 x-splash-png:1 x-splash-iframes:1 > so.json
$ jq . so.json

$ http --proxy http:http://server:8051 http://stackoverflow.com x-splash-render:png > so.png
$ open so.png