Skip to content

Conversation

@jmwample
Copy link
Member

Added specific Psiphon repo commits to pull from when building so we can update intentionally.

@jmwample
Copy link
Member Author

Hold off on merging this, found issue where psiphon is still vendoring the sergeyfrolov/gotapdance repository so this may build success may not be representative.
Merge state

- mkdir -p $GOPATH/src/github.com/Psiphon-Labs
# Get Specific Psiphon Core Library Release
- git clone https://github.com/Psiphon-Labs/psiphon-tunnel-core.git $GOPATH/src/github.com/Psiphon-Labs/psiphon-tunnel-core
- (cd $GOPATH/src/github.com/Psiphon-Labs/psiphon-tunnel-core && git checkout $PSIPHON_CORE_VERSION -b build-refraction-networking)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same only question as in #21: why did we switch the branch? Is Psiphon going to maintain that branch?

@jmwample jmwample mentioned this pull request Sep 30, 2019
@jmwample jmwample merged commit 61be2bc into dark-decoy Sep 30, 2019
@jmwample jmwample deleted the travis-build branch September 30, 2019 20:52
jmwample added a commit that referenced this pull request Oct 5, 2020
* WIP: implement client for dark decoy

* WIP: wippy wip mcwipface

* WIP: first working client prototype

* WIP: make transparent proxy listen forever+gofmt

* WIP: use obfs4 instead of transparent proxy

* gofmt

* Conjure: integrated prototype with 2-way-proxy

* Allow Client to drive V4/V6 decoy ip selection

* pivot to bool for ipv6 support over uint32 - passing generation tests

* Implemented v6 support check and fallback

* updated naming and CLI usage compiles and registers with dark decoy station

* v4v6 fallback with proxy header support

* added command line options for specifying proxy header use and Ipv6 inclusion/exclusion

* using reserved IP blocks to identify ipv6support instead of interface naming conventions

