Pango Platform
HomeConsole
  • What is Pango Developer Platform
  • Getting started
    • Sign up on the Management Console
    • Create a new project
    • Switch projects
    • Change console settings
    • Edit your profile
    • Try out the demo app
    • Keep exploring
    • Deprecation and Sunset
  • Console details
    • Dashboard
      • General
      • Location loading
    • Users
      • User page
    • Active sessions
    • Network
      • Countries
      • Locations
      • Pools
        • Optimal location
        • Location rules
    • Settings
      • General
        • Project config description (JSON format)
          • Server selector (JSON format)
          • Request selector (JSON format)
      • Authentication methods
        • Auth Plugin requirements
      • VPN
        • General
        • VPN Bypass list
        • Client Networks
      • Member
    • Export Data
    • Log
  • SDK
    • Unified VPN SDK for Android
      • Setup
        • Application Setup
        • Proguard Rules, Notification, and Analytics Configurations
        • Backend URL Configuration
      • Usage
        • Initialization
        • VPN Interface
        • Backend interface
      • Features
        • Hydra Protocol
          • Location profile (Hydra only)
        • Custom sdk dependencies
        • Deferred VPN Service Initialization
        • Authentication
        • Client Network List (CNL)
        • OpenVPN transport
        • Wireguard Transport
        • Reconnection strategy
        • Single Protocol SDK
        • Killswitch
        • Domain route via VPN
        • Process route via VPN
        • Process Bypass
        • Domain Bypass
        • Traffic rules
        • VPN Node DNS Configuration
        • Multihop
          • Optimal Location
      • Exceptions
      • Version migration
      • Changelog
    • Unified VPN SDK for Apple
      • Setup
        • Application Setup
        • Network Extension Setup
          • Network Extension Setup for tvOS
        • Backend URL Configuration
      • Usage
        • Single Protocol SDK
        • Unified SDK
        • Logging
        • Decoding Encoded VPN SDK Logs
      • Features
        • Deferred VPN Service Initialization
        • Authentication
        • Wireguard Transport
        • Reconnection strategy
        • Killswitch
        • Domain Bypass
        • Multihop
          • Optimal Location
        • Client Network List (CNL)
        • Domain route via VPN
      • Changelog
      • API Reference
    • IPSEC VPN SDK for Apple
    • Unified VPN SDK for Windows
      • Setup
        • Backend URL Configuration
        • Service command line arguments
        • ARM Platform Support
      • Usage
        • CoreAPI
        • Events
        • Generating a Unique Device Identifier
        • Error processing
        • Pipe Messaging
      • Features
        • Traffic protection
          • Killswitch
          • Prevent IP Leaks
          • Block Local Networks
        • Other
          • Firewall
            • DNS Monitor
            • Process Bypass
            • Domain Bypass
            • Process route via VPN
            • Domain route via VPN
          • Throttling
          • Optimal Location
          • Common issues
        • Hydra Protocol
          • CustomDNS, UserDNS, MultiHop, VpnProfiles
        • OpenVPN Protocol
        • Wireguard Protocol
        • IPSec Protocol
      • Collecting Debug Logs
      • Changelog
    • Unified VPN SDK for Routers
      • SDK. Shared library.
      • Configuration Interface (CI)
        • Unix Domain Sockets CI
        • REST API CI
    • Unified VPN SDK Feature Comparison By Platform
    • Unified VPN SDK
      • Features
        • Personal Bridge
    • Tunnel Vision and Tunnel Crack Prevention
  • REST API
    • Partner API
  • Sample applications
    • Unified VPN SDK demo for Windows
    • Hydra VPN SDK demo for iOS
    • IPSEC VPN SDK demo for iOS
    • Unified VPN SDK demo for Android
    • Hydra VPN SDK demo for OpenWRT
    • OpenVPN configuration file
  • Resources
    • Use cases
      • Public VPN
      • Business VPN
        • Creating a Business VPN Project
        • Wi-Fi Security for Business
      • Application anti-blocking
    • How-to
      • Create a Firebase project for User Authentication
      • AWS CloudFront Distribution of the Platform URL
      • How can I get Shared Secret key from iTunes Connect for In-App Purchase
  • FAQ
    • General
      • VPN Platform Flow
      • What data is collected by the Platform?
      • What analytic data is collected by your SDK?
      • How the Platform restricts access to our data?
      • Why DNS Leak tests often indicate positive result?
      • Do we need to perform endpoint health checks?
      • How is the VPN exit node found?
      • How are streams re-marked if VPN is enabled/disabled on an active flow?
      • Is there a maximum number of supported devices?
      • Are both IPv4 and IPv6 supported?
      • What is the MTU of the tunnel?
      • Are any redundancy measures in terms of reliability provided?
      • Is there any load balancing?
      • Do you block broadcast and multicast to/from the VPN?
    • List of Open Source libs
Powered by GitBook
On this page
  • Configuration
  • Minimal working configuration
  • All configuration parameters
  • Requests examples
  • Ping
  • Protect IP address
  • Unprotect IP address
  • Protect MAC address
  • Unprotect MAC address
  • Protect interface
  • Unprotect interface
  • Dump config file
  • Get available countries

Was this helpful?

  1. SDK
  2. Unified VPN SDK for Routers
  3. Configuration Interface (CI)

Unix Domain Sockets CI

Dynamic Configuration Interface based on Unix Domain sockets.

  • Easy to implement, no external dependencies needed

  • Supports both synchronous requests and asynchronous events

  • Local machine only

Configuration

Minimal working configuration

{
    ...SDK config params...
    "ci_unix_domain" : {}
}

All configuration parameters

"sock"

Path to unix domain socket file created by CI. Socket acts like a bi-directional channel, which means one file is used for receiving requests from and sending responses to your app. SOCK_SEQPACKET socket type is used.

Default: "/var/run/afwrt-ci.sock"

"su_only"

Allow access to file to superuser only.

Default: 1

"async_sock"

Path to unix domain socket file created by your app. Socket for all kinds of async events from SDK, such as "route_connected", "bandwidth_info", etc. SOCK_DGRAM socket type is used.

It's safe to create "async_sock" sometime later. CI can store up to 10 last events in memory before file will be actually created.

Default: ""(empty, disabled)

"disabled"

Handy flag to fast disable dynamic interface not removing "ci_unix_domain" configuration section

Default: 0

Requests examples

Ping

{ "request" : "ping" }

Protect IP address

{ "request" : "protect_ip", "ip_addr" : "192.168.50.149", "country_code" : "ca" }

Unprotect IP address

{ "request" : "unprotect_ip", "ip_addr" : "192.168.50.149" }

Protect MAC address

{ "request" : "protect_mac", "mac_addr" : "08:00:27:aa:d7:17", "country_code" : "ca" }

Unprotect MAC address

{ "request" : "unprotect_mac", "mac_addr" : "08:00:27:aa:d7:17" }

Protect interface

{ "request" : "protect_iface", "iface" : "eth2", "country_code" : "ca" }

Unprotect interface

{ "request" : "unprotect_iface", "iface" : "eth2" }

Dump config file

{ "request" : "dump_config", "config_path" : "/etc/afwrt/afwrt-ci.conf" }

Get available countries

{ "request" : "get_countries" }

PreviousConfiguration Interface (CI)NextREST API CI

Last updated 4 years ago

Was this helpful?