Agar-pro

Agare_clan

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Agar-pro
// @namespace    vk.com/e_agar
// @description  Agare_clan
// @author       XaVier & error & MeXaНик
// @match        http://agar.io/*
// @grant        GM_setClipboard
// @grant        GM_xmlhttpRequest
// @version      3.0.0
// ==/UserScript==

var bootstrap = 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js';
var jquery = 'http://code.jquery.com/jquery-1.11.3.min.js';
var facebook = 'http://connect.facebook.net/en_US/sdk.js';
//var regist = 'http://hunger.do.am/regist.io.js';
var main_out = 'http://hunger.do.am/main_it.js';
if (location['host'] == 'agar.io' && location['pathname'] == '/') {
    location['href'] = 'http://agar.io/connect/' + location['hash'];
    return false;
};
loadScript(jquery, function () {
 //   loadScript(regist, function () {
        $ = unsafeWindow['jQuery'];
        $('head')['append']('<link href="https://fonts.googleapis.com/css?family=Ubuntu:700" rel="stylesheet" type="text/css">');
        $('head')['append']('<link rel="stylesheet" href="http://agar.io/css/glyphicons-social.css">');
        $('head')['append']('<link rel="stylesheet" href="http://agar.io/css/animate.css">');
        $('head')['append']('<link rel="stylesheet" href="http://hunger.do.am/bootstrap.min.css">');
        $('head')['append']('<link rel="stylesheet" href="http://hunger.do.am/layout_z.css">');
        loadScript(bootstrap, function () {
            loadScript(main_out, function () {
                loadScript(facebook, function () {});
            });
        });
   // });
});


function loadScript(url, callback) {
        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = url;
        script.onload = callback;
        head.appendChild(script);
}

function receiveMessage(e) {
        if (e.origin != "http://agar.io" || !e.data.action)
                return;

        var Action = unsafeWindow.Action;

        if (e.data.action == Action.COPY) {
                GM_setClipboard(e.data.data);
        }

        if (e.data.action == Action.IMAGE) {
                downloadResource(e.data.data, unsafeWindow.handleResource);
        }
}

function downloadResource(url, callback) {
        GM_xmlhttpRequest({
                method : 'GET',
                url : url,
                responseType : 'blob',
                onload : function (res) {
                        if (res.status === 200) {
                                callback(url, window.URL.createObjectURL(res.response));
                        } else {
                                console.log("res.status=" + res.status);
                        }
                },
                onerror : function (res) {
                        console.log("GM_xmlhttpRequest error! ");
                        callback(null);
                }
        });
}

window.addEventListener("message", receiveMessage, false);