{"id":18583035,"url":"https://github.com/dyefremov/demoneditor","last_synced_at":"2025-04-12T19:48:28.147Z","repository":{"id":27187625,"uuid":"106046839","full_name":"DYefremov/DemonEditor","owner":"DYefremov","description":"Enigma2 channel and satellite list editor for GNU/Linux and macOS.","archived":false,"fork":false,"pushed_at":"2025-03-15T08:57:26.000Z","size":97068,"stargazers_count":126,"open_issues_count":4,"forks_count":142,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-12T19:48:15.490Z","etag":null,"topics":["bouquet","channels","dreambox","editor","enigma2","iptv","lamedb","linux","macos","picons","satellites","tv"],"latest_commit_sha":null,"homepage":"https://dyefremov.github.io/DemonEditor","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DYefremov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-06T20:19:57.000Z","updated_at":"2025-03-15T08:57:29.000Z","dependencies_parsed_at":"2023-02-16T18:01:58.501Z","dependency_job_id":"b6c6c3ec-fa83-4718-810d-fb751ea6d736","html_url":"https://github.com/DYefremov/DemonEditor","commit_stats":null,"previous_names":[],"tags_count":101,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DYefremov%2FDemonEditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DYefremov%2FDemonEditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DYefremov%2FDemonEditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DYefremov%2FDemonEditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DYefremov","download_url":"https://codeload.github.com/DYefremov/DemonEditor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625500,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bouquet","channels","dreambox","editor","enigma2","iptv","lamedb","linux","macos","picons","satellites","tv"],"created_at":"2024-11-07T00:19:26.025Z","updated_at":"2025-04-12T19:48:28.117Z","avatar_url":"https://github.com/DYefremov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"app/ui/icons/hicolor/96x96/apps/demon-editor.png\" width=\"32\" /\u003e DemonEditor\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ![platform](https://img.shields.io/badge/platform-linux%20|%20macos-lightgrey)  \n### Enigma2 channel and satellite list editor for GNU/Linux.\nExperimental support of Neutrino-MP or others on the same basis (BPanther, etc).\n\n## Main features of the program\n* Editing bouquets, channels, satellites.  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141680963-9b8eb6cc-c712-46b2-aefe-19769e21a7d5.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141680963-9b8eb6cc-c712-46b2-aefe-19769e21a7d5.png)\n* Import function.  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681059-68bc1b55-6fab-436c-aa73-ef24e2e5113b.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141681059-68bc1b55-6fab-436c-aa73-ef24e2e5113b.png)\n* Backup function.  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681104-ed9b5d35-25de-426f-b9bb-2a6e4db022bb.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141681104-ed9b5d35-25de-426f-b9bb-2a6e4db022bb.png)\n* Support of picons.  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681115-957c63a3-4113-422d-bb27-2d96b1463cd1.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141681115-957c63a3-4113-422d-bb27-2d96b1463cd1.png)\n* Importing services, downloading picons and updating satellites from the Web.  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681075-28f18ea5-e456-4e84-bf64-1b7d9a95324d.png\" width=\"262\"/\u003e](https://user-images.githubusercontent.com/7511379/141681075-28f18ea5-e456-4e84-bf64-1b7d9a95324d.png)\n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681040-b1ad190a-6bc2-4741-bb42-1fb219a0fcab.png\" width=\"250\"/\u003e](https://user-images.githubusercontent.com/7511379/141681040-b1ad190a-6bc2-4741-bb42-1fb219a0fcab.png)\n* Extended support of IPTV.\n* Import to bouquet(Neutrino WEBTV) from m3u.\n* Export of bouquets with IPTV services in m3u.\n* Assignment of EPG from DVB or XML for IPTV services (Enigma2 only).  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681187-fae4e784-c9e0-43df-b499-4d38e83d6560.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141681187-fae4e784-c9e0-43df-b499-4d38e83d6560.png)\n* Playback of IPTV or other streams directly from the bouquet list.  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681129-98f78cdc-9a98-46ef-b738-618a327634d4.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141681129-98f78cdc-9a98-46ef-b738-618a327634d4.png)\n* Control panel (via HTTP API).  \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141684475-4511ea4f-b152-42d5-b9c8-f3e1e9a160d0.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141684475-4511ea4f-b152-42d5-b9c8-f3e1e9a160d0.png)\n* Ability to view EPG and manage timers (via HTTP API).  \n* Simple FTP client (experimental).   \n  [\u003cimg src=\"https://user-images.githubusercontent.com/7511379/141681165-5679c331-72e7-4044-b365-dcdb30b1433c.png\" width=\"480\"/\u003e](https://user-images.githubusercontent.com/7511379/141681165-5679c331-72e7-4044-b365-dcdb30b1433c.png)  \n\n**To increase program functionality you can use [extensions](https://github.com/DYefremov/demoneditor-extensions).**   \n  \n#### Keyboard shortcuts\n* **Ctrl + X** - only in bouquet list.\n* **Ctrl + C** - only in services list.                                                               \n* **Ctrl + Insert** - copies the selected channels from the main list to the bouquet  \n  beginning or inserts (creates) a new bouquet.  \n* **Ctrl + BackSpace** - copies the selected channels from the main list to the bouquet end.\n* **Ctrl + E** - edit.                                                                                                                                                                                                                                                                                                                    \n* **Ctrl + R, F2** - rename.  \n* **Ctrl + Alt + R** - rename for bouquet.    \n* **Ctrl + S, T** in Satellites edit tool for create satellite or transponder.                                                                 \n* **Ctrl + L** - parental lock.                                                                                                          \n* **Ctrl + H** - hide/skip.                                                                                                                                                                                                  \n* **Space** - select/deselect.                                                                                                                                                                                                                                                                                                           \n* **Left/Right** - remove selection.                                                                                       \n* **Ctrl + Up, Down, PageUp, PageDown, Home, End**- move selected items in the list.  \n* **Ctrl + O** - (re)load user data from current dir.                                                                   \n* **Ctrl + D** - load data from receiver.                                                                                                                                                         \n* **Ctrl + U/B** - upload data/bouquets to receiver.\n* **Ctrl + I** - extra info, details.\n* **Ctrl + F** - show search bar.\n* **Ctrl + Shift + F** - show/hide filter bar.\n* **Ctrl + T** - show/hide built-in Telnet client.\n* **Ctrl + Shift + L** - show/hide logging panel.\n* **Shift + P** - start play IPTV or other stream in the bouquet list.                                                                                        \n* **Shift + Z** - switch(**zap**) the channel(works when the HTTP API is enabled, Enigma2 only).                         \n* **Shift + W** - switch to the channel and watch in the program.        \n                                                                          \nFor **multiple** selection with the mouse, press and hold the **Ctrl** key!\n\n## Minimum requirements\n*Python \u003e= 3.6, GTK+ \u003e= 3.22, python3-gi, python3-gi-cairo, python3-requests.*\n\n***Optional:** python3-pil, python3-chardet, ffmpeg.*                      \n## Installation and Launch\n* ### Linux                                                                                                          \nTo start the program, in most cases it is enough to download the [archive](https://github.com/DYefremov/DemonEditor/archive/master.zip), unpack  \nand run it by double clicking on DemonEditor.desktop in the root directory,  \nor launching from the console with the command:```./start.py```                                                                                \nExtra folders can be deleted, excluding the *app* folder and root files like *DemonEditor.desktop* and *start.py*!      \n\nTo create a simple **debian package**, you can use the *build-deb.sh.* You can also download a ready-made *.deb package from the [releases](https://github.com/DYefremov/DemonEditor/releases) page.                                                 \nUsers of **LTS** versions of [Ubuntu](https://ubuntu.com/) or distributions based on them can use [PPA](https://launchpad.net/~dmitriy-yefremov/+archive/ubuntu/demon-editor) repository.  \nA ready-made [package](https://aur.archlinux.org/packages/demoneditor-bin) is also available for [Arch Linux](https://archlinux.org/) users in the [AUR](https://aur.archlinux.org/) repository. \n* ### macOS\n**This program can be run on macOS.**  \nTo run the program on macOS, you need to install [Homebrew](https://brew.sh/).  \nThen install the required components via terminal:  \n```brew install python3 gtk+3 pygobject3 adwaita-icon-theme gtksourceview3``` \n\n```pip3 install requests telnetlib-313-and-up --break-system-packages``` \n\n*Optional:* ```brew install pillow python-chardet ffmpeg```  \n\nLaunch is similar to Linux.\n\nYou can also download the ready-made package as a ***.dmg** file from the [releases](https://github.com/DYefremov/DemonEditor/releases) page.  \nRecommended copy the package to the **Application** directory.  \nPerhaps in the security settings it will be necessary to allow the launch of this application!  \n\n* ### MS Windows  \n**Windows users can also run this program.**  \nOne way is to use the [MSYS2](https://www.msys2.org/) platform. You can use [this](https://github.com/DYefremov/DemonEditor/blob/master/build/BUILD_WIN.md) quick guide.   \nIn addition, you can download a ready-made build (**64-bit**) from the [releases](https://github.com/DYefremov/DemonEditor/releases) page.  \n\n**All builds may contain components distributed under the GPL [v3](http://www.gnu.org/licenses/gpl-3.0.html) or lower license.  \nBy downloading and using this packages you agree to the terms of this [license](http://www.gnu.org/licenses/gpl-3.0.html) and the possible inconvenience associated with this!** \n\nTHIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY.                                                                        \nAUTHOR IS NOT LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY CONNECTION WITH THIS SOFTWARE.\n\n## Important\nSupport for DVB-T/T2 and DVB-C channels for Neutrino is not fully implemented and has an experimental status.  \n\nMain supported *lamedb* format is version **4**. Versions **3** and **5** has only **experimental** support! For version **3** is only read mode available. When saving, version **4** format is used instead.   \n\nWhen using the multiple import feature, from *lamedb* will be taken data **only for channels that are in the selected bouquets!**\nIf you need full set of the data, including *[satellites, terrestrial, cables].xml* (current files will be overwritten), \njust load your data via *\"File/Open\"* and press *\"Save\"*. When importing separate bouquet files, only those services \n(excluding IPTV) that are in the **current open lamedb** (main list of services) will be imported.\n\n**The built-in Telnet client does not support ANSI escape sequences!**\n\nFor streams playback, this app supports [VLC](https://www.videolan.org/vlc/), [MPV](https://mpv.io/) and [GStreamer](https://gstreamer.freedesktop.org/). Depending on your distro, you may need to install additional packages and libraries.   \n#### Command line arguments:\n* **-l** - write logs to file.\n* **-d on/off** - turn on/off debug mode. Allows to display more information in the logs.\n\n## License\nLicensed under the [MIT](LICENSE) license.                  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyefremov%2Fdemoneditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyefremov%2Fdemoneditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyefremov%2Fdemoneditor/lists"}