ИзбавляСмся ΠΎΡ‚ Β«vk.com/away.phpΒ» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ссылкам Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ ΠΏΠΎ ссылкам, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΌ Π²ΠΎ Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈ Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях, сначала происходит ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Β«Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽΒ» ссылку, послС Ρ‡Π΅Π³ΠΎ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ°Π΅Ρ‚: Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ дальшС ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… людСй Π·Π°ΠΌΠ΅Ρ‡Π°Π»ΠΈ ΠΏΠΎΠ»-сСкундноС появлСниС Β«vk.com/away.phpΒ» Π² адрСсной строкС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΏΡ€ΠΈΠ΄Π°Π²Π°Π»ΠΈ этому значСния.

ИзбавляСмся ΠΎΡ‚ «vk.com/away.php» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ссылкам Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°

ΠŸΡ€Π΅Π΄Ρ‹ΡΡ‚ΠΎΡ€ΠΈΡ

ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹, Π½Π΅ΠΊΠΈΠΉ программист, Π΄ΠΎΠ΄Π΅Π»Π°Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, осознал, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΠΎ Π½Ρ‘ΠΌ всСм Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ размСщался Π½Π° сСрвСрС с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ IP, Π½ΠΎ Π±Π΅Π· Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° ΡΠΊΠΎΡ€ΡƒΡŽ Ρ€ΡƒΠΊΡƒ Π±Ρ‹Π» сдСлал красивый ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ уровня Π² Π΄ΠΎΠΌΠ΅Π½Π΅ .ddns.net, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΈΡ‚ΠΎΠ³Π΅ использовался Π² качСствС ссылки.Β 

Π’Π΅Ρ€Π½ΡƒΠ²ΡˆΠΈΡΡŒ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΊ посту, программист ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ вмСсто сайта открываСтся Π·Π°Π³Π»ΡƒΡˆΠΊΠ° Π²ΠΊ, ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‰Π°Ρ ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° нСбСзопасный сайт:

ИзбавляСмся ΠΎΡ‚ «vk.com/away.php» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ссылкам Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°

Казалось Π±Ρ‹, ΡƒΠΌΠ½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ сами Π²ΠΏΡ€Π°Π²Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ сайт ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ, Π° Π½Π° ΠΊΠ°ΠΊΠΎΠΉ Π½Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΠΈΠ½Π°Ρ‡Π΅ ΠΈ Π½Π΅ прСдоставляСт Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ возмоТности Π±Π΅Π· костылСй ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ ссылкС.

Π§Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ

Π£ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ нСсколько вСсомых нСдостатков:

  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ возмоТности ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сайт. Как Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Ρ‚ возмоТности ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ Π·Π°Π³Π»ΡƒΡˆΠΊΡƒ. ЕдинствСнный способ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ссылку β€” ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π°Π΄Ρ€Π΅ΡΠ½ΡƒΡŽ строку.
  • ЗамСдляСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΏΠΎ ссылкС. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСнаправлСния зависит ΠΎΡ‚ ΠΏΠΈΠ½Π³Π°. БоотвСтствСнно ΠΏΡ€ΠΈ большом ΠΏΠΈΠ½Π³Π΅, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΠ°ΡΡ‚ΡŒ Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ сСкунды ΠΆΠΈΠ·Π½ΠΈ, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Π½Π΅ допустимо.
  • ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ². Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ сбор ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ дСйствиях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Π΅ΠΌ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π’ΠΊ, добавляя ΠΊ бСзопасной ссылкС id поста с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» сдСлан ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.

ОсвобоТдаСм Π”ΠΆΠ°Π½Π³ΠΎ

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ всСх Π²Ρ‹ΡˆΠ΅ пСрСчислСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. По ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½Π° Chrome. На Ρ…Π°Π±Ρ€Π΅ Π΅ΡΡ‚ΡŒ отличная ΡΡ‚Π°Ρ‚ΡŒΡ ΡΡ‚Π°Ρ‚ΡŒΡ посвящСнная написанию Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для Π‘hrome.

Для создания Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π°ΠΌ понадобится ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°: json-Manifest ΠΈ JavaScript-Ρ„Π°ΠΉΠ» для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ url адрСса.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ 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});
		}
	});
});

Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅

УбСдившись Ρ‡Ρ‚ΠΎ ΠΎΠ±Π° Ρ„Π°ΠΉΠ»Π° Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Chrome, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Β«Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ распакованноС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Β». Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ написанного Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ. Π“ΠΎΡ‚ΠΎΠ²ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС ссылки Π²ΠΈΠ΄Π° vk.com/away Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° исходныС.

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ спас ΠΌΠ½ΠΎΠ³ΠΎ людСй ΠΎΡ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΠΊΠΈΡ… сайтов, ΠΎΠ΄Π½Π°ΠΊΠΎ, я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ люди сами Π² ΠΏΡ€Π°Π²Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠΌ Π½Π° Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ссылку ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
Для удобства я размСстил ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° github.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com