Программа CMS для сервера видеонаблюдения

CMS используется для просмотра и записи потока с камер видеонаблюдения на компьютере с Windows XP(в данном случае). У меня подключены к ней две камеры:

  1.  Sunluxy (внутренняя, поворотная, без WEB доступа к настройкам, только через андроид приложение Sricam_18.3.30.apk поначалу управлять приходилось)
  2. IPcam Device C6F0SeZ3N0P0L0, ver.V7.1.9.2.1-20140922(внешняя, это с доступом к настройкам через веб интерфейс с отрправкой на FTP сервер)

CMS для IP камер cmsserial.rar Версия 3.1.0.4 от 18.02.2018, на снимке экрана выглядит следующим образом:

Общий вид

Для компьютерных DVR плат(в т.ч. дозор, TE-104C) захвата видеосигнала c аналоговых камер здесь положил архив(100мб) c ПО(в т.ч. DVR4000) и дровами. Еще вот CMS_Release_bff_3.18.0.7z

 

 

Используем свободные телефоны для пользы дела

MediaDeb: Debian для китафонов чипах MediaTek

В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.

Дайте догадаюсь, на полке пылится старый телефон? В котором скорее всего 4 или даже 8 ядер, в котором есть 2 GB RAM а то и больше, и уж точно хватает флеша? И не смотря на это производитель забил на апдейты. Или, быть может разбит экран, пластик поцарапан, антенна отвалилась и т.п. Аппарат за замену мы давно купили, старый уже не продашь, ибо никому даром не нужен, а выкидывать жалко.

Именно такие старые аппараты у меня и пылились на чердаке, вот и решил я из них сделать небольшие такие сервачки с debian на борту.

Так что я готов представить общественности первую версию моего небольшого проектика ‘MediaDeb’, который позволяет запустить на mediatek’овских трубках debian. И нет, это не chroot, где отдельные программы из debian запускаются параллельно с android. Это полноценная установка debian с кастомным ядром, в котором включено все, что нужно чтобы развернуть systemd, iotop и прочие нужности, отключен некоторые android-специфичные вещи, которые ломают debian-окружение. Сам же android выпилен из системы во имя экономии оперативной памяти и флеша.

Иными словами, если можно просто взять телефон, прошить его через SP Flash Tool debian прошивкой, воткнуть usb провод и вуоля: устройство определиться как композитное усб устройство с сетевым адаптером, виртуальным ком-портом и флешкой. Последовательный порт можно использовать, чтобы получить доступ к консоли, если вдруг неправильно настроена сеть. По умолчанию прошивка попытается получить IP адрес через dhcp на rndis интерфейсе. Теперь этого зомби можно положить на полку и представить, что мы арендовали небольшой выделенный сервер.

На что годится такой зомби?

В моем случае основное применение для этих зомби-телефонов – кросс-сборка программного обеспечения для arm используя платформу непрерывной интеграции jenkins. Так же в таком варианте этот аппарат можно использовать как небольшой дешевый сервер, например для персонального блога (долгое время этот самый блог крутился на сервере со схожими характеристиками).

А батарея не разбухнет постоянно держать аппарат на зарядке?

Если батарею телефона постоянно держать на зарядке, т.е. заряженной до 4.2 вольт, то через некоторое время она раздуется и будет ни на что не пригодна. Вдумчивая раскурка исходных кодов с применением зеленого чая показала, что это значение захардкожено в драйвере PMIC. А значит его можно отредактировать и выставить, например, в значение 3.7-3.8 вольт, что позволит батарее месяцами находиться на зарядке, и при этом в случае сбоя питания этого хватит чтобы успеть корректно завершить работу. Пока этот batteryhack сделан только для UMI-X2, Iocean-X8 на очереди.

В каком все состоянии?

Пока проект находится в зачаточной стадии (т.е. собирается на моей машине, результат вполне сносно работает). Я добавил базовую поддержку трубок UMI-X2 (MT6589, 4 ядра) и iOcean X8 (MT6592, 8 ядер). Базовая поддержка телефонов на этих чипсетах должна быть сравнительно простой. Если хотите помочь и портировать это безобразие на свою трубку – милости просим на github

В следующих заметках я постараюсь рассказать про то, как портировать MediaDeb на другие устройства на базе чипов mtk.

Источник:

https://ncrmnt.org/2017/08/04/mediadeb-debian-%D0%B4%D0%BB%D1%8F-%D0%BA%D0%B8%D1%82%D0%B0%D1%84%D0%BE%D0%BD%D0%BE%D0%B2-%D1%87%D0%B8%D0%BF%D0%B0%D1%85-mediatek/?lang=ru

Фото: Дарья Григоревская

Terratec

Установить драйвер с помощью прграммы zadig-2.4.exe (Домашняя страница: USB driver installation made easy: http://zadig.akeo.ie/). Результат:

 

УстановитьПрограммы:

1. RTLSDR Scanner

Сайт: http://eartoearoak.com/software/rtlsdr-scanner

0091

Установка: скачать (rtlsdr_scanner-setup-win32), запустить установщик, жать ОК и Далее пока не установятся все компоненты. Если у вас Windows XP и установщик не запускается, попробуйте скачать exe-шник старой верии отсюда (или новой версии отсюда), кинуть в папку с рабочим SDRSharp и запустить.

Радиосигнал на 433МГц от брелка Starline A9
Радиосигнал на 433МГц от брелка Starline A9

 

 

Впечатления от программы хорошие. Точность и скорость сканирования зависят от значений Dwell и FFT size. Mode — циклическое либо однократное сканирование. Результаты можно сохранять. Есть функция автокалибровки частоты по эталонному стабильному сигналу.

View — Preferences… — настройка усиления, калибровки частоты, введение смещения частоты.

Tools — Compare — сравнение двух графиков. В отдельном окне можно посмотреть вместе 2 заранее сохраненных графика и график разности между ними, в любой комбинации. Удобная функция, позволяющая наглядно оценить эффект от какой-либо доработки, фильтра и т.д. А также снимать АЧХ, компенсируя все неравномерности генератора шума.

0090

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

0090

http://radioscanner.ru/forum/topic47678.html#msg1125883

 

2. rtl-sdr dongle panorama

Сайт: http://kmkeen.com/rtl-power/
http://sourceforge.net/projects/guiforrtlpower/

111

Установка:

  • скачать rtlpan.exe (зеленая кнопка Download rtlpan.exe).
  • скачать архив с файлами. Разархивировать, выбрать папку с разрядностью своей системы (32 или 64), скопировать туда скачанный ранее rtlpan.exe и запустить.
    или оба файла в одном архиве: rtl-sdr_dongle_panorama

Отличная программа со множеством настроек.

Присутствует водопад, удобная вещь для оценки активности радиообмена на диапазонах.

109

110

Настройки на панели управления слева направо: старт/стоп, опции, левая граничная частота, правая граничная частота, шаг сканирования, АРУ, усиление, коррекция частоты, номер донгла, автошкала, сохранение максимумов, сохранение картинки спектра. Сохраняется 2 отдельные картинки, спектр и водопад, в папку с установленной программой.

Опции — Rtl_power options… — crop present  —  степень обрезки, обычно достаточно 20-30%. В полосе обзора донгла имеют место спады чувствительности на краях полосы, особенно это заметно при максимальной полосе 3,2 МГц. Чтобы на панораме не было амплитудных минимумов через каждые 3,2 МГц, функция crop present обрезает края и рисует панораму меньшими кусками. Само собой, время сканирования увеличивается.

Возможен прием в режиме Direct Sampling, настройка цветов, временных маркеров и др.

Источник: http://blog.radiospy.ru/obzory/obzor-panoramnyx-skaniruyushhix-programm.html

3. SDRSharp — слушаем эфир

SDRSharp — одна из популярных и простых в использовании программ под Windows для работы с RTL2832 (и некоторыми другими SDR). При старте нужно выбрать RTL2832, нажав на кнопку Front-end. Вводить частоту руками нужно в поле Center.

Слева вверху — выбор типа демодулирования. FM используется для обычного FM-вещания и аудио в аналоговом телевидении, AM — в радиостанциях на низких частотах и переговоров самолетов, NFM — в рации.

Прием переговоров по рации на частоте 446 МГц в SDRSharp
Прием переговоров по рации на частоте 446 МГц в SDRSharp

Многие внешние декодеры цифровых передач работают через «аналоговый» интерфейс — то есть ты запускаешь SDRSharp, устанавливаешь программу Virtual Audio Cable (программа платная), настраиваешь SDRSharp, чтобы он декодированный звук выводил в VAC, и в системных настройках Windows указываешь VAC как устройство записи по умолчанию. В результате внешняя программа-декодер будет получать звук от SDRSharp.

Таким образом подключаются декодеры P25 раций (милиция), данных с метеоспутников, пейджеров, навигационных сообщений самолетов (ADS-B) и многого другого (об этом ниже). Такой необычный способ подключения сложился исторически — раньше к компьютеру подключали аналоговые приемники. Со временем декодеры дописывают, чтобы они напрямую работали с RTL-SDR.

 

Запускаем SDRSharp.exe

sharp1.png

Для начала вам необходимо настроить SDRSharp для работы с RTL тюнером. Выберите в строке рядом с кнопкой [PLAY] устройство «RTL-SDR / USB».

Далее заходите в настройки вашего приемника [Configure].

tuner_config.png

[Device] — в этой стоке ваше RTL устройство и чип тюнера.

[Sample Rate] — (Частота дискретизации RTL) Ширина полосы приемника, 2048 MSPS это 2.048 МГц. Полосу можно менять от 0,25 МГц до 3,2 МГц. Чем больше полоса, тем больше нагрузка на процессор. Не на каждом компьютере можно нормально работать с максимальной полосой. Для начала поставьте 1024 для одноядерных процессоров и 2048 для многоядерных. Потом экспериментальным путем определите максимум для вашей системы.

[Sampling Mode] — режим работы RTL устройства. Для работы необходим режим квадратурного приема. Он установлен по умолчанию. Есть ещё режимы оцифровки I канала или Q канала.Это специфичные режимы и в обычных условиях надобности в них нет.

[Offset Tuning] — Это полезная опция для владельцев тюнера E4000. Переключает режим работы входа RTL с нулевой частоты на промежуточную не нулевую. Установка этой галочки позволяет полностью избавится от палки посередине экрана. Для 820 тюнеров эта опция безразлична и игнорируется в коде драйвера.

[RTL AGC] — Автоматическая регулировка усиления на участке «Смеситель тюнера — АЦП RTL2832». Установите эту галочку при первом запуске.

[Tuner AGC] — Автоматическая регулировка усиления на участке «Вход приемника — МШУ — Смеситель». Данная АРУ работает не очень хорошо, многое зависит от антенны, условий приема и диапазона который вы принимаете. Лучше пока оставить эту галку выключенной.

[RFGain] — Ручная регулировка усиления тюнера. Позволяет самостоятельно менять усиление входного тракта тюнера при отключенной [Tuner AGC]. Для первого запуска поставьте этот регулятор 25 — 36 дБ.

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

[Frequency correction PPM] — Коррекция частоты опорного генератора тюнера. Пока не меняйте настройку в этом поле. Далее мы рассмотрим этот параметр более подробно.

Теперь программа настроена на работу с вашим приемником. Можно давить кнопку [PLAY].

Настройтесь на какую либо вещательную ФМ станцию. Во вкладке Radio включите вид модуляции WFM.

sharp2.png

Ещё несколько полезных настроек.

Установите галку Correct IQ во вкладке Radio. Это улучшит подавление зеркального канала и уберет палку в центре спектра.

Установите галку Filter Audio во вкладке Audio. Звук станет приятнее уйдет высокочастотный шум и треск.

Отрегулируйте ползунок Range во вкладке FFT Display. Динамический диапазон RTL невелик. Минимума анализатора спектра в -70 дБ вполне достаточно.

Галку Snap to Grid лучше пока убрать. Для начала надо откалибровать частоту приемника.

Если звук прерывается, возможно вы выбрали слишком широкую полосу приемника и ваш процессор не справляется.

Нажмите кнопку [Configure] и попробуйте разные настройки AGC и RF Gain.

Успехов! http://rtl-sdr.ru/page/nachalo-raboty-bystryj-start

 

Страница плагинов https://www.rtl-sdr.com/sdrsharp-plugins/

Инструкция по установке плагинов.

В sdr# существует два типа плагинов. Первый — плагины источники сигнала (frontends). Второй — плагины расширяющие функционал SDR#(plugins).

Установка обоих типов проста и особых проблем не вызывает. Оба типа плагинов обычно распространяются в виде zip архива. Для добавления плагинов необходимо выполнить несколько простых шагов:

  1. Распаковать архив с плагином в любое место. В архиве может быть несколько файлов. Обязательно должно быть два файла — библиотека .dll (это сам плагин) и MagicLine.txt (строка конфигурации sdr#). Могут быть и другие файлы.
  2. Все файлы кроме MagicLine.txt необходимо скопировать в рабочую папку SDR#. Если имеется какой либо текстовый файл, возможно в нем инструкция по особому порядку установки данного плагина, действуйте согласно данной инструкции.
  3. В файле MagicLine.txt строка конфигурации SDR# для настройки загрузки этого плагина. В зависимости от типа плагина эту строку необходимо добавлять в разные конфигурационные файлы SDR#:

3.1 Плагины источники сигнала (File Player, Mod RTL Driver) добавляются в файл FrontEnds.xml. Добавлять источники можно в любом порядке, от порядка строк в этом файле зависит только порядок отображения в окне выбора устройства (Source).

3.2 Плагины расширения добавляются в файл Plugins.xml. От порядка плагинов в этом файле зависит порядок обработки сигнала в плагинах.

Файлы Plugins.xml и FrontEnds.xml — обычные текстовые файлы. Если ваша система предлагает выбрать в какой программе открывать эти файлы, выберите стандартный Блокнот или Wordpad. Если система открывает эти файлы в браузере — кликните на файле правой кнопкой мыши и выберите «Изменить».

Остановимся более подробно на порядке плагинов в Plugins.xml.

Это структурная схема SDR#. На ней отображены основные этапы обработки сигнала и точки подключения плагинов к тракту обработки. Порядок чередования плагинов подключенных к разным точкам обработки не имеет значения. Плагины будут обрабатывать сигнал по мере его продвижения в тракте. А вот плагины подключенные к одной точке будут обрабатывать сигнал в порядке расположения плагинов в файле plugins.xml. Пример: плагин аудиозаписи и плагин Audio Processor. Оба подключены к аудиовыходу SDR#. Если плагин аудиозаписи будет в файле раньше аудио процессора, то запишется не отфильтрованный сигнал. Если наоборот, то сначала сигнал отфильтруется в аудио процессоре а затем запишется в аудио рекордере.

http://rtl-sdr.ru/page/instrukcija-po-ustanovke-plaginov

 

 

 

Восстановление загрузчика ОС

Представьте себе, по какой-либо причине у вас есть другие операционные системы, установленные рядом с Debian. Или по какой-то другой причине вам придется его переустановить, потому что он на самом деле сломан. Опять же, представьте себе, у этой дрянной ОС получилась дрянная установка и она переписала загрузочную запись MBR, полностью завладев компьютером. Что дальше? Переустановка Debian? Нет.

Теория установки загрузчика

Загрузчик — это микропрограмма, устанавливаемая в  главную загрузочную запись. Главная загрузочная запись содержит программу загрузчика + таблица разделов жесткого диска + сигнатуры. Расположена главная загрузочная запись в главном загрузочном секторе — первом секторе жесткого диска .
Т.е,  каждый жесткий диск может содержать ЕДИНСТВЕННУЮ загрузочную запись, причем расположена она отдельно от самих разделов жесткого диска.

В нашем примере, главная загрузочная запись для первого диска sda находиться на /dev/sda, а не на /dev/sda1. На /dev/sda1 находится первый раздел нашего диска.

Стандартная процедура

Загрузиться c установочной флешки Debian. Выбирать установку Rescue, дойти до выбора логических дисков и запустить оболочку, затем ознакомится с присутствующими дисками командой «fdisk -l»  и выбрать жесткий диск, на котором установлены были ОС(не логические(sda1), а сам хард(sda)у меня Windows7 и Debian9 стояли на /dev/sda…), далее «grub-install /dev/sda» и всё. Перезагрузка.

Читать далее «Восстановление загрузчика ОС»

Наш Мир

Вот такой(↑) вид, по-современным представлениям, имеет наша вселенная. Отдельные точки на этой модели, это даже не галактики, это сверх-скопления галактик (от нескольких тысяч до нескольких миллионов галактик).

Однажды пришла в голову идея, взглянуть на вселенную со знакомымых мест, уменьшив ее до повседневно используемых и знакомых размеров. Долго считал, и получил следующую картину. Так например, если Солнце уменьшить до размера  ногтя(~2см), то ближайшая к нему звезда (Альфа Центавра), будет на расстоянии примерно 20км от него. 20км пустоты между 2х сантиметровыми телами! Осознание этого масштаба вселяет в меня чувство одиночества и печали, в т.ч. и за Солнце, и земную жизнь. Когда-то давно(хорошо бы еще размерность времени сравнить) атомы Земли(моего тела) и Солнца были частью одной звезды.

Основные данные по Солнцу и планетам

Расстояние
(АЕ)
Радиус
(Земных)
Масса
(Земных)
Вращение
(Земных сут.)
# Спутники Наклонение орбиты
Сжатость орбиты Наклонение Плотность
(г/см3)
Солнце 0 109 332,800 25-36* 9 1.410
Меркурий 0.39 0.38 0.05 58.8 0 7 0.2056 0.1° 5.43
Венера 0.72 0.95 0.89 244 0 3.394 0.0068 177.4° 5.25
Земля 1.0 1.00 1.00 1.00 1 0.000 0.0167 23.45° 5.52
Марс 1.5 0.53 0.11 1.029 2 1.850 0.0934 25.19° 3.95
Юпитер 5.2 11 318 0.411 16 1.308 0.0483 3.12° 1.33
Сатурн 9.5 9 95 0.428 18 2.488 0.0560 26.73° 0.69
Уран 19.2 4 17 0.748 15 0.774 0.0461 97.86° 1.29
Нептун 30.1 4 17 0.802 8 1.774 0.0097 29.56° 1.64
Плутон 39.5 0.18 0.002 0.267 1 17.15 0.2482 119.6° 2.03

* Период оборота  Солнца на его поверхности изменяется, от примерно 25 суток на экваторе до 36 суток на полючах. Глубже, below the convective zone, everything appears период вращения составляет 27 дней.

Сравнительные размеры небесных тел

По этим фотографиям (8 фото) можно попробовать оценить сравнительные размеры Земли, Солнца и некоторых других звезд в галактике. Умом мы все понимаем, что существует множество звезд гораздо больше солнца, но вот на сколько больше, мы даже представить себе не можем.

Итак начали с планеток, ну тут все ясно Земля рулит 🙄 , хотя мне почему то всегда казалось что Марс больше Венеры…

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

Помню в детстве в планетарии был просто шокирован, когда узнал что масса солнца в 330 тысяч раз больше массы земли.

Теперь понятно, почему Солнце классифицируют как желтый карлик…

Ригель, Альдебаран, Антарес, а где там Солнце? Эту пылинку еще видно?

Ага, и Антарес тут не самый главный. 🙂

Млечный путь. 200 миллиардов звезд.

галактика Млечный путь

Использованы материалы: http://dryagin.ru/2009/01/08/sravnitelnyie-razmeryi-nebesnyih-tel/, https://studfiles.net/preview/4187145/page:3/, http://solarviews.com/eng/solarsys.htm

 

Установка и настройка FTP-сервера на FreeBSD 11.0 Release. Практика использования ProFTPD

Задача: установить FTP-сервер для оперативного выкладывания для клиентов больших файлов, которые сложно переслать по почте. Будем использовать ProFTPD.
Введение

ProFTPD появился как безопасный и удобно настраиваемый FTP-сервер, используя Apache-подобный синтаксис файла конфигурации.

В то время когда начали создавать ProFTPD, наиболее часто используемым сервером был wu-ftpd. wu-ftpd обеспечивает отличную производительность, но испытывает недостаток в многочисленных функциях новых серверов Win32 FTP, а также имеет плохую историю безопасности. Многие люди, в том числе разработчиков, которые работают на ProFTPD, потратил много времени на исправление ошибок и дыр безопасности wu-ftpd. Но к сожалению, стало ясно, что необходим начать с нуля для реализации легкой конфигурируемости и обеспечения безопасности.

Есть и другие серверы FTP, который значительно более безопасные и менее ресурсоемкие, чем wu-ftpd. Но к сожалению, не предлагают набор расширенных функций, необходимых для более сложных FTP сайтов.

ProFTPD это безопасный FTP сервер разработанный с нуля, удобный и легко конфигурируемый. Очень много хорошо известных и высоконагруженных серверов используют ProFTPD.
Установка ProFTPD

Найдем нужный порт и установим его через portmaster.

# whereis proftpd
proftpd: /usr/ports/ftp/proftpd
# portmaster /usr/ports/ftp/proftpd

Либо через порты:

#cd /usr/ports/ftp/proftpd && make install clean

===> SECURITY REPORT:
This port has installed the following files which may act as network
servers and may therefore pose a remote security risk to the system.
/usr/local/libexec/proftpd/mod_snmp.so
/usr/local/sbin/proftpd
/usr/local/libexec/proftpd/mod_radius.so
/usr/local/bin/ftpdctl

This port has installed the following startup scripts which may cause
these network services to be started at boot time.
/usr/local/etc/rc.d/proftpd

If there are vulnerabilities in these programs there may be a security
risk to the system. FreeBSD makes no guarantee about the security of
ports included in the Ports Collection. Please type ‘make deinstall’
to deinstall the port if this is a concern.

For more information, and contact details about the security
status of this software, see the following webpage:
http://www.proftpd.org/

===>>> Installation of ftp/proftpd (proftpd-1.3.5b) complete

Установка завершена, перейдем к настройке.
Настройка ProFTPD

Посмотрим файл конфигурации, который создал установщик /usr/local/etc/proftpd.conf

#
# For more information about Proftpd configuration
# see http://www.proftpd.org/
#
# This is a basic ProFTPD configuration file (rename it to
# ‘proftpd.conf’ for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# «nobody» and «ftp» for normal operation and anon.

ServerName «ProFTPD Default Installation»
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd/proftpd.scoreboard

# Port 21 is the standard FTP port.
Port 21

# Use IPv6 support by default.
UseIPv6 on

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances 30

CommandBufferSize 512

# Set the user and group under which the server will run.
User nobody
Group nogroup

# To cause every FTP user to be «jailed» (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite on

# Bar use of SITE CHMOD by default
DenyAll

# A basic anonymous configuration, no upload directories. If you do not
# want anonymous users, simply delete this entire section.

#########################################################################
# #
# Uncomment lines with only one # to allow basic anonymous access #
# #
#########################################################################

#
# User ftp
# Group ftp

### We want clients to be able to login with «anonymous» as well as «ftp»
# UserAlias anonymous ftp

### Limit the maximum number of anonymous logins
# MaxClients 10

### We want ‘welcome.msg’ displayed at login, and ‘.message’ displayed
### in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayFirstChdir .message

Limit WRITE everywhere in the anonymous chroot
# # DenyAll
# #

По сути все должно уже работать с этим конфигом.
Запуск ProFTPD

В файл /etc/rc.conf добавляем строку

proftpd_enable=»YES»

Запускаем без перезагрузки сервера сервис ProFTPD:

# service proftpd start

Вышла ошибка:

# service proftpd start
Starting proftpd.
2016-12-19 11:26:14,483 srv01 proftpd[14406]: fatal: UseIPv6: Use of the UseIPv6 directive requires IPv6 support (—enable-ipv6) on line 19 of ‘/usr/local/etc/proftpd.conf’
/usr/local/etc/rc.d/proftpd: WARNING: failed to start proftpd

Закомментировал строку:

# Use IPv6 support by default.
# UseIPv6 on

Запустил заново, вышла ошибка:

# service proftpd start
Starting proftpd.
2016-12-19 11:31:07,047 srv01 proftpd[14439]: warning: unable to determine IP address of ‘srv01’
2016-12-19 11:31:07,047 srv01 proftpd[14439]: error: no valid servers configured
2016-12-19 11:31:07,047 srv01 proftpd[14439]: fatal: error processing configuration file ‘/usr/local/etc/proftpd.conf’
/usr/local/etc/rc.d/proftpd: WARNING: failed to start proftpd

Имя сервера у меня srv01, добавляю в hosts

192.168.146.252 srv01

Теперь все успешно запустилось:

# service proftpd start
Starting proftpd.

Перезапустить можно командой:

# service proftpd restart

Теперь можно на любом клиенте проверить доступ к серверу по следующему адресу (в адресной строке любого браузера набираете):

ftp://192.168.146.252/

Появляется запрос на вводи имени и пароля, вводите необходимые данные и попадаете в домашнюю папку пользователя.

Естественно вводите существующего пользователя системы FreeBSD 11.0

По сути вот мы и произвели простейшую настройку ФТП-сервера для использования в локальной сети.

Думаю надо остановиться на вопросах прописывания правил для файерволла ipfw, для того, чтобы открыть доступ снаружи к установленному фтп-серверу.
Русские символы в название файла

Проблема: на FreeBSD 11.0 установлена локаль UTF-8, при доступе к файлу, которые именован русскими буквами произошла ошибка.

Решение: добавил в конфигурационный файл следующие строки

UseEncoding utf8 cp1251

Полезные команды ProFTPD

Проверка правильности синтаксиса конфигурационного файла

# proftpd -t
Checking syntax of configuration file
Syntax check complete.

Проверка поддерживаемых модулей

# proftpd -l
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_rlimit.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_delay.c
mod_facts.c
mod_dso.c
mod_ident.c
mod_auth_pam.c
mod_ctrls.c
mod_lang.c
Описание настроек ProFTPD

Все что написано выше, это простейшая конфигурация ProFTPD сервера. В реальной жизни может использоваться только в локальной сети.

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

Начнем, будем создавать виртуальных ftp-пользователей. То есть они не имеют системной учетной записи в самой системе FreeBSD. Есть несколько вариантов хранения учетных записей виртуальных пользователей.

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

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

# To cause every FTP user to be «jailed» (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
ServerIdent on «FTP Server ready.»

Подготовительный этап

Создаем место для хранения файлов, я использую zfs поэтому производим следующие манипуляции:

# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bootpool 121M 1,80G 121M /bootpool
zroot 3,59G 888G 96K /zroot
zroot/ROOT 1,58G 888G 96K none
zroot/ROOT/default 1,58G 888G 1,58G /
zroot/tmp 144K 888G 144K /tmp
zroot/usr 2,01G 888G 96K /usr
zroot/usr/home 136K 888G 136K /usr/home
zroot/usr/ports 1,41G 888G 1,41G /usr/ports
zroot/usr/src 608M 888G 608M /usr/src
zroot/var 736K 888G 96K /var
zroot/var/audit 96K 888G 96K /var/audit
zroot/var/crash 96K 888G 96K /var/crash
zroot/var/log 232K 888G 232K /var/log
zroot/var/mail 120K 888G 120K /var/mail
zroot/var/tmp 96K 888G 96K /var/tmp

Смотрим как сейчас, затем создаем файловую систему:

# zfs create zroot/data

Смотрим что получилось

# zfs list
NAME USED AVAIL REFER MOUNTPOINT
bootpool 121M 1,80G 121M /bootpool
zroot 3,59G 888G 96K /zroot
zroot/ROOT 1,58G 888G 96K none
zroot/ROOT/default 1,58G 888G 1,58G /
zroot/data 96K 888G 96K /zroot/data
zroot/tmp 144K 888G 144K /tmp
zroot/usr 2,01G 888G 96K /usr
zroot/usr/home 136K 888G 136K /usr/home
zroot/usr/ports 1,41G 888G 1,41G /usr/ports
zroot/usr/src 608M 888G 608M /usr/src
zroot/var 736K 888G 96K /var
zroot/var/audit 96K 888G 96K /var/audit
zroot/var/crash 96K 888G 96K /var/crash
zroot/var/log 232K 888G 232K /var/log
zroot/var/mail 120K 888G 120K /var/mail
zroot/var/tmp 96K 888G 96K /var/tmp

Выделенным место для хранения файлов сервера фтп.

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

#Резервируем место под свою файловую систему
zfs set reservation=800m zroot/data

#Устанавливаем квоту для вашей файловой системы, которую вы не сможете превысить
zfs set quota=800m zroot/data

#Включаем компрессию.
zfs set compression=on zroot/data
Настройка доступа ftp-пользователей к директориям

Изменяем владельца директории /zroot/data (необходимо указать нужную группу и пользователя ниже)

Создаем сначала реального пользователя через adduser

# adduser
Username: proftp
Full name:
Uid (Leave empty for default):
Login group [proftp]:
Login group is proftp. Invite proftp into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: nologin
Home directory [/home/proftp]: /zroot/data
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : proftp
Password : *****
Full Name :
Uid : 1002
Class :
Groups : proftp
Home : /zroot/data
Home Mode :
Shell : /usr/sbin/nologin
Locked : no

Затем права папке присваиваем

# chown proftp:proftp /zroot/data

Выставляем права доступа к директории, иначе увидим permission denied

# chmod 775 /zroot/data

Теперь виртуальные пользователи могут создавать, редактировать и удалять файлы и папки.

Смотрим в файле /etc/passwd uid и gid созданного юзера, у меня вышло 1002
Сохраняем учетные записи виртуальных пользователей в текстовом файле

Необходимо, чтобы ftp-пользователь имел возможность редактировать и удалять файлы.
Создаем нового виртуального ftp-пользователя с логином ftpuser, идентификатором 1002, группой 1002 и домашним каталогом /data.

ftpasswd —passwd —file=/usr/local/etc/proftpd/ftpd.passwd
—name=ftpuser —uid=1002 —gid=1002 —home=/zroot/data
—shell=/usr/sbin/nologin

После выполнения команды система попросит ввести дважды пароль пользователя.
В итоге, у нас появится файл /usr/local/etc/proftpd/ftp.passwd с записью о пользователе.

Изменить пароль пользователя можно следующей командой:

ftpasswd —passwd —name=ftpuser —change-password

Изменяем /usr/local/etc/proftpd.conf, для подключения виртуального пользователя:

RequireValidShell off
AuthUserFile /usr/local/etc/proftpd/ftpd.passwd

Перезапускаем ftp-сервер:

service proftpd restart
Мониторинг работы ProFTPD

ftpcount — показывает число соединений в настоящий момент (с разбивкой по виртуальным хостам).

ftpwho — показывает информацию о каждом текущем соединении (—verbose показывает также текущую рабочую директорию).

ftptop — аналог программы top для процессов ProFTPD.
Настройкалогов

Добавляем в/usr/local/etc/proftpd.conf

ExtendedLog /var/log/ftp.log
TransferLog /var/log/proftpd
SystemLog /var/log/proftpd/proftpd.log

Создаем необходимые файлы.

touch /var/log/ftp.log
mkdir /var/log/proftpd
touch /var/log/proftpd/xferlog
touch /var/log/proftpd/proftpd.log

Выпускаем наружу FTP-сервер через шлюз с помощью NAT (ProFTPD)

Читаем документацию и пробуем.

Сначала добавляем строку в ваш конфигурационный файл proftpd.conf. Прописываем днс-имя или ip-адрес, в зависимости от того, как вы будете обращаться к серверу снаружи.
Добавляем директиву MasqueradeAddress

MasqueradeAddress ftp.mydomain.com # если используете DNS-имя
MasqueradeAddress 123.45.67.89 # если используете IP-адрес

Естественно используете публичный адрес, а не локальный.

Существует одна большая проблема, дело в том что при пассивном режиме фтп используются порты от 1024 и выше, что означает , что вы должны направить все порты 1024-65535 от NAT к FTP-серверу. Скажем так, это не очень безопасно.

Для решения этой проблемы, используйте директиву PassivePortsв вашем конфигурационном файле proftpd.conf, чтобы контролировать , какие порты proftpd будут использоваться для передачи данных в пассивном режиме:

PassivePorts 50000 50200 # Эти порты должны быть безопасными

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

Перезапускаете proftpd сервер.

# service proftpd restart
Stopping proftpd.
Waiting for PIDS: 18273.
Starting proftpd.
2016-12-22 11:20:09,680 srv01 proftpd[23575] srv01: 192.168.146.252:21 masquerading as 123.45.67.89

Увидите примерно такую же запись, которая приведена выше. С первой частью задания вы справились.
Настройка директории для хранения файлов proftpd.conf

AllowOverwrite on
AllowStoreRestart on
AllowAll
AllowAll

Немного теории: принцип работы протокола FTP

Существует два режима работы протокола FTP:

активный режим работы протокола FTP;
Это когда клиент соединяется на 21 порт сервера, затем сервер при необходимости создает DATA соединение с 20 порта на указанный порт клиента (от 1024 и выше).
пассивный режим работы;
Клиент соединяется на 21 порт сервера, затем клиент при необходимости создает DATA соединение на указанный порт сервера. Диапазон портов сервера для данного режима как раз прописывается в конфигурационном файле ProFTPD, параметр PassivePorts.

Клиенту удобнее использовать пассивный режим, а серверу удобнее использовать активный режим, так как проще настройка ipfw.
Правила IPFW для проброса FTP на внутренний сервер локальной сети
Для активного режима:

#NAT
$ipfw nat 1 config log if $internet_interface reset same_ports deny_in \
redirect_port tcp 192.168.146.252:21 21

$ipfw add 00500 nat 1 ip from any to any via $internet_interface

$ipfw add 00605 allow tcp from any to 192.168.146.252 21 setup
$ipfw add 00606 allow tcp from me 20 to any setup

(надо еще проверить, не забыть про параметр в /etc/sysctl.conf net.inet.ip.fw.one_pass=0 )

Для пассивного режима:

#NAT
$ipfw nat 1 config log if $internet_interface reset same_ports deny_in \
redirect_port tcp 192.168.146.252:21 21 \
redirect_port tcp 192.168.146.252:50000-50200 50000-50200

$ipfw add 00500 nat 1 ip from any to any via $internet_interface

(проверено работает,net.inet.ip.fw.one_pass=0)

Использованы материалы: http://www.andrewblog.ru/ustanovka-i-nastrojka-ftp-servera-na-freebsd-11-0-release-praktika-ispolzovaniya-proftpd/

Прописать список баз 1С для всех пользователей

Для того, чтобы прописать список баз для всех пользователей необходимо выполнить следующие операции:

  • прописать у себя нужные базы
  • скопировать свой файл C:\Documents and Settings\All Users\Application Data\1C\1CEStart\ibases.v8i, например, в C:\path_to_base\
  • в файл 1CEStart.cfg вставить:

CommonInfoBases=C:\path_to_base\ibases.v8i

и положить его в C:\Documents and Settings\All Users\Application Data\1C\1CEStart Читать далее «Прописать список баз 1С для всех пользователей»

Управление телефоном с компа

Способ управления телефоном(android) с компьютера, с помощью мыши и клавиатуры(кириллица не работает*)

1. Установить VMLite VNC Server(доступ к удаленному управлению телефоном через браузер или VNC клиент). С 5ой версии андроида запускать через командную строку.

внешний вид

[свернуть]

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

3. Создать задание в Tasker’е или из терминала под root’ом.  Запускатся(останавливается) служба vnc на телефоне :

[cc lang=»php»]/data/data/com.vmlite.vncserver/files/vmlitevncserver —start[/cc]

порты по-умолчанию для VNC-viewer’а: 5901, через браузер: 5801.

 

 

 

 

 

Lucky Patcher v7.4.2.apk

http://www.vmlite.com/vaac/

 

Прошивка S90 Lenovo

1. Разблокировка bootloader’а с помощью QFIL

К моему телефону драйвер com порта не подходил, я вручную добавил vid pid своего устройства:

Затем вручную установил драйвер, но теперь цифровой подаиси не хватило.

 

 

Отключить в Windows 7 проверку драйвера на цифровую подпись

1. Наберите в командной строке (или скопируйте) gpedit.msc
2. Зайдите в «Конфигурация пользователя»-> «Административные шаблоны» ->»Система» > «Установка Драйвера».
3. Дважды кликните по «Цифровая подпись драйверов устройств».

[свернуть]

 

 

делал на Windows XP, 7×64, 7×32

 

  1. Прошить  через QFIL прошивку S90-A_USR_S229_150428_ROW_PC_QFIL
  2. Прошить бутлоадер для андроида 4
  3.  Получить рут
  4. Поставить TWRP
  5. Прошить S90-A_RUS_7M.150408_SevenMaxs_Android_v4.4.4.4
Краткая инструкция по установке прошивки через TWRP Recovery

1. Копируем архив, например Resurrection-Remix-LP-v5.5.9_android_v5.1.1 на внутр. память
2. Загружаемся в Recovery(громкость ОБЕ клавиши+ кнопка включения)
3. Производим форматирование разделов Data и Cache
4. Нажимаем Instal
5. Выбираем архив на внутр. память с прошивкой
6. Свайп вправо и ждем окончания процесса заливки прошивки в устройство
7. Hажимаем Reboot System
7.1 Прошивки:
AOSP
  1. Resurrection Remix OS 5.8.5_android_v_7.1.2
  2. Resurrection-Remix-LP-v5.5.9_android_v5.1.1
Стоковые
  1. multirom_sisleyr_Global_V8.2.2.0.LXIMIDL_v5.0.2(MIUI)_android 5.1.1
  2. S90-A_RUS_7M.150408_SevenMaxs_Android_v4.4.4.4

Установка окончена! :thank_you:

[свернуть]

Подробная инструкция по получению root доступа и заливки новой прошивки на Lenovo S90-A.

Всего пройти 4 шага:
  1. Разблокировать bootloader
    а) выключить аппарат. Нажать «увеличение громкости» и подключить кабель к компу(просто черный экран);
    б)  скормить вручную определившемуся устройству (у меня типа»ADB Composit Lenovo«) дрова Qualcomm для QPST_2.7.472.4(прописать в inf файл свои VID и PID, если не увидит в этих дровах Lenovo S90), устройство должно появиться в разделе портов(COM…) здесь то у меня и случился «затык». Капризный драйвер, пришлось перезагружать);
    в) с помощью QFIL.exe из утилит QPST залить на телефон новый бутлоадер(для для Android 4.4.4 или для 5.0.2) .
  2. Прописать root права
    Включаем телефон, залить образ  и прошить этим батником, телефон перезагрузится и прошьется.Чтобы ускорить выполнение 4шага, в этом месте лучше скопировать выбранную прошивку на устройство в «Internal storage»:

    7.1 Прошивки:
    AOSP(открытый код):
    1. Resurrection Remix OS 5.8.5_android_v_7.1.2
    2. Resurrection-Remix-LP-v5.5.9_android_v5.1.1
    Стоковые:
    1. multirom_sisleyr_Global_V8.2.2.0.LXIMIDL_v5.0.2(MIUI 8.8.2.2.0_android 5.0)
    2. S90-A_RUS_7M.150408_SevenMaxs_Android_v4.4.4.4
  3.  Обновить меню recovery.
    Установку осуществить с помощью WRP-2.8.6.1_L_S90, запустив bat файл из архива. Более новый образ здесь: TWRP-3.0.2-0_x64-L-S90-A(заменить им прежний в папке img):

    После успешной установки, вход в меню восстановления осуществятся, через нажатие ОБОИХ клавиш громкости и кнопки включения
  4.  В открывшемся меню восстановления «Установка»-выбрать архив с прошивкой -> Свайп вправо. После завершения нажать «Очистка cache/dalvik -> свайп вправо. Отформатировать Data. Перезагрузка в ОС.

 

