Блог Александра Башкирова

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

программное обеспечение

О шифровании в Андроид, или как скрыть фото от чужих глаз в случае потери телефона

Просмотров: 636Комментарии: 0
android

Задумался о шифровании данных в Андроид. Конкретно - применительно к очень простой практической задаче - как скрыть фото от чужих глаз в случае потери/кражи телефона.

Для начала - немного философии. Как известно, телефон на базе android 5+ имеет встроенные инструменты шифрования самого устройства. Для того, чтобы убедиться, идем: Настройки - Безопасность - зашифровать данные. Если там стоит "Зашифровано", то внутренняя память Вашего телефона под защитой. Ну, как под защитой - при вводе пин-кода или пароля данные разблокируются. Отсюда мораль: если Вы не используете пин/пароль на телефон, то данные не защищены никак!

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

Таким образом, получается, что внутренняя память телефона защищена. А что с "внешней"? (Ну, то есть с SD карточкой в телефон).

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

В интернетах пишут, что если установить пин на 6+ символов, то появится пункт "Шифровать внешнюю SD карту". У меня не получилось. Ну, будем рыть дальше...

В общем, по итогам расследования. Есть 2 пути шифрования:

  • первый описан тут: https://habrahabr.ru/company/cybersafe/blog/243463/ Коротко: все медиафайлы прогоняются через редиректор, на папку натравливается примонтированный киптоконтейнер... Плюс: файлы в контейнере, следовательно, их названия и структура тоже скрыты. Минусы: не работает :)
  • зашифровать на уровне ФС, например, при помощи encdroid (https://play.google.com/store/apps/details?id=org.mrpdaemon.android.encdroid) или аналогичных (Cryptonite - https://play.google.com/store/apps/details?id=csh.cryptonite). Они создают EncFS файловую систему. Минусы - структура каталогов остается прежней, шифруются только файлы и изменяются их имена. Ну и - необходимо каждый раз добавлять файлы "ручками". С просмотрщиком работать неудобно.
  • использовать приложения всё-в-одном. Это я уже позже дошел, "потыркавшись" в тупики, о которых расскажу ниже.
Сначала мне показалось, что для моих задач - скрыть фото от посторонних глаз, на случай утери телефона - второй путь самое оно. Попробовал.

Для истории: скачиваем EncDroid, запускаем.

Там идем в Settings, ставим галочку в "Enable SD Card", и в "External SD Card preferenses" - выставляем путь до карточки (в моем случае это /storage/sdcard0)

Создаем зашифрованный "контейнер", помещаем в него файлы... оригиналы не забываем подчищать (на тесте я этого не делал).

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

Что же... пробуем первый путь.

Устанавливаю https://play.google.com/store/apps/details?id=com.cybersafesoft.cybersafe.mobile.lite

Ограничения лайт-версии - пароль в 2 симвлоа.. ну, попробуем так.

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

Еще на encfs работают:

https://play.google.com/store/apps/details?id=com.giraone.encmanfull

https://play.google.com/store/apps/details?id=com.boxcryptor.android&rdid=com.boxcryptor.android

Последний, кстати, я поставил себе.

"Тупой как пробка", то есть умеет делать хранилище, помещать в него файлы... Неудобно то, что в его том не закачать файлы массово. Не просто неудобно, а очень неудобно (у меня 1000+ фото, заливать по одному - это наверное даже не на неделю задача).

В итоге, попробовал encdroid: https://play.google.com/store/apps/details?id=org.mrpdaemon.android.encdroid

Попробовал поработать с ней... неудобно. Полез смотреть дальше. Нашел такую штуку: https://play.google.com/store/apps/details?id=ru.vsa.safephotolite&rdid=ru.vsa.safephotolite

Из плюсов - работает, шифрует. Есть свой просмотрщик. Пароль просит при входе. Экспорт с одной стороны сделан хорошо - то есть "забраешь" фото в приложение, после чего тебе спрашивают - не хотите ли удалить исходник. Делает (вручную) резервные копии. В настройках есть пути до файлов. То есть можно обеспечить внешний бекап.

Что я и сделал: установил FolderSync Lite (https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.lite&rdid=dk.tacit.android.foldersync.lite), предложив ей отправлять сейф на Яндекс диск по WebDav. Так как файлы хранятся по одному, то, в общем - нормальный способ, не перегруженный трафиком.

В итоге: "всё работает" (что прекрасно), но не без ручных операций, увы. То есть не получилось сделать так, чтобы все фото из одной папки автоматически были бы подхвачены и зашифрованы... Да и синхронизация именно в версии Light FolderSync'a - автоматом "не работает", "только ручками". Но основная задача - скрыть фото от чужих глаз в случае потери телефона - решена.

ПС. на фоне этого всего стал чуть лучше относиться к Apple - они хотя бы изначально строят систему так, чтобы пользователь вообще не забивал себе голову "что будет если я потеряю телефон с флешкой,..." - они просто не дают ставить свои SD карты + шифруют на внутренней памяти всё, что можно.

Если вам надо быстро нарисовать прототип мобильного приложения или веб-сайта...

Если вам надо быстро нарисовать прототип мобильного приложения или веб-сайта, то рекомендую воспользоваться проектом pencil.

Этот проект - это редактор, где можно достаточно быстро построить макет (прототип) интерфейса. Из интересного: редактор построен на движке Mozilla Gesko, соответственно, распространяется и как независимое приложение (linux, windows), и как... плагин для Firefox. Забавно :)

