Metadata-Version: 2.1
Name: ubl_udevrules
Version: 3.1.2
Summary: GUI configuring UDEV rules for connecting USB devices
Home-page: https://gitea.ublinux.ru/Applications/ubl-udevrules
Author: Vladlen Murylyov
Author-email: vladlen.murylyov@red-soft.ru
Maintainer: Dmitry Razumov
Maintainer-email: asmeron@ublinux.ru
License: GPL3
Project-URL: Bug Tracker, https://gitea.ublinux.ru/Applications/ubl-udevrules/issues
Project-URL: Source Code, https://gitea.ublinux.ru/Applications/ubl-udevrules
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: X11 Applications :: GTK
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: USB UDEV rules GUI
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: GPL3 License
Classifier: Topic :: Desktop Environment
Classifier: Topic :: Software Development
Classifier: Topic :: System :: Hardware
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: COPYING
Requires-Dist: PyGObject

# ubl-udevrules
GUI configuring UDEV rules for connecting USB devices

[RU] Графический интерфейс настройки правил UDEV на подключения USB устройств

# Dependencies
This project only runs on Linux. Installation should look something like this: 
```bash
	#then to start the gui use either of
	
	sudo python3 ubl-udevrules.py
	
	#or

	python3 ubl-udevrules.py

	#which uses gksudo to start the gui 
```
# Графический интерфейс настройки правил UDEV на подключения USB устройств
        # Описание утилиты
        Работа программы заключается в формировании правил udev.
        Основной функционал представлен - для ограничения монтирования usb устройств и ведения логирования событий подключения.
        Правила формируются по путях /etc/udev/rules.d/
        
        запуск утилиты
        
        `usb_rules`
        
        # Работа первой страницы udev 
        Работа страницы основана на инструкции https:// пункт  Вариант с параметром AUTHORIZED
        
        Доступные параметры выводятся при помощи: 
        
        `udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/{bus}/{device})`
        
        
        На основании данных параметров формируется правило /etc/udev/rules.d/80-ubl-udevrules-{number}.rules формата:
        ```
        - разрешение монтирования по определенному параметру;
        - если устройство не удовлетворяет требованиям белого списка, то запрет монтирования.
        ```
        
        Пример правила:
        ```
        ACTION!="add", GOTO="dont_remove_usb" 
        ENV{DRIVER}!="usb-storage", GOTO="dont_remove_usb" 
        ATTRS{model}=="Transcend 16GB ", GOTO="dont_remove_usb" 
        ATTRS{serial}=="0DM97KDQ", GOTO="dont_remove_usb" 
        ENV{DRIVER}=="usb-storage", ATTRS{authorized}=0
        LABEL="dont_remove_usb"
        KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/bin/systemctl start usb-mount@%k.service"
        KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/systemctl stop usb-mount@%k.service"
        ```
        
        # Работа второй страницы udev для логирования событий
        Работа страницы основана на инструкции https://
        
        Доступные параметры выводятся при помощи: 
        
        `udevadm info /sys/block/sdb #символы после sd* вводите в соответствии с вашим выводом $ ls -l /dev/sd*`
        
        На основании данных параметров формируется правило /etc/udev/rules.d/98-ubl_udevrules_logs.rules формата:
        ```
        ENV{DRIVER}=="usb-storage",ACTION=="add", RUN+="/bin/sh -c 'echo connected ${devnode} <параметры_выбранные_пользователем> $(date)>> /var/log/ubl-udevrules.log" 
        ENV{DRIVER}=="usb-storage",ACTION=="remove", RUN+="/bin/sh -c 'echo unmount ${devnode} <параметры_выбранные_пользователем> $(date)>> /var/log/ubl-udevrules.log"
        ```

# Screenshot
![screenshot of ubl-udevrules](screenshots/ubl-udevrules.png)

CHANGELOG
---------

3.1-2
~~~~~
Date: 12.12.2023
Dmitry Razumov <asmeron@ublinux.ru>

- add support UBLinux
- updates for translations
- add new icons
- change pkgname


3.1-1
~~~~~
Date: 21.09.2023
Vladlen Murylyov <vladlen.murylyov@red-soft.ru>

- improve personalisation mount logic in usb-mount.py
- added section for ATTR/ATTRS


3.0-1
~~~~~
Date: 29.06.2022
Vladlen Murylyov <vladlen.murylyov@red-soft.ru>

- update templates for new systemd ENVS
- changed project structure to use setup.py on build


2.2-1
~~~~~
Date: 05.10.2022
Vladlen Murylyov <vladlen.murylyov@red-soft.ru>

- improve personalisation logic
- added UDISKS_AUTO env option for rules with personalisation


2.1-1
~~~~~
Date: 12.09.2022
Vladlen Murylyov <vladlen.murylyov@red-soft.ru>

- fix in udev log creation


2.0-1
~~~~~
Date: 29.03.2022
Vladlen Murylyov <vladlen.murylyov@red-soft.ru>

- new UI for managing UDEV rules
- added more variaty for personalisation
- UDEV rules can be optionally edited on new window
- added translation files
- rebased src to use archive as SOURCE0


1.0-3
~~~~~
Date: 02.05.2021
Vladlen Murylyov <vladlen.murylyov@red-soft.ru>

- improved udev and polkit logic
- improved filters
- improved gui look in users info messages and in main window


1.0-3
~~~~~
Date: 26.04.2021
Vitaly Peshcherov <vitaly.peshcherov@red-soft.ru>

- Rebuild for os73
- changed size of the main window


1.0-2
~~~~~
Date: 26.04.2021
Vitaly Peshcherov <vitaly.peshcherov@red-soft.ru>

- spec changes to /usr/lib64
- visual optimisation and new format in info windows


1.0-1
~~~~~
Date: 16.04.2021
Vitaly Peshcherov <vitaly.peshcherov@red-soft.ru>

- Build for os73