Я же после перепрошивки поверх 5го андроида 4ой его версии, получил тёмный экран ((, но в последствии выяснилось, что дисплей одновременно перестал работать, пришлось на другом тачскрине сделать.

Инструкция по раскирпичиванию Lenovo S90 :

Использую прошивку Lenovo S90-A_S239_151126_ROW_qfil.rar(Android 5.0.2) 1.7Gb, в т.ч. QFIL и  драйвера.

1.) Разбираем телефон (нужен опыт)

2.) Отщёлкиваем разъем акб.

3.) Подключаем провод (без акб) реакции не будет

4.) Настраиваем QFIL на полную сервисную прошивку с ПК

5.) Жмём кнопку включения держим 1-2 секунды получим Qloader 9008

6.) Быстро жмём Download .. что-то проешьётся (boot), Qloader перезагрузится жмём Download еще раз

7.) Ждём окончания прошивки. Waiting for reset done игнорируем. Отключаем провод.

8.) Подключаем АКБ, включаем аппарат.

9.) ???

10.) PROFIT!

 

Инструкция по установке прошивок для устройств Lenovo на базе Qualcomm при помощи QFIL

Подготовка

1. Загрузить утилиты QPST и драйверы.
2. Установить «vcredist_x86.exe«. Файл вложен в комплект QPST.
3. Установить «прошивальщик» — «QPST.XX.msi«.
4. Установить драйверы для чипов Qualcomm (скачанные выше). Желательно отключить в данный момент интернет. Windows иногда устанавливает «RELINK HS-USB QDLoader…». Нужно их удалить, кликнув на драйвер, вызвать контекстное меню и кликнуть на «Удалить», поставить галочку: Удалить программы драйверов для этого устройства.
5. Полностью выключить прошиваемый аппарат.
6. Зажать клавишу увеличения громкости (Volume Up), либо качельку громкости (Volume Up & Down одновременно) и не отпуская ее подключить USB-шнур, который уже подключен в порт USB 2.0 вашего ПК.
7. В «Диспетчере устройств» должно появиться устройство «Qualcomm/Lenovo HS-USB QDLoader 9008«.

Скрыть контент

qf_2.png

 

Процесс прошивки

1. Распаковать прошивку на любой диск, желательно в корень и по кратчайшему пути.

Скрыть контент

qf_1.png

2. Запустить программу «QFIL«.

Скрыть контент

qf_3.png

3. В поле «Programmer patch» нажать на кнопу «Browse«, в открывшемся окне перейти до папки с прошивкой (в примере: ROW_S121), выбрать файл «prog_emmc_firehose_89XX.mbn«(в примере: prog_emmc_firehose_8916.mbn), нажать «Открыть«.
4. Нажать копку «Load XML…«, в открывшемся окне поочередно выбрать – сначала «rawprogram0.xml«, нажать «Открыть«, затем «patch0.xml» — «Открыть«.

Скрыть контент

qf_4.png

5. Открыть «Диспетчер задач«. Убедится, что программа QFIL определяет устройство как Qualcomm Lenovo HS-USB QDLoader 9008.

Скрыть контент

qf_5.png

6. Нажать на кнопку «Download» и дождаться окончания процесса. Устройство должно перезагрузиться при успешном процессе прошивки и загрузится в Android OS.

Скрыть контент

qf_6.png

Рекомендуется СМЕНИТЬ РЕГИОН КОД после прошивки с ПК (не для старых моделей).

 