Штатно "из коробки" идет набор элементов, достаточный, чтобы отрисовать веб-приложение. Чтобы отрисовать, например, мобильное приложение - надо скачать соответствующий паки, и установить их.

Ссылки:

http://pencil.evolus.vn/ - сайт проекта. Строго говоря, именно этот проект "умер", и на смену ему пришло развтие проекта энтузиастами;

https://addons.mozilla.org/ru/firefox/addon/pencil/ - сайт аддона для Firefox. Отсюда его можно сразу установить в браузер;

https://code.google.com/archive/p/evoluspencil/downloads - сайт нового проекта. Отсюда можно взять как версии для win && lin, так и xpi - для firefox. Тут же, если поискать - отыщется и базовые элементы для отрисовки интерфейса Андроид;

https://code.google.com/archive/p/android-ui-utils/downloads - тут можно разжиться дополнительными элементами для отрисовки интерфейса Android;

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

ну и скриншот:

Рабочее окружение на openbox и tint2: допилить и улучшить

В процессе доведения travel-нетбука до состояния "мне удобно" пришла идея использовать итоги "марафона января 2015", и устроить себе рабочее окружение на связке openbox + pcmanfm + tint2.

В общем-то "сказано-сделано". Достаточно подробно весь процесс расписан тут: http://www.alib.spb.ru/blog/page/janvarskij-marafon-post-5-openbox (я остановился на варианте с pcmanfn - так как он дает привычный интерфейс рабочего стола... а nitrogen это все-таки вещь, которая "просто натягивает обои"). Отдельно остановлюсь на выборе панели. tint2 выбрал потому, что она маленькая, легкая, и включает в себя то, что надо: лаунчер и трей. А как же меню? А меню, как выяснилось, мне не очень-то и надо. При наличии appfinder (о нем чуть ниже) оно становится "слегка ненужным". Логика проста: travel-нетбук имеет огрниченное число вариантов использования. От него нужен офис, браузер, скайп и файловый менеджер. Это выносим в лаунчер tint2. Запущенные приложения отображаются в панели по дефолту. Что не хватает: индикатора громкости (ставим volumeicon и автозапускаем его на openbox-сессии) и индикатора раскладки (ставим xxkb и аналогично автозапускаем его).
Немного о настройке tint2: http://www.alib.spb.ru/blog/page/pro-paneli-v-okonnyh-sredah-4(там не описана настройка лаунчера... вообще планирую написать отдельный пост на тему настройки tint2. В принципе, можно посмотреть тут или тут).

Ну и про appfinder. Это пакет из xfce4, независимый, то есть может использоваться не только в xfce, но и в любых других средах, чем мы и воспользуемся. Суть appfinder - отображение списка приложений, поиск приложений по вводу первых букв. (для памяти: sudo apt-get install xfce4-appfinder).

