Files
OpenFlux/tun_other.go
T
p1neappleXpressandClaude Opus 4.8 38867720ac integrate: fold openfluxfork features onto the encrypted-logging hotfix
Base is hotfix/oflx-encrypted-logging-context; in every place both trees
touched the same code, the hotfix version wins (3-level logger, heard-first
routing + MarkStalled, replay window, boards JSON API, robust SOCKS5 auth).

Brought over from meepo161/openfluxfork@fork-main (the mobile/ Android bridge
is intentionally left in the Android fork):
- provision/ + node_wizard.go + --node-wizard: SSH VDS exit-node install.
- deploy/node-install.sh + .github/workflows/node-release.yml: pinned,
  hash-verified node release.
- netbind/ + tun_windows.go + --inbound=tun on Windows (Wintun): full tunnel
  with the core's own sockets bound to the real interface; dial sites in
  direct/boards/vyandex/cupsonline/mailru/yandex now dial bound.
- transport/yandex/cookies.go + --yandex-cookies-file: Netscape cookie import
  into the shared vyandex jar (sessions and single-transport alike).
- yandex: CheckVolgaDocument (doc suitability for the wizard) and the PoW
  captcha fix (a rejected challenge is a captcha, not a bad document).
- --http-proxy: HTTP CONNECT proxy over the same tunnel as SOCKS5.
- ipcStatusLoop: per-second IPC Status frame with the active carrier
  (Session.LiveTransports / ActiveTransport).

Builds for darwin, windows and linux; go vet and the full test suite pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-27 02:47:49 +03:00

38 lines
1.1 KiB
Go

//go:build !darwin && !windows
package main
import (
"errors"
"time"
"openflux/transport"
)
var errTUNUnsupported = errors.New("utun client is only supported on macOS")
type TUNClient struct{}
func NewTUNClient(trans transport.Transport, mtu int) (*TUNClient, error) {
return nil, errTUNUnsupported
}
func (c *TUNClient) Name() string { return "" }
func (c *TUNClient) Gateway() string { return "" }
func (c *TUNClient) SetupInterface() error { return errTUNUnsupported }
func (c *TUNClient) ConfigureDefault() error { return errTUNUnsupported }
func (c *TUNClient) Start() {}
func (c *TUNClient) Close() error { return nil }
func (c *TUNClient) SaveDefault() error { return errTUNUnsupported }
func (c *TUNClient) RestoreDefault() {}
func (c *TUNClient) purgeStaleHostRoutes() {}
type SocketWatcher struct{}
func NewSocketWatcher(gateway string, onStable func()) *SocketWatcher {
return &SocketWatcher{}
}
func (w *SocketWatcher) Start(interval time.Duration) {}
func (w *SocketWatcher) Stop() {}