{"id":15680951,"url":"https://github.com/rj/greynet","last_synced_at":"2025-05-07T11:40:50.716Z","repository":{"id":609773,"uuid":"247208","full_name":"RJ/greynet","owner":"RJ","description":"A darknet/mesh network plugin for legacy C++ playdar codebase","archived":false,"fork":false,"pushed_at":"2009-07-20T14:20:19.000Z","size":124,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-05T13:13:54.536Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RJ.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-07-09T15:06:46.000Z","updated_at":"2017-11-13T14:01:12.000Z","dependencies_parsed_at":"2022-08-03T15:09:47.356Z","dependency_job_id":null,"html_url":"https://github.com/RJ/greynet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJ%2Fgreynet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJ%2Fgreynet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJ%2Fgreynet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RJ%2Fgreynet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RJ","download_url":"https://codeload.github.com/RJ/greynet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252872991,"owners_count":21817699,"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-10-03T16:47:07.366Z","updated_at":"2025-05-07T11:40:50.673Z","avatar_url":"https://github.com/RJ.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Greynet - a darknet/mesh network plugin for Playdar\n===================================================\nThis plugin logs into XMPP (gTalk/jabber/etc) and detects which of your friends\nare also running playdar+greynet, it then makes a direct connection to all of \nthem to form a darknet/mesh network, external to XMPP.\n\nQueries and resulting files are streamed over the mesh in a darknet fashion,\nso you'll only ever reveal your IP address or presence to your immediate \nfriends.\n\nDarknet 101\n-----------\nIf Alice is friends with Bob, and Bob is friends with Charlie, but Alice and \nCharlie don't know eachother, it's possible that when Alice searches by \nquerying her friends, Bob (if he doesn't have a matching result) will relay \nthe query to Charlie, who btw won't know if the query originated from Bob or\nnot. If Charlie has a match and replies to Bob, Bob will relay the result to\nAlice, who still doesn't know Charlie exists. To Alice, it looks like Bob has\nthe matching file. If Alice requests to stream it, Bob requests to Charlie and\nacts as a proxy, so Alice only ever knows about Bob.\n\nXMPP Note\n---------\nYou can be logged in multiple times - just use the same account as you use for\nchat with this plugin. The plugin doesn't receive msgs, and shouldn't confuse\nanyone.\n\nHow to build it\n===============\n\nGloox - an XMPP library\n-----------------------\nSee: http://camaya.net/glooxdownload\nYou need to build gloox 1.0 from source.\nAt the time of writing, the latest ver was 1.0-beta-7:\n\n$ sudo apt-get install libgnutls-dev\n$ CXXFLAGS=-fPIC ./configure --without-openssl --with-gnutls --with-zlib\n$ make \u0026\u0026 sudo make install\n\nNB: gloox-1.0-beta7 doesn't like connecting to google talk servers if compiled\nwith OpenSSL - use GnuTLS instead.\n\nlibf2f - p2p servent/router library\n-----------------------------------\nSee: http://github.com/RJ/libf2f\nBuild like so:\n\n$ git clone git://github.com/RJ/libf2f.git\n$ mkdir -p libf2f/build ; cd libf2f/build\n$ cmake ..\n$ make \u0026\u0026 sudo make install\n\nlibportfwd - a wrapper around upnp control libraries\n----------------------------------------------------\nSee: http://github.com/RJ/libportfwd\nThis allows the app to set up a port fwd automatically on your nat router\n\n$ git clone git://github.com/RJ/libportfwd.git\n$ mkdir -p libportfwd/build ; cd libportfwd/build\n$ cmake ..\n$ make \u0026\u0026 sudo make install\n\n\nBuilding the greynet plugin\n---------------------------\nAssuming you have a working playdar source tree.\n\n$ cd playdar/resolvers\n$ git clone git://github.com/RJ/greynet.git\n$ cd ../build/\n$ cmake ..\n$ make greynet\n\nThe greynet plugin should load when you restart playdar.\n\nConfiguration\n-------------\nSlap something like this in your playdar.conf, in the \"plugins\" object:\n\n\"greynet\" : \n{ \n    \"jabber\" : \n    {\n        \"jid\" : \"yournick@googlemail.com/playdar\",\n        \"password\" : \"yourpass\",\n        \"server\" : \"talk.google.com\",\n        \"port\" : 5222\n    },\n    \"port\" : 60211,\n    \"connection\" : \"nat\"\n}\n\nThe \"server\" line is only needed when using google talk - typically the server is the same as the domain in the jid.\n\nIf you are directly connected to the internet, change \"connection\": \"direct\"\nand add: \"ip\" : \"1.2.3.4\" where 1.2.3.4 is your external IP address.\n\nYou can change the port to anything you want, it is sent to peers over XMPP.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frj%2Fgreynet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frj%2Fgreynet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frj%2Fgreynet/lists"}