2017-10-27

Клиенты Билайн видят друг друга в мобильной сети

Вчера обнаружил, что мобильники, по крайней мере те, что расположены в пределах одной соты видят друг друга по внутреннему IP адресу присвоенному оператором. Я сейчас пишу простенькую программу которая представляет собой простенький HTTP сервер. Так вот, - если запустить такой сервер на одном телефоне - то другой телефон зарегистрированный в сети Билайн видит мой телефон по его внутреннему IP. Проверял на двух телефонах коллег в офисе - на обоих сработало. Причем, у всех телефонов подсети были разные.

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

Нужно будет еще проверить - работают ли широковещательные запросы - а вдруг?

 

Оставить комментарий

 
  2014-02-23

BitTorrent Sync

Если у вас есть здоровая доля паранойи - то рано или поздно вы зададите себе вопрос - а так ли вам нужен DropBox или Google Disc или Yandex Disk или аналогичные сервисы? Конечно, вряд ли кто-либо будет специально копаться в ваших личных файлах, но... Во первых, эти системы как правило, в своих условиях использования, оставляют за собой право использовавать ваши данные как им заблагорассудится. Во вторых, никто не гарантирует вам, что завтра вы проснетесь а вся информация с вашего аккаунта попросту не исчезнет, заодно испортив операционную систему на вашем компьютере, ну, мало-ли, технический сбой произошёл. Или проект, просто не решат закрыть по причине нерентабельности, мало ли...

Чтобы не связываться с третьими лицами можно развернуть свою облачную синхронизацию папок по технологии BitTorrents Sync. При этом данные будут синхронизироваться только между вашими устройствами и больше никакими. При этом объем пересылаемых данных неограничен а ваши файлы можете видеть только вы. Весь трафик между вашими устройствами шифруется при помощи стойких алгоритмов шифрования. В настоящее время существуют клиенты для Linux, Window, Mac OS. Приложение можно поставить на сетевые роутеры на базе Линукс с процессорами ARM. В общем, полный коммунизм...

Неделю назад поставил btsync на свои машины и телефон - пока полет нормальный. Данные в папках синхронизируются. Причем, даже в том случае если устройства находятся за мощными файерволами и не имеют прямой связи. Правда, в этом случае синхронизация происходит медленнее, так как осуществляется через шлюз третих лиц. Для исправления этого недостатка я расшарил свои папки на VDS сервере.

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

Правда, есть и обратная сторона - что делать если вы потеряете свое мобильное устройство? Эще напрягает то, что сам проект проприетарный, а значит, об открытых исходниках речь не идет, а значил, теоретически, создатели BitTorrent Sync вполне могут оставить в приложении закладочку... Так, на всякий случай...

 

Коментариев: 1

 
  2012-11-23

Программка для закидывания ключа на сервер

SSH позволяет заходить на сервер без пароля, для этого нужно на удалённом сервере добавить содержимое своего отрытого ключа в файл ~/.ssh/authorized_keys.

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

 

> cat ~/.ssh/id_rsa.pub | ssh username@servername.ru \
'cat >> .ssh/authorized_keys'

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

 

#!/bin/sh
 cat ~/.ssh/id_rsa.pub | ssh $1 'cat >> .ssh/authorized_keys'

Теперь, чтобы закинуть ключ на сервер достаточно набрать:

 

> ./sshfriend.sh username@servername.ru
 

Коментариев: 3

 
  2012-11-22

OpenSource растеризатор для SVG файлов

Нашёл качественный растеризатор SVG файлов.

 

Оставить комментарий

 
  2010-02-03

Как сохранить изображение в ico

Потребовалось сделать favicon.ico, да как назло никакого софта для сохранения в ico не оказалось под рукой, даже премного-мной-уважаемый Photoshop не умеет сохранять в ico, пришлось импровизировать.

В PHPThumb обнаружил отличную функцию для сохранения GD ресурса в ICO. На основе этой функции сделал собственный мааааааленький скриптик для преобразования графических файлов в ico. В общем, инструмент получился действительно полезный - выкладываю его для общего пользования. Здесь исходник.

Поддерживает GIF, PNG и BMP.

Upd: для этих же целей есть офигительный сервис favicon.ru

Upd2: Бесплатный конкурент Фотошопа - Gimp прекрассно умеет сохранять в ico.

Upd3: Как оказалось гимп всё-же сохряняет ico с ошибкой - получается фигня, по крайней мере в Windows версии.

 

Коментариев: 16

 
  2010-02-01

Полезная JavaScript библиотечка

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

 

Оставить комментарий

 
  2009-12-23

Вебкамеры Саратова

Шикарный подбор вебкамер установленных по саратову

 

Оставить комментарий

 
  2009-10-29

Организация потокового видео при помощи ffserver

Показать видео на сайте довольно просто. Простейший вариант это выложить на сервер avi, mp4 или flv файл и придумать как этот файл будет воспроизводиться на стороне клиента.

Самым универсальным способом является использование Adobe Flash всилу того, что это технология доступна практически на всех широко распространенных платформах. Можно воспользоваться либо одним из доступных плееров либо сделать свой - благо это можно сделать парой щелчков мыши... Ну или чуть больше чем парой щелчков...

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

Обычный веб сервер, например Apache, для вывода потокового видео не годится. Требуется специальный потоковый сервер. Существует большой выбор как платных так и бесплатных потоковых серверов.

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

Настройка сервера довольно проста. Конфигурационный файл должен быть сохранен как /etc/ffserver.conf. В процессе установки командой make install он не создается, поэтому его нужно создать. Пример файла можно взять с сервера. Здесь выложен мой вариант

Видео в нашем случае будет доступно по адресу http://site.com:8080/file.flv - это адрес указывается для Flash - плеера.

Чтобы видео выводилось стабильно, нужно чтобы частота кадров была такая же как и у выходного потока.

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

Для пуска видео можно воспользоваться вот таким файлом.
 

#!/bin/sh
#стартуем сервер
/usr/local/bin/ffserver &
#подождем две секунды чтобы стартовал
sleep 2
#скармливаем видео
/usr/local/bin/ffmpeg -i /root/evergreen800.flv http://localhost:8080/feed1.ffm

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

#!/bin/sh

PID=`ps -ea -o "pid fname" | grep ffserver | sed -e 's/^ *//' -e 's/ .*//'`

if [ "${PID}" != "" ]
then
  kill -9 ${PID}
fi

rm /tmp/feed1.ffm

ffserver

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

Почему не удаляется временный файл автоматически тоже не понятно.

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

 

Оставить комментарий

 
  2009-10-28

Список Линуксовых команд

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

 

Оставить комментарий

 
  2009-05-05

Словарик английского

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

aka - also knows as... также известный как...
brb - be right back - скоро вернусь
cu - see you (later) - до свиданья
ic - I see - я вижу, ясно
nm - never mind - забудь чувак
np - no problem - без проблем
ttyl - talk to you later - до связи
ty - thank you - спасибо
k - OK
lol - laughing out loud - ха ха
asap - as soon as possible так скоро как только возможно
o_O - Confused, stunned, or weirded out. типа о'O
btw - By the way - между тем; да, кстати
idk - I don't know - я не знаю
wtf - What the fuck? - что за хуйня?
fyi - for your information - к сведенью
YHBT - You Have Been Trolled - над тобой прикололись
IMHO - In My Humble Opinion - по моему скромному мнению.
AFAIK: As Far As I Know - насколько мне известно.
u2 - you too - и тебе тоже

iykyk - if you know, you know - если ты знаешь, ты знаешь.

 

Оставить комментарий