Before editing

Some settings are not exposed in the interface. Locate the real guiConfigs through the client, back up the folder and quit normally before editing.

JSON booleans are true/false, numbers are unquoted and strings use double quotes. Edit the corresponding existing field; do not replace the whole file with an example fragment. Fields can change between versions.

Files in guiConfigs

These files use different formats. Backing up the whole directory is more complete than copying only one file.

FilePurpose and editing
guiNConfig.jsonClient settings; edit after quitting
guiNDB.dbProfile database; do not edit as text
pac.txtWindows PAC JavaScript
Mixin.yamlmihomo configuration mixin in YAML
GUID-named filesCustom configurations; open the corresponding profile through the client

Client parameters and defaults

These are the hidden fields listed in the Wiki. Defaults describe unmodified behavior; restart and check the feature after editing.

ParameterPurpose / default
MainColumnItem.NameExisting profile-list column name
MainColumnItem.WidthColumn width; -1 hides it
MainColumnItem.IndexDisplay order
GuiItem.EnableLogClient logging; true
ClashUIItem.EnableMixinContentEnable mihomo Mixin.yaml; false
HysteriaItem.HopIntervalPort-hopping interval in seconds
SpeedTestItem.SpeedTestPageSizeProfiles per batch; 1000
SpeedTestItem.SpeedTestDelayIntervalSeconds between batches; 1
UIItem.HideColumnIpInfoHide IP information column; false

KcpItem and GrpcItem

These groups configure Xray transports. Edit the existing client objects rather than treating native core JSON as the entire guiNConfig schema.

mKCP uses UDP; mtu controls packet size, tti the send interval and uplinkCapacity/downlinkCapacity capacities in MB/s. New cores changed legacy header/seed handling.

gRPC serviceName must match the server; authority controls request authority. idle_timeout sets inactivity before a health check and health_check_timeout its timeout. Overly frequent checks can cause the server to close connections.

Mux4RayItem and Mux4SboxItem

Mux carries logical streams over fewer underlying connections to reduce setup overhead, not necessarily improve bulk throughput. Xray concurrency controls streams per connection; xudpConcurrency controls UDP aggregation and xudpProxyUDP443 accepts reject, allow or skip.

sing-box protocols include smux, yamux and h2mux. max_connections/min_streams conflict with max_streams, so do not configure all as competing nonzero limits. Padding/brutal require compatible servers. Prefer the core-settings Mux controls available in 7.25.6.

Fragment4RayItem

This object corresponds to fragmentation on Xray freedom outbounds. packets selects packets or TLS ClientHello, length controls fragment length and interval controls spacing. It is not a universal setting for all cores or a guaranteed improvement.

Chains, transports and core versions affect results. Inspect generated configuration, compare the same target and disable fragmentation to recover if needed.

PAC and Mixin scope

pac.txt affects Windows applications using PAC; DIRECT requests bypass the core. Mixin.yaml merges custom mihomo content only when EnableMixinContent is enabled.

YAML indentation, duplicate keys and wrong types can prevent loading. Keep the original file and inspect the final configuration/logs after startup. Full templates may override ordinary GUI routing settings.

Validate and recover

Validate syntax before relaunching. Check the setting, core logs and a fresh connection.

If launch fails, quit and restore the changed file or the client backup. Avoid changing the database, core and multiple parameter groups simultaneously.

Logs and reproduction