This commit is contained in:
kayos@tcp.direct 2023-11-20 18:40:40 -08:00
parent 6554299a18
commit 2bf5c0ff99
Signed by: kayos
GPG Key ID: 4B841471B4BEE979
2 changed files with 36 additions and 6 deletions

Binary file not shown.

42
main.go

@ -4,31 +4,48 @@ package main
import ( import (
"context" "context"
"net"
"time" "time"
"github.com/cretz/bine/process/embedded" "git.tcp.direct/kayos/zwrap"
"github.com/cretz/bine/tor" "github.com/cretz/bine/tor"
"github.com/davecgh/go-spew/spew" "github.com/davecgh/go-spew/spew"
"git.tcp.direct/kayos/door5/logger" "git.tcp.direct/kayos/door5/logger"
) )
type Knobs struct {
conf tor.ListenConf
log zwrap.Logger
tor.Tor
}
type BlueDoor struct {
conf *Knobs
listeners []net.Listener
localPaths []string
}
func MemoryMapOSFolder() (path string, err error) { func MemoryMapOSFolder() (path string, err error) {
// create memory mapped folder for tor data directory (linux) // create memory mapped folder for tor data directory (linux)
// un // un
return "", nil return "", nil
} }
func NewListener(listen string) (net.Listener, error) {
l, err := net.Listen("tcp", listen)
if err != nil {
}
}
func NewOnion() (*tor.Tor, error) { func NewOnion() (*tor.Tor, error) {
log := logger.Get() log := logger.Get()
log.Logger.Info().Msg("starting and registering onion service...") log.Logger.Info().Msg("starting and registering onion service...")
t, err := tor.Start(nil, &tor.StartConf{ t, err := tor.Start(nil, &tor.StartConf{
ProcessCreator: embedded.NewCreator(), RetainTempDataDir: false,
UseEmbeddedControlConn: true, DebugWriter: logger.Get().With().Str("module", "tor").Logger(),
RetainTempDataDir: false,
DebugWriter: logger.Get().With().Str("module", "tor").Logger(),
NoAutoSocksPort: false, NoAutoSocksPort: false,
GeoIPFileReader: nil, GeoIPFileReader: nil,
@ -47,7 +64,20 @@ func NewOnion() (*tor.Tor, error) {
defer listenCancel() defer listenCancel()
// Create a v3 onion service to listen on any port but show as 80 // Create a v3 onion service to listen on any port but show as 80
onion, err := t.Listen(listenCtx, &tor.ListenConf{RemotePorts: []int{80}}) onion, err := t.Listen(listenCtx, &tor.ListenConf{
LocalPort: 0,
LocalListener: nil,
RemotePorts: []int{80},
Key: nil,
Version3: false,
ClientAuths: nil,
MaxStreams: 0,
DiscardKey: false,
Detach: false,
NonAnonymous: false,
MaxStreamsCloseCircuit: false,
NoWait: false,
})
if err != nil { if err != nil {
log.Panicf("Unable to create onion service: %v", err) log.Panicf("Unable to create onion service: %v", err)
} }