Elkészült az első önálló fejlesztésem PHP alapon.

Igen, lehet azt mondani, hogy nem önálló, mert egy korábbi alkalmazás (smbind) átirata, de ez azért nem teljesen így van. A régi kódból szinte semmi sem maradt, a dizájnból sem, és az adatbázis is teljesen át lett szabva. Ami emlékeztet valamelyest a régire, az csak a menü felépítése.

Tulajdonképpen a két rendszer már nem is kompatibilis. Adatbázis szinten sem, és működésében sem. De, hogy lássuk, mi is ez az alkalmazás...

Mi a cél?

A bind maga egy névkiszolgáló démon, aminek van elsődleges (master) és másodlagos (slave) funkciója. Ez azért kell(het), hogy ha az egyik szerver túlterhelt, vagy nem elérhető, akkor a feladatát átveszi a másik. A két szerver látszólag ugyanúgy működik, mert köztük folyamatos szinkron van, azaz; amit az elsődleges szerveren módosítunk, azt a másodlagos átveszi.

A névkiszolgáló (azaz DNS szerver) feladata, hogy az interneten használt gépneveket IP címmé, és az IP címeket pedig gépnévvé alakítsa. Azaz, ha hivatkozunk a www.akarmi.hu címre, azt egy DNS kiszolgáló fogja kezelni a háttérben.

A bind démon konfigurálása nem bonyolult, de időigényes, és nagy odafigyelést igényel. Vannak hasonló menedzsment felületek, de nekem az smbind a maga egyszerű kezelhetőségével mindig jobban tetszett. Sajnos, a fejlesztője már nem törődik vele, és lássuk be, a korábbi kód és adatbázisszerkezet is hagy némi kívánni valót maga után.

Először csak plusz funkciókat akartam beletenni, de ahogy egyre jobban megismertem a kódot, rájöttem, hogy sokkal jobb, ha nulláról írom újra.

Mi lett belőle?

A maga egyszerűsége és kezelhetősége megmaradt, bár belekerült néhány plusz funkció, amit igyekeztem ugyanabban a szellemben beleépíteni a rendszerbe. Néhány dolgon változtattam is, amit nem is értem, milyen megfontolásból hagyott úgy a fejlesztője, ahogy volt - mivel ellent mond a konfigurációs szintaktikának (pl. az NS, MX és SRV rekordok végén a pont kezelése).

Az alábbi funkciók kerültek javításra

  • Új dizájn (css alapú, és témázható)
  • Új, külön .js függvénygyűjtemény
  • Teljesen különválasztott tartalom (egy .js, egy .css és egy .html rész, átfedés nélkül)
  • Nincs a HTML kódban CSS és JS (kivéve a Google ReCaptcha - ha engedélyezve van)
  • Gyorsbillentyűk használata
  • CSS alapú beágyazott grafikus elemek

Biztonsági módosítások

  • Google ReCaptcha hitelesítési lehetőség
  • Jelszóházirend (JS alapú ellenőrzéssel)
  • A jelszó nem közlekedik a hálózaton (JS alapú HASH képzés)
  • Szigorú belépési és munkamenet ellenőrzés

Új funkciók

  • Elsődleges és másodlagos zónák egyidejű kezelése
  • Zónafájlok előnézeti képe
  • Zónaellenőrzés még az érvényre juttatás előtt (nem közben)
  • A felhasználók csak a saját zónáik változásait tudják érvényre juttatni
  • Az adminisztrátorok mindenki zónájának változásait érvényre tudják juttatni (kivéve a zóna törlését)
  • DNSSEC képesség - automatizáltan, a generált kulcsok biztonsági mentése mellett
    • Roller démon kezelés (automatikus kulcsfrissítéshez)
    • zónák előnézete DNSSEC titkosítással és anélkül is
  • Zónafájlok importja elsődlegesként (fájlból, vágólapról, kiszolgálóról)
  • Másodlagos zónák ellenőrzése zónatranszferrel
  • IDN lehetőség - ékezetes, és különleges karaktereket tartalmazó domének/rekordok kezelése

Az alkalmazás GPL licencelésű, bárki szabadon felhasználhatja, módosíthatja.

Az első, 0.91b jelzésű verzió innen tölthető le - MyOnline GIT/SMBind-ng - az alkalmazás státusza még béta, ezért jelenleg csak tesztkörnyezetben való kipróbálásra javaslom.

Go to top