2 Star 0 Fork 0

carlmax_my/console-core-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tun.go 646 Bytes
一键复制 编辑 原始数据 按行查看 历史
carlmax_my 提交于 2025-06-22 13:31 +08:00 . clean code
package iface
import (
"fmt"
"slices"
"github.com/pkg/errors"
)
// format can be: tun0, tun_0, so the prefix should be tun/tun_
func GetAvailableTunName(tunPrefix string) (string, error) {
ifaces, err := GetIfacesNameByPrefix(tunPrefix)
if err != nil {
return "", err
}
if len(ifaces) == 0 {
return fmt.Sprintf("%s%d", tunPrefix, 0), nil
}
i := 0
for ; i < 10; i++ {
curr := fmt.Sprintf("%s%d", tunPrefix, i)
if !slices.Contains(ifaces, curr) {
return curr, nil
}
}
return "", errors.New("no tun iface available")
}
// macos: utun
func GetAvailableUTunName() (string, error) {
return GetAvailableTunName("utun")
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/carlmax_my/console-core-go.git
git@gitee.com:carlmax_my/console-core-go.git
carlmax_my
console-core-go
console-core-go
v0.1.110

搜索帮助