44netclientRU

4net · Documentation

Your provider. Inside 4net.

Deliver a name, logo, light and dark colors, and a support link with the subscription. Available in 4net Android 1.2.11.

These branding headers also work on iOS. See the embedded-logo and automatic-selection instructions below. iOS details →

1. Add response headers

In Remnawave, open subscription settings → Response Headers / Custom headers. Add each name and its value separately. These headers belong to the subscription HTTP response, including its JSON variant when served separately.

HTTP response headers
x-4net-brand-name: Example VPN VPN
x-4net-logo-url: https://cdn.example.com/Example VPN-logo.png?v=1
x-4net-theme-dark: {"accent":"#A78BFA","background":"#120D20","card":"#211B31","text":"#F7F5FF"}
x-4net-theme-light: {"accent":"#6D28D9","background":"#F8F7FF","card":"#FFFFFF","text":"#1D1730"}
support-url: https://t.me/example_help

The logo and support URLs above are placeholders. Replace both with the provider’s real public image and support address. The logo URL shown here is not a hosted Example VPN asset.

x-4net-* is a 4net extension, not a universal Happ/INCY standard. Keep existing routing and other subscription headers. No engine or routing configuration changes are required.

2. Choose your palette

FieldPurpose
accentButtons, icons and selected items
backgroundScreen background
cardCard backgrounds
textMain text

Both palettes are independent, single-line JSON objects. All four fields are required within a palette; use opaque #RRGGBB colors. Text and accent need at least 4.5:1 contrast on the background and cards. Invalid palettes fall back to 4net. Users keep control of light/dark mode.

3. Prepare a logo and support link

  • Use a direct public HTTPS image URL on port 443, with no login or redirects. PNG, JPEG and WebP are supported; SVG is not.
  • Maximum 512 KiB, 4096 pixels per side and 4 megapixels total. A square 256×256 PNG works well.
  • When replacing the image, change its version, for example ?v=2. Cached images can work offline; fresh cache has a 24-hour lifetime.
  • support-url must be an HTTPS support address, such as a Telegram support channel or help page. The app opens it only when tapped.
  • Use ASCII for the brand name, or base64: followed by UTF-8 Base64 for non-ASCII text. Maximum 64 characters / 256 UTF-8 bytes. In Remnawave, rwEncodeBase64: can produce the wire base64: header.

profile-title remains the subscription title; it is separate from the brand name. The Android launcher icon, app name and package remain 4net.

4. Check it on Android

  1. Save the headers in Remnawave and update the subscription in 4net 1.2.11.
  2. With one subscription, branding applies automatically. With several, choose Settings → Provider appearance → the required subscription, or keep 4net.
  3. Switch between light and dark themes. Open the subscription card and check its support button.

Safety and fallback

Logo requests use a separate HTTPS client without subscription tokens, HWID, cookies, Authorization or Referer. The image host still sees the request IP and image URL, so never embed a user’s secret in that URL. Local network addresses and redirects are rejected. A broken logo never blocks VPN startup.

Each subscription retains its own support link. An explicitly chosen brand is not replaced by another provider after server selection or a background refresh. To remove branding, remove its headers and successfully refresh the subscription.

Remnawave: Response Headers documentation ↗

iOS: embedded logos and automatic appearance

Use the x-4net branding headers above on iOS. The following instructions cover embedded logos and automatic appearance on iPhone and iPad; Android follows the setup described above.

If website protection blocks the logo on a mobile network, send the image with the subscription in aw-icon-light and optionally aw-icon-dark. A valid embedded logo needs no separate request to the image host.

iOS · replace placeholders
aw-icon-light: <RAW_BASE64_OF_LIGHT_PNG>
aw-icon-dark: <RAW_BASE64_OF_DARK_PNG>

Replace the placeholders with raw Base64 image bytes. Do not add base64:, data: or rwEncodeBase64:. On macOS:

macOS
base64 < provider-logo.png | tr -d '\n'
  • Prefer a transparent 128×128 PNG of a few kilobytes. Server/CDN header limits can be much lower than the client limit of 256 KiB decoded inline image data.
  • The branded UI validates PNG, JPEG or WebP with the same dimension limits as URL logos. Priority: valid current-theme image → valid other-theme image → x-4net-logo-url → placeholder. One aw-icon-light can serve both themes.
  • Include x-4net-brand-name, a palette or x-4net-logo-url for global appearance selection. aw-icon-* alone does not enable a global brand. The installed app name and Home Screen icon remain 4net.

Automatic selection on iOS

  • One branded subscription: use its appearance even alongside subscriptions without branding.
  • Several branded subscriptions: follow the selected server’s subscription. If that subscription has no brand, show 4net. Refresh order does not choose the brand.
  • An explicit provider or 4net choice in Settings overrides automatic selection. The chosen theme and VPN server are preserved.

Save the headers in Remnawave, refresh the subscription and check both themes. The circular control also uses the provider accent. A successful refresh without branding/icon headers clears those saved appearance fields.

Account, announcements, renewal notices and Wi-Fi/mobile filtering →

Pink theme with a butterfly background

Send x-4net-theme: pink to offer the built-in pink palette, a pink power button and a delicate butterfly background. Your provider name, logo, account and support remain available. Users can choose the theme in Settings → Appearance; a manual choice takes priority. Light and dark provider palettes remain available.

HTTP response headers
x-4net-theme: pink

4net guides for Android and iOS. Updated October 29, 2026.

Need help? →