Youtube frontend

Lehet szidni a Flash-t (van is miért), de amióta a youtube végleg dobta, azóta - legalábbis számomra - tökéletesen használhatatlanná vált.

A HTML5-ös video tag még rendben lenne, végülis mindegy, hogy melyik libet hívogatja a böngésző a lejátszáshoz, de az a borzasztó dzsuvaszkriptes szeméthegy, amit körészartak, na az az, ami miatt teljesen használhatatlan az egész; tele idegesítő, a kutyának nem kellő "feature"-ökkel (pl. auto videováltó, ami mindig visszakapcsol, hiába tiltod le), görgetésre betöltődő plusz tartalom, amit a franc se kért, tracking, reklámok (tudom, ezeket ki lehet blokkolni, de akkor is) és ráadásul megeszi a gépet reggelire. A legjobb megoldás persze a JS teljes tiltása a tecső felületén - amíg a videók Flash-ből mentek, ezt is csináltam, de a HTML5-ös felület letiltott JS-sel meg se moccan.

Ennek a szerencsétlen helyzetnek a felszámolására írtam magamnak egy kis youtube frontendet, amivel a böngészőhöz hasonló módon navigálni a tecsőn, a videólejátszást pedig külső videólejátszó segítségével (pl. MPV, VLC, vagy ami tetszik) csinálja a program.

Ugyanúgy lehet benne keresni mint a tecsőn

A program a tecsőn összeállított playlisteket is kezeli

de van lehetőség saját offline lejátszólisták összeállítására is.

Tud könyvjelzőket

előzményeket és a bezárt tabok listáját

és feketelistát is.

Meg még pár dolgot (pl. le is tudja tölteni a videót a youtube-dl segítségével), de ezek a manualban le vannak írva, ami elérhető itt: http://oscomp.hu/ytfeman/
A manual kicsit szájbarágósra sikerült, de nem az erősségem a manualok írása, meg amúgy is hajnal volt már...

A program egyébként többféle lejátszót is tud egyszerre "üzemeltetni"

aminek összesen tíz oka van:
- Van videó ami az egyik lejátszóban nem akar menni, a másikban meg igen.
- Ugyanazt a lejátszót többféleképpen is fel lehet paraméterezni, pl. csinál az ember egy olyan entry-t, hogy simán játtsza le, meg olyat, hogy indulás után húzzon el a brébe a háttérbe. Vagy akármi.

Egyelőre háromfélét forgattam:
- FreeBSD - AMD64
- Linux - AMD64
- Solaris 10 - AMD64

Ezek mind GTK2-es widgetsetet igényelnek, de ha valaki kéri, forgathatok Qt4-est is. Motif userektől megasorry, de a Lazarus nem támogatja.

Akartam forgatni OSX-es verziót is, de a programnak 1.6-os Lazarus kell és legnagyobb bánatomra Snow Leopardon a Lazarus 1.4.4 az utolsó ami működik, ha újabbat rakok fel, akkor megdöglik a fárasba mindenféle kriptikus hibaüzenettel, miszerint invalid instruction mnemonic 'fistpq' és senki sem tudja, hogy mitől van ez, de azért be van írva a wikibe, hogy támogatott. Az én 2006-os MacMinimre meg nem megy fel újabb OSX...meg nincs is újabb OSX-em, legalábbis jogtiszta nincsen, csak a PPC-s Tiger, meg a Snow Leopard. (Apropó Tiger, akartam forgatni arra is, de azt meg végképp eldobták már az 1.2.4-nél, a cross-compiling meg a fentebbiek miatt ugye nem igazán megy.)
Próbáltam VirtualBox-ban életre lehelni egy High Sierrát, de fel sem bootolt a telepítő ISO. Majd valahonnan szerzek valami kimustrált Apple vasat, meg valami újabb OSX-et.

A többi oprendszerre/architektúrára kb. majd akkor, ha kéri valaki (és megoldható).

A program ugyan készen van, de rajtam kívül senki sem tesztelte, tehát ez egy ilyen egypontnulla béna verzió, expect bugz. (And report plz.)

Most hirtelen több baromság nem jut eszembe. Használjátok egész seggel, ha valakit érdekel.

Hozzászólások

AndroidTV ? :)

vmplayer vagy esxi OSX ala es unlocker. Kb ennyi az egesz. Esetleg cpu feateket keell engedelyezni. Mojave szepen megy nekem.

> AndroidTV ? :)

Nincs a közelemben droidos cucc. Egyébként is, ezt nem a google szállítja? Mert akkor gondolom a tracking meg a reklámok ugyanúgy ott vannak benne.

> vmplayer vagy esxi OSX ala es unlocker. Kb ennyi az egesz. Esetleg cpu feateket keell engedelyezni. Mojave szepen megy nekem.

intel vagy AMD CPU-d van?

Köszönet érte, kiváló lett!

