No description
  • JavaScript 76.6%
  • CSS 14%
  • HTML 9.4%
Find a file
2026-04-10 20:14:23 +03:00
css style.css 2025-03-30 21:48:50 +03:30
img Add files via upload 2025-03-11 22:19:07 +03:30
js add legacy mode 2026-04-10 20:14:23 +03:00
tests add legacy mode 2026-04-10 20:14:23 +03:00
.codex add legacy mode 2026-04-10 20:14:23 +03:00
index.html add legacy mode 2026-04-10 20:14:23 +03:00
LICENSE Initial commit 2025-02-07 02:40:20 +03:30
README.md add legacy mode 2026-04-10 20:14:23 +03:00
site.webmanifest site.webmanifest 2025-03-22 14:27:21 +03:30

Proxy to Sing-box Converter

🚀 Project Overview

Proxy to Sing-box Converter is a web-based tool designed to simplify the process of converting various proxy configurations to the Sing-box format and vice versa. This intuitive web application supports multiple proxy protocols and can handle plain configurations, Sing-box JSON configurations, links (including ssconf://), and Base64-encoded data, making it easy for users to generate and manage configurations.

https://4n0nymou3.github.io/proxy-to-singbox-converter/

Features

  • Supports multiple proxy protocols:

    • VMess
    • VLESS
    • Trojan
    • Hysteria2
    • Shadowsocks (ss)
  • Accepts various input types:

    • Plain proxy configurations
    • Sing-box JSON configurations
    • Links (http, https, ssconf)
    • Base64-encoded configurations
  • User-friendly web interface

  • Real-time configuration conversion (both to Sing-box and from Sing-box to proxy configs)

  • Terminal-like aesthetic design

  • Clipboard copy functionality

  • Animated JSON configuration display

🛠️ Supported Protocols

The converter currently supports the following proxy protocols:

  • VMess
  • VLESS
  • Trojan
  • Hysteria2
  • Shadowsocks (ss)

🖥️ Technologies Used

  • HTML5
  • CSS3
  • JavaScript
  • Ace Editor
  • Modern web technologies

📦 Installation

Cloning and Running Locally

If you want to run this project locally on your device (e.g., Linux, macOS, Windows, Termux, or iSH), follow these steps:

  1. Clone the repository:

    git clone https://github.com/4n0nymou3/proxy-to-singbox-converter.git
    
  2. Navigate to the project directory:

    cd proxy-to-singbox-converter
    
  3. Start a local HTTP server:

    • For Python 3.x Users:

      python -m http.server 8080
      
    • For Python 2.x Users:

      python -m SimpleHTTPServer 8080
      
    • For Termux (Android) Users: (Ensure Python is installed using pkg install python)

      python -m http.server 8080
      
    • For iSH (iOS) Users: (Ensure Python is installed in Alpine Linux via apk add python3)

      python3 -m http.server 8080
      
  4. Open your web browser and go to:

    http://localhost:8080
    

    This will load the web application in your default browser, where you can use it normally.

Stopping the Local Server

If you need to stop the local server without closing the terminal, use one of the following methods:

  • Press Ctrl + C in the terminal where the server is running.
  • If the terminal session is lost, find the server process with:
    lsof -i :8080
    
    Then stop it using:
    kill -9 PID
    
    (Replace PID with the actual process ID from the previous command.)

🚀 How to Use

  1. Navigate to the web application
  2. Paste your proxy configs, Sing-box JSON, links, or Base64-encoded data
  3. Optionally enter domains in Domains Via VLESS if those domains should use VLESS while all other traffic goes direct
  4. Click "Convert to Sing-box" or "Convert to Proxy Configs" based on the input type
  5. Copy or download the generated configuration

Domain Routing

You can enter a list of domains separated by commas, spaces, or new lines in Domains Via VLESS.

  • Those domains will be routed through a generated VLESS outbound.
  • All other traffic will use direct.
  • If multiple VLESS outbounds are present, the converter creates a dedicated selector for those domain routes.
  • If no VLESS outbound exists, domain routing is rejected with an explicit error.

Example:

openai.com
chatgpt.com
api.example.org

Generated route shape:

{
  "route": {
    "rules": [
      {
        "domain_suffix": ["openai.com", "chatgpt.com", "api.example.org"],
        "outbound": "vless-a"
      }
    ],
    "final": "direct"
  }
}

DNS Compatibility

For sing-box 1.11.x, the converter can generate the legacy DNS server format that uses address inside dns.servers[] instead of the newer type/server/path structure introduced in 1.12+.

  • In the UI, choose Sing-box Target Version -> 1.11.x (legacy DNS format).
  • You can also preselect it with the query parameter ?target_version=1.11.
  • In this mode, FakeIP is also converted to the old shape: dns.servers[].address = "fakeip" plus top-level dns.fakeip.
  • In this mode, remote route.rule_set downloads are disabled too, so the profile can start without fetching .srs files from GitHub.

Example for 1.11.x:

{
  "dns": {
    "servers": [
      {
        "address": "local",
        "tag": "dns-local"
      },
      {
        "address": "https://8.8.8.8/dns-query",
        "detour": "🌐 Anonymous Multi",
        "tag": "dns-remote"
      },
      {
        "address": "8.8.8.8",
        "tag": "dns-direct"
      },
      {
        "address": "fakeip",
        "tag": "dns-fake"
      }
    ],
    "fakeip": {
      "enabled": true,
      "inet4_range": "198.18.0.0/15",
      "inet6_range": "fc00::/18"
    }
  }
}

👨‍💻 Author

Developed by Anonymous

🛡️ Disclaimer

This tool is for educational and testing purposes. Always ensure you're complying with local laws and regulations.