Commit Graph

61 Commits

Author SHA1 Message Date
forust bb4e28a710 feat: add per-account API, auth, and continuous orchestration
- TelegramAuthManager rewritten for per-account clients/auth state
- ContinuousScrapeOrchestrator managing per-account continuous loops
- Full /api/accounts/* REST endpoints: CRUD, auth (QR/phone/password),
  channels, jobs, continuous config, settings, media toggle
- Legacy backward compat via legacy_account_id auto-detection
  (old /api/auth/*, /api/channels/*, /api/jobs/* still work for legacy
  single-account mode)
- load_messages() accepts account_id parameter for per-account data
- auth_status_for(), list_channels_snapshot() per-account helpers
- OpenAPI spec updated with all /api/accounts/* endpoints
2026-06-27 15:20:27 +02:00
forust 220d04b3a6 feat: make scraper and job service account-aware
- OptimizedTelegramScraper accepts account_id parameter;
  sets DATA_DIR to data/accounts/<id>/ when provided
- Session path uses account_session_path() for per-account session files
- initialize_client() reads per-account credentials from account state store
- ScraperJobService passes account_id from payload to scraper constructor
- Per-account state loaded from AccountStateStore before scraping
2026-06-27 15:20:15 +02:00
forust 6e3966aeb5 feat: add multi-account data layer with legacy migration
- GlobalStateStore for account registry in global state.json
- AccountStateStore for per-account settings (channels, credentials, continuous config)
- migrate_legacy_state() copies legacy data/ to data/accounts/default/
  with progress logging; renames session.session to default.session
- Helpers: account_data_dir(), account_session_path(), list_accounts(),
  load_account(), save_account(), get_account_store(), get_global_store()
- StateStore accepts defaults parameter for flexible default values
2026-06-27 15:20:09 +02:00
forust ac5beb831b lint: fix bare except and unused variables 2026-06-19 11:52:30 +02:00
forust df644219de k8s + image 2026-06-11 18:19:17 +02:00
forust 7af597b800 sidebar toggle + css 2026-06-11 18:19:09 +02:00
forust c5361f2271 Redesign message viewer as Telegram-style chat with bubbles, replies, infinite scroll, and orientation
- Chat bubbles with 1px border-radius, angular tail arrows
- Own messages right (blue), others left (dark) via sender_id vs user_id
- Reply preview with left border accent, clickable scroll to original
- Infinite scroll up via IntersectionObserver on scroll-sentinel
- Date separators (Today/Yesterday/date) between messages
- Full-height messages panel with sidebar (channels) + header
- Backend: reply_to_message data in load_messages(), user_id exposed in auth snapshot
- Auto-scroll to bottom on channel load (triple scrollTop fallback)
- history.scrollRestoration = manual to prevent mid-page jumps
2026-05-27 01:01:18 +02:00
forust 1dfe41950e Add graceful shutdown, logging, streaming with Range Requests, and state.json cache
- Graceful shutdown: SIGTERM/SIGINT handlers stop continuous scraper,
  disconnect Telegram client, drain running jobs with timeout
- Logging: replace print() with logging module throughout web server,
  basicConfig in main.py with structured log format
- Streaming: chunked file reads (64KB) instead of loading entire files
  into memory; full HTTP Range Request support (206 Partial Content)
  for video seeking in the browser
- Cache: TTL-based in-memory cache (1s) for state.json reads in
  StateStore, thread-safe with existing RLock
- Bugfix: send_error_json now converts HTTPStatus to int for JSON
2026-05-27 00:14:26 +02:00
forust 856d04bd16 Fixed on-hover button style 2026-05-24 22:29:25 +02:00
forust d49fe28f08 Refactor server state and add health checks 2026-05-24 22:24:13 +02:00
forust a78a708757 Improve webui style and add api docs 2026-05-24 22:18:41 +02:00
forust 6851922a9e Merge branch 'dev' 2026-05-24 21:56:24 +02:00
forust ff000e88d4 Enchance weblog 2026-04-26 23:21:26 +02:00
forust cc99f752b3 Change exposed port to 7887 2026-04-26 21:45:12 +02:00
forust be02eed378 Add export button for channel data and update API integration
Co-authored-by: Copilot <copilot@github.com>
2026-04-25 22:12:14 +02:00
forust 5b8a95d73d Revert "Remove tty and stdin_open options"
This reverts commit 612fa28ec6.
2026-04-25 03:00:00 +02:00
forust cf674b4943 Update port for webui to 7887 2026-04-25 02:56:21 +02:00
forust 612fa28ec6 Remove tty and stdin_open options 2026-04-25 02:55:01 +02:00
forust 47ef106ee1 Add .dockerignore file to exclude unnecessary files and directories 2026-04-25 02:51:11 +02:00
forust 46922a887f Add tabbed navigation and update styles for content panels 2026-04-25 02:43:16 +02:00
forust 3565e31885 Remove funding config 2026-04-25 02:35:02 +02:00
forust 9094a52ccb Restore funding config 2026-04-25 02:34:45 +02:00
forust db3641ddf9 Add web auth and continuous scraping logs 2026-04-25 02:34:35 +02:00
forust 19e173212c Update README for web UI workflow 2026-04-25 02:19:58 +02:00
forust f57e1d63eb Add lightweight web control panel 2026-04-25 02:19:52 +02:00
forust 535b8195ef Prepare scraper for shared data and server mode 2026-04-25 02:19:43 +02:00
Dark Web Informer ec14ba8eb3 Fixed destination channel selection stable_cli 2026-02-19 21:42:29 +00:00
Dark Web Informer f118e50940 Update with combined scraping and forwarding 2026-01-30 16:29:31 +00:00
Dark Web Informer 9082136d6e Added Channel ID info when using Copy message 2026-01-26 21:05:49 +00:00
Dark Web Informer b5bf63e1e1 Event handling fix 2026-01-26 17:46:23 +00:00
Dark Web Informer b9ca6ce634 New Telegram Scraper Script with Copy/Forwarding 2026-01-26 17:14:58 +00:00
Dark Web Informer a9b486d61b Update and rename telegram-scraper.py to telegram-scraper-OLD.py 2026-01-26 17:13:53 +00:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 fb7ad3742e Version 3.1 2025-12-12 15:38:09 +01:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 8d4e092b1b Update telegram-scraper.py
v3.0
2025-09-11 17:34:59 +02:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 e7bf2b1ed7 Update requirements.txt 2025-09-11 17:34:30 +02:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 7db46018ce Update README.md 2025-09-11 17:32:56 +02:00
Robert Aitch 65b221ade6 Update requirements.txt 2025-07-20 20:18:12 +02:00
Robert Aitch ac7d6de06b Performance improvements
major performance overhaul with 5-10x speed improvements
2025-07-20 00:57:54 +02:00
Robert Aitch 57bf125ca1 Delete gai.py 2025-07-20 00:36:53 +02:00
Robert Aitch f383f222c4 Update README.md 2025-07-20 00:35:41 +02:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 6273c9c11c Merge pull request #12 from chaseyoungcn/main
get total_messages speed up
2025-07-18 10:33:00 +02:00
fxxk-research 85d3f0f935 Rename gai to gai.py
rename
2025-06-26 13:36:58 +08:00
fxxk-research 30bda684fe Update gai
filiter no message channel
2025-06-26 13:36:15 +08:00
fxxk-research aa9b756d37 Create gai
完善进度条、日志系统
2025-06-23 11:03:53 +08:00
fxxk-research 6baf4bdd13 get total_messages speed up
O(n) -> O(1)
2025-06-19 20:42:10 +08:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 6c98710320 Merge pull request #11 from skorphil/main
Main
2025-05-18 22:10:03 +02:00
Philipp Rich b32e6311fc Added status messages to counting 2025-05-15 19:49:32 +04:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 75679fab31 Update README.md 2024-12-27 18:28:40 +01:00
𝓾𝓷𝓷𝓸𝓱𝔀𝓷 98366f2a9f Update FUNDING.yml 2024-12-27 18:27:54 +01:00
ųŋŋøհwn 6d47879ce8 Update README.md 2024-11-12 08:55:14 +01:00