Aplikacije poredane kronološki kako su rađene:
1. conkyluanv-autoscale-fixed
Fork poznate aplikacije za Linux desktop environmente "
Conky".
Zapravo, točnije, fork verzije "conky-lua-nv" sa AUR repozitorija.
conky-lua-nv AUR paket je modificirani Conky koji u sebi ima sve potrebno da za monitoring nVidia grafi, lijepo upakirano u AUR paket za Archere.
S obzirom da ja imam nVidia grafu, i htio sam imati dostupan monitoring iste, instalirao sam ovaj paket s AURa.
Međutim, conky-lua-nv je iz nekog razloga imao velikih problema sa network speed grafovima, koje sam ja htio popraviti uz pomoć AI-a, i uspio.
Video conky-lua-nv paketa gdje se vidi problem i kasnije moja modificirana verzija.
Kako trenutno taj setup izgleda kod mene (klik):
Zahtjevi: Linux, BSD varijante (FreeBSD, OpenBSD, NetBSD, DragonFly), macOS, Solaris i Haiku s podrškom za X11 i Wayland.
Napomena: ovu verziju možete koristiti i ako nemate nVidia grafu, no s druge strane, onda možete koristiti i
službeni Conky.
Zanimljivosti: AI je, popravljajući problem sa grafovima, detektirao i neki problem sa hwmon funkcijom za prikaz temperature procesora pa je usput i to fixao. Također na Githubu imate i neke moje bonus custom skripte koje i osobno koristim, a pozivaju se u conky.conf fajlu. Te skripte ne dođu sa Conkyjem inače.
Download: Github | AUR ↑↑
──────────────────────────────
2. FixupXer Telegram bot
Telegram bot kojeg možete ubaciti u svoju grupu ili mu direktno slati linkove da ih čisti i konvertira. Trenutno je podešen da detektira: X/Twitter, Instagram i Facebook linkove.
Čim detektira neki od tih linkova, pokreće slijed:
- kopira text posta (ako ga je bilo s linkom)
- čisti link
- pretvara ga u embeddable link (više detalja na Github stranici)
- briše originalnu poruku (zato mu treba admin titula, ali samo delete messages permission)
- kreira novi post u kojem pasta kopirani text skupa sa dirty linkom, clean linkom i embeddable linkom + referenca na originalnog postera, tako da se zna tko je šta točno poslao i kada.
Kako to trenutno izgleda (klik):
Opcije: "/delete" reply na botov post mogu inicirati originalni posteri te poruke ako žele izbrisati poruku bota. "/status" mogu samo ja pokrenuti da vidim statistiku bota koji je trenutno pokrenut na serveru.
Napomene:- Statistiku koja mi je vidljiva možete vidjeti na Github stranici bota.
- Statistiku mogu vidjeti samo za korisnike koji koriste moju instancu bota, koji je registriran na Telegramu kao user "@FixupX_ClearURL_bot". Ukoliko vam to ne odgovara, bot (.py skripta) je free na Githubu, skinete ga na svoj server i pokrenete pod drugim imenom na Telegramu. Tada ćete imati svog bota i imati uvid u njegovu statistiku, kao što ja imam uvid u statistiku svoga. Opcije su tu.
- Bot je efikasan u čišćenju samo onih Facebook linkova gdje su tracking parametri očito vidljivi u linku. Problem sa Facebookom je taj da imaju 1) bait link i 2) direktan link. Bait link nema tracking parametara i obično ćete njega dobiti ako shareate postove iz Facebook aplikacije. Bot takve linkove ne čisti jer se tu nema šta čistiti, međutim jednom kada kliknete na taj primarni (bait) link, u sljedećoj sekundi vam on otvara sekundaran, direktni link koji u sebi ima tracking parametre, koji se, jednom kad se stranica učita, brišu. Tracking parametri se možda vide u par milisekundi kako bljesnu i nestanu.
Bot tu nažalost ne može ništa.
- Bot koristi 3rd party proxyje koji odrađuju konverziju u embeddable linkove. Ti proxyji su: kkinstagram.com, facebookez.com i fixupx.com. Ja nemam ništa s njima niti znam tko ih hosta. Bot je običan lokalni URL konverter.
Zahtjevi: Python 3.7+, Linux/macOS/Windows, treba mu Telegram Bot Token i admin privilegije (samo delete messages permission) za potpunu funkcionalnost.
Zanimljivosti: ovaj bot je bio prvi AI-jev "od nule" kreiran projekt, no moja ideja. S obzirom da sam aktivan u više grupa na Telegramu gdje ljudi stalno pastaju dirty linkove, pala mi je ideja na pamet kako bi bilo zgodno imati bota koji čisti takve linkove. U početku je čistio i konvertirao samo x.com linkove u fixupx.com, no sada je malo evoluirao, a vjerojatno će se njegove mogućnosti u budućnosti i proširivati.
Također je bio poticaj za kreiranje Android appa slične funkcionalnosti.
Download: Github ↑↑
──────────────────────────────
3. FixupXer Android App
Trenutno najveći AI projekt do sada.
Punokrvna Android aplikacija koja čisti linkove 25+ media i socijalnih platformi uz mogućnost konvertiranja X/Twitter, Instagram i Facebook linkova u embeddable linkove.
App ima dva modula: Share modul i Main modul.
Prijatelj mi je rekao da ljudi nisu ni svjesni te mogućnosti, pa moram napomenuti:
Ne morate pokretati aplikaciju i manualno pastati linkove u nju.
Jednostavno dirty ili bilo koji link shareate direktno u nju i dobijete output.
Ako baš želite, možete i manualno copy/pastati linkove u nju, ali onda morate pokrenuti Main app iz App drawera.
Dakle dva su modusa rada:
- Link --> share --> FixupXer
- Link --> copy --> paste u FixupXer --> klik na Process URL button
Kako app trenutno izgleda:
Main modul ------- Share modul
Opcije: Ako app detektira da ste shareali/pastali link koji podržava embedding, otvoriti će vam toggle za kreiranje embedding linka. U protivnom samo skida tracking (ako je očito vidljiv iz linka, dakle isti problem sa Facebookom je i ovdje prisutan).
Napomene:- App ne traži nikakve posebne permissione, ne sprema niti dijeli ikakve osobne podatke.
- Svo procesuiranje se događa lokalno unutar appa
- App koristi 3rd party proxyje koji odrađuju konverziju u embeddable linkove. Ti proxyji su: kkinstagram.com, facebookez.com i fixupx.com. Ja nemam ništa s njima niti znam tko ih hosta. App je običan lokalni URL konverter.
Zahtjevi: Android 5.0 Lollipop (API level 21) i preko.
Zanimljivosti:
Na appu su radili uglavnom sljedeći modeli: Cursor default, Claude Sonnet 3.5, 3.7, Thinking 3.7, Thinking 4 Opus Max i openAI o3 Max.
Neki od njih su bili bolji u codingu, dok su drugi bili bolji u troubleshootingu i testiranju appa u emulatoru
Finalni build bi uvijek više modela pregledalo i dok svi ne bi dali zeleno svjetlo da je build spreman za upotrebu, ne bi se krenulo raditi release apk.
Neki od prvih testova koje su AI-jevi izvodili na appu da bih bio siguran da je kod dobar:
- Statička analiza aplikacije
- Provjera arhitekture i strukture
- UI/UX validacija
- Ispitivanje funkcionalnosti
- Sigurnost i privatnost
- Učinkovitost i optimizacija
- Kompatibilnost i testiranje
- Priprema izgradnje i puštanja u release
- Dokumentacija i metadata
Nakon toga bi išlo rešetanje po aplikaciji unutar emulatora, gdje bi se simulirali razni "napadi" i pastanje neispravnih linkova.
Neki od testova:
Security Tests (8 tests)
- `testGluedUrlsAreRejected` - Tests glued URLs like "www.instagram.comwww.x.com"
- `testZeroWidthSpaceAttack` - Tests zero-width space attacks (Unicode U+200B)
- `testUrlEncodedDotAttack` - Tests URL-encoded dot attacks ("www%2Einstagram.com")
- `testControlCharacterAttack` - Tests control character attacks (null bytes, etc.)
- `testMultipleProtocolsRejected` - Tests multiple protocol attacks
- `testUnicodeNormalizationHandled` - Tests Unicode normalization attacks
- `testAppDoesNotCrashOnMalformedInput` - Tests app stability with malformed input
- `testProcessButtonWithEmptyInput` - Tests empty input handling
Functional Tests (2 tests)
- `testValidUrlAccepted` - Tests that valid URLs are processed correctly
- `testProcessButtonWithValidUrl` - Tests the process button functionality
I opet, unatoč robusnom testiranju, bugovi bi se znali potkrasti, no to bi obično bili bugovi koje je AI sam kreirao dok smo rješavali neki drugi problem (princip popravi dva, stvori jedan) i uglavnom funkcionalne prirode (tipa kada smo integrirali hardening u 1.3.2 verziji, dobili smo hardened aplikaciju, ali je u tom procesu nešto puklo kod konverzije Instagram linkova, itd.)
Upit: ako ima netko da bi mi napravio neku zgodnu, jedinstvenu, custom (ne AI, hvala

) ikonu za app, javite mi se u DM sa ponudom. Ovu trenutnu je Sora (openAI) generirala i ne sviđa mi se baš.
Zahvale: zahvalio bih se svima koji su odgovorili na moj
drugi post i omogućili da app krene u closed testing
Virustotal scan: https://www.virustotal.com/gui/file/...725b/detection
Download: Github | Google Play | F-Droid (kasne sa updateovima) ↑↑
──────────────────────────────
3. Internet Connectivity Checker
Ovaj sitan app je malo dotjerana verzija originalnog "Linux System Tray Internet Status" projekta, više detalja na Github stranici.
Sjedi u trayu i po defaultnim postavkama (koje možete mijenjati), pinga google.com svakih 5s, te shodno ishodu, prikazuje ikonu u trayu koja simbolizira stanje "spojeni na Internet" ili "veza pukla" (ikona blinka).
Nešto slično kao u Windowsima kada vam pukne veza pa vam ikona u trayu pokaže onaj žuti uskličnik ili crveni križić. Meni je to zgodno s obzirom da se takve stvari (iako na 4G routeru rijetko) ipak znaju dogoditi.
Opcije:
Code:
CHECK_INTERVAL = 5 # svaku koliko da provjerava konekciju
BLINK_INTERVAL = 0.5 # svaku koliko će ikona blinkati
MAX_ATTEMPTS = 3 # koliko puta će provjeriti konekciju prije nego je označi živom/mrtvom
TEST_URL = "https://www.google.com" # URL kojeg će koristiti za provjeru konekcije
Ikone možete mijenjati po svojoj želji. Defaultne su u:
Code:
icons/gtk-connect.svg # pokazuje kada ste online
icons/gtk-disconnect.svg # blinka kada ste offline
Zahtjevi: Python 3 sa PyGObject (python3-gi), GTK 3, i AppIndicator3 libraries instalirano na Linuxu čiji desktop environment podržava tray ikone.
Download: Github ↑↑
──────────────────────────────
4. Arch Smart Update Checker v1
Zadnjih par updateova na Archu je znalo raditi određene probleme (tipa
ovo).
Istražujući sam naišao na aplikaciju
Informant, no palo mi je na pamet da napravim nešto slično, ali da se prilagođava korisničkom OS-u i uspoređuje pakete koje ima instalirane sa dostupnim vijestima.
To me inspiriralo da napravim ovaj app.
Arch Smart Update Checker koristi razne mehanizme usporedbe dostupnih vijesti na raznim "Arch News" portalima. Detaljnije o tome na Githubu.
Trenutno aktivni portali:
- Arch Linux News
- Arch Linux Security Advisories
- Arch Stable Package Updates
- Arch32 News
Distribution-specific:
- EndeavourOS News
- Manjaro Stable Updates
Aplikacija također ima svoj setup, provjerava imate li sve potrebne pakete (dependencies check), te automatski ubacuje u .bashrc alias "asuc" s kojim je onda lako pokrećete. To naravno možete sve mijenjati po svojoj volji.
Nakon pokretanja, pregleda sve dostupne updateove, usporedi ih sa vašim instaliranim, te izbaci vijesti o tim updateovima.
Aplikacija ništa sama ne instalira, na vama je da pročitate te vijesti, te na kraju odlučite hoćete li instalirati updateove, odustati ili dobiti više detalja (koji su sve packageovi zahvaćeni).
Opcije: bolje da pogledate Github stranicu
Zahtjevi: Arch (logično), Python 3.6+, Python dependencies (feedparser, colorama)
Download: Github ↑↑
Arch Smart Update Checker v2
"ASUC" je od sada dostupan u 2 verzije.
Razlika u odnosu na legacy verziju je da ova verzija ima svoj GUI, ali i CLI. I dalje je pisana u Pythonu, a za GUI je zaslužan Tkinter.
Kada se napravi "git clone", dobijete:
- install.sh skriptu koja provjerava imate li sve dependencies za app, ako nemate, nudi opciju instalacije
- asuc-cli skripta koja pokreće CLI verziju za one koji nemaju pristup desktop environmentu
- asuc-gui skripta koja pokreće GUI verziju
- uninstall.sh skriptu koja briše config, logove i cache. Glavni direktorij i dalje morate sami izbrisati
Također je dostupna na AUR-u za jednostavniju instalaciju, link niže.
Uninstall ostataka (logovi, cache, itd.) ćete morati raditi ručno (upute se prikažu nakon deinstalacije), ili možete iskoristiti gore spomenutu uninstall.sh skriptu (dostupna na Githubu), koja to obavi za vas.
App ima dosta mehanizama u sebi da bi bio siguran i funkcionalan za sve vrste Arch distribucija.
Svi detalji su dostupni u readme-u i docs direktoriju na Githubu ako koga zanima.
Za one koje zanima ukratko kako app funkcionira, tu je kratki
explainer dokument.
Opcije: history recording (pamti koje ste sve updateove instalirali - potrebno enablati), čišćenje orphan packageova (samo onih koji zadovoljavaju kriterij "required by: none"), package manager, news sekcija, light/dark theme, itd.
Zahtjevi:- Arch Linux or derivatives (e.g., Manjaro, EndeavourOS)
- Python: 3.8 or higher
- Display: 1366×768 minimum (for GUI)
Dependencies:- requests>=2.25.0 (networking, HTTPS)
- feedparser>=6.0.0 (RSS feed parsing)
- colorama>=0.4.0 (CLI color output)
- psutil>=5.8.0 (system/process info)
- Uses Python's built-in tkinter (no extra pip install needed on most Arch systems, but you need the tk package installed system-wide).
Zanimljivosti:
Security aspekt
Tokom developmenta ovog appa, rekao sam Sheldonu (moj AI programer koji je izradio kompletan app) da želim da obrati posebnu pozornost na security ovog appa, s obzirom da u zadnje vrijeme često čitamo vijesti o malwareima koji svašta rade, pa sam htio minimizirati tu mogućnost koliko je god moguće s obzirom na moje mogućnosti i znanje.
Za security aspekt su bili zaslužni: o3 (planiranje), Gemini 2.5 pro (planiranje i draftanje više iteracija improvement planova) te na kraju Sheldon - Opus-4 za egzekuciju svih improvement planova uz neke njegove dodatne prijedloge.
Security se dodavao u layerima: prvi pass nakon čega bi se kod ponovo skenirao i tražili mogući propusti, nakon čega bi se pisao implementirali fixevi, pa ponovni scan koda, ponovni fixevi, itd. Sve skupa je bilo oko 4-5 passova. Rezultat koga zanima je
ovdje.
Treba imati na umu da su ovo samo neke od generalnih sigurnosnih mjera i da app sigurno nije savršen. Ovo je više da korisnika zaštiti ako ima neki tupavi malware na svom kompu koji bi pokušao manipulirati asuc-om da mu počini štetu, no opet, ako imate malware na Archu onda mislim da imate većih problema od potencijalnih sigurnosnih propusta ovog programa
App također podržava Bubblewrap i Apparmor.
Dizajn troubles
S obzirom da u Pythonu nikako nismo mogli postići funkcionalan responsive dizajn (ili ne znamo kako) koji bi mijenjao sve komponente unutar appa paralelno sa resizanjem glavnog prozora, dizajnerski team (ja) je odlučio da će app imati fixne vrijednosti dizajna, međutim to je stvorilo novi problem - za koju veličinu prozora se odlučiti? Ono šta je "taman" na malom laptopu će biti pre malo na velikim ekranima, i ono šta je taman na velikom ekranu ne stane u ekrane malih laptopa.
Stoga sam se odlučio za ovakvo rješenje: app u sebi ima ~11 layoutova, od 12" HD laptopa do 34" ultrawide monitora. Tokom pokretanja, app očitava veličinu vašeg ekrana i onda loada layout koji bi najviše odgovarao vašem ekranu. Uvjet je bio da app ne zauzima više od 50% širine vašeg ekrana. Ako vaš ekran ne pripada nijednom od layoutova, onda app loada najbliži, ali manji layout.
Download: Github | AUR ↑↑
──────────────────────────────
To je za sada sve, ukoliko ih još bude, nadopišem ovdje ili u sljedeći post.
