Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorMatthieu Napoli <matthieu@mnapoli.fr>2014-12-04 01:02:02 +0300
committerMatthieu Napoli <matthieu@mnapoli.fr>2014-12-04 01:02:02 +0300
commit5251216319a112156edc6290db1a95cbaf13c5f3 (patch)
tree1fe5309f7da9bdb4009528237d1499a43174d51c /misc
parente6aa8ee2f071bc4eedf27f07b0d27933092ca1b0 (diff)
#6788 Removed the tracker proxy (moved to a separate repository)
Diffstat (limited to 'misc')
-rw-r--r--misc/proxy-hide-piwik-url/README.md56
-rw-r--r--misc/proxy-hide-piwik-url/piwik.php105
2 files changed, 2 insertions, 159 deletions
diff --git a/misc/proxy-hide-piwik-url/README.md b/misc/proxy-hide-piwik-url/README.md
index 8c726b20ac..cf2bebf1e4 100644
--- a/misc/proxy-hide-piwik-url/README.md
+++ b/misc/proxy-hide-piwik-url/README.md
@@ -1,55 +1,3 @@
-## Piwik Proxy Hide URL
-This script allows to track statistics using Piwik, without revealing the
-Piwik Server URL. This is useful for users who track multiple websites
-on the same Piwik server, but don't want to show the Piwik server URL in
-the source code of all tracked websites.
+# Piwik Proxy Hide URL
-### Requirements
-To run this properly you will need
-
- * Piwik server latest version
- * One or several website(s) to track with this Piwik server, for example http://trackedsite.com
- * The website to track must run on a server with PHP5 support
- * In your php.ini you must check that the following is set: `allow_url_fopen = On`
-
-### How to track trackedsite.com in your Piwik without revealing the Piwik server URL?
-
-1. In your Piwik server, login as Super user
-2. create a user, set the login for example: "UserTrackingAPI"
-3. Assign this user "admin" permission on all websites you wish to track without showing the Piwik URL
-4. Copy the "token_auth" for this user, and paste it below in this file, in `$TOKEN_AUTH = "xyz"`
-5. In this file, below this help test, edit $PIWIK_URL variable and change http://your-piwik-domain.example.org/piwik/ with the URL to your Piwik server.
-6. Upload this modified piwik.php file in the website root directory, for example at: http://trackedsite.com/piwik.php
- This file (http://trackedsite.com/piwik.php) will be called by the Piwik Javascript,
- instead of calling directly the (secret) Piwik Server URL (http://your-piwik-domain.example.org/piwik/).
-7. You now need to add the modified Piwik Javascript Code to the footer of your pages at http://trackedsite.com/
- Go to Piwik > Settings > Websites > Show Javascript Tracking Code.
- Copy the Javascript snippet. Then, edit this code and change the last lines to the following:
-
- ```
- [...]
- (function() {
- var u="//trackedsite.com/";
- _paq.push(["setTrackerUrl", u+"piwik.php"]);
- _paq.push(["setSiteId", "trackedsite-id"]);
- var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0];
- g.type="text/javascript"; g.async=true; g.defer=true; g.src=u+"piwik.php"; s.parentNode.insertBefore(g,s);
- })();
- </script>
- <!-- End Piwik Code -->
- ```
-
- What's changed in this code snippet compared to the normal Piwik code?
-
- * the (secret) Piwik URL is now replaced by your website URL
- * the "piwik.js" becomes "piwik.php" because this piwik.php proxy script will also display and proxy the Javascript file
- * the `<noscript>` part of the code at the end is removed,
- since it is not currently used by Piwik, and it contains the (secret) Piwik URL which you want to hide.
- * make sure to replace trackedsite-id with your idsite again.
-
- 8. Paste the modified Piwik Javascript code in your website "trackedsite.com" pages you wish to track.
- This modified Javascript Code will then track visits/pages/conversions by calling trackedsite.com/piwik.php
- which will then automatically call your (hidden) Piwik Server URL.
- 9. Done!
- At this stage, example.com should be tracked by your Piwik without showing the Piwik server URL.
- Repeat the steps 6, 7 and 8 for each website you wish to track in Piwik.
+The proxy script has been moved to [piwik/tracker-proxy](https://github.com/piwik/tracker-proxy).
diff --git a/misc/proxy-hide-piwik-url/piwik.php b/misc/proxy-hide-piwik-url/piwik.php
deleted file mode 100644
index d1c9e9ca3c..0000000000
--- a/misc/proxy-hide-piwik-url/piwik.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/**
- * Piwik - free/libre analytics platform
- * Piwik Proxy Hide URL
- *
- * @link http://piwik.org/faq/how-to/#faq_132
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */
-
-// -----
-// Important: read the instructions in README.md or at:
-// https://github.com/piwik/piwik/tree/master/misc/proxy-hide-piwik-url#piwik-proxy-hide-url
-// -----
-
-// Edit the line below, and replace http://your-piwik-domain.example.org/piwik/
-// with your Piwik URL ending with a slash.
-// This URL will never be revealed to visitors or search engines.
-$PIWIK_URL = 'http://your-piwik-domain.example.org/piwik/';
-
-// Edit the line below, and replace xyz by the token_auth for the user "UserTrackingAPI"
-// which you created when you followed instructions above.
-$TOKEN_AUTH = 'xyz';
-
-// Maximum time, in seconds, to wait for the Piwik server to return the 1*1 GIF
-$timeout = 5;
-
-function sendHeader($header, $replace = true)
-{
- headers_sent() || header($header, $replace);
-}
-
-function arrayValue($array, $key, $value = null)
-{
- if (!empty($array[$key])) {
- $value = $array[$key];
- }
- return $value;
-}
-
-// DO NOT MODIFY BELOW
-// ---------------------------
-// 1) PIWIK.JS PROXY: No _GET parameter, we serve the JS file
-if (empty($_GET)) {
- $modifiedSince = false;
- if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
- $modifiedSince = $_SERVER['HTTP_IF_MODIFIED_SINCE'];
- // strip any trailing data appended to header
- if (false !== ($semicolon = strpos($modifiedSince, ';'))) {
- $modifiedSince = strtotime(substr($modifiedSince, 0, $semicolon));
- }
- }
- // Re-download the piwik.js once a day maximum
- $lastModified = time() - 86400;
-
- // set HTTP response headers
- sendHeader('Vary: Accept-Encoding');
-
- // Returns 304 if not modified since
- if (!empty($modifiedSince) && $modifiedSince < $lastModified) {
- sendHeader(sprintf("%s 304 Not Modified", $_SERVER['SERVER_PROTOCOL']));
- } else {
- sendHeader('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- sendHeader('Content-Type: application/javascript; charset=UTF-8');
- if ($piwikJs = file_get_contents($PIWIK_URL . 'piwik.js')) {
- echo $piwikJs;
- } else {
- sendHeader($_SERVER['SERVER_PROTOCOL'] . '505 Internal server error');
- }
- }
- exit;
-}
-
-@ini_set('magic_quotes_runtime', 0);
-
-// 2) PIWIK.PHP PROXY: GET parameters found, this is a tracking request, we redirect it to Piwik
-$url = sprintf("%spiwik.php?cip=%s&token_auth=%s&", $PIWIK_URL, getVisitIp(), $TOKEN_AUTH);
-
-foreach ($_GET as $key => $value) {
- $url .= urlencode($key ). '=' . urlencode($value) . '&';
-}
-sendHeader("Content-Type: image/gif");
-$stream_options = array('http' => array(
- 'user_agent' => arrayValue($_SERVER, 'HTTP_USER_AGENT', ''),
- 'header' => sprintf("Accept-Language: %s\r\n", str_replace(array("\n", "\t", "\r"), "", arrayValue($_SERVER, 'HTTP_ACCEPT_LANGUAGE', ''))),
- 'timeout' => $timeout
-));
-$ctx = stream_context_create($stream_options);
-echo file_get_contents($url, 0, $ctx);
-
-function getVisitIp()
-{
- $matchIp = '/^([0-9]{1,3}\.){3}[0-9]{1,3}$/';
- $ipKeys = array(
- 'HTTP_X_FORWARDED_FOR',
- 'HTTP_CLIENT_IP',
- 'HTTP_CF_CONNECTING_IP',
- );
- foreach($ipKeys as $ipKey) {
- if (isset($_SERVER[$ipKey])
- && preg_match($matchIp, $_SERVER[$ipKey])) {
- return $_SERVER[$ipKey];
- }
- }
- return arrayValue($_SERVER, 'REMOTE_ADDR');
-}