lantern

module
v0.0.0-...-fd97e0e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2016 License: Apache-2.0

README

lantern Travis CI Status Coverage Status [ProjectTalk] (http://www.projecttalk.io/boards/getlantern%2Flantern?utm_campaign=gh-badge&utm_medium=badge&utm_source=github)

If you're looking for Lantern installers, you can find all of them at the following links:

If you're looking for help, please visit below user forums:

| English | 中文 | فارسی | français

Building Lantern

Prerequisites

To build and run Lantern desktop, just do:

git clone https://github.com/getlantern/lantern.git
cd lantern
make lantern
./lantern

During development, you'll likely want to do a clean build like this:

make clean-desktop lantern && ./lantern

Building Mobile

Mobile Prerequisites

Building the mobile library and app requires the following:

  1. Install Java JDK 7 or 8
  2. Install Go 1.6 or higher
  3. Install Android SDK Tools
  4. Install NDK(http://developer.android.com/ndk/downloads/index.html)

Make sure to set these environment variables before trying to build any Android components (replace the paths based on wherever you've installed the Android SDK and NDK).

export ANDROID_HOME=/opt/adt-bundle-mac-x86_64-20130917/sdk
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools:$PATH
export NDK_HOME=/opt/android-ndk-r10e
export PATH=$NDK_HOME:$PATH
Go Android Library

The core Lantern functionality can be packaged into a native Android library with:

make android-lib
Java Android SDK

The Java-based Android SDK allows easy embedding of Lantern functionality in 3rd party Android apps such as Manoto TV. The SDK can be built with:

make android-sdk
Lantern Mobile Testbed

This simple Android application provides a way to test the Android SDK. It can be built with:

make android-testbed
Lantern Mobile App

Debug

To create a debug build of the full lantern mobile app:

make android-debug

To install on the default device:

make android-install

Release

To create a release build, add the following to your ~/.gradle/gradle.properties file:

KEYSTORE_PWD=$KEYSTORE_PASSWORD
KEYSTORE_FILE=keystore.release.jks
KEY_PWD=$KEY_PASSWORD

You can find the exact values to add to your gradle.properties here.

Then it can be built with:

SECRETS_DIR=$PATH_TO_TOO_MANY_SECRETS \
VERSION=2.0.0-beta1 make android-release
Android Tips
Uninstall for All Users

If you use adb to install and debug an app to your Android device during development and then subsequently build a signed APK and try to install it on that same device, you may receive an unhelpful error saying "App Not Installed". This typically means that you tried to install the same app but signed with a different key. The solution is to uninstall the app first, but you have to uninstall it for all users. You can do this by selecting "Uninstall for all users" from:

Settings -> Apps -> [Pick the App] -> Hamburger Menu (...) -> Uninstall for all users.

If you forget to do this and just uninstall normally, you'll still encounter the error. To fix this, you'll have to run the app with adb again and then uninstall for all users.

Getting HTTP Connections to Use Proxy

In android, programmatic access to HTTP resources typically uses the HttpURLConnection class. You can tell it to use a proxy by setting some system properties:

System.setProperty("http.proxyHost", host);
System.setProperty("http.proxyPort", port);
System.setProperty("https.proxyHost", host);
System.setProperty("https.proxyPort", port);

You can disable proxying by clearing those properties:

System.clearProperty("http.proxyHost");
System.clearProperty("http.proxyPort");
System.clearProperty("https.proxyHost");
System.clearProperty("https.proxyPort");

However, there is one big caveat - HttpURLConnection uses keep-alives to reuse existing TCP connections. These TCP connections will still be using the old proxy settings. This has several implications:

Set the proxy settings as early in the application's lifecycle as possible, ideally before any HttpURLConnections have been opened.

Don't expect the settings to take effect immediately if some HttpURLConnections have already been opened.

Disable keep-alives if you need to, which you can do like this:

HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
// Need to force closing so that old connections (with old proxy settings) don't get reused.
urlConnection.setRequestProperty("Connection", "close");

Building Lantern for running on a server

To run Lantern on a server, you simply need to set a flag to build it in headless mode and then tell it to run on any local address as opposed to binding to localhost (so that it's accessible from other machines). You can do this as follows:

  1. HEADLESS=true make docker-linux or, if you're already running on Linux just HEADLESS=true make linux
  2. ./lantern_linux_amd64 --addr 0.0.0.0:8787 or ./lantern_linux_386 --addr 0.0.0.0:8787

Other

Generating assets
make genassets

If the environment variable UPDATE_DIST=true is set, make genassets also updates the resources in the dist folder.

An annotated tag can be added like this:

git tag -a v1.0.0 -m"Tagged 1.0.0"
git push --tags

Use make create-tag as a shortcut for creating and uploading tags:

VERSION='2.0.0-beta5' make create-tag

If you want to both create a package and upload a tag, run the create-tag task right after the packages task:

[...env variables...] make packages create-tag
Updating Icons

The icons used for the system tray are stored in src/github/getlantern/lantern/icons. To apply changes to the icons, make your updates in the icons folder and then run make update-icons.

Continuous Integration with Travis CI

Continuous builds are run on Travis CI. These builds use the .travis.yml configuration. The github.com/getlantern/cf unit tests require an envvars.bash to be populated with credentials for cloudflare. The original envvars.bash is available here. An encrypted version is checked in as envvars.bash.enc, which was encrypted per the instructions here.

Documentation for developers

Dev README

Please, go to README-dev for an in-depth explanation of the Lantern internals and cloud services.

Release README

Please visit README-release for details on building release versions of Lantern.

Contributing changes

Lantern is a gost project that provides repeatable builds and consolidated pull requests for lantern.

Go code in Lantern must pass several tests:

You can find a generic git-hook file, which can be used as a pre-push (or pre-commit) hook to automatically ensure these tests are passed before committing any code. Only Go packages in src/github.com/getlantern will be tested, and only those that have changes in them.

Install by copying it into the local .git/hooks/ directory, with the pre-push file name if you want to run it before pushing. Alternatively, you can copy pre-commit.hook to pre-commit to run it before each commit.

ln -s "$(pwd)/prehook.sh" .git/hooks/prehook.sh
ln -s "$(pwd)/pre-push" .git/hooks/pre-push

Important notice

If you must commit without running the hooks, you can run git with the --no-verify flag.

Directories

Path Synopsis
src
code.google.com/p/go-uuid/uuid
The uuid package generates and inspects UUIDs.
The uuid package generates and inspects UUIDs.
code.google.com/p/winsvc/debug
Package debug provides facilities to execute svc.Handler on console.
Package debug provides facilities to execute svc.Handler on console.
code.google.com/p/winsvc/eventlog
Package eventlog implements access to Windows event log.
Package eventlog implements access to Windows event log.
code.google.com/p/winsvc/example
Example service program that beeps.
Example service program that beeps.
code.google.com/p/winsvc/mgr
Package mgr can be used to manage Windows service programs.
Package mgr can be used to manage Windows service programs.
code.google.com/p/winsvc/registry
Package registry provides access to Windows registry.
Package registry provides access to Windows registry.
code.google.com/p/winsvc/svc
Package svc provides everything required to build Windows service.
Package svc provides everything required to build Windows service.
github.com/akavel/rsrc/ico
Package ico describes Windows ICO file format.
Package ico describes Windows ICO file format.
github.com/davecgh/go-spew/spew
Package spew implements a deep pretty printer for Go data structures to aid in debugging.
Package spew implements a deep pretty printer for Go data structures to aid in debugging.
github.com/fatih/set
Package set provides both threadsafe and non-threadsafe implementations of a generic set data structure.
Package set provides both threadsafe and non-threadsafe implementations of a generic set data structure.
github.com/getlantern/appdir
package appdir provides a facility for determining the system-dependent paths for application resources.
package appdir provides a facility for determining the system-dependent paths for application resources.
github.com/getlantern/autoupdate
Package autoupdate provides Lantern with special tools to autoupdate itself with minimal effort.
Package autoupdate provides Lantern with special tools to autoupdate itself with minimal effort.
github.com/getlantern/aws-sdk-go/aws
Package aws contains support code for the various AWS clients in the github.com/awslabs/aws-sdk-go/gen subpackages.
Package aws contains support code for the various AWS clients in the github.com/awslabs/aws-sdk-go/gen subpackages.
github.com/getlantern/aws-sdk-go/cfn
Package cfn provides functionality for creating AWS CloudFormation templates.
Package cfn provides functionality for creating AWS CloudFormation templates.
github.com/getlantern/aws-sdk-go/cmd/aws-gen-gocli
Command aws-gen-gocli parses a JSON description of an AWS API and generates a Go file containing a client for the API.
Command aws-gen-gocli parses a JSON description of an AWS API and generates a Go file containing a client for the API.
github.com/getlantern/aws-sdk-go/cmd/aws-gen-goendpoints
Command aws-gen-goendpoints parses a JSON description of the AWS endpoint discovery logic and generates a Go file which returns an endpoint.
Command aws-gen-goendpoints parses a JSON description of the AWS endpoint discovery logic and generates a Go file which returns an endpoint.
github.com/getlantern/aws-sdk-go/gen
Package gen contains automatically generated AWS clients.
Package gen contains automatically generated AWS clients.
github.com/getlantern/aws-sdk-go/gen/autoscaling
Package autoscaling provides a client for Auto Scaling.
Package autoscaling provides a client for Auto Scaling.
github.com/getlantern/aws-sdk-go/gen/cloudformation
Package cloudformation provides a client for AWS CloudFormation.
Package cloudformation provides a client for AWS CloudFormation.
github.com/getlantern/aws-sdk-go/gen/cloudfront
Package cloudfront provides a client for Amazon CloudFront.
Package cloudfront provides a client for Amazon CloudFront.
github.com/getlantern/aws-sdk-go/gen/cloudhsm
Package cloudhsm provides a client for Amazon CloudHSM.
Package cloudhsm provides a client for Amazon CloudHSM.
github.com/getlantern/aws-sdk-go/gen/cloudsearch
Package cloudsearch provides a client for Amazon CloudSearch.
Package cloudsearch provides a client for Amazon CloudSearch.
github.com/getlantern/aws-sdk-go/gen/cloudsearchdomain
Package cloudsearchdomain provides a client for Amazon CloudSearch Domain.
Package cloudsearchdomain provides a client for Amazon CloudSearch Domain.
github.com/getlantern/aws-sdk-go/gen/cloudtrail
Package cloudtrail provides a client for AWS CloudTrail.
Package cloudtrail provides a client for AWS CloudTrail.
github.com/getlantern/aws-sdk-go/gen/cloudwatch
Package cloudwatch provides a client for Amazon CloudWatch.
Package cloudwatch provides a client for Amazon CloudWatch.
github.com/getlantern/aws-sdk-go/gen/codedeploy
Package codedeploy provides a client for AWS CodeDeploy.
Package codedeploy provides a client for AWS CodeDeploy.
github.com/getlantern/aws-sdk-go/gen/cognito/identity
Package cognitoidentity provides a client for Amazon Cognito Identity.
Package cognitoidentity provides a client for Amazon Cognito Identity.
github.com/getlantern/aws-sdk-go/gen/cognito/sync
Package cognitosync provides a client for Amazon Cognito Sync.
Package cognitosync provides a client for Amazon Cognito Sync.
github.com/getlantern/aws-sdk-go/gen/config
Package config provides a client for AWS Config.
Package config provides a client for AWS Config.
github.com/getlantern/aws-sdk-go/gen/datapipeline
Package datapipeline provides a client for AWS Data Pipeline.
Package datapipeline provides a client for AWS Data Pipeline.
github.com/getlantern/aws-sdk-go/gen/directconnect
Package directconnect provides a client for AWS Direct Connect.
Package directconnect provides a client for AWS Direct Connect.
github.com/getlantern/aws-sdk-go/gen/dynamodb
Package dynamodb provides a client for Amazon DynamoDB.
Package dynamodb provides a client for Amazon DynamoDB.
github.com/getlantern/aws-sdk-go/gen/ec2
Package ec2 provides a client for Amazon Elastic Compute Cloud.
Package ec2 provides a client for Amazon Elastic Compute Cloud.
github.com/getlantern/aws-sdk-go/gen/ecs
Package ecs provides a client for Amazon EC2 Container Service.
Package ecs provides a client for Amazon EC2 Container Service.
github.com/getlantern/aws-sdk-go/gen/elasticache
Package elasticcache provides a client for Amazon ElastiCache.
Package elasticcache provides a client for Amazon ElastiCache.
github.com/getlantern/aws-sdk-go/gen/elasticbeanstalk
Package elasticbeanstalk provides a client for AWS Elastic Beanstalk.
Package elasticbeanstalk provides a client for AWS Elastic Beanstalk.
github.com/getlantern/aws-sdk-go/gen/elastictranscoder
Package elastictranscoder provides a client for Amazon Elastic Transcoder.
Package elastictranscoder provides a client for Amazon Elastic Transcoder.
github.com/getlantern/aws-sdk-go/gen/elb
Package elb provides a client for Elastic Load Balancing.
Package elb provides a client for Elastic Load Balancing.
github.com/getlantern/aws-sdk-go/gen/emr
Package emr provides a client for Amazon Elastic MapReduce.
Package emr provides a client for Amazon Elastic MapReduce.
github.com/getlantern/aws-sdk-go/gen/endpoints
Package endpoints provides lookups for all AWS service endpoints.
Package endpoints provides lookups for all AWS service endpoints.
github.com/getlantern/aws-sdk-go/gen/glacier
Package glacier provides a client for Amazon Glacier.
Package glacier provides a client for Amazon Glacier.
github.com/getlantern/aws-sdk-go/gen/iam
Package iam provides a client for AWS Identity and Access Management.
Package iam provides a client for AWS Identity and Access Management.
github.com/getlantern/aws-sdk-go/gen/importexport
Package importexport provides a client for AWS Import/Export.
Package importexport provides a client for AWS Import/Export.
github.com/getlantern/aws-sdk-go/gen/kinesis
Package kinesis provides a client for Amazon Kinesis.
Package kinesis provides a client for Amazon Kinesis.
github.com/getlantern/aws-sdk-go/gen/kms
Package kms provides a client for AWS Key Management Service.
Package kms provides a client for AWS Key Management Service.
github.com/getlantern/aws-sdk-go/gen/lambda
Package lambda provides a client for Amazon Lambda.
Package lambda provides a client for Amazon Lambda.
github.com/getlantern/aws-sdk-go/gen/logs
Package logs provides a client for Amazon CloudWatch Logs.
Package logs provides a client for Amazon CloudWatch Logs.
github.com/getlantern/aws-sdk-go/gen/opsworks
Package opsworks provides a client for AWS OpsWorks.
Package opsworks provides a client for AWS OpsWorks.
github.com/getlantern/aws-sdk-go/gen/rds
Package rds provides a client for Amazon Relational Database Service.
Package rds provides a client for Amazon Relational Database Service.
github.com/getlantern/aws-sdk-go/gen/redshift
Package redshift provides a client for Amazon Redshift.
Package redshift provides a client for Amazon Redshift.
github.com/getlantern/aws-sdk-go/gen/route53
Package route53 provides a client for Amazon Route 53.
Package route53 provides a client for Amazon Route 53.
github.com/getlantern/aws-sdk-go/gen/route53domains
Package route53domains provides a client for Amazon Route 53 Domains.
Package route53domains provides a client for Amazon Route 53 Domains.
github.com/getlantern/aws-sdk-go/gen/s3
Package s3 provides a client for Amazon Simple Storage Service.
Package s3 provides a client for Amazon Simple Storage Service.
github.com/getlantern/aws-sdk-go/gen/sdb
Package sdb provides a client for Amazon SimpleDB.
Package sdb provides a client for Amazon SimpleDB.
github.com/getlantern/aws-sdk-go/gen/ses
Package ses provides a client for Amazon Simple Email Service.
Package ses provides a client for Amazon Simple Email Service.
github.com/getlantern/aws-sdk-go/gen/sns
Package sns provides a client for Amazon Simple Notification Service.
Package sns provides a client for Amazon Simple Notification Service.
github.com/getlantern/aws-sdk-go/gen/sqs
Package sqs provides a client for Amazon Simple Queue Service.
Package sqs provides a client for Amazon Simple Queue Service.
github.com/getlantern/aws-sdk-go/gen/storagegateway
Package storagegateway provides a client for AWS Storage Gateway.
Package storagegateway provides a client for AWS Storage Gateway.
github.com/getlantern/aws-sdk-go/gen/sts
Package sts provides a client for AWS Security Token Service.
Package sts provides a client for AWS Security Token Service.
github.com/getlantern/aws-sdk-go/gen/support
Package support provides a client for AWS Support.
Package support provides a client for AWS Support.
github.com/getlantern/aws-sdk-go/gen/swf
Package swf provides a client for Amazon Simple Workflow Service.
Package swf provides a client for Amazon Simple Workflow Service.
github.com/getlantern/aws-sdk-go/model
Package model contains functionality to generate clients for AWS APIs.
Package model contains functionality to generate clients for AWS APIs.
github.com/getlantern/badserver
badserver is an HTTP server that misbehaves in some common ways
badserver is an HTTP server that misbehaves in some common ways
github.com/getlantern/balancer
package balancer provides weighted round-robin load balancing of network connections with the ability to specify quality of service (QOS) levels.
package balancer provides weighted round-robin load balancing of network connections with the ability to specify quality of service (QOS) levels.
github.com/getlantern/buuid
Package buuid provides a type 4 uuid that can be encoded into a 16 byte binary representation as two 64 bit integers in little endian byte order.
Package buuid provides a type 4 uuid that can be encoded into a 16 byte binary representation as two 64 bit integers in little endian byte order.
github.com/getlantern/bytecounting
package bytecounting provides mechanisms for counting bytes read/written on net.Conn and net.Listener.
package bytecounting provides mechanisms for counting bytes read/written on net.Conn and net.Listener.
github.com/getlantern/byteexec
Package byteexec provides a very basic facility for running executables supplied as byte arrays, which is handy when used with github.com/jteeuwen/go-bindata.
Package byteexec provides a very basic facility for running executables supplied as byte arrays, which is handy when used with github.com/jteeuwen/go-bindata.
github.com/getlantern/chained
Package chained provides a chained proxy that can proxy any tcp traffic over any underlying transport through a remote proxy.
Package chained provides a chained proxy that can proxy any tcp traffic over any underlying transport through a remote proxy.
github.com/getlantern/deepcopy
package deepcopy provides functionality for making deep copies of objects.
package deepcopy provides functionality for making deep copies of objects.
github.com/getlantern/detour
Package detour provides a net.Conn interface to dial another dialer if a site fails to connect directly.
Package detour provides a net.Conn interface to dial another dialer if a site fails to connect directly.
github.com/getlantern/detour/proxy
package main provides a simple proxy program that uses detour, useful for performance testing.
package main provides a simple proxy program that uses detour, useful for performance testing.
github.com/getlantern/edgedetect
Package edgedetect provides support for detecing whether the default web browser is Microsoft Edge.
Package edgedetect provides support for detecing whether the default web browser is Microsoft Edge.
github.com/getlantern/edgedetect/cmd
This simple test program prints out whether or not the default browser is Edge, which is useful for testing/debugging edgedetect.
This simple test program prints out whether or not the default browser is Edge, which is useful for testing/debugging edgedetect.
github.com/getlantern/elevate
package elevate provides support for executing commands with elevated privileges.
package elevate provides support for executing commands with elevated privileges.
github.com/getlantern/eventual
Package eventual provides values that eventually have a value.
Package eventual provides values that eventually have a value.
github.com/getlantern/filepersist
package filepersist provdies a mechanism for persisting data to a file at a permanent location
package filepersist provdies a mechanism for persisting data to a file at a permanent location
+build !stub
github.com/getlantern/flashlight/localdiscovery
Package localdiscovery provides a service for discovering Lantern instances in the local network
Package localdiscovery provides a service for discovering Lantern instances in the local network
github.com/getlantern/flashlight/main
flashlight is a lightweight chained proxy that can run in client or server mode.
flashlight is a lightweight chained proxy that can run in client or server mode.
github.com/getlantern/flashlight/proxy
package proxy provides the implementations of the client and server proxies
package proxy provides the implementations of the client and server proxies
github.com/getlantern/go-dnsimple/dnsimple
Package dnsimple implements a client for the DNSimple API.
Package dnsimple implements a client for the DNSimple API.
github.com/getlantern/go-igdman/igdman
Package igdman provides a basic management interface for Internet Gateway Devices (IGDs), primarily intended to help with creating port mappings from external ports to ports on internal ips.
Package igdman provides a basic management interface for Internet Gateway Devices (IGDs), primarily intended to help with creating port mappings from external ports to ports on internal ips.
github.com/getlantern/go-update
go-update allows a program to update itself by replacing its executable file with a new version.
go-update allows a program to update itself by replacing its executable file with a new version.
github.com/getlantern/golog
package golog implements logging functions that log errors to stderr and debug messages to stdout.
package golog implements logging functions that log errors to stderr and debug messages to stdout.
github.com/getlantern/idletiming
package idletiming provides mechanisms for adding idle timeouts to net.Conn and net.Listener.
package idletiming provides mechanisms for adding idle timeouts to net.Conn and net.Listener.
github.com/getlantern/keyman
Package keyman provides convenience APIs around Go's built-in crypto APIs.
Package keyman provides convenience APIs around Go's built-in crypto APIs.
github.com/getlantern/lantern
Package lantern provides an embeddable client-side web proxy
Package lantern provides an embeddable client-side web proxy
github.com/getlantern/lantern-mobile/lantern/interceptor
interceptor acts as an intermediary between a local SOCKS proxy intercepting VPN traffic and Lantern
interceptor acts as an intermediary between a local SOCKS proxy intercepting VPN traffic and Lantern
github.com/getlantern/lantern-mobile/lantern/protected
Package protected is used for creating "protected" connections that bypass Android's VpnService
Package protected is used for creating "protected" connections that bypass Android's VpnService
github.com/getlantern/lantern-mobile/lantern/socks-server
This dummy socks server is using for testing.
This dummy socks server is using for testing.
github.com/getlantern/launcher
Package launcher configures Lantern to run on system start
Package launcher configures Lantern to run on system start
github.com/getlantern/pathreflect
package pathreflect provides the ability to address an object graph using a path notation and then modify the addressed node.
package pathreflect provides the ability to address an object graph using a path notation and then modify the addressed node.
github.com/getlantern/peerscanner
peerscanner is a program that maintains entries in CDN and DNS services based on whether or not the corresponding Lantern servers are currently online.
peerscanner is a program that maintains entries in CDN and DNS services based on whether or not the corresponding Lantern servers are currently online.
github.com/getlantern/peerscanner/cfl
package cfl provides a utility for interacting with CloudFlare
package cfl provides a utility for interacting with CloudFlare
github.com/getlantern/peerscanner/cfr
package cfr provides utilities for interaction with cloudfront
package cfr provides utilities for interaction with cloudfront
github.com/getlantern/profiling
package profiling provides support for easily doing CPU and memory profiling from within Go programs.
package profiling provides support for easily doing CPU and memory profiling from within Go programs.
github.com/getlantern/protected
Package protected is used for creating "protected" connections that bypass Android's VpnService
Package protected is used for creating "protected" connections that bypass Android's VpnService
github.com/getlantern/proxiedsites
proxiedsites manages a list of proxied sites, including a default set of sites (cloud) and user-applied customizations to that list.
proxiedsites manages a list of proxied sites, including a default set of sites (cloud) and user-applied customizations to that list.
github.com/getlantern/systray
Package systray is a cross platfrom Go library to place an icon and menu in the notification area.
Package systray is a cross platfrom Go library to place an icon and menu in the notification area.
github.com/getlantern/tarfs/tarfs
This program generates a go file that embeds resources from a given path as a tar archive in a byte array.
This program generates a go file that embeds resources from a given path as a tar archive in a byte array.
github.com/getlantern/testify
A set of packages that provide many tools for testifying that your code will behave as you intend.
A set of packages that provide many tools for testifying that your code will behave as you intend.
github.com/getlantern/testify/assert
A set of comprehensive testing tools for use with the normal Go testing system.
A set of comprehensive testing tools for use with the normal Go testing system.
github.com/getlantern/testify/http
A set of tools to make testing http activity using the Go testing system easier.
A set of tools to make testing http activity using the Go testing system easier.
github.com/getlantern/testify/mock
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
github.com/getlantern/testify/require
Alternative testing tools which stop test execution if test failed.
Alternative testing tools which stop test execution if test failed.
github.com/getlantern/testify/suite
The suite package contains logic for creating testing suite structs and running the methods on those structs as tests.
The suite package contains logic for creating testing suite structs and running the methods on those structs as tests.
github.com/getlantern/tlsdefaults
Package tlsdefaults provides sensible defaults for using TLS.
Package tlsdefaults provides sensible defaults for using TLS.
github.com/getlantern/tlsdialer
package tlsdialer contains a customized version of crypto/tls.Dial that allows control over whether or not to send the ServerName extension in the client handshake.
package tlsdialer contains a customized version of crypto/tls.Dial that allows control over whether or not to send the ServerName extension in the client handshake.
github.com/getlantern/waitforserver
package waitforserver provides a function to wait for a server at given address.
package waitforserver provides a function to wait for a server at given address.
github.com/getlantern/wfilter
package wfilter provides facilities for adding filtering to io.Writer.
package wfilter provides facilities for adding filtering to io.Writer.
github.com/getlantern/withtimeout
package withtimeout provides functionality for performing operations with a timeout.
package withtimeout provides functionality for performing operations with a timeout.
github.com/getlantern/yaml
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.
github.com/google/go-github/github
Package github provides a client for using the GitHub API.
Package github provides a client for using the GitHub API.
github.com/google/go-github/tests/fields
This tool tests for the JSON mappings in the go-github data types.
This tool tests for the JSON mappings in the go-github data types.
github.com/google/go-querystring/query
Package query implements encoding of structs into URL query parameters.
Package query implements encoding of structs into URL query parameters.
github.com/gorilla/context
Package context stores values shared during a request lifetime.
Package context stores values shared during a request lifetime.
github.com/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
Package gorilla/mux implements a request router and dispatcher.
github.com/gorilla/websocket
Package websocket implements the WebSocket protocol defined in RFC 6455.
Package websocket implements the WebSocket protocol defined in RFC 6455.
github.com/gorilla/websocket/examples/autobahn
Command server is a test server for the Autobahn WebSockets Test Suite.
Command server is a test server for the Autobahn WebSockets Test Suite.
github.com/hashicorp/golang-lru
This package provides a simple LRU cache.
This package provides a simple LRU cache.
github.com/jteeuwen/go-bindata
bindata converts any file into managable Go source code.
bindata converts any file into managable Go source code.
github.com/kardianos/osext
Extensions to the standard "os" package.
Extensions to the standard "os" package.
github.com/kr/binarydist
Package binarydist implements binary diff and patch as described on http://www.daemonology.net/bsdiff/.
Package binarydist implements binary diff and patch as described on http://www.daemonology.net/bsdiff/.
github.com/luisiturrios/gowin
Provide simple Windows OS interface to manipulate windows registry, environment variables, default paths and windows services from Golang lenguaje
Provide simple Windows OS interface to manipulate windows registry, environment variables, default paths and windows services from Golang lenguaje
github.com/mailgun/oxy/cbreaker
Circuit breakers start in the Standby state first, observing responses and watching location metrics.
Circuit breakers start in the Standby state first, observing responses and watching location metrics.
github.com/mailgun/oxy/connlimit
package connlimit provides control over simultaneous connections coming from the same source
package connlimit provides control over simultaneous connections coming from the same source
github.com/mailgun/oxy/forward
package forwarder implements http handler that forwards requests to remote server and serves back the response
package forwarder implements http handler that forwards requests to remote server and serves back the response
github.com/mailgun/oxy/ratelimit
Tokenbucket based request rate limiter
Tokenbucket based request rate limiter
github.com/mailgun/oxy/roundrobin
package roundrobin implements dynamic weighted round robin load balancer http handler
package roundrobin implements dynamic weighted round robin load balancer http handler
github.com/mailgun/oxy/stream
package stream provides http.Handler middleware that solves several problems when dealing with http requests:
package stream provides http.Handler middleware that solves several problems when dealing with http requests:
github.com/mailgun/oxy/trace
Package trace implement structured logging of requests
Package trace implement structured logging of requests
github.com/miekg/dns
Package dns implements a full featured interface to the Domain Name System.
Package dns implements a full featured interface to the Domain Name System.
github.com/miekg/dns/dnsutil
Package dnsutil contains higher-level methods useful with the dns package.
Package dnsutil contains higher-level methods useful with the dns package.
github.com/miekg/dns/idn
Package idn implements encoding from and to punycode as speficied by RFC 3492.
Package idn implements encoding from and to punycode as speficied by RFC 3492.
github.com/mitchellh/mapstructure
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
The mapstructure package exposes functionality to convert an abitrary map[string]interface{} into a native Go structure.
github.com/mitchellh/osext
Extensions to the standard "os" package.
Extensions to the standard "os" package.
github.com/mitchellh/panicwrap
The panicwrap package provides functions for capturing and handling panics in your application.
The panicwrap package provides functions for capturing and handling panics in your application.
github.com/oxtoacart/bpool
Package bpool implements leaky pools of byte arrays and Buffers as bounded channels.
Package bpool implements leaky pools of byte arrays and Buffers as bounded channels.
github.com/satori/go.uuid
Package uuid provides implementation of Universally Unique Identifier (UUID).
Package uuid provides implementation of Universally Unique Identifier (UUID).
github.com/skratchdot/open-golang/open
Open a file, directory, or URI using the OS's default application for that object type.
Open a file, directory, or URI using the OS's default application for that object type.
github.com/stretchr/objx
objx - Go package for dealing with maps, slices, JSON and other data.
objx - Go package for dealing with maps, slices, JSON and other data.
github.com/stretchr/testify
Package testify is a set of packages that provide many tools for testifying that your code will behave as you intend.
Package testify is a set of packages that provide many tools for testifying that your code will behave as you intend.
github.com/stretchr/testify/assert
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
github.com/stretchr/testify/http
A set of tools to make testing http activity using the Go testing system easier.
A set of tools to make testing http activity using the Go testing system easier.
github.com/stretchr/testify/mock
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
github.com/stretchr/testify/require
Alternative testing tools which stop test execution if test failed.
Alternative testing tools which stop test execution if test failed.
github.com/stretchr/testify/suite
The suite package contains logic for creating testing suite structs and running the methods on those structs as tests.
The suite package contains logic for creating testing suite structs and running the methods on those structs as tests.
github.com/vaughan0/go-ini
Package ini provides functions for parsing INI configuration files.
Package ini provides functions for parsing INI configuration files.
golang.org/x/image/bmp
Package bmp implements a BMP image decoder and encoder.
Package bmp implements a BMP image decoder and encoder.
golang.org/x/image/draw
Package draw provides image composition functions.
Package draw provides image composition functions.
golang.org/x/image/math/f32
Package f32 implements float32 vector and matrix types.
Package f32 implements float32 vector and matrix types.
golang.org/x/image/math/f64
Package f64 implements float64 vector and matrix types.
Package f64 implements float64 vector and matrix types.
golang.org/x/image/math/fixed
Package fixed implements fixed-point integer types.
Package fixed implements fixed-point integer types.
golang.org/x/image/riff
Package riff implements the Resource Interchange File Format, used by media formats such as AVI, WAVE and WEBP.
Package riff implements the Resource Interchange File Format, used by media formats such as AVI, WAVE and WEBP.
golang.org/x/image/tiff
Package tiff implements a TIFF image decoder and encoder.
Package tiff implements a TIFF image decoder and encoder.
golang.org/x/image/tiff/lzw
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.
Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19.
golang.org/x/image/vp8
Package vp8 implements a decoder for the VP8 lossy image format.
Package vp8 implements a decoder for the VP8 lossy image format.
golang.org/x/image/vp8l
Package vp8l implements a decoder for the VP8L lossless image format.
Package vp8l implements a decoder for the VP8L lossless image format.
golang.org/x/image/webp
Package webp implements a decoder for WEBP images.
Package webp implements a decoder for WEBP images.
golang.org/x/image/webp/nycbcra
Package nycbcra provides non-alpha-premultiplied Y'CbCr-with-alpha image and color types.
Package nycbcra provides non-alpha-premultiplied Y'CbCr-with-alpha image and color types.
golang.org/x/mobile/app
Package app lets you write portable all-Go apps for Android and iOS.
Package app lets you write portable all-Go apps for Android and iOS.
golang.org/x/mobile/app/internal/apptest
Package apptest provides utilities for testing an app.
Package apptest provides utilities for testing an app.
golang.org/x/mobile/app/internal/testapp
Small test app used by app/app_test.go.
Small test app used by app/app_test.go.
golang.org/x/mobile/asset
Package asset provides access to application-bundled assets.
Package asset provides access to application-bundled assets.
golang.org/x/mobile/bind
Package bind implements a code generator for gobind.
Package bind implements a code generator for gobind.
golang.org/x/mobile/bind/java
Package java implements the Java language bindings.
Package java implements the Java language bindings.
golang.org/x/mobile/bind/java/testpkg
Package testpkg contains bound functions for testing the cgo-JNI interface.
Package testpkg contains bound functions for testing the cgo-JNI interface.
golang.org/x/mobile/bind/objc
Package objc implements the Objective-C language bindings.
Package objc implements the Objective-C language bindings.
golang.org/x/mobile/bind/objc/testpkg/go_testpkg
Package go_testpkg is an autogenerated binder stub for package testpkg.
Package go_testpkg is an autogenerated binder stub for package testpkg.
golang.org/x/mobile/bind/seq
Package seq implements the machine-dependent seq serialization format.
Package seq implements the machine-dependent seq serialization format.
golang.org/x/mobile/cmd/gobind
Gobind generates language bindings that make it possible to call Go functions from Java and Objective-C.
Gobind generates language bindings that make it possible to call Go functions from Java and Objective-C.
golang.org/x/mobile/cmd/gomobile
Gomobile is a tool for building and running mobile apps written in Go.
Gomobile is a tool for building and running mobile apps written in Go.
golang.org/x/mobile/event/key
Package key defines an event for physical keyboard keys.
Package key defines an event for physical keyboard keys.
golang.org/x/mobile/event/lifecycle
Package lifecycle defines an event for an app's lifecycle.
Package lifecycle defines an event for an app's lifecycle.
golang.org/x/mobile/event/mouse
Package mouse defines an event for mouse input.
Package mouse defines an event for mouse input.
golang.org/x/mobile/event/paint
Package paint defines an event for the app being ready to paint.
Package paint defines an event for the app being ready to paint.
golang.org/x/mobile/event/size
Package size defines an event for the dimensions, physical resolution and orientation of the app's window.
Package size defines an event for the dimensions, physical resolution and orientation of the app's window.
golang.org/x/mobile/event/touch
Package touch defines an event for touch input.
Package touch defines an event for touch input.
golang.org/x/mobile/example/audio
An app that makes a sound as the gopher hits the walls of the screen.
An app that makes a sound as the gopher hits the walls of the screen.
golang.org/x/mobile/example/basic
An app that draws a green triangle on a red background.
An app that draws a green triangle on a red background.
golang.org/x/mobile/example/bind/hello
Package hello is a trivial package for gomobile bind example.
Package hello is a trivial package for gomobile bind example.
golang.org/x/mobile/example/flappy
Flappy Gopher is a simple one-button game that uses the mobile framework and the experimental sprite engine.
Flappy Gopher is a simple one-button game that uses the mobile framework and the experimental sprite engine.
golang.org/x/mobile/example/network
An app that paints green if golang.org is reachable when the app first starts, or red otherwise.
An app that paints green if golang.org is reachable when the app first starts, or red otherwise.
golang.org/x/mobile/exp/app/debug
Package debug provides GL-based debugging tools for apps.
Package debug provides GL-based debugging tools for apps.
golang.org/x/mobile/exp/audio
Package audio provides a basic audio player.
Package audio provides a basic audio player.
golang.org/x/mobile/exp/audio/al
Package al provides OpenAL Soft bindings for Go.
Package al provides OpenAL Soft bindings for Go.
golang.org/x/mobile/exp/f32
Package f32 implements some linear algebra and GL helpers for float32s.
Package f32 implements some linear algebra and GL helpers for float32s.
golang.org/x/mobile/exp/font
Package font provides platform independent access to system fonts.
Package font provides platform independent access to system fonts.
golang.org/x/mobile/exp/gl/glutil
Package glutil implements OpenGL utility functions.
Package glutil implements OpenGL utility functions.
golang.org/x/mobile/exp/sensor
Package sensor provides sensor events from various movement sensors.
Package sensor provides sensor events from various movement sensors.
golang.org/x/mobile/exp/sprite
Package sprite provides a 2D scene graph for rendering and animation.
Package sprite provides a 2D scene graph for rendering and animation.
golang.org/x/mobile/exp/sprite/clock
Package clock provides a clock and time functions for a sprite engine.
Package clock provides a clock and time functions for a sprite engine.
golang.org/x/mobile/exp/sprite/glsprite
Package glsprite implements a sprite Engine using OpenGL ES 2.
Package glsprite implements a sprite Engine using OpenGL ES 2.
golang.org/x/mobile/exp/sprite/portable
Package portable implements a sprite Engine using the image package.
Package portable implements a sprite Engine using the image package.
golang.org/x/mobile/geom
Package geom defines a two-dimensional coordinate system.
Package geom defines a two-dimensional coordinate system.
golang.org/x/mobile/gl
Package gl implements Go bindings for OpenGL ES 2.
Package gl implements Go bindings for OpenGL ES 2.
golang.org/x/mobile/internal/binres
Package binres implements encoding and decoding of android binary resources.
Package binres implements encoding and decoding of android binary resources.
golang.org/x/mobile/internal/mobileinit
Package mobileinit contains common initialization logic for mobile platforms that is relevant to both all-Go apps and gobind-based apps.
Package mobileinit contains common initialization logic for mobile platforms that is relevant to both all-Go apps and gobind-based apps.
golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
golang.org/x/net/dict
Package dict implements the Dictionary Server Protocol as defined in RFC 2229.
Package dict implements the Dictionary Server Protocol as defined in RFC 2229.
golang.org/x/net/html
Package html implements an HTML5-compliant tokenizer and parser.
Package html implements an HTML5-compliant tokenizer and parser.
golang.org/x/net/html/atom
Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
Package atom provides integer codes (also known as atoms) for a fixed set of frequently occurring HTML strings: tag names and attribute keys such as "p" and "id".
golang.org/x/net/html/charset
Package charset provides common text encodings for HTML documents.
Package charset provides common text encodings for HTML documents.
golang.org/x/net/icmp
Package icmp provides basic functions for the manipulation of messages used in the Internet Control Message Protocols, ICMPv4 and ICMPv6.
Package icmp provides basic functions for the manipulation of messages used in the Internet Control Message Protocols, ICMPv4 and ICMPv6.
golang.org/x/net/idna
Package idna implements IDNA2008 (Internationalized Domain Names for Applications), defined in RFC 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
Package idna implements IDNA2008 (Internationalized Domain Names for Applications), defined in RFC 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
golang.org/x/net/internal/iana
Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA).
Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA).
golang.org/x/net/internal/nettest
Package nettest provides utilities for IP testing.
Package nettest provides utilities for IP testing.
golang.org/x/net/internal/timeseries
Package timeseries implements a time series structure for stats collection.
Package timeseries implements a time series structure for stats collection.
golang.org/x/net/ipv4
Package ipv4 implements IP-level socket options for the Internet Protocol version 4.
Package ipv4 implements IP-level socket options for the Internet Protocol version 4.
golang.org/x/net/ipv6
Package ipv6 implements IP-level socket options for the Internet Protocol version 6.
Package ipv6 implements IP-level socket options for the Internet Protocol version 6.
golang.org/x/net/netutil
Package netutil provides network utility functions, complementing the more common ones in the net package.
Package netutil provides network utility functions, complementing the more common ones in the net package.
golang.org/x/net/proxy
Package proxy provides support for a variety of protocols to proxy network data.
Package proxy provides support for a variety of protocols to proxy network data.
golang.org/x/net/publicsuffix
Package publicsuffix provides a public suffix list based on data from http://publicsuffix.org/.
Package publicsuffix provides a public suffix list based on data from http://publicsuffix.org/.
golang.org/x/net/trace
Package trace implements tracing of requests.
Package trace implements tracing of requests.
golang.org/x/net/webdav
Package webdav etc etc TODO.
Package webdav etc etc TODO.
golang.org/x/net/websocket
Package websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
Package websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
golang.org/x/sys/windows/registry
Package registry provides access to the Windows registry.
Package registry provides access to the Windows registry.
golang.org/x/sys/windows/svc
Package svc provides everything required to build Windows service.
Package svc provides everything required to build Windows service.
golang.org/x/sys/windows/svc/debug
Package debug provides facilities to execute svc.Handler on console.
Package debug provides facilities to execute svc.Handler on console.
golang.org/x/sys/windows/svc/eventlog
Package eventlog implements access to Windows event log.
Package eventlog implements access to Windows event log.
golang.org/x/sys/windows/svc/example
Example service program that beeps.
Example service program that beeps.
golang.org/x/sys/windows/svc/mgr
Package mgr can be used to manage Windows service programs.
Package mgr can be used to manage Windows service programs.
golang.org/x/tools/benchmark/parse
Package parse provides support for parsing benchmark results as generated by 'go test -bench'.
Package parse provides support for parsing benchmark results as generated by 'go test -bench'.
golang.org/x/tools/blog
Package blog implements a web server for articles written in present format.
Package blog implements a web server for articles written in present format.
golang.org/x/tools/blog/atom
Package atom defines XML data structures for an Atom feed.
Package atom defines XML data structures for an Atom feed.
golang.org/x/tools/cmd/benchcmp
The benchcmp command displays performance changes between benchmarks.
The benchcmp command displays performance changes between benchmarks.
golang.org/x/tools/cmd/callgraph
callgraph: a tool for reporting the call graph of a Go program.
callgraph: a tool for reporting the call graph of a Go program.
golang.org/x/tools/cmd/cover
Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
golang.org/x/tools/cmd/digraph
The digraph command performs queries over unlabelled directed graphs represented in text form.
The digraph command performs queries over unlabelled directed graphs represented in text form.
golang.org/x/tools/cmd/eg
The eg command performs example-based refactoring.
The eg command performs example-based refactoring.
golang.org/x/tools/cmd/fiximports
The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
golang.org/x/tools/cmd/godex
The godex command prints (dumps) exported information of packages or selected package objects.
The godex command prints (dumps) exported information of packages or selected package objects.
golang.org/x/tools/cmd/godoc
Godoc extracts and generates documentation for Go programs.
Godoc extracts and generates documentation for Go programs.
golang.org/x/tools/cmd/goimports
Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones.
Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones.
golang.org/x/tools/cmd/gomvpkg
The gomvpkg command moves go packages, updating import declarations.
The gomvpkg command moves go packages, updating import declarations.
golang.org/x/tools/cmd/gorename
The gorename command performs precise type-safe renaming of identifiers in Go source code.
The gorename command performs precise type-safe renaming of identifiers in Go source code.
golang.org/x/tools/cmd/gotype
The gotype command does syntactic and semantic analysis of Go files and packages like the front-end of a Go compiler.
The gotype command does syntactic and semantic analysis of Go files and packages like the front-end of a Go compiler.
golang.org/x/tools/cmd/html2article
This program takes an HTML file and outputs a corresponding article file in present format.
This program takes an HTML file and outputs a corresponding article file in present format.
golang.org/x/tools/cmd/oracle
oracle: a tool for answering questions about Go source code.
oracle: a tool for answering questions about Go source code.
golang.org/x/tools/cmd/present
Present displays slide presentations and articles.
Present displays slide presentations and articles.
golang.org/x/tools/cmd/ssadump
ssadump: a tool for displaying and interpreting the SSA form of Go programs.
ssadump: a tool for displaying and interpreting the SSA form of Go programs.
golang.org/x/tools/cmd/stress
The stress utility is intended for catching of episodic failures.
The stress utility is intended for catching of episodic failures.
golang.org/x/tools/cmd/stringer
Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
golang.org/x/tools/cmd/tipgodoc
Command tipgodoc is the beginning of the new tip.golang.org server, serving the latest HEAD straight from the Git oven.
Command tipgodoc is the beginning of the new tip.golang.org server, serving the latest HEAD straight from the Git oven.
golang.org/x/tools/cmd/vet
Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.
Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.
golang.org/x/tools/cmd/vet/whitelist
Package whitelist defines exceptions for the vet tool.
Package whitelist defines exceptions for the vet tool.
golang.org/x/tools/container/intsets
Package intsets provides Sparse, a compact and fast representation for sparse sets of int values.
Package intsets provides Sparse, a compact and fast representation for sparse sets of int values.
golang.org/x/tools/cover
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
golang.org/x/tools/go/ast/astutil
Package astutil contains common utilities for working with the Go AST.
Package astutil contains common utilities for working with the Go AST.
golang.org/x/tools/go/buildutil
Package buildutil provides utilities related to the go/build package in the standard library.
Package buildutil provides utilities related to the go/build package in the standard library.
golang.org/x/tools/go/callgraph
Package callgraph defines the call graph and various algorithms and utilities to operate on it.
Package callgraph defines the call graph and various algorithms and utilities to operate on it.
golang.org/x/tools/go/callgraph/cha
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
golang.org/x/tools/go/callgraph/rta
This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types.
This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types.
golang.org/x/tools/go/callgraph/static
Package static computes the call graph of a Go program containing only static call edges.
Package static computes the call graph of a Go program containing only static call edges.
golang.org/x/tools/go/exact
Package exact implements Values representing untyped Go constants and the corresponding operations.
Package exact implements Values representing untyped Go constants and the corresponding operations.
golang.org/x/tools/go/gccgoimporter
Package gccgoimporter implements Import for gccgo-generated object files.
Package gccgoimporter implements Import for gccgo-generated object files.
golang.org/x/tools/go/gcimporter
Package gcimporter implements Import for gc-generated object files.
Package gcimporter implements Import for gc-generated object files.
golang.org/x/tools/go/importer
package importer implements an exporter and importer for Go export data.
package importer implements an exporter and importer for Go export data.
golang.org/x/tools/go/loader
Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
golang.org/x/tools/go/pointer
Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
golang.org/x/tools/go/ssa
Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.
Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.
golang.org/x/tools/go/ssa/interp
Package ssa/interp defines an interpreter for the SSA representation of Go programs.
Package ssa/interp defines an interpreter for the SSA representation of Go programs.
golang.org/x/tools/go/types
Package types declares the data types and implements the algorithms for type-checking of Go packages.
Package types declares the data types and implements the algorithms for type-checking of Go packages.
golang.org/x/tools/go/types/typeutil
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
golang.org/x/tools/godoc
Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces.
Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces.
golang.org/x/tools/godoc/analysis
Package analysis performs type and pointer analysis and generates mark-up for the Go source view.
Package analysis performs type and pointer analysis and generates mark-up for the Go source view.
golang.org/x/tools/godoc/redirect
Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents and assist in accessing the issue tracker, wiki, code review system, etc.
Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents and assist in accessing the issue tracker, wiki, code review system, etc.
golang.org/x/tools/godoc/static
Package static exports a map of static file content that supports the godoc user interface.
Package static exports a map of static file content that supports the godoc user interface.
golang.org/x/tools/godoc/util
Package util contains utility types and functions for godoc.
Package util contains utility types and functions for godoc.
golang.org/x/tools/godoc/vfs
Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS.
Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS.
golang.org/x/tools/godoc/vfs/gatefs
Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency.
Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency.
golang.org/x/tools/godoc/vfs/httpfs
Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
golang.org/x/tools/godoc/vfs/mapfs
Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string.
Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string.
golang.org/x/tools/godoc/vfs/zipfs
Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file.
Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file.
golang.org/x/tools/imports
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
golang.org/x/tools/oracle
Package oracle contains the implementation of the oracle tool whose command-line is provided by golang.org/x/tools/cmd/oracle.
Package oracle contains the implementation of the oracle tool whose command-line is provided by golang.org/x/tools/cmd/oracle.
golang.org/x/tools/oracle/serial
Package serial defines the oracle's schema for structured data serialization using JSON, XML, etc.
Package serial defines the oracle's schema for structured data serialization using JSON, XML, etc.
golang.org/x/tools/playground
Package playground registers HTTP handlers at "/compile" and "/share" that proxy requests to the golang.org playground service.
Package playground registers HTTP handlers at "/compile" and "/share" that proxy requests to the golang.org playground service.
golang.org/x/tools/playground/socket
Package socket implements an WebSocket-based playground backend.
Package socket implements an WebSocket-based playground backend.
golang.org/x/tools/present
The present file format
The present file format
golang.org/x/tools/refactor/eg
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
golang.org/x/tools/refactor/importgraph
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
golang.org/x/tools/refactor/lexical
Package lexical computes the structure of the lexical environment, including the definition of and references to all universal, package-level, file-level and function-local entities.
Package lexical computes the structure of the lexical environment, including the definition of and references to all universal, package-level, file-level and function-local entities.
golang.org/x/tools/refactor/rename
Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename.
Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename.
golang.org/x/tools/refactor/satisfy
Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed.
Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed.
gopkg.in/check.v1
Package check is a rich testing extension for Go's testing package.
Package check is a rich testing extension for Go's testing package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL