The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Для Firefox развивается режим строгой изоляции страниц

07.02.2019 09:09

Разработчики Mozilla сообщили об успехах развития проекта Fission, в рамках которого предпринята попытка модернизации архитектуры Firefox для повышения защищённости браузера. По аналогии с изменениями, предложенными летом прошлого года в Chrome, в Firefox планируется реализовать режим строгой изоляции сайтов, при котором страницы разных сайтов всегда размещаются в памяти разных процессов, в каждом из которых применяется свой sandbox. Разделение осуществляется не по вкладкам, а по доменам, что позволит дополнительно изолировать содержимое внешних скриптов и iframe-блоков.

Проект развивается уже около года и в конце февраля достигнет состояния первого тестового выпуска (Milestone 1), в котором будет реализована возможность выноса выполнения содержимого iframe в отдельные процессы. В дальнейшем начнётся работа по адаптации подсистем Firefox для использования предложенной модернизированной архитектуры. В настоящее время Firefox запускает несколько процессов-обработчиков (от 1 до 7, в зависимости от настроек), каждый из которых обслуживает несколько вкладок, а также запускает отдельные процессы для WebExtension и интерфейса.

  1. Главная ссылка к новости (https://mystor.github.io/fissi...)
  2. OpenNews: Улучшение sandbox-изоляции в Firefox
  3. OpenNews: Выпуск sandboxed-tor-browser, прослойки для изоляции Tor Browser
  4. OpenNews: Усиление защиты Chrome
  5. OpenNews: Оценка потребления памяти Firefox в многопроцессном режиме
  6. OpenNews: Проект по интеграции поддержки Tor в Firefox
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: firefox
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (73) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:24, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Во почему у меня так логаеть.
    До 7 процессоров на вкладки.
    А у меня один, и то двупоточный.
     
     
  • 2.2, Шериф (?), 09:29, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Больше похоже не проблему индейцев.
     
  • 2.13, Ordu (ok), 10:09, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Оу, тебе придётся ещё страдать, и гораздо хуже. Mozilla параллелит всё, что можно параллелить. А что нельзя, они превращают в конвеер, в котором разные фазы выполняются разными потоками/ядрами. Это постепенно просачивается в файрфокс, и то что здесь они сделали -- это даже не к тому, чтобы повысить параллельность, это к тому, чтобы делить задачи по процессам немного иначе. Закон Мура всё, приказал долго жить. Чтобы продолжать наращивать вычислительные мощности, теперь будут наращивать количество вычислительных ядер. Возможно интегрировать GPU в CPU, так же как когда-то FPU интегрировали в CPU, стирать границу между GPU и CPU.

    А если забить ещё пару косяков, то может придти в голову идея стереть различия между софтварными pipeline'ами обработки данных, GPU'шными pipeline'ами, и CPU'шными ядрами/потоками/конвеерами. У меня -- увы -- травы недостаточно, чтобы представить что в результате может получиться. Там, я боюсь, никакого раста не хватит, придётся изобретать ещё более суперновый и суперреволюционный язык программирования, чтобы иметь хоть какие-то шансы освоить вновь открывающиеся вычислительные перспективы.

    Но в любом случае, владельцы одноядерных машин будут страдать, и с каждым годом всё ужаснее и невыносимее, потому что накладные расходы на софтварное переключение потоков будут выжирать всё больше и больше их процессорных тактов, вплоть до момента, когда их процессор будет 100% времени заниматься переключением контекстов выполнения и у него не останется времени ни на что иное.

     
     
  • 3.16, Аноним (16), 10:41, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > У меня -- увы -- травы недостаточно, чтобы представить что в результате может получиться.

    OpenCL?
    OpenMP 5.0?

     
     
  • 4.33, Аноним (33), 14:16, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Какие нафг OpenCL или OpenMP вы что больные кушаете на завтрак?

    Там тормозит ___ J a v a  S c r i p t ___

     
     
  • 5.40, Stax (ok), 15:42, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Javascript это всего лишь язык. Он выполняет на некий код, на котором тормозит. Тормозит потому, что не хватает процессорной мощности конкретного ядра для этого тяжелого кода. Вот можно через OpenMP распараллелить обработку и раскидать по нескольким ядрам, и тормозить не будет. Или выгрузить на видяху через OpenCL, опять же процессор разгрузится. Что не так-то?
     
     
  • 6.64, xl32 (ok), 23:30, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он однопоточный.
     
     
  • 7.65, Stax (ok), 00:46, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Он однопоточный.

    Web workers для кого изобрели?

     
  • 7.72, Аноним (72), 10:03, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А ещё в нём есть асинхронность, что уменьшает нужду в потоках. Не судите понятиями других языков.
     
     
  • 8.80, xl32 (ok), 13:31, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы точно прочли комментарий, на который я отвечал Там фантазии про загрузку все... текст свёрнут, показать
     
  • 8.91, proninyaroslav (ok), 21:57, 10/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В браузере может и да В остальных случаях на многоядерной машине вы будете гоня... текст свёрнут, показать
     
  • 7.90, proninyaroslav (ok), 21:54, 10/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Язык не определяет потоковую модель, яваскрип не исключение (он и многопоточный и однопоточный в зависимости от среды). За исключением какого нибудь Golang в который это вшито.
     
  • 6.66, Аноним (66), 01:22, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    JavaScript тормозит потому что динамическая типизация. Сложно оптимизировать JITом.
     
     
  • 7.73, Аноним (72), 10:04, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то JS не тормозит. В контексте веба, точнее. Тормозит DOM, это узкое горлышко.
     
  • 5.46, Аноним (46), 16:53, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Там тормозит ___ J a v a  S c r i p t ___

    В интерфейсе браузера? Пруфы давай.

    Вот в ранних версиях там тоже ui был js, но как вы любите писать трава была зеленее (все было ок)

     
  • 3.58, Аноним (58), 20:13, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, прошли те времена, когда я на одном ядре спокойно держал фф на 1300 табов
     
     
  • 4.68, vitalif (ok), 01:54, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ппц, никогда не поверю
     
     
  • 5.70, Анонимчжан (?), 07:02, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ветка 2.3 вполне на многое была способна. хотя по ощущениям опера тогда чуть шустрее работала.
     
     
  • 6.75, Аноним (58), 11:29, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это была ветка 3.х
     
     
  • 7.79, vitalif (ok), 12:01, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Это была ветка 3.х

    Трэш. Что на этих табах было? Хеллоу ворлд? У некоторых оно выжирало всю память на 20 табах))

     
     
  • 8.82, Аноним (82), 16:43, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вы что, прон одновременно в 20 табах смотрите что ли Да у меня сейчас гораздо б... текст свёрнут, показать
     
  • 6.76, Аноним (58), 11:29, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, был период, когда опера была лучше
     
  • 6.85, Аноним (46), 19:38, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > хотя по ощущениям опера тогда чуть шустрее работала.

    опера - это вообще кусок, который почему-то "русское сообщество" любит. Больше он нигде не ценится.

     
  • 5.78, Аноним (58), 11:33, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да мне все равно, я то знаю. Это не вопрос веры. У кого-то и больше табов было.
     
  • 4.89, Аноним (89), 17:03, 09/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то мне подсказывает, что в те времена не было страницы были намного проще
     
  • 2.27, Аноним (27), 12:37, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кто мешает зайти в настройки и поставить 1 процесс?
     
     
  • 3.83, пох (?), 18:47, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    код фуфлофоксы мешает, который на одном процессоре, внезапно, после всех улучшизмов и переписываний на хруст, начал работать заметно медленнее (вероятно из-за того что при 1 не отключаются танцы вокруг локов и прочие потери на псевдо-параллелизм)

    так что расслабьтесь - будущее не за openmp, а за кластером из умных холодильников и тостеров (все равно стоят) на которые и будет распределяться рендеринг страницы.

     
  • 2.48, X86 (ok), 17:14, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    7 процессоров - это, конечно, много. Надо бы ему видеокарту скормить еще.
     
  • 2.51, casm (ok), 17:42, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Установите в about:config параметр browser.tabs.remote.autostart = false и перезапустите.
    Будет как раньше на всё один процесс.
     
     
  • 3.62, мое (?), 21:43, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Установите в about:config параметр browser.tabs.remote.autostart = -1
    и будет один процесс на каждую вкладку  как в хроме
     
  • 3.77, Аноним (58), 11:30, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вот только при этом не тянет фф много табов, регулярно крешится при старте или после.
     
  • 2.63, Gannet (ok), 21:56, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот почему у меня на четырёхьидрёном процессоре ни палучается 15 патокав, ну вот пачиму?
     

  • 1.4, Аноним (4), 09:32, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как же теперь вк будет уведомлениями моргать?..
     
     
  • 2.5, Andrey Mitrofanov (?), 09:37, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Как же теперь вк будет уведомлениями моргать?..

    На гугль уповаем:

    ...сделает стандарт на уведомительный светодиод для настоль-PC для файерфокса.   </нет>

     
  • 2.17, Дегенератор (ok), 10:42, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Азбукой Морзе на светодиоде роутера
     
  • 2.53, Аноним (53), 18:18, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А что ему помешает? Сейчас он как это делает?
    Ныне для этой задачи есть сервис-воркеры. Можно уведомления показывать даже тогда, когда сайт у юзера не открыт, если юзер подписался. А можно делать по старинке, в самой вкладке.
     

  • 1.6, IronMan (?), 09:38, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    То есть теперь он будет жрать память и ресурсы процессора как хром, или даже больше?
     
     
  • 2.8, Crazy Alex (ok), 09:45, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    оно ж уже?
     
     
  • 3.10, Andrey Mitrofanov (?), 09:48, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > оно ж уже?

    они совершенствуют, а совершенству нет предела.

     
  • 3.11, IronMan (?), 09:57, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У меня нет. Хромиум на 3 гигах ОЗУ и Intel GMA забивает всю память уже на 4-5 вкладках, при попытке воспроизвести видео чаще всего зависает. Возможно, нужно включить софтовый декодинг, но я просто открываю Фаерфокс и все прекрасно работает.
     
     
  • 4.57, ABATAPA (ok), 18:58, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В FF часто открыто 150+ вкладок, висящих по многу дней (не после восстановления сессии).
    i5-4570, 8G памяти (рабочая машина). Переодически "закрываю все вкладки справа", и начинаю снова.
    Ничего не тормозит.
     
  • 2.12, Аноним (12), 10:06, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а что Вы хотите, накладные расходы ядра на «обслуживание» процесса, как единицы выполняемых инструкций на процессоре, не могут равняться нулю. Говорят потоки отнимают меньше ресурсов (сам сомневаюсь по незнанию), но там похоже с изоляцией дело плохо.

    Но Вы не огорчайтесь, прогресс не стоит на месте. Да и Вы сами можете поспособствовать развитию. Например если изучите данный вопрос досконально, и, хотя бы дадите свои авторитетные рекомендации на ресурсах которые используют для общения люди наиболее приближенные к разработке ядра (ну, или сами подключайтесь к разработке ;)!

     
     
  • 3.21, Crazy Alex (ok), 11:54, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В случае браузера потоки отнимают радикально меньше ресурсов, и именно за счёт изоляции - один общий JIT чего стоит. Нужда в настолько надёжной изоляции лично мне не очевидна ни разу, так что я со своими сотнями вкладок просто сбежал на Pale Moon пару-тройку лет назад, и назад не собираюсь.

     
     
  • 4.59, Аноним (58), 20:19, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    PaleMoon это хорошо, но по факту приходится держать и ФФ, поскольку некоторые вещи PaleMoon не мог нормально отображать, не работало нихрена (буквально несколько историй таких, надо бы проверить, может уже починили). Плюс расширения.
     
     
  • 5.61, Crazy Alex (ok), 21:28, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Большую часть починили, по крайней мере я давно не бился о подобное. А раньше - да, регулярно было. У меня, правда, на такие случаи был seamonkey - тоже древний, но обычно либо в одном, либо во втором окрывалось. Собственно, он и сейчас есть - в роли почтовика.
     
  • 5.81, Аноним84701 (ok), 14:14, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >  (буквально несколько  историй таких, надо бы проверить, может уже починили). Плюс расширения.

    Не успевают чинить за ломателями:
    https://github.com/groovytron/maracker/commit/2684d9e72b10d2f410787148ceaa4793
    не грузится даже в дефолтном профиле, без блокировщиков и прочего.
    Ну и та же менюшка для выбора бранча тоже теперь поломана.
    Непонятно только, зачем им 700KБ ЖС-фреймворков и 600 КБ CSS, если работает оно только в двух браузерных движках.

     
     
  • 6.84, пох (?), 18:54, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    в трех - в йоже еще работает (то есть бранчи выбираются). Как (и чего ради) можно ухитриться сделать банальный селектор неработающим в чем-то посовременней lynx - ну да, вопрос к макакам.

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

     

  • 1.19, Аноним (19), 11:42, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Разделение осуществляется не по вкладкам, а по доменам, что позволит дополнительно изолировать содержимое внешних скриптов и iframe-блоков.

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

     
     
  • 2.20, Аноним (20), 11:48, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    С сайтами висящими на одном домене... Да и вообще в целом это похоже на замечательный вектор для атак. Нужно и по вкладкам и по доменам тогда, но где ж столько памяти взять.
     

  • 1.22, cat666 (ok), 12:09, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Теперь только осталось Firefox на эрланге переписать и вообще будет класс. Вот интересно если такому браузеру подкинуть страничку с овер-дохера iframe как быстро он самовыпилится или положит систему?
     
     
  • 2.25, КО (?), 12:34, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну я думаю они быстро додумаются до шаринга процессов, и все вернется на круги своя.

    P.S. А зачем делать, если и так полно людей с овер1к открытых вкладок. У меня есть знакомые, которым, по моим наблюдениям, гораздо проще открыть еще одну вкладку, чем найти или удалить старую. И ничего - пользуются же они Хромом.

     
  • 2.54, Аноним (53), 18:24, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот интересно если такому браузеру подкинуть страничку с овер-дохера iframe как быстро он самовыпилится или положит систему?

    Ньюфаг, это и в старых браузерах проблемой было, с одним процессом. Были даже специальные тестовые страницы с сотнями фреймов, и браузер с AdblockPlus умирал особенно хорошо.
    Только раньше однопроцессный браузер целиком лагал, фризился или крашился от плохой вкладки. А теперь лагает, фризится или крашится вкладка, а браузер живой, т.к. отдельные процессы.

     

  • 1.23, Аноним (23), 12:12, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > в рамках которого предпринята попытка модернизации архитектуры Firefox для повышения защищённости браузера.

    Характерно, что там не идёт речь о переписывании соответствующих частей на ржавчине.

     
     
  • 2.43, фуфлофокс (?), 15:56, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Характерно, что там не идёт речь о переписывании соответствующих частей на ржавчине.

    это рутинный процесс, зачем о нем отдельно говорить?


     

  • 1.24, Ретроград (?), 12:28, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Так они же совсем недавно весь браузер переписали - что, архитектура уже устарела за 10 релизов?
     
     
  • 2.35, VEG (ok), 14:20, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Переписали только небольшие кусочки. И продолжают переписывать. Это работа на несколько лет.
     
     
  • 3.38, Аноним (23), 15:12, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тысячелетий.
     
     
  • 4.44, Сизиф (?), 15:57, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тысячелетий.

    если продолжать переписывать уже переписанное - вам и на несколько эонов хватит, я знаю.


     

  • 1.31, freehck (ok), 13:21, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Угу, приехали. То есть теперь у нас 1 вкладка = 1 процесс. И чем мы теперь так принципиально отличаемся от uzbl, интересно... Разве что аддонов побольше, это-то конечно радует...
     
     
  • 2.37, iPony (?), 14:52, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > И чем мы теперь так принципиально отличаемся от uzbl

    Тем что Firefox живой

     
     
  • 3.50, X86 (ok), 17:42, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, без Firefox один Chrome останется...
     

  • 1.32, Аноним (32), 14:14, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в ночной сборке так и должно быть, что не отображаются строки в about.config?

    (ps: если ввести название строки то поиск находит)

    Проверял в firefox-67.0a1.

     
     
  • 2.36, Аноним (36), 14:48, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А в ночной сборке так и должно быть, что не отображаются строки
    > в about.config?
    > (ps: если ввести название строки то поиск находит)
    > Проверял в firefox-67.0a1.

    Нажми Esc. Новый about:config то ещё деpьмище.

     
  • 2.55, Аноним (53), 18:28, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://www.ghacks.net/2019/01/31/firefoxs-new-aboutconfig-page/
     

  • 1.52, Аноним (52), 18:12, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    640 гигабайт и 64 ядра хватит для всех.
     
     
  • 2.60, Аноним (58), 20:22, 07/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    64 ядра уже доступны. 640 Гигов это 5Килобаксов. Не, не надо такого счастья.
     
     
  • 3.88, Аноним (88), 16:48, 09/02/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это была отсылка к высказыванию одного очень известного разработчика, впоследствии ставшего самым богатым человеком в мире
     

  • 1.56, Аноним (56), 18:52, 07/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Разделение осуществляется не по вкладкам, а по доменам

    Ага, привет google turbopages (atm, или как его там?).

     
     
  • 2.69, Аноним (69), 04:35, 08/02/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >atm

    Для гугла вполне.

     

  • 1.71, Аноним (71), 09:39, 08/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То есть сколько доменов, столько будет и процессов висеть?
    Очень интересно что же ещё эти "гении" из Мозиллы придумают
     
  • 1.74, Аноним (74), 10:44, 08/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нам нужна новая архитектура процессоров и пара-тройка ЯП.  Остальное КЕМ!
     
  • 1.86, ОнанВарвар (?), 00:34, 09/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Последнее время FireFox не радует - тормозит, лагает... Все эти улучшения - не в коня корм. Перешел на Pale Moon.
     
  • 1.87, Другой Аноним (?), 10:24, 09/02/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Редактировать куки запретят или нет?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру