diff --git a/config.h b/config.h index 3d3b3c241..104b8c6cc 100644 --- a/config.h +++ b/config.h @@ -14,7 +14,7 @@ #define TIME_URL "http://downloads.raspberrypi.org/os_list_imagingutility_v2.json?time_synchronization" /* Phone home the name of images downloaded for image popularity ranking */ -#define TELEMETRY_URL "https://rpi-imager-stats.raspberrypi.org/downloads?url=$imageurl&os=$parentcategory&image=$osname" +#define TELEMETRY_URL "https://rpi-imager-stats.raspberrypi.org/downloads" #define TELEMETRY_ENABLED_DEFAULT true /* Hash algorithm for verifying (uncompressed image) checksum */ diff --git a/downloadstatstelemetry.cpp b/downloadstatstelemetry.cpp index cdfc4ffa8..ebe80290a 100644 --- a/downloadstatstelemetry.cpp +++ b/downloadstatstelemetry.cpp @@ -10,9 +10,11 @@ */ DownloadStatsTelemetry::DownloadStatsTelemetry(const QByteArray &url, const QByteArray &parentcategory, const QByteArray &osname, QObject *parent) - : QThread(parent) + : QThread(parent), _url(TELEMETRY_URL) { - _url = QByteArray(TELEMETRY_URL).replace("$imageurl", QUrl::toPercentEncoding(url)).replace("$parentcategory", QUrl::toPercentEncoding(parentcategory)).replace("$osname", QUrl::toPercentEncoding(osname)); + _postfields = "url="+QUrl::toPercentEncoding(url) + +"&os="+QUrl::toPercentEncoding(parentcategory) + +"&image="+QUrl::toPercentEncoding(osname); _useragent = "Mozilla/5.0 rpi-imager/" IMAGER_VERSION_STR; } @@ -27,6 +29,8 @@ void DownloadStatsTelemetry::run() curl_easy_setopt(_c, CURLOPT_WRITEFUNCTION, &DownloadStatsTelemetry::_curl_write_callback); curl_easy_setopt(_c, CURLOPT_HEADERFUNCTION, &DownloadStatsTelemetry::_curl_header_callback); curl_easy_setopt(_c, CURLOPT_URL, _url.constData()); + curl_easy_setopt(_c, CURLOPT_POSTFIELDSIZE, _postfields.length()); + curl_easy_setopt(_c, CURLOPT_POSTFIELDS, _postfields.constData()); curl_easy_setopt(_c, CURLOPT_USERAGENT, _useragent.constData()); curl_easy_setopt(_c, CURLOPT_CONNECTTIMEOUT, 10); curl_easy_setopt(_c, CURLOPT_LOW_SPEED_TIME, 10); diff --git a/downloadstatstelemetry.h b/downloadstatstelemetry.h index 7b3d974d7..57bd4b601 100644 --- a/downloadstatstelemetry.h +++ b/downloadstatstelemetry.h @@ -18,7 +18,7 @@ class DownloadStatsTelemetry : public QThread protected: CURL *_c; - QByteArray _url, _useragent; + QByteArray _url, _useragent, _postfields; virtual void run(); static size_t _curl_write_callback(char *ptr, size_t size, size_t nmemb, void *userdata); static size_t _curl_header_callback( void *ptr, size_t size, size_t nmemb, void *userdata);