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
Supported transports: plain TCP/UDP, TLS (including Reality / XTLS)

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

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

  • __SERVER_ADDRESS__ placeholders in the output are replaced with the provided (or auto-detected) server address.
  • 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.0.0.tar.gz (19.1 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.0.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for sing_box_config_converter-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f3505c9ade4e24652b591bd50413d06ec946cb4c567954457ed570925e22ab3c
MD5 5d59abdca6bb26b20e3549c542679174
BLAKE2b-256 2be033deb405bf89ff662bc9ae889b87284bbb63ddb85e091946760965cd959e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sing_box_config_converter-1.0.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.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sing_box_config_converter-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f25c2d4864345683043256f53f1a16f0d39b0d674d9c7ab19cda0175d051c075
MD5 6145be98ba33027b8fe84d5ce0560344
BLAKE2b-256 65c73af241872e1d948a44851159b8e508a574d1ea1fc6364a667369668d62d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sing_box_config_converter-1.0.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