Repository navigation
Releases: fabiomb/AceList
Release list
AceList 1.5.0
Descargar
- Descarga
AceList-1.5.0-win64.zip(abajo, en Assets). - Descomprímelo y abre
AceList.exe. Si ya usabas una versión anterior, reemplaza la carpeta del programa: tus datos siguen en%LOCALAPPDATA%\AceList. - Si Windows muestra "Windows protegió su PC": Más información → Ejecutar de todos modos.
AceList-1.5.0-win64.zip.sha256 tiene la huella SHA-256 del zip.
Fuentes desde un archivo local, selección múltiple en el listado, más herramientas en Explorar (páginas, quitar, reproducir y verificar sin importar), enlaces con infohash y los arreglos de la revisión de #88.
Incluye las migraciones 0005 a 0008 (fuentes de archivo, forma del identificador de cada canal, canales quitados de una fuente y verificaciones desde Explorar), que se aplican solas al abrir AceList con el ejecutable o con start.bat.
Agregado
- Sources from a local file (#94): the "add a source" form takes a web address or a file from this computer (
.m3u,.m3u8,.txtor an AceList.jsonexport, same 5 MB / 5000 channel limits), chosen or dragged onto the drop zone; on Explorar a file dropped anywhere on the page opens the form with it. The source is named after the file unless a name is typed; uploading again under the same name replaces its channels. File sources show "Archivo local" and are never downloaded. Migration 0005 makessource.urlnullable. - Choosing several channels in the list (#102): a check box per row and one to choose them all, and a bar with how many are chosen and three actions for them: Verificar, Regenerar capturas and Borrar (the last two ask first). Checks run in the background and every action comes back to the list with its filters.
- Pages in Explorar (#103): 100 channels per page with first, previous, next and last links and "página X de Y", instead of only the first 200. The page goes in the address (
page=) with the search, and adding channels comes back to the same page; changing a filter starts again at the first one. - Removing channels from a source (#104): "Quitar de la lista" in Explorar hides the chosen channels of their sources, and they stay hidden when the source is refreshed or its file uploaded again (kept by Content ID in the new
source_dismissedtable, migration 0007). Fuentes shows how many were removed from each source and "Restaurar quitados" brings them back. The catalog is not touched. - Playing a channel of a source without adding it (#105): each Explorar row has a play button that opens it in VLC, the same way and with the same messages as the catalog (Content ID or infohash, #100).
- Checking a channel of a source without adding it (#106): Explorar has a Estado column with a check button per row that runs the same check as the catalog and shows the outcome (status, peers, when) in the row. It is kept on the source entry, also across refreshes (migration 0008). With Ace Stream off it says so and stores nothing.
Cambiado
- The top bar search asks the database for the 8 channels it shows, a count of all the matches and the screenshots of those 8 only, instead of every match and every screenshot on each keystroke (#93).
Corregido
- Reloading Explorar after "Agregar los elegidos" gave 405 Method Not Allowed: the address bar now keeps
/explorewith the same search (#92). - Links that carry the torrent's infohash instead of the Content ID (same 40 hex characters) were always "No encontrado", although Ace Player opens them (#100). Checking, playing and naming now ask the engine both ways, as Ace Player does: as a Content ID first and, if the engine cannot load it, as an infohash, with its own 40-second timeout (running out of it counts as not found). The channel remembers the way that worked and tries it first next time (migration 0006 adds
channel.id_kind); changing its Content ID forgets it. A dead link now takes about 33 seconds to be marked "No encontrado" instead of 5.
Seguridad
- Source downloads no longer follow redirects to loopback, private, link-local, shared, multicast or reserved addresses, nor to schemes other than http/https (#90). Redirects are followed by hand (at most 5), resolving each target first; the address the user types may still be local.
- Source downloads have a 30-second limit for the whole download, redirects included, besides the 20 seconds for each step: a server sending a few bytes now and then can no longer keep the page waiting (#91).
Cambios completos: v1.4.0...v1.5.0
AceList 1.4.0
Descargar
- Descarga
AceList-1.4.0-win64.zip(abajo, en Assets). - Descomprímelo y abre
AceList.exe. Si ya usabas la 1.3.0, reemplaza la carpeta del programa: tus datos siguen en%LOCALAPPDATA%\AceList. - Si Windows muestra "Windows protegió su PC": Más información → Ejecutar de todos modos.
AceList-1.4.0-win64.zip.sha256 tiene la huella SHA-256 del zip.
Buscador en la barra superior y explorador de fuentes de canales (contribución de @ncmartin77, #88).
Incluye la migración 0004 (tablas de fuentes), que se aplica sola al abrir AceList con el ejecutable o con start.bat.
Agregado
- Catalog search in the top bar: every page has a search box ("/" focuses it). While typing, a dropdown shows the first 8 matching channels with their screenshot, category, short hash and status, each linking to its detail, plus a link to all the results in the list; Enter opens the list filtered by the text. Arrow keys walk the matches and Escape or a click elsewhere closes them.
- Channel sources and the Explore page: "Explorar → Fuentes" keeps a list of web addresses (M3U, plain links or AceList exports, up to 5 MB and 5000 channels each) that AceList downloads when one is added and on "Actualizar" / "Actualizar todas", storing what it found so exploring never waits for the network. A failed download keeps the previous channels and shows why; sources can be disabled or deleted. "Explorar" searches the channels of the enabled sources by name, M3U
group-titleor Content ID, marks those already in the catalog (with "Solo los que no tengo" to hide them), and adds the chosen ones in an optional category, checking them in the background like an import. AceList ships with no sources. New tablessourceandsource_entry(migration 0004).
Cambiado
- The text filter of the list and the gallery also matches the category name, besides the title and the Content ID.
Cambios completos: v1.3.0...v1.4.0
AceList 1.3.0
Descargar
- Descarga
AceList-1.3.0-win64.zip(abajo, en Assets). - Descomprímelo y abre
AceList.exe. - Si Windows muestra "Windows protegió su PC": Más información → Ejecutar de todos modos (AceList todavía no está firmado).
AceList-1.3.0-win64.zip.sha256 tiene la huella SHA-256 del zip, para comprobar que es el original. Requisitos, datos y actualización: ver el README.
AceList se distribuye como un ejecutable para Windows: se descarga AceList-1.3.0-win64.zip, se descomprime y se abre AceList.exe, sin instalar Python. ffmpeg, VLC y Ace Stream siguen siendo externos.
En el ejecutable, los datos van a %LOCALAPPDATA%\AceList. Para traer los de la versión con start.bat (carpeta data\), ver "Si usabas la versión con start.bat" en el README. Sin migraciones nuevas.
Agregado
- Executable-aware paths (#76):
config.resource_dir()points at the files that ship with AceList (the bundle's_internalfolder in the Windows executable) andconfig.default_data_dir()keeps the database and screenshots in%LOCALAPPDATA%\AceListwhen running as the executable, so updating the program folder never touches them. Running from source still usesdata/, andACELIST_DATA_DIRstill wins. - Launcher (#77):
app/launcher.py(alsopython -m app.launcher) is whatAceList.exeruns. It applies the database migrations from the files that ship with AceList, uses port 8000 or the next free one up to 8019 (--portto choose), opens the browser once the app answers (--no-browserto skip), names the console "AceList" and explains in Spanish what it is doing. A second start finds the running instance throughserver.jsonin the data folder and only opens the browser./healthnow says it is AceList and its version, so another program on the same port is never mistaken for it. The version lives inapp.__version__, whichpyproject.tomlreads. - Executable build (#78):
windows/build.pybuildsAceList.exein folder mode fromwindows/acelist.spec(PyInstaller 6.22.3, the newbuildextra) and packsAceList-<version>-win64.zipwith its SHA-256. The executable has an old analog TV icon (also the web favicon, drawn bywindows/make_icon.py), version details in its file properties, a visible console, and leaves out pycountry's unused translations: 39 MB unpacked, a 22 MB zip. - Executable from the CI (#79): a new workflow builds
AceList.exeon every pull request that touches the app or its packaging and runs it (windows/smoke_test.py: throwaway data, no engine,/healthwith the expected version, the main pages and the database). When a release is published it checks that the tag matchesapp.__version__, attachesAceList-<version>-win64.zipand its SHA-256 to the release and, on a public repository, a provenance attestation. The launcher now always writes UTF-8, so its messages keep their accents in files and pipes too. - User guide for the executable (#80): the README now starts from the downloadable zip (download, unpack, double-click
AceList.exe), explains the SmartScreen warning of an unsigned program and how to check the zip's SHA-256, where the data lives, how to update or uninstall without losing it, how to bring the data of thestart.batversion along, and new troubleshooting rows. Running from source withstart.batis still documented.
Cambios completos: v1.2.0...v1.3.0
AceList 1.2.0
Exportación e importación del catálogo, y AceList ahora sabe si Ace Stream está abierto: lo muestra, puede iniciarlo y no culpa a los canales cuando está apagado.
Sin migraciones nuevas: basta con actualizar y arrancar. Si los estilos se ven raros la primera vez, una recarga forzada (Ctrl+F5) descarta la hoja de estilos vieja; a partir de esta versión ya no hace falta.
Agregado
- Export and import (#72): "Exportar" in the list and the gallery downloads the channels shown (with the current filters; all without them) as an AceList JSON file with each channel's stored data: title, provisional-title flag, Content ID, category, language, country, resolution and date added. The import page now also takes a file: an AceList export is imported with all its data, creating missing categories and keeping the original dates, while a
.m3uor.txtfile works like pasted links. Channels already in the catalog or repeated in the file are skipped and listed, a channel with invalid data is reported without stopping the rest, and only the new ones are added and checked in the background. Check history and screenshots are not exported. - Ace Stream indicator (#64): the top bar of every page shows whether the engine answers ("Ace Stream 3.1.74" in green, "Ace Stream apagado" in red, the configured URL on hover). It is loaded by htmx after the page and refreshed every 30 s, so an engine that is off never slows a page down.
- Start Ace Stream (#65): when the engine is off and
ace_engine.exeis found (the "Engine de Ace Stream" setting, or the usual install folders), the indicator offers "Iniciar". It launches the engine detached and without a shell, waits up to 30 s for it to answer and shows the result, or says why it could not. - Engine pre-check (#63): "Verificar", "Regenerar capturas", "Nueva captura", adding, importing and changing a link first ask the engine for its version. If it does not answer, no check starts and the page says "Ace Stream no está abierto o no responde"; added, imported or edited channels are saved and left unchecked. Notices that follow a redirect are one-shot (
app/web/flash.py). - Check one channel from the list (#70): a button next to each status badge checks just that channel in the background and comes back to the same list, with its filters and order, which reloads with the new state when done.
Corregido
- An engine that is off is no longer blamed on the channels (#62): when Ace Stream cannot be reached, no
errorcheck is stored. A background batch stops at the first such failure and says so ("Verificación interrumpida: Ace Stream no responde"), dropping the queued checks, and adding, importing or changing a link with the engine off saves the channel unchecked. Timeouts and other engine errors are still recorded aserror. - New styles and scripts now reach the browser right away: their URLs carry a hash of the file's content (
style.css?v=…), so a browser can no longer keep an old stylesheet from its cache, which left "Iniciar" and "Iniciando…" showing together.
Cambios completos: v1.1.0...v1.2.0
AceList 1.1.0
Galería, resolución y nombre de los canales, y un listado más compacto.
Al actualizar hay que aplicar las migraciones 0002 y 0003 (start.bat lo hace al arrancar; a mano, alembic upgrade head). Los canales existentes quedan con resolución "Sin detectar" hasta que se regeneran sus capturas.
Agregado
- Gallery view (#58):
/galleryshows the channels as a Netflix-like grid, one section per category (A-Z, uncategorized last). Each tile has the newest screenshot (or the title's initials), a status badge, a play button on hover, the title below and tags for resolution, category, language and country. It uses the same URL filters as the list, with an "Ordenar por" select, and a Lista/Galería switch keeps the filters; batch checks started from the gallery come back to it. - Channel resolution (#49): channels have a resolution (480p, 720p, 1080p, 4K or Other) that is detected from each screenshot, by reading the JPEG header with no extra tools, and can also be set by hand; a detection replaces a hand-picked value. Checks store the exact frame size, shown in the detail history. The list shows the resolution and filters by it (including "Sin detectar"). Migration
0002adds the columns. - Names from the stream (#50): a channel added or imported without a title takes the name the content is published with (
EngineClient.media_name(), the engine'sget_media_files, which needs no stream session), without the ad URLs those names often carry. If the engine does not know it yet, the channel keeps a provisional title (shown in italics) that the next check completes. A title someone wrote is never replaced. Migration0003addschannel.title_pending;docs/engine-api.mddocuments the spike. - Regenerate screenshots (#48): "Regenerar capturas" in the list (for the filtered channels) and "Nueva captura" in the detail check again and take a new screenshot of every live channel, after a confirmation that warns it takes longer. Changing a channel's Content ID always takes a new one.
- Copy hash button (#47): next to the Content ID in the list and the detail, a button copies the full hash to the clipboard and confirms it with a check mark (and a screen reader announcement).
static/app.jsholds the small script, with a fallback for browsers without the clipboard API.
Cambiado
- Compact channel list (#45): the creation date column is gone (sorting by it still works through the URL) and the last check shows as relative time ("hace 3 h", the date after a month) with the full date on hover, under a shorter "Verificado" header.
- Icon actions (#46): play, edit and delete in each list row are now inline SVG icons (
_icons.html) with accessible names and tooltips.
Corregido
- List thumbnails no longer vanish after a check (#57): the list shows each channel's newest screenshot, which is usually older than its latest check, instead of only the latest check's. Checking ("Verificar") now only tests availability and peers and never takes screenshots; they come from "Regenerar capturas" / "Nueva captura", and from the first check of a channel added or imported without one. No screenshot was ever deleted.
Cambios completos: v1.0.0...v1.1.0