{"id":18422463,"url":"https://github.com/sri-csl/jumpbox","last_synced_at":"2025-09-03T20:48:04.401Z","repository":{"id":20518512,"uuid":"23797356","full_name":"SRI-CSL/jumpbox","owner":"SRI-CSL","description":"JumpBox – A Seamless Browser Proxy for Tor Pluggable Transports","archived":false,"fork":false,"pushed_at":"2015-01-12T17:59:54.000Z","size":13684,"stargazers_count":14,"open_issues_count":1,"forks_count":6,"subscribers_count":10,"default_branch":"master","last_synced_at":"2023-12-18T03:36:20.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SRI-CSL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-08T15:52:28.000Z","updated_at":"2023-08-05T08:52:13.000Z","dependencies_parsed_at":"2022-08-26T20:20:23.615Z","dependency_job_id":null,"html_url":"https://github.com/SRI-CSL/jumpbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fjumpbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fjumpbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fjumpbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Fjumpbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SRI-CSL","download_url":"https://codeload.github.com/SRI-CSL/jumpbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223284631,"owners_count":17119738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T04:30:13.258Z","updated_at":"2024-11-06T04:30:14.121Z","avatar_url":"https://github.com/SRI-CSL.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"JumpBox\n=======\n\nWelcome to JumpBox\n\nFor details about this project, please see the [doc](doc/) directory which contains\nthe original [Design specification](doc/DESIGN.txt) and also the SECURECOMM 2014\n[paper](doc/doc/SECURECOMM2014-JumpBox.pdf) and the related presentation in\n[PDF](doc/SECURECOMM2014-JumpBox-pres.pdf) and [PowerPoint](doc/SECURECOMM2014-JumpBox-pres.pptx) formats.\n\nInstallation Notes\n------------------\n\n### libfutil / rendezvous\n\nThis code requires [libfutil](https://github.com/SRI-CSL/libfutil/) and optionally (default off) also SRI's rendezvous library.\n\nThese code libraries have to be placed in `../libfutil` and `../rendezvous` respectively.\n\n### Debian\n\nA Debian makefile is included which depends on all the proper dependencies.\nCreating the package thus automatically fetches these.\n\n### Mac OSX\n\nFor Rendezvous one needs the \"pbc\" library from\n[Stanford's Crypto department](http://crypto.stanford.edu/pbc/)\nand also the [libjansson](www.digip.org/jansson/) library.\n\nFortunately, these are available in [Homebrew](http://brew.sh):\n```\nbrew install pbc\nbrew install jansson\n```\n\nUse the following command, which should have been also performed by homebrew installation\n```\nxcode-select --install\n```\nto ensure the Apple XCode Command Line Tools (CLT) are installed.\n\nEnvironment Variables\n---------------------\n\nThe following `DJB_FORCED_*` environment variables override either the preferences\nas they are configured or the result retrieved from ACS and thus allows easier\ntesting by bypassing various components.\n\n* `DJB_FORCED_HOSTNAME`\n\tdefines the hostname that we force connections to (DJB-URI)\n\n* `DJB_FORCED_JUMPBOXADDRESS`\n\tdefines the 'JumpBox Address' to be used for StegoTorus\n\tthis can be used to bypass the DJB Proxy while being able to start from DJB.\n\n* `DJB_FORCED_STEGMETHOD`\n\tdefines the Steg Method (json|http) to be used for StegoTorus\n\n* `DJB_FORCED_SHAREDSECRET`\n\tdefines the Shared Secret to be used for StegoTorus\n\nGeneric (libfutil):\n\n* `SAFDEF_LOG_LEVEL`\n\tdefines the logging level (debug is very verbose).\n\nRunning with StegoTorus\n-----------------------\n\nTesting JumpBox with StegoTorus can be achieved by the following steps.\n\nIn Chrome/Chromium open the extensions page:\n `chrome://extensions`\nThen select 'unpack and load' and select the JumpBox plugin directory (plugin/chrome/)\nor if already correctly installed, hit \"Reload\" to update to the current version.\n\nStart DJB:\n```\nexport DJB_FORCED_HOSTNAME=127.0.0.1:8080\nexport SAFDEF_LOG_LEVEL=debug\nserver/djb run\n```\n\nIn Chrome/Chromium configure the Plugin by clicking on the JumpBox button and selecting\n\"Preferences\", fill in the rendezvous server and select the amount of circuits.\n\nThen start a Stegotorus client in persist JSON mode (can also be performed from the Plugin).\n```\n./stegotorus --log-min-severity=warn chop socks --trace-packets --persist-mode 127.0.0.1:1080 127.0.0.1:6543 json\n```\n\nThat lets StegoTorus be a SOCKS server on 127.0.0.1:1080 while connecting to JumpBox at 6543.\n\nThen start the Stegotorus server in non-persist mode (this typically runs behind DGW):\n```\n./stegotorus --log-min-severity=warn chop server --trace-packets 192.0.2.1:443 127.0.0.1:8080 json\n```\n\nThat lets ST accept HTP at 127.0.0.1:8080 (matching `DJB_FORCED_HOSTNAME` above) and makes\nit use 192.0.2.1:443 as a Tor Bridge\n\nConfigure the Tor client with:\n```\nSocksPort 9060 # local client applications (SOCKS port for WebBrowsers etc)\nSocksListenAddress 127.0.0.1 # accept connections only from localhost\n\nSafeLogging 0\nLog info file ./info.log\nLog debug file ./debug.log\n\n# Where the SOCKS proxy is (StegoTorus client)\nSocks4Proxy 127.0.0.1:1080\n\n# A fake Bridge line, gets overruled by StegoTorus)\nBridge 127.0.0.1:9060\nUseBridges 1\n```\n\nand start a Tor client:\n```\nbin/tor -f etc/tor/torrc\n```\n\nThat should make things move.\n\nRunning with StegoTorus (debug)\n-------------------------------\n\nConnections will get lost and lldb does not like those SIGPIPEs, to make it continue use:\n```\nprocess handle SIGUSR2 -n true -p true -s false\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Fjumpbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsri-csl%2Fjumpbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Fjumpbox/lists"}