Cyon is a hybrid GTK and CLI-based desktop tool built in C, designed to provide fast and simple utilities like file downloading (MP3, MP4, general files), custom tools, and a styled terminal interface for extended control. It is lightweight, hacker-themed, and extensible.
Currently under active development.
- ✅ GTK 3 GUI with buttons, dialogs, and download functionality
- ✅ MP3/MP4 and file downloading using yt-dlp and curl
- ✅ Standalone CLI with styled shell prompt
- ✅ Modular design for extending tools and utilities
- ✅ Cross-platform (Linux-focused)
- ✅ Pyra tool launcher — launches pyra_toolz directly from the Programs menu
- ✅ pyra_lib — a collection of Python utility tools powered by pyra_env
- ✅ Editor Tools — GTK-based audio and video editing suite launched from the Programs menu
sudo apt update
sudo apt install build-essential libgtk-3-dev pkg-config curl yt-dlp ffmpegThese must be installed via apt — they cannot be installed with pip:
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0Use the provided build script for all compilation and environment setup:
chmod +x compile_cyon
./compile_cyon| Option | Description |
|---|---|
| 1 | Compile cyon desktop (GTK + CLI + watcher) |
| 2 | Setup pyra_env (creates ~/pyra_env and installs pyra_lib dependencies) |
| 3 | Compile pyra_toolz (Linux binary) |
| 4 | Compile pyra_termux (Termux binary) |
| 5 | Compile all |
| 6 | Uninstall Cyon |
| 7 | Exit |
Compile Cyon Desktop:
gcc -Iinclude src/*.c -o bin/main_cyon `pkg-config --cflags --libs gtk+-3.0`Compile Cyon CLI:
gcc -Iinclude cli/cyon_cli.c -o bin/cyon_cli
gcc -Iinclude -o bin/watcher cli/watcher.c
gcc -Iinclude cli/cyon_netscan.c -o bin/cyon_netscanTo fully remove Cyon from your system, select option 6 from the compile_cyon menu.
The uninstaller will remove:
~/.local/share/applications/cyon.desktop— the desktop launcher entry~/pyra_env— the Python virtual environment- The entire Cyon source and binary directory
⚠️ This is a complete removal and cannot be undone. You will be asked to confirm once before anything is deleted. Note: apt packages installed as dependencies (build-essential,libgtk-3-dev,yt-dlp, etc.) are not removed, as they may be used by other software on your system. To remove them manually:
sudo apt remove build-essential libgtk-3-dev pkg-config yt-dlp ffmpegpyra_lib is a collection of Python utility tools that live at ~/cyon/pyra_lib and are called from the Pyra launcher. They run inside a dedicated virtual environment at ~/pyra_env.
Run option 2 from compile_cyon or manually:
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
python3 -m venv --system-site-packages ~/pyra_env
source ~/pyra_env/bin/activate
pip3 install pyfiglet moviepy rich pillow cryptography pyautogui tarfile
deactivate| Tool | Description |
|---|---|
pyra_shared.py |
Shared utilities, input helpers, and logos used across pyra_lib |
figlet_tools.py |
ASCII font generator using pyfiglet |
convert_mvk.py |
Converts MKV files to MP4 |
tarmaker.py |
Creates, encrypts, and decrypts tarballs |
binary_tools.py |
Binary file utilities |
convertcsv.py |
CSV conversion tool |
csv2json.py |
Converts CSV files to JSON |
net_stress.py |
Network stress testing tool |
moon.py |
Moon phase utilities |
theban.py |
Theban alphabet encoder/decoder |
find_duplicates.py |
Finds duplicate files in a directory |
file_encryptor.py |
File encryption and decryption |
ascii_art.py |
ASCII art generator |
image_converter.py |
Image format conversion tool |
shift_image.py |
Image shifting and manipulation |
conversions.py |
General unit and data conversions |
gtk_convert.py |
GTK-based conversion interface |
pyra_repeater.py |
Auto-messenger using pyautogui (Be careful) |
gtk_lib lives at ~/cyon/pyra_lib/gtk_lib and contains GTK-based GUI tools launched directly from the Cyon Programs menu under Tools → Editor Tools. All tools use Gtk.Application for clean lifecycle management and run inside pyra_env.
| Tool | Description |
|---|---|
cut_video.py |
Trim a video file between a start and end time, output as MP4 |
extract_audio.py |
Extract audio from a video file and save as MP3 |
cut_audio.py |
Trim an audio file between a start and end time, output as MP3 |
merge_aud_vid.py |
Merge a separate audio file into a video file, output as MP4 |
adjust_volume.py |
Adjust the volume level of an MP3 file using a slider |
concat_vid.py |
Stitch two video files together into a single MP4 |
concat_aud.py |
Stitch two audio files together into a single MP3 |
pyra_downloader.py |
GTK YouTube downloader — audio and video via yt-dlp (standalone, not in menu) |
- All editor tools require
moviepy(v2+) installed inpyra_env subclipwas renamed tosubclipped,set_audiotowith_audio, and volume fx now useMultiplyVolumein MoviePy v2 — all tools reflect this- Tools are launched via
python3calls frommain.cand run as background processes pyra_downloader.pyincludes themain.cfunction and menu item snippet in its file comments for easy wiring if needed later
GUI (Main Application):
./bin/main_cyonCLI:
./bin/cyon_cliPyra Launcher:
~/cyon/pyra_tool/pyra_toolz~/cyon/pyra_tool/pyra_termuxThe GUI Programs menu provides quick access to the following:
| Entry | Description |
|---|---|
| CLI Terminal | Launches cyon_cli in a terminal window |
| Pyra | Launches pyra_toolz from ~/cyon/pyra_tool/ |
| Downloader | Opens the MP3/MP4/file download dialog |
| Tools → Editor Tools → Cut Video | Trim a video file to a start/end time |
| Tools → Editor Tools → Extract Audio | Extract MP3 audio from a video file |
| Tools → Editor Tools → Cut Audio | Trim an MP3 audio file to a start/end time |
| Tools → Editor Tools → Merge Audio/Video | Merge an audio file into a video file |
| Tools → Editor Tools → Adjust Volume | Adjust the volume of an MP3 file |
| Tools → Editor Tools → Stitch Videos | Concatenate two video files into one |
| Tools → Editor Tools → Stitch Audio | Concatenate two audio files into one |
| Tools → Convert Pics | GTK image format converter |
| Tools → Create Tarfile | GTK tarball creator and encryptor |
| Security → Defense | Firewall and Watcher toggle |
| Security → Offense | Port Scanner and DNS Lookup |
Ioannes Cruxibulum