mirror of
https://github.com/XTLS/Xray-core.git
synced 2026-01-17 08:02:34 +08:00
* Proxy: Implement tun raw network interface inbound support for Linux * Proxy: Tun. Include "android" as build condition for build of tun_default implementation * Proxy: Tun. Add .Close() cleanup calls to Handler.Init() where needed * Proxy: Add Tun for Android * Proxy: Tun. Implement Windows support --------- Co-authored-by: yuhan6665 <1588741+yuhan6665@users.noreply.github.com>
35 lines
800 B
Go
35 lines
800 B
Go
//go:build !linux && !windows && !android
|
|
|
|
package tun
|
|
|
|
import (
|
|
"github.com/xtls/xray-core/common/errors"
|
|
"gvisor.dev/gvisor/pkg/tcpip/stack"
|
|
)
|
|
|
|
type DefaultTun struct {
|
|
}
|
|
|
|
// DefaultTun implements Tun
|
|
var _ Tun = (*DefaultTun)(nil)
|
|
|
|
// DefaultTun implements GVisorTun
|
|
var _ GVisorTun = (*DefaultTun)(nil)
|
|
|
|
// NewTun builds new tun interface handler
|
|
func NewTun(options TunOptions) (Tun, error) {
|
|
return nil, errors.New("Tun is not supported on your platform")
|
|
}
|
|
|
|
func (t *DefaultTun) Start() error {
|
|
return errors.New("Tun is not supported on your platform")
|
|
}
|
|
|
|
func (t *DefaultTun) Close() error {
|
|
return errors.New("Tun is not supported on your platform")
|
|
}
|
|
|
|
func (t *DefaultTun) newEndpoint() (stack.LinkEndpoint, error) {
|
|
return nil, errors.New("Tun is not supported on your platform")
|
|
}
|