# LRDWeb catalog verification Checked on 2026-10-17. 2244 URLs probed (1672 catalog entries plus the readable page inside every ePub). The checker downloaded 10.7 MB in total, because it only reads file headers. Sources: the LRD Android app (APK version 1.5.26, decoded 2026-10-17), the public calendar feed, and the anonymous `addresources` container listing. ## Verdict **1502 of 1672 resources are confirmed** (reachable, and the bytes are the right kind of file). Open items: 170 entries are unverified and hidden by default; 32 titles have low mapping confidence. | Check | Result | |---|---| | ✅ Reachability | 2118 OK, 126 not-found | | 📄 Correct resource | 2116 match, 2 right file with a wrong header, 0 wrong or empty | | 🔁 Duplicates | 191 files appear in more than one menu; 51 groups of identical files at different URLs, 22 entries share bytes with a differently titled file | | 🗂️ Mapping confidence | 1579 high, 67 medium, 32 low | | 🎵 Audio | 790 of 945 play-ready (the rest are missing or placeholder clips), 790 of those support seeking | | 🛡️ Publishing | 3 URLs left out on purpose, 0 private data hits in what is published | ## ✅ 1. Reachability Every URL got a HEAD request that does not follow redirects, so a redirect, a sign in wall, a missing file, a server error and a timeout each show up as themselves. Timeouts and 5xx get one retry. | Outcome | URLs | |---|---| | 2xx success | 2118 | | 404/410 not found | 126 | Not OK: | URL | Outcome | HTTP | Azure error | |---|---|---|---| | `greatlent/wednesday/soutoro/audio/4. Boutho of Mor Jacob.mp3` | not-found | 404 | | | `greatlent/wednesday/3rd/audio/4. Boutho of Mor Balai.mp3` | not-found | 404 | | | `greatlent/wednesday/6th/audio/5. Manitho of Mor Severus.mp3` | not-found | 404 | | | `holyweek/monday/southoro/audio/6. Gospel.mp3` | not-found | 404 | | | `holyweek/monday/sapro/audio/19. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/monday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/8. Boutho of Mor Balai.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/monday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/6. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/7. Boutho of Mor Ephrem.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/9. Quamo.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/8. Gospel.mp3` | not-found | 404 | | | `holyweek/monday/9th/audio/10. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/tuesday/ramsho/audio/13. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/tuesday/southoro/audio/9. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/tuesday/sapro/audio/14. Qolo 2.mp3` | not-found | 404 | | | `holyweek/tuesday/sapro/audio/18. Morning Praise.mp3` | not-found | 404 | | | `holyweek/tuesday/sapro/audio/20. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/tuesday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/8. Boutho of Mor Balai.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/tuesday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/tuesday/9th/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/wednesday/ramsho/audio/13. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/wednesday/sapro/audio/20. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/wednesday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/8. Boutho of Mor Balai.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/9. Gospel.mp3` | not-found | 404 | | | `holyweek/wednesday/6th/audio/10. Quamo.mp3` | not-found | 404 | | | `holyweek/wednesday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | | `holyweek/wednesday/9th/audio/5. Qolo.mp3` | not-found | 404 | | | `holyweek/wednesday/9th/audio/6. Bothe Dhasho.mp3` | not-found | 404 | | | `holyweek/wednesday/9th/audio/7. Boutho of Mor Ephrem.mp3` | not-found | 404 | | | `holyweek/wednesday/9th/audio/8. Gospel.mp3` | not-found | 404 | | | `holyweek/wednesday/9th/audio/9. Quamo.mp3` | not-found | 404 | | ...and 46 more in tools/verification.json. ## 📄 2. Correct resource A 2xx alone proves little (an error page can be a 200). Each OK URL got a ranged GET of its first bytes, checked against the signature its extension promises: `%PDF-` for PDFs, `RIFF....WAVE` for WAV, an ID3 tag or MPEG frame for MP3, `ftyp` for M4A, PNG, JPEG and GIF magic numbers, a `` root for ePub packages, `` for ePub pages and `{` for JSON. The Content-Type header is compared too. | Extension | Checked | Match | Right bytes, wrong header | Wrong or empty | |---|---|---|---|---| | .mp3 | 632 | 632 | 0 | 0 | | .opf | 572 | 572 | 0 | 0 | | .html | 571 | 571 | 0 | 0 | | .wav | 185 | 185 | 0 | 0 | | .pdf | 106 | 106 | 0 | 0 | | .jpg | 40 | 40 | 0 | 0 | | .jpeg | 4 | 4 | 0 | 0 | | .png | 3 | 3 | 0 | 0 | | .m4a | 2 | 0 | 2 | 0 | | .json | 1 | 1 | 0 | 0 | | .gif | 1 | 1 | 0 | 0 | | .xhtml | 1 | 1 | 0 | 0 | Right file, wrong header (they are still confirmed, the card warns that the browser may download rather than open them): | Extension | Served as | Files | |---|---|---| | .m4a | `audio/mp4a-latm` | 2 | **15 ePub pages are placeholders.** They are valid pages, but all they say is "Coming Soon", so those entries stay unverified: - `feastdays/St Gregorios/Ramsho ePub/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/1. Ramsho/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/2. Soutoro/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/3. Lilio/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/6. Sixth Hour/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/5. Third Hour/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/4. Sapro/index.html` - `pampakuda/2. SPECIAL PRAYERS/16. Fast of Nineveh/7. Ninth Hour/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/1. Ramsho/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/2. Soutoro/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/3. Lilio/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/4. Sapro/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/5. Third Hour/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/6. Sixth Hour/index.html` - `pampakuda/2. SPECIAL PRAYERS/29. Passion Week/7. Ninth Hour/index.html` ePubs: 572 packages parsed. Each one's manifest names the page the app renders, and LRDWeb links to that page (it opens as a normal web page). 555 are a single page; 17 have several and link to their first page or table of contents. ## 🔁 3. Duplicates **Same URL in more than one menu:** 191 files. Each is one catalog entry; the other places it appears are kept in `alsoIn` and are searchable. **URL spelling variants:** 219 URLs had raw characters (mostly spaces) that were percent-encoded. The encoded form is what the catalog stores. **Identical files at different URLs** (same Content-MD5 and size, comparing what a visitor opens, so the page for an ePub): 51 groups. - 48 groups are the same recording or text reused under the same or a compatible title (for example the Prefatory Prayer at every hour, sometimes just called Prayers). That is expected and each copy keeps its own place in the catalog. - **3 groups share bytes but carry different titles.** At most one title in each group can describe the file, so every member is marked low confidence and its card says it may be the wrong file: - 4.0 MB: Qolo (`greatlent/monday/3rd/audio/3. Qolo.mp3`); Psalm 63 (`holyweek/wednesday/sapro/audio/5. Psalm 63.mp3`); Eniyono 2 (`holyweek/wednesday/sapro/audio/6. Eniyono 2.mp3`); Psalm 19 (`holyweek/wednesday/sapro/audio/7. Psalm 19.mp3`); Psalm 51 (`holyweek/thursday/3rd/audio/3. Psalm 51.mp3`); Psalm 51 (`holyweek/thursday/6th/audio/3. Psalm 51.mp3`); and 2 more - 2.5 MB: Boutho of Mor Balai (`greatlent/monday/3rd/audio/4. Boutho of Mor Balai.mp3`); Quamo (`holyweek/monday/ramsho/audio/11. Quamo.mp3`); Nicene Creed (`holyweek/monday/ramsho/audio/12. Nicene Creed.mp3`); Prayer of St. Severus (`holyweek/monday/southoro/audio/8. Prayer of St. Severus.mp3`); Quamo (`holyweek/monday/southoro/audio/9. Quamo.mp3`); Nicene Creed (`holyweek/monday/southoro/audio/10. Nicene Creed.mp3`); and 6 more - 3.9 MB: Manitho (`nativity/Nativity/Nativity Audio/4. Manitho.mp3`); Madrosho (`nativity/Nativity/Nativity Audio/5. Madrosho.mp3`) 0 OK files have no Content-MD5 on the server, so they can only be compared by size, which is not proof. They are not listed as duplicates. ## 🗂️ 4. Mapping confidence Titles come from the app's own menu objects, where the title and URL sit in the same object literal, so the pairing is what the app shows. The check compares that title with the file and folder names (spelling tolerant, since `Buotho`, `Boutho` and `Bo_utho` are all the same word here). | Confidence | Entries | Meaning | |---|---|---| | high | 1579 | title and file or folder name agree | | medium | 67 | probably right; see the reasons below | | low | 32 | uncertain; listed in full below | Medium, by reason: | Reason | Entries | Example | |---|---|---| | title only partly matches the file name | 41 | The Fast of Nineveh booklet → `ninevah/Nineveh.pdf` | | no title in the app, so the name comes from the file name | 5 | Bible → `bible/epub/OEBPS/content.opf` | | one image shared by 2 calendar days | 4 | Annunciation to the Virgin Mary → `assets/calendar/images/Annunciation Mary.jpg` | | one image shared by 4 calendar days | 3 | Feast of the Nativity of our Lord → `assets/calendar/images/Nativity.jpg` | | the app also gives this file another title: Gospel | 2 | Quamo → `holyweek/tuesday/ramsho/audio/12. Quamo.mp3` | | the app also gives this file another title: Concluding Hymn | 2 | Fraction Hymn → `assets/calendar/prayers-hymns/11. Feast of the Infant Martyrs/2. Fraction Hymn/Fraction Hymn.wav` | | one image shared by 3 calendar days | 2 | Bright Week (Heworo) → `assets/calendar/april/bright week/resurrection3.jpg` | | the app also gives this file another title: Madrosho (Brik hayo dasbo) | 1 | Madrosho (Ithu mruthiyil) → `prayers/Funeral Audio/Men's Funeral Audio/Service 4/4. Madrosho (Ithu mruthiyil).mp3` | | the app also gives this file another title: Ascension bilingual booklet | 1 | Ascension booklet → `feastdays/Ascension.pdf` | | one image shared by 7 calendar days | 1 | Feast of the Theophany (Jan 6) → `assets/calendar/images/baptism1-1800.jpg` | | one image shared by 53 calendar days | 1 | Feast of Pentecost → `assets/calendar/pentecost/pentecost2.jpg` | | one image shared by 34 calendar days | 1 | 1st Friday of Great Lent → `assets/calendar/feb/24/bridegroom.jpg` | | one image shared by 5 calendar days | 1 | Monday of Holy Week → `assets/calendar/april/passion week/PassionWeek2.jpg` | | one image shared by 6 calendar days | 1 | Feast of the Dormition of the Theotokos → `assets/calendar/dormition/dormition2.jpg` | | one image shared by 9 calendar days | 1 | Feast of the Holy Cross → `assets/calendar/Holy Cross/Holy-Cross.jpg` | Low (shown with a badge on the site): | Title | Where | URL | Why | |---|---|---|---| | Qolo | Great Fast › Monday › Soutoro | `greatlent/monday/soutoro/audio/3. Glory be to God in the Highest.mp3` | title does not match the file or folder name | | Qolo | Great Fast › Monday › Third Hour | `greatlent/monday/3rd/audio/3. Qolo.mp3` | byte for byte the same file as one titled "Eniyono 2", "Psalm 19", "Psalm 51" | | Boutho of Mor Balai | Great Fast › Monday › Third Hour | `greatlent/monday/3rd/audio/4. Boutho of Mor Balai.mp3` | byte for byte the same file as one titled "Isaiah", "Morning Praise", "Nicene Creed" | | Quamo | Holy Week › Monday › Ramsho | `holyweek/monday/ramsho/audio/11. Quamo.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Nicene Creed | Holy Week › Monday › Ramsho | `holyweek/monday/ramsho/audio/12. Nicene Creed.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Prayer of St. Severus | Holy Week › Monday › Soutoro | `holyweek/monday/southoro/audio/8. Prayer of St. Severus.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Quamo | Holy Week › Monday › Soutoro | `holyweek/monday/southoro/audio/9. Quamo.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Nicene Creed | Holy Week › Monday › Soutoro | `holyweek/monday/southoro/audio/10. Nicene Creed.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Morning Praise | Holy Week › Monday › Sapro | `holyweek/monday/sapro/audio/17. Morning Praise.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Nicene Creed" | | Gospel | Holy Week › Tuesday › Ramsho | `holyweek/tuesday/ramsho/audio/12. Quamo.mp3` | the app links this title to a file named for "Quamo" | | Isaiah | Holy Week › Tuesday › Sapro | `holyweek/tuesday/sapro/audio/9. Isaiah.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Morning Praise", "Nicene Creed" | | Gospel | Holy Week › Wednesday › Ramsho | `holyweek/wednesday/ramsho/audio/12. Quamo.mp3` | the app links this title to a file named for "Quamo" | | Nicene Creed | Holy Week › Wednesday › Soutoro | `holyweek/wednesday/southoro/audio/9. Nicene Creed.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Psalm 63 | Holy Week › Wednesday › Sapro | `holyweek/wednesday/sapro/audio/5. Psalm 63.mp3` | byte for byte the same file as one titled "Eniyono 2", "Qolo" | | Eniyono 2 | Holy Week › Wednesday › Sapro | `holyweek/wednesday/sapro/audio/6. Eniyono 2.mp3` | byte for byte the same file as one titled "Psalm 19", "Psalm 51", "Psalm 63" | | Psalm 19 | Holy Week › Wednesday › Sapro | `holyweek/wednesday/sapro/audio/7. Psalm 19.mp3` | byte for byte the same file as one titled "Eniyono 2", "Qolo" | | Isaiah | Holy Week › Wednesday › Sapro | `holyweek/wednesday/sapro/audio/9. Isaiah.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Morning Praise", "Nicene Creed" | | Psalm 113 | Holy Week › Wednesday › Sapro | `holyweek/wednesday/sapro/audio/12. Psalm 113.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Morning Praise" | | Morning Praise | Holy Week › Wednesday › Sapro | `holyweek/wednesday/sapro/audio/18. Morning Praise.mp3` | byte for byte the same file as one titled "Boutho of Mor Balai", "Isaiah", "Nicene Creed" | | Gospel | Holy Week › Thursday › Ramsho | `holyweek/thursday/ramsho/audio/11. Quamo.mp3` | title does not match the file or folder name | | Psalm 51 | Holy Week › Thursday › Third Hour | `holyweek/thursday/3rd/audio/3. Psalm 51.mp3` | byte for byte the same file as one titled "Eniyono 2", "Qolo" | | Psalm 51 | Holy Week › Thursday › Sixth Hour | `holyweek/thursday/6th/audio/3. Psalm 51.mp3` | byte for byte the same file as one titled "Eniyono 2", "Qolo" | | Psalm 51 | Holy Week › Thursday › Ninth Hour | `holyweek/thursday/9th/audio/3. Psalm 51.mp3` | byte for byte the same file as one titled "Eniyono 2", "Qolo" | | Psalms | Holy Week › Friday › Ramsho | `holyweek/friday/ramsho/audio/5. Psalms.mp3` | byte for byte the same file as one titled "Eniyono 2", "Qolo" | | Gospel | Holy Week › Friday › Ramsho | `holyweek/friday/ramsho/audio/11. Quamo.mp3` | title does not match the file or folder name | | Madrosho (Brik hayo dasbo) | Sacramental Offices › Funeral › Men's Funeral › Service 4 | `prayers/Funeral Audio/Men's Funeral Audio/Service 4/4. Madrosho (Ithu mruthiyil).mp3` | the app links this title to a file named for "Madrosho (Ithu mruthiyil)" | | Manitho | Feast Day Services › Nativity › Nativity Service | `nativity/Nativity/Nativity Audio/4. Manitho.mp3` | byte for byte the same file as one titled "Madrosho" | | Madrosho | Feast Day Services › Nativity › Nativity Service | `nativity/Nativity/Nativity Audio/5. Madrosho.mp3` | byte for byte the same file as one titled "Manitho" | | Ascension bilingual booklet | Feast Day Services › Ascension | `feastdays/Ascension.pdf` | the app links this title to a file named for "Ascension booklet" | | 1. Sanctification of the Church | Pampakuda Prayers › Occasional Prayers | `pampakuda/2. SPECIAL PRAYERS/1. Qudosh Idto & Hudoth Idto/content.opf` | title does not match the file or folder name | | Concluding Hymn | Abridged Calendar › Liturgical Year › 11. Feast of the Infant Martyrs (Dec 27) | `assets/calendar/prayers-hymns/11. Feast of the Infant Martyrs/2. Fraction Hymn/Fraction Hymn.wav` | the app links this title to a file named for "Fraction Hymn" | | Concluding Hymn | Abridged Calendar › Liturgical Year › 11. Feast of the Infant Martyrs (Dec 27) | `assets/calendar/prayers-hymns/11. Feast of the Infant Martyrs/2. Fraction Hymn/ePub/content.opf` | the app links this title to a file named for "Fraction Hymn" | ## 🎵 5. Audio Nothing was fully downloaded. Each file got a HEAD, then a ranged GET: 4 KB of WAV header (format and exact length), or 64 bytes plus 8 KB from the first MPEG frame for MP3. For MP3 the length comes from a Xing or VBRI header when there is one, or from the file size when every sampled frame has the same bitrate. Variable bitrate files without a header get no length rather than a wrong one. A `206 Partial Content` reply to a range request is what lets a browser seek and stream instead of waiting for the whole file. ### Calendar hymn audio (`assets/calendar/prayers-hymns`) | Check | Result | |---|---| | Links | 185 | | Reachable (2xx) | 185 | | Real audio bytes | 185 | | Longer than a placeholder | 185 | | Valid header | 185 | | Seekable (206 to a range request) | 185 | | Opens and plays in a browser tab (audio/* type, not an attachment) | 185 | | Formats | 185 × WAV PCM 16-bit 44.1 kHz stereo | | Total length | 2h 54m | | Total size | 1841.7 MB | | Largest file | 59.0 MB | Cross-check: the calendar feed names 185 hymn texts and 185 hymn recordings. The APK knows 154 of those recordings; the other 31 were added to the feed after this app build and are only known from the feed. Every recording above was checked either way. ### All other audio | Check | Result | |---|---| | Links | 760 | | Reachable (2xx) | 634 | | Real audio bytes | 634 | | Longer than a placeholder | 605 | | Valid header | 634 | | Seekable (206 to a range request) | 634 | | Opens and plays in a browser tab (audio/* type, not an attachment) | 634 | | Formats | 508 × MP3 44.1 kHz; 109 × MP3 48 kHz; 10 × MP3 32 kHz VBR; 5 × MP3 16 kHz; 2 × M4A | | Total length | 14h 53m | | Total size | 1987.7 MB | | Largest file | 35.4 MB | Not play-ready: | URL | Outcome | HTTP | |---|---|---| | `greatlent/wednesday/soutoro/audio/4. Boutho of Mor Jacob.mp3` | not-found | 404 | | `greatlent/wednesday/3rd/audio/4. Boutho of Mor Balai.mp3` | not-found | 404 | | `greatlent/wednesday/6th/audio/5. Manitho of Mor Severus.mp3` | not-found | 404 | | `holyweek/monday/southoro/audio/6. Gospel.mp3` | not-found | 404 | | `holyweek/monday/sapro/audio/19. Nicene Creed.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/monday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/8. Boutho of Mor Balai.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/monday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/6. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/7. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/9. Quamo.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/8. Gospel.mp3` | not-found | 404 | | `holyweek/monday/9th/audio/10. Nicene Creed.mp3` | not-found | 404 | | `holyweek/tuesday/ramsho/audio/13. Nicene Creed.mp3` | not-found | 404 | | `holyweek/tuesday/southoro/audio/9. Nicene Creed.mp3` | not-found | 404 | | `holyweek/tuesday/sapro/audio/14. Qolo 2.mp3` | not-found | 404 | | `holyweek/tuesday/sapro/audio/18. Morning Praise.mp3` | not-found | 404 | | `holyweek/tuesday/sapro/audio/20. Nicene Creed.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/tuesday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/8. Boutho of Mor Balai.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/tuesday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/tuesday/9th/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/wednesday/ramsho/audio/13. Nicene Creed.mp3` | not-found | 404 | | `holyweek/wednesday/sapro/audio/20. Nicene Creed.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/wednesday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/8. Boutho of Mor Balai.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/wednesday/6th/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/6. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/7. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/8. Gospel.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/9. Quamo.mp3` | not-found | 404 | | `holyweek/wednesday/9th/audio/10. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/ramsho/audio/11. Quamo.mp3` | not-found | 404 | | `holyweek/thursday/ramsho/audio/13. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/southoro/audio/1. Prefatory Prayer.mp3` | not-found | 404 | | `holyweek/thursday/southoro/audio/5. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/thursday/southoro/audio/9. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/sapro/audio/11. Eniyono 6.mp3` | not-found | 404 | | `holyweek/thursday/sapro/audio/14. Matthew.mp3` | not-found | 404 | | `holyweek/thursday/sapro/audio/21. Morning Praise.mp3` | not-found | 404 | | `holyweek/thursday/sapro/audio/23. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/thursday/3rd/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/6. Qolo 2.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/8. Boutho of Mor Jacob.mp3` | not-found | 404 | | `holyweek/thursday/6th/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/4. Eniyono.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/5. Qolo.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/7. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/8. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/9. Gospel.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/11. Nicene Creed.mp3` | not-found | 404 | | `holyweek/thursday/9th/audio/10. Quamo.mp3` | not-found | 404 | | `holyweek/friday/ramsho/audio/9. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/friday/ramsho/audio/11. Quamo.mp3` | not-found | 404 | | `holyweek/friday/ramsho/audio/13. Nicene Creed.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/3. Qolo.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/4. Bothe Dhasho.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/5. Boutho of Mor Ephrem.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/7. Prayer of St. Severus.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/6. Psalms.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/9. Nicene Creed.mp3` | not-found | 404 | | `holyweek/friday/southoro/audio/8. Quamo.mp3` | not-found | 404 | | `holyweek/friday/3rd/audio/1. Prayers.mp3` | not-found | 404 | | `holyweek/friday/6th/audio/1. Prayers.mp3` | not-found | 404 | | `holyweek/friday/9th/audio/1. Prayers.mp3` | not-found | 404 | **29 files are under 8 seconds long.** They are real audio but far too short for the prayer or hymn in their title, so they look like placeholders. They are kept as unverified and hidden by default: | URL | Length | |---|---| | `holyweek/tuesday/southoro/audio/6. Psalms.mp3` | 6.9 s | | `holyweek/wednesday/southoro/audio/6. Psalms.mp3` | 6.9 s | | `holyweek/thursday/southoro/audio/6. Psalms.mp3` | 6.9 s | | `prayers/Funeral Audio/Men's Funeral Audio/Service 1/1. Psalm 51:Eniyono.mp3` | 3 s | | `prayers/Funeral Audio/Men's Funeral Audio/Service 3/2. Takshefto.mp3` | 3 s | | `prayers/Funeral Audio/Men's Funeral Audio/Service 3/3. Qolo (Quqoyo - Tone 7).mp3` | 3 s | | `prayers/Funeral Audio/Men's Funeral Audio/Service 3/4. B'outo of Mor Ephrem (Tone 7).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 1/1. Eniyono.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 1/2. Quqlion & Eqbo.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 1/4. Qolo (Quqoyo - Tone 5).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 1/3. Takshefto.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 1/6. B'outo of Mor Jacob.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 1/5. Sleq Laslibo (Seeyone Mashiha).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 2/1. Quqlion & Eqbo.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 2/2. Manitho.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 2/3. Qolo 1 - Likhitham.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 2/4. Qolo 2.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 2/5. Madrosho (Mruthare uthanathil).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 2/6. B'outo of Mar Ephrem.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 3/1. Quqlion & Eqbo.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 3/2. Qolo 1 (Nakaravadum.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 3/3. Qolo 2 (Tubayk Idto).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 3/4. Qolo 3 Nadha thava).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 3/5. Madrosho (Paradaiso).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 3/6. B'outo of Mor Balai.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 4/1. Quqlion & Eqbo.mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 4/2. Manitho .mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 4/3. Qolo 1 (Mashiha rajaave).mp3` | 3 s | | `prayers/Funeral Audio/Women's Funeral Audio/Service 4/4. Madrosho (Nadha Mruthayami).mp3` | 3 s | ### Browser playback sample Chrome 155 loaded each file below in a muted `