Update VPN client to 0.22.0-beta.1
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 28/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- android
- 領域
- backend
調査の方向性
Start by reviewing the Android backend client API and adapter references named in the changelog, especially VpnBackendClient.Ev1ProtocolOverrides and VpnBackendClient.Config. Compare the integration with the listed changes: discovery configuration, fixed client token, bootstrap config updates, removed v3 settings and API overloads, and the default TLS profile. Done means the Android client integrates VPN client 0.22.0-beta.1 and its affected callers use the updated APIs.
索引モデルが issue の本文から書いたものです。
説明
A new VPN client version 0.22.0-beta.1 has been released. Please integrate it.
Changelog: https://github.com/AdGuardSoftwareLimited/vpn-client/releases/tag/v0.22.0-beta.1
Changelog
Added
Backend domains are now resolved through the DNS Discovery Protocol (v5): one encrypted DNS query
against a configured zone answers for every service at once, over any transport dns-libs supports.
- New backend selection parameters
discoveryZone,discoveryServerPublicKeyandbrowserAuthFallbackDomain.
The last one is split from auth domain because all backend domains can be relayed and use fake SNI.
So for links that are opened in browser, the separate discoverable domain is needed.- [Apple] See
AGVpnBackendClientProtocolEv1Overrides.discoveryZone,.discoveryServerPublicKeyand.browserAuthFallbackDomain. - [Android] See
VpnBackendClient.Ev1ProtocolOverrides.discoveryZone,.discoveryServerPublicKeyand.browserAuthFallbackDomain. - [Native] See
VpnBackendDomainsConfig.discovery_zone,.discovery_server_pubkeyandVpnBackendDomains.browser_auth_domain.
- [Apple] See
- The relay the backend is reached through can now be read back, for reaching VPN endpoints when they are unreachable.
Call it when the backend client failed to update locations. In this case, to connect to a server, take the
location from the offline cache, replace its endpoint addresses (or relays) and SNI with the relay address and
the relay-wide SNI (if the relay has one) reported here, and keep the endpoint's ownremote_idand
additional_data.- [Apple] See
AGVpnBackendClient.discoveryRelayandAGVpnBackendRelayInfo. - [Android] See
VpnBackendClient.getDiscoveryRelay. - [Native] See
vpn_backend_client_get_discovery_relayandVpnBackendRelayInfo.
- [Apple] See
- Added the endpoint TLS ClientHello fingerprint profile (
TlsProfile) setting to the Android, Apple, and Windows adapters. It selects which client the outgoing TLS ClientHello mimics (its JA4 fingerprint). Chrome is the default. The backend support are not here yet, so please just set the default.
Changed
- The fetched bootstrap config moved from
backend.txttodiscovery.txtin the same buckets, and
states its resolvers asdns_servers(any transport dns-libs supports) rather than the DoH-only
doh_servers.doh_serversis still read, so a client pointed at the old document keeps working.
Applications overridingbackend_selector_config_fetch_urlsmust update them. - The VPN token is now fixed for the lifetime of a backend client: discovery routes on the token in the
app details the client is created with, and every request carries those same app details. Applications
must create a new backend client on login and on logout, rather than passing a token per API.
Using old api for changing AppDetails on the fly does not longer work. - The bootstrap config is no longer fetched on the way to a discovery lookup. Discovery uses the
cached config, stale or not, and the config is refreshed in the background on its own schedule,
kept away from discovery lookups. It is fetched inline only when nothing is cached and discovery
with the built-in DNS servers failed. How long a fetched config stays fresh now comes from the
server'sCache-Control: max-age=N, must-revalidate, 1 hour without it; it was a hardcoded
30 minutes.
Removed
- The v3 backend selection (per-service TXT lookups over DoH) and its configuration. Applications
configure a discovery zone instead; the account type and the logged-in email are no longer used,
as the server derives the tier from the VPN token the backend client is created with.- [Apple] Removed
AGVpnBackendClientProtocolEv1Overrides.authTxtDomain,.apiTxtDomain,.tmTxtDomain,
AGVpnBackendClientConfig.accountTypeand.loggedInEmail. - [Android] Removed
VpnBackendClient.Ev1ProtocolOverrides.authTxtDomain,.apiTxtDomain,.tmTxtDomain,
VpnBackendClient.Config.accountTypeand.loggedInEmail. - [Native] Removed
VpnBackendDomainsConfig.auth_txt_domain,.api_txt_domain,.tm_txt_domain,
.logged_in_emailandVpnBackendClientConfig.account_type.
- [Apple] Removed
- Passing a VPN token per API; the token now comes from the app details the client is created with.
- [Apple] Removed
AGVpnBackendClient.locationsApiWithVpnToken:,.credentialsApiWithVpnToken:,
.appsApiWithVpnToken:,.paymentsApiWithVpnToken:and.pushNotificationsApiWithVpnToken:. - [Android] Removed
VpnBackendClient.locationsApi(String),.credentialsApi(String),.appsApi(String)
and.paymentsApi(String).
- [Apple] Removed
- 主要言語
- 言語のデータがありません
- スター
- 244
- フォーク
- 25
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
AdguardTeam/AdGuardVPNForAndroid のほかの issue
-
Hardcoded IP exceptions do not work.対応中かも @oksenina が 5 日前に担当しました。 オープンBug Priority: P4
AdguardTeam/AdGuardVPNForAndroid#700 · コメント 2 件 · 担当者 1 名 ·
-
Feature request: Extend AdGuard VPN protection to private networks and self-hosted services対応中かも @igrachev-ai が 7 日前に担当しました。 オープンFeature request Priority: P4
AdguardTeam/AdGuardVPNForAndroid#699 · コメント 2 件 · 担当者 1 名 ·
-
automatic Middle Priority: P4 Version: VPN v2.18
-
When the VPN is active, AdGuard cannot connect in SOCKS5 mode対応中かも @maxikuzmin が 21 日前に担当しました。 オープンBug Priority: P4
AdguardTeam/AdGuardVPNForAndroid#696 · 担当者 1 名 ·
-
Bug Junior Priority: P4 Version: VPN v2.18
難易度 3/5 半日 初心者へのやさしさ 44/100
AdguardTeam/AdGuardVPNForAndroid#691 · コメント 6 件 ·
AdguardTeam/AdGuardVPNForAndroid の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
topoteretes/cognee#5773 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
NaturalIntelligence/fast-xml-parser#890 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
-
enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
FujiNetWIFI/fujinet-lib#122 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
effort: low prio: low ready
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
digitalfabrik/integreat-cms#4616 ·
メンテナーはふだん 5 日以内に返信