SSH – подробно об известном.

Оглавление:

  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер

Управление ключами

Теория в нескольких словах: ssh может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая кладётся в домашний каталог пользователя, «которым» заходят на сервер, закрытая — в домашний каталог пользователя, который идёт на удалённый сервер. Половинки сравниваются (я утрирую) и если всё ок — пускают. Важно: авторизуется не только клиент на сервере, но и сервер по отношению к клиенту (то есть у сервера есть свой собственный ключ). Главной особенностью ключа по сравнению с паролем является то, что его нельзя «украсть», взломав сервер — ключ не передаётся с клиента на сервер, а во время авторизации клиент доказывает серверу, что владеет ключом (та самая криптографическая магия).

Генерация ключа

Свой ключ можно сгенерировать с помощью команды ssh-keygen. Если не задать параметры, то он сохранит всё так, как надо.
Ключ можно закрыть паролем. Этот пароль (в обычных графических интерфейсах) спрашивается один раз и сохраняется некоторое время. Если пароль указать пустым, он спрашиваться при использовании не будет. Восстановить забытый пароль невозможно.
Сменить пароль на ключ можно с помощью команды ssh-keygen -p.

Структура ключа

(если на вопрос про расположение ответили по-умолчанию).
~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать. Если вы в письмо/чат скопипастите его вместо pub, то нужно генерировать новый ключ. (Я не шучу, примерно 10% людей, которых просишь дать ssh-ключ постят id_rsa, причём из этих десяти процентов мужского пола 100%).

Копирование ключа на сервер

В каталоге пользователя, под которым вы хотите зайти, если создать файл ~/.ssh/authorized_keys и положить туда открытый ключ, то можно будет заходить без пароля. Обратите внимание, права на файл не должны давать возможность писать в этот файл посторонним пользователям, иначе ssh его не примет. В ключе последнее поле — user@machine. Оно не имеет никакого отношения к авторизации и служит только для удобства определения где чей ключ. Заметим, это поле может быть поменяно (или даже удалено) без нарушения структуры ключа.
Если вы знаете пароль пользователя, то процесс можно упростить. Команда ssh-copy-id user@server позволяет скопировать ключ не редактируя файлы вручную.
Замечание: Старые руководства по ssh упоминают про authorized_keys2. Причина: была первая версия ssh, потом стала вторая (текущая), для неё сделали свой набор конфигов, всех это очень утомило, и вторая версия уже давным давно переключилась на версии без всяких «2». То есть всегда authorized_keys и не думать о разных версиях.

Ключ сервера

Первый раз, когда вы заходите на сервер, ssh вас спрашивает, доверяете ли вы ключу. Если отвечаете нет, соединение закрывается. Если да — ключ сохраняется в файл ~/.ssh/known_hosts. Узнать, где какой ключ нельзя .
Если ключ сервера поменялся (например, сервер переустановили), ssh вопит от подделке ключа. Обратите внимание, если сервер не трогали, а ssh вопит, значит вы не на тот сервер ломитесь (например, в сети появился ещё один компьютер с тем же IP, особо этим страдают всякие локальные сети с 192.168.1.1, которых в мире несколько миллионов). Сценарий «злобной man in the middle атаки» маловероятен, чаще просто ошибка с IP, хотя если «всё хорошо», а ключ поменялся — это повод поднять уровень паранойи на пару уровней (а если у вас авторизация по ключу, а сервер вдруг запросил пароль — то паранойю можно включать на 100% и пароль не вводить).
Удалить известный ключ сервера можно командой ssh-keygen -R server. При этом нужно удалить ещё и ключ IP (они хранятся раздельно): ssh-keygen -R 127.0.0.1.
Ключ сервера хранится в /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_rsa_key.pub. Их можно:
а) скопировать со старого сервера на новый.
б) сгенерировать с помощью ssh-keygen. Пароля при этом задавать не надо (т.е. пустой). Ключ с паролем ssh-сервер использовать не сможет.
Заметим, если вы сервера клонируете (например, в виртуалках), то ssh-ключи сервера нужно обязательно перегенерировать.
Старые ключи из know_hosts при этом лучше убрать, иначе ssh будет ругаться на duplicate key.

Копирование файлов

Передача файлов на сервер иногда может утомлять. Помимо возни с sftp и прочими странными вещами, ssh предоставляет нам команду scp, которая осуществляет копирование файла через ssh-сессию.

 scp path/myfile user@8.8.8.8:/full/path/to/new/location/

Обратно тоже можно:

  scp user@8.8.8.8:/full/path/to/file /path/to/put/here

Fish varning: Не смотря на то, что mc умеет делать соединение по ssh, копировать большие файлы будет очень мучительно, т.к. fish (модуль mc для работы с ssh как с виртуальной fs) работает очень медленно. 100-200кб — предел, дальше начинается испытание терпения.

Удалённое исполнение кода

ssh может выполнить команду на удалённом сервере и тут же закрыть соединение. Простейший пример:

  ssh user@server ls /etc/ 

Выведет нам содержимое /etc/ на server, при этом у нас будет локальная командная строка.

Некоторые приложения хотят иметь управляющий терминал. Их следует запускать с опцией -t:

  ssh user@server -t remove_command 

Кстати, мы можем сделать что-то такого вида:

  ssh user@server cat /some/file|awk '{print $2}' |local_app 

Это нас приводит следующей фиче:

Проброс stdin/out

Допустим, мы хотим сделать запрос к программе удалённо, а потом её вывод поместить в локальный файл

 ssh user@8.8.8.8 command >my_file

Допустим, мы хотим локальный вывод положить удалённо

 mycommand |scp — user@8.8.8.8:/path/remote_file

Усложним пример — мы можем прокидывать файлы с сервера на сервер: Делаем цепочку, чтобы положить stdin на 10.1.1.2, который нам не доступен снаружи:

 mycommand | ssh user@8.8.8.8 «scp — user@10.1.1.2:/path/to/file»

Есть и вот такой головоломный приём использования pipe’а:

  tar -c * | ssh user@server cd && tar -x 

Tar запаковывает файлы по маске локально, пишет их в stdout, откуда их читает ssh, передаёт в stdin на удалённом сервере, где их cd игнорирует (не читает stdin), а tar — читает и распаковывает. Так сказать, scp для бедных.

Алиасы

В более-менее крупной компании часто оказывается, что имена серверов выглядят так: spb-MX-i3.extrt.int.company.net. И пользователь там не равен локальному. То есть логиниться надо так: ssh ivanov_i@spb-MX-i3.extrt.int.company.net. Каждый раз печатать — туннельных синдромов не напасёшься. В малых компаниях проблема обратная — никто не думает о DNS, и обращение на сервер выглядит так: ssh root@192.168.1.4. Короче, но всё равно напрягает. Ещё большая драма, если у нас есть нестандартный порт, и, например, первая версия ssh (привет цискам). Тогда всё выглядит так: ssh -1 -p 334 vv_pupkin@spb-MX-i4.extrt.int.company.net. Удавиться. Про драму с scp даже рассказывать не хочется.

Можно прописать общесистемные alias’ы на IP (/etc/hosts), но это кривоватый выход (и пользователя и опции всё равно печатать). Есть путь короче.

Файл ~/.ssh/config позволяет задать параметры подключения, в том числе специальные для серверов, что самое важное, для каждого сервера своё. Вот пример конфига:

Host ric
        Hostname ооо-рога-и-копыта.рф
        User Администратор
        ForwardX11 yes
        Compression yes
Host home
        Hostname myhome.dyndns.org
        User vasya
        PasswordAuthentication no

Все доступные для использования опции можно увидеть в man ssh_config (не путать с sshd_config).

Опции по умолчанию

Можно указать настройки соединения по умолчанию с помощью конструкции Host *, т.е., например:

Host *
User root
Compression yes

То же самое можно сделать и в /etc/ssh/ssh_config (не путать с /etc/ssh/sshd_config), но это требует прав рута и распространяется на всех пользователей.

Проброс X-сервера

Теория: Графические приложения в юникс обычно используют X-сервер . Это означает, что приложение запускается и подключается к X-серверу для рисования. Иными словами, если у вас есть голый сервер без GUI и есть локальный x-сервер (в котором вы работаете), то вы можете дать возможность приложениям с сервера рисовать у вас на рабочем столе. Обычно подключение к удалённом X-серверу — не самая безопасная и тривиальная вещь. SSH позволяет упростить этот процесс и сделать его совсем безопасным. А возможность жать трафик позволяет ещё и обойтись меньшим трафиком (т.е. уменьшить утилизацию канала, то есть уменьшить ping (точнее, latency), то есть уменьшить лаги).

Ключики: -X — проброс X-сервера. -Y проброс авторизации.

Достаточно просто запомнить комбинацию ssh -XYC user@SERVER.
В примере выше  подключаемся к серверу ооо-рога-и-копыта.рф не просто так, а с целью получить доступ к windows-серверу. Безопасность microsoft при работе в сети мы все хорошо знаем, так что выставлять наружу голый RDP неуютно. Вместо этого мы подключаемся к серверу по ssh, а дальше запускаем там команду rdesktop:

ssh ric rdesktop -k en-us 192.168.1.1 -g 1900x1200

наблюдаем окошко логина в windows на нашем рабочем столе. Заметим, тщательно зашифрованное и неотличимое от обычного ssh-трафика.

Socks-proxy

Стоит оказаться в очередной гостинице (кафе, конференции), то местный wifi чаще всего оказывается ужасным — закрытые порты, неизвестно какой уровень безопасности. Да и доверия к чужим точкам доступа не особо много .
Особые проблемы доставляют закрытые порты. То джаббер прикроют, то IMAP, то ещё что-нибудь.
Обычный VPN (pptp, l2tp, openvpn) в таких ситуациях не работает — его просто не пропускают. Экспериментально известно, что 443ий порт чаще всего оставляют, причём в режиме CONNECT, то есть пропускают «как есть» (обычный http могут ещё прозрачно на сквид завернуть).
Решением служит socks-proxy режим работы ssh. Его принцип: ssh-клиент подключается к серверу и слушает локально. Получив запрос, он отправляет его (через открытое соединение) на сервер, сервер устанавливает соединение согласно запросу и все данные передаёт обратно ssh-клиенту. А тот отвечает обратившемуся. Для работы нужно сказать приложениям «использовать socks-proxy». И указать IP-адрес прокси. В случае с ssh это чаще всего localhost (так вы не отдадите свой канал чужим людям).

Подключение в режиме sock-proxy выглядит так:

ssh -D 8080 user@server

В силу того, что чужие wifi чаще всего не только фиговые, но и лагливые, то бывает неплохо включить опцию -C (сжимать трафик). Получается почти что opera turbo (только картинки не жмёт). В реальном сёрфинге по http жмёт примерно в 2-3 раза (читай — если вам выпало несчастье в 64кбит, то вы будете мегабайтные страницы открывать не по две минуты, а секунд за 40. Фигово, но всё ж лучше). Но главное: никаких украденных кук и подслушанных сессий.
Я не зря сказал про закрытые порты. 22ой порт закрывают ровно так же, как «не нужный» порт джаббера. Решение — повесить сервер на 443-й порт. Снимать с 22 не стоит, иногда бывают системы с DPI (deep packet inspection), которые ваш «псевдо-ssl» не пустят.

Вот так выглядит  конфиг:

 /etc/ssh/sshd_config:
 (фрагмент)
 Port 22
 Port 443

А вот кусок ~/.ssh/config с ноутбука, который описывает vpn

Host vpn
    Hostname desunote.ru
    User vasya
    Compression yes
    DynamicForward 127.1:8080
    Port 443

(обратите внимание на «ленивую» форму записи localhost — 127.1, это вполне себе законный метод написать 127.0.0.1)

Проброс портов

Мы переходим к крайне сложной для понимания части функционала SSH, позволяющей осуществлять головоломные операции по туннелированию TCP «из сервера» и «на сервер».

Для понимания ситуации все примеры ниже будут ссылаться на вот эту схему:

Комментарии: Две серые сети. Первая сеть напоминает типичную офисную сеть (NAT), вторая — «гейтвей», то есть сервер с белым интерфейсом и серым, смотрящим в свою собственную приватную сеть. В дальнейших рассуждениях мы полагаем, что «наш» ноутбук — А, а «сервер» — Б.

Задача: у нас локально запущено приложение, нам нужно дать возможность другому пользователю (за пределами нашей сети) посмотреть на него.