Я его повесил на сочетания Win+Tab, получается, что если мне нужно что-то кроме того, что висит в лаунчере, то это "что-то" можно прекрасно без меню найти. (хотя appfinder с моей точки зрения, это как раз разновидность меню, просто не привязанного к панели).

Ну и пару слов о том, как повесить вызов приложения на сочетания клавиш в lubuntu.

Открываем /home/alexander/.config/openbox (не забываем сделать бекап!!), там ищем секцию <keyboard>, в нее добавляем новый раздел по аналогии

    <keybind key="W-Tab">
      <action name="Execute">
        <command>xfce4-appfinder</command>
      </action>
Перегружаем openbox. Профит.

И дополнительно много толкового по настройке openbox тут: http://www.unix-lab.org/posts/openbox/

Linux Mint 17 64bit Xfce - впечатления

Просмотров: 2401Комментарии: 0
Linux

Итак, я завершил переезд на Linux Mint 17 64bit Xfce. Переезжал с 14ого Минта. В основном - потому что 14ый уже не поддерживается, а 17ый живет на базе Ubuntu 14.04 LTS, ну и как-то "моднее" иметь последнюю версию ОС. Никаких объективных причин так делать у меня не было :)

Сам процесс переезда был достаточно прост. С помощью dd снял образ диска (а чего выпендриваться? Дешево и из коробки). Закачал дистрибутив. Залил его на мультизагрузочную флешку, куда до кучи напихал чго-то еще полезного (подробности тут), пока не снес старый дистрибутив - построил список всего, что в нем установлено (подробности тут), затем - отдельно скопировал хомяк (/home/alexander), там у меня все самое интересное. Оно по идее бекапится, но как-то так спокойнее. да, проверил, что бекапы живы-здоровы (особенно с конфигами). После чего переставил систему.

Сам процесс "перестановки" занял наверное минут 40-50. Еще столько же ушло на то, чтобы восстановить рабочие файлы.

Еще около 2х часов ушло на конфигурирование Lamp. Там дело было в том, что apache2 немного поменял структуру конфигов, php тоже... Плюс возникли очень странные проблемы с импортом дампа mysql (ну как странные... стандартно mysql –uUSERNAME –pPASSWORD < dump.sql не прокатило, долго мучался, пока не указал localhost: mysql –uUSERNAME –pPASSWORD localhost < dump.sql, после чего все импортировалось корректно). В общем, технических моментов почти не было.

Теперь про впечатления.

Самое первое - ничего не поменялось. Да, перешел с 32bit на 64bit. Да, обновил версию. Да, поставил нативный клиент Viber (он под 64bit идет). Но в принципе - ничего не поменялось. У меня 4 Гб в ноутбуке - 14ый Минт 32bit прекрасно их видел. С точки зрения пользователя - ничего нового.

Ну, если присмотреться - поновее ПО. Гугл говорит, что 64битная архитектура Ubuntu более производительна - но у меня не сервер, судить не берусь. Опять-таки. поддержка до 2019 года - будут обновления приходить.

В общем, дело сделано, настроено. Работает.

По большому счету, осталось несколько интересных вопросов. (Для порядку скажу что уже с год хочу это реализовать, так что смена дистрибутива тут почти ни при чем, разве что ПО поновее, может, и получится):

1) "Горячие клавиши" в файловом менеджере. Например, чтобы по F4 в Thunar запускался редактор файла.

2) A2P профиль bluetooth. Очень хочется скидывать звук на bluetooth колонки.

В общем, работаем =)

Создание мультизагрузочной флешки в Linux

Просмотров: 2758Комментарии: 0
Linux

В общем, банальнейшая задача. Решил таки проапгрейдиться до Linux Mint 17 (LTS как никак!), для чего решено старую систему (14 минт) - снести. а новую - накатить.

Копию хомяка, понятное дело - сделал. Но у меня еще кроме хомяка много скриптов и настроек... они конечно исправно бекапятся, но! Вдруг что-то не так пойдет? Для такого случая надо иметь "жележный тыл". В виде копии диска. На внгешнем диске.

