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. |
🎬 Tanıtım Videoları / Promotional Videos
The voiceover is in Turkish. English subtitles can be enabled on YouTube.
Special thanks to Tayfın 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 | |
| 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)
├── 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) - 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 sanal sürücü olarak mount edilmiş 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.
- Sürücü harfleri — her mount edilen ISO bir Windows sürücü harfi (A–Z) tüketir; tipik kullanımda pratik bir sorun değildir
- 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 | |
| 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)
├── 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) - 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 mounted as virtual drives 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.
- Drive letters — each mounted ISO consumes a Windows drive letter (A–Z limit); practically not an issue for typical deployments
- 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


