|
|
4c5e936ca8
|
fix: stable named volume for data persistence across deploys
|
2026-07-07 22:05:56 +00:00 |
|
|
|
5efa6e4284
|
fix: use pure shell instead of python3 for version parsing in runner
|
2026-07-07 21:18:07 +00:00 |
|
|
|
3fc5b2d58f
|
fix: use GITHUB_OUTPUT file in bump step too
|
2026-07-07 20:05:33 +00:00 |
|
|
|
7fbb84dce2
|
fix: use python3 instead of jq for JSON parsing in runner
|
2026-07-07 20:05:13 +00:00 |
|
|
|
3a32a89e34
|
fix: add missing import os for environ access
|
2026-07-07 19:47:25 +00:00 |
|
|
|
f7fdcb374a
|
ci: use Gitea container registry instead of release branches
|
2026-07-07 19:36:39 +00:00 |
|
|
|
54f57a0668
|
Merge pull request 'ci: add PR check and release/deploy workflows' (#39) from ci-fix into main
Reviewed-on: https://git.example.com/jarianc/NewsArchiverV2/pulls/39
|
2026-07-07 14:25:55 -05:00 |
|
|
|
b3dfe17ef9
|
ci: add CODEOWNERS for official reviews
|
2026-07-07 19:20:54 +00:00 |
|
|
|
0ae66c921b
|
Merge branch 'main' into ci-fix
|
2026-07-07 19:19:34 +00:00 |
|
|
|
1c4f6b809e
|
fix: lowercase docker image name for uppercase repo
|
2026-07-07 19:18:10 +00:00 |
|
|
|
0ad3fbb68d
|
ci: add PR check and release/deploy workflows with version.json
|
2026-07-07 18:35:30 +00:00 |
|
|
|
5aa4a98e51
|
Merge pull request 'fix: fix docker build for CI' (#37) from ci-fix into main
Reviewed-on: https://git.example.com/jarianc/NewsArchiverV2/pulls/37
|
2026-07-05 19:14:03 -05:00 |
|
|
|
976e29087f
|
fix: fix docker build for CI
|
2026-07-05 23:59:38 +00:00 |
|
|
|
c68b3012dc
|
Merge pull request 'Fix meta tags (#30), favicon (#31), aria-labels (#29)' (#36) from fix/ope-hardening-2 into main
|
2026-07-04 23:27:05 -05:00 |
|
|
|
11a91ee297
|
fix: add meta tags (#30), favicon (#31), aria-labels (#29)
|
2026-07-05 04:26:50 +00:00 |
|
|
|
1ce7dc94a1
|
Merge pull request 'OPE hardening: logging, Docker, deps, scheduler, cleanup' (#35) from fix/ope-hardening into main
|
2026-07-04 23:14:23 -05:00 |
|
|
|
a7936b8b11
|
fix: OPE hardening - logging, Docker, deps, scheduler, cleanup
- #12: Remove duplicate logging.basicConfig() from 10 modules
- #15: Remove redundant import re in rebuild_database.py
- #17: rglob('*') → rglob('*.html/json/txt/xml/md') for speed
- #18: Dockerfile individual COPY → glob COPY *.py/*.json + .dockerignore
- #19: Remove deprecated docker-compose version field
- #20: Pin requirements.txt versions (flask, requests, etc.)
- #22: SIGALRM → threading.Timer for multi-threaded safety
- #23: AP regex parsing → BeautifulSoup selectors
|
2026-07-05 04:14:05 +00:00 |
|
|
|
db9fa92c40
|
Merge pull request 'Security hardening: auth, CSRF, path traversal, XSS, tests' (#34) from fix/security-and-tests into main
|
2026-07-04 23:08:51 -05:00 |
|
|
|
7565366138
|
fix: tests + URL-encoded path traversal fix + fix test files
- Add URL-decode in validate_archive_path to block ..%2F encoded traversal
- Rewrite test_storage_manager.py (was corrupted, #14)
- Rewrite test_path_handling.py (remove hardcoded macOS path, #13)
- Add test_web_interface.py (auth, CSRF, headers, XSS tests)
- All 11 tests pass
- Fixes: #1 path traversal, #2 XSS, #13 hardcoded path, #14 corrupted tests
|
2026-07-05 04:06:06 +00:00 |
|
|
|
0a411d13cf
|
Merge pull request 'CI: remove --no-cache for docker layer caching' (#33) from ci-fix-nocache into main
Reviewed-on: https://git.example.com/jarianc/NewsArchiverV2/pulls/33
|
2026-07-04 22:23:44 -05:00 |
|
|
|
5afeb290a7
|
CI: remove --no-cache for docker layer caching
|
2026-07-05 03:13:52 +00:00 |
|
|
|
aa7fc1f1e6
|
CI: add generalized workflow
|
2026-07-05 02:46:35 +00:00 |
|
|
|
e93b5cee3e
|
fix: security hardening - auth, CSRF, path traversal, XSS, secrets, headers
- #3: Path traversal fix in /archive and /archive-file routes via resolve() check
- #4: SSRF mitigation - env-based SERVER_URL, no hardcoded internal IPs
- #5: Stored XSS fix - remove |safe filter from article.html template
- #6: Missing import os in scheduler.py (crash on import)
- #7: Flask auth (password via NEWSARCHIVER_PASSWORD) + CSRF tokens
- #8: Same as #5 (template XSS via |safe)
- #9: Motley Fool API key removed - use env var interpolation
- #10: Hardcoded paths in setup_cron.sh, stop_services.sh - use BASH_SOURCE
- #11: Hardcoded user paths in singlefile_archive.py - use Path.home()
- #16: HTTP RSS feeds updated to HTTPS (Barchart, Guardian, BBC, MarketWatch)
- #24: SSRF - replace hardcoded 192.168.8.150:5000 with NEWSARCHIVER_SERVER_URL
- #25: Command execution details sanitized in error messages
- #26: Security headers (X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy, CSP)
- #27: Auth guard on all routes except RSS/Atom feeds
- archive_engine.py: Add missing import os
|
2026-07-04 05:23:05 +00:00 |
|
|
|
eb6228d3af
|
most deletes
|
2026-03-31 10:16:38 -05:00 |
|
|
|
ff24fd0db5
|
added docker support
|
2026-03-31 10:15:50 -05:00 |
|
|
|
09d81e8cda
|
fix singlefile archived links on the UI
|
2026-03-31 09:55:44 -05:00 |
|
|
|
0f1b2741db
|
Current state of NA
|
2026-03-31 09:37:36 -05:00 |
|
|
|
639f03fdb9
|
first commit
|
2026-03-31 09:37:06 -05:00 |
|