About /robots.txt
About /robots.txt
приходит время и нужо создать копию сайта на хостинге для модификации, так вот никогда не забывайте заменять robots.txt
User-agent: * Disallow: /
About /robots.txt
приходит время и нужо создать копию сайта на хостинге для модификации, так вот никогда не забывайте заменять robots.txt
User-agent: * Disallow: /
Наш телефон в 3 раза круче ноутбука, но к сожалению ограничение в 4GB никуда не делись,
и так
ffmpeg -i video9GB40minut.mp4 -f mp4 -vcodec copy -acodec copy -ss 0:00:00 -t 0:15:00 /home/user/1.mp4
ffmpeg -i video9GB40minut.mp4 -f mp4 -vcodec copy -acodec copy -ss 0:15:00 -t 0:15:00 /home/user/2.mp4
ffmpeg -i video9GB40minut.mp4 -f mp4 -vcodec copy -acodec copy -ss 0:30:00 -t 0:15:00 /home/user/3.mp4
очень быстро, как для таких размеров.
нам нужно узнать откуда пришел пользователь да и все что можно вытянуть из GA.
создаем по инструкции ключи и пользователя
качать нужно не по ссылке а через клон
несколько подводных комней обходим с помощью подсказки
I solved this problem without changing any line of Google API. In your php code, you juste need to specify where you want the cache folder to be: $config = new Google_Config(); $config->setClassConfig('Google_Cache_File', array('directory' => '../tmp/cache')); // Here I set a relative folder to avoid pb on permissions to a folder like /tmp that is not permitted on my mutualised host $client = new Google_Client($config); // And then, you pass the config for your GoogleClient
также тут у нас есть хорошие примеры как пользоваться конструктором запросов
ну и собственно зачем это тут пишется у гугла очень хорошая документация потому очень мало кто пытается помочь побороть гугл.
меняем функцию в файле примере на ту что нам нужно. и не пытаемся запустить примеры которые не хрена не запускаются
ХХХХХХХХХХ = номер заказ
function getResults(&$analytics, $profileId) { // Calls the Core Reporting API and queries for the number of sessions // for the last seven days. $optParams = array( 'dimensions' => 'ga:source,ga:medium,ga:transactionId', 'sort' => '-ga:sessions,ga:source', 'filters' => 'ga:transactionId==ХХХХХХХХХХ', 'max-results' => '25'); return $analytics->data_ga->get( 'ga:' . $profileId, '30daysAgo', 'today', 'ga:sessions,ga:transactionRevenue,ga:transactions,ga:uniquePurchases',$optParams); }
с помощью тора я смог скачать обновление и обновиться до версии 1.4.6 как оказалось в китае забанен укртелеком. но потерял root теперь благодаря http://flying8pus.blogspot.my/ я смог остановить рут так как старая версия программы 360root с этим не справлялось. так кроме всего прочего автор заявляет что можно установить GOOGLE service в просто народе GAPPS. пока не пробовал но рут уже есть а значить и backup restore.
Prerequisites (Tools & Packages ) 1) 360超级ROOT from http://root.360.cn/ PermRoot.apk 2) apk files from Gapps packages 67ae3a402c705c8ec97d6d05364e8697 gapps-5.1-arm64-2015-07-17-15-08.zip Unzip and extract the following apk files: PrebuiltGmsCore.apk (from /arch/priv-app/PrebuiltGmsCore/) GoogleServicesFramework.apk (from /common/priv-app/GoogleServicesFramework/) GoogleLoginService.apk (from /common/priv-app/GoogleLoginService/) Phonesky.apk (from /common/priv-app/Phonesky/) !! Rename the PrebuiltGmsCore.apk to GmsCore.apk !! 3) Terminal emulator Example: jackpal.androidterm-1.0.70-71-minAPI4.apk 4) Google play store apk (from apkmirror etc) Steps 0) You may want to follow the link to enable 3rd party apk installation and change the UI language: How-to change UI language 1) Root the device Install PermRoot.apk. Launch 360超级ROOT & click the <跳skip> on upper right corner to enter the main screen. Click the center BIG icon in middle to start. 2) Install terminal emulator and grant the root access Install jackpal.androidterm-1.0.70-71-minAPI4.apk. Launch the emulator and switch to root user > su - (Click Accept / 允许 when 360超级ROOT prompt) # cd / 3) Remount /system rw # mount -o rw,remount /system 4) Copy the Gapps apk files to respective locations # cd /system/priv-app # mkdir GmsCore GoogleServicesFramework GoogleLoginService Phonesky # chmod 755 GmsCore GoogleServicesFramework GoogleLoginService Phonesky # # df (check your path to USB thumbdrive) (Note: Modify the following path to your Gapps apks in thumbdrive) # cp /storage/usbotg/usbotg-sda1//GmsCore.apk GmsCore/ # cp /storage/usbotg/usbotg-sda1/ /GoogleServicesFramework.apk GoogleServicesFramework/ # cp /storage/usbotg/usbotg-sda1/ /GoogleLoginService.apk GoogleLoginService/ # cp /storage/usbotg/usbotg-sda1/ /Phonesky.apk Phonesky/ # chmod 644 GmsCore/GmsCore.apk Google*/* Phonesky/Phonesky.apk # sync # reboot 5) Install the Google Play Store and YouTube from thumbdrive etc
ЗЫ
Проверил работает маркет, есть пока проблемы с логином в хроме но возможно обновляется.
И так приступим, первые сутки, пустые просторы интернета и первые проблемы и успехи.
наша модель MDZ-18-AA
первым делам включаем английский язык в shafaguanjia маркете есть доступ к меню андроида там можно включить английский язык.
если после экспериментов ваша коробочка перезагружается по кругу вход в рекавери через кнопки «ок» в центре джостика и «назад» — да установив root через «360 root» я хотел завести гугл сервисы и не удачно.
очень хорошо идет программа ex.ua порадовала меня после spark версии (работает перемотка вперед 🙂 ), очень сильно
программы брал отсюда, iptv по подписке с torrent-tv.ru работают сносно, через AceStream не захотело запускать хоть на телефоне вариант работает на ура,
для ex.ua нужно установить MXPlayer в некоторых случаях он показал себя лучше чем BSPlayer, хоть есть смысл устанавливать оба плеера. Программы ставятся очень просто через usb диск 250GB на ура, сам не заметил как после переходов на SSD дисков у меня больше чем флешек.
попробовал погонять в гонки, первые попавшиеся, но с помощью блатного пульта смог только посмотреть по сторонам. — представлял немного по другому.
теперь радостная новость «logitech k330 клавиатура + мышь» можно установить русскую клавиатуру, что позволит хотя бы искать по тому же ex.ua.
раскладок можно выбрать несколько и переключать через — контрол+пробел.
из печального прошивка у меня по воздуху не обновляется, а на сайтах ее еще нет.
как оказалось 433 давольно таки слабоват чтоб пробить 3 стены. но отказываться от него не будем так как одна из плат приемника все таки может получать данные и с третей комнаты, и датчики подают сильный сигнал. но для связи розеток и управлением светом решено воспользоваться 2.4ГГц очень хороший мануальчик с описаниями я нашел сдесь спасибо автору завтра получу партия радиомодулей дабы не потерять в закладках статью скопирую сюда пару примеров.
Первый пример, передача данных с аналогового входа.:
#include #include #include // https://github.com/maniacbug/RF24 const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба" RF24 radio(9, 10); // CE, CSN void setup(){ Serial.begin(9600); radio.begin(); delay(2); radio.setChannel(9); // канал (0-127) // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS // RF24_250KBPS на nRF24L01 (без +) неработает. // меньше скорость, выше чувствительность приемника. radio.setDataRate(RF24_1MBPS); // мощьность передатчика RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM, radio.setPALevel(RF24_PA_HIGH); radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe" radio.startListening(); // включаем приемник, начинаем слушать трубу } // radio.stopListening(); // останавливает приём (нужно перед началом передачи) void loop() { int data; if (radio.available()){ // проверяем не пришло ли чего в буфер. radio.read(&data, sizeof(data)); // читаем данные, указываем сколько байт читать Serial.print("data: "); Serial.println(data); } } ------------------------------------------------------------------------------ #include #include #include // https://github.com/maniacbug/RF24 const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба" RF24 radio(9, 10); // CE, CSN void setup(){ Serial.begin(9600); radio.begin(); delay(2); radio.setChannel(9); // канал (0-127) // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS // RF24_250KBPS на nRF24L01 (без +) неработает. // меньше скорость, выше чувствительность приемника. radio.setDataRate(RF24_1MBPS); // мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM, radio.setPALevel(RF24_PA_HIGH); radio.openWritingPipe(pipe); // открываем трубу на передачу. } void loop() { int data = analogRead(0); // читаем значение radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет Serial.print("data: "); Serial.println(data); // delay(1000); }Второй пример, передача данных с DHT11.:
#include #include #include // https://github.com/maniacbug/RF24 #include const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба" dht11 sensor; RF24 radio(9, 10); // CE, CSN void setup(){ Serial.begin(9600); radio.begin(); delay(2); radio.setChannel(9); // канал (0-127) // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS // RF24_250KBPS на nRF24L01 (без +) неработает. // меньше скорость, выше чувствительность приемника. radio.setDataRate(RF24_1MBPS); // мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM, radio.setPALevel(RF24_PA_HIGH); radio.openWritingPipe(pipe); // открываем трубу на передачу. delay(1000); } void loop() { int data[2]; sensor.read(8); data[0] = int(sensor.temperature); // заполняем массив data[1] = int(sensor.humidity); radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет Serial.print("Humidity (%): "); Serial.println(data[1]); Serial.print("Temperature (oC): "); Serial.println(data[0]); delay(1000); } ------------------------------------------------------------------------------- #include #include #include // https://github.com/maniacbug/RF24 const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба" RF24 radio(9, 10); // CE, CSN void setup(){ Serial.begin(9600); radio.begin(); delay(2); radio.setChannel(9); // канал (0-127) // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS // RF24_250KBPS на nRF24L01 (без +) неработает. // меньше скорость, выше чувствительность приемника. radio.setDataRate(RF24_1MBPS); // мощьность передатчика RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM, radio.setPALevel(RF24_PA_HIGH); radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe" radio.startListening(); // включаем приемник, начинаем слушать трубу } // radio.stopListening(); // останавливает приём (нужно перед началом передачи) void loop() { int data[2]; if (radio.available()){ // проверяем не пришло ли чего в буфер. radio.read(&data, sizeof(data)); // читаем данные и указываем сколько байт читать Serial.print("Humidity (%): "); Serial.println(data[1]); Serial.print("Temperature (oC): "); Serial.println(data[0]); } }Третий пример, передача данных с DHT11 по запросу.:
#include #include #include // https://github.com/maniacbug/RF24 const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба" RF24 radio(9, 10); // CE, CSN void setup(){ Serial.begin(9600); radio.begin(); delay(2); radio.setChannel(9); // канал (0-127) // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS // RF24_250KBPS на nRF24L01 (без +) неработает. // меньше скорость, выше чувствительность приемника. radio.setDataRate(RF24_1MBPS); // мощьность передатчика RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM, radio.setPALevel(RF24_PA_HIGH); radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe" radio.startListening(); // включаем приемник, начинаем слушать трубу } // // для ПроМини void loop() { int data[2]; if (Serial.available() > 0){ // если чтото пришло в сериал int val = Serial.parseInt(); // читаем в переменную if (val == 1){ // если это 1 radio.stopListening(); // останавливает приём (нужно перед началом передачи) radio.openWritingPipe(pipe); // открываем трубу на передачу. radio.write(&val, sizeof(val)); // отправляем val и указываем сколько байт пакет radio.startListening(); // включаем приемник, начинаем слушать трубу } Serial.flush(); // очищаем буфер } if (radio.available()){ // проверяем не пришло ли чего в буфер. radio.read(&data, sizeof(data)); // читаем данные и указываем сколько байт читать Serial.print("Humidity (%): "); Serial.println(data[1]); Serial.print("Temperature (oC): "); Serial.println(data[0]); } } --------------------------------------------------------------------------------- #include #include #include // https://github.com/maniacbug/RF24 #include const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба" dht11 sensor; RF24 radio(9, 10); // CE, CSN void setup(){ // Serial.begin(9600); radio.begin(); delay(2); radio.setChannel(9); // канал (0-127) // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS // RF24_250KBPS на nRF24L01 (без +) неработает. // меньше скорость, выше чувствительность приемника. radio.setDataRate(RF24_1MBPS); // мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM, radio.setPALevel(RF24_PA_HIGH); radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe" radio.startListening(); // включаем приемник, начинаем слушать трубу // radio.openWritingPipe(pipe); // открываем трубу на передачу. } ////// для UNO void loop() { int data[2]; if (radio.available()){ // проверяем не пришло ли чего в буфер. int val; radio.read(&val, sizeof(val)); // читаем данные и указываем сколько байт читать if (val == 1){ // если пришло 1, radio.stopListening(); // останавливает приём (нужно перед началом передачи) sensor.read(8); // читаем градусник delay(1000); data[0] = int(sensor.temperature); // заполняем массив data[1] = int(sensor.humidity); //отправляем данные radio.openWritingPipe(pipe); // открываем трубу на передачу. radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет radio.startListening(); // включаем приемник, начинаем слушать трубу } } }
Сначала я скачал несколько библиотек которые не дали мне ровным счётом ничего, прочитал немного форумов которые рассказали о страшном кодирование таких датчиков через кодер декодер pt2262 \ pt2272 я уже начал подыскивать приемник передатчик с этой микросхемой, но все же залез в внутрь сигнализации я не обнаружил данные чипы хоть инструкция уверяла меня что они есть в ZC-GSM012 и вот мои успехи, все заработало без дополнительного железа.
итак
библиотека rcswitch прямо внутри есть примеры которые помогут как считать коды так и отправить
для считывания используем ReceiveDemo_Simple
/* Simple example for receiving http://code.google.com/p/rc-switch/ */ #include RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); mySwitch.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2 } void loop() { if (mySwitch.available()) { int value = mySwitch.getReceivedValue(); if (value == 0) { Serial.print("Unknown encoding"); } else { Serial.print("Received "); Serial.print( mySwitch.getReceivedValue() ); Serial.print(" / "); Serial.print( mySwitch.getReceivedBitlength() ); Serial.print("bit "); Serial.print("Protocol: "); Serial.println( mySwitch.getReceivedProtocol() ); } mySwitch.resetAvailable(); } }
в мониторе мы увидим
Received 1******4 / 24bit Protocol: 1
при нажатии на кнопки пультов и на срабатывание датчиков.
с помощью
SendDemo
#include RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); // Transmitter is connected to Arduino Pin #10 mySwitch.enableTransmit(10); // Optional set pulse length. // mySwitch.setPulseLength(320); // Optional set protocol (default is 1, will work for most outlets) // mySwitch.setProtocol(2); // Optional set number of transmission repetitions. // mySwitch.setRepeatTransmit(15); } void loop() { mySwitch.send(1******4, 24); // сигналка выключена delay(1000); delay(20000); }
mySwitch.send(1******4, 24);
это строка в которую мы добавили код кнопки.
ЖЕЛЕЗО
сама плата Arduino UNO (клон) 10$
пару строк и вы как минимум можете считывать датчики и управлять сигнализацией с ПК
Arduino UNO подключение к ноутбуку (Украл отсюда)
находим устройство командой
# dmesg
[ 444.861592] usb 2-1.2: new full-speed USB device number 6 using ehci-pci
[ 444.957711] usb 2-1.2: New USB device found, idVendor=2341, idProduct=0043
[ 444.957719] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 444.957723] usb 2-1.2: Manufacturer: Arduino (www.arduino.cc)
[ 444.957726] usb 2-1.2: SerialNumber: 85***********080
[ 444.958476] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device
Даем доступ всем желающим
Украдено тут
1. Сканирование Одного Хоста или IP Адреса
Сканировать Отдельный IP Адрес :
$ nmap 192.168.1.1
Сканировать сервер по Имени Хоста :
$ nmap server.shellhacks.com
Увеличить Уровень Детализации результатов сканирования :
$ nmap -v server.shellhacks.com
$ nmap -vv server.shellhacks.com
2. Сканирование Множества IP Адресов
Сканировать Множество IP Адресов :
$ nmap 192.168.1.1 192.168.1.2 192.168.1.3
$ namp 192.168.1.1,2,3
Сканировать Подсеть :
$ nmap 192.168.1.0/24
$ nmap 192.168.1.*
Сканировать Диапазон IP Адресов (192.168.1.0 — 192.168.1.200) :
$ nmap 192.168.1.0-200
3. Поиск Активных Компьютеров в Сети
Сканировать сеть в поиске Активных Хостов :
$ nmap -sn 192.168.1.0/24
Читайте : Поиск Активных Компьютеров в Локальной Сети
4. Сканирование Списка Хостов из Файла
Сканирование списка хостов/сетей из Файла :
$ nmap -iL input.txt
Формат файла :
# Записи могут быть представлены в любом из форматов, с которыми работает
# Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные
# диапазоны). Записи должны разделятся одним или более пробелами, табуляциями
# или переходами на новую строку.
$ cat input.txt
server.shellhacks.com
192.168.1.0/24
192.168.2.1,2,3
192.168.3.0-200
5. Исключение IP/Хостов/Сетей из Сканирования
Исключить Цели из сканирования Nmap-ом :
$ nmap 192.168.1.0/24 —exclude 192.168.1.1
$ nmap 192.168.1.0/24 —exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 —exclude 192.168.1.1,2,3
Исключить Список хостов, взятых из файла :
$ nmap 192.168.1.0/24 —excludefile exclude.txt
Формат файла с исключенными хостами аналогичен приведенному выше.
6. Сканирование Определенных Портов
Сканировать Один Порт :
$ nmap -p 80 192.168.1.1
Сканировать Несколько Портов :
$ nmap -p 80,443 192.168.1.1
Сканировать Диапазон Портов :
$ nmap -p 80-1000 192.168.1.1
Сканировать Все Порты :
$ nmap -p «*» 192.168.1.1
Сканировать несколько самых Распространенных Портов :
$ nmap —top-ports 5 192.168.1.1
$ nmap —top-ports 10 192.168.1.1
7. Определение Поддерживаемых IP Протоколов
Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост :
$ nmap -sO 192.168.1.1
8. Сканирование TCP/UDP Портов
Сканировать все TCP Порты :
$ nmap -sT 192.168.1.1
Сканировать определенные TCP Порты :
$ nmap -p T:80 192.168.1.1
Сканировать все UDP Порты :
$ nmap -sU 192.168.1.1
Сканировать определенные UDP Порты :
$ nmap -p U:53 192.168.1.1
Объединение сканирования разных портов :
$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1
9. Быстрое Сканирование
Активировать Быстрый Режим сканирования :
$ nmap -F 192.168.1.1
* Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.
10. Показывать Причину Состояния Порта
Показать Причину, по которой Nmap считает что порт находится в определенном состоянии :
$ nmap —reason 192.168.1.1
11. Показывать Только Открытые Порты
Показать Только Открытые Порты (либо возможно открытые) :
$ nmap —open 192.168.1.1
12. Определение ОС
Включить Определение ОС :
$ nmap -O 192.168.1.1
* Определяет удаленную операционную систему с помощью отпечатка стека TCP/IP.
13. Определение Версии Сервисов
Включить Определение Версии Сервисов :
$ nmap -sV 192.168.1.1
* Определяет версии программ, запущенных на удаленном сервере.
14. Обнаружение Фаервола
Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом :
$ nmap -sA 192.168.1.1
15. Подмена MAC Адреса
Подменить MAC Адреса :
$ nmap —spoof-mac 00:11:22:33:44:55 192.168.1.1
Подменить MAC Адрес Случайным MAC-ом :
$ nmap —spoof-mac 0 192.168.1.1
16. Сканирование Фаервола на Уязвимости
TCP Null сканирование :
$ nmap -sN 192.168.1.1
* Не устанавливаются никакие биты (Флагов в TCP заголовоке 0).
TCP Fin сканирование :
$ nmap -sF 192.168.1.1
* Устанавливается только TCP FIN бит.
TCP Xmas сканирование :
$ nmap -sX 192.168.1.1
* Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).
17. Скрытое Сканирование
TCP SYN сканирование :
$ nmap -sS 192.168.0.1
* Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.
Читайте : Анонимное Сканирование Портов : Nmap + Tor + ProxyChains
18. Отключение Обнаружения Хостов (No Ping)
Не пинговать хосты перед сканированием :
$ nmap -Pn 192.168.1.1
19. Отключение Использования DNS
Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса :
$ nmap -n 192.168.1.1
20. Сохранение Результатов Сканирования Nmap в Файл
Сохранить результат сканирования Nmap в Текстовый Файл :
$ nmap 192.168.1.1 > output.txt
$ nmap -oN output.txt 192.168.1.1
Сохранить результат сканирования Nmap в XML Файл :
$ nmap -oX output.xml 192.168.1.1