Skip to content

krabt/krab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Krab

mac xray 客户端,支持配置文件方式管理

实现原理

基于命令方式启动xray,管理进程使用keeper,ui 框架基于fyne。

Krab 运行后会读取家目录下的文件 ~/.krab,当启动服务的时候会执行~/.krab/xray -c config.json,理论上也可以兼容v2ray,入站taghttp-in,用于支持修改系统代理端口。

截图:

小窗口 配置 编辑配置文件

功能支持

  • 启动和停止xray服务
  • mac 设置和取消全局代理

编译

[sc@kk .krab]🐳 fyne package -os darwin release

目录文件

[sc@kk .krab]🐳 tree .
.
├── config.json
├── geoip.dat
├── geosite.dat
└── xray
1 directory, 4 files

配置文件模版

{
  "log": {},
  "inbounds": [
    {
      "port": "5888",
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      },
      "tag": "in-0"
    },
    {
      "port": "5889",
      "protocol": "http",
      "tag": "http-in"
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "remote-ip",
            "port": 443,
            "users": [
              {
                "id": "821EAF4C-9F14-4857-8901-EA7E67B7BC58",
                "encryption": "none"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "xhttp",
        "xhttpSettings": {
          "path": "kVJPcKW3kHTmuuqxLgAN",
          "mode": "auto"
        },
        "security": "tls",
        "tlsSettings": {
          "allowInsecure": true,
          "verifyClientCertificate": false
        }
      }
    },
    {
      "tag": "direct",
      "protocol": "freedom",
    },
    {
      "tag": "blocked",
      "protocol": "blackhole",
    }
  ],
  "routing": {
    "domainStrategy": "IPOnDemand",
    "rules": [
      {
        "type": "field",
        "outboundTag": "blocked",
        "domain": [
          "geosite:sogou",
          "geosite:wps",
          "domain:dc.services.visualstudio.com",
          "domain:jianshu.com",
          "geosite:category-ads"
        ]
      },
      {
        "type": "field",
        "outboundTag": "proxy",
        "domain": [
          "geosite:github",
          "geosite:docker",
          "geosite:openai",
          "domain:googlecccccccccc.com",
          "domain:go.dev"
        ]
      },
      {
        "type": "field",
        "outboundTag": "direct",
        "domain": [
          "domain:gorm.io",
          "domain:jetbrains.com.cn",
          "domain:jetbrains.com",
          "domain:kubernetes.docker.internal",
          "geosite:cn",
          "geosite:google-trust-services",
          "geosite:digicert",
          "geosite:letsencrypt",
          "geosite:mozilla",
          "geosite:apple",
          "geosite:private"
        ]
      },
      {
        "type": "field",
        "outboundTag": "direct",
        "ip": [
          "geoip:cn",
          "geoip:private",
          "223.5.5.5",
          "223.6.6.6",
          "127.0.0.1",
          "114.114.114.114",
          "192.168.31.0/24",
          "192.168.8.0/24",
          "10.1.0.0/8"
        ]
      }
    ]
  }
}

About

Mac gui client for xray

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages