โ€œvk.com/away.phpโ€ เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเซ‹ เช…เชฅเชตเชพ เชคเช‚เชฆเซเชฐเชธเซเชค เชตเซเชฏเช•เซเชคเชฟเชจเซ€ เชฒเชฟเช‚เช•เชจเซ‡ เช…เชจเซเชธเชฐเชตเซ€

VKontakte เชชเชฐ เชชเซ‹เชธเซเชŸ เช•เชฐเซ‡เชฒเซ€ เชฒเชฟเช‚เช•เซเชธ เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เชœเซ‹เชถเซ‹ เช•เซ‡, เช…เชจเซเชฏ เชธเชพเชฎเชพเชœเชฟเช• เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชจเซ€ เชœเซ‡เชฎ, เชชเซเชฐเชฅเชฎ "เชธเชฒเชพเชฎเชค" เชฒเชฟเช‚เช• เชชเชฐ เชธเช‚เช•เซเชฐเชฎเชฃ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เชธเชพเชฎเชพเชœเชฟเช• เชจเซ‡เชŸเชตเชฐเซเช• เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชตเชงเซ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชตเซ€ เชœเซ‹เชˆเช เช•เซ‡ เชจเชนเซ€เช‚. เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชธเชšเซ‡เชค เชฒเซ‹เช•เซ‹เช เชฌเซเชฐเชพเช‰เชเชฐเชจเชพ เชธเชฐเชจเชพเชฎเชพเช‚ เชฌเชพเชฐเชฎเชพเช‚ "vk.com/away.php" เชจเชพ เช…เชกเชงเชพ-เชธเซ‡เช•เชจเซเชกเชจเซ‹ เชฆเซ‡เช–เชพเชต เชœเซ‹เชฏเซ‹, เชชเชฐเช‚เชคเซ, เช…เชฒเชฌเชคเซเชค, เชคเซ‡เชจเซ‡ เช•เซ‹เชˆ เชฎเชนเชคเซเชต เช†เชชเซเชฏเซเช‚ เชจเชนเซ€เช‚.

โ€œvk.com/away.phpโ€ เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเซ‹ เช…เชฅเชตเชพ เชคเช‚เชฆเซเชฐเชธเซเชค เชตเซเชฏเช•เซเชคเชฟเชจเซ€ เชฒเชฟเช‚เช•เชจเซ‡ เช…เชจเซเชธเชฐเชตเซ€

เชชเซเชฐเชพเช—เซˆเชคเชฟเชนเชพเชธเชฟเช•

เชเช• เชฆเชฟเชตเชธ, เชเช• เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเซ‡, เชฌเซ€เชœเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเซ‚เชฐเซเชฃ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชคเซ‡ เชฆเชฐเซ‡เช•เชจเซ‡ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เช•เชนเซ‡เชตเชพเชจเซ€ เช‡เชšเซเช›เชพเชฅเซ€ เช—เซเชฐเชธเซเชค เช›เซ‡. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชเช• เช…เชจเชจเซเชฏ IP เชธเชพเชฅเซ‡ เชธเชฐเซเชตเชฐ เชชเชฐ เชนเซ‹เชธเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชกเซ‹เชฎเซ‡เชจ เชจเชพเชฎ เชตเชฟเชจเชพ. เชคเซ‡เชฅเซ€, .ddns.net เชกเซ‹เชฎเซ‡เชจเชฎเชพเช‚ เชเช• เชธเซเช‚เชฆเชฐ เชคเซƒเชคเซ€เชฏ-เชธเซเชคเชฐเชจเซเช‚ เชธเชฌเชกเซ‹เชฎเซ‡เช‡เชจ เชเชกเชชเชฅเซ€ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชœเซ‡ เช†เช–เชฐเซ‡ เชเช• เชฒเชฟเช‚เช• เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซเช‚ เชนเชคเซเช‚. 

เชฅเซ‹เชกเชพ เชธเชฎเชฏ เชชเช›เซ€ เชชเซ‹เชธเซเชŸ เชชเชฐ เชชเชพเช›เชพ เชซเชฐเซเชฏเชพ, เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเซ‡ เชถเซ‹เชงเซเชฏเซเช‚ เช•เซ‡ เชธเชพเช‡เชŸเชจเซ‡ เชฌเชฆเชฒเซ‡, เชเช• VK เชธเซเชŸเชฌ เช–เซเชฒเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡, เชœเซ‡ เช…เชธเซเชฐเช•เซเชทเชฟเชค เชธเชพเช‡เชŸ เชชเชฐ เชธเช‚เช•เซเชฐเชฎเชฃ เชตเชฟเชถเซ‡ เชœเชพเชฃ เช•เชฐเซ‡ เช›เซ‡:

โ€œvk.com/away.phpโ€ เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชตเซ‹ เช…เชฅเชตเชพ เชคเช‚เชฆเซเชฐเชธเซเชค เชตเซเชฏเช•เซเชคเชฟเชจเซ€ เชฒเชฟเช‚เช•เชจเซ‡ เช…เชจเซเชธเชฐเชตเซ€

เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชธเซเชฎเชพเชฐเซเชŸ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชชเซ‹เชคเชพเชจเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชจเซ‹ เช…เชงเชฟเช•เชพเชฐ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“เช เช•เชˆ เชธเชพเช‡เชŸ เชชเชฐ เชœเชตเซเช‚ เชœเซ‹เชˆเช เช…เชจเซ‡ เช•เชˆ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ VKontakte เช…เชฒเช— เชฐเซ€เชคเซ‡ เชตเชฟเชšเชพเชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซเชฐเซ‰เชš เชตเชฟเชจเชพ เชฒเชฟเช‚เช•เชจเซ‡ เช…เชจเซเชธเชฐเชตเชพเชจเซ€ เช•เซ‹เชˆ เชคเช• เชชเซเชฐเชฆเชพเชจ เช•เชฐเชคเซเช‚ เชจเชฅเซ€.

เช–เซ‹เชŸเซ เชถเซเช‚ เช›เซ‡

เช† เช…เชฎเชฒเซ€เช•เชฐเชฃเชฎเชพเช‚ เช˜เชฃเชพ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช—เซ‡เชฐเชซเชพเชฏเชฆเชพ เช›เซ‡:

  • เชถเช‚เช•เชพเชธเซเชชเชฆ เชธเชพเช‡เชŸ เช–เซ‹เชฒเชตเชพเชฎเชพเช‚ เช…เชธเชฎเชฐเซเชฅเชคเชพ. เช‰เชชเชฐ เชœเชฃเชพเชตเซเชฏเชพ เชฎเซเชœเชฌ, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเชพเชธเซ‡ เชธเซเชŸเชฌเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ‹ เช•เซ‹เชˆ เชฐเชธเซเชคเซ‹ เชจเชฅเซ€. เชฒเชฟเช‚เช• เช–เซ‹เชฒเชตเชพเชจเซ‹ เชเช•เชฎเชพเชคเซเชฐ เชฐเชธเซเชคเซ‹ เช เช›เซ‡ เช•เซ‡ เชคเซ‡เชจเซ‡ เชเชกเซเชฐเซ‡เชธ เชฌเชพเชฐเชฎเชพเช‚ เช•เซ‰เชชเชฟ เช•เชฐเซ€เชจเซ‡ เชชเซ‡เชธเซเชŸ เช•เชฐเซ‹.
  • เชฒเชฟเช‚เช• เชจเซ‡เชตเชฟเช—เซ‡เชถเชจเชจเซ‡ เชงเซ€เชฎเซเช‚ เช•เชฐเซ‡ เช›เซ‡. เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชถเชจ เชเชกเชช เชชเชฟเช‚เช— เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡. เชคเชฆเชจเซเชธเชพเชฐ, เช‰เชšเซเชš เชชเชฟเช‚เช— เชธเชพเชฅเซ‡, เชœเซ€เชตเชจเชจเซ€ เช•เชฟเช‚เชฎเชคเซ€ เชธเซ‡เช•เช‚เชก เช—เซเชฎเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชœเซ‡ เช†เชชเชฃเซ‡ เชœเชพเชฃเซ€เช เช›เซ€เช, เชคเซ‡ เชธเซเชตเซ€เช•เชพเชฐเซเชฏ เชจเชฅเซ€.
  • เชธเช‚เช•เซเชฐเชฎเชฃ เชฎเซ‹เชจเซ€เชŸเชฐเซ€เช‚เช—. เช† เชชเชฆเซเชงเชคเชฟ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เช•เซเชฐเชฟเชฏเชพเช“ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชœเซ‡, เช…เชฒเชฌเชคเซเชค, VK เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡ เชชเซ‹เชธเซเชŸเชจเซ€ เช†เชˆเชกเซ€เชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฒเชฟเช‚เช•เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡ เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชธเช‚เช•เซเชฐเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.

Django เชฎเซเช•เซเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เช‰เชชเชฐเซ‹เช•เซเชค เชคเชฎเชพเชฎ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‹ เชถเซเชฐเซ‡เชทเซเช  เช‰เช•เซ‡เชฒ เชฌเซเชฐเชพเช‰เชเชฐ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เชธเซเชชเชทเซเชŸ เช•เชพเชฐเชฃเซ‹เชธเชฐ, เชชเชธเช‚เชฆเช—เซ€ Chrome เชชเชฐ เชชเชกเซ‡ เช›เซ‡. เชนเชฌ เชชเชฐ เชเช• เช‰เชคเซเชคเชฎ เช›เซ‡ เชฒเซ‡เช– Chrome เชฎเชพเชŸเซ‡ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เชฒเซ‡เช–.

เช†เชตเชพ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เชเช• เช…เชฒเช— เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชฌเซ‡ เชซเชพเช‡เชฒเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡: เชตเชฐเซเชคเชฎเชพเชจ url เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ json-Manifest เช…เชจเซ‡ JavaScript เชซเชพเช‡เชฒ.

เชฎเซ‡เชจเชฟเชซเซ‡เชธเซเชŸ เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹

เช…เชฎเชจเซ‡ เชœเซ‡ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชคเซ‡ เช เช›เซ‡ เช•เซ‡ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‡ เชŸเซ‡เชฌ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชธเซ‹เช‚เชชเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเชตเซ€.

{
  "manifest_version": 2,
  "name": "Run Away From vk.com/away",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": ["tabs"],
  "browser_action": {
    "default_title": "Run Away From vk.com/away"
  }
}

js เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹

เช…เชนเซ€เช‚ เชฌเชงเซเช‚ เชœ เชธเชฐเชณ เช›เซ‡: เชœเซเชฏเชพเชฐเซ‡ เชจเชตเซ€ เชŸเซ‡เชฌ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เช•เชนเซ‡เชตเชพเชฏ เชคเซ‡เชตเซ€ เช˜เชŸเชจเชพเชฎเชพเช‚, เช…เชฎเซ‡ url เชธเชฐเชจเชพเชฎเชพ เชฎเชพเชŸเซ‡ เชเช• เชšเซ‡เช• เช‰เชฎเซ‡เชฐเซ€เช เช›เซ€เช เชœเซ‹ เชคเซ‡ "เชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡vk.com/away.php", เชชเช›เซ€ เชคเซ‡เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเซ‹, เชœเซ‡ GET เชตเชฟเชจเช‚เชคเซ€เชฎเชพเช‚ เช›เซ‡:

chrome.tabs.onCreated.addListener( function (tabId, changeInfo, tab) {
	chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
		var url = tabs[0].url;
		if (url.substr(0,23) == "https://vk.com/away.php"){
			var last = url.indexOf("&", 0)
			if(last == -1)last = 1000;
			var url = decodeURIComponent(url.substr(27, last-27));
			chrome.tabs.update({url: url});
		}
	});
});

เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เช‚เช—

เชฌเช‚เชจเซ‡ เชซเชพเช‡เชฒเซ‹ เชเช• เชœ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช›เซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเซเชฏเชพ เชชเช›เซ€, Chrome เช–เซ‹เชฒเซ‹, เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชŸเซ‡เชฌ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช…เชจเซ‡ "เชฒเซ‹เชก เช…เชจเชชเซ‡เช•เซเชก เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ" เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเซ‹. เช–เซเชฒเชคเซ€ เชตเชฟเช‚เชกเซ‹เชฎเชพเช‚, เชฒเช–เซ‡เชฒเซ€ เชตเชฟเชธเซเชคเซƒเชค เชซเชพเช‡เชฒเชจเซเช‚ เชซเซ‹เชฒเซเชกเชฐ เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช…เชจเซ‡ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ‹ เช•เซเชฒเชฟเช• เช•เชฐเซ‹. เชคเซˆเชฏเชพเชฐ! เชนเชตเซ‡ vk.com/away เชœเซ‡เชตเซ€ เชฌเชงเซ€ เชฒเชฟเช‚เช•เซเชธ เชฎเซ‚เชณ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.

เชคเซ‡เชจเชพ เชฌเชฆเชฒเซ‡ เชเช• เชจเชฟเชทเซเช•เชฐเซเชท

เช…เชฒเชฌเชคเซเชค, เช† เชชเซเชฐเช•เชพเชฐเชจเชพ เชธเซเชŸเชฌเชฅเซ€ เช˜เชฃเชพ เชฒเซ‹เช•เซ‹เชจเซ‡ เชฒเชพเช–เซ‹ เช›เซ‡เชคเชฐเชชเชฟเช‚เชกเซ€เชจเซ€ เชธเชพเช‡เชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชฌเชšเชพเชตเซเชฏเชพ เช›เซ‡, เชœเซ‹ เช•เซ‡, เชนเซเช‚ เชฎเชพเชจเซเช‚ เช›เซเช‚ เช•เซ‡ เช…เชธเซเชฐเช•เซเชทเชฟเชค เชฒเชฟเช‚เช• เชชเชฐ เช•เซเชฒเชฟเช• เช•เชฐเชตเซเช‚ เช•เซ‡ เชจเชนเซ€เช‚ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชจเซ‹ เช…เชงเชฟเช•เชพเชฐ เชฒเซ‹เช•เซ‹เชจเซ‡ เชœ เช›เซ‡.
เชธเช—เชตเชก เชฎเชพเชŸเซ‡, เชฎเซ‡เช‚ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ เชชเซ‹เชธเซเชŸ เช•เชฐเซเชฏเซ‹ GitHub.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