* conjure: finalize move to the new repo (#12)

This change replaces all old links to sergeyfrolov/gotapdance
with refraction-networking/gotapdance

* fixes leading to merge into dark-decoy

* Travis build (#17)

* added secret value and removed tests which run forever. testing travis pipeline

* adding forgotten files to commit

* commented out failing test

* linter fixes

* Trying 18.04 bionic for build with newer openssl

* possible issue fix

* fixing patch file for conjure build

* fixing tapdance build

* Clean Disable for tests

* completing requested changes

* ClientConf digest during build (#18)

* added secret value and removed tests which run forever. testing travis pipeline

* adding forgotten files to commit

* commented out failing test

* linter fixes

* Trying 18.04 bionic for build with newer openssl

* possible issue fix

* fixing patch file for conjure build

* fixing tapdance build

* Clean Disable for tests

* digest ClientConf of current branch into Psiphon Android App.

* Added Psiphon Specific comments

* Small fixes

* TapDance -> Refraction

* typo

* Travis build fixes (#23)

* added secret value and removed tests which run forever. testing travis pipeline

* adding forgotten files to commit

* commented out failing test

* linter fixes

* Trying 18.04 bionic for build with newer openssl

* possible issue fix

* fixing patch file for conjure build

* fixing tapdance build

* Clean Disable for tests

* digest ClientConf of current branch into Psiphon Android App.

* Added Psiphon Specific comments

* Small fixes

* Adding Specific commit checkout for building psiphon library and apk

* trying older commit

* possible fix for build problems based on govendor issues.

* accomodating relics of sergeyfrolov/gotapdance repo in Psiphon

* testing newer psiphon system commit

* Split Registration and Connection -- no obvious errors, completely untested.

* adding test functions to make sure conjure functionality is reproducible. -- not fully working

* cleaning registration context, and callback

* Added V6 addresses to decoys in ClientConf

* added script

* quick cleanup

* success reading v6decoys from clientConf

* IPv6 Decoy deduplication

* Bug Hunting

* v6 fixes and patches, bug hunting

* adding broader v4v6 support

* Bug Hunting

* cleaning tests

* fix inneffectial assign error in gometalinter

* adding v6 support to assets to track across sessions

* registration fixes

* quick fixes

* adding test v6 decoy that definitely goes past curveball

* support patches

* fixing bugs with min transport -- DATA WORKING

* test fix for build system

* gometalinter fixes

* v6 cleanup (no longer caching v6 support in assets

* Remove dependence on station_pubkey file in assets folder. Reads default pubkey from ClientConf or locally if ClienConf is unavailable, also change default pubkey to new conjure key

* Modify travis build to include Conjure ConsoleClient

* format fix

* mistaken about config

* updating to latest psiphon core commit

* travis restructure to try to fix broken build

* adding new fields required byPsiphon in EmbeddedValues

* bypassing old docker image for android build

* building on updated docker image

* gradlew build issue with min api version

* enbale debug

* adding patch for psiphon compatibility with java 1.8

* trying to fix regions redirect issues

* Conjure MinTransport (#26)

* Add Transport to VSP

* actually return the correct transport type

* Register both (#31)

* Using Dev Client Conf (dev decoys) on full conjure build

* bypass decoy check

* changed default pubkey in dev ClientConf

* full logging enable

* allow client to request registration of both v4 and v6 at the same time

* gometalinter fixes

* updating protobuf to match for client and station

* small cleaning

* patched tcpdialer specified in dialer into conjure registration and connection

* adding logging update to trigger rebuild

* use TcpDialer for connect

* add build apk script

* Conjure full (#35)

* using ALL decoys instead of just dev. Will likely fail to register for multiple sessions in a row.

* added hard coded decoy that should consistently work, working from cli

* Td cj compat (#34)

* Added second key to clientconf for conjure to use specially -- tested, working

* disabled automatic clientconf updates. untested

* cli compatible to run either conjure or tapdance

* added two keys (production pubkey for tapdance and dev pubkey for conjure) to ClientConf

* added subnet usable by windy egret from Internet2 (CU Bouler AS104) or otherwise.

* subnets changed so phantoms selected in tests changed

* rolled back changed to tapdance -- compiling connecting working for cli

* updated subnets one last time.

* updated subnets, had to update tests

* removing deadcode created by tapdance rollback

* re-implement phantom selection as it's own submodule. (#36)

* re-implement phantom selection as it's own submodule with testing and support for weighted subnet lists.

* comments and light cleanup

* Update/clientconf (#37)

* update clientConf to use decoys from generation 957 instead of 538 which it was on. v4 decoys ~1580 -> ~1250 and v6 decoys ~40 -> ~30

* real update (forgot to commit after latest changes

* addressing issue #38 by moving ed25519 code locally to keep elligator working as the original repo is no longer suppoting it.

* corrected github links that I missed

* missed one

* fix sed issue in build

* applying patch for bit leak from pull request

* TestObfuscationRandomness test was not passing with patch applied

* attempted hot patch for missing go dependencies in build pipeline

* simple elligator util

* fix -b representation issue

* Debug travis docker golang problems

* cleanup tools for build reasons

* bit always zero in test -> expected behavior for now

* added debug logging reasons for failed registration connections

* Update/local ed25519 (#39)

* addressing issue #38 by moving ed25519 code locally to keep elligator working as the original repo is no longer suppoting it.

* corrected github links that I missed

* missed one

* fix sed issue in build

* applying patch for bit leak from pull request

* TestObfuscationRandomness test was not passing with patch applied

* attempted hot patch for missing go dependencies in build pipeline

* simple elligator util

* fix -b representation issue

* Debug travis docker golang problems

* cleanup tools for build reasons

* bit always zero in test -> expected behavior for now

* added debug logging reasons for failed registration connections

Co-authored-by: Eric Wustrow <ewust@colorado.edu>

* randomizing two bits on the client see PR #39 and issue #38

* Psiphon travis build pipeline (#40)

* trying build with latest releases of psiphon code

* build breaking on docker build

* build breaking because of go libs available during build

* build breaking because of gomobile is failing

* stupid mistake

* back to basics

* packages not pulled

* should new be getting utls dependencies

* maybe I was overwriting the gomobile in the psiabdroid image

* missing utls dependecies in refraction/psiandroid

* go get all refraction-networking dependencies inside of the psiandroid docker image

* removed dependence on /android-sdk-linux/tools/bin/sdkmanager which is (unexplainably) missing from the latest psiandroid image build

* accepting licenses because sdkmanager IS GONE FOR SOME REASON

* Still missing some licenses for unknown reason

* accepting license that makes it work locally?

* added comments with warnings and uncommented all other build stages to run a full build again.

* missed one line

* updated to clientconf decoy list generation 1119

* added script for testing decoy connecitons

* fixed issue with wait group

* Always unlock assets when setting

* Registration API Functionality (#43)

* Basic registration API start

* Send shared secret, FSP, VSP in payload

* Simplify client-to-API payload

* Don't copy protobuf structs

* Add support for retries, fallback to API registration

* Change APIRegistrar HTTP.Client to pointer

* Use API registration in Psiphon app

* Fix typo in Psiphon patch

* Add test for APIRegistrar

* Bump connection delay to 750ms

* Make sure to close response body, even when empty

* Increase CLI connection delay to 750ms

* Fix endpoint in Psiphon patch

* Use specified TCPDialer for registration

* Move flags from FSP to C2S

* Build updates (#47)

* test build with alternative psiphon tunnel core branch

* issue 1 - the way the branch was pulled

* moving to github for psiphon android build

* add email to myself for failing builds in major branches

* config parsing correction

* correct config error

* testing solution to issue #32

* revert testing change involving partner library git tag/version

* obfs4 Support (#44)

* Basic registration API start

* Send shared secret, FSP, VSP in payload

* Simplify client-to-API payload

* Don't copy protobuf structs

* Add support for retries, fallback to API registration

* Change APIRegistrar HTTP.Client to pointer

* Use API registration in Psiphon app

* Fix typo in Psiphon patch

* Add test for APIRegistrar

* Bump connection delay to 750ms

* Make sure to close response body, even when empty

* Increase CLI connection delay to 750ms

* Fix endpoint in Psiphon patch

* Use specified TCPDialer for registration

* Add obfs4 support

* Move flags from FSP to C2S

* Remove stutter in transport names

* Fix support for NullTransport

* Default to MinTransport

* Correct test to specify transport

* Add registration source field to ZMQPayload (#46)

* Add registration source field to ZMQPayload

* resolving differences in generated protobuf go source file

* updating signaling protobuf golang library

Co-authored-by: jmwample <jack.wampler@colorado.edu>
Co-authored-by: Jack Wampler <jmwample@users.noreply.github.com>

* missed integration items

* more fixes

* missed a func

* Android build tools update for travis-ci

* Conjure Build issues and merge compatibility (#51)

* build issues

* trying build with update all SDK packages

* trying build with update wildcard filtered SDK packages

* seeing if the new lts psiphon core fixes build issues

* missed some docker tags

* trying more filtering

* trying more filtering

* naming test conjure apk

Co-authored-by: Sergey Frolov <sergey.frolov@colorado.edu>
Co-authored-by: Eric Wustrow <ewust@colorado.edu>
Co-authored-by: jmwample <jackjack108@gmail.com>
Co-authored-by: Carson Hoffman <c@rsonhoffman.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants