eSodisce / GURS batch helper
Neuradna Firefox WebExtension za pomoč pri ponavljajočem se izpolnjevanju obrazca eSodisce/GURS. Različica 0.2.0 uporablja številčno šifro katastrske občine (KO), ne njenega imena.
Varnostni obseg
- Razširitev ne obravnava certifikatov, zasebnih ključev, gesel ali PIN-ov.
- Ne avtomatizira prijav in ne poskuša zaobiti opozoril, CAPTCHA ali varnostnih kontrol.
- Izrecno dejanje uporabnika za zagon je potrebno v trenutnem zavihku.
- Razširitev je omejena na
https://esodisce.si/*. - Razširitev ne uporablja Firefox Downloads API-ja in ne shranjuje PDF-datotek; samo izpolni obrazec in pritisne gumb
btn_pdf. - Vhodno datoteko hrani samo v lokalni shrambi razširitve; ne zbira in ne pošilja telemetrije ali podatkov razvijalcu.
Razvojna/testna namestitev v Firefox
- Odprite
about:debugging. - Izberite This Firefox / Ta Firefox.
- Kliknite Load Temporary Add-on….
- Izberite
manifest.jsonv tej mapi oziroma v razširjenem ZIP-u. - Odprite ciljno stran
https://esodisce.si/evlozisce/javni_izpisi/list.htmlin preverite, da je obrazec že dosegljiv. - Kliknite ikono razširitve; odpre se sidebar. Izberite TXT/CSV in zaženite obdelavo za trenutno aktivni zavihek v istem oknu.
Za spremembe datotek razširitev odstranite in jo znova naložite v about:debugging. Sidebar ostane odprt med uporabo strani in izbiro datoteke; zadnja uspešno prebrana datoteka se shrani v lokalno shrambo razširitve.
Produkcijska namestitev in samodejne posodobitve
Produkcijske izdaje objavlja Gitea Actions v javnem repozitoriju komelt/zemljiska-knjiga-vticnik. Za produkcijsko uporabo prenesite in namestite podpisani XPI iz javnega Gitea Release-a. Ne nameščajte ga prek about:debugging, ker je taka namestitev začasna in nima stabilnega mehanizma za samodejne posodobitve.
Za nastavitev repozitorija mora biti repozitorij javen; javno morajo biti berljivi tudi Release asseti in surove datoteke, zlasti updates.json na stabilnem naslovu. V Gitea omogočite Actions in nastavite vgrajeni Actions token tega opravila na pravice contents: write (za potisk veje main in Release API). Ne ustvarjajte skrivnosti GITEA_TOKEN: secrets.GITEA_TOKEN je vgrajeni token opravila, ne uporabniško določena skrivnost. Ustvarite samo naslednji skrivnosti:
AMO_JWT_ISSUER– Mozilla AMO JWT issuer;AMO_JWT_SECRET– Mozilla AMO JWT secret.
Vsak potisk v main ustvari podpisano AMO unlisted izdajo, objavi XPI v javnem Release-u in posodobi updates.json; samodejni potisk samo te datoteke ne sproži nove izdaje. Razširitev uporablja browser_specific_settings.gecko.update_url do surove datoteke na veji main, zato Firefox preverja nove izdaje po namestitvi podpisanega XPI. Osnovna različica je v izvornem manifest.json, akcija pa ji samodejno doda številko zagona, na primer 0.2.0 postane 0.2.0.17.
Za izvajanje je potreben registriran Gitea runner z oznako ubuntu-latest. Na runnerju morajo biti na voljo git, bash, Node.js/npm/npx, jq, curl in sha256sum. Strežnik git.vahta.net mora imeti HTTPS-certifikat, ki mu zaupata Firefox in runnerji; sicer namestitev ter preverjanje in samodejne posodobitve ne bodo delovali.
Vhodna datoteka
Vsaka vrstica vsebuje dve polji: številčno šifro KO in parcelno številko. Podprta so ločila ;, tabulator in vejica. Prvo polje mora biti pozitivno celo število; vodilne ničle se ohranijo kot del niza. Drugo polje ostane niz, zato so podprte oblike, kot je 901/29.
Šifra KO;Parcelna številka
2491;901/29
2491;901/30
0107;1820
Primeri v example-input.txt so samo formatni primeri. Ne predstavljajo preverjeno veljavnih parcelnih številk ali šifer KO. Prazne vrstice in vrstice, ki se začnejo z #, se preskočijo; prikazana glava se obravnava kot neveljavna vrstica.
Kaj naredi
- poišče polji z dobesednima ID-jema
idZnakNep.katastrskaObcina.idsrcsifrantinidZnakNep.parcelnaStevilka; - v prvo polje neposredno vnese šifro KO ter sproži
inputinchange; - v drugo polje vnese parcelno številko;
- poišče gumb z dobesednim ID-jem
btn_pdfin ga pritisne; - ne prestreza, preimenuje ali shranjuje PDF-prenosov;
- podpira ročno potrjevanje pred vsakim zapisom ali samodejni način.
Če stran uporablja drug ID, iframe ali shadow DOM, bo potrebna prilagoditev. Trenutno je gumb namenoma izbran izključno z document.getElementById('btn_pdf').
Testni postopek
- Zaženite
node --checkzabackground.js,content-script.jsinpopup.js. - Preverite, da je
manifest.jsonveljaven JSON in da je različica0.2.0. - Najprej preverite en formatni testni zapis v načinu ročno.
- V Firefox Developer Tools konzoli na strani
https://esodisce.si/evlozisce/javni_izpisi/list.htmlpreverite:document.getElementById('idZnakNep.katastrskaObcina.idsrcsifrant') document.getElementById('idZnakNep.parcelnaStevilka') document.getElementById('btn_pdf') - Preverite, da se šifra KO in parcelna številka neposredno vneseta v obe polji, brez zahteve po izbiri autocomplete rezultata.
- Preverite, da se vrednosti vnesejo v obe polji in da se pritisne gumb
btn_pdf, brez ustvarjanja ali preimenovanja PDF-datotek. - Preverite napačen format šifre KO, manjkajoče polje in prekinitev med batchom.
Brez testiranja na dejanski strani ni mogoče potrditi popolne združljivosti z vsemi različicami obrazca.