All Projects → sergeyfrolov → gotapdance

sergeyfrolov / gotapdance

Licence: Apache-2.0 license
Moved to https://github.com/refraction-networking/gotapdance

Programming Languages

go
31211 projects - #10 most used programming language
java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to gotapdance

shapeshifter-transports
Shapeshifter Transports is a set of Pluggable Transports implementing the Go API from the Pluggable Transports 2.0 specification
Stars: ✭ 31 (+6.9%)
Mutual labels:  anticensorship, internet-freedom, censorship-circumvention
bebasdns
Membantumu berselancar dengan aman dan tidak terbatas!.
Stars: ✭ 56 (+93.1%)
Mutual labels:  anticensorship, internet-freedom, censorship-circumvention
Powertunnel Android
Simple, scalable, cross-platform and effective solution against government censorship for Android
Stars: ✭ 157 (+441.38%)
Mutual labels:  anticensorship, censorship-circumvention
Gfwlist
The one and only one gfwlist here
Stars: ✭ 19,033 (+65531.03%)
Mutual labels:  anticensorship, censorship-circumvention
russian-blackout
The RKN caused problems all over Russian Internet. This is list of services which suffered from RKN blockings activity.
Stars: ✭ 18 (-37.93%)
Mutual labels:  internet-freedom, censorship-circumvention
Zeronet
ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network
Stars: ✭ 17,227 (+59303.45%)
Mutual labels:  anticensorship, internet-freedom
Dpitunnel
DPITunnel is an android app made for censorship bypass
Stars: ✭ 179 (+517.24%)
Mutual labels:  anticensorship, censorship-circumvention
Powertunnel
Simple, scalable, cross-platform and effective solution against government censorship
Stars: ✭ 157 (+441.38%)
Mutual labels:  anticensorship, censorship-circumvention
Goodbyedpi
GoodbyeDPI—Passive Deep Packet Inspection blocker and Active DPI circumvention utility (for Windows)
Stars: ✭ 4,936 (+16920.69%)
Mutual labels:  anticensorship, censorship-circumvention
Awesome Anti Censorship
curated list of open-source anti-censorship tools
Stars: ✭ 521 (+1696.55%)
Mutual labels:  anticensorship, censorship-circumvention
Orbot
The Github home of Orbot: Tor on Android (Also available on gitlab!)
Stars: ✭ 629 (+2068.97%)
Mutual labels:  anticensorship, censorship-circumvention
Trojan
An unidentifiable mechanism that helps you bypass GFW.
Stars: ✭ 15,248 (+52479.31%)
Mutual labels:  anticensorship, censorship-circumvention
Reqrypt
A censorship circumvention tool
Stars: ✭ 337 (+1062.07%)
Mutual labels:  anticensorship, censorship-circumvention
Bebasid
bebasid dapat membantu membuka halaman situs web yang diblokir oleh pemerintah Indonesia dengan memanfaatkan hosts file.
Stars: ✭ 372 (+1182.76%)
Mutual labels:  anticensorship, censorship-circumvention
Tinylist
Tiny version of gfwlist, focusing on common websites ONLY
Stars: ✭ 139 (+379.31%)
Mutual labels:  anticensorship, censorship-circumvention
namecoin-core
Namecoin full node + wallet based on the current Bitcoin Core codebase.
Stars: ✭ 425 (+1365.52%)
Mutual labels:  anticensorship, internet-freedom
ShunEncode
🐶巷议,通过简单混淆来规避敏感词程序的审查
Stars: ✭ 14 (-51.72%)
Mutual labels:  censorship-circumvention
copilot
An easy to use censorship simulating access point in a box
Stars: ✭ 26 (-10.34%)
Mutual labels:  censorship-circumvention
Wechatscope
被删微信公众号文章存档
Stars: ✭ 198 (+582.76%)
Mutual labels:  anticensorship
labyrinth
[DEPRICATED] Labyrinth is a anti-censorship Web Browser created to bypass DPI, Blocklists, Port Filtering, Firewalls and DNS censorship all in one
Stars: ✭ 17 (-41.38%)
Mutual labels:  anticensorship

refract

TapDance Client

TapDance is a free-to-use anti-censorship technology, protected from enumeration attacks.

Build

Download Golang and TapDance and dependencies

  1. Install Golang (currently tested against version 1.10 and latest).

  2. Get source code for Go TapDance and all dependencies:

go get -d -u -t github.com/sergeyfrolov/gotapdance/...

Ignore the "no buildable Go source files" warning.

If you have outdated versions of libraries used, you might want to do go get -u all.

Usage

There are 3 supported ways to use TapDance:

package main

import (
	"github.com/sergeyfrolov/gotapdance/tapdance"
	"fmt"
)

func main() {
    // first, copy ClientConf and roots files into assets directory
    // make sure assets directory is writable (only) by the td process
    tapdance.AssetsSetDir("./path/to/assets/dir/")

    tdConn, err := tapdance.Dial("tcp", "censoredsite.com:80")
    if err != nil {
        fmt.Printf("tapdance.Dial() failed: %+v\n", err)
        return
    }
    // tdConn implements standard net.Conn, allowing to use it like any other Golang conn with
    // Write(), Read(), Close() etc. It also allows to pass tdConn to functions that expect
    // net.Conn, such as tls.Client() making it easy to do tls handshake over TapDance conn.
    _, err = tdConn.Write([]byte("GET / HTTP/1.1\nHost: censoredsite.com\n\n"))
    if err != nil {
        fmt.Printf("tdConn.Write() failed: %+v\n", err)
        return
    }
    buf := make([]byte, 16384)
    _, err = tdConn.Read(buf)
    // ...
}

Links

Refraction Networking is an umberlla term for the family of similarly working technnologies.

TapDance station code released for FOCI'17 on github: refraction-networking/tapdance

Original 2014 paper: "TapDance: End-to-Middle Anticensorship without Flow Blocking"

Newer(2017) paper that shows TapDance working at high-scale: "An ISP-Scale Deployment of TapDance"

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].