个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Besplatan Windows program za preuzimanje videa (MP4) i zvuka (MP3) - bez reklama i praćenja. Za vlastiti i dozvoljen sadržaj.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Lična Windows desktop aplikacija (PySide6 + yt-dlp) za preuzimanje videa i zvuka: preko linka ili direktno iz browsera (Edge/Chrome). Samo za ličnu upotrebu.查看完整 README ↗
Lična Windows desktop aplikacija (PySide6 + yt-dlp) za preuzimanje videa i zvuka: preko linka ili direktno iz browsera (Edge/Chrome). Samo za ličnu upotrebu.
Aplikacija je za ličnu upotrebu. Instaler VideoDownload-Setup-<verzija>.exe je u
izdanjima repoa abnps/video-download (GitHub → Releases).
%LOCALAPPDATA%\Programs\Video Download),
bez administratorskih prava. Python, ffmpeg i Node su u paketu.gh), provjeri potpis izdanja (release.json + release.json.sig, Ed25519) i SHA-256
i instalira preko postojeće. Nepotpisano ili tuđe izdanje se odbija (od v0.9.6).Zvanični sajt: https://abnps.github.io/video-download/ (folder site/, objavljuje ga GitHub Actions
pri svakoj izmjeni). Poslije izmjene changeloga ili pravnih tekstova: python tools/build_site.py.
Glavni jezik je engleski; bosanski, njemački, španski i francuski su u site/bs/, site/de/, site/es/, site/fr/. Lokalni pregled: python -m http.server 8765 --directory site.
Snimci dostignuća za svih 5 jezika nastaju komandom python tools/site_achievement_screenshots.py
iz stvarnih dijaloga s izmišljenim napretkom; ništa se ne preuzima.
__version__ u videodl/__init__.py i version u extension/manifest.json.
Ako je Android APK izmijenjen, povećaj i versionCode u android/app/build.gradle.kts.python tools/build_release.py (build u folder Build pored projekta, npr. C:\Video Downloader\Build;
gotovi instaler je u Build\installer;
uključuje self-test spakovane aplikacije). Build odbija da radi ako se paketi ili alati ne slažu
sa tools/build-lock.json, prvo pokreće sve testove, a na kraju potpisuje release.json ključem
%USERPROFILE%\.videodl\release-signing-key.pem (ključ nikad ne ide u repo; bez njega nema izdanja).site/: verzija, veličina, „Šta je novo"); te izmjene idu u commit izdanja.
Pošalji taj commit i tag v<verzija>. Napravi nacrt izdanja sa Windows fajlovima; nacrt
nije javni latest i ne mijenja linkove na sajtu:gh release create v<verzija> "<instaler>.exe" "<instaler>.exe.sha256" "<folder instalera>\release.json" "<folder instalera>\release.json.sig" "<folder instalera>\VideoDownload-Setup.exe" --repo abnps/video-download --draft --title "Video Download <verzija>" --notes-file "<folder instalera>\release-notes.md"
gh workflow run macos.yml --repo abnps/video-download --ref main -f tag=v<verzija>. Posao gradi iz taga, provjerava verziju i da je izdanje nacrt,
pa dodaje .dmg, .sha256 i VideoDownload-macOS-arm64.dmg. Sačekaj uspješan završetak
(gh run list --workflow macos.yml); grešku popravi prije objave. Zatim na računaru s ključem za
potpis izdanja: python tools/sign_macos.py --tag v<verzija> (dodaje release-macos.json i .sig;
bez njih Mac verzija ne može sama preći na novo izdanje, pa objava odbija nacrt).4b. Linux (beta) isto: gh workflow run linux.yml --repo abnps/video-download --ref v<verzija> -f tag=v<verzija>.
Posao gradi AppImage na Ubuntu 22.04 (svi testovi, self-test paketa i hosta) i dodaje
VideoDownload-linux-x86_64-<verzija>.AppImage, .sha256 i stalnu kopiju VideoDownload-linux-x86_64.AppImage.
Zatim python tools/sign_linux.py --tag v<verzija> (dodaje release-linux.json i .sig).
Na računaru sa Android ključem (%USERPROFILE%/.videodl/android-release.*) pokreni
python tools/publish_android.py --tag v<verzija>. Skripta provjerava lint, testove, potpis,
paket i verziju, pa dodaje APK, .sha256, stalnu kopiju i android.json samo tom nacrtu.
Samo Android (bez novog desktop izdanja): poveća se versionCode/versionName, commit i push, pa
python tools/publish_android.py --android-update (APK u postojeće javno izdanje; provjerava potpis i veći versionCode).
Pokreni python tools/publish_release.py --tag v<verzija> da provjeri svih 19 fajlova,
hashove, Windows manifest, Android potpis, verzije i nepromijenjen nacrt. Tek po odluci za
objavu pokreni istu naredbu uz --publish; ona ponovi provjere i zatim objavi cjelinu kao latest.
Javno ostaje samo posljednje izdanje (Ahmedova odluka 23.9.2026): --publish poslije objave
prethodno izdanje sam vrati u nacrt (ne briše ga).
winget (winget install abnps.VideoDownload): --publish sam kopira instaler u
abnps/video-download-installers (stalni link). Ako ta kopija pukne poslije objave, ponovi samo nju:
python tools/publish_release.py --tag v<verzija> --installers-only (dopuni postojeće izdanje, ne pravi drugo).
Provjera bez --publish poslije objave uvijek pada: tada nema prethodnog izdanja za poređenje (nije kvar). Zatim novi opis paketa: kopiraj tools/winget/*.yaml, promijeni
PackageVersion, ReleaseDate, InstallerUrl i InstallerSha256, provjeri s winget validate --manifest <folder>
i pošalji pull request u microsoft/winget-pkgs (folder manifests/a/abnps/VideoDownload/<verzija>).
Microsoft Store (aplikacija „Video Download by abnps", Store ID 9NT46S6L7KGN): python tools/build_msix.py
od istog builda pravi Build\msix\VideoDownloadbyabnps-<verzija>.0-x64.msix. U Partner Centeru: nova prijava
(Update) → Packages → postavi .msix → pošalji. Microsoft ga potpisuje i provjerava (obično 1–3 dana), pa ga
Store sam ažurira kod korisnika. Store verzija ne nudi naše ažuriranje programa (runtime.is_store_package);
yt-dlp se i dalje osvježava sam (u napomeni za provjeru objašnjeno). Store paket za sada traži Windows 11
(build 22000 ili noviji), jer registracija hosta iz MSIX-a nije provjerena na Windowsu 10.
Dodatak u prodavnicama (samo kad se dodatak mijenjao; u mora biti veći): Firefox: → addons.mozilla.org → nova verzija, samo za Firefox na računaru (Firefox za Android nema vezu s programom). Edge: → Partner Center → Edge → Video Download → Packages → Replace → Publish. Edge dodatak ima svoj ID ( u ), pa se objavljuje tek kad je program s tim ID-em izašao.
Video Download je besplatan, bez reklama i bez praćenja. Ako ti koristi, možeš dobrovoljno podržati razvoj: PayPal — Support for Video Download ili bez PayPal naloga: karticom, Apple Pay ili Google Pay ili Ko-fi. Prilog ništa ne otključava; program je isti za sve.
Program je namijenjen preuzimanju sadržaja koji korisnik ima pravo da preuzme, prije svega vlastitih videa (npr. videa koje je sam objavio na YouTube-u), sadržaja uz dozvolu nosioca prava i sadržaja pod slobodnom licencom. Zabranjeno je preuzimanje tuđeg zaštićenog sadržaja bez dozvole i dijeljenje preuzetog. DRM se ne zaobilazi. Korisnik odgovara za ono što preuzima. Program nije povezan sa YouTube-om ni Google-om.
Pravni dokumenti (5 jezika; u instaleru se prihvataju licencni ugovor i uslovi, prije toga se prikazuje politika privatnosti; u aplikaciji su u Pomoć → Ugovori i licence):
| bs | en | de | es | fr | |
|---|---|---|---|---|---|
| Licencni ugovor | bs | en | de | es | fr |
| Uslovi korištenja | bs | en | de | es | fr |
| Privatnost | bs | en | de | es |
Licence komponenti (FFmpeg GPL-3.0, Qt LGPL-3.0, Node.js, yt-dlp i ostale) instaler stavlja u folder
licenses pored programa, a spisak u THIRD-PARTY-NOTICES.txt (videodl/legal.py).
ffmpeg na PATH-u (spajanje videa i zvuka, MP3/M4A, HLS)python -m pip install --user -r requirements.txt
Dvoklik na pokreni.bat, ili:
python -m videodl
Podrazumijevani folder za preuzimanja je %USERPROFILE%\Videos\Video Download.
Druga instanca se ne otvara: samo se podigne prozor već pokrenute.
Program registruje native messaging host pod imenima io.github.abnps.videodownload.bridge i
com.videodl.bridge (kompatibilnost sa starim dodacima). Novi dodatak koristi novo ime,
a staro pokušava samo kada browser javi da novi host nije pronađen. Store paket koristi
stalni App Execution Alias abnps-videodl-host.exe. Privatni Store paket 1.0.3.0
provjeren je na Windowsu 11: nova tri HKCU ključa vidljiva su browserima van paketa,
a Edge dodatak je preuzeo probni lokalni video i kada je program bio zatvoren.
Postupak i granice te probe su u 00_plan/store_browser_link_probe.md.
Poslije privatnog Store ažuriranja na 1.0.3.0 ili novije, pokreni aplikaciju jednom,
pa iz običnog PowerShella pokreni python tools/check_store_browser_link.py. Sve stavke
(Store verzija, Chrome, Edge, Firefox i alias) moraju biti OK. Zatim učitaj trenutni
extension/ u Edge/Chrome i provjeri stvarni status u dodatku. Na starijoj Store 1.0.2.0
verziji možeš provjeriti samo kompatibilni stari host naredbom
python tools/check_store_browser_link.py --legacy; to nije zamjena za novu provjeru.
edge://extensions, uključi „Developer mode", klikni
„Load unpacked" i izaberi folder extension iz ovog projekta.
Chrome: isto preko chrome://extensions./status/… na X-u, /video/… na TikToku), pa preuzme baš njega;Poslije izmjene ekstenzije klikni „Reload" kod nje u edge://extensions.
Video ide u red sa formatom i folderom koji su trenutno izabrani u aplikaciji i odmah se preuzima (bez klika na „Preuzmi").
Ograničenja:
edge://extensions → Detalji.Ako se projekat premjesti u drugi folder, pokreni aplikaciju ponovo (registracija se osvježi) i ponovo učitaj ekstenziju. Uklanjanje registracije:
python -m videodl.native_messaging --uninstall
python -m unittest discover -s tests
node --test "tests/extension/*.test.mjs" "tests/site/*.test.mjs"
node tools/e2e_browser/run.mjs
Zadnja komanda je E2E u pravom Edge-u (privremeni profil, lokalni test sajt,
izlaz u %TEMP%\videodl-e2e); pokreće i gasi test instancu aplikacije.
videodl/presets.py — formati i yt-dlp opcijevideodl/probe.py — čitanje linka (video, plejlista, kanal)videodl/download.py — preuzimanje, napredak, prekid, čišćenjevideodl/jobs.py — red čekanjavideodl/gui.py — glavni prozor (meni, traka, red, tema)videodl/dialogs.py, videodl/desktop.py — pomoćni prozori (istorija, podrška, ugovori, uputstvo
za dodatak) i otvaranje fajlova/foldera u Windowsuvideodl/release_signing.py — potpis i provjera opisa izdanja (Ed25519)tools/build_macos.py, .github/workflows/macos.yml — Mac (Apple Silicon, beta) paket .dmgvideodl/widgets.py, videodl/icons.py — red sa sličicom, prazan ekran, ikonevideodl/browser.py — provjera zahtjeva iz browseravideodl/bridge.py — lokalni most u aplikaciji (127.0.0.1 + token)videodl/native_host.py — native messaging host (browser ↔ aplikacija)videodl/native_messaging.py — registracija hosta za Chrome/Edgevideodl/i18n.py, extension/i18n.js — prevodi (BS, EN, DE, ES, FR)videodl/updater.py — provjera i instalacija nove verzijevideodl/runtime.py — putanje u razvoju i u instaliranoj verzijiextension/ — Edge/Chrome ekstenzija (Manifest V3)installer/ — Inno Setup skripta i bosanski prevod instaleratools/ — ikone, build instalera i browser E2E00_plan/plan_projekta.md — faze i exit gate-oviversionextension/manifest.jsonpython tools/build_firefox.py --listedpython tools/build_edge.pyEDGE_STORE_EXTENSION_IDvideodl/native_messaging.py| fr |