8 марта 2010 г.

Убираем рекламу на Gmail

Раньше как-то было не до этого, но вот начал плюшками со стилями баловаться. Нашел пару подходящих CSS стилей "GMail - Remove ads and relocate action links (alt) (alt2)" убирающий на почтовом сервисе gmail рекламу и переносящий кнопки действий (распологает над письмом кнопки: Новое окно, Печатать все, Развернуть все, Переслать все, Перевести цепочку писем), так же растягивает по-ширине окно письма, что делает чтение еще удобнее, если вы читаете почту в браузере. Стиль отлично приживается в расширениях браузеров "Stylish" FF и "Personalized Web" Chromium. Следите за обновлением скрипта на сайте. Он кстати автоматически загружается в "Stylish" и не нужно копировать вручную, просто нажать ссылку...

N.B. Не забудьте убрать "шапку" стиля для "Personalized Web", а то не сработает.

Если хотите только кнопки без надписей просто измените (спасибо aaafwd) 

.hk u { text-decoration: none !important; }
на
.hk u { display: none !important; }

Я сделал в секции "Action Links Area (level 1)" top: -90px, что подняло кнопки выше и с моим значением Zoom они не налезают на другие.

P.S. Браузер Midori 0.2.4 считается для гмайла неподдерживаемым браузером. Но он там и без яванаворотов гмайла прекрасно работает, внешний вид получается отличный и из-за этого этот стиль не нужен. Недостатки иногда полезны ;-)

4 марта 2010 г.

Fluxbox - автогруппирование

Сам виноват, что аварийно завершил работу флукса и у меня слетели настройки приложений (apps), а настраивал так давно, что и забыл что/где/когда? Из-за этого приходится делать еще одну статейку: "записки склеротика" ;-)

Иногда требуется чтобы приложения автоматически сгруппировывались сразу после запуска. Это называется "Автогруппирование". Документации описано как работает группирование закладок, но в Fluxbox с версии v1.1.1 изменено расположение и синтаксис файла автогруппирования, в старых версиях это был файл ~/.fluxbox/groups, а теперь записи о группировании приложений находятся в файле, который раньше описывал действия с приложениями(окнами) ~/.fluxbox/apps - настройки просто объединили в один файл.

Я выбрал режим "Размещать вкладки внутри заголовка окна" группируя XТерминалы подобно закладкам в браузере. Можно добавлять отдельные группы или вписать в существующие еще приложения по вашему вкусу.
Определить параметр name можно при помощи:
xprop |awk '/WM_CLASS/{print $3}' #$4 или $3
[group]
  [app] (name=xterm)
[end]

[group]
  [app] (name=tuxcmd)
  [app] (name=nautilus)
[end]

[app] (name=fbpager) (class=FbPager)
  [Deco] {NONE}
[end]
[app] (name=chromium-browser) (class=Chromium-browser)
  [Workspace] {1}
  [Jump] {yes}
  [Close] {yes}
[end]
[app] (name=midori) (class=Midori) (role=browser)
  [Workspace] {1}
  [Deco] {NONE}
  [Jump] {yes}
  [Close] {yes}
[end]
Мне нравится простой пейджер, раньше он настраивался в своем конфигурационном файле ~/.fluxbox/fbpager и запускался как положено, но в fb_1.1.1 вылазят ненужные для него декорации окон, потому нужно прописать запуск с [Deco] {NONE}.

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

N.B. Если вам понадобится наутилус во флуксе, его лучше запускать с параметрами: nautilus --no-desktop --browser

Полезно прочитать Документация Fluxbox

3 марта 2010 г.

Ускоряемся или экономия трафика

Возможное ускорение и экономию трафика под Ubuntu Linux мы получим в связке:
pdnsd+adzapper+bfilter+polipo
Так как безлимитный интернет не у всех, поэтому всеми возможными способами будем экономить на трафике... Очень простенько напишу о своих действиях, а то ведь не винда, возможно и забуду к тому времени как снова понадобится, а может и поможет кому-нибудь.

### Кэширование DNS ###

Этот пункт опциональный, на любителя, я как-то сделал из любопытства и оставил... При неустойчивой связи разрешение доменных имен может происходить довольно долго и не всегда с первого раза. Помогает локальный кэширующий DNS сервер. К тому же это позволит чуть-чуть сэкономить на трафике, особенно если вы испльзуете gprs :) И не нужно думать, что это плохая идея для домашнего использоания, ведь даже в Chrome/Chromiume сделали "упреждающее чтение DNS для ускорения загрузки страниц", так что вполне сгодится :-) Proxy DNS Server (пакет pdnsd) как раз и создан для наших целей. Он кэширует запросы и хранит кэш на диске.

По умолчанию файл конфигурации /etc/pdnsd.conf игнорируется. Вместо него используется один из файлов из каталога /usr/share/pdnsd/, что задается параметром AUTO_MODE в файле /etc/default/pdnsd. Для ручной настройки этот параметр нужно закомментировать.

