LINUX.ORG.RU

Избранные сообщения blexey

Bluetooth кнопка

Форум — Linux-hardware

Отцы, помогите советом!

Дано: блютус кнопка (которая для селфи и прочей фигни) к компу подключается, нажатия (enter и VolUp) видны. Хочется переназначить ее кнопки на Next и Prior например, но в списке xinput она видна как slave pointer, соответственно setxkbmap и xkbcomp ее в упор не видят, а xmodmap переназначает, но на всех устройствах сразу, что логично.

Как объяснить иксам что это клавиатура а не мышка? Ну или как переназначить кнопки другим способом?

Кусок лога Х: http://pastebin.com/944Lvndf

Вывод xinput: http://pastebin.com/n6dSuawx

 ,

nipper
()

Расшифровка файла конфигурации роутера TP-LINK. Что это? Бэкдор?

Форум — General

Есть тут кулхацкеры? Интересует одна штуковина...

Есть сохраненная резервная копия файла конфигурации TP-LINK WR841ND - config.bin. Возникла идея влезть внутрь и посмотреть, что из себя представляет этот файл. Возникла она по аналогии с D-LINK'овским tar.gz архивом конфигурации, в котором все просто и понятно: архив, а внутри конфиги.

Надыбал в инете питоновский скрипт, который якобы может что-то дешифровать из файла config.bin. Ладно, думаю, интереса ради запущу. Запустил, на выходе - читаемый config.bin.txt. В принципе скрипт с задачей справился: расшифровало пароль Wi-Fi, логин и пароль для входа в админку, MAC-адреса и куча прочей полезной и не очень информации.

Но насторожила одна запись:

wan_dhcpplus_defsvr 1 218.29.0.227

Запустил whois и обнаружил, что это China Unicom Henan province network, Beijing, 100140, P.R.China и т.д.

Сижу теперь и думаю, что это за айпишник и что он делает в резервной копии конфигурации роутера? Гугл по запросу «China Unicom Henan» выдает много интересного, включая жалобы на атаки хакеров из этой сети, лол :D

Собственно, сам скрипт для расшифровки:

from Crypto.Cipher import DES
from hashlib import md5

key = '\x47\x8D\xA5\x0B\xF9\xE3\xD2\xCF'
crypto = DES.new( key, DES.MODE_ECB )

data = open('config.bin', 'rb').read()
data_decrypted = crypto.decrypt( data ).rstrip('\0')
assert data_decrypted[:16] == md5(data_decrypted[16:]).digest()
open('config.bin.txt', 'wb').write(data_decrypted[16:])

 , , , ,

Gonzo
()

Обновился до jessie. Проблема с systemd и rc.local.

Форум — Desktop

В /etc/rc.local был прописан простенький набор комманд для запуска encfs с запросом пароля прямо во время загрузки системы:

  stty -echo
  read -p "encfs: " encfspass; echo
  stty echo
  echo "$encfspass" | encfs --stdinpass --public /home/user/.encfs /home/user/encfs

После обновления оно совсем перестало работать. Погуглил по systemd и нашёл что StandardInput=tty-force а не no. Оно как-бы работает, но даёт мне всего несколько секунд (около трёх) на ввод пароля. Пароль простой, вбить за пару секунд легко, но смущает сам факт того что система продолжает грузиться в не зависимости от encfs'а. Хотелось бы как раньше — не пытаться загрузить комп пока пароль не введён.

Предложите варианты?

 ,

vg6zu
()

Микроскоп с видеоокуляром - нет поддержки линукс

Форум — General

Думаю приобрести этот видеоокуляр http://micromed-spb.ru/products/kamery-dlya-mikroskopii/videookulyar-toupcam-... но в нем нет поддержки линукс, возможно ли будет как-то запустить с помощью wine?

 

ioexception
()

Вышел Synfig Studio 1.0

Новости — Мультимедиа
Группа Мультимедиа

Synfig Studio — свободная программа, предназначенная для создания двумерной векторной анимации.

Главные изменения:

  • Реализован однооконный режим.
  • Введена полноценная система «костей» для анимации движений.
  • Добавлена неразрушающая деформация изображений.
  • Добавлен инструмент «ножницы» для неразрушающего редактирования.
  • Реализован звуковой слой, обеспечивающий базовый функционал для синхронизации звука и анимации.

Подробности

 , ,

WatchCat
()

Бесплатные идентификаторы USB для открытого аппаратного обеспечения

Новости — Hardware and Drivers
Группа Hardware and Drivers

Несмотря на то, что в 2013 году консорциум USB-IF отказался выделить диапазон идентификаторов (VendorID) для открытых проектов, энтузиастами была найдена лазейка.

При определении USB-устройств операционные системы использует 16-разрядные идентификаторы VendorID (VID) и ProductID (PID). В частности, невозможно одновременно использовать два устройства с одинаковыми идентификаторами, если им требуются разные драйверы.

Правила получения диапазона строго запрещают передачу идентификаторов продукта в любой форме, а само получение обходится в несколько тысяч долларов (за один диапазон ёмкостью аж в 65535 PID, что приводит к очевидному выводу — большая часть полученных идентификаторов лежит у владельцев мёртвым грузом). Но эти правила не распространяются на диапазоны, выданные в давние времена, ещё до образования USB-IF. Компания InterBiometrics, владеющая именно таким диапазоном (VID 1209), за всё время использовала лишь 6 идентификаторов из 65535. Поэтому она оставила себе «про запас» PID с 0×1000 по 0×1FFF, а остальные (0×2000-0xFFFF) передала проекту pid.codes, благодаря чему, любое открытое аппаратное обеспечение теперь может получить свой уникальный идентификатор.

Процедура описана здесь. Условиями получения являются: распространение под свободной лицензией, наличие публичного репозитория и, естественно, интерфейса USB.

>>> Подробности

 , , ,

anonymous
()

Оптимизация nginx: 200k... 150k... 5k... 1k... wordpress... :D

Форум — Web-development

ощщем, ЛОР, пилю очередной тупняк, проходи мимо.

бенчмарк

ab -n 100000 -c 100 -k -H "Accept-Encoding: gzip, deflate" localhost/ 2>&1 | egrep "^(Failed|Requests)"

процессор Pentium G3258 с разгоном до 3.9GHz, остальное не важно. хотите пофапать на хай-лоад?

значит к делу. вот такой конфиг, (сервер _) отлавливает все запросы, которые не подходят под другие хосты.

server {
  listen 80;
  server_name _;

  location = /_.gif {
    empty_gif;
  }
}

ab localhost/_.gif выдаст вам результат в 200000 (двести тысяч!) запросов в секунду. empty_gif это модуль, поэтому такой быстрый.

к сожалению, со статикой картина чуть более печальна. ab localhost/index.html (файлик, что идет вместе с nginx'ом), сообщает о выполнении 125000 тире 150000 запросов в секунду, что тоже не так плохо. то есть, берете свой проект, оборачиваете всю динамику в fastcgi_cache, дабы nginx кэшировал запросы в статику и получаете очень быстрый сайт, мягко говоря.

рецепт успеха

worker_processes 4;
worker_priority -5;

worker_rlimit_nofile 9000;

timer_resolution 100ms;

events {
  use epoll;

  worker_connections 9000;
  multi_accept on;
}

чтобы не расходовать ресурс жесткого диска, I/O, желательно отключить логи, ну или, указать buffer=, да побольше.

error_log /var/log/nginx/error.log warn;

access_log /var/log/nginx/access.log main buffer=64k;
access_log off;
log_not_found off;

очень ресурсоемкая директива

ssi on;

с ней производительность просядет до копеечных 40000 тысяч на статике и на 20% на динамике, что лучше откажитесь от нее вообще. забудьте.

gzip on;

баллада о двух стульях и матери. придется выбирать между процессорным временем и линком. ресурсоемкая операция, производительность сервера страдает на 20%, но зато пропускная способность сети может быть увеличена в 3 раза за счет сжатия трафика.

open_file_cache max=9000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;

с этим думаю ясно, кэш дескрипторов файлов. нужен.

забудьте о существовании if в nginx, не злоупотребляйте location, каждый отнимает много ресурсов.

любой другой ара-тюнинг по вкусу, на самом деле получится что-то вроде экономии на спичках, так например, tcp_nodelay дает разницу всего в 1000 запросов при 200000 к _.gif (empty_gif). посему смотреть нужно строго по ситуации, конкретных советов уже не дам.

теперь от статики к динамике. обязательно установить php opcache.

# curl http://php.net/distributions/php-5.5.23.tar.xz | tar -xJ -v
# cd php-5.5.23
# ./configure --disable-all --enable-opcache
# make build-modules
# install -m 755 modules/*.so /usr/lib/php/extensions
# echo "zend_extension=opcache.so" > /etc/php/conf.d/opcache.ini

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

upstream php-fpm {
  server unix:/var/run/php5-fpm.sock0 weight=100 max_fails=5 fail_timeout=5;
  server unix:/var/run/php5-fpm.sock1 weight=100 max_fails=5 fail_timeout=5;
}
location ~ \.php$ {
  try_files $uri =404;

  fastcgi_pass php-fpm;
  fastcgi_index index.php;

  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
}

настройка php-fpm'ов /etc/php/pool{0,1}.conf

[global]
log_level = notice
emergency_restart_threshold = 0
emergency_restart_interval = 0
process_control_timeout = 0
daemonize = yes

[pool0]
listen = /var/run/php5-fpm.sock0
listen.owner = www
listen.group = www
listen.mode = 0660

user = www
group = www

pm = static
pm.max_children = 8
pm.max_requests = 500

второй точно такой же

:%s/pool0/pool1

:%s/sock0/sock1

# /usr/sbin/php-fpm --fpm-config /etc/php/pool0.conf
# /usr/sbin/php-fpm --fpm-config /etc/php/pool1.conf
# /usr/sbin/nginx -t && /usr/sbin/nginx -s reload

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

 , ,

Spoofing
()

Управление компьютером с медиа-контентом с другого компьютера

Форум — General

Подумываю над созданием медиа-центра на основе обычного ПК с подключением его к телевизору. Вопрос: каким образом можно будет управлять воспроизведением контента на медиа-центре с другого компа? Все это конечно будет объединено локальной сетью.

 ,

Kompilainenn
()

Безбажная система

Форум — Desktop

У меня в очередной раз упал thunar при копировании файла из одной папки в другу, как же меня это все достало. Линукс для десктопа неготов ещё лет 200 как будет. Ну почему все в багах, багаг, бахах. Они везде. Повсюду. Как же мне это надоело! Какое решение проблем? Какое DE самое безбажное? На красоту наплевать.

 , ,

abs
()

Qt5 Configuration Tool 0.7

Новости — Open Source
Группа Open Source

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

В настоящее время программа обладает следующими возможностями:

( читать дальше... )

>>> Подробности

 

anonymous
()

File sharing для домашней сети

Форум — Admin

Есть домашняя сеть с выделенным сервером, который служит гейтвеем в инет, на котором крутится торрентокачалка, фаервол, и файлопомойка. И сервер, и все клиенты под линуксом. Сервер не работает постоянно — если на локальном интерфейсе нет входящих пакетов в течение 3 минут, сервер засыпает. Клиенты при старте будят сервер через wake-on-lan, и в последствии раз в минуту пингуют его на всякий случай, чтоб не уснул. Схема работает неплохо: проснувшийся клиент будит сервер, и через считанные секунды на клиенте есть инет.

Но: Сервер шарит файлопомойку по нфс. Клиенты монтируют помойку используя autofs (automount). Проблема в том, что после длительной спячки нфс на клиенте **очень** *долго* расчухивается. Иногда быстрее ребутнуть клиента чем ждать пока нфс очнётся.

Вопросы: Можно ли как-нить настроить нфс (сервер? клиент?) чтоб избежать длительных зависаний? Куда копать? Есть ли альтернативы?

 , , ,

debugger
()

доступ к wi-fi после регистрации на сайте, это как?

Форум — Admin

в общем сказали купить микротики с функцией смарт wi-fi, типа там это можно настроить, зарегался на сайте, потом доступ к интернету получил, но я не совсем понимаю, как микротик должен будет брать инфу с сайта, о регистрации данного телефона/ планшета. Вариант с паролем отпадает, нужно, чтобы он мак адреса как то брал, но вот как?

 ,

erzent
()

ArchLinux решил перейти на KDE5?

Форум — Desktop

Обновил Arch. Обновились пакеты konsolepart4 4.14.3-5 и kate 14.12.1-3. Теперь эти две программы выглядят не так, как остальные — игнорируют настройки в systemsettings.

Если в konsole вызвать диалог «О KDE», то он радостно сообщает, что платформа 5.6.0.

Вопроса 2:

1. Собственно, что это? Почему куски нового KDE попали в 4-ую ветку? 2. Для этих программ как то можно настроить стиль отображения?

 ,

lemas
()

Wi-fi пульт.

Форум — Linux-hardware

Здравствуйте. Размышлял я недавно об управлении устройствами с телефона и пришел к выводу, что это жуть как неудобно. Скажем, чтобы включить свет, мне понадобится разблокировать, запустить wi-fi (для особо экономных), запустить приложение, подождать пока но подключится и только потом нажимать заветную кнопку.

Пришла в голову мысль, что неплохо бы для этих целей подощел wi-fi ПДУ. Функции его очень просты - на каждую кнопку назначаем GET/POST запрос на нужный нам url. При нажатии на кнопку пульт просыпается и отправляет запрос. Всю остальную работу делает web-сервер или непосредственно девайс/сервис с REST-управлением

Если еще немного пофантазировать, можно добавить telnet/SSH/SMTP - протоколы и светодиод, загорающийся разным цветом в зависимости от успеха/ошибки

Подскажите, может быть уже есть в природе подобное. Или может есть какая-нибудь платка с Wi-fi и микроконтроллером, которая позволит сделать самому с минимумом пайки?

 

makoven
()

BlockField - Самопальный сетевой шутер

Форум — Games

Описание
Делаю в свободное время собственный мультиплеерный командный шутер (подобие Ace Of Spades), на Unity3d. Unity3d используется только для GUI + 3d рендер, всё остальное чистый C#.
Самые свежие бинарники
Скриншот

Прочее
В будущем планируются классы игроков, захват точек, разнообразие текстур и много-другого. Если есть предложения пишите.
Если игра выстрелит ( :) ) Всем плюшки при релизе альфы/беты и так далее.

