{"id":15107326,"url":"https://github.com/oluceps/clash2sing-box","last_synced_at":"2025-05-08T23:29:34.471Z","repository":{"id":61157216,"uuid":"548741241","full_name":"oluceps/clash2sing-box","owner":"oluceps","description":"Convert clash client outbounds to sing-box format","archived":false,"fork":false,"pushed_at":"2024-06-01T17:19:58.000Z","size":1456,"stargazers_count":176,"open_issues_count":2,"forks_count":15,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-05T14:19:15.769Z","etag":null,"topics":["clash","clash-meta","converter","shadowsocks","sing-box","trojan","vless","vless-ws-tls","yaml"],"latest_commit_sha":null,"homepage":"https://oluceps.github.io/clash2sing-box/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oluceps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-10T05:34:06.000Z","updated_at":"2025-04-13T12:01:27.000Z","dependencies_parsed_at":"2022-10-11T23:26:26.689Z","dependency_job_id":"f38dce25-dd16-497d-8faa-bf11bf0c2b1c","html_url":"https://github.com/oluceps/clash2sing-box","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oluceps%2Fclash2sing-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oluceps%2Fclash2sing-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oluceps%2Fclash2sing-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oluceps%2Fclash2sing-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oluceps","download_url":"https://codeload.github.com/oluceps/clash2sing-box/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253162951,"owners_count":21864008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clash","clash-meta","converter","shadowsocks","sing-box","trojan","vless","vless-ws-tls","yaml"],"created_at":"2024-09-25T21:23:26.957Z","updated_at":"2025-05-08T23:29:34.419Z","avatar_url":"https://github.com/oluceps.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[中文(zh-cn)](README_CN.md) | English  \n\n## Outbound converting Supports  \n- [x]  Shadowsocks  \n- [x]  http  \n- [x]  socks  \n- [x]  VMess  \n- [x]  Trojan  \n- [x]  Hysteria  \n- [x]  ShadowsocksR     \n- [x]  VLESS          `VLESS` had been abandoned. Consider use `Trojan` instead. See [detail](https://www.v2fly.org/v5/config/proxy/vless.html)  \n- [ ]  TUIC           `sing-box` not support `tuic` yet  \n- [ ]  ShadowTLS      `Clash.Meta` not support `Shadow-tls` yet  \n\n---\n\nGenerate minimal sing-box profile from clash profile (local path or url)  \n```console\n./ctos -s \"http://\u003c...\u003e\" gen \u003e config.json\n\n# or\n./ctos -s \"./config.yaml\" gen \u003e config.json\n```  \nThis will generate minimal avaliable sing-box format profile\nfrom exist clash config.\n\n---\n\nParse clash config \n```console  \n./ctos -s \"./config.yaml\" show  \n\n# show proxies name list by adding `-t`\n./ctos -s \"./config.yaml\" show -t \n```\nThis will get converted proxies list from clash profile,\nand tag names (if `--tags` added).  \nYou could manualy append it into sing-box config.\n\n---\n\nAppend to existed config  \n```console  \n./ctos -s \"./config.yaml\" append --dst ./config.json  \n```\n\n## web app\n\ndemo: https://ctos.magicb.uk\n\n![pic](./.github/web.png)\n\n\n### self host\n\n```console\ngit clone https://github.com/oluceps/clash2sing-box.git\ncd clash2sing-box/web\ntrunk serve --open\n```\n\n## Commands  \n```console\n\u003e ./ctos --help\nUsage: ctos [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  show    Show sing-box proxies info from clash profile\n  gen     Generate sing-box profile from clash format\n  append  Append new clash proxies to existed sing-box profile [WIP]\n  help    Print this message or the help of the given subcommand(s)\n\nOptions:\n  -s, --source \u003cSOURCE\u003e  clash config path (url)\n  -h, --help             Print help\n  -V, --version          Print version\n```\n\n## Nix flake support\n\nTry run application directly on machine with nix installed:\n\n```bash\nnix run github:oluceps/clash2sing-box -- -s \"\u003csubscribe link\u003e\" show --tags\n# or any other actions\n```\n\n\n## TODO\n\n- [ ] Clash rule converting\n\n- [x] Subcommand `append`, to extend new content into config  \n\n- [x] Simple and easy-to-use web app  \n\n- [ ] Auto update with systemd service, with NixOS module\n\n### Credits\n+ [Dreamacro/Clash](https://github.com/Dreamacro/clash)  \n+ [MetaCubeX/Clash.Meta](https://github.com/MetaCubeX/Clash.Meta)  \n+ [SagerNet/sing-box](https://github.com/SagerNet/sing-box)  \n+ [jmfiaschi/json_value_merge](https://github.com/jmfiaschi/json_value_merge)\n+ [thedodd/trunk](https://github.com/thedodd/trunk)  \n+ [caddyserver/caddy](https://github.com/caddyserver/caddy)  \n+ [yewstack/yew](https://github.com/yewstack/yew)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foluceps%2Fclash2sing-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foluceps%2Fclash2sing-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foluceps%2Fclash2sing-box/lists"}