willwashburn/phpamo

A PHP library to create urls for Camo - the SSL image proxy


Keywords
proxy, ssl, tls, ssl proxy, camo, atmos camo, tls proxy
License
MIT

Documentation

phpamo Build Status Codecov Minimum PHP Version Packagist Packagist MIT License

A PHP library to create urls for Camo - the SSL image proxy 🔒

Note: It's pronounced Fa-fah-mo. I'll be honest, I've picked better names. Its like the "Name Game" for camo. Kind of. Ok whatever it doesn't make sense but the library still works!

For more infomration about Camo, please see the atmos/camo repository.

Installation

composer require willwashburn/phpamo

Alternatively, add "willwashburn/phpamo": "1.0.*" to your composer.json

Usage

If you're just looking to get going with the defaults:

    $phpamo = new \WillWashburn\Phpamo\Phpamo(
       'YOUR_CAMO_KEY',
       'YOUR_CAMO_DOMAIN'
    );
    
    // returns a url guaranteed to be https
    $phpamo->camo($url); 

Perhaps you only want to camouflage urls that are http?

    // returns a https url only when http url is used
    // otherwise returns the url
    $phpamo->camoHttpOnly($url); 

If you'd like to use query string urls instead of the default hex urls, just pass in the query string formatter when creating your object

    $phpamo = new \WillWashburn\Phpamo\Phpamo(
       'YOUR_CAMO_KEY',
       'YOUR_CAMO_DOMAIN',
       new QueryStringFormatter(new QueryStringEncoder)
    );
    
    // returns a https url in the query string format 
    $phpamo->camo($url); 

Change Log

  • v1.0.4 - Fix notice on scheme key when missing
  • v1.0.1 - Fix httpOnly method
  • v1.0.0 - Add support for query string formatted camo urls
  • v0.0.2 - Fix namespacing issues
  • v0.0.1 - Initial version

Credit

Thanks to Corey Donohoe for creating Camo.

Thanks to Andrew Kane for creating the ruby client on which this was based.

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help: