ফায়ারফক্সে আমি কীভাবে গুগল ডেটা সংক্ষেপণ প্রক্সি ব্যবহার করব?


20

আমি ট্রিস্কেল জিএনইউ / লিনাক্সে জিএনইউ আইসক্যাট (মজিলা ফায়ারফক্সের জিএনইউ সংস্করণ) ব্যবহার করছি । ওয়েব সার্ফিংয়ের সময় ডেটা ব্যবহারকে হ্রাস / অপ্টিমাইজ করার জন্য, আমি গুগলের ডেটা সংক্ষেপণ প্রক্সি ব্যবহার করতে চাই ।

সুতরাং, আমি কীভাবে ফায়ারফক্সে গুগল ডেটা সংক্ষেপণ প্রক্সি ব্যবহার করব?

দ্রষ্টব্য / ইতিহাস: আমি আমার সমস্যার সমাধান পেতে ঘুরে বেড়াচ্ছিলাম । উত্তর আমাকে একটা আনা চ্যাট-রুম , যেখানে আমি পরিশেষে একটি পাওয়া উপায়


1
উইকি.মোজিলা.আর.কম / মোবাইল / জানুস গ্রুথ জানুস গিথুব থেকে গ্রাহক এবং নিজের পরিষেবা চালাবেন?
ssnobody

কোড. google.com/p/datacompressionproxy এছাড়াও দরকারী কোড হতে পারে ...
ssnobody

1
একটি দ্রষ্টব্য হিসাবে, সরাসরি সংশ্লেষ করার জন্য এইচটিটিপি প্রক্সি সেট করে যা আমাকে সংক্ষেপণ প্রক্সির সাথে সংযুক্ত করে কিন্তু আমি কোনও সাইট লোড করতে পারিনি: "এই পৃষ্ঠাটি ক্রোম ডেটা সংক্ষেপণের মাধ্যমে লোড করা যায় না cannot প্রক্সি। পৃষ্ঠাটি পুনরায় লোড করার চেষ্টা করুন। আমি অনুমান করি যে প্রক্সিটি Chrome- নির্দিষ্ট শিরোনামের জন্য কিছু পরীক্ষা করছে ...
ssnobody

প্রক্সিটি সুনির্দিষ্ট নির্দিষ্ট শিরোলেখের মতো খুঁজছেন এটি হ'ল ক্রোম-প্রক্সি। উপরে শিরোনামটি সঠিকভাবে উত্পন্ন করার কোডটি ব্যাকগ্রাউন্ডের মধ্যে dat
ssnobody

উত্তর:


19

নন-ক্রোম ব্রাউজারগুলিতে গুগল ক্রোম ডেটা সংক্ষেপণ প্রক্সি ব্যবহার করা দুটি পদক্ষেপের সাথে জড়িত।

  1. আপনার HTTP প্রক্সি proxy.googlezip.netএবং পোর্ট সেট করুন 80
  2. আপনার প্রতিটি অনুরোধের জন্য, Chrome-Proxyআপনার অনুরোধে শিরোনাম গণনা করুন এবং ইনজেক্ট করুন ।

Chrome-Proxyহেডার নিম্নলিখিত পংক্তি থাকা উচিত: ps=<timestamp>-<num1>-<num2>-<num3>, sid=<md5 string>, b=<build>, p=<patch>, c=<platform>যেখানে:

  • টাইমস্ট্যাম্প: ইউনিক্স যুগের আগে থেকে কেটে যাওয়া সেকেন্ডের বর্তমান সংখ্যা
  • num1, num2, num3: এলোমেলো সংখ্যা যা সেট করা যেতে পারে 0
  • এমডি 5 স্ট্রিং: অ্যাথ স্ট্রিংয়ের এমডি 5
  • প্রমাণীকরণের স্ট্রিং: " <timestamp>" + " <auth key>" + " <timestamp>"
  • প্রমাণীকরণ কী: ac4500dd3b7579186c1b0620614fdb1f7d61f944
  • বিল্ড: ক্রোম বিল্ড নম্বর, এ সেট করা যেতে পারে 2214
  • প্যাচ: ক্রোম প্যাচ নম্বর, সেট করা যেতে পারে 115
  • প্ল্যাটফর্ম: ক্রোম প্ল্যাটফর্ম, " win" এ সেট করা যেতে পারে

শিরোনামের পুরো উদাহরণ হিসাবে আপনার কাছে থাকতে পারে: Chrome-Proxy: ps=1439961190-0-0-0, sid=9fb96126616582c4be88ab7fe26ef593, b=2214, p=115, c=win

এখন, এটি ব্যবহারিকভাবে বাস্তবায়নের জন্য, আমি মনে করি একটি সহজ এক্সটেনশন ব্যবহার করা সহজ সমাধান তবে ফায়ারফক্সের জন্য এমন কোনও উপস্থিতি উপস্থিত নেই যা ইতিমধ্যে এই কার্যকারিতা রয়েছে।

অতএব, আমি ফায়ারফক্সের 38 বা ততোধিক সংস্করণের জন্য আমার নিজের ফায়ারফক্স এক্সটেনশনটি প্রয়োগ করেছি যা যে কেউ ফায়ারফক্সে গুগল ক্রোম ডেটা সংক্ষেপণ প্রক্সি ব্যবহার করতে দেয় এবং নীচের কোডটি সহ am

নিম্নলিখিতটি আমি প্রসারণটি বিকাশ ও পরীক্ষার জন্য ব্যবহার করেছিলাম এবং অন্যদের স্ক্র্যাচ থেকে এক্সটেনশনটি পুনরায় জন্মানোর অনুমতি দেয়।


  1. পান এবং ইনস্টল করুন nodejs
  2. এর মাধ্যমে npmইনস্টল করতে নোডেজ থেকে ব্যবহার jpmকরুনnpm install jpm

    লক্ষ্য করুন উবুন্টু প্যাকেজের কিছু সংস্করণে nodeযেমন nodejsতাই যদি jpmখুঁজে না পান nodeআপনি nodejs আরেকটি বন্টন ইনস্টল অথবা জন্য একটি লিঙ্ক তৈরি করতে হতে পারে nodeজন্যnodejs

  3. এক্সটেনশনের জন্য এবং cdএটিতে একটি নতুন ডিরেক্টরি তৈরি করুন

  4. jpm init
  5. উত্তর ডিফল্ট সঙ্গে অনুরোধ জানানো হয়
  6. নীচে সরবরাহ করা কোডের সাথে আপনার সূচি.জেগুলি প্রতিস্থাপন করুন
  7. jpm run

    মনে রাখবেন যে যদি jpmস্ট্যান্ডার্ড লোকেশনগুলিতে ফায়ারফক্স খুঁজে পেতে অক্ষম হন তবে jpmআপনার ব্রাউজারটি কোথায় খুঁজে পাওয়া যায় তা জানাতে আপনাকে -b পতাকাটিও পাস করতে হবে। (যেমন jpm run -b /path/to/Firefox/Nightly)

আপনার এই নতুন এক্সটেনশানটি লোড হওয়া এবং এই সেশনের সময় গুগল ক্রোম ডেটা কমপ্রেসন প্রক্সি দিয়ে সমস্ত ট্র্যাফিক প্রক্সির সাথে ফায়ারফক্স খোলা উচিত।

যেহেতু jpm runএকটি অস্থায়ী প্রোফাইল তৈরি করে, jpm runআপনার ট্র্যাফিক প্রক্সাইড করতে চাইলে আপনাকে এই এক্সটেনশানটির প্রয়োজন হবে । আপনি অ্যাড-অন পরিচালককেও jpm xpiএবং করতে পারেন Install Add-on From File

আপনি শিরোনামের প্রতিক্রিয়া শিরোনামগুলি পরীক্ষা করে আপনার ডেটা প্রক্সিং করা হচ্ছে Viaযা Chrome সংক্ষেপণ প্রক্সি (উদাহরণস্বরূপ Via: "1.1 Chrome-Compression-Proxy") এর উপরে ডেটা প্রেরণ করা নির্দেশ করে can

সার্ভারের প্রতিক্রিয়াগুলিতে Content-Lengthশিরোনামটির সাথে শিরোনামটির তুলনা করে আপনি কতটা ডেটা সঞ্চয় করছেন তা নির্ধারণ করতে পারেন X-Original-Content-Length


Index.js এর জন্য কোড নিম্নলিখিত:

/*
 * Data Compressor Proxy 0.0.1
 * License: MPL
 *
 * Based on
 * Data Compression Proxy Extension for Google Chrome on Desktop
 * (c) 2014 Jerzy Glowacki. License: Apache 2.0

 * and includes
 * JavaScript MD5 1.0.1
 * https://github.com/blueimp/JavaScript-MD5
 * Copyright 2011, Sebastian Tschan
 * https://blueimp.net
 * Licensed under the MIT license:
 * http://www.opensource.org/licenses/MIT
 *
 * JavaScript MD5 1.0.1 is Based on
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
 * Digest Algorithm, as defined in RFC 1321.
 * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */

var self = require('sdk/self');
var { Class } = require('sdk/core/heritage');
var { Unknown } = require('sdk/platform/xpcom');
var {Cc, Ci} = require("chrome");
var prefsvc = require("sdk/preferences/service");

var httpRequestObserver = Class(
{
  extends:  Unknown,
  interfaces: [ 'nsIObserver' ],
  topic: '*',
  observe: function(subject, topic, data)
  {
    if (topic == "http-on-modify-request") {
      var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
      httpChannel.setRequestHeader("Chrome-Proxy", this.authHeader(), false);
    }
  },

  get observerService() {
    return Cc["@mozilla.org/observer-service;1"]
                     .getService(Ci.nsIObserverService);
  },

  authHeader : function() {
    var authValue = 'ac4500dd3b7579186c1b0620614fdb1f7d61f944';
    var timestamp = Date.now().toString().substring(0, 10);
    return 'ps=' + timestamp + '-' + '0' + '-' + '0' + '-' + '0' + ', sid=' + md5(timestamp + authValue + timestamp) + ', b=2214' + ', p=115' + ', c=win';
  },

  register: function()
  {
    this.observerService.addObserver(this, "http-on-modify-request", false);
  },

  unregister: function()
  {
    this.observerService.removeObserver(this, "http-on-modify-request");
  }
});

var httprequestobserver = httpRequestObserver();
httprequestobserver.register();
prefsvc.set("network.proxy.http", "proxy.googlezip.net");
prefsvc.set("network.proxy.http_port", 80);
prefsvc.set("network.proxy.type", 1);

!function(a){"use strict";function b(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function c(a,b){return a<<b|a>>>32-b}function d(a,d,e,f,g,h){return b(c(b(b(d,a),b(f,h)),g),e)}function e(a,b,c,e,f,g,h){return d(b&c|~b&e,a,b,f,g,h)}function f(a,b,c,e,f,g,h){return d(b&e|c&~e,a,b,f,g,h)}function g(a,b,c,e,f,g,h){return d(b^c^e,a,b,f,g,h)}function h(a,b,c,e,f,g,h){return d(c^(b|~e),a,b,f,g,h)}function i(a,c){a[c>>5]|=128<<c%32,a[(c+64>>>9<<4)+14]=c;var d,i,j,k,l,m=1732584193,n=-271733879,o=-1732584194,p=271733878;for(d=0;d<a.length;d+=16)i=m,j=n,k=o,l=p,m=e(m,n,o,p,a[d],7,-680876936),p=e(p,m,n,o,a[d+1],12,-389564586),o=e(o,p,m,n,a[d+2],17,606105819),n=e(n,o,p,m,a[d+3],22,-1044525330),m=e(m,n,o,p,a[d+4],7,-176418897),p=e(p,m,n,o,a[d+5],12,1200080426),o=e(o,p,m,n,a[d+6],17,-1473231341),n=e(n,o,p,m,a[d+7],22,-45705983),m=e(m,n,o,p,a[d+8],7,1770035416),p=e(p,m,n,o,a[d+9],12,-1958414417),o=e(o,p,m,n,a[d+10],17,-42063),n=e(n,o,p,m,a[d+11],22,-1990404162),m=e(m,n,o,p,a[d+12],7,1804603682),p=e(p,m,n,o,a[d+13],12,-40341101),o=e(o,p,m,n,a[d+14],17,-1502002290),n=e(n,o,p,m,a[d+15],22,1236535329),m=f(m,n,o,p,a[d+1],5,-165796510),p=f(p,m,n,o,a[d+6],9,-1069501632),o=f(o,p,m,n,a[d+11],14,643717713),n=f(n,o,p,m,a[d],20,-373897302),m=f(m,n,o,p,a[d+5],5,-701558691),p=f(p,m,n,o,a[d+10],9,38016083),o=f(o,p,m,n,a[d+15],14,-660478335),n=f(n,o,p,m,a[d+4],20,-405537848),m=f(m,n,o,p,a[d+9],5,568446438),p=f(p,m,n,o,a[d+14],9,-1019803690),o=f(o,p,m,n,a[d+3],14,-187363961),n=f(n,o,p,m,a[d+8],20,1163531501),m=f(m,n,o,p,a[d+13],5,-1444681467),p=f(p,m,n,o,a[d+2],9,-51403784),o=f(o,p,m,n,a[d+7],14,1735328473),n=f(n,o,p,m,a[d+12],20,-1926607734),m=g(m,n,o,p,a[d+5],4,-378558),p=g(p,m,n,o,a[d+8],11,-2022574463),o=g(o,p,m,n,a[d+11],16,1839030562),n=g(n,o,p,m,a[d+14],23,-35309556),m=g(m,n,o,p,a[d+1],4,-1530992060),p=g(p,m,n,o,a[d+4],11,1272893353),o=g(o,p,m,n,a[d+7],16,-155497632),n=g(n,o,p,m,a[d+10],23,-1094730640),m=g(m,n,o,p,a[d+13],4,681279174),p=g(p,m,n,o,a[d],11,-358537222),o=g(o,p,m,n,a[d+3],16,-722521979),n=g(n,o,p,m,a[d+6],23,76029189),m=g(m,n,o,p,a[d+9],4,-640364487),p=g(p,m,n,o,a[d+12],11,-421815835),o=g(o,p,m,n,a[d+15],16,530742520),n=g(n,o,p,m,a[d+2],23,-995338651),m=h(m,n,o,p,a[d],6,-198630844),p=h(p,m,n,o,a[d+7],10,1126891415),o=h(o,p,m,n,a[d+14],15,-1416354905),n=h(n,o,p,m,a[d+5],21,-57434055),m=h(m,n,o,p,a[d+12],6,1700485571),p=h(p,m,n,o,a[d+3],10,-1894986606),o=h(o,p,m,n,a[d+10],15,-1051523),n=h(n,o,p,m,a[d+1],21,-2054922799),m=h(m,n,o,p,a[d+8],6,1873313359),p=h(p,m,n,o,a[d+15],10,-30611744),o=h(o,p,m,n,a[d+6],15,-1560198380),n=h(n,o,p,m,a[d+13],21,1309151649),m=h(m,n,o,p,a[d+4],6,-145523070),p=h(p,m,n,o,a[d+11],10,-1120210379),o=h(o,p,m,n,a[d+2],15,718787259),n=h(n,o,p,m,a[d+9],21,-343485551),m=b(m,i),n=b(n,j),o=b(o,k),p=b(p,l);return[m,n,o,p]}function j(a){var b,c="";for(b=0;b<32*a.length;b+=8)c+=String.fromCharCode(a[b>>5]>>>b%32&255);return c}function k(a){var b,c=[];for(c[(a.length>>2)-1]=void 0,b=0;b<c.length;b+=1)c[b]=0;for(b=0;b<8*a.length;b+=8)c[b>>5]|=(255&a.charCodeAt(b/8))<<b%32;return c}function l(a){return j(i(k(a),8*a.length))}function m(a,b){var c,d,e=k(a),f=[],g=[];for(f[15]=g[15]=void 0,e.length>16&&(e=i(e,8*a.length)),c=0;16>c;c+=1)f[c]=909522486^e[c],g[c]=1549556828^e[c];return d=i(f.concat(k(b)),512+8*b.length),j(i(g.concat(d),640))}function n(a){var b,c,d="0123456789abcdef",e="";for(c=0;c<a.length;c+=1)b=a.charCodeAt(c),e+=d.charAt(b>>>4&15)+d.charAt(15&b);return e}function o(a){return unescape(encodeURIComponent(a))}function p(a){return l(o(a))}function q(a){return n(p(a))}function r(a,b){return m(o(a),o(b))}function s(a,b){return n(r(a,b))}function t(a,b,c){return b?c?r(b,a):s(b,a):c?p(a):q(a)}"function"==typeof define&&define.amd?define(function(){return t}):a.md5=t}(this);

3
লক্ষণীয় কিছু বিষয় হ'ল উবুন্টু ১৪.০৪-এ (এবং ট্রিস্কেল এটির মতাদর্শগতভাবে বিশুদ্ধ রূপান্তরকারী, নোড কমান্ডটি নোডেজ নয় নোড I ফলস্বরূপ আমি বিকল্প রেপোতে আরও নতুন সংস্করণ ব্যবহার করার পরামর্শ দিই - নোডোসোর্সটি আমার পক্ষে পছন্দসই
জার্নিম্যান গীক

1
অবশেষে এটি ট্র্যাক্কেল জিএনইউ / লিনাক্সে অ্যাবরোজার 38- তে ভাল কাজ করে
পান্ড্য

আপনি কি আমাকে সেখানে
পান্ড্য

ব্যবহার করুন jpm xpiএকটি XPI নির্মাণ ও এটি ইনস্টল করা।
ssnobody

@ এসএসএনবডি ধন্যবাদ; আপনি ইতিমধ্যে আপনার উত্তরে উল্লেখ করেছেন তবে আমি এটি মিস করেছি!
পান্ড্য

7

মজিলা অ্যাড-অনস ওয়েবসাইটে পোস্ট করা ফায়ারফক্স এক্সটেনশনের জন্য এখন একটি গুগল ডেটা সেভার প্রক্সি রয়েছে

ফায়ারফক্সের জন্য গুগল ডেটা সংক্ষেপণ প্রক্সি-ফায়ারফক্সের জন্য ডেটা সেভার বৈশিষ্ট্যটিকে সক্ষম করে


যে কেউ এটি তৈরি করেছে আমি উপরে পোস্ট করা কোডটি ব্যবহার করেছি তবে ব্যক্তিগত ব্রাউজিং সমর্থন এবং শ্বেত তালিকা হিসাবে বেশ কয়েকটি উন্নতি করেছি। খুব সুন্দর!
ssnobody
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.