Понимаете, к чему я? Ага, нужна clonezilla (iso) и mint (iso), а вообще я для начала думаю попробовать 64bit (то есть 2 iso: 64 и 32 bit)... И на все про все есть одна флешка.

В общем, вариант пойти и купить пару флешек и не выпендриваться - пришел, конечно, в голову. Но неспортивно! В итоге, порывшись в интернет, нашел-таки решение. Называется оно Multiboot LiveUSB. Подробно (с картинками) процесс описан тут: http://ubuntism.ru/2011/02/multiboot-liveusb/

Если же коротко. Скачиваете: http://liveusb.info/multisystem/install-depot-multisystem.sh.tar.bz2 , разархивируте. Запускаете скрипт, дальше "оно само" встанет. (Скачает все пакеты, которые нужны, установит программу...)

Дальше - запускаете, втыкаете флешку. Multiboot посадит в нее Grub2, далее - вы копируете на флешку через Multiboot же нужные вам iso - после чего с них можно загрузиться. Профит.

Ну и комментарии. Работает. Грузится с любого iso. В целом - ощущение некой нестабильности присутствует. Но - РАБОТАЕТ!

И по сравнению с Unetbootin - это действительно мультизагрузчик. То есть количество ОС на флешке ограничено только вашей фантазией и её объемом.

Коммерческие Linux-фирмы.

Просмотров: 1390Комментарии: 4
Linux

Это наверное будет пост-поток сознания.

Я в последнее время очень долго думал: с одной стороны, популярность Linux растет (медленно, но верно - и, по ощущению, не так быстро, как это приводится в официальной статистике). А с другой - если поискать в Интернете, то фирм, профеессионально заанимающихся Linux - да не так и много.

Для начала сделаем лирическое отступление. Что такое "коммерческая Linux-фирма"? Под этим названием, с моей точки зрения, скрывается два разных направления: первое, это те, кто выпускают дистрибутивы. И второе - те, кто оказывают услуги по установке/настройке/адаптации.

С первыми все понятно. Ну или почти все. Дистибутивы выпускают "большие" фирмы, для которых это либо способ возможной монетизации (Ubuntu - спорное, конечно, утверждение... но близкое к истине), либо тестовый полигон (RedHut, например). Ну, либо делать коммерческие и некоммерческие дистрибутивы одновременно (Alt Linux). Правда, как показала наша действительность, попытка сделать полностью коммерческий Linux в России обречена на провал (Linux XP благополучно почил в бозе - во многом благодаря ставке на только коммерческую лицензию).

А вот со вторыми... теми, кто оказывает услуги, все не так просто. Во-первых, "чистых" фирм, которые бы занимались "только Linux", нет. Ну или они мне неизвестны. Есть подразделения разных фирм, оказывающих разные услуги - но в чистом виде "только Linux" нет ни одной. Кто-то оказывает услуги по разработке ПО на заказ, кто-то - тиражирует книги, в общем - у всех есть второй "ручеек" денег. Это в общем неудивительно с одной стороны, а с другой - говорит о том, что народная мудрость о том что не стоит класть все яйца в одну корзину имеет под собой хорошее основание.

Ну действительно, давайте попробуем представить себе фирму, которая занимается исключительно поддержкой Linux. Как она видится? Скорее всего, как сборище альтруистов - потому что Linux можно добыть бесплатно, поставить его не сложнее чем Windows. Да и - не каждому он нужен. Тем же домохозякам - для них проще Windows. Хотя "контактик" работает и из-под Linux, но большинство простых пользователей "не заморачиваются" - берут нелецензию Винды, и радостно работают - потому что "все просто". (Обратная сторона - масса вирусов и сеть "компььютерных мастеров", которые их за деньги удаляют).

Но, что примечательно, по Linux "мастеров" нет. Я ради прикола позвонил в пару фирм, которые занимаются подобными услугами, там при слове Linux операторы впадали в ступор и говорили, что это не к ним.

Что в итоге? Что-то мне подсказывает, что в краткосрочной перспективее все как было, так и будет: фирмы, которые серьезно занимаются Linux, в чистом виде будут отсутствовать. Их присутствие будет заявлено лишь небольшими подразделениями фирм-"многостаночников", то есть тех, кто имеет в портфеле предложений в том числе и "немного Линукса".

В среднесрочной перспективе мне кажется возможны два сценария: либо "умрет Ubuntu" (давайте вспомним, то на данный момент это инветиционный проект), либо нет. Если нет - то Linux будет приближаться к простым пользователям - Убунта действительно "простой и человеческий Линукс", и, вероятнее всего, начнут появляться "чисто Linux-фирмы" (и не последнюю роль тут сыграют борцы за копирайт в мире ПО - они могут как усилить, так и ослабить данную тенденцию). А если убунта умрет... то тут все сложнее - те, кто сидит на ней, либо мигрируют, либо создадут свободное сообщество. Но и перспективы коммерцелизации Linux в этом слкчае будут туманны.

Тут, наверное, надо пояснить вот что. Я считал и считаю, что бесплатное ПО - это прекрасно, но за него тоже кто-то должен платить. В смысле, за разработку. Потому что разработчики - тоже люди, и они тоже хотят есть. Следовательно, вариантов два - либо коммерциализация бесплатного, так, чтобы не потерять основнуую массу пользователей. Либо уход в небытие. Третьего не то, чтобы не дано - но пока не придумали.

Да, и очень хочется надеяться на то, что мрачные прогнозы не сбудутся.

Linux: полезные в хозяйстве вещи

Просмотров: 1578Комментарии: 0
Linux

В чистом виде "пост для памяти".

1) Поиск по содержимомуу файла в linux в дереве каталогов

Переходите в нужный каталог и запускаете там grep:

grep -lir "интересующая строка" *

2) Самая спорная команда в Linux - обновление дистрибутива

sudo apt-get dist-upgrade

Ни разу не пользовался - страшно. По идее автоматически обновляет дистрибутив...

3) Еще один аналог Total Commander для Linux - Tux Commander. В отличие от Xfe, не вылетает без видимой причины.

4) Как узнать размер всех БД

звпустить myqsl и ввести:

SELECT table_schema "Database name", sum( data_length + index_length )/1024/1024 "Database Size in MB" FROM information_schema.TABLES GROUP BY table_schema;

5) Как показать наиболее тяжелые SQL запросы

mysqladmin processlist

6) xrandr - утилита настройки 2х мониторов в Linux. Я настраивал на работе через nvidia-settings, в сети достаточно много примеров использования xrandr

7) Проверить, что nvidia-xconfig есть в вашей системе:

alexander@alexander-desktop ~ $ cd /var/lib/dpkg/info
alexander@alexander-desktop /var/lib/dpkg/info $ for i in *vidia*list; do grep 'xconfig $i;done;
/usr/lib/nvidia-310/bin/nvidia-xconfig

Аналогично можно найти и nvidia-settings

8) Настройки Skype в Linux хранятся тут:

~/.Skype/%skype-user-name%

Соответственно, удалить личные настройки скайпа в Linux:

rm -rf ~/.Skype/%skype-user-name%

9) Если нужно выполнить скрипт при выключении компьютера, то действуем так:

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

alexander@alexander-desktop ~ $ sudo nano /etc/init.d/alexander

Делаем его исполнимым:

alexander@alexander-desktop ~ $ sudo chmod +x /etc/init.d/alexander

Используем апдейтер для разнесения по нужным каталогам (автоматическое создание симлинков):

alexander@alexander-desktop ~ $ sudo update-rc.d alexander stop 1 0 6 .
update-rc.d: warning: /etc/init.d/alexander missing LSB information
update-rc.d: see <http: wiki.debian.org="" lsbinitscripts="">
 Adding system startup for /etc/init.d/alexander ...
   /etc/rc0.d/K01alexander -> ../init.d/alexander
   /etc/rc6.d/K01alexander -> ../init.d/alexander

Подробности можно найти в статье "Как запускать скрипт при перезагрузке - выключении" - http://tuksik.ru/auto-start-and-shutdown/ - по ней, собственно, и делалось.