Компоненты с открытым исходным кодом
LiteNetLib - сеть
LiteJson - парсинг конфигов и мелочи


P.S.
Если у кого какие баги с видео - попробуйте запускать с ключом -force-opengl
Буду рад вашим отзывам!

 , блоки, ,

RevenantX
()

Редактор тайловых карт Tiled 0.11.0

Новости — Open Source
Группа Open Source

Тихо, но незаметно вышла новая версия Tiled — свободного редактора тайловых карт. Основным новшеством этого релиза стала поддержка гексагональных карт (подробнее).

Другие изменения:

  • экспорт по умолчанию использует настройки из прошлого вызова;
  • добавлен хоткей (Ctrl+R) для перезагрузки карты;
  • возможность редактировать названия Custom properties для тайлов;
  • добавлены уникальные идентификаторы для объектов;
  • новый плагин для экспорта в CSV;
  • экспорт карты через cli;
  • поддержка сборки с помощью Qbs;
  • обновлены переводы;
  • и многое другое.

>>> Подробности

 , ,

aidan
()

Найти ближайшие точки

Форум — General

Имеем вектор3 массив позиций каждой из точек (vertex) модели. Необходимо найти ближайшие точки в радиусе от какой-то конкретной. Скажем есть модель линия:

x20, y20,z0
x20, y10,z0
x20, y0, z0
x20,-y10,z0
x20,-y20,z0
нужно найти от точки x20, y0, z0 ближайшие точки в радиусе 15 единиц, то есть, точки:
x20, y10,z0
x20,-y10,z0
Как это сделать?

 

gbiont
()

Где применима многопоточность, а где нет (алгоритмы)?

Форум — Development

Т.е. какие алгоритмы могут быть запрограммированы многопоточно, а какие наоборот - нет. Мне нужно сделать презентацию на эту тему. Буду рад полезным ссылкам. Не могу найти общей информации по этой теме. Для многопоточности: последовательность в алгоритме должна быть согласованной и линеаризуемоей. Но как доказать линеаризуемость алгоритма!? Да и примеры хорошо бы привести. Нашел инфу по теме http://www.slideshare.net/elizarov/ss-33970658 но там слишком обобщенно всё. Мне нужно больше практических примеров (примеров алгоритмов).

 ,

mrXorg
()

Выполнять скрипт при восходе солнца

Форум — Admin

Собственно как можно выполнять скрипт в момент восхода/захода Солнца.

 ,

kombrig
()

Как остановить mplyer из другово процесса?

Форум — Development

Добрый вечер!

Есть задача:

1. Играет ролик.

2. По определенному событию надо запустить другой (короткий) ролик. При этом, перый надо либо запаузить, либо запомнить, на каком месте он играет и выключить.

3. По завершению второго ролика надо опять включить проигрывание первого с того же места (где его запаузили/выключили).

Как послать mplayer-у «сигнал пауза»? Либо как запомнить, где он остановился (если ему послали kill/term сигнал), и запустить его этого места?

В качестве плеера палнируется mplayer. Вывод должен идти на отдельный монитор (DISPLAY). Запуск плеера будет производиться скорее всего из C++/Qt5 кода.

Mplayer использовать не обязательно, подойдет и любой другой. Qt/C++ - не обязательно, подойдет и решение для любого shell скрипта. Хотя, если есть возможность сделать это средствами Qt, то почему бы и нет. По сути надо каким то боком паузить thread или дочерний процесс, в котором будет работать первый плеер.

Заранее благодарен за Ваши советы.

 , , ,

samson
()