Skip to content
/ tgun Public

Go TCP/HTTP Library, Easy headers, proxy, auth and user agent. Now also a libcurl replacement for C programs.

License

Notifications You must be signed in to change notification settings

aerth/tgun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tgun

a http and tcp client with common options

  • Use Proxy (http, socks4, socks5, tor)
  • Use custom UserAgent (even during redirects)
  • Set headers
  • Use simple authentication
  • Custom timeout
// set headers if necessary
headers := map[string]string{
  "API_KEY": "12345"
  "API_SECRET": "12345"
}

// set user agent and proxy in the initialization
dialer := tgun.Client{
  Proxy:     "socks5://localhost:1080",
  UserAgent: "MyCrawler/0.1 (https://github.com/user/repo)",
  Headers:   headers,
}

// get bytes
b, err := dialer.GetBytes("https://example.org")

See tgun_test.go for more examples.

c usage

harness tgun in your c application!

first make in plugin directory, creating tgun.a tgun.so tgun.h and an example tgun curl-like application.

#include <tgun.h>

int main(){
    // set user-agent
    easy_ua("libtgun/1.0");
    // set proxy url, or alias 'tor' (9050 or 9150 depending on platform) or 'socks' (127.0.0.1:1080)
    easy_proxy("tor");
    char* b = get_url("http://example.org");

    // if any errors, NULL is returned and an error is waiting
    if (!b) {
      fprintf(stderr, "error: %s\n", tgunerr());    
    } else {
      // normal string, do something with it, then free().
      printf("%s", b);
      free(b);
    }
}

see plugin directory for c usage example

About

Go TCP/HTTP Library, Easy headers, proxy, auth and user agent. Now also a libcurl replacement for C programs.

Topics

Resources

License

Stars

Watchers

Forks