Cool! Épp ilyenről kezdtem én is álmodozni, ahogy a reklámblokkolók elkezdtek gyengén teljesíteni.

Kipróbálom.

Hogy működik belül? Valami meglévő cuccra épül a stream letöltés, vagy megcsináltad a teljes API-t? Ha a yt változtat a saját API-jain, azt fogod tudni követni?

Sauce? Soruce kód van, lesz? Licensz Free Szoftveres lesz?

A letöltős weboldalt jó lenne https-re tenni, hogy ne kelljen MITM-től tartani letöltéskor. Vagy valami megbízhatónak tűnő helyre feltenni SHA summát.

Szerk.: kipróbáltam, a keresés kiválóan működik, de a lehátszást nem sikerült működésre bírnom még. A play gombra kattintva a VLC elindul, de Playlist is currently empty-vel.

Hibajelentések:
* Prefs ablak
** átméretezése nem működik
** Validáció csak save-re tünteti el a pirosat - akár azonnal is működhetne amint jó a fájlnév
* Lejátszás valamiért nem működik, de nem derül ki miért
** Logolhatná a kiadott parancsokat, akkor ki tudnám silabizálni mi a probléma

> Cool! Épp ilyenről kezdtem én is álmodozni, ahogy a reklámblokkolók elkezdtek gyengén teljesíteni.

Thx, ezek szerint jókor jöttem ki vele. :)

> Hogy működik belül? Valami meglévő cuccra épül a stream letöltés, vagy megcsináltad a teljes API-t? Ha a yt változtat a saját API-jain, azt fogod tudni követni?

Egyszerű HTTPS GET-eket ad ki a program, a kapott HTML-lel dolgozik. Írtam egy HTML interpreter unitot ami felépíti a node-tree-t, aztán abban a különféle attribútumok alapján keresi ki a szükséges részeket. Ennek megfelelően nekem a yt nem tud semmiféle API-val keresztbe tenni, mert amíg a böngészők tudják használni, addig én is.

> Sauce? Soruce kód van, lesz? Licensz Free Szoftveres lesz?

Nincs se source, se license. A cucc simán freeware.

> A letöltős weboldalt jó lenne https-re tenni, hogy ne kelljen MITM-től tartani letöltéskor.

Akkor írd be elé a https://-t...

> Vagy valami megbízhatónak tűnő helyre feltenni SHA summát.

Oké, ennek még van is értelme, ha sérülne az archívum. Elérhető itt: http://oscomp.hu/ytfe_dl/sha1sums.txt

> Szerk.: kipróbáltam, a keresés kiválóan működik, de a lehátszást nem sikerült működésre bírnom még. A play gombra kattintva a VLC elindul, de Playlist is currently empty-vel.

Látatlanban az volna a tippem, hogy így néz ki nálad a player CMD sor: /path/to/vlc és nincs a végén a {URL} placeholder: /path/to/vlc {URL}
A manualban bővebben is ki van fejtve, de ennyi a lényeg.

> * Prefs ablak
> ** átméretezése nem működik

Az egy fix méretű ablak, nincs értelme átméretezni.

> ** Validáció csak save-re tünteti el a pirosat - akár azonnal is működhetne amint jó a fájlnév

Ez igaz, működhetne úgy is. De ez feature request, nem bug. :)

> * Lejátszás valamiért nem működik, de nem derül ki miért

Ld. fentebb, szerintem a placeholder hiánya miatt.

> ** Logolhatná a kiadott parancsokat, akkor ki tudnám silabizálni mi a probléma

Van benne logger, de alapból ki van kapcsolva. Bekapcsolása: touch ~/.ytfe/dolog Ekkor a /var/log/ytfe.log elérés alatt lesz elérhető a log. Erről viszont azt kell tudni, hogy nekem kellett a debughoz, szóval nem biztos, hogy minden érthető lesz benne; pastebin vagy email, majd kisilabizálom.

Még egy kicsit bénáztam vele, mert se az mpv, se a VLC nem tudott youtube linket lejátszani OOB hiba nélkül. Mármint nálam, mert úgy tűnik régi vagy hiányos volt a rendszerem.

Az mpv egyébként belül youtube-dl-t használ, és azzal működésre tudtam bírni, csak annyi volt trükk, hogy ő viszont csak path-on elérhető módon tudja indítani, úgyhogy globálisan kellett telepítenem a youtube-dl-t. Így már mpv-vel működik! Wow!

Köszi!

Főleg a családi gépre lesz fontos, mert szoktunk a gyerekekkel zenét hallgatni netről, de semmiképp sem akarom, hogy reklámokat lássanak még véletlenül se!

(A loggoláshoz gonodlom be kellene állítanom, hogy a useremnek legyen írási joga a /var/log-ra, ugye? Mert nem jelent meg ott semmi. Viszont hibaüzenet sincsen, hogy nincs jogom oda írni, pedig:

$ touch /var/log/ytfe.log
touch: cannot touch '/var/log/ytfe.log': Permission denied)

> Még egy kicsit bénáztam vele, mert se az mpv, se a VLC nem tudott youtube linket lejátszani OOB hiba nélkül. Mármint nálam, mert úgy tűnik régi vagy hiányos volt a rendszerem.

Pedig VLC 2.2-vel még ment alapból. 3-assal nem próbáltam, egy nap után kukásítottam. Mondjuk amúgy is mpv-t használok hozzá, de a tesztek alatt a VLC is vitte.

> Köszi!
>
> Főleg a családi gépre lesz fontos, mert szoktunk a gyerekekkel zenét hallgatni netről,
> de semmiképp sem akarom, hogy reklámokat lássanak még véletlenül se!

Szívesen. Na igen, reklámot azt tényleg nem kéne, így is érni fogja őket elég degeneráltságra ösztönző hatás... :/

> A loggoláshoz gonodlom be kellene állítanom, hogy a useremnek legyen írási joga a /var/log-ra, ugye?

Nyilván a /var/log az nem árt, ha írható, ha a programot nem rootként használod. Hibaüzenetet nem raktam bele, mert a loggolás nekem volt a debughoz, én meg rootként használom.

Csak abban nem voltam biztos, hogy esetleg nem-e valami szolgáltatáson keresztül loggol-e. Majd hozzáadom magam a syslog grouphoz, ha kelleni fog log.

Ez van fenn nálam (Ubuntu 18.04 defaultja):
$ vlc --version
VLC media player 3.0.4 Vetinari (revision 3.0.4-0-gf615db6332)

Ezek is a weboldalt parszolva működnek, és sajnos időnként el szoktak törni...

Drukkolok, hogy a te programod ne törjön el, de nem vennék rá mérget a helyedben, hogy nem fog...

Ezért érdemes youtube-dl-re építeni mindent amit lehet, mert azt mások karbantartják.

Az mpv eddig jól muzsikál, de volt már olyan kodek, amit nem ismert, és azért nem indult el a lejátszás. Gondolom telepíteni kellene, vagy ilyesmi.

Ami még nagyon hasznos volna nekem, az a csak soundtrack lejátszás funkció a video ignorálásával. Ugyanis otthon a gyerekeknek a mozgókép tilos. Eddig úgy szoktuk használni, hogy kinyitjuk a zenét vagy mesét és egy új tabot nyitunk, hogy a videó ne látszódjon. (A sávszélesség miatt sem volna mindegy, ha működne úgy, hogy csak az audiót szedegeti le.)

> Csak abban nem voltam biztos, hogy esetleg nem-e valami szolgáltatáson keresztül loggol-e.

Miért használnék külön szolgáltatást egy sima textfile-hoz?

> Ezek is a weboldalt parszolva működnek, és sajnos időnként el szoktak törni...
>
> Drukkolok, hogy a te programod ne törjön el, de nem vennék rá mérget a helyedben, hogy nem fog...

Köszi, de ne aggódj, ha a tecső valamit átállít a HTML szerkezetben, vagy az attribútumok neveiben, amik alapján kibányászom az adatokat, akkor az azonnal fel fog tűnni és frissítem a programot.

> Ezért érdemes youtube-dl-re építeni mindent amit lehet, mert azt mások karbantartják.

Nem értek egyet. Szerintem is hasznos dolog a youtube-dl, de én nem szeretek bedrótozni dolgokat, pláne nem a másét. Ezért is a szabadon variálható playerlista, meg a custom downloader. Ha holnap a kugli agykereke fordul egyet és nekimegy a youtube-dl projektnek, akkor mindenki, aki arra támaszkodott, az meg fogja szívni.

> Az mpv eddig jól muzsikál, de volt már olyan kodek, amit nem ismert, és azért nem indult el a lejátszás. Gondolom telepíteni kellene, vagy ilyesmi.

Hát ha azt mondja, hogy nem ismeri a kodeket, akkor nyilván telepíteni kell. :)

> Ami még nagyon hasznos volna nekem, az a csak soundtrack lejátszás funkció a video ignorálásával.
> Ugyanis otthon a gyerekeknek a mozgókép tilos. Eddig úgy szoktuk használni, hogy kinyitjuk a zenét vagy mesét
> és egy új tabot nyitunk, hogy a videó ne látszódjon. (A sávszélesség miatt sem volna mindegy,
> ha működne úgy, hogy csak az audiót szedegeti le.)

Igen, ezért csináltam meg úgy, hogy lehessen több playert használni, mert ebben az is benne van, hogy ugyanazt a playert paraméterezed fel többféleképpen, ha pl. csak zenét akarsz hallgatni, stb.

> Miért használnék külön szolgáltatást egy sima textfile-hoz?

Manapság divat :-). De közben rájöttem hogy te éppenséggel nem vagy divatmajmoló típus...

> Hát ha azt mondja, hogy nem ismeri a kodeket, akkor nyilván telepíteni kell. :)

Nem biztos. A youtube-dl lekérdezi, hogy milyen streamek állnak rendelkezésre, és valahogy paraméterezhető, hogy melyiket válassza. Lehet, hogy be lehet állítani valahogy, hogy olyat válasszon, amihez van kodek. A böngészőkben sincs mindben minden kodek, ott is van egyeztetés.

> Igen, ezért csináltam meg úgy, hogy lehessen több playert használni, mert ebben az is benne van, hogy ugyanazt a playert paraméterezed fel többféleképpen, ha pl. csak zenét akarsz hallgatni, stb.

Ez jogos, ezt benéztem. Van tipped ilyen kommandra, amivel csak audiót játszik? Pláne úgy volna szép, ha a videó sztreamet le sem szedné.

> Manapság divat :-). De közben rájöttem hogy te éppenséggel nem vagy divatmajmoló típus...

Divatellenes sem. Én azt nézem, hogy valami célszerű-e és nem zavar, hogy ez most épp divat-e, vagy "ciki". De ennek IMHO semmi értelme nem lenne.

> Nem biztos. A youtube-dl lekérdezi, hogy milyen streamek állnak rendelkezésre,
> és valahogy paraméterezhető, hogy melyiket válassza. Lehet, hogy be lehet állítani
> valahogy, hogy olyat válasszon, amihez van kodek. A böngészőkben sincs mindben minden kodek,
> ott is van egyeztetés.

Ennek érdemes utánanézni, thx a tippet. Ha összeszedtem, hogy hogy lehet ezt paraméterezni, akkor kitalálom, hogy hogyan lehet ezt használni.

> Van tipped ilyen kommandra, amivel csak audiót játszik? Pláne úgy volna szép, ha a videó sztreamet le sem szedné.

Az mpv/youtube-dl kombó tud ilyet: mpv --no-video

A VLC tud olyat, hogy nem játszik videót vlc --vout none , de hogy ekkor le sem szedi-e a videót, azt nem tudom.

Ket otlet:
- Erdemes lehetne betartani az XDG ajanlasokat a konfig, cache es egyebekt tarolasa kapcsan, nevezetesen a ~/.config, ~/.cache es ~/.local mappakba szetdobni a megfelelo tartalmat (legalabbis Linuxon). Konnyebb kivalasztani, mit kell backupolni a profilombol, mint egy alkalmazas mindenfele szemetet lementeni. Mar anno a Firefox eseten is utaltam, hogy a cache fajlokat a profilmappa alatt tarolta, es baromira orultem, mikor vegre elkezdtek ok is a .cache ala tenni a szemetet.
- A /var/log/ytfe.log helyett logolhatna a ~/.ytfe/debug.log vagy a .local/share/ytfe/debug.log ala, hogy ne kelljen feltetelezni a syslog csoport tagsagog / root jogot, mert 99.9%-ban nem rootkent fog futni.
--
Blog | @hron84

Nem igazán érdekelnek a freedesktop ajánlások, ez nem egy Linux-only szoftver.
A cache egyébként átállítható máshova, de nem véletlenül a /tmp/ytfe a default, a /tmp-t azt illik másik partícióra tenni és nem a rendszerlemezt, vagy az user könyvtárát teleszórni szarral, hogy fogyjon a hely. (Nekem pl. a /tmp az RAM disken van.)
A logfájlt is lehet, hogy relokálhatóvá teszem, meg felületből ki-be kapcsolhatóvá.

Mondjuk XDG kapcsán annyit megtehetek, hogy leellenőrzi, hogy a ~/.ytfe és ~/.config/ytfe útvonalak közül melyik létezik és azt használja.

Hmm, en ezt az automata videovaltos dolgot nem ertem. En bejelentkezve hasznalom a YouTube feluletet, de bongeszonkent csak egyszer kell kikapcsolni ezt a feature-t (sutiben jegyzi meg, nem profilhoz koti, hogy pl TV-n azert ez mukodjon, mert ott meg kell). Egyedul playlisteknel nem lehet kikapcsolni, mert kivettek a kapcsolodo csuszkat a feluletbol.

Vagyis, ha takaritasnal vigyazol, hogy csak a cachelt szemetet torolje, de a sutiket ne, akkor elmeletileg nem kapcsolodhat vissza ez a feature soha.
--
Blog | @hron84

> Akkor ne csodálkozz, hogy visszaállítódik alaphelyzetbe a gomb. :D

Ki mondta, hogy csodálkozok? Én csak megállapítottam, hogy visszaáll.

> Miért nem?

Mert előmásznak az orosz nindzsák a sloziból és répát dugnak az 1571-esbe.

> Ne félj, ne hívogatnak, hogy akarsz-e biztosítást.

Nem érdekel, mit akarnak vele; gúgülnek személyes adatot sose. (Meg persze egyetlen másik amcsi multinak se.)

Nem kell feltetlen telefonszam, ugy tudom, ha van recovery email az eleg. Kulonben meg, adj meg neki valami random vezetekes telefonszamot, akar nem letezot is, nem ellenorzik, csak es kizarolag a password recoveryhez kell.

Ez annyira igy van, hogy ha jol emlekszem, valamelyik szolgaltatasba regen kulon kellett bekonfiguralni az ertesitos telefonszamot, mert nem vette fel a Gmail profilombol.
--
Blog | @hron84

De, ellenőrzik. Olyannyira ellenőrzik, hogy arra küldik az érvényesítő kódot SMS-ben, tehát a vezetékes teflon nem is jó.

Ugyan vannak olyan eldobható SMS accountos oldalak, hogy bereggelsz, kapsz egy telefonszámot, meg egy fiókot, ami kilépéskor törlődik és oda fogadhatsz SMS-t, csakhogy nézik az IP-t, meg a telefonszámot, hogy ugyanahhoz az országhoz tartozik-e. Tehát magyar címről brazil telefonszámmal nem is fog menni. Ugyan van Anonymox, ami tud holland, brit meg amcsi IP-ket, de az ezekhez az országokhoz tartozó kamutelefonszámok nagy részét már elhasználták mások és nem lehet velük regisztrálni. Egyébként szűrik is az ilyen jellegű telefonszámokat.

Gaygle == nagytestvér.

Hat nem tudom, elnezve a tobbi videonezegetos oldalt, meg a YouTube a legjobb. Nem mondom, hogy magasan van a lec ujabban, de tobb oldalnak pl problemat okoz a szokoz leutesere megallitani a videot, vagy kattintasra hasonlot csinalni. Az ajanlorendszer egy szemetdomb tud lenni, de a Feliratkozasok / Elozmenyek menu tok jol hasznalhato, ilyen kellene tobb oldalra is.
--
Blog | @hron84

feliratkozás

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Gondoltam, megnézem, mit tud a program, de nem sikerült használni.

Megjelenik egy ablak a felső gombsorral, és alatta egy csúszka.

Ha az URL gombra kattintok, majd beírok egy Youtube linket, egy fülön megjelenik a "Loading..." felirat, majd ez rövid időn belül átvált "Failed to load." feliratra.

Mindezt Debian 9 alatt.
Hiányozna valamelyik library neki?

Ha hiányozna neki valami lib, akkor el se indulna. Próbáld meg azt, hogy a "+" jelre kattintasz, majd beírod a keresősávba, hogy mit szeretnél keresni. Ha az is failed to load, akkor ott valami egyéb gáz van, pl. tűzfal, vagy a jóég tudja.

Amúgy van manual, ha a program valamelyik részével nem egyértelmű, hogy mit kell csinálni: http://oscomp.hu/ytfeman/

A "+" jelre kattintva a főablak kiegészült egy fehér sávval, ide beírtam egy youtube címet (ugye copy/paste alapon kellene működjön?), de ugyanezt csinálta.

Tűzfal csak bejövő kapcsolatokra van beállítva, kimenni tudnia kellene.
Esetleg valamelyik library régebbi lenne az aktuális stable Debian rendszeren?

Nem. Oda a keresőkifejezést kell beírni, nem youtube címet. Azt az Open URLs alá kell. Olvasd el a manualt.

Ki van csukva, Devuan 2-est használok, ami Debian 9 alapú és nálam megy. Nem tudom mi baja lehet. Hacsak nem az, hogy a cache nem írható. Nyisd ki a Prefset és nézd meg, hogy tudja-e írni a cache-t (Save gomb).
Ha igen, akkor kéne csinálni egy olyat, hogy touch ~/.ytfe/dolog, meg írhatóvá tenni a /var/log könyvtárat, aztán megpróbálni betölteni egy keresést, vagy videót. Utána pastebinre a /var/log/ytfe.log fájllal, vagy küldd el emailbe (técéhá [karikásabetű] protonmél [ponty] kom).

Hát az SSL pedig rendben inicializálódott, mert különben 2-es visszatérést kaptunk volna. A GET és a TM is rendben létrejöttek, egyik sem nil, úgyhogy nem értem mi okoz nálad access violationt. Még azt megpróbálhatjuk, hogy mi a kivétel "hosszú üzenete", hátha abba több érdemi infó lesz. http://oscomp.hu/depot/ytfe-linux-amd64-test

Magyarán a teljes üzenet kb. ugyanazt írta ki, amit én a típusból, meg az rövid üzenetből raktam össze, remek...

Itt van egy forrásfájl: http://oscomp.hu/depot/testhttps.pas
Ezt le tudnád forgatni FreePascallal? (3.0.4-essel: ftp://ftp.hu.freepascal.org/pub/fpc/dist/3.0.4/x86_64-linux/fpc-3.0.4.x86_64-linux.tar)
fpc -O3 -CX -Xs -XX testhttps.pas
Kiváncsi vagyok, hogy megy-e.

Ill. feltöltöttem újra a binárist, de most csak -O2-vel forgatva: http://oscomp.hu/depot/ytfe-linux-amd64-test

Úgy látom, azonos a log.

Lefordítottam a forrást:
Exception: EAccessViolation: Access violation
GET failed. Response code: 0

Lehet, hogy más verziót talál a libssl-ből, mint, amire szüksége lenne?

...mondjuk...

ldd testhttps
linux-vdso.so.1 (0x00007fffde5de000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fddce368000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fddcdfc9000)
/lib64/ld-linux-x86-64.so.2 (0x00007fddce56c000)

Gyanús is volt, hogy ldd nem listázta. :)

Most is ugyanazt látom.

A programot különböző kapcsolókkal fordítva ugyanazt a hibaüzenetet kaptam.
Fájlméret azonos marad, bináris különbözik, hibaüzenet változatlan.

Szerk.:
Más weboldalnál is ugyanez a hiba https esetén.
Szimpla http-nél viszont "GET OK." a válasz...

Egy "kicsit" régi, de amúgy itt is valami hasonló hibába futottak bele anno.

Úgy látom, ugyanaz a helyzet.

Ennél a kódnál is Access Violation-t kapok https esetén, mindkét hívással... sima http hívás esetén viszont ez is működik:

program testhttps;

{$mode objfpc}{$H+}

uses fphttpclient;

Var
S : String;

begin
With TFPHttpClient.Create(Nil) do
try
// S := Get(ParamStr(1));
S := TFPCustomHTTPClient.SimpleGet(ParamStr(1));
finally
Free;
end;
Writeln('Got : ',S);
end.

Szerk.:

Nálad ldd mit ír a testhttps-re?

linux-vdso.so.1 (0x00007ffc99e59000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa116a6b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa1166cc000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa116c6f000)

linux-vdso.so.1 (0x00007ffd26195000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb853dcb000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb853a2b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb853fd3000)

Ugyanaz, mint nálad.

Amúgy ha a http megy, a https meg nem, akkor nyilván a beépített SSL unitban kellene keresni a hibát, csak gőzöm sincs hol. Gondolkoztam rajta, hogy esetleg az utasításkészlet miatt lehet baj, de nem valószínű, mert egyrészt default amd64-gyel forgattam, másrészt meg nálad az is elcrashel amit te forgattál helyben.

Ez vagy compiler bug, vagy a beépített SSL lib bugja.
Tudnál itt regisztrálni és nyitni egy topicot? http://forum.lazarus-ide.org/
Aztán szerintem folytathatjuk ott, mert egyfelől ott nálam kompetensebbek is vannak és hátha lesz ötletük, másfelől meg azt sikerült kizárni, hogy a bug konkrétan az én programomban lenne.

Valahol ott lesz, kérdés, hogy mivel van gond... esetleg meg lehetne nézni még egy i386-os binárist (nem tudom, miként lehetne fordítani), esetleg másik kernellel.

Lehet, sérült valamelyik library, bár akkor nem tudom, minden más miért működik.
Ha i386-ra fordítva sem működik, akkor valami generálisabb dolog lehet a háttérben.

Letöltöttem egy VirtualBox-hoz készült Debian 9 image-et, azon elindult.
Más kérdés, hogy az meg virtualizálva futott...

Lehet, regisztrálok valamikor, bár egy jó ideje nem foglalkoztam Pascallal, ez meg kicsit okosabb lett már azóta. :)

> Valahol ott lesz, kérdés, hogy mivel van gond... esetleg meg lehetne nézni még egy i386-os binárist (nem tudom, miként lehetne fordítani), esetleg másik kernellel.

Kernelhez ennek nincs köze. 32-bitest azt forgathatunk:

Először is le kéne csekkolni, hogy megvannak-e a szükséges build eszközök:

which i386-linux-ld
which i386-linux-as

Ha nincsenek, telepíteni kell (vagy megírni, semmi extra, csak két egysoros script ahol az as meg az ld van meghívva --32 ill. -A elf32-i386 paraméterekkel).

Aztán fel kéne rakni az FPC forrását:

wget https://netcologne.dl.sourceforge.net/project/freepascal/Source/3.0.4/fpc-3.0.4.source.zip
unzip fpc-3.0.4.source.zip
rm fpc-3.0.4.source.zip
mkdir -p /usr/share/fpcsrc
mv fpc-3.0.4 /usr/share/fpcsrc/3.0.4

Utána le kell buildelni a crosscompile-hoz szükséges cuccokat:

cd /usr/share/fpcsrc/3.0.4
make all CPU_TARGET=i386
make crossinstall CPU_TARGET=i386 INSTALL_PREFIX=/usr

Ha nem akar működni, akkor szerkeszteni kell az /etc/fpc.cfg-t és megkeresni benne azt a részt, hogy "#ifdef cpui386" és oda beszúrni alá, hogy "-Fl/usr/lib32".

