xRobot
xRobot

Reputation: 26573

How to host a chrome extension?

I need to host my chrome extension on my shared hosting with PHP.

I know that my server must use appropriates HTTP headers: code.google.com/chrome/extensions/hosting.html

But, how to set my server to send these headers in addiction to .crx file ?

Upvotes: 7

Views: 8722

Answers (2)

divaka
divaka

Reputation: 593

I do not know what web server are you using, but for Apache you can do the following:

  1. vi /path/to/your/httpd/conf/mime.types
  2. Add this line: application/x-chrome-extension crx at the end of the file
  3. Restart your webserver: killall -HUP httpd

Or you can try adding this line to your .htaccess file:

AddType application/x-chrome-extension crx

And it should work!

Upvotes: 1

Konrad Dzwinel
Konrad Dzwinel

Reputation: 37903

If you are on a shared hosting and can't change server configuration, use PHP:

<?php
$file = 'extension.crx';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/x-chrome-extension');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>

source

This will force file (specified by $file variable) download with customized headers.

Upvotes: 8

Related Questions