Bilgisayarınıza indirmeden yönetim panelini tarayıcı üzerinden deneyin — şifre: admin · Hiçbir dosya gerçekten yüklenmez, simülasyondur.
Try accessing the control panel through your browser instead of downloading it to your computer — password: admin · No actual files are uploaded — it's a simulation.
Network boot management panel for WinPE, Windows and Linux ISO files over PXE
Ağ üzerinden PXE ile WinPE, Windows ve Linux ISO dosyalarını yönetmek için yönetim paneli
📋 Değişiklikler / Changelog
| Version | Changelog |
|---|---|
| v1 | İlk Sürüm / First Release |
| v1 fix | Eksik çeviri dil metinleri eklendi / Missing translated language texts have been added. |
| v2 | 🇹🇷 Türkçe: • ISO mount yöntemi sürücü harfi (A–Z) yerine klasör tabanlı gizli mount noktasına geçirildi — ISO'lar artık diskpart ile pxe/mnt/<klasör_adı> altına bağlanıyor ve sürücü harfi tüketmiyor• WinSetup.cmd, kök dizininde setup.exe bulunmayan modifiye/slipstream Windows ISO'larını da destekliyor (sources\ içindeki install.wim/install.esd/install.swm otomatik tespit edilip WinPE'nin yerleşik X:\setup.exe programıyla /installfrom: parametresi kullanılıyor)• Mount/unmount ve reconciliation mantığı diskpart tabanlı olacak şekilde yeniden yazılıp güvenilirliği artırıldı • Sunucu durdurma (stop) işlemi artık arka planda asenkron çalışıyor 🇬🇧 English: • ISO mount method switched from drive letters (A–Z) to folder-based hidden mount points — ISOs are now bound under pxe/mnt/<folder_name> via diskpart and no longer consume a drive letter• WinSetup.cmd now also supports modified/slipstreamed Windows ISOs that don't have setup.exe in the root (auto-detects install.wim/install.esd/install.swm inside sources\ and launches via WinPE's built-in X:\setup.exe with the /installfrom: parameter)• Mount/unmount and reconciliation logic was rewritten around diskpart for improved reliability • Server stop now runs asynchronously in the background |
| v2.1 | 🇹🇷 Türkçe: Bu güncelleme özellikle modifiye WinPE ISO'larının (Sergei Strelec vb.) mount edilirken yaşadığı sorunları gidermek için yapılmıştır. Söz konusu ISO'lar standart yapıdan farklı bir volume düzeni sunduğundan önceki Get-DiskImage tabanlı yöntem güvenilir çalışmıyordu.• ISO mount öncesinde mevcut mnt_temp klasörü varsa silinip yeniden oluşturuluyor — eski/bozuk mount noktasından kaynaklanan sorunlar önleniyor• ISO mount yöntemi Get-DiskImage / Add-PartitionAccessPath tabanlı yaklaşımdan tamamen diskpart tabanlı yönteme geçirildi — mount öncesi ve sonrası volume listesi diskpart list volume ile karşılaştırılarak drive letter'sız UDF/DVD-ROM volume tespit ediliyor ve diskpart assign mount= komutuyla klasöre bağlanıyor• Mount bekleme süresi 1000ms'den 2000ms'ye yükseltildi — yavaş sistemlerde mount işleminin tamamlanması için ek süre tanınıyor • _unmount_all_isos() fonksiyonundaki ek PowerShell sweep kodu kaldırıldı — _unmount_iso() fonksiyonu zaten her ISO'yu ayrı ayrı doğru şekilde unmount ettiğinden gereksiz hale gelmişti🇬🇧 English: This update primarily addresses ISO mount issues with modified WinPE ISOs (e.g. Sergei Strelec). Such ISOs expose a non-standard volume layout that caused the previous Get-DiskImage-based method to fail unreliably.• Existing mnt_temp folder is now deleted and recreated before ISO mount — prevents issues caused by stale or broken mount points• ISO mount method fully migrated from Get-DiskImage / Add-PartitionAccessPath to a pure diskpart-based approach — volume list is captured before and after mount via diskpart list volume, the new drive-letter-free UDF/DVD-ROM volume is identified, and bound to the folder using diskpart assign mount=• Mount wait time increased from 1000ms to 2000ms — gives additional time for mount to complete on slower systems • Removed the redundant PowerShell sweep block from _unmount_all_isos() — it was no longer needed since _unmount_iso() already handles each ISO correctly on its own |
| v2.2 | 🇹🇷 Türkçe: • Rescuezilla, Redo Rescue, SystemRescue ve Parted Magic gibi Linux tabanlı sistem kurtarma, disk klonlama ve bakım araçlarına (ISO) ağ üzerinden doğrudan PXE önyükleme (HTTP Boot) desteği eklendi. 🇬🇧 English: • Added pure HTTP network PXE boot support for Linux-based system recovery, disk cloning, and maintenance tools (ISOs) such as Rescuezilla, Redo Rescue, SystemRescue, and Parted Magic. |
🎬 Tanıtım Videoları / Promotional Videos
The voiceover is in Turkish. English subtitles can be enabled on YouTube.
Special thanks to Tayfun AKKOYUN for his support.
📖 Proje Hakkında
iPXE Manager, Windows ve Linux işletim sistemlerini USB veya DVD gibi fiziksel ortamlara gerek kalmadan ağ üzerinden PXE (Preboot eXecution Environment) ile önyüklemenizi sağlayan web tabanlı bir yönetim panelidir.
Bu proje işyerinde kendi ihtiyaçlarıma göre geliştirilmiştir. Ticari bir amacı yoktur ve bu nedenle resmi bir destek sağlanmayacaktır. Başkalarına da faydalı olabileceği düşüncesiyle açık olarak paylaşılmaktadır.
Birincil hedef: Harici DHCP sunucusu olan kurumsal/şirket ağ ortamları (Windows Server DHCP, pfSense, MikroTik vb.).
Aynı zamanda: Ev kullanıcıları — pxesrv.exe ProxyDHCP modunda çalıştığı için modem veya router yapılandırması gerekmez. Servis, mevcut DHCP sunucunuzla çakışmadan çalışır.
Bu proje iki temel bileşen üzerine inşa edilmiştir:
- Erwan'ın TinyPXE Server'ı —
pxesrv.exe, temel PXE/TFTP/ProxyDHCP servis motoru olarak kullanılmaktadır. TinyPXE, ücretsiz ancak kapalı kaynak bir uygulamadır. - Secure Boot uyumlu iPXE ikili dosyaları —
ipxe-legacy.pxe(BIOS),bootx64.efiveipxe.efi(UEFI) olmak üzere önceden derlenmiş iPXE görüntüleridir. iPXE açık kaynaklıdır (GPL).bootx64.efiveipxe.efi, Microsoft tarafından imzalanmıştır; bu sayede çoğu cihazda Secure Boot devre dışı bırakılmadan EFI/BIOS çift önyükleme desteği sağlanır.
✨ Özellikler
- 🖥️ Web tabanlı yönetim paneli — ağdaki herhangi bir cihazdan tarayıcı üzerinden erişilebilir
- 🪟 Windows ISO desteği — Windows 10/11/Server ağ kurulumu. Önce WinPE'nin yerel WebClient servisi denenir (UNC yolu üzerinden doğrudan WebDAV); kullanılamıyorsa
davinst.exeWinFsp sürücüsünü yükler verclone.exeISO'yu sanal sürücü olarak bağlar. Hem x86 hem x64 WinPE otomatik desteklenir - 🐧 Evrensel Linux desteği — otomatik distro tespiti ve optimize edilmiş önyükleme parametreleri
- 💾 WinPE yönetimi — standart
.wimdosyaları ve modifiye ISO'lar (örn. Sergei Strelec) - 🛡️ Mimari farkındalığı — UEFI istemcide yalnızca uyumlu (x64) WinPE'ler listelenir; BIOS/Legacy istemcide tüm WinPE'ler görünür
- 🔐 Şifre koruması — isteğe bağlı yönetici paneli şifresi (PXE istemcilerini etkilemez)
- 🌍 Çoklu dil desteği —
Lang/klasörüne yeni bir.inidosyası eklemen yeterli; arayüzdeki dil listesi otomatik güncellenir - 🎨 Tema desteği — karanlık/aydınlık mod
- 📊 Canlı kontrol paneli — sunucu durumu, aktif bağlantılar, ISO istatistikleri
- 🔧 DHCP/Güvenlik Duvarı araçları — Windows DHCP Sunucusu için tek tıklama policy oluşturucu
- 🔄 Otomatik iPXE script üretimi — herhangi bir değişiklikte önyükleme menüsü anında güncellenir
- 📋 Unattend XML desteği — otomatik Windows kurulumu için yanıt dosyası
- ⏱️ Önyükleme geri sayımı — varsayılan önyükleme seçeneğiyle yapılandırılabilir zaman aşımı
- 🗂️ ISO içerik tarayıcısı — yüklenen ISO dosyalarının iç yapısını panelden inceleme
- 📜 Extract log görüntüleyici — uzun süren ISO/WinPE ayıklama işlemlerinin günlüğünü canlı izleme
↕️ Sürükle-bırak ile sıralama — önyükleme menüsündeki öğelerin sırasını panelden değiştirme- ✏️ Açıklama (alias) düzenleme — her ISO/WinPE için kullanıcı dostu görünen ad atama
- 🛡️ Windows 11 bypass — kayıt defteri üzerinden otomatik TPM/Secure Boot/RAM gereksinim atlatma
- 📦 Servis modu — otomatik başlatma için Windows servisi olarak kurulum
- 🛑 Güvenli kapatma — sistemi ve tüm arka plan servislerini panelden tek tıkla durdurma
- 💾 Kalıcı ayarlar — Ayarları Kaydet butonu; sunucu IP/domain, arayüz dili, tema (karanlık/aydınlık), varsayılan önyükleme hedefi ve geri sayım süresini
app_settings.jsondosyasına kaydeder; ardından tüm Linux ISO'ları yeniden tarar ve iPXE önyükleme menüsünü otomatik yeniden üretir
💡 Yeni dil eklemek için:
Lang/klasöründekiEnglish.inidosyasını kopyalayın, bölüm adını ve değerleri çevirin. Başka hiçbir dosyaya dokunmanıza gerek yoktur.
⚔️ Karşılaştırma — iPXE Manager vs iVentoy vs Bootimus
Bu karşılaştırma, projenin güçlü olduğu Windows ISO + Modifiye WinPE alanını öne çıkarmak ve eksik olduğu alanları dürüstçe belirtmek için hazırlanmıştır.
| Özellik | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Dil | Python (Flask) | C | Go |
| Platform | Windows | Windows + Linux | Linux + Docker (çoklu mimari) |
| Dağıtım | Tek .exe |
Tek .exe |
Tek binary / Docker / USB |
| Veri saklama | JSON dosyaları | Dosya tabanlı | SQLite / PostgreSQL |
| Kaynak kod | ✅ Açık (Python) | ❌ Kapalı | ✅ Açık (Go) |
| Özellik | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Linux ISO desteği | ✅ 20+ dağıtım (Ubuntu/Mint/Pop, Debian/Kali/MX, Fedora/Rocky/Alma, openSUSE, Arch/Endeavour, Manjaro, Alpine, Void, NixOS) + generic fallback | ✅ 1100+ ISO veritabanı | ✅ 50+ dağıtım |
| Tespit yaklaşımı | ✅ Aile tabanlı yapısal tespit — ISO içindeki klasör yapısından otomatik tanır (10 grup → 20+ dağıtım kapsar). Yeni dağıtım sürümleri için güncelleme gerekmez | ||
| Windows ISO kurulum | ✅ WebClient → WinFsp/rclone | ✅ WebDAV tabanlı | ✅ wimboot + SMB |
| Standart WinPE (.wim) | ✅ | ✅ | ✅ |
| Modifiye WinPE (Sergei Strelec, Hiren's PE) | ✅ Tam çalışır — ISO içindeki tüm programlara WebDAV üzerinden erişilebilir | ❌ ISO mount edilemiyor (programlara erişilemez) | ❌ Desteklenmez |
| UEFI/BIOS mimari farkındalığı | ✅ x86 WinPE UEFI'de otomatik gizlenir | ✅ | |
| Secure Boot uyumluluk | ✅ Microsoft imzalı iPXE | ❌ Secure Boot devre dışı bırakılmalı | ✅ |
| Özellik | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| WinPE WebClient (yerli WebDAV, mount gerektirmez) | ✅ Öncelikli yöntem | ❌ | ❌ |
| WinFsp + rclone fallback (WebClient yoksa) | ✅ Otomatik | ❌ | |
| x86 + x64 WinPE çift mimari desteği | ✅ Mimari otomatik tespit + uygun binary enjekte | ||
| UCRT / API Set DLL enjeksiyonu (x86 WinPE için) | ✅ 80 DLL otomatik | ❌ | ❌ |
| Unattend.xml ile sessiz Windows kurulumu | ✅ Panelden yükle | ✅ | ❌ |
| Windows 11 bypass (TPM/Secure Boot/RAM) | ✅ Registry otomatik | ❌ Manuel | ❌ |
| ISO içerik tarayıcısı (panelden) | ✅ | ✅ |
| Özellik | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Web tabanlı yönetim paneli | ✅ Modern, responsive | ✅ Modern, REST API | |
| Çoklu dil (kullanıcı eklenebilir) | ✅ Lang/*.ini, otomatik tespit |
❌ Sadece İngilizce | |
| Karanlık / aydınlık tema | ✅ | ❌ | ✅ |
| Şifre koruması | ✅ Opsiyonel | ❌ | ✅ JWT + bcrypt |
| LDAP/AD doğrulama | ❌ | ❌ | ✅ |
| Sürükle-bırak menü sıralama | ✅ | ❌ | ❌ |
| Alias / açıklama düzenleme | ✅ | ❌ | ✅ |
| Canlı extract log | ✅ Polling tabanlı | ✅ Streaming | |
| MAC bazlı erişim kontrolü (ACL) | ❌ | ❌ | ✅ |
| Donanım envanteri | ❌ | ❌ | ✅ |
| Built-in araçlar (GParted/Clonezilla/Memtest) | ✅ | ✅ | |
| Arayüz özelleştirme (logo / arka plan) | ✅ splash.png elle değiştirilebilir |
❌ Sabit görünüm | ❌ Sabit görünüm |
| Kullanım kolaylığı (ISO/WIM ekle → boot) | ✅ Sürükle-bırak, otomatik tespit | ✅ Çok basit |
| Özellik | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| ProxyDHCP modu | ✅ TinyPXE motor | ✅ Yerleşik | ✅ Yerleşik |
| Harici DHCP entegrasyonu | ✅ Tek-tık .bat (Option 66/67) |
||
| Windows Firewall otomasyonu | ✅ Tek-tık .bat |
❌ | ❌ |
| Windows servisi olarak çalıştırma | ✅ | ✅ |
| Özellik | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Lisans | Custom (ticari olmayan) | Proprietary | Apache 2.0 |
| Ücret | Ücretsiz (ticari olmayan) | Ücretsiz: max 20 istemci, üzeri için Pro Edition ($49/lisans) | Ücretsiz |
| Ticari kullanım | ❌ Yasak | 💰 Ücretli lisans gerekir | ✅ Serbest |
iPXE Manager'ın güçlü yanları: Windows ISO + Modifiye WinPE entegrasyonu (Sergei Strelec gibi recovery toolkit'leri), WebClient öncelikli akıllı mount stratejisi, x86 + x64 WinPE çift mimari desteği, çoklu dil ve Türkçe arayüz.
iPXE Manager'ın eksikleri: MAC bazlı ACL, LDAP, donanım envanteri, built-in araçlar (GParted vb.), Docker/Linux dağıtımı.
Hangisini seçmeli?
- 🪟 Windows-ağırlıklı ortam + modifiye WinPE + Secure Boot etkin cihazlar + kolayca yeni dil ekleyebilme + özelleştirilebilir görünüm → iPXE Manager
- 📚 Çok geniş ISO veritabanı (1100+) + ARM64 ihtiyacı → iVentoy (≤20 istemci ücretsiz; aksi takdirde $49 Pro)
- 🏢 Ticari kullanım gerekiyorsa + MAC ACL/LDAP/REST API/Docker gerektiren kurumsal Linux ortam → Bootimus
Not: iPXE Manager da kullanıcı için "ISO ekle → boot" kadar basit. Kullanım kolaylığı tek başına iVentoy'a özgü değil — fark, iVentoy'un üzerinde çalıştığı 1100+ ISO veritabanı ve ARM64 desteği.
🐧 Evrensel Linux Desteği
iPXE Manager, Linux dağıtımını ISO yapısından (dosya adından değil) otomatik olarak tespit eder ve doğru önyükleme yöntemini uygular.
| Dağıtım | Tespit Yöntemi | Önyükleme Yöntemi | RAM Kullanımı | Durum |
|---|---|---|---|---|
| Ubuntu / Mint / Zorin / Pop!_OS (Tüm Sürümler) | casper/ veya katmanlı squashfs |
url= tam ISO (HTTP üzerinden ISO bağlama) |
Değişken (ISO Boyutuna Göre) | ✅ Tam |
| Debian / Kali / MX / Parrot / antiX | live/filesystem.squashfs |
fetch= tek squashfs |
~3–5 GB | ✅ Tam |
| Fedora / Rocky / Alma / CentOS Stream | LiveOS/squashfs.img |
root=live: squashfs |
~2–4 GB | ✅ Tam |
| openSUSE Live | LiveOS/squashfs.img |
root=live: squashfs |
~3–4 GB | ✅ Tam |
| openSUSE Installer | squashfs yok (kurulum) | install=http:// (sıfır RAM) |
~256 MB | ✅ Tam |
| Arch Linux / EndeavourOS | arch/ dizini |
archiso_http_srv= |
~1–2 GB | ✅ Tam |
| Manjaro | manjaro/ dizini |
archiso_http_srv= + dinamik img_loop |
~2–3 GB | ✅ Tam |
| Alpine Linux (LTS/Extended/Edge) | alpine-release / modloop-* |
modloop= (dinamik yol) |
~256 MB | ✅ Tam |
| Void Linux | boot/vmlinuz + LiveOS/ |
root=live: squashfs |
~1–2 GB | ✅ Tam |
| NixOS | nix-store/ + grub.cfg parse |
init= (grub.cfg'den ayrıştırılır) |
~2–3 GB | |
| Kurtarma Araçları (Rescuezilla, Redo Rescue, SystemRescue, Parted Magic) | Özel Klasör Adı Tespit (Örn: rescuezilla*) |
Her araç için ayrı optimize edilmiş parametre | Değişken | ✅ Tam |
| Generic / Bilinmeyen | En büyük squashfs taraması | root=live: veya tam ISO fallback |
Değişken | |
| Tails / Whonix | Özel şifreli live yapısı | — | — | ❌ Yok |
| Gentoo / Slackware | Standart live formatı yok | — | — | ❌ Yok |
* Ubuntu notu: Canonical'ın son sürümlerde (özellikle 22.04 ve 24.04+) geçiş yaptığı yeni Subiquity ve çok katmanlı (layered) squashfs mimarilerinde eski
fetch=yöntemi RAM dolması veya "Unable to find a medium" hatalarına neden olduğu için; iPXE Manager tüm Ubuntu tabanlı sistemlerde artık en modern ve stabil yöntem olanurl=(Tam ISO bağlama) metodunu kullanmaktadır.
⚠️ Secure Boot: Linux PXE önyüklemesi için UEFI ayarlarından Secure Boot'un devre dışı bırakılması gerekmektedir.
Gömülü PowerShell betik dosyası (extract_iso.ps1) otomatik olarak:
- ISO'yu mount eder
- Dizin yapısından distro'yu tespit eder
- Bilinen yolları tarayarak doğru squashfs/modloop dosyasını bulur
- Gerçek yolu
squashfs_path.txt'e kaydeder - Kernel (
vmlinuz) ve initrd'yi diske kopyalar
Tüm önyükleme parametreleri bu hint dosyalarından dinamik olarak üretilir — hardcoded yol yoktur.
Genel Linux kapsamı: Yaygın kullanılan dağıtımların indirme hacmine göre yaklaşık %88'i
🚀 Başlangıç
- Windows 10/11 veya Windows Server 2016+
- Python 3.8+ (kaynak koddan çalıştırılıyorsa) veya derlenmiş
.exe - Yönetici (Administrator) yetkileri — ISO mount, boot.wim düzenleme ve servis yönetimi için gerekli
- PXE istemcileriyle aynı alt ağda bir ağ arayüzü
- Uygulama klasörünü herhangi bir konuma çıkarın (örn.
D:\iPXE Manager) iPXE Manager.exe'yi Yönetici olarak çalıştırınhttp://localhost:8080adresinden web paneline erişin- Sunucu IP / Domain alanı, çalıştığı bilgisayarın IP adresiyle otomatik olarak doldurulur. Bir domain adı kullanmak veya farklı bir ağ arayüzünün IP'sini belirtmek istiyorsanız değiştirip Ayarları Kaydet'e tıklayın
- PXE Servisini başlatın
pxesrv.exe, varsayılan olarak ProxyDHCP modunda çalışır (config.ini dosyasında proxydhcp=1):
- Modem/router'ınız IP adresi atamaya normal şekilde devam eder
pxesrv.exeyalnızca PXE önyükleme isteklerine önyükleme dosyası bilgisiyle yanıt verir- Router yapılandırması gerekmez — servisi başlatın ve istemcinizi önyükleyin
Yerleşik DHCP / Güvenlik Duvarı Yapılandırması panelini kullanın:
- Sunucu IP/domain adresini doğrulayın (otomatik doldurulur — gerekiyorsa düzeltin)
- Konfigürasyon Dosyasını İndir (.BAT) butonuna tıklayın
.batdosyasını Windows DHCP Sunucunuzda Yönetici olarak çalıştırın- EFI ve BIOS istemciler için otomatik olarak iPXE önyükleme policy'si oluşturulur
📁 Dizin Yapısı
iPXE Manager/
├── iPXE Manager.exe
├── index.html
├── LICENSE.txt
├── README.md
├── Lang/
│ ├── English.ini
│ ├── Turkish.ini
│ └── <Dil>.ini ← Yeni dil eklemek için bu şablonu kopyalayın
├── Source Codes/
│ ├── iPXE Manager_source.py ← Sunucu kaynak kodu (Python/Flask)
│ └── davinst_source.py ← WinPE WebDAV servis yükleyici kaynağı (x86 ve x64 için ayrı derlenir)
└── pxe/
├── pxesrv.exe ← TinyPXE Server (Erwan tarafından)
├── config.ini ← pxesrv yapılandırması
├── autoexec.ipxe ← iPXE önyükleme menüsü (otomatik oluşturulur)
├── bootx64.efi ← UEFI Secure Boot önyükleyici (MS imzalı)
├── ipxe-legacy.pxe ← BIOS önyükleme dosyası
├── ipxe.efi ← UEFI iPXE çalışma zamanı (iPXE imzalı)
├── app_settings.json ← Uygulama ayarları (otomatik oluşturulur)
├── mnt/ ← Otomatik oluşturulan gizli mount klasörü; her mount edilen ISO için diskpart ile burada ayrı bir alt klasöre bağlanır (örn. mnt/<iso_klasör_adı>/)
├── ISO/
│ ├── Windows/ ← Windows ISO klasörleri
│ └── Linux/ ← Linux ISO klasörleri
├── WINPE/ ← WinPE .wim ve modifiye WinPE ISO dosyaları
└── TOOLS/
├── wimlib-imagex.exe ← WIM düzenleme aracı (Windows ISO için boot.wim'e dosya enjekte eder)
├── libwim-15.dll ← wimlib-imagex bağımlılığı
└── MS/
├── boot.sdi
├── bootmgr.exe
├── wimboot
├── boot/bcd ← BIOS BCD
├── efi/microsoft/boot/ ← EFI BCD
├── dynamic/ ← Otomatik üretilen WinSetup betikleri
└── rclone/ ← Windows ISO kurulum bileşenleri (WinFsp+RClone fallback yolu)
├── rclone_amd64.exe ← x64 rclone (WebDAV→sanal sürücü bağlantısı)
├── rclone_x86.exe ← x86 rclone (x86 WinPE için)
├── davinst_amd64.exe ← x64 WinPE'de WinFsp sürücüsünü yükler
├── davinst_x86.exe ← x86 WinPE'de WinFsp sürücüsünü yükler
├── winfsp-x64.sys ← WinFsp sanal dosya sistemi sürücüsü (x64)
├── winfsp-x86.sys ← WinFsp sanal dosya sistemi sürücüsü (x86)
├── winfsp-x64.dll ← WinFsp kullanıcı modu kütüphanesi (x64)
├── winfsp-x86.dll ← WinFsp kullanıcı modu kütüphanesi (x86)
├── ucrt_x64/ ← x64 WinPE'ye enjekte edilen UCRT/API Set DLL'leri
└── ucrt_x86/ ← x86 WinPE'ye enjekte edilen UCRT/API Set DLL'leri
⚠️ Önemli Notlar ve Sınırlamalar
- Yalnızca Windows — uygulama,
Mount-DiskImage(PowerShell) ve diğer Windows'a özgü API'leri kullanır - Windows ISO → WebClient (öncelikli) / RClone + WinFsp (yedek) — Önce WinPE'nin yerel WebClient servisi başlatılarak doğrudan WebDAV UNC yolu (
\\SERVER@PORT\DavWWWRoot\dav\ISO_DIR) üzerinden bağlantı denenir. WinPE'de WebClient mevcut değilse veya başarısız olursadavinst.exeWinFsp sürücüsünü yükler verclone.exeISO içeriğini sanal sürücü olarak bağlar. Her iki yöntemde de Windows Setup, ISO dosyalarına yerel sürücüymüş gibi erişir; SMB paylaşımı veya ek kullanıcı hesabı gerekmez. x86 ve x64 WinPE otomatik desteklenir (mimari otomatik tespit edilir, ilgili ikili dosyalar enjekte edilir) - Modifiye Windows ISO desteği —
WinSetup.cmd, ISO kök dizinindesetup.exebulunmayan modifiye/slipstream Windows ISO'larını da destekler. Kök dizindesetup.exeyoksasources\klasöründekiinstall.wim/install.esd/install.swmdosyası otomatik tespit edilir ve kurulum, WinPE'nin yerleşikX:\setup.exeprogramı ile/installfrom:parametresi kullanılarak başlatılır - Yönetici yetkisi gerekli — ISO mount,
wimlib-imagexile boot.wim düzenleme ve servis yönetimi yükseltilmiş ayrıcalıklar gerektirir - ISO dosyaları kalıcı olarak mount edilmiş kalır — Modifiye WinPE, Windows Setup ve Linux ISO dosyaları, sunucu çalıştığı sürece Windows tarafından
pxe\mnt\altındaki gizli klasör mount noktalarına bağlı halde tutulur. Bunun nedeni; istemci her dosyaya (squashfs, boot.wim, kernel vb.) eriştiğinde sunucunun ISO içeriğini anlık olarak HTTP veya WebDAV üzerinden okuyup servis etmesidir. ISO unmount edilirse istemci bağlantısı kesilir ve önyükleme başarısız olur. Uygulama kapatıldığında tüm mount işlemleri otomatik olarak sonlandırılır; yeniden açıldığında ise mevcut ISO dosyaları otomatik olarak tekrar mount edilir. - Gizli klasör mount sistemi — ISO dosyaları artık Windows sürücü harfi (A–Z) tüketmez; her mount edilen ISO,
diskpartkullanılarakpxe\mnt\<klasör_adı>altında oluşturulan gizli bir NTFS mount noktasına bağlanır. Bu sayede aynı anda onlarca ISO mount edilse bile sürücü harfi sınırına takılma riski ortadan kalkmıştır - Linux RAM gereksinimleri — Linux destek tablosuna bakın; Ubuntu 24.04+ önemli miktarda RAM gerektirir
- Linux için Secure Boot yok — Linux PXE önyüklemesi için Secure Boot devre dışı bırakılmalıdır; Windows önyüklemesi imzalı iPXE EFI ile Secure Boot etkin çalışır
- Ticari destek yok — bu proje kişisel işyeri kullanımı için geliştirilmiştir; sorunlar bildirilebilir ancak yanıt garanti edilmez
📜 Lisans ve Feragatname — LICENSE dosyasını görüntüle
Bu proje Abdullah ERTÜRK tarafından kişisel işyeri kullanımı için geliştirilmiştir. Ticari bir amacı yoktur.
📄 Tam lisans metni için: LICENSE
- Ticari olmayan amaçlarla kullanım, değiştirme ve paylaşım serbesttir
- Atıf zorunludur — kaynak kodda ve arayüzde yazar adı ile linkleri korunmalıdır
- Hiçbir türde garanti sağlanmamaktadır
- Resmi destek sunulmamaktadır
- Üçüncü taraf bileşenler (pxesrv, iPXE ikili dosyaları) kendi lisanslarına tabidir
Bağlantılar:
📖 About the Project
iPXE Manager is a web-based management panel that allows you to boot Windows and Linux operating systems over the network via PXE (Preboot eXecution Environment), without requiring any physical media such as USB drives or DVDs.
This project was developed for workplace needs. It has no commercial purpose, and therefore no official support will be provided. It is shared openly in the hope that it may be useful to others.
Primary target: Corporate/enterprise network environments with an external DHCP server (Windows Server DHCP, pfSense, MikroTik, etc.).
Also works for: Home users — thanks to pxesrv.exe running in ProxyDHCP mode, no router or modem configuration is required. The service runs alongside your existing DHCP server without conflict.
This project builds on two key components:
- Erwan's TinyPXE Server —
pxesrv.exeis used as the underlying PXE/TFTP/ProxyDHCP service engine. TinyPXE is freeware but closed source. - Secure Boot–compatible iPXE binaries —
ipxe-legacy.pxe(BIOS),bootx64.efiandipxe.efi(UEFI) are pre-built iPXE images. iPXE is open source (GPL).bootx64.efiandipxe.efiare signed by Microsoft, enabling EFI/BIOS dual boot without disabling Secure Boot on most devices.
✨ Features
- 🖥️ Web-based management panel — browser-accessible from any device on the network
- 🪟 Windows ISO support — network installation of Windows 10/11/Server. WinPE's native WebClient service is tried first (direct WebDAV via UNC path); if unavailable,
davinst.exeloads the WinFsp driver andrclone.exemounts the ISO as a virtual drive. Both x86 and x64 WinPE are auto-supported - 🐧 Universal Linux support — automatic distro detection and optimized boot parameters
- 💾 WinPE management — standard
.wimfiles and modified ISOs (e.g. Sergei Strelec) - 🛡️ Architecture awareness — UEFI clients only see compatible (x64) WinPE entries; BIOS/Legacy clients see all entries
- 🔐 Password protection — optional admin panel password (does not affect PXE clients)
- 🌍 Multi-language support — drop a new
.iniinto theLang/folder; the interface language list updates automatically - 🎨 Theme support — dark/light mode
- 📊 Live dashboard — server status, active connections, ISO statistics
- 🔧 DHCP/Firewall tools — one-click policy generator for Windows DHCP Server
- 🔄 Automatic iPXE script generation — boot menu updates instantly on any change
- 📋 Unattend XML support — automated Windows installation answer files
- ⏱️ Boot countdown — configurable timeout with default boot option
- 🗂️ ISO content browser — inspect the internal structure of uploaded ISO files from the panel
- 📜 Extract log viewer — watch the live log of long-running ISO/WinPE extraction tasks
↕️ Drag-and-drop reordering — rearrange boot menu items directly from the panel- ✏️ Description (alias) editing — assign a friendly display name to each ISO/WinPE entry
- 🛡️ Windows 11 bypass — automatic TPM/Secure Boot/RAM requirement bypass via registry
- 📦 Service mode — install as Windows service for automatic startup
- 🛑 Safe shutdown — stop the system and all background services from the panel with a single click
- 💾 Persistent settings — the Save Settings button writes server IP/domain, interface language, theme (dark/light), default boot target, and countdown duration to
app_settings.json; it then re-scans all Linux ISOs and regenerates the iPXE boot menu automatically
💡 To add a new language: Copy
English.inifrom theLang/folder, translate the section name and values. No other files need to be modified.
⚔️ Comparison — iPXE Manager vs iVentoy vs Bootimus
This comparison highlights the project's strengths in Windows ISO + Modified WinPE and honestly indicates the areas where it falls short.
| Feature | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Language | Python (Flask) | C | Go |
| Platform | Windows | Windows + Linux | Linux + Docker (multi-arch) |
| Distribution | Single .exe |
Single .exe |
Single binary / Docker / USB |
| Data storage | JSON files | File-based | SQLite / PostgreSQL |
| Source code | ✅ Open (Python) | ❌ Closed | ✅ Open (Go) |
| Feature | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Linux ISO support | ✅ 20+ distros (Ubuntu/Mint/Pop, Debian/Kali/MX, Fedora/Rocky/Alma, openSUSE, Arch/Endeavour, Manjaro, Alpine, Void, NixOS) + generic fallback | ✅ 1100+ ISO database | ✅ 50+ distros |
| Detection approach | ✅ Family-based structural detection — auto-detected from the ISO's internal layout (10 groups → 20+ distros covered). No update needed when a new distro version is released | ||
| Windows ISO installation | ✅ WebClient → WinFsp/rclone | ✅ WebDAV-based | ✅ wimboot + SMB |
| Standard WinPE (.wim) | ✅ | ✅ | ✅ |
| Modified WinPE (Sergei Strelec, Hiren's PE) | ✅ Fully working — all programs inside the ISO are accessible via WebDAV | ❌ Cannot mount the ISO (programs are inaccessible) | ❌ Not supported |
| UEFI/BIOS architecture awareness | ✅ x86 WinPE auto-hidden on UEFI | ✅ | |
| Secure Boot compatibility | ✅ Microsoft-signed iPXE | ❌ Secure Boot must be disabled | ✅ |
| Feature | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| WinPE WebClient (native WebDAV, no mount required) | ✅ Preferred method | ❌ | ❌ |
| WinFsp + rclone fallback (if WebClient unavailable) | ✅ Automatic | ❌ | |
| x86 + x64 WinPE dual-architecture support | ✅ Auto-detected + matching binaries injected | ||
| UCRT / API Set DLL injection (for x86 WinPE) | ✅ 80 DLLs automatic | ❌ | ❌ |
| Unattend.xml for silent Windows install | ✅ Upload from panel | ✅ | ❌ |
| Windows 11 bypass (TPM/Secure Boot/RAM) | ✅ Registry automatic | ❌ Manual | ❌ |
| ISO content browser (from panel) | ✅ | ✅ |
| Feature | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| Web-based management panel | ✅ Modern, responsive | ✅ Modern, REST API | |
| Multi-language (user-extensible) | ✅ Lang/*.ini, auto-detected |
❌ English only | |
| Dark / light theme | ✅ | ❌ | ✅ |
| Password protection | ✅ Optional | ❌ | ✅ JWT + bcrypt |
| LDAP/AD authentication | ❌ | ❌ | ✅ |
| Drag-and-drop menu reordering | ✅ | ❌ | ❌ |
| Alias / description editing | ✅ | ❌ | ✅ |
| Live extract log | ✅ Polling-based | ✅ Streaming | |
| MAC-based access control (ACL) | ❌ | ❌ | ✅ |
| Hardware inventory | ❌ | ❌ | ✅ |
| Built-in tools (GParted/Clonezilla/Memtest) | ✅ | ✅ | |
| UI customization (logo / background) | ✅ splash.png manually replaceable |
❌ Fixed look | ❌ Fixed look |
| Ease of use (add ISO/WIM → boot) | ✅ Drag-drop, auto-detection | ✅ Very simple |
| Feature | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| ProxyDHCP mode | ✅ TinyPXE engine | ✅ Built-in | ✅ Built-in |
| External DHCP integration | ✅ One-click .bat (Option 66/67) |
||
| Windows Firewall automation | ✅ One-click .bat |
❌ | ❌ |
| Run as Windows service | ✅ | ✅ |
| Feature | iPXE Manager | iVentoy | Bootimus |
|---|---|---|---|
| License | Custom (non-commercial) | Proprietary | Apache 2.0 |
| Price | Free (non-commercial) | Free: max 20 clients, beyond that Pro Edition ($49/license) | Free |
| Commercial use | ❌ Not permitted | 💰 Commercial license required | ✅ Allowed |
iPXE Manager strengths: Windows ISO + Modified WinPE integration (recovery toolkits like Sergei Strelec), WebClient-first smart mount strategy, x86 + x64 WinPE dual-architecture support, multi-language with native Turkish UI.
iPXE Manager limitations: No MAC-based ACL, no LDAP, no hardware inventory, no built-in tools (GParted, etc.), no Docker/Linux distribution.
Which one to choose?
- 🪟 Windows-heavy environment + modified WinPE + Secure Boot enabled devices + drop-in multi-language support + customizable look → iPXE Manager
- 📚 Massive ISO database (1100+) + ARM64 requirement → iVentoy (free up to 20 clients; otherwise $49 Pro)
- 🏢 Commercial use + corporate Linux environment requiring MAC ACL/LDAP/REST API/Docker → Bootimus
Note: iPXE Manager is also as easy as "add ISO → boot" for the end user. Ease of use is not unique to iVentoy — the actual differentiator is iVentoy's curated 1100+ ISO database and ARM64 support.
🐧 Linux Universal Support
iPXE Manager automatically detects the Linux distribution from the ISO structure (not the filename) and applies the correct boot method.
| Distribution | Detection Method | Boot Method | RAM Usage | Status |
|---|---|---|---|---|
| Ubuntu / Mint / Zorin / Pop!_OS (All Versions) | casper/ or layered squashfs |
url= full ISO (HTTP loop mount) |
Varies (By ISO Size) | ✅ Full |
| Debian / Kali / MX / Parrot / antiX | live/filesystem.squashfs |
fetch= single squashfs |
~3–5 GB | ✅ Full |
| Fedora / Rocky / Alma / CentOS Stream | LiveOS/squashfs.img |
root=live: squashfs |
~2–4 GB | ✅ Full |
| openSUSE Live | LiveOS/squashfs.img |
root=live: squashfs |
~3–4 GB | ✅ Full |
| openSUSE Installer | No squashfs (installer) | install=http:// (zero RAM overhead) |
~256 MB | ✅ Full |
| Arch Linux / EndeavourOS | arch/ directory |
archiso_http_srv= |
~1–2 GB | ✅ Full |
| Manjaro | manjaro/ directory |
archiso_http_srv= + dynamic img_loop |
~2–3 GB | ✅ Full |
| Alpine Linux (LTS/Extended/Edge) | alpine-release / modloop-* |
modloop= (dynamic path) |
~256 MB | ✅ Full |
| Void Linux | boot/vmlinuz + LiveOS/ |
root=live: squashfs |
~1–2 GB | ✅ Full |
| NixOS | nix-store/ + grub.cfg parse |
init= (parsed from grub.cfg) |
~2–3 GB | |
| Recovery Tools (Rescuezilla, Redo Rescue, SystemRescue, Parted Magic) | Specific Folder Name (e.g. rescuezilla*) |
Optimized custom parameters per tool | Varies | ✅ Full |
| Generic / Unknown | Largest squashfs scan | root=live: or full ISO fallback |
Varies | |
| Tails / Whonix | Special encrypted live | — | — | ❌ No |
| Gentoo / Slackware | No standard live format | — | — | ❌ No |
* Ubuntu note: Due to Canonical's transition to Subiquity and layered squashfs architectures in recent versions (especially 22.04 and 24.04+), the legacy
fetch=parameter often causes RAM overflow or "Unable to find a medium" errors. Therefore, iPXE Manager now uses the modern, most stableurl=(Full ISO) method for all Ubuntu-based systems.
⚠️ Secure Boot: Linux PXE boot requires Secure Boot to be disabled in UEFI settings.
The embedded PowerShell script file (extract_iso.ps1) automatically:
- Mounts the ISO
- Detects the distro from directory structure
- Finds the correct squashfs/modloop file by scanning known paths
- Saves the real path to
squashfs_path.txt - Copies kernel (
vmlinuz) and initrd to disk
All boot parameters are generated dynamically from these hint files — no hardcoded paths.
Overall Linux coverage: ~88% of commonly distributed distros (by download volume)
🚀 Getting Started
- Windows 10/11 or Windows Server 2016+
- Python 3.8+ (if running from source) or the compiled
.exe - Administrator privileges (required for ISO mount, boot.wim patching, and service management)
- Network interface on the same subnet as PXE clients
- Extract the application folder to any path (e.g.
D:\iPXE Manager) - Run
iPXE Manager.exeas Administrator - Open the web panel at
http://localhost:8080 - The Server IP / Domain field is auto-detected from the host machine's IP. To use a domain name or a different network interface IP, change it and click Save Settings
- Start the PXE Service
pxesrv.exe runs in ProxyDHCP mode (proxydhcp=1 in config.ini) by default:
- Your router/modem continues to assign IP addresses normally
pxesrv.exeonly responds to PXE boot requests with boot file information- No router configuration required — just start the service and boot your client
Use the built-in DHCP / Firewall Configuration panel:
- Verify the server IP/domain (auto-filled — adjust if needed)
- Click Download Configuration File (.BAT)
- Run the
.batfile as Administrator on your Windows DHCP Server - This creates an iPXE boot policy automatically for EFI and BIOS clients
📁 Directory Structure
iPXE Manager/
├── iPXE Manager.exe
├── index.html
├── LICENSE.txt
├── README.md
├── Lang/
│ ├── English.ini
│ ├── Turkish.ini
│ └── <Language>.ini ← Copy this template to add a new language
├── Source Codes/
│ ├── iPXE Manager_source.py ← Server source code (Python/Flask)
│ └── davinst_source.py ← WinPE WebDAV service installer source (compiled separately for x86 and x64)
└── pxe/
├── pxesrv.exe ← TinyPXE Server (by Erwan)
├── config.ini ← pxesrv configuration
├── autoexec.ipxe ← iPXE boot menu (auto-generated)
├── bootx64.efi ← UEFI Secure Boot bootloader (MS signed)
├── ipxe-legacy.pxe ← BIOS boot file
├── ipxe.efi ← UEFI iPXE runtime (iPXE signed)
├── app_settings.json ← Application settings (auto-generated)
├── mnt/ ← Auto-created hidden mount folder; each mounted ISO is bound here in its own subfolder via diskpart (e.g. mnt/<iso_folder_name>/)
├── ISO/
│ ├── Windows/ ← Windows ISO folders
│ └── Linux/ ← Linux ISO folders
├── WINPE/ ← WinPE .wim and modified WinPE ISO files
└── TOOLS/
├── wimlib-imagex.exe ← WIM manipulation tool (injects files into boot.wim for Windows ISO)
├── libwim-15.dll ← wimlib-imagex dependency
└── MS/
├── boot.sdi
├── bootmgr.exe
├── wimboot
├── boot/bcd ← BIOS BCD
├── efi/microsoft/boot/ ← EFI BCD
├── dynamic/ ← Auto-generated WinSetup scripts
└── rclone/ ← Windows ISO installation components (WinFsp+RClone fallback path)
├── rclone_amd64.exe ← x64 rclone (mounts WebDAV share as virtual drive)
├── rclone_x86.exe ← x86 rclone (for x86 WinPE)
├── davinst_amd64.exe ← loads WinFsp driver in x64 WinPE
├── davinst_x86.exe ← loads WinFsp driver in x86 WinPE
├── winfsp-x64.sys ← WinFsp filesystem driver (x64)
├── winfsp-x86.sys ← WinFsp filesystem driver (x86)
├── winfsp-x64.dll ← WinFsp user-mode library (x64)
├── winfsp-x86.dll ← WinFsp user-mode library (x86)
├── ucrt_x64/ ← UCRT/API Set DLLs injected into x64 WinPE
└── ucrt_x86/ ← UCRT/API Set DLLs injected into x86 WinPE
⚠️ Important Notes & Limitations
- Windows only — the application uses
Mount-DiskImage(PowerShell) and other Windows-specific APIs - Windows ISO → WebClient (preferred) / RClone + WinFsp (fallback) — WinPE's native WebClient service is started first and the WebDAV UNC path (
\\SERVER@PORT\DavWWWRoot\dav\ISO_DIR) is mounted directly. If WebClient is unavailable or fails,davinst.exeloads the WinFsp virtual filesystem driver andrclone.exeexposes the WebDAV share as a local drive letter. Either way, Windows Setup accesses the installation files as if from a local drive; no SMB share or extra user account is required. Both x86 and x64 WinPE are auto-supported (architecture is detected and the corresponding binaries are injected) - Modified Windows ISO support —
WinSetup.cmdnow also supports modified/slipstreamed Windows ISOs that don't havesetup.exein the ISO root. Ifsetup.exeis missing from the root, it automatically detectsinstall.wim/install.esd/install.swminside thesources\folder and launches the installation using WinPE's built-inX:\setup.exewith the/installfrom:parameter - Administrator required — ISO mounting,
wimlib-imagexboot.wim patching, and service management need elevated privileges - ISOs remain permanently mounted — Modified WinPE, Windows Setup, and Linux ISO files are kept bound to hidden folder mount points under
pxe\mnt\by Windows for as long as the server is running. This is required because every time a client requests a file (squashfs, boot.wim, kernel, etc.), the server reads directly from the mounted ISO and serves it instantly over HTTP or WebDAV. If an ISO were unmounted while a client is booting, the connection would be lost and the boot would fail. All ISOs are automatically unmounted when the application is closed and automatically remounted when it is reopened. - Hidden folder mount system — ISO files no longer consume a Windows drive letter (A–Z); each mounted ISO is bound via
diskpartto a hidden NTFS mount point created underpxe\mnt\<folder_name>. This removes any risk of running out of drive letters even with dozens of ISOs mounted at the same time - Linux RAM requirements — see the Linux support table; Ubuntu 24.04+ requires significant RAM
- No Secure Boot for Linux — Linux PXE boot requires Secure Boot disabled; Windows boot works with Secure Boot enabled (signed iPXE EFI)
- No commercial support — this project was built for personal workplace use; issues are welcome but responses are not guaranteed
📜 License & Disclaimer — View LICENSE file
This project was developed by Abdullah ERTÜRK for personal workplace use. It has no commercial purpose.
📄 Full license text: LICENSE
- Free to use, modify, and share for non-commercial purposes
- Attribution required — author name and links must be preserved in source code and UI
- No warranty of any kind is provided
- Official support is not available
- Third-party components (pxesrv, iPXE binaries) are subject to their own licenses
Links:
Developed by Abdullah ERTÜRK
erturk-dev.netlify.app | github.com/abdullah-erturk