Решение: проброс локального порта (127.0.0.1:80) на публично доступный адрес. Допустим, наш «публично доступный» Б занял 80ый порт чем-то полезным, так что пробрасывать мы будем на нестандартный порт (8080).

Итоговая конфигурация: запросы на 8.8.8.8:8080 будут попадать на localhost ноутбука А.

ssh -R 127.1:80:8.8.8.8:8080 user@8.8.8.8

Опция -R позволяет перенаправлять с удалённого (Remote) сервера порт на свой (локальный).
Важно: если мы хотим использовать адрес 8.8.8.8, то нам нужно разрешить GatewayPorts в настройках сервера Б.
Задача. На сервере «Б» слушает некий демон (допустим, sql-сервер). Наше приложение не совместимо с сервером (другая битность, ОС, злой админ, запрещающий и накладывающий лимиты и т.д.). Мы хотим локально получить доступ к удалённому localhost’у.

Итоговая конфигурация: запросы на localhost:3333 на ‘A’ должны обслуживаться демоном на localhost:3128 ‘Б’.

ssh -L 127.1:333:127.1:3128 user@8.8.8.8

Опция -L позволяет локальные обращения (Local) направлять на удалённый сервер.

Задача: На сервере «Б» на сером интерфейсе слушает некий сервис и мы хотим дать возможность коллеге (192.168.0.3) посмотреть на это приложение.

Итоговая конфигурация: запросы на наш серый IP-адрес (192.168.0.2) попадают на серый интерфейс сервера Б.

ssh -L 192.168.0.2:8080:10.1.1.1:80 user@8.8.8.8

Вложенные туннели

Разумеется, туннели можно перенаправлять.

Усложним задачу: теперь нам хочется показать коллеге приложение, запущенное на localhost на сервере с адресом 10.1.1.2 (на 80ом порту).

Решение сложно:
ssh -L 192.168.0.2:8080:127.1:9999 user@8.8.8.8 ssh -L 127.1:9999:127.1:80 user2@10.1.1.2

Что происходит? Мы говорим ssh перенаправлять локальные запросы с нашего адреса на localhost сервера Б и сразу после подключения запустить ssh (то есть клиента ssh) на сервере Б с опцией слушать на localhost и передавать запросы на сервер 10.1.1.2 (куда клиент и должен подключиться). Порт 9999 выбран произвольно, главное, чтобы совпадал в первом вызове и во втором.

Реверс-сокс-прокси

Если предыдущий пример вам показался простым и очевидным, то попробуйте догадаться, что сделает этот пример:
ssh -D 8080 -R 127.1:8080:127.1:8080 user@8.8.8.8 ssh -R 127.1:8080:127.1:8080 user@10.1.1.2
Если вы офицер безопасности, задача которого запретить использование интернета на сервере 10.1.1.2, то можете начинать выдёргивать волосы на попе, ибо эта команда организует доступ в интернет для сервера 10.1.1.2 посредством сокс-прокси, запущенного на компьютере «А». Трафик полностью зашифрован и неотличим от любого другого трафика SSH. А исходящий трафик с компьютера с точки зрения сети «192.168.0/24» не отличим от обычного трафика компьютера А.

Туннелирование

Если к этому моменту попа отдела безопасности не сияет лысиной, а ssh всё ещё не внесён в список врагов безопасности номер один, вот вам окончательный убийца всего и вся: туннелирование IP или даже ethernet. В самых радикальных случаях это позволяет туннелировать dhcp, заниматься удалённым arp-спуфингом, делать wake up on lan и прочие безобразия второго уровня.

Подробнее описано тут: www.khanh.net/blog/archives/51-using-openSSH-as-a-layer-2-ethernet-bridge-VPN.html

Легко понять, что в таких условиях невозможно никаким DPI (deep packet inspection) отловить подобные туннели — либо ssh разрешён (читай — делай что хочешь), либо ssh запрещён (и можно смело из такой компании идиотов увольняться не ощущая ни малейшего сожаления).

Проброс авторизации

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

Для начала о простом пробросе авторизации.
Допустим, мы хотим подключиться к серверу 10.1.1.2, который готов принять наш ключ. Но копировать его на 8.8.8.8 мы не хотим, ибо там проходной двор и половина людей имеет sudo и может шариться по чужим каталогам. Компромиссным вариантом было бы иметь «другой» ssh-ключ, который бы авторизовывал user@8.8.8.8 на 10.1.1.2, но если мы не хотим пускать кого попало с 8.8.8.8 на 10.1.1.2, то это не вариант (тем паче, что ключ могут не только поюзать, но и скопировать себе «на чёрный день»).

ssh предлагает возможность форварда ssh-агента (это такой сервис, который запрашивает пароль к ключу). Опция ssh -A пробрасывает авторизацию на удалённый сервер.

Вызов выглядит так:

ssh -A user@8.8.8.8 ssh user2@10.1.1.2

Удалённый ssh-клиент (на 8.8.8.8) может доказать 10.1.1.2, что мы это мы только если мы к этому серверу подключены и дали ssh-клиенту доступ к своему агенту авторизации (но не ключу!).

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

Есть ещё более могучий метод — он превращает ssh в простой pipe (в смысле, «трубу») через которую насквозь мы осуществляем работу с удалённым сервером.

Главным достоинством этого метода является полная независимость от доверенности промежуточного сервера. Он может использовать поддельный ssh-сервер, логгировать все байты и все действия, перехватывать любые данные и подделывать их как хочет — взаимодействие идёт между «итоговым» сервером и клиентом. Если данные оконечного сервера подделаны, то подпись не сойдётся. Если данные не подделаны, то сессия устанавливается в защищённом режиме, так что перехватывать нечего.

Настройка завязана на две возможности ssh: опцию -W (превращающую ssh в «трубу») и опцию конфига ProxyCommand (опции командной строки, вроде бы нет), которая говорит «запустить программу и присосаться к её stdin/out». Опции эти появились недавно, так что пользователи centos в пролёте.

Выглядит это так (циферки для картинки выше):

.ssh/config:

Host raep
     HostName 10.1.1.2
     User user2
     ProxyCommand ssh -W %h:%p user@8.8.8.8

Ну а подключение тривиально:

ssh raep.

Повторю важную мысль: сервер 10.1.1.2 не может перехватить или подделать трафик, воспользоваться агентом авторизации пользователя или иным образом изменить трафик. Запретить — да, может. Но если разрешил — пропустит через себя без расшифровки или модификации. Для работы конфигурации нужно иметь свой открытый ключ в authorized_keys как для user@8.8.8.8, так и в user2@10.1.1.2

Разумеется, подключение можно оснащать всеми прочими фенечками — прокидыванием портов, копированием файлов, сокс-прокси, L2-туннелями, туннелированием X-сервера и т.д.

Автор статьи: abstract

блоггинг – честный заработок в интернете

Краткая шпаргалка по tmux

tmux — это достаточно известный менеджер терминалов, позволяет перелогиниваться, не теряя при этом процессы и историю. Как screen, только лучше (в силу того, что использует модель клиент—сервер).

Tmux

Опишу минимальный набор команд, позволяющий быстро начать использовать tmux, а продвинутые команды, тонкую настройку, можно найти, набрав man tmux.

Удобный способ запустить tmux:
tmux attach || tmux new — сначала пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окон:
Ctrl+b c — создать окно;
Ctrl+b n — перейти в следующее окно;
Ctrl+b p — перейти в предыдущее окно;
Ctrl+b 0…9 — перейти в такое-то окно;
Ctrl+b l — перейти в предыдущее активное окно (из которого вы переключились в текущее);
Ctrl+b & — закрыть окно (а можно просто набрать exit в терминале).

В одном окне может быть несколько панелей:
Ctrl+b ” — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).

Скроллинг внутри окон:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

Автор статьи darnley

Простой пример настройки Nginx как front-end + Apache как back-end.

Nginx+Apache2Обсуждаемые примеры – это всего лишь примеры и для перевода в продакшн требуют глубокой доработки, но как база для понимания вполне подойдет.

Схема
Nginx будет у нас стоять как front-end и отдавать статику, так как с ней он справляется намного быстрее, нежели Apache.
Динамический контент у нас будет генерировать Apache, и отдавать его Nginx, который в свою очередь будет отдавать его клиенту.

Установка серверов.
Устанавливаем apache2 со всеми необходимыми модулями. Предполагается что вы будете использовать php5 и mysql.

$ sudo su
$ apt-get install apache2 php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql

 Теперь устнавливаем nginx.

$ apt-get install nginx

 Весь необходимый софт у нас установлен.

Настройка Nginx.
Создаем новый виртуальный хост. Выполняем команды ниже, вписываем туда желаемое имя сайта.

$ touch /etc/nginx/sites-available/SITE_NAME
$ ln -s /etc/nginx/sites-available/SITE_NAME /etc/nginx/sites-enabled/SITE_NAME

 Теперь открываем в только что созданный файл

$ gedit /etc/nginx/sites-available/SITE_NAME

 и пишем там следующие настройки

server {
    listen SITE_NAME:80; # ip вашего сервера и порт
    server_name SITE_NAME www.SITE_NAME; # Имя вашего домена с www и без
    location / {
        proxy_pass http://SITE_NAME:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|txt|wav|mp3|js)$ { # Обрабатываемые типы файлов
        root ПУТЬ_К_КОНЕВОМУ_КАТАЛОГУ # Путь к корневому каталогу вашего сайта
    }
}

Здесь мы видим, что Nginx слушает 80 порт, и если запросили статику, то он сам её и отдает, а если нет, то он перенаправляет на порт 8080, на который мы сейчас настроим Apache.

Настройка apache.
Ну во первых начнем с того, если вы используете mod_rewrite и только что заново поставили сервер, то не забудьте

$ a2enmode rewrite

 Меняем порты в ports.conf

$ gedit /etc/apache2/ports.conf

 Меняем в открывшемся файлике строки

NameVirtualHost *:80
Listen 80

 на

NameVirtualHost *:8080
Listen 8080

 можем закрыть этот файл.
Редактируем уже имеющийся виртуальный хост.

$ gedit /etc/apache2/sites-available/default

В примере приведены минимальные настройки, вы можете сделать как вам угодно.

<VirtualHost *:8080>
DocumentRoot ПУТЬ_К_КОРНЕВОМУ_КАТАЛОГУ
</VirtualHost>

 Теперь перезагружаем сервера

$ service apache2 restart
$ service nginx restart

Все, минимальная настройка завершена. В дальнейшем можно поднять несколько виртуальных хостов, по мануалу  в статье .

Автор статьи pharrell

Vhost для apache2+nginx в одно нажатие

Apache2+Nginx

Перенос большого кол-ва сайтов на новый сервер занимает много времени? Ничего подобного. Скрипт представленный ниже сделает все за вас!

Возможности:
1. Создание 2х конфигурационных файлов для apache2 и nginx;
2. Создание необходимых каталогов для сайта;
3. Выставление необходимых прав доступа к папкам домена;
4. Создание символических ссылок для включения домена на обоих серверах;
5. Reload обоих серверов.

Синтаксис:

a2addhv [domain] [domain-ip] [user]

Установка:
1. Создайте необходимые пути:

root@srv:~# mkdir /usr/share/apache2/templates
root@srv:~# mkdir -p /usr/share/nginx/templates

2. Скопируйте шаблоны:

 root@srv:~# cp apache2-template.conf /usr/share/apache2/templates
 root@srv:~# cp nginx-template.conf /usr/share/nginx/templates

3. Скопируйте исполняемый файл в /usr/local/bin:

root@srv:~# cp a2addvh /usr/local/bin

4. Теперь выполните настройку внутри скрипта:

# E-mail администратора:
admin_email="webmaster@domain.ru"
# Кодировка:
codepage="windows-1251"
# Путь до шаблонов apache
apache2_templ_path="/usr/share/apache2/templates"
# Путь до шаблонов nginx
nginx_templ_path="/usr/share/nginx/templates"
# Путь до конфигов apache
apache2_conf_path="/etc/apache2"
# Путь до конфигов nginx
nginx_conf_path="/etc/nginx"

Скрипт:

#!/bin/bash

# Settings:
admin_email="webmaster@domain.ru"
codepage="windows-1251"

apache2_templ_path="/usr/share/apache2/templates"
nginx_templ_path="/usr/share/nginx/templates"
apache2_conf_path="/etc/apache2"
nginx_conf_path="/etc/nginx"

domain=$1
domain_ip=$2
user=$3

case "$@" in
    "")
        echo "Syntax: a2addvh [domain] [domain ip] [user]"
        echo ""
        ;;
    *)
        clear
        echo "Adding new VHost: $domain"
        echo
        echo "Creating a directory tree:"
        mkdir -p /home/$user/www/$domain
        echo "/home/$user/www/$domain"
        echo
        echo "Creating index.php file (for testing)."
        echo "< ?php phpinfo(); ?>" > /home/$user/www/$domain/index.php
        echo
        echo "Changing the owner for /home/$user/www/"
        chown -R $user:$group /home/$user/www/
        echo
        echo "Creating vhost file on apache2 ($apache2_conf_path/sites-available/$domain)"
        sed -e "s|@@DOMAIN@@|${domain}|g;s|@@USER@@|${user}|g;s|@@ADMIN_EMAIL@@|${admin_email}|g;s|@@CODEPAGE@@|${codepage}|g" $apache2_templ_path/apache2-template.conf > $apache2_conf_path/sites-available/$domain
        echo "Creating vhost file on nginx ($nginx_conf_path/sites-available/$domain)"
        sed -e "s|@@DOMAIN@@|${domain}|g;s|@@DOMAIN_IP@@|${domain_ip}|g;s|@@USER@@|${user}|g;" $nginx_templ_path/nginx-template.conf > $nginx_conf_path/sites-available/$domain
        echo
        echo "Enable vhost:"
        echo "Enable on Apache2..."
        ln -s $apache2_conf_path/sites-available/$domain $apache2_conf_path/sites-enabled/$domain
        echo "Enable on nginx..."
        ln -s $nginx_conf_path/sites-available/$domain $nginx_conf_path/sites-enabled/$domain
        echo
        echo "Reloading servers:"
        /etc/init.d/apache2 reload
        /etc/init.d/nginx reload
        echo
        echo "All done!"
    ;;
esac

Шаблоны:
Для apache2:

<VirtualHost *:8080>
       ServerName @@DOMAIN@@
       ServerAdmin @@ADMIN_EMAIL@@
       ServerAlias www.@@DOMAIN@@
       DocumentRoot /home/@@USER@@/www/@@DOMAIN@@
       SuexecUserGroup @@USER@@ @@USER@@
       <Directory /home/@@USER@@/www/@@DOMAIN@@>
               Options FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>
       CustomLog /var/log/apache2/@@DOMAIN@@.access.log combined
       ErrorLog /var/log/apache2/@@DOMAIN@@.error.log
       AddDefaultCharset @@CODEPAGE@@
</VirtualHost>

Для nginx:

server {
       listen   @@DOMAIN_IP@@:80;
       server_name @@DOMAIN@@ www.@@DOMAIN@@;
       location / {
               proxy_pass http://127.0.0.1:8080;
               proxy_redirect off;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
       location ~* ^.+\.(jpg|jpeg|gif|png|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|tgz|gz|rar|doc|xls|txt|bmp|tcl)$ {
               root /home/@@USER@@/www/@@DOMAIN@@;
               access_log /var/log/nginx/@@DOMAIN@@.access;
       }
}

Подтверждаю: данные шаблоны не идеальны и они даны лишь для примера, советую настроить их под себя!

Автор статьи lumian

Xerox Phaser 3100MFP – сброс ошибки температуры печки

Ошибка принтера «Температура печки» часто встречается в МФУ следующих торговых марок:

  • Ricoh Aficio SP1000s
  • Gestetner SP1000S
  • Xerox Phaser 3100MFP/S
  • OKI B2500 MFP
  • SAGEM MF 5401
  • Develop D 162F

При этом многофункциональное устройство не работает. Ошибка принтера «Температура печки» может возникнуть по разным причинам.

xerox phaser 3100mfpСбой электропитания во время работы устройства и, как следствие выход из строя : термодатчика (термистор), термопредохранителя (термостат), лампы нагрева термоузла, платы управления. Возможно аппарат поработал с чрезмерной нагрузкой. А возможно, что чаще всего бывает, напряжение электросети занижено (обычно ниже 190V) и аппарат не успевает набрать рабочую температуру за отведенное время, либо Вы включили аппарат, который длительное время находился в холодном помещении. И так далее.

Причин может быть много. В любом случае перезагрузка, отключение от электропитания, предоставление длительного времени для самовосстановления не вернут аппарат к «жизни». Это связано с высокой степенью защиты от перегрева и, как следствие, возгорания (рабочая температура колеблется в диапазоне от 160 до 200 иногда и выше гр.С).

Чтобы сбросить ошибку нужен доступ к сервисному меню:

4 in 1 Main PWB (3100MFP/x): 
Step 1: Select "Menu" or the down arrow 
Step 2: Select "*" 
Step 3: Select "#" 
Step 4: Select "OK" 
Step 5: At the SOS change "00100001" to "10100001" 
Step 6: Select "OK" 
Step 7: Select "Stop" 
Step 8: Select "Menu" or the down arrow 
Step 9: Select "#" 
Step 10: On the keyboard select "T" 
Step 11: Power off/ Power on (PO/PO) 
Try making 1 copy (for checking) 
Step 12: Select "Menu" or the down arrow 
Step 13: Select "*" 
Step 14: Select "#" 
Step 15: Select "OK" 
Step 16: At the SOS change "10100001" to "00100001" 
Step 17: Select "OK" 
Step 18: Press "Stop" 

3 in 1 Main PWB (3100MFP/s) 
Step 1: Select "Menu" or the down arrow 
Step 2: Select "*" 
Step 3: Select "#" 
Step 4: Select "OK" 
Step 5: At the SOS change "00100001" to "10100001" 
Step 6: Select "OK" 
Step 7: Select "Stop" 
Step 8: Select "Menu" or the down arrow 
Step 9: Select "#" 
Step 10: Scroll up to "T" Printer 
Step 11: Select "OK" 
Step 12: Power off/ Power on (PO/PO) 
Try making 1 copy (for checking) 
Step 12: Select "Menu" or the down arrow 
Step 13: Select "*" 
Step 14: Select "#" 
Step 15: Select "OK" 
Step 16: At the SOS change "10100001" to "00100001" 
Step 17: Select "OK" 
Step 18: Press "Stop"

Заправка картриджей Samsung

Заправка, картриджей Samsung, то же но в картинках. Единственно, рекомендую засыпать тонер через заранее выдавленную пробку в картридже. Иначе при захлопывании половинок картриджа часть тонера может попасть на фотобарабан и испачкать чистый фетр.

Поскольку в картриджах применяются чипы, то информация по ним и оборудованию для их прошивки здесь:
Программатор 24cХХ микросхем картриджей от Startcopy.ru
Таблица с наименованиями микросхем используемых в картриджах.
Ключевые моменты восстановления картриджей Samsung/Xerox. Теко. Включает видеоинструкцию.

Стоит упомянуть, что перешиваются с помощью программатора и программы PoniProg 2000 только микросхемы 24Схх. Остальные практически не перешиваются так как оборудование для этого чрезмерно дорого.

ML-1210 (ML-1010, ML-1020, ML-1220, ML-1210, ML-1250, ML-1430, ML-4500, ML-4600, Lexmark E210).

Емкость бункера 65 грамм.
От FUTURE GRAPHICS PDF. Английский язык
От Startcopy.ru
От workoffice.ru

ML-1710, ML-1510,ML-1710, ML-1750, SCX-4016, SCX-4216F.

Емкость бункера 65 грамм.
От FUTURE GRAPHICS PDF. Английский язык

ML-1630/SCX-4500.

От FUTURE GRAPHICS PDF. Английский язык.
От Uninet PDF. Английский язык
Инструкции по восстановлению Samsung ML-1630 от RechargRussia Magazine. (Требуется регистрация).
Тоже в PDF.
Для корректной работы требуется замена чипа. Он свободно доступен в продаже.

ML-1640/1641/1645.

В целом заправка полностью идентична заправке Samsumg ML-2010. Чипы ML-1640 на данный момент в продаже мало распостранены.
Существует способ отучить принтер от чипов навсегда, заменив его прошивку на модернизированную.
Здесь необходимые для перепрошивки файлы.

ML-1650/ML-6060.

От FUTURE GRAPHICS PDF. Английский язык

ML-2010 (Dell 1100)/ML-1615/2015/2510/2570/2571N.

От FUTURE GRAPHICS PDF. Английский язык
Для корректной работы требуется замена предохранителя 0,063 А
Вот еще одна ссылка на заправку. Картриджи отличаются наличием или отсутствием чипов или предохранителей.

ML-2240/2245.

Принтер и его заправка полностью аналогичны ML-1640. Так же справедливо и написанное про отучение от чипов.

ML-2250 (ML-2251N/ ML-2252W/Dell 1600N).

Емкость бункера 125 грамм.
Для корректной работы требуется перепрошивка чипа или его замена.
От FUTURE GRAPHICS PDF. Английский язык
От Uninet PDF. Английский язык
Прошивка.

ML-D3050 (Dell 310-7943/Dell 310-7945.

От FUTURE GRAPHICS PDF. Английский язык
Для корректной работы требуется замена чипа.

ML-3560.

Для корректной работы требуется перепрошивка чипа или его замена.
Восстановление картриджа: Samsung ML-3560 от RechargRussia Magazine. (Требуется регистрация).
Тоже в PDF.
Прошивка.

SCX-4100.

От Uninet PDF. Английский язык

SCX-4200/4220/SCX-4300 (MLT-D109S)/Samsung SF-560R.T-1820 (Toshiba e-STUDIO180S).

От Uninet PDF Английский язык
Восстановление тонер-картриджа Samsung SCX-4300 от RechargRussia Magazine. (Требуется регистрация).
Тоже в PDF.
Здесь тоже упоминается пресловутый чип, недоступный в России. К SCХ-4200, конечно это не относится.
При перезаправке картриджа Samsung SCX-4200 необходимо перепрошить или заменить чип.
Прошивка чипа.
Прошивка чипа картриджа Samsung SCX-4200 с комментариями.
При перезаправке картриджа Samsung SCX-4300 или Samsung SF-560R чип перепрошить без специального оборудования невозможно, заменить его к сожалению тоже, так как их на данный момент нет в продаже. Единственный вариант заправки SCX-4300, замена прошивки самого мфу. С потерей гарантии конечно…
Сами картриджи различаются исключительно чипами.
Ссылка на прошивки SCX-4300 для отучения от чипов. Там же и инструкция.

SCX-4321.

Сброс сообщения «Нет тонера»

Сброс сообщения «Нет тонера» после заправки – есть два варианта:
1. Поставить в паз на передней части картриджа предохранитель на 1/16А (0.0625А), при первом же включении аппарат пережгёт предохранитель и сообщение сбросится. Известны случаи, что работало и с предохранителем до 0.5А; но если МФУ предохранитель не сможет сжечь, будет ошибка CRU FUSE ERROR, которая уходит после установки более слабого предохранителя.

2. Через сервисное меню:для входа в сервисное меню (для аппаратов с цифровой клавиатурой) набираем на клавиатуре : [menu] – [#] – 1934 – [menu].(набирать в течении 3-5 сек)., (для аппаратов без цифровой клавиатуры) – [menu] – [upper level] – [Стрелка влево] – [Стрелка вправо] – [upper level] – [enter]). После входа в сервисное меню появится надпись TECH; с помощью клавиш [Стрелка влево] – [Стрелка вправо] находим запись “New cartridge”, выбираем “Yes” -2 раза. Для выхода из сервисного меню просто выключаем и включаем МФУ (или для 4216/PE16 набираем на клавиатуре [menu] – [#] – 1934).

SCX-4600.

Заправить этот аппарат на данный момент уже возможно. Только перепрошивка. Чипов нет. Других способов нет.

SCX-4725.

От Uninet PDF. Английский язык
Для корректной работы требуется перепрошивка чипа или его замена.
Прошивка.

SCX-4824/4826/4828.

Заправка картриджа.

 ML-5000 (Xerox Work Center 390/Xerox Docuprint P8E/P8EX/WC385/Lexmark Optra E310/E312/E312L).

От FUTURE GRAPHICS PDF. Английский язык

ML-2850/2851ND.

Восстановление тонер-картриджа Samsung ML-2850 от RechargRussia Magazine. (Требуется регистрация).
Тоже в PDF.
Требуется замена чипа.

ML-3470.

Инструкция по восстановлению Samsung ML3470 от RechargRussia Magazine. (Требуется регистрация).
Тоже в PDF.
Требуется замена чипа.

CLP-300.

Схема работы.
Инструкция от Старткопи.ру
Вот еще один пример.
От Uninet PDF. Английский язык
Инструкция по заправке и перепрошивке от Старткопи.нет
От Сом-Stile
Проделывать предложенные манипуляции с чипами настоятельно не рекомендуем. В продаже имеется множество чипов которые просто приклеиваются поверх оригинального.  Перепрошивать их также можно после замены микросхемы на 24с02.
А вот наиболее простая и грамотная версия заправки этих картриджей.
Профилактика IU(Image Unit) в аппаратах CLP-300/CLX-2160.

CLP-310.

Снятие защиты от заправки. Следует учитывать версию платы. Рекомендуем не делать это самому.

CLP-500 (CLP-510/CLP-511/CLP-515/CLP-560).

От FUTURE GRAPHICS PDF. Английский язык
CLP-500 от Uninet PDF. Английский язык
CLP-510 от Uninet PDF. Английский язык
Инструкция по заправке принтеров SAMSUNG CLP510 (part 1)
Инструкция по заправке принтеров SAMSUNG CLP510 (part 2)
Прошивки чипов для цветного принтера Samsung CLP-510 с инструкциями и утилитами.

CLP-600 (CLP-650).

От FUTURE GRAPHICSPDF. Английский язык
От Uninet PDF. Английский язык
Для корректной работы требуется перепрошивка чипа или его замена.
Прошивки цветных картриджей.
Прошивка черного картриджа.

Основной материал статьи взят с http://testcopy.ru

Использованы материалы с сайтов:
http://www.startcopy.ru
http://www.startcopy.net
http://www.futuregraphicsllc.com
http://www.i-itc.org
http://www.com-style.ru
http://www.ink-market.ru
http://www.uninetimaging.com
http://www.all-service.com.ua
http://www.rechargrussia.com
http://www.lancos.com
http://workoffice.ru

 Прочитать статью о заправках Hewlett Packard

Заправка картриджей Hewlett Packard

Как и многие другие производители на данный момент фирма НР снабжает свои картриджи чипами. Сразу надо отметить то, что чипы при перезаправке без их замены не останавливает работу принтера. Однако некоторые производительные принтеры при этом лишаются возможности печатать по сети и использовать высокое разрешение. Правда большая часть принтеров использует USB подключение, а максимальное разрешение и не используют вовсе. В итоге всё, что получится, это всего лишь напоминание о закончившимся тонере или установленном картридже «не НР». Существует разные способы избавится и от этого. Например, HP LaserJet 1300 прекрасно работает с драйвером от НР LaserJet 1200 и не напоминает ни о каком кончившимся тонере. В других же случаях достаточно установить не полную версию драйвера, которую всегда можно скачать с сайта НР. Единственное, что останется это напоминание на дисплее аппарата, если таковой есть. Или горящий индикатор. А вот чипы в полноцветных моделях менять все же надо. Аппарат сложней, чипов несколько. Как минимум возникнет путаница, когда они все начнут проситься заменить картридж. Плюс аппарат не сможет откалиброваться.
Таблица основной совместимости новых универсальных чипов производства SCC. PDF.

 Монохромные аппараты.

Схема работы (все монохромные HP и Canon).
Работа чипов в монохоромных картриджах Hewlett Packard. PDF.

 CB435A/CB436A (LaserJet P1005/P1006/P1505).

Практически одинаковые картриджи, различаются ёмкостью. CB436A – 2000 страниц, CB435A – 1500 страниц.
Здесь можно прочесть про отличия подробней.
Картриджи крайне чувствительны к качеству тонера. Рекомендуется использование тонера специально под данный картридж и ведущих производителей. Однако прекрасный результат даёт заправка тонером HP 2015 от Static Control. Ещё одним важным нюансом является большая вероятность повредить ракель. Что бы это избежать, необходимо обязательно припудрить его присыпкой или тонером. Не соблюдение этого даёт примерно 50% шанс испортить картридж. Кроме того этот картридж имеет маленький бункер отработки, если нет возможности удалить остатки тонера пылесосом, необходимо снять ракель и вытряхнуть вручную. Так же необходимо при каждой заправке протирать ацетоном магнитный вал и его дозирующее лезвие, иначе будет обеспечена бледная печать.

Заправка от AQG Group. English.
Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF English.
Заправка от vitelspb.ru.
Заправка от Oasis imaging. PDF. English.
Ремонт пружины магнитного вала.
О контакте магнитного вала и бледной печати в картриджах.
Видеоинструкция.

C7115 (LaserJet 1200), Q2613(LaserJer 1300).

Практически одинаковые картриджи, основное различие в наличие чипа у 1300.

Заправка от Uninet. PDF. English.
Заправка от Future graphics. PDF. English.
Заправка от РЕЦИКЛИНГ.РУ

Q5949 (LaserJet 1320/1160). Q7553 (LaserJet 2014/2015).

Заправка от Uninet. PDF. English.
Заправка от Future graphics. PDF. English.
Заправка от Oasis group. PDF. English.

Q2612 (LaserJet 1010 / 1012 / 1015 / 1020 / 1022 / 3015 / 3020 / 3030).

Простые картриджи. Штифты выдавливаются наружу длинной спицей, предварительно сняв Фотобарабан и ролик заряда.

Заправка от Future graphics. PDF. English.
Заправка от vitelspb.ru.
Причина мигания индикатора ошибки при использовании восстановленного картриджа Q2612A.

CE505 (LaserJet P2035/P2055).

Картридж конструктивно отличается от предшественников наличием металлического карданчика на приводе фотобарабана. Деталь эта запатентована и отсутствует в продаже. Совместимые фотобарабаны так же их не имеют, придется переставить со старого барабана. Кроме того боковинки картриджа крепятся на запаянных штифтах. Их следует срезать ножом и просверлить на их месте отверстие под винт диаметром 2 мм.

Заправка от Future graphics. PDF. English.
Заправка от AQC Group. English.
Заправка от Uninet. PDF. English.
Заправка от Oasis group. PDF. English.
Заправка от Теко.
Восстановление тонерных картриджей HP LaserJet P2035/2055. RechargRussia.
Особенности барабанов Hanp для HP LJP2035/P2055P (CE505A/X). Теко.
Влияние чипа в картриджах HP LJP2035/2055 (CE505A/X) на появление фона при печати.

C4096 (LaserJet 2100/2200).

Заправка от Future graphics. PDF. English.

Не потеряйте при разборке подковообразный бушинг магнитного вала! Без него картридж печатать не будет. Это так же относится ко всем картриджам где используется такой бушинг – q2610, q6511 и др.

Q2610 (LaserJet 2300).

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

Заправка от Uninet. PDF. English.
Заправка от Future graphics. PDF. English.

Q6511 (LaserJet 2400).

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

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.

Q7551 (LaserJet P3005).

Картридж имеет рычажок на оси фотобарабана, но главная его особенность, как и предыдущих картриджей, наличие подковообразного бушинга на оси магнитного вала со стороны шестеренки. Если его потерять, то картридж, увы, не заработает.

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.
Заправка от Oasis imaging. PDF. English.

C 4127 (LaserJet 4000).

В этом картридже, как и в предыдущем, есть подковка!
Заправка от Future graphics. PDF. English.

CC364 (LaserJet P4014/P4015/P4045/4515).

Заправка от Uninet. PDF English.
Зправка от Future graphics. PDF. English.
Заправка от AQC Group. English.
Заправка от Oasis imaging. PDF. English.
Статья о этих картриджах.

C8061 (LaserJet 4100)

Как и вышеперечисленные, имеет подковообразный бушинг.

Заправка от Future graphics. PDF. English.

Q1338 (LaserJet 4200)/Q1339 (LaserJet 4300).

Заправка от Future group. PDF. English.

Q5942 (LeserJet 4240/4250/4350).

Заправка от Future graphics. PDF. English.

C4129 (LaserJet 5000).

Особое внимание уделить контактной шайбе в шестерне магнитного вала.
Заправка от Future graphics. PDF. English.

Q7516 (LaserJet 5200).

Особое внимание уделить контактной шайбе в шестерне магнитного вала.
Заправка от Future graphics. PDF. English.

C4182 (LaserJet 8100/Mopier 320).

Заправка от Future graphics. PDF. English.

Полноцветные аппараты.

Схема работы четырёх проходного аппарата.
Схема работы однопроходного аппарата.
Работа чипов в цветных картриджах Hewlett Packard. PDF. Teko.

CB540/CB541/CB542/CB543 (Color LaserJet CP1215/CP1515/CP1518CM1312 MFP).

Заправка от Future graphics. PDF. English.
Заправка от AQC Group. English.
Заправка от Uninet. PDF. English.
Заправка от Oasis group. PDF. English.
Деформированный контакт дозирующего лезвия может быть причиной бледной печати в HP Color LaserJet CP1215/1515/2025. Теkо.
Видеоинструкция.

CC530/CC531/CC532/CC533 (Color LaserJet CP2025/CM2320).

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.
Заправка от Oasis group. PDF. English.

Q3960/Q3961/Q3962/Q3963/Q3971/Q3972/Q3973/C9700/C9701/C9702/C9703 (Color LaserJet 1500/2500/2550).

Заправка от Future graphics. PDF. English.
Заправка от  Uninet. PDF. English.

Q6000/Q6001/Q6002/Q6003 (Color LaserJet 2600/2605/1600/1605/CM1015/CM1017).

Картридж интересен тем, что фотобарабан для замены распиливают. Для заправки это делать конечно не придётся, но отверстия для засыпания тонера и вычистки отработки будут нужны.

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.
Инструкция по замене фотобарабана. (Видео).
Тоже от AQC Group.
Возможные проблемы связанные с заправкой. Теко.

Q6470/ Q7581/ Q7582/Q7583/Q6471/Q6472/Q6473/Q7560/Q7561/Q7562/Q7563 (Color LaserJet 3000/3600/3800).

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.

Q2670/Q2671/Q2672/Q2673/ (Color LaserJet 3500/3500N/3550/3550N/3700/3700N).

Заправка от Future graphics. PDG English.
Заправка от Uninet. PDF. English.

CE250/CE251/CE252/CE253/CE254 (Color LaserJet CM3530/CP3525).

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.

C4191/C4192/C4193/C4194 (Color LaserJet 4500/4550).

Заправка чёрного картриджа от Future graphics. PDF. English.
Заправка цветных картриджей от Future graphics. PDF. English.
Замена фотобарабана от Future graphics. PDF. English.

C9720/C9721/C9722/C9723 (Color LaserJet 4600/4650/Canon ImageClass C2500/LBP-2510).

Заправка от future graphics. PDF. English.
Заправка от Uninet. PDF. English.

Q7492/Q7493/Q7494/Q7495/Q7517/Q7518/Q7519/Q7520 (Color LaserJet 4700/4730).

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.

C9730/C9731/C9732/C9733(Color LaserJet 5500/5550).

Заправка от Future graphics. PDF. English.
Заправка от Uninet. PDF. English.

HP 126A CE310A, CE311A, CE312A, CE313A (LaserJet Pro CP1025).

Заправка от ccfiles.ru с видео.

Основной материал статьи взят с http://testcopy.ru

Использованы материалы с сайтов:
http://www.startcopy.net
http://www.futuregraphicsllc.com
http://www.i-itc.org
http://www.com-style.ru
http://www.ink-market.ru
http://www.uninetimaging.com
http://www.all-service.com.ua
http://www.rechargrussia.com
http://www.lancos.com
http://www.retsikling.ru
http://www.vitelspb.ru
http://www.oasis-imaging.com
http://ccfiles.ru

 Прочитать статью о заправках Samsung
Как сообщает энергетический блог ecoenergy.org.ua, сделай сам – это самая популярная рубрика для самоделкиных.

Разбирая архивы-2

Когда-то давным давно, когда компьютеры были большими, программы маленькими, а мы были студентами и верили в светлое будущее, в славном городе Ставрополе жили-были прекрасные люди, романтики можно сказать….. И летали они на ставшими популярными в те времена СЛА – а попросту – мотодельтапланах. И не только летали, а абсолютно бесплатно учили молодежь, студенческую и не только, ЛЕТАТЬ……

;

Репортаж Ставропольской ТРК о Ставропольском дельтапланерном клубе. Ориентировочно 1994 год, съемки на аэродроме базирования (бывший ДоСААФ) и в помещениях клуба (г.Ставрополь). Оцифровка производилась несколько лет назад с практически мертвых видеокассет, так что качество видео, конечно никакое.