Далее правим /etc/pdnsd.conf, добавляя в секцию server адресами DNS серверов своего провайдера, остальное на ваше усмотрение:
server {
ip = 192.168.3.1
, 192.168.3.2
}
Для правильной работы в /etc/resolv.conf должна быть прописано лишь одна строка:
nameserver 127.0.0.1
Но Network Manager ее перезаписывает при подключении pptp (VPN), возможно есть и более правильные решения, но чтобы как-то это исправить в /etc/ppp/ip-up или /etc/ppp/ip-up.local, смотря как у вас настроено соединение, необходимо дописать (параметр sleep необязателен):
sleep 3
echo "nameserver 127.0.0.1" > /etc/resolv.conf
Совет от FOX: "Практика показала, что не стоит сюда (resolv.conf) также вписывать адреса DNS-серверов провайдера. Если сервера недоступны, pdnsd будет возвращать либо закэшированный ответ, либо - немедленно - ошибку. В случае ошибки приложения будут затем запрашивать сервера провайдера и ждать положенный таймаут, задержка не уменьшится. Если же приложения обращаются только к pdnsd, ответ, как было сказано выше, будет получен немедленно. И таймаут можно уменьшить, настроив соответствующий параметр. И доступность серверов будет проверять pdnsd, а не каждое приложение".

Проконтролировать работу можно с помощью команды pdnsd-ctl, например,
sudo pdnsd-ctl status
или
sudo pdnsd-ctl server linux.org.ru retest
N.B. Совет с перезаписью resolv.conf работает с 'sudo pon trion', при использовании nm-аплета гнома - не срабатывает.

### Прокси polipo ###

Нам нужен кэширующий прокси, чтобы немного сэкономить на трафике и ускорить просмотр страниц. Конечно, браузеры тоже кэшируют страницы и картинки, но хотелось бы иметь один общий кэш для всех имеющихся браузеров (Firefox, Chromium, Midori, Dillo)...

Ставим лёгкий, быстрый, удобный кеширующий прокси polipo и инструмент для борьбы с рекламой adzapper (он её просто вырезает):
sudo aptitude install polipo adzapper
Так же решил установить допольнительную фильтрацию рекламы с эвристическим анализом bfilter, так как в репах убунты не нашел, взял из Debian Lenny пакеты:
bfilter_1.1.4-1_i386.deb
bfilter-common_1.1.4-1_all.deb
libmozjs1d_1.9.0.18-1_i386.deb
Конфигурация Polipo по умолчанию вполне работоспособна (документация http://localhost:8123/), но нам нужны небольшие дополнения, правим конфиг:
sudo vim /etc/polipo/config
включаем инструмент для борьбы с рекламой, добавив следующую строку:
redirector = /usr/bin/adzapper
указывает родительский прокси на bfilter:
parentProxy = 127.0.0.1:8080
можете настроить список запрещенных URL здесь:
/etc/polipo/forbidden или ~/.polipo-forbidden
добавляем список некешируемых вещей:
uncachableFile = /etc/polipo/uncachable

\.(php[345]?|[sp]html|cgi|pl|py|[aj]sp)$
\?
/cgi-bin/
Не помню по умочанию или нет, но у меня так: proxyOffline = yes

перезапускаем настроенный прокси: sudo /etc/init.d/polipo restart
Браузер(ы) настраиваем на использоание прокси: 127.0.0.1:8123, конечно, если вы не меняли polipo порт по умолчанию.

### adzapper ###

Чтобы не получать вместо рекламы изображения с надписью "This ad is zapped" с сайта редиректора, в /etc/adzapper.conf изменим параметр:
ZAP_MODE="CLEAR"
Для обновления списков прописал в /etc/crontab строку:
30 19 * * 6 root /usr/share/doc/adzapper/examples/update-zapper
Как оказалось в конце файла /usr/bin/adzapper содержаться и фильтры, которые изменять нет смыслы, ведь при обновлении все исчезнет.

### bfilter ###

Для подключения правил блокировки рекламы от AbBlock Plus переносим модифицированные правила из
/usr/share/doc/bfilter-common/urls.local.example.gz в /etc/bfilter/urls.local

Советы по настройке bfilter-wiki
Advanced Configuration: URL Patterns

Сначала я настроил и долго использовал adzapper+polipo, потом добавил bfilter и с ним намного лучше и возможно adzapper уже не столь необходим, но пусть пока будет, ведь хуже от этого не станет. И очень жаль, что в репозиториях убунту нет bfilter - это отличный блокировщик рекламы.

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

N.B. И не забудьте подключить расширение AdBlockPlus и AdBlock+EHH для браузера Firefox и Chromium (в Midori встроенный) для вырезания рекламы и экономии трафика или не забывайте добавлять свои правила фильтрации в bfilter или polipo.