Coder Social home page Coder Social logo

wybiral / torgo Goto Github PK

View Code? Open in Web Editor NEW
39.0 4.0 10.0 42 KB

A Golang library for Tor.

Home Page: https://godoc.org/github.com/wybiral/torgo

License: GNU General Public License v3.0

Go 100.00%
tor onion hidden-service golang-library golang stem

torgo's Introduction

torgo GoDoc

This is a Go library for interacting with Tor over the standard controller interface. It simplifies tasks like creating ephemeral hidden services, working with private keys, and making SOCKS proxied client requests on the Tor network.

Examples

torgo's People

Contributors

jeremyrand avatar wybiral avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

torgo's Issues

Get a different IP each time ?

Hi,

is it possible to get a different IP each time or someway of controlling TOR to assign a new IP each time. I tried the following example app but the same IP is always assigned..

	// Create client from SOCKS proxy address
	client, err := torgo.NewClient("127.0.0.1:9050")
	if err != nil {
		log.Fatal(err)
	}
	// Perform HTTP GET request
	resp, err := client.Get("http://httpbin.org/ip")
	if err != nil {
		log.Fatal(err)
	}
	// Copy response to Stdout
	io.Copy(os.Stdout, resp.Body)

Thanks.

[Bug] Tor is not an HTTP Proxy

When initializing a new controller, I get the error that "Tor is not an HTTP Proxy". A little about my system setup. I have the tor daemon running in the background which is a socksv5 proxy on port 9050. I think the Dail method is trying to establish a HTTP tunnel. The protocols for SOCKSv5 and HTTP are completely differently.

       // socks server controller
	addr := "127.0.0.1:9050"
	controller, err := torgo.NewController(addr)
	if err != nil {
		red := color.New(color.FgRed).SprintFunc()
		fmt.Printf("%s Failed to connect to control port %s\n", red("[-]"), err)
	}

Screen Shot 2020-06-16 at 7 25 06 PM

i keep getting an error imports berty.tech/go-libtor/libtor: build constraints exclude all Go files in would you be able to help

i keep getting an error imports berty.tech/go-libtor/libtor: build constraints exclude all Go files in C:\Users\fox\go\pkg\mod\berty.tech\[email protected]\libtor

i also get this when i try and intall the libtor

\TorServer> go get -u -v -x berty.tech/go-libtor

get https://proxy.golang.org/berty.tech/@v/list

get https://proxy.golang.org/berty.tech/go-libtor/@v/list

get https://proxy.golang.org/berty.tech/go-libtor/@v/list: 200 OK (0.167s)

get https://proxy.golang.org/berty.tech/go-libtor/@v/v1.0.385.info

get https://proxy.golang.org/berty.tech/go-libtor/@v/v1.0.385.info: 200 OK (0.041s)

get https://proxy.golang.org/berty.tech/go-libtor/@v/v1.0.385.mod

get https://proxy.golang.org/berty.tech/go-libtor/@v/v1.0.385.mod: 200 OK (0.246s)

get https://proxy.golang.org/sumdb/sum.golang.org/supported

get https://proxy.golang.org/sumdb/sum.golang.org/supported: 404 Not Found (0.017s)

get https://sum.golang.org/lookup/berty.tech/[email protected]

get https://sum.golang.org/lookup/berty.tech/[email protected]: 200 OK (0.165s)

get https://sum.golang.org/tile/8/0/x076/574

get https://sum.golang.org/tile/8/1/299.p/33

get https://sum.golang.org/tile/8/0/x076/577.p/3

get https://sum.golang.org/tile/8/1/299.p/33: 200 OK (0.025s)

get https://sum.golang.org/tile/8/0/x076/574: 200 OK (0.026s)

get https://sum.golang.org/tile/8/0/x076/577.p/3: 200 OK (0.068s)

get https://sum.golang.org/tile/8/0/x014/015

get https://sum.golang.org/tile/8/0/x014/015: 200 OK (0.035s)

go: downloading berty.tech/go-libtor v1.0.385

get https://proxy.golang.org/berty.tech/go-libtor/@v/v1.0.385.zip

get https://proxy.golang.org/berty.tech/go-libtor/@v/v1.0.385.zip: 200 OK (0.245s)

get https://proxy.golang.org/berty.tech/@v/list: 404 Not Found (1.654s)

go: downloading github.com/cretz/bine v0.1.0

get https://proxy.golang.org/github.com/cretz/bine/@v/v0.1.0.zip

get https://proxy.golang.org/github.com/cretz/bine/@v/v0.1.0.zip: 200 OK (0.090s)

get https://proxy.golang.org/github.com/@v/list

get https://proxy.golang.org/github.com/cretz/bine/@v/list

get https://proxy.golang.org/github.com/cretz/bine/process/@v/list

get https://proxy.golang.org/github.com/cretz/@v/list

get https://proxy.golang.org/github.com/@v/list: 404 Not Found (0.028s)

get https://proxy.golang.org/github.com/cretz/@v/list: 404 Not Found (0.065s)

get https://proxy.golang.org/github.com/cretz/bine/@v/list: 200 OK (0.071s)

get https://proxy.golang.org/github.com/cretz/bine/process/@v/list: 404 Not Found (0.071s)

get https://proxy.golang.org/github.com/cretz/bine/torutil/@v/list

get https://proxy.golang.org/github.com/cretz/bine/torutil/@v/list: 404 Not Found (0.032s)

go: downloading golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5

get https://proxy.golang.org/github.com/cretz/bine/torutil/ed25519/@v/list

get https://proxy.golang.org/golang.org/x/crypto/@v/v0.0.0-20190404164418-38d8ce5564a5.zip

get https://proxy.golang.org/github.com/cretz/bine/torutil/ed25519/@v/list: 404 Not Found (0.036s)

get https://proxy.golang.org/github.com/cretz/bine/torutil/ed25519/internal/@v/list

get https://proxy.golang.org/github.com/cretz/bine/torutil/ed25519/internal/edwards25519/@v/list

get https://proxy.golang.org/github.com/cretz/bine/torutil/ed25519/internal/@v/list: 404 Not Found (0.037s)

get https://proxy.golang.org/github.com/cretz/bine/torutil/ed25519/internal/edwards25519/@v/list: 404 Not Found (0.069s)

get https://proxy.golang.org/golang.org/x/crypto/@v/v0.0.0-20190404164418-38d8ce5564a5.zip: 200 OK (0.162s)

get https://proxy.golang.org/golang.org/@v/list

get https://proxy.golang.org/golang.org/x/crypto/ed25519/@v/list

get https://proxy.golang.org/golang.org/x/@v/list

get https://proxy.golang.org/golang.org/x/crypto/sha3/@v/list

get https://proxy.golang.org/golang.org/x/crypto/@v/list

get https://proxy.golang.org/golang.org/x/crypto/@v/list: 200 OK (0.025s)

get https://proxy.golang.org/golang.org/x/crypto/ed25519/@v/list: 404 Not Found (0.031s)

get https://proxy.golang.org/golang.org/x/@v/list: 404 Not Found (0.059s)

get https://proxy.golang.org/golang.org/@v/list: 404 Not Found (0.059s)

get https://proxy.golang.org/golang.org/x/crypto/sha3/@v/list: 404 Not Found (0.069s)

go: downloading golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e

get https://proxy.golang.org/golang.org/x/crypto/ed25519/internal/edwards25519/@v/list

get https://proxy.golang.org/golang.org/x/crypto/ed25519/internal/@v/list

get https://proxy.golang.org/golang.org/x/sys/@v/v0.0.0-20190403152447-81d4e9dc473e.zip

get https://proxy.golang.org/golang.org/x/crypto/ed25519/internal/@v/list: 404 Not Found (0.067s)

get https://proxy.golang.org/golang.org/x/crypto/ed25519/internal/edwards25519/@v/list: 404 Not Found (0.068s)

get https://proxy.golang.org/golang.org/x/sys/@v/v0.0.0-20190403152447-81d4e9dc473e.zip: 200 OK (0.121s)

get https://proxy.golang.org/golang.org/x/sys/cpu/@v/list

get https://proxy.golang.org/golang.org/x/sys/@v/list

get https://proxy.golang.org/golang.org/x/sys/@v/list: 200 OK (0.019s)

get https://proxy.golang.org/golang.org/x/sys/cpu/@v/list: 404 Not Found (0.068s)

get https://proxy.golang.org/golang.org/x/sys/unix/@v/list

get https://proxy.golang.org/golang.org/x/sys/unix/@v/list: 404 Not Found (0.034s)

go: trying upgrade to github.com/cretz/[email protected]
go: trying upgrade to golang.org/x/[email protected]
go: trying upgrade to golang.org/x/[email protected]
go: added berty.tech/go-libtor v1.0.385
go: added github.com/cretz/bine v0.2.0
go: added golang.org/x/crypto v0.13.0
go: added golang.org/x/sys v0.12.0

Integration assistance required

I use chi-router for my website

type Server struct {
	server *http.Server
}

func (s *Server) Run() error {
	return s.server.ListenAndServe()
}

func (s *Server) Shutdown(ctx context.Context) error {
	return s.server.Shutdown(ctx)
}

func New(
	config *config.Config,
	usersService services.UsersService,
) *Server {
	r := handlers.NewRouter(usersService)
	httpServer := &http.Server{
		Addr:              config.ServerURI,
		Handler:           r,
		ReadHeaderTimeout: 1 * time.Second,
	}
	return &Server{
		server: httpServer,
	}
}

Here is the code of my server, everything is standard, how can I broadcast my server that is running on port 8000 to Tor Domain, I will be very grateful for your help.

torgo.NewController returns io.EOF error

I have a problem using controller.

func main() {
	ctl, err := torgo.NewController(":9051")
	if err != nil {
		fmt.Println(err) // returns EOF
	}
	fmt.Println(ctl) // returns <nil>
}

I'm using dperson/torproxy. Did I miss some configuration?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.