* Initial plan
* feat(config): add remote HTTP(S) configuration loading support
- Add URL detection in load_config() function to support remote configuration files
- Leverage existing ddns.util.http module for HTTP requests with proxy, SSL, and auth support
- Support embedded authentication in URLs (https://user:pass@host/config.json)
- Maintain full backward compatibility with local file loading
- Skip file existence check for URLs in config path validation
- Add comprehensive test suite with 16 test cases covering various scenarios
- Support all existing configuration formats including v4.1 providers format
- Pass proxy and SSL settings from CLI/environment to HTTP requests
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* fix(config): address code review feedback for remote config loading
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* docs(config): add remote HTTP(S) configuration examples and update README
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* fix(config): Python 2 compatibility and code structure improvements
- Fix Python 2.7 compatibility in test_config_file_remote.py:
- Remove encoding parameter from open() function
- Add proper try/except import for URLError (Python 2/3 compatibility)
- Extract proxy and SSL parameter extraction outside function call in config/__init__.py
- Move remote config example from main README list to CLI usage examples section
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* fix(config,docs): address PR feedback and lint issues
- Remove remote config from README feature list, add as example code instead
- Fix proxy_settings fallback chain in config/__init__.py
- Add HTTP response body logging in config/file.py and fix line length
- Add real integration test for https://ddns.newfuture.cc/tests/config/debug.json
- Fix all flake8 lint issues: remove unused imports, clean whitespace
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* Update ddns/config/file.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix(docs,test,build): update README.en.md, add real remote tests, and improve test skipping logic
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* feat(http): add default user-agent and fix lint issues
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
* feat(http): implement default user-agent handling and update related tests
* feat(http): add default User-Agent handling in request function and enhance related tests
* fix(tests): update proxy handling in multi-config tests and improve user agent type check
* fix(http): add retry logic to remote config loading and improve error messages
* chore(tests): update test structure for multi-config functionality
* fix(tests): remove unnecessary CLI argument mock in multi-config test
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NewFuture <6290356+NewFuture@users.noreply.github.com>
Co-authored-by: New Future <NewFuture@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>