{"id":13572352,"url":"https://github.com/mothran/bunny","last_synced_at":"2025-04-04T09:32:21.111Z","repository":{"id":64830550,"uuid":"9678772","full_name":"mothran/bunny","owner":"mothran","description":"Bunny is a wireless. meshing, darknet that uses 802.11 to hide its communications","archived":false,"fork":false,"pushed_at":"2015-11-27T05:32:51.000Z","size":360,"stargazers_count":930,"open_issues_count":6,"forks_count":44,"subscribers_count":74,"default_branch":"master","last_synced_at":"2024-11-05T05:34:10.171Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/mothran.png","metadata":{"files":{"readme":"README.md","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":"2013-04-25T18:42:38.000Z","updated_at":"2024-10-12T08:26:42.000Z","dependencies_parsed_at":"2022-12-15T18:12:08.720Z","dependency_job_id":null,"html_url":"https://github.com/mothran/bunny","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/mothran%2Fbunny","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mothran%2Fbunny/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mothran%2Fbunny/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mothran%2Fbunny/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mothran","download_url":"https://codeload.github.com/mothran/bunny/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247154095,"owners_count":20892792,"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-08-01T14:01:20.889Z","updated_at":"2025-04-04T09:32:19.751Z","avatar_url":"https://github.com/mothran.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"#Bunny\nBunny is intended to act as a layer 1/2 technology that attempts to hide its wireless mesh communication traffic.\nBunny wraps all data in and out in a layer of obfuscation. It does this by passively listening to \nthe local wireless and building a model of 'average' traffic. Then using this model, it hides small \nsnippets of data within various fields of the 802.11 protocol that are either poorly defined or \nprone to contain data that mutates a lot.  These fields will include but are not limited to, vendor \ndata, data packets of encrypted networks, duration fields.\n\n\nFor full whitepaper like decription of Bunny, check proposal.txt.\n\n\nYou need a monitor/injection capable wireless chipset.  Please check the aircrack website for \ncompatible cards.\n\n\n##Tested chipsets / cards:\n\trtl8187\t\t-\tAlfa AWUS036NH\n\t\t\t\t\tNote: These are by far the WORST chipsets on the market, the RX sensitivity makes them almost worless for any kind of application besides cracking WEP passwords.\n\tath9k_htc\t-\tTP-LINK tl-wn722n\n\trt2800usb\t-\t5370 Chipset (sold with raspberry pi's)\n\t\t\t\t\tNote: Bunny works well on raspberry pi's\n\n##Configuration\nConfiguring bunny is as simple as editing the \"libbunny/config.py\" file\n\nThe most important item to modify is the IFACE varible, this sets which wireless interface you will use for Bunny. \n \nAlso if you wish to run a non-testing network, delete the 'keys.kz' file and bunny will make a new one with random values.  \nDistribute this file to the peers on your network.  Also Modulus and Remainder values should be changed as well, \nfor help generating mod/remain vaules check testScripts/mod.py\n\n##Usage (bunnyChat.py example code)\n\n\tsudo python bunnyChat.py\n\t\n\t-l              --   Listen mode, gets packets and prints data\n\t-s [data]       --   Send mode, sends packets over and over\n\t-m              --   Passive profiling of all the channels (1-11)\n\t-c [UserName]   --   Chat client mode\n\t-r              --   Reloop shows the mod/remainder of the specified channel\n\t-p              --   Ping/Pong testing, Run this on one machine and it will\n\t\t\t\t\t\t respond with a pong.\n\t-k              --   Ping server mode, will repsond to pings with pong and current time\n\n##Usage of the module\n\timport libbunny\n\t\n\tbunny = libbunny.Bunny()\n\tbunny.sendBunny(DATA)\n\n\twhile True:\n\t\tprint bunny.recvBunny()\n\tbunny.killBunny()\n\nThe modules aspect of Bunny is under-developed currently, the key file needs to be more controlable through the API \nand BunnyExceptions need to be built out and used\n\n##Dependencies\n\n\tpycrypto\n\tkeyczar\n\t\tpyasn1\n\tlorcon2 (current)\n\tpylorcon2 (https://code.google.com/p/pylorcon2/)\n\tpcapy\n\n##Installation\nCheck INSTALL file\n\n##TODO\n\nRouting layers and support for projects to be built ontop of what I have done\nlike cjdns and others\n\nAttempt to make a bunny tun device so testing with the batman-adv kernal module.\n\nCreate a packaged version with dependencies to reduce the install time. \n\n##Bugs\nDue to this (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500041) bug in pcapy, at least on Arch linux I had to NOT use the offical upstream but the packaged AUR here: https://aur.archlinux.org/packages/python2-pcapy/\n\nSometimes on ubuntu there is a rfkill block when trying to bring up an interface and you might see:\n    SIOCSIFFLAGS: Operation not possible due to RF-kill\n    \nyou can solve this temporarly by:\n    sudo rfkill unblock wifi","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmothran%2Fbunny","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmothran%2Fbunny","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmothran%2Fbunny/lists"}