Skip to main content

Generate sing-box client configs from server configs, with QR code output

Project description

sing-box-config-converter

Generate a sing-box client config from a server config, with optional QR code output.

Supported protocols: hysteria2, shadowsocks, trojan

Requirements

  • Python 3.10+
  • uv

Quick Start with uvx

No installation required — run directly with:

uvx sing-box-config-converter server.json

With QR code support:

uvx --with "sing-box-config-converter[qr]" sing-box-config-converter server.json

Installation

uv sync --extra qr

The --extra qr flag installs qrcode[pil] for QR code support. Omit it if you don't need QR output.

Usage

uv run sing-box-config-converter <server_config> [server_address] [options]

Arguments

Argument Description
server_config Path to the sing-box server config JSON
server_address Public IP or hostname for clients to connect to. If omitted, auto-detected from the current machine

Options

Option Default Description
-o, --output client.json Output path for the generated client config
--use-tun off Use TUN inbound instead of mixed (SOCKS+HTTP)
--mixed-port random Port for mixed (SOCKS+HTTP) inbound
--show-terminal-qr off Print QR code as ASCII art in the terminal
--qr-dir Directory to save QR code as a PNG image

Examples

Generate a client config (server address auto-detected):

uv run sing-box-config-converter /etc/sing-box/config.json

Specify the server address explicitly:

uv run sing-box-config-converter /etc/sing-box/config.json 203.0.113.42

Use TUN mode and save a QR code image:

uv run sing-box-config-converter config.json 203.0.113.42 --use-tun --qr-dir ./qr

Print a QR code in the terminal:

uv run sing-box-config-converter config.json --show-terminal-qr

If --show-terminal-qr QR code is too large to fit in the terminal, try --qr-dir to save QR code as a PNG, and use imgcat to display it:

uvx imgcat qr_client_config.png

Output

The generated client config includes:

  • Outbounds — one per supported inbound in the server config; wrapped in a urltest selector when there are multiple
  • DNS — fakeip for remote, 223.5.5.5 for local/direct
  • Route — DNS hijack, private IP bypass, sniff
  • Inboundmixed (SOCKS5+HTTP) on a local port, or tun with auto_route

Notes

  • QR codes encode the full client config JSON. Large configs may exceed QR capacity; consider sharing the config file directly if the QR is unreadable.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sing_box_config_converter-1.2.0.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sing_box_config_converter-1.2.0-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file sing_box_config_converter-1.2.0.tar.gz.

File metadata

File hashes

Hashes for sing_box_config_converter-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e7105aa13409585962adc889944fecaf097ac58a01f1e432a58b8ca8bcb361e1
MD5 c18c54a2fd5493eecb3c2411b0009f99
BLAKE2b-256 efaf9aa2fc0605d007e016af245663953c959867ae31c0a108a91c5d11ac6681

See more details on using hashes here.

Provenance

The following attestation bundles were made for sing_box_config_converter-1.2.0.tar.gz:

Publisher: publish.yml on hongshibao/sing-box-config-converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sing_box_config_converter-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sing_box_config_converter-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1b09175ebcf3f9ebb0770b46a4d3ca8d73726cefe105c4f6d34f9b6721d7af4
MD5 b8923e3dd03cd57db24d94cc5747d5c6
BLAKE2b-256 d901c7447627109b97b3d31d4294eab76d127e954efac8b5edd98ce2cc0902c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for sing_box_config_converter-1.2.0-py3-none-any.whl:

Publisher: publish.yml on hongshibao/sing-box-config-converter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page