docs: update roadmap and task tracking
- README: update feature list - ROADMAP: add completed features, update priorities - TODO: mark completed tasks, add new items - config.ini.sample: update example values - http2: minor cleanup
This commit is contained in:
49
TODO.md
49
TODO.md
@@ -133,37 +133,14 @@ and report() methods. Integrated into main loop with configurable stats_interval
|
||||
|
||||
---
|
||||
|
||||
### [ ] 14. Export Functionality
|
||||
### [x] 14. Export Functionality
|
||||
|
||||
**Problem:** No easy way to export working proxies for use elsewhere.
|
||||
|
||||
**Implementation:**
|
||||
```python
|
||||
# new file: export.py
|
||||
def export_proxies(proxydb, format='txt', filters=None):
|
||||
"""Export working proxies to various formats."""
|
||||
|
||||
query = 'SELECT proto, proxy FROM proxylist WHERE failed=0'
|
||||
if filters:
|
||||
if 'proto' in filters:
|
||||
query += ' AND proto=?'
|
||||
|
||||
rows = proxydb.execute(query).fetchall()
|
||||
|
||||
if format == 'txt':
|
||||
return '\n'.join('%s://%s' % (r[0], r[1]) for r in rows)
|
||||
elif format == 'json':
|
||||
import json
|
||||
return json.dumps([{'proto': r[0], 'address': r[1]} for r in rows])
|
||||
elif format == 'csv':
|
||||
return 'proto,address\n' + '\n'.join('%s,%s' % r for r in rows)
|
||||
|
||||
# CLI: python export.py --format json --proto socks5 > proxies.json
|
||||
```
|
||||
|
||||
**Files:** new export.py
|
||||
**Effort:** Low
|
||||
**Risk:** Low
|
||||
**Completed.** Added export.py CLI tool for exporting working proxies.
|
||||
- Formats: txt (default), json, csv, len (length-prefixed)
|
||||
- Filters: --proto, --country, --anonymity, --max-latency
|
||||
- Options: --sort (latency, added, tested, success), --limit, --pretty
|
||||
- Output: stdout or --output file
|
||||
- Usage: `python export.py --proto http --country US --sort latency --limit 100`
|
||||
|
||||
---
|
||||
|
||||
@@ -251,8 +228,16 @@ if __name__ == '__main__':
|
||||
- Integrated into proxywatchd.py (starts when httpd.enabled=True)
|
||||
- Config: [httpd] section with listenip, port, enabled
|
||||
|
||||
### [ ] 20. Web Dashboard
|
||||
Status page showing live statistics.
|
||||
### [x] 20. Web Dashboard
|
||||
|
||||
**Completed.** Added web dashboard with live statistics.
|
||||
- httpd.py: DASHBOARD_HTML template with dark theme UI
|
||||
- Endpoint: /dashboard (HTML page with auto-refresh)
|
||||
- Endpoint: /api/stats (JSON runtime statistics)
|
||||
- Stats include: tested/passed counts, success rate, thread count, uptime
|
||||
- Tor pool health: per-host latency, success rate, availability
|
||||
- Failure categories: timeout, proxy, ssl, closed, etc.
|
||||
- proxywatchd.py: get_runtime_stats() method provides stats callback
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user