https://github.com/varnishcache/varnish-devicedetect
VCL based device detection for Varnish Cache.
https://github.com/varnishcache/varnish-devicedetect
Last synced: 11 days ago
JSON representation
VCL based device detection for Varnish Cache.
- Host: GitHub
- URL: https://github.com/varnishcache/varnish-devicedetect
- Owner: varnishcache
- License: other
- Created: 2012-02-21T13:48:51.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2022-12-04T09:44:27.000Z (over 2 years ago)
- Last Synced: 2025-02-16T11:13:15.554Z (2 months ago)
- Language: VCL
- Homepage:
- Size: 107 KB
- Stars: 300
- Watchers: 50
- Forks: 86
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Device detection in Varnish
===========================Introduction
------------The goal of this VCL set is to provide a simple & easy way of getting
device detection going in Varnish Cache. (https://www.varnish-cache.org)Specific problems we want to solve:
1) Detect the most common and easily detected (mobile/tablet) platforms.
2) Provide example VCL for using devicedetect.vcl with your existing VCL.These are explicit not goals for this project:
* Create a comprehensive set of capabilities per client. We don't want to spend a lot of effort on maintenance.
* Be perfect. It usually works, but if you need guarantees you should consider the commercial offerings instead.This project is maintained and updated by the community. If you see any false
positives or missing strings, fork the git repository and send a pull request.Requirements
------------You need a recent Varnish release. It may function with some adjustments on
previous versions, but you are on your own.It is worth noting that there is no compilation/linking required. This is VCL
code only.Your backends needs to be able to do produce different content based on what
type of device this is. This can be signalled to the backend through the URL,
with an extra HTTP header or with a cookie. See the INSTALL.rst file for
examples.Use cases
---------The following uses are envisioned for this VCL:
* Serve different content per device type on the same URL. This has the upside of not requiring a redirect on slow mobile networks.
* Redirect mobile/tablets to a different URL. (http://example.com/article/1234.html -> http://m.example.com/article/1234.html)Installation
------------See the INSTALL.rst file for details.
Similar efforts
---------------These similar efforts for User-Agent insights are known to us:
* https://deviceatlas.com/ (commercial)
* https://github.com/OpenDDRdotORG (free)
* https://www.varnish-cache.org/vmod/deviceatlas-mobile-detection (commercial VMOD for Deviceatlas by Varnish Software)
* https://github.com/TheWeatherChannel/dClass
* https://github.com/serbanghita/Mobile-Detect
* https://github.com/willemk/varnish-mobiletranslate (Generate VCL from Mobile-Detect data)Contact
-------This project lives on Github:
https://github.com/varnishcache/varnish-devicedetect/
Feature requests, bug reports and such can be added to the Github issue tracker.
This code is currently maintained by Christopher Slowe .