Ports and Listeners

Overview

Ports define how local applications, dashboards, and DNS resolvers enter chimera_client. This page cross-references Clash-rs and Mihomo semantics, then states the current chimera_client status explicitly.

Key Mapping

Clash / Mihomo keychimera_client keyPurpose
port / http-portportHTTP CONNECT/plain proxy listener
socks-portsocks_portSOCKS5 listener
mixed-portmixed_portShared HTTP+SOCKS listener
redir-portredir_portLinux TCP transparent REDIRECT
tproxy-porttproxy_portLinux TPROXY (TCP/UDP)
external-controllerexternal_controllerREST controller endpoint
dns.listendns.listenLocal DNS socket

Behavior by Listener Type

HTTP proxy (port / http-port)

  • Typical browser/system-proxy entrypoint.
  • Expects HTTP CONNECT and HTTP proxy semantics.

SOCKS5 (socks-port)

  • Most widely compatible app-level inbound.
  • Supports direct app integration without kernel routing changes.

Mixed (mixed-port)

  • Single port for both HTTP and SOCKS protocols.
  • Useful where clients only allow one proxy endpoint setting.

Redir (redir-port)

  • Linux TCP transparent capture via iptables REDIRECT.
  • Does not capture UDP by itself.

TProxy (tproxy-port)

  • Transparent TCP+UDP capture path on Linux.
  • Requires policy routing (fwmark + route table) and firewall integration.

External controller (external-controller)

  • Management API for dashboards and automation.
  • Prefer loopback binding unless remote access is required.

DNS listen (dns.listen)

  • Local resolver socket used by fake-IP/split-DNS workflows.
  • Usually paired with TUN or transparent proxy mode.

Compatibility Status Matrix

Featurechimera_client nowclash-rs / Mihomo
SOCKS5 inboundAvailableAvailable
SOCKS UDP associateLimited / disabled in current notesAvailable
HTTP inboundReserved/plannedAvailable
Mixed inboundReserved/plannedAvailable
Redir inboundReserved/plannedAvailable
TProxy inboundReserved/plannedAvailable
External controllerUnder active developmentMature
Local DNS listenerUnder active developmentMature
  • Prefer socks_port as the stable ingress.
  • Keep management and DNS bindings on 127.0.0.1 during development.
  • Treat non-SOCKS inbounds as compatibility keys unless your branch explicitly enables them.

Configuration Examples

Minimal chimera_client profile (current-safe)

bind_address: "127.0.0.1"
allow_lan: false
socks_port: 7891
dns:
  enable: false
  ipv6: false

Clash / Mihomo reference layout

port: 7890
socks-port: 7891
mixed-port: 7892
redir-port: 7893
tproxy-port: 7894
external-controller: 127.0.0.1:9090
dns:
  listen: 127.0.0.1:1053

Migration Notes

When importing a profile from Mihomo or clash-rs:

  1. keep original keys for readability,
  2. map to chimera_client accepted keys where necessary,
  3. disable inbounds not yet active,
  4. verify with live connection tests before enabling LAN exposure.