Utána ugyanúgy lehet a tesztprogramot fordítani, csak épp nem fpc-vel, hanem ppc386-tal.

> Lehet, sérült valamelyik library, bár akkor nem tudom, minden más miért működik.

Az SSL pusztul el, az meg bundled. Nincs a libraryknak semmi baja, működik a rendszered.

> Letöltöttem egy VirtualBox-hoz készült Debian 9 image-et, azon elindult.
> Más kérdés, hogy az meg virtualizálva futott...

Hát nem tudom, hogy az mennyire játszhat közre. Bár, ha mégis CPU utasításkészlet-probléma, akkor nyilván. Milyen CPU-d van?

> Lehet, regisztrálok valamikor, bár egy jó ideje nem foglalkoztam Pascallal, ez meg kicsit okosabb lett már azóta. :)

Nem baj, legalább megint belejössz. :) Mindenesetre én így többet nem nagyon tudok érdemben hozzátenni, mert nemcsak, hogy nálam, de másnál sem jött elő a probléma és mivel egy a programtól teljesen független és forrásból helyileg forgatott program is azonos eredménnyel pusztul el nálad, így a baj nem a programban van, hanem vagy a fordítóban, vagy a bundled lib-ben. Nem az én szintem, sajnos. :(

Kérdés, hogy hol hasal el - valamelyik library-n keresztül azért nyilván csinál hívásokat a rendszer felé.

Ez egy Dell Latitude E6530-as noti i7-3612QM procival és 16GB RAM-mal szerelve.

Tulajdonképpen még meg lehetne nézni chroot alól is... ha onnan sem megy, akkor...

Nem tudom, mikor szánom rá magam - nem sok időm van belemélyedni...
Mostanság főként C van porondon (pillanatnyilag egy STM32 USB-je).

> Kérdés, hogy hol hasal el - valamelyik library-n keresztül azért nyilván csinál hívásokat a rendszer felé.

Igen, de ugyanazokat a hívásokat csinálja mindkét esetben; az SSL "belül" van és ha csak a HTTPS pusztul el, akkor ott lesz a baj, szerintem.

> Ez egy Dell Latitude E6530-as noti i7-3612QM procival és 16GB RAM-mal szerelve.

A Lazarus vagy Athlon64 vagy "default" típust enged x86_64 esetén, i7-hez nem kínál opciót.

> Tulajdonképpen még meg lehetne nézni chroot alól is...

Csinálnál neki valami sandboxolt környezetet? Vagy hova akarsz bechrootolni?

> Nem tudom, mikor szánom rá magam - nem sok időm van belemélyedni...
> Mostanság főként C van porondon (pillanatnyilag egy STM32 USB-je).

Ok, thx az eddigi tesztelést.

> Igen, de ugyanazokat a hívásokat csinálja mindkét esetben; az SSL "belül" van és ha csak a HTTPS pusztul el, akkor ott lesz a baj, szerintem.

Igen, a HTTPS-en belül fut hibára, kérdés annak a háttérműködése.

> Csinálnál neki valami sandboxolt környezetet? Vagy hova akarsz bechrootolni?

Első körben arra gondoltam, hogy van egy VirtualBox image-em, ami alól elindul.
Úgy látom, ebből viszonylag könnyen lehet nyers formátumot csinálni, amit viszont fel tudok csatolni a rendszeremből.
Gyakorlatilag ilyen úton chroot-tal be tudok lépne erre a rendszerre és le tudom futtatni natívan is a programot úgy, hogy ne a saját rendszerem library-jait használja.

Ha így működik, esetleg debootstrap-pel is fel lehetne húzni - kideríteni, milyen csomagokat kell feltenni, hogy működjön, ill. fájlszintű összehasonlítást végezni a meghívott library-knél.
Ha nem működik, akkor még mindig érdekes lehet a másik kernel, ill. ugyanezt a megoldást kipróbálni egy másik gépen --> eltérő CPU generációval (ami nem Ivy Bridge), esetleg nem is Intel.

Ez utóbbi (CPU-val vagy CPU-családdal kapcsolatos jelenség) viszonylag gyorsan kiderülhet akár Knoppix alól indítva a programot ugyanezen a gépen - ha itt sem működik, ugyanezen a Knoppixon megpróbálni másik gépen is, stb. :)

Pro:
- A keresés sorrendezhető, meg megadható a találatok száma
- Tud keresni csatornákon is
- Meg tudja jeleníteni a kommenteket is
- Állítható, hogy mekkora felbontással játssza le a videót

Kontra:
- Csak egy tabod van, nem tudsz rendesen navigálni
- Iszonyú kényelmetlen a videóplayerek beállítása, kézzel kell konfig-tömb listákat írni
- Direkt youtube URL-t nem tud megnyitni
- Nincsenek előzmények
- Nincs feketelista
- A saját playlist kezelése rettenetes:
   * Ignorálja, hogy milyen playert állítottál be, azzal játtsza le, amivel ő akarja
   * Nem tudod szerkeszteni a playlistedet, csak felveszegetni bele
   * Nincs playlist import/export
