Hirdetés

Új hozzászólás Aktív témák

  • -Prometheus-

    tag

    válasz suste #10414 üzenetére

    Na, kicsit kutakodtam még a témában. Az IpDns oldal a PHP_AUTH_USER nevű indexet hiányolja a $_SERVER tömbből. Na most wget-tel sehogy nem tudtam elérni, hogy az kitöltődjön. Csináltam egy dummy PHP scriptet a szerveremen, ami annyit csinál, hogy kiírja ennek, meg a PHP_AUTH_PW-nek az értékét, majd meghívtam wget-tel és curl-lel is.

    Ugye a link így néz ki:
    http://nev:jelszo@update.ipdns.hu/update?hostname=domain.ipdns.hu&myip=0.0.0.0

    Ez wget-tel semmilyen formában nem működött, akkor se, ha így hívtam:
    wget "http://update.ipdns.hu/update?hostname=domain.ipdns.hu&myip=0.0.0.0" --user=nev --password=jelszo

    Aztán gondoltam egyet és kiírattam a request header-öket is. Mint kiderült, az a jelentős különbség a wget és a curl hívása között, hogy előbbi nem küld Authorization header-t, utóbbi viszont igen.

    Közben rátaláltam erre:
    https://bugzilla.redhat.com/show_bug.cgi?id=446949
    Eszerint 1.11-es verzió óta alapértelmezésként nem küld Authorization header-t a wget, viszont bevezettek egy opciót, ami visszahozza az azelőtti működést.
    Ubuntu alatt kipróbáltam, --auth-no-challenge opcióval tényleg működik a dolog, az IpDns URL-lel is. Ugyanez vonatkozik a teljes értékű wget csomagra. Sajnos a BusyBox-ba épített wget-nél viszont nincs ilyen opció (legalábbis nálam).

    A dynamic_dns_functions.sh-ban nálam (továbbra is LEDE, ddns-scripts 2.7.6-12) a wget elérési útja which-csel van lekérve, ami /bin/wget lesz, ha nincs telepítve külön wget csomag, viszont /usr/bin/wget, ha igen (azaz a különálló wget-et fogja használni ez is, ha telepítve van). Így itt megoldást jelentene, ha lenne egy olyan lehetőség a ddns-scripts-ben, hogy megadhassunk paramétereket, amiket ő továbbítana a wget-nek. Onnantól már csak telepíteni kellene a teljes értékű wget csomagot (már ha valaki mindenképp ragaszkodik a wget-hez a curl-lel szemben). :)

    TL;DR: Akinél wget-tel is megy, annak valószínűleg 1.11-nél korábbi verziója van, mindenki másnak telepítenie kell a curl-t, hogy működjön. Hacsak nem siklottam el további fontos részletek felett. :)

    [ Szerkesztve ]

Új hozzászólás Aktív témák