Избавляемся от "Ой, извините" в браузере

Никакой магии в виде VPN, только расширение для браузера позволяющее добавлять свои JS скрипты для страниц.

Избавляемся от "Ой, извините" в браузере

Вчера я в шутку создал скрипт для подмены всеми "любимой" страницы с недоступными у нас играми, на страничку содержащую ссылку на торрент, картинку с которой здесь часто кидают. Так вот в комментариях попросили, что лучше бы вообще избавиться от этой странички и показать нормальную. И решение такое есть - это редирект с использованием "кодов стран" (country code), который любезно предоставил нам дядюшка Габен.

Важно отметить несколько моментов. Во-первых, это будет работать только без авторизации на сайте, в противном случае Steam берет данные из профиля, вне зависимости от кода страны переданного в ссылке. Во-вторых, нужно подтвердить свой возраст, если он у вас еще не был подтвержден, на любой игре доступной у нас, т.к. с редиректом проверка почему-то не проходит. Ну и в-третьих, хоть страница и станет доступной и будет выглядеть как и всегда, цены на ней изменятся на страну редиректа 😉

Итак, устанавливаем расширение, например Tampermonkey, создаем в нем новый скрипт и вставляем туда следующий код:

// ==UserScript== // @name Steam Redirect If Sorry // @namespace http://tampermonkey.net/ // @version 1.1.1 // @author StiGMaT // @match https://store.steampowered.com/app/* // @match https://store.steampowered.com/sub/* // @match https://store.steampowered.com/bundle/* // @icon https://www.google.com/s2/favicons?sz=64&domain=steampowered.com // @grant none // ==/UserScript== (function() { 'use strict'; let url = window.location.href; //'country code' for redirect, ISO 3166-1 alpha-2, see comment at end let cc = 'us'; //redirect only if error page open let redirIfError = true; //redirect if error to community let redirToCommunity = false; let isRedir = url.indexOf('cc=') > 0; let isError = $J('#error_box').length > 0; //function change url, add 'country code' function addCCtoUrl(url, cc='us') { if (url.indexOf('?') > -1) { return url + '&cc=' + cc } else { return url + '?cc=' + cc } } if (!redirIfError || isError) { if (redirToCommunity) { //redirect to community if (url.indexOf('store.steampowered.com/app/') != -1) { window.location.href = 'https://steamcommunity.com/app/' + url.split('/')[4]; } } else { //redirect to new country if (!isRedir) { if (document.cookie.indexOf('birthtime') == -1) { document.cookie = 'birthtime=157755600' } window.location.href = addCCtoUrl(url, cc); isRedir = true; } //change store link, add code country if (isRedir) { var links = document. Links; for(var ii=0, max=links.length; ii<max; ii++) { if ((links[ii].href.indexOf('store.steampowered.com/app/') != -1) || (links[ii].href.indexOf('store.steampowered.com/sub/') != -1) || (links[ii].href.indexOf('store.steampowered.com/bundle/') != -1)) { links[ii].href = addCCtoUrl(links[ii].href, cc); } } } } } })();

Сейчас скрипт настроен на ридерект в США и только на страницах с ошибками. За это отвечают 2 переменные в самом начале скрипта. Чтобы поменять страны, вы должны изменить ее код в переменной cc. Например для того чтобы поменять на Турцию, вы должны указать:

let cc = 'tr';

Вот коды самых популярных регионов:

AR Аргентина EU Евросоюз KZ Казахстан TR Турция UA Украина US США AZ СНГ

Если нужны другие, напишите в комментариях добавлю все, но их легко узнать из Вики. Да, Steam поддерживает не все страны, но он вроде может определять ценовой регион по коду, т.е. если указать DE (Германия), то цены будут для Евросоюза, а если UZ (Узбекистан), то для СНГ.

Второй параметр redirIfError, он отвечает за редирект на всех страницах игр (комлектов и наборов), а не только тех, что не доступны, достаточно указать в нем false:

let redirIfError = false;

По просьбам трудящихся добавлен третий параметр (redirToCommunity ), который переадресует на Центр сообщества, вместо редиректа в другую страну, его нужно установить в true:

let redirToCommunity = true;

Ну в общем то и все, изменяйте параметры, сохраняйте и заходите на страницы Старфилдов и Киберпанков для проверки 😏

PS: Так как делал это в свое время для собственных нужд, возможно что-то не учел, готов исправить по просьбам желающих 🙄

13K13K показов
4.5K4.5K открытий
22 репоста
79 комментариев

"Ой Извините" - как же банально и скучно то, вот это - уже илитарно и другое дело)

Ответить
Ответить

Вот холера курва!

Ответить

хохол

Ответить

хм, а какие игры не доступны в Украине?

Ответить

Просто поменяйте регион аккаунта

Ответить

Это запрещено пользовательским соглашением!

(да, меня вернули обратно в Россию, но это не важно)

Ответить