- A yt playlistet sem tudja külön kezelni, hanem kinyitja, mintha keresési eredmény lenne
- Nincs rendes könyvjelzőzés, csak valami "save to favorites", ami nem tudni hova menti a "kedvencelt" videót
- A website tanúsága alapján a cucc Linux only

Szubjektív kontra:
- A kezelése eltér a youtube-étól, így nem olyan intuitív, szokni kell, meg kényelmetlenebb is

kösz az összefoglalót.
bocs h én nem tudtam kipróbalni még a tiedet.

néhány kontrára válaszolva:

- "videóplayerek beállítása" – ezeket auto konfigolja első indításkor: vlc, mplayer, smplayer, mpv. neked nem működött?
- "Direkt youtube URL" – a kereső mezőbe "https://youtube.com/watch?v=..." vagy a 11 karakteres ID-t beírva kiadja a hivatkozott videót
- "előzmények" – keresési előzmény + suggestion van, a watch history-t én is hiányoltam, ezért megírtam saját forkban (https://github.com/bAndie91/youtube-viewer/tree/yazzy). a mainline-ba azért nincs benne mert sztem integrálni akarják a youtube saját watch history feature-jét, viszont ahhoz a yt nem nyújt api-t.
- "playlist" – javarészt egyetértek. ez a félkész feature azért lehet, mert erre a konzolos

youtube-viewer

-t hívja meg, tehát nem maga a gtk-youtube-viewer intézi, és nem teljes az "egyetértés" a két progi közt. meg olykor reseteli is a playlistet...
- a "Favorite" az a youtube account-od Favorites playlist-jébe ment. viszont csatornákat tud könyvjelzőzni lokálban.

kényelmetlenség valóban szubjektív, mert nekem speciel kényelmesebb, már csak azért is reszponzívabb mint cpu-leolvasztó youtube oldalak, még akkor is amikor az egy szálon végzett hálózati műveletek miatt a gtk main loop is megakad egy picit. vagy picit többet :)

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

> - "videóplayerek beállítása" – ezeket auto konfigolja első indításkor: vlc, mplayer, smplayer, mpv. neked nem működött?

Működni működött, de én nem is azt mondtam, hogy nem működik, hanem, hogy rettentő kényelmetlen összerakni; nem entry-k és az ahhoz kapcsolódó mezők vannak, hanem írj kézzel Perl tömböket...

> - "Direkt youtube URL" – a kereső mezőbe "https://youtube.com/watch?v=..." vagy a 11 karakteres ID-t beírva kiadja a hivatkozott videót

Hát erre nem jöttem rá, asszem ebből is látszik mennyire intuitív. Az enyém amúgy nem egy linket tud megnyitni, hanem amennyit bemásolsz a listába. (http://oscomp.hu/ytfeman/img/open_urls.png) Keresést, playlistet vagy videót. Csatornát az enyém nem tud.

> - "előzmények" – keresési előzmény + suggestion van, a watch history-t én is hiányoltam, ezért megírtam saját forkban (https://github.com/bAndie91/youtube-viewer/tree/yazzy). a mainline-ba azért nincs benne mert sztem integrálni akarják a youtube saját watch history feature-jét, viszont ahhoz a yt nem nyújt api-t.

A suggestion-öket én direkt hagytam ki, mert borzasztóan szoktak idegesíteni. A search history viszont ugyanúgy megjelenik a historyban. Mondjuk szó mi szó, prefixálhatnám, hogy keresés, videó vagy playlist volt. A youtube accounttal való összekötés viszont nagyon rossz ötlet. Mi van, ha nincs yt accountja az usernek?

> - "playlist" – javarészt egyetértek. ez a félkész feature azért lehet, mert erre a konzolos youtube-viewer-t hívja meg, tehát nem maga a gtk-youtube-viewer intézi, és nem teljes az "egyetértés" a két progi közt. meg olykor reseteli is a playlistet...

Nem értem miért raknak bele félkész feature-öket a programba. Így tkp. használhatatlan. Az oké, ha nem tud valamit, de ha rosszul tudja az nem oké...

> - a "Favorite" az a youtube account-od Favorites playlist-jébe ment. viszont csatornákat tud könyvjelzőzni lokálban.

Ld. feljebb, yt account nélkül ez a feature akkor használhatatlan.

> kényelmetlenség valóban szubjektív, mert nekem speciel kényelmesebb, már csak azért is reszponzívabb mint cpu-leolvasztó youtube oldalak, még akkor is amikor az egy szálon végzett hálózati műveletek miatt a gtk main loop is megakad egy picit. vagy picit többet :)

Nyilván a tecső szutyokszkriptes megoldásánál sokkal reszponzívabb, de itt nálam sokkal lassabb volt, mint az én frontendem. Mondjuk nem csoda, az multi-threades.