Implement media rule management and enhance proxy handling
- Added methods to `IMediaStore` for loading, saving, and removing media rules, allowing users to manage rules for media items effectively. - Updated `MediaFetcher` to utilize the new rule management system, integrating rule checks into the fetching process to handle geo-blocks and previously ruled items. - Enhanced `ProxyPool` to support exclusion of proxies from specific countries during acquisition, improving the handling of geo-blocked content. - Adjusted `FetchOptions` to include rules instead of tombstones, streamlining the decision-making process during media fetching. - Updated UI components to support rule editing, providing users with a more interactive experience when managing media rules. These changes improve the overall media collection process by allowing users to define rules for handling media items and enhancing the proxy management system for better content accessibility.
This commit is contained in:
@@ -12,6 +12,13 @@
|
||||
|
||||
- **`ProxyPool` переиспользует существующие `ProxyEntry` по `Endpoint.Key`** — иначе перезагрузка
|
||||
списка стирала бы статистику, а публичные фиды переиздаются каждые несколько минут.
|
||||
- **Проба обязана ходить по https.** Обычный HTTP через прокси — это форвард GET с абсолютным URI, а
|
||||
https — `CONNECT`-туннель, и свободные прокси сплошь и рядом умеют первое и отказывают во втором
|
||||
(«The proxy tunnel request to proxy … failed with status code 400»). Все собираемые адреса идут по
|
||||
https, поэтому прокси без CONNECT мертва *для нас*, и проверять надо ровно то, чем пользуемся.
|
||||
Раньше умолчание было http с обоснованием «не отбраковывать тех, кто просто не умеет CONNECT» — это
|
||||
и наполняло пул живыми на бумаге. Старое значение в `settings.json` подменяется на https в
|
||||
`AppSettings.ToProxyOptions()`; введённое пользователем не трогается.
|
||||
- **Выдаются только подтверждённо живые, пока такие есть.** Сортировки «живые вперёд» не хватало:
|
||||
её видит только липкая стратегия, берущая голову списка, а round-robin и взвешенный выбор тянут из
|
||||
всего набора — то есть из пары тысяч непроверенных адресов, и почти каждый запрос платил полный
|
||||
|
||||
Reference in New Issue
Block a user