Минусовки на DJ-X.info
Страницы: « 1 2 3 4 5 6 7 8 9 10 »
 51 
 : 28 Апрель 2013, 17:19:28 
Автор DJ-X - Последний ответ от DJ-X
Сегодня будем создавать виртуального пользователя для pure-ftpd.
Создадим папку для ftp пользователя ftpuser
/mnt/usb/ftp/ftpuser

и назначим на неё права - пользователя UID: ftp и группы GID: ftp
chown -R ftp:ftp /mnt/usb/ftp/ftpuser

Посмотреть реальных пользователей и их группы можно здесь.
/etc/passwd
ftp:*:55:55:ftp:/home/ftp:/bin/false


Реальный пользователь FTP нужен для анонимного доступа.
Анонимные пользователи будут видеть папку /home/ftp исправьте если нужна другая.

Создадим виртуального пользователя ftpuser и дадим ему пароль.
pure-pw useradd ftpuser -u ftp -g ftp -d /mnt/usb/ftp/ftpuser
Создадим из файла /etc/pureftpd.passwd этот файл /etc/pureftpd.pdb вот этой командой.
pure-pw mkdb

Настройки находятся здесь.
/etc/config/pure-ftpd

config pure-ftpd
option port             '21'
option noanonymous      '0'
option chrooteveryone   '1'
option maxclientsperip  '10'
option maxclientsnumber '4'
option peruserlimits    '3:4'
option umask            '133:022'
# FTP приветствие - можно написать стишок в кодировке ANSI в файле welcome.
option fortunesfile     '/www/welcome'
#option authentication   'unix'
option authentication   'puredb:/etc/pureftpd.pdb'
option syslogfacility 'none'
option altlog 'stats:/var/log/pureftpd.log'
#option tls              '1'
option enabled          '1'

С настройкой виртуальных пользователей pure-ftpd стал ещё лучше.
+ Пользователь не может выйти из своей домашней директории.
+ Нельзя войти с Unix логином и паролем от root.


Pure-FTPd TLS
Создаём папку
mkdir -p /etc/ssl/private

Генерируем RSA PRIVATE KEY и CERTIFICATE - можно сделать в любом линуксе.
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Устанавливаем права
chmod 600 /etc/ssl/private/*.pem

В браузерах FTPS SSL/TLS не работает, нужно использовать FTP клиенты c поддержкой OpenSSL.
421 Sorry, cleartext sessions are not accepted on this server.


Подробнее о настройке здесь.
http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users
http://wiki.openwrt.org/doc/uci/pure-ftpd


Добавляем правила в Firewall для IPv4 WAN и 6to4 IPv6, я специально разделил правила на IPv4 и IPv6 чтоб не глючило.
config rule
option dest_port '21'
option target 'ACCEPT'
option limit_burst '5'
option limit '5'
option name 'Allow-FTP-6to4'
option src '6to4'
option proto 'tcp'
option family 'ipv6'
option enabled '1'

config rule
option dest_port '21'
option target 'ACCEPT'
option limit_burst '5'
option limit '5'
option name 'Allow-FTP-IPv4'
option src 'wan'
option proto 'tcp'
option family 'ipv4'
option enabled '1'

 52 
 : 20 Апрель 2013, 17:18:39 
Автор DJ-X - Последний ответ от DJ-X

DJ-X/Dynamic-DNS-Updater+IPv6-Tunnel-Broker-Updater! Он теперь может определять
IPv4 и IPv6 6to4 адреса не выходя в интернет с помощью команды ifconfig если у роутера белый IP.
Проверено в Linux в OpenWrt на сервере uhttpd + php5-cgi
- эта операционная система работает на многих роутерах и я в нём провожу эксперименты и так осваиваю линукс.
Теперь мой php скрипт сможет сам настраивать IP в A и AAA записях в DNS домена
и обновлять IPv4 адреса на сайтах туннельных брокеров NetAssist  и Hurricane Electric и любых других...

Тестируется на роутере TP Link TL Wr842nd - ftp://ftp.dj-x.info работает на динамических IPv4 и IPv6 6to4 адресах!

OpenWrt - виртуальный пользователь pure-ftpd.
Сайты в Ipv6 туннелях - узнай как настраивать на компьютере IPv6 туннель за непонимающим IPv6 роутером.

 53 
 : 13 Апрель 2013, 16:11:46 
Автор DJ-X - Последний ответ от DJ-X
Пожалуйста. Если что то не понятно спрашивайте.
С момента написания Анти Робо-Зомби мода в коде сайта много чего изменилось и много чего добавилось.
Добавлена стена перед входом и регистрацией - так как продвинутые хрумеры понимают javaskript - замечено в Joomla.
Добавлено управляемое кеширование средствами Nginx - все гости и роботы смотрят кешированые статические страницы
которые периодически обновляются из динамических. Что позволило значительно снизить нагрузку на PHP и Mysql,
убрал PHP сессию для не зарегистрированных и не вошедших гостей смотрящих кеш.

В SMF в файле /Sources/Load.php
ищем session_start();  и меняем на мой код.
//session_start();

    if (strstr($_COOKIE['Stop_Control'], '1'))
   {
    session_start();
    }

Если в PHP включен gzip тогда страницы Nginx сохраняет уже сжатыми он их каждый раз не сжимает по новому.
Теперь роботы-зомби ходят по сайту  без COOKIES по статическим страницам!
Проверялось на высоко посещаемом и очень прожорливом сайте.

 54 
 : 13 Апрель 2013, 15:29:54 
Автор DJ-X - Последний ответ от Sixserg
Спасибо за хороший и полезный пост , я попробую .

 55 
 : 07 Апрель 2013, 16:52:11 
Автор DJ-X - Последний ответ от DJ-X

Настраиваем 6to4 за роутером который ещё не понимает IPv6!
Всё везде пишут что 6to4 адаптер может работать только на белом IPv4,
а если подключить IPv4 роутер то 6to4 адаптер работать не будет!
И на нём никак не настроить 6to4 адаптер!
Я с этим не согласен!

Потому что у меня получилось настроить IPv6 туннель туннельного брокера Netassist, а значит и 6to4 тоже должен работать!
У меня всё таки получилось настроить 6to4 адресс 2002::/16 за непонимающим IPv6 роутером,
но не через через 6to4 адаптер, а через IPv6 Туннель созданный на компьютере с Windows 7!

Для того чтобы настроить 6to4 IPv6 Туннель нам понадобится 6to4 конвертер.
https://isc.sans.edu/tools/ipv6.html

Нам нужен только кусок отмеченный красным IPv6 адреса 2002:bc00:4996::
Должно быть так 2002:bc00:4996::bc00:4996

Открываем консоль cmd от имени администратора и пишем ipconfig

Ethernet adapter Подключение по локальной сети:

   DNS-суффикс подключения . . . . . :
   IPv4-адрес. . . . . . . . . . . . : 192.168.0.100
   Маска подсети . . . . . . . . . . : 255.255.255.0
   Основной шлюз. . . . . . . . . : 192.168.0.1

Для того чтобы IP 192.168.0.100 не менялся нужно в настройках роутера привязать MAC адрес компьютера к этому IPv4 адресу 192.168.0.100.

И настройки для IPv6 туннеля.
Вместо красных IPv4 и IPv6 которые указанны здесь должны быть ваши IP.
IPv6 адрес исчезнет после перезагрузки компьютера.
Что очень удобно если у вас внешний IPv4 динамический и меняется, а если статический и не меняется тогда удаляем зелёную часть кода.

Эти настройки добавляют 6to4 IPv6 туннель который будет называться IP6.

netsh interface ipv6 add v6v4tunnel IP6 192.168.0.100 192.88.99.1
netsh interface ipv6 add address IP6 2002:bc00:4996::bc00:4996 type=unicast validlifetime=infinite preferredlifetime=infinite store=active
netsh interface ipv6 add route ::/0 IP6 2002:c058:6301::c058:6301

Эти настройки удаляют 6to4 IPv6 туннель IP6.

netsh interface ipv6 delete address IP6 2002:bc00:4996::bc00:4996
netsh interface ipv6 delete route ::/0 IP6 2002:c058:6301::c058:6301
netsh interface ipv6 delete interface IP6

Есть один недостаток - нельзя подключиться к IPV6 адресам 2002::/16, а к любым другим можно.

 56 
 : 20 Март 2013, 21:41:42 
Автор DJ-X - Последний ответ от DJ-X

Разрабатывается новая конфигурация сервера Stop Control Pro + Nginx.
Что нового - управление мощными средствами сервера Nginx из PHP скриптов!
В результате получится сайт который способен выдерживать практически любые перегрузки даже на слабых VDS!
На обычном виртуальном хостинге возможности Stop Control Pro были ограничены конфигурацией сервера.
Поэтому я переехал на дешевый VDS и теперь могу делать то что нельзя было сделать раньше.
А это: управление кешированием сервера из PHP скриптов! Что позволяет выдерживать очень большой наплыв пользователей и роботов зомби
даже на очень прожорливых движках и на очень слабых VDS. Главное что бы VDS выдерживал нажатие F5 хотябы 10 секунд.
Эксперименты проводятся сразу на двух VDS с операционными системами FreeBSD и Ubuntu с SMF и Joomla!
Сервер способен различать гостей сайта и пользователей и предоставлять гостям статические страницы, а пользователям динамические!
Это было достигнуто с помощью взаимодействия между специальной конфигурацией сервера и изменённой конфигурацией движка SMF.

 57 
 : 05 Январь 2013, 21:13:15 
Автор DJ-X - Последний ответ от DJ-X

Я написал новый универсальный Dynamic DNS Updater на PHP с поддержкой IPv4 и IPv6.
Он отправляет запросы на DDNS только после того как изменится ваш IP.
Он сверяет наш IP с настройкой IP в DNS домена и как только будет
замечено не соответствие IP будет обновлен на сервере DDNS.
Это будет хорошей альтернативой и заменителем подобных программ.
Уже есть новый кроссплатформенный Dynamic DNS Update Client на PHP с поддержкой всех популярных динамических DNS!
Он может обновлять A и AAA DNS записи домена одновременно!
Для правильной работы у вас на сервере должен быть IPv4 и IPv6!
Если у вас пока нет IPv6 вы можете отключить его в настройках в PHP файле!

Запуск php скрипта в планировщике задач Windows через Wget.

Планировщик (cron) интервал выполнения 10 минут.
/usr/bin/fetch -q -o /dev/null http://localhost/Dynamic-DNS-Updater.php
php -f /home/user/data/www/localhost/DDNS/Dynamic-DNS-Updater.php
wget -O - http://localhost/DDNS/Dynamic-DNS-Updater.php

Обновлено 28.06.2016.
Добавлена запись в базу данных ответов от серверов!
Скачать бесплатно Dynamic DNS Updater v.1 Free!

 58 
 : 02 Январь 2013, 00:33:13 
Автор DJ-X - Последний ответ от DJ-X


Ritorna vincitor. Anna Litvinova.



Qui Radames verra. Anna Litvinova.

 59 
 : 20 Декабрь 2012, 16:48:16 
Автор DJ-X - Последний ответ от DJ-X

Dynamic DNS Updater приложение для Android!
Подымаем сервер на устройствах с Android по Wi-Fi!
Приложение по умолчанию может работать с этими DDNS:
ChangeIP, DNSdynamic, DNSexit, DNSMadeEasy, DNS-O-Matic, DNSPark, DtDNS, DynDNS, easyDNS, eNom, HE.net, Joker, Namecheap, No-IP, ZoneEdit, Net-Me.Net .
Можно добавить свой URL-адрес обновления!

Программой Wget for Windows можно обновлять IPv4 и IPv6 если ваш DDNS их поддерживает!
Нужно всего лишь поправить URL - адрес обновления для вашего сервиса.

Устанавливаем консольную программу Wget for Windows.

DNS Update API » Коды ответов будут сохранятся в папке D:\Temp\

Меняем Хост на свой: ddns.myftp.org
Логин: my@email.com
Пароль: My-Password

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

Создаём файл DDNS.cmd и вставляем туда один из вариантов!


GET с заданным IP

"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -O "D:\Temp\ddns.myftp.org.txt" --user-agent="DJ-X/DNS-Autopilot" "https://dynupdate.no-ip.com/nic/update?hostname=ddns.myftp.org&myip=127.0.0.1" --http-user="my@email.com" --http-password="My-Password" --auth-no-challenge --no-check-certificate --secure-protocol=auto --inet4-only
GET с автоматическим определением IP

"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -O "D:\Temp\ddns.myftp.org.txt" --user-agent="DJ-X/DNS-Autopilot" "https://dynupdate.no-ip.com/nic/update?hostname=ddns.myftp.org" --http-user="my@email.com" --http-password="My-Password" --auth-no-challenge --no-check-certificate --secure-protocol=auto --inet4-only
POST с автоматическим определением IP

"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -O "D:\Temp\ddns.myftp.org.txt" --post-data="hostname=ddns.myftp.org" --user-agent="DJ-X/DNS-Autopilot" "https://dynupdate.no-ip.com/nic/update" --http-user="my@email.com" --http-password="My-Password" --auth-no-challenge --no-check-certificate --secure-protocol=auto --inet4-only
Смотреть все параметры WGET на русском.
"C:\Program Files (x86)\GnuWin32\bin\wget.exe" -h
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files (x86)\GnuWin32/etc/wgetrc
GNU Wget 1.11.4, программа для загрузки файлов из сети в автономном режиме.
Использование: C:\Program Files (x86)\GnuWin32\bin\wget [ОПЦИЯ]... [URL=http://...

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

Запуск:
  -V,  --version           вывод версии Wget и выход.
  -h,  --help              вывод этой справки.
  -b,  --background        после запуска перейти в фоновый режим.
  -e,  --execute=КОМАНДА   выполнить команду в стиле `.wgetrc'.

Журналирование и входной файл:
  -o,  --output-file=ФАЙЛ    записывать сообщения в ФАЙЛ.
  -a,  --append-output=ФАЙЛ  дописывать сообщения в конец ФАЙЛА.
  -d,  --debug               вывод большого количества отладочной информации.
  -q,  --quiet               молча (без выходных данных).
  -v,  --verbose             подробный вывод (по умолчанию).
  -nv, --no-verbose          отключение подробного режима, но не полностью.
  -i,  --input-file=ФАЙЛ     загрузка URL'ов, найденных в ФАЙЛЕ.
  -F,  --force-html          считать, что входной файл - HTML.
  -B,  --base=URL            добавление URL в начало относительных ссылок в файле -F -i.

Загрузка:
  -t,  --tries=ЧИСЛО             установить ЧИСЛО повторных попыток (0 без ограничения).
       --retry-connrefused       повторять, даже если в подключении отказано.
  -O,  --output-document=ФАЙЛ    записывать документы в ФАЙЛ.
  -nc, --no-clobber              пропускать загрузки, которые приведут к
                                 загрузке уже существующих файлов.
  -c,  --continue                возобновить загрузку частично загруженного файла.
       --progress=ТИП            выбрать тип индикатора выполнения.
  -N,  --timestamping            не загружать повторно файлы, только если они
                                 не новее, чем локальные.
  -S,  --server-response         вывод ответа сервера.
       --spider                  ничего не загружать.
  -T,  --timeout=СЕКУНДЫ         установка значений всех тайм-аутов в СЕКУНДЫ.
       --dns-timeout=СЕК         установка тайм-аута поиска в DNS в СЕК.
       --connect-timeout=СЕК     установка тайм-аута подключения в СЕК.
       --read-timeout=СЕК        установка тайм-аута чтения в СЕК.
  -w,  --wait=СЕКУНДЫ            пауза в СЕКУНДАХ между загрузками.
       --waitretry=СЕКУНДЫ       пауза в 1..СЕКУНДЫ между повторными попытками загрузки.
       --random-wait             пауза в 0...2*WAIT секунд между загрузками.
       --no-proxy                явно выключить прокси.
  -Q,  --quota=ЧИСЛО             установить величину квоты загрузки в ЧИСЛО.
       --bind-address=АДРЕС      привязка к АДРЕСУ (имя хоста или IP) локального хоста.
       --limit-rate=СКОРОСТЬ     ограничение СКОРОСТИ загрузки.
       --no-dns-cache            отключение кэширования поисковых DNS-запросов.
       --restrict-file-names=ОС  ограничение на символы в именах файлов, использование которых допускает ОС.
       --ignore-case             игнорировать регистр при сопоставлении
                                 файлов и/или каталогов.
  -4,  --inet4-only              подключаться только к адресам IPv4.
  -6,  --inet6-only              подключаться только к адресам IPv6.
       --prefer-family=СЕМЕЙСТВО подключаться сначала к адресам указанного семейства,
                                 может быть IPv6, IPv4 или ничего.
       --user=ПОЛЬЗОВАТЕЛЬ       установить и ftp- и http-пользователя в ПОЛЬЗОВАТЕЛЬ.
       --password=ПАРОЛЬ         установить и ftp- и http-пароль в ПАРОЛЬ.

Каталоги:
  -nd, --no-directories           не создавать каталоги.
  -x,  --force-directories        принудительно создавать каталоги.
  -nH, --no-host-directories      не создавать каталоги как на хосте.
       --protocol-directories     использовать имя протокола в каталогах.
  -P,  --directory-prefix=ПРЕФИКС сохранять файлы в ПРЕФИКС/...
       --cut-dirs=ЧИСЛО           игнорировать ЧИСЛО компонентов удалённого каталога.

Опции HTTP:
       --http-user=ПОЛЬЗОВАТЕЛЬ установить http-пользователя в ПОЛЬЗОВАТЕЛЬ.
       --http-password=ПАРОЛЬ  установить http-пароль в ПАРОЛЬ.
       --no-cache              отвергать кэшированные сервером данные.
  -E,  --html-extension        сохранять HTML-документы с расширением `.html'.
       --ignore-length         игнорировать поле заголовка `Content-Length'.
       --header=СТРОКА         вставить СТРОКУ между заголовками.
       --max-redirect          максимально допустимое число перенаправлений
                               на страницу.
       --proxy-user=ПОЛЬЗОВАТЕЛЬ установить ПОЛЬЗОВАТЕЛЯ в качестве имени пользователя для прокси.
       --proxy-password=ПАРОЛЬ   установить ПАРОЛЬ в качестве пароля для прокси.

       --referer=URL           включить в HTTP-запрос заголовок `Referer: URL'.
       --save-headers          сохранять HTTP-заголовки в файл.
  -U,  --user-agent=АГЕНТ      идентифицировать себя как АГЕНТ вместо Wget/ВЕРСИЯ.
       --no-http-keep-alive    отключить поддержание активности HTTP (постоянные подключения).
       --no-cookies            не использовать кукисы.
       --load-cookies=ФАЙЛ     загрузить кукисы из ФАЙЛА перед сеансом.
       --save-cookies=ФАЙЛ     сохранить кукисы в ФАЙЛ после сеанса.
       --keep-session-cookies  загрузить и сохранить кукисы сеанса (непостоянные).
       --post-data=СТРОКА      использовать метод POST; отправка СТРОКИ в качестве данных.
       --post-file=ФАЙЛ        использовать метод POST; отправка содержимого ФАЙЛА.
       --content-disposition   Учитывать заголовок Content-Disposition
                               при выборе имён для локальных файлов
                               (ЭКСПЕРИМЕНТАЛЬНЫЙ).
       --auth-no-challenge     Отправить базовые данные аутентификации HTTP
                               не дожидаясь ответа от сервера.

Опции HTTPS (SSL/TLS):
       --secure-protocol=ПР     выбор безопасного протокола: auto, SSLv2,
                                SSLv3 или TLSv1.
       --no-check-certificate   не проверять сертификат сервера.
       --certificate=FILE       файл сертификата пользователя.
       --certificate-type=ТИП   тип сертификата пользователя: PEM или DER.
       --private-key=ФАЙЛ       файл секретного ключа.
       --private-key-type=ТИП   тип секретного ключа: PEM или DER.
       --ca-certificate=ФАЙЛ    файл с набором CA.
       --ca-directory=КАТ       каталог, в котором хранится список CA.
       --random-file=ФАЙЛ       файл со случайными данными для SSL PRNG.
       --egd-file=ФАЙЛ          файл, определяющий сокет EGD со случайными данными.

Опции FTP:
       --ftp-user=ПОЛЬЗОВАТЕЛЬ установить ftp-пользователя в ПОЛЬЗОВАТЕЛЬ.
       --ftp-password=ПАРОЛЬ   установить ftp-пароль в ПАРОЛЬ.
       --no-remove-listing     не удалять файлы файлы `.listing'.
       --no-glob               выключить маски для имён файлов FTP.
       --no-passive-ftp        отключить "пассивный" режим передачи.
       --retr-symlinks         при рекурсии загружать файлы по ссылкам (не каталоги).
       --preserve-permissions  сохранять права доступа удалённых файлов.

Рекурсивная загрузка:
  -r,  --recursive          включение рекурсивной загрузки.
  -l,  --level=ЧИСЛО        глубина рекурсии (inf и 0 - бесконечность).
       --delete-after       удалять локальные файлы после загрузки.
  -k,  --convert-links      делать ссылки локальными в загруженном HTML.
  -K,  --backup-converted   перед преобразованием файла X делать резервную копию X.orig.
  -m,  --mirror             короткая опция, эквивалентная
                            -N -r -l inf --no-remove-listing.
  -p,  --page-requisites    загрузить все изображения и проч., необходимые для отображения HTML-страницы.
       --strict-comments    включить строгую (SGML) обработку комментариев HTML.


Разрешения/запреты при рекурсии:
  -A,  --accept=СПИСОК             список разрешённых расширений, разделённых запятыми.
  -R,  --reject=СПИСОК             список запрещённых расширений, разделённых запятыми.
  -D,  --domains=СПИСОК            список разрешённых доменов, разделённых запятыми.
       --exclude-domains=СПИСОК    список запрещённых доменов, разделённых запятыми.
       --follow-ftp                следовать по ссылкам FTP в HTML-документах.
       --follow-tags=СПИСОК        список используемых тегов HTML, разделённых запятыми.
       --ignore-tags=СПИСОК        список игнорируемых тегов HTML, разделённых запятыми.
  -H,  --span-hosts                заходить на чужие хосты при рекурсии.
  -L,  --relative                  следовать только по относительным ссылкам.
  -I,  --include-directories=СПИСОК список разрешённых каталогов.
  -X,  --exclude-directories=СПИСОК список исключаемых каталогов.
  -np, --no-parent                 не подниматься в родительский каталог.

Отчёты об ошибках и пожелания отправляйте на <bug-wget(гаф)gnu.org>.


У нас работает DJ-X/Dynamic-DNS-Updater на роутере, а у вас!

 60 
 : 10 Декабрь 2012, 18:01:52 
Автор DJ-X - Последний ответ от DJ-X
Автоматический мониторинг серверов Схема №3 - на доработке!
Мониторинг нашего компьютера с динамическим IP + 1 статический обычный хостинг!
При такой схеме мониторинга наш сайт будет расположен на двух серверах!
Один будет с динамическим у нас на компьютере с неограниченными ресурсами, а другой  со статическим IP на каком-то дешевом хостинге!
Если сайт будет находится на локальном сервере то второй сервер будет проверять доступность нашего компьютера
с интервалом 6 минут и при возникновении проблем сам переключит IP на свой статический.
После того как сайт переедет, никакие проверки выполняться не будут пока мы снова не появимся в сети и не изменим IP в DNS,
после чего автопилот автоматически начнёт проверять наш локальный сервер с динамическим IP!
Можно будет спокойно выключать локальный сервер с динамическим IP и Ваш сайт всёравно продолжит работать на статическом IP!
Можно будет не переживать IP будет изменён автоматически в течении нескольких минут!
Планируется поддержка всех популярных сервисов DDNS!
По-моему это просто супер!

Страницы: « 1 2 3 4 5 6 7 8 9 10 »

Страница сгенерирована за 0.086 секунд. Запросов: 42.