включение ADB

1. Включить отладку по USB

2. Установить приложения: dvr, BusyBox, Init.D_Toggler.

3. Запуск vmliteVNCserver из командной строки терминала:

[cc lang=»php»]su
/data/data/com.vmlite.vncserver/files/vmlitevncserver —start[/cc]

 

 

[свернуть]

 

Как вставить php-код в WordPress на страницу или запись

Всем привет!
Сегодня я поделюсь кодом, с помощью которого можно будет вставлять любой код, написанный на php, в страницу или в запись.
Если у вас стоял плагин, с помощью которого вы решали все эти проблемы, можете его удалить (к примеру, плагин Inline PHP), если не ставили, то не устанавливайте, так как код имеет всего пару строчек.
Зачем выводить внутри статьи или записи работающий код php?
Бывают разные причины, вот например, вы хотите вывести кнопку «купить» в самой статье, где после нажатия, товар попадет в корзину, или хотите вывести форму в статье, где будет вестись подсчет символов и балов. Идей, как применить данную функцию, я думаю, вы найдете намного больше. Итак, добавьте в файл «functions.php» вашей темы вот такую функцию:

[cc lang=»php»]
/* чтобы вставить код php в статьях/страницах WordPress,
* поставьте шоркод: [exec]код[/exec]
*/
function exec_php($matches){
eval(‘ob_start();’.$matches[1].’$inline_execute_output = ob_get_contents();ob_end_clean();’);
return $inline_execute_output;
}
function inline_php($content){
$content = preg_replace_callback(‘/\[exec\]((.|\n)*?)\[\/exec\]/’, ‘exec_php’, $content);
$content = preg_replace(‘/\[exec off\]((.|\n)*?)\[\/exec\]/’, ‘$1’, $content);
return $content;
}
add_filter(‘the_content’, ‘inline_php’, 0);[/cc]

Теперь вставляйте шорткод прямо в статью или запись:
[cc lang=»php»][exec]здесь php код [/exec][/cc]

Внимание: при вставке php кода в шорткод, не используйте «»
То есть будет вот так:
[cc lang=»php»][exec]echo date(‘Y’);[/exec][/cc]

Если вы хотите вывести код, как обычный текст, выведите php код вот таким шорткодом:
[cc lang=»php»][exec off]php код[/exec][/cc]
Это все! Удачи!

Источник: https://bloggood.ru/wordpress/kak-vstavit-php-kod-v-wordpress-na-stranicu-ili-zapis.html/