"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 рдорд╛ рдкрд░реНрдЫред рд╣рдм рдорд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЫ рд▓реЗрдЦ рдХреНрд░реЛрдордХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдорд░реНрдкрд┐рдд рд▓реЗрдЦред

рдпрд╕реНрддреЛ рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдЫреБрдЯреНрдЯреИ рдлреЛрд▓реНрдбрд░рдорд╛ рджреБрдИ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ: рд╣рд╛рд▓рдХреЛ url рдареЗрдЧрд╛рдирд╛ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди json-Manifest рд░ JavaScript рдлрд╛рдЗрд▓ред

Manifest рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореАрд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреЗ рдореБрдЦреНрдп рдХреБрд░рд╛ рднрдиреЗрдХреЛ рдЯреНрдпрд╛рдмрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреЛрдХреНрди рд╡рд┐рд╕реНрддрд╛рд░ рдЕрдиреБрдорддрд┐ рджрд┐рдиреБ рд╣реЛ:

{
  "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});
		}
	});
});

рд╡рд┐рд╕реНрддрд╛рд░ рд╕рдВрдпреЛрдЬрди

рджреБрдмреИ рдлрд╛рдЗрд▓рд╣рд░реВ рдПрдЙрдЯреИ рдлреЛрд▓реНрдбрд░рдорд╛ рдЫрдиреН рднрдиреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реЗрдкрдЫрд┐, рдХреНрд░реЛрдо рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН, рдПрдХреНрд╕рдЯреЗрдиреНрд╕рди рдЯреНрдпрд╛рдм рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ "рд▓реЛрдб рдЕрдирдкреНрдпрд╛рдХ рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рди" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЦреБрд▓реНрдиреЗ рд╡рд┐рдиреНрдбреЛрдорд╛, рд▓рд┐рдЦрд┐рдд рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдлрд╛рдЗрд▓рдХреЛ рдлреЛрд▓реНрдбрд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рд╕рдЩреНрдХрд▓рдирдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрдпрд╛рд░! рдЕрдм vk.com/away рдЬрд╕реНрддрд╛ рд╕рдмреИ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдореВрд▓рд╕рдБрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред

рдмрд░реБ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдХреЛ

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдпрд╕ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реНрдЯрдмрд▓реЗ рд▓рд╛рдЦреМрдВ рдзреЛрдЦрд╛рдзрдбреА рд╕рд╛рдЗрдЯрд╣рд░реВрдмрд╛рдЯ рдзреЗрд░реИ рдорд╛рдирд┐рд╕рд╣рд░реВрд▓рд╛рдИ рдмрдЪрд╛рдПрдХреЛ рдЫ, рддрдерд╛рдкрд┐, рдорд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЫ рдХрд┐ рдорд╛рдирд┐рд╕рд╣рд░реВ рдЖрдлреИрдВрд▓реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд▓рд┐рдЩреНрдХрдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреЗ рд╡рд╛ рдирдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреЗ рдЕрдзрд┐рдХрд╛рд░ рдЫред
рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐, рдореИрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреЛрд╕реНрдЯ рдЧрд░реЗрдВ github.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди