UNPKG

ga-proxy

Version:

CLI app that forwards requests to google-analytics.com to avoid tracking blockers.

6 lines 2.09 kB
#!/usr/bin/env node /*! *** Iron Maiden 2.0.0 *** Copyright © 2020, Jaid <jaid.jsx@gmail.com> (https://github.com/Jaid) *** @license MIT !*/!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}([function(e,t){e.exports=require("got")},function(e,t){e.exports=require("koa")},function(e,t){e.exports=require("query-string")},function(e,t){e.exports=require("request-ip")},function(e,t){e.exports=require("yargs")},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),i=r(1),a=r.n(i),u=r(2),s=r.n(u),c=r(3),l=r.n(c),p=r(4);r.n(p).a.scriptName("ga-proxy").version("2.0.0").command("$0","CLI app that forwards requests to google-analytics.com to avoid tracking blockers.",{port:{type:"number",default:80,alias:"p",description:"Listening port"},targetUrl:{type:"string",default:"https://www.google-analytics.com/collect",alias:"t",description:"Target URL"}},async e=>{const t=new a.a;t.use(t=>{const r=l.a.getClientIp(t.req),n={uip:r,...t.query};console.log(`${r} [${Object.keys(n).join(", ")}]`),t.assert(n.tid,400,"No tid given");const i={};t.header["User-Agent"]&&(i["User-Agent"]=t.header["User-Agent"]),o.a.post(e.targetUrl,{headers:i,body:s.a.stringify(n)}).catch(e=>{console.error(e)}),t.status=200}),t.listen(e.port)}).argv}]);