{"id":17664388,"url":"https://github.com/maxime-vincent/spiffer","last_synced_at":"2026-05-18T19:03:42.020Z","repository":{"id":259237420,"uuid":"876928700","full_name":"Maxime-Vincent/sPIffer","owner":"Maxime-Vincent","description":"Set up your Raspberry PI as a Network Analyser / Sniffer / MITM","archived":false,"fork":false,"pushed_at":"2025-02-06T16:27:13.000Z","size":1536,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"V1.0","last_synced_at":"2025-03-30T12:16:42.789Z","etag":null,"topics":["men-in-the-middle","mitm","mitm-server","network","network-analysis","packet-sniffer","pi","raspberry","raspberry-pi-4","raspberry-pi-5","raspberrypi","sniffer","sniffer-packet","spiffer"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/Maxime-Vincent.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-22T19:37:15.000Z","updated_at":"2025-02-06T16:27:17.000Z","dependencies_parsed_at":"2024-10-23T19:34:41.559Z","dependency_job_id":"a462cfff-69f7-4100-81a8-0cef9baf1389","html_url":"https://github.com/Maxime-Vincent/sPIffer","commit_stats":{"total_commits":21,"total_committers":1,"mean_commits":21.0,"dds":0.0,"last_synced_commit":"0269fc3d75629a5a082b58ad56e6c67f6bc6a9bd"},"previous_names":["maxime-vincent/spiffer"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Maxime-Vincent/sPIffer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxime-Vincent%2FsPIffer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxime-Vincent%2FsPIffer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxime-Vincent%2FsPIffer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxime-Vincent%2FsPIffer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Maxime-Vincent","download_url":"https://codeload.github.com/Maxime-Vincent/sPIffer/tar.gz/refs/heads/V1.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maxime-Vincent%2FsPIffer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000662,"owners_count":26082817,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["men-in-the-middle","mitm","mitm-server","network","network-analysis","packet-sniffer","pi","raspberry","raspberry-pi-4","raspberry-pi-5","raspberrypi","sniffer","sniffer-packet","spiffer"],"created_at":"2024-10-23T20:05:13.639Z","updated_at":"2025-10-08T20:20:23.028Z","avatar_url":"https://github.com/Maxime-Vincent.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sPIffer\n\n\u003e [!NOTE]\n\u003e Some dependencies are needed if you choose not to install it using the ```requirements.sh```:  \n\u003e - tshark: ```sudo apt-get install tshark```  \n\u003e - iptables:  ```sudo apt-get install iptables```  \n\u003e - bridge-utils: ```sudo apt-get install bridge-utils```\n\u003e - nodejs: ```sudo apt-get install nodejs```\n\u003e - npm: ```sudo apt-get install npm```\n\u003e - libpam0g-dev: ```sudo apt-get install libpam0g-dev```\n\n## Script Description\nThis package configures network forwarding on a Raspberry Pi by setting up a bridge (br0) between two added Ethernet interfaces (eth1 and eth2). It also enables traffic capture beyond the bridge (br0) which is in promiscuous mode.\n## Key Features\n1. Remove Existing Bridges: The script starts by clearing any pre-existing network bridges to ensure a clean setup.\n2. Check Network Interfaces: It verifies the availability of the required interfaces (eth0, eth1, and eth2) to ensure they are active and ready for configuration.\n3. Enable IP Forwarding: The script enables IP forwarding, allowing packets to be routed between the interfaces.\n4. Create a Bridge: It creates a new bridge named br0 and attaches eth1 and eth2 to it, facilitating the transfer of traffic between these two interfaces.\n5. It launches a web server that allows the user to start capturing and downloading network traffic.\n## Use Case\nThis setup is ideal for scenarios where network traffic analysis is needed, such as monitoring for performance, security, or debugging purposes. By capturing traffic in real-time, users can gain insights into data flow and network behavior.\n\n## Manual installation\n\n### First network configuration\n\n    #!/bin/sh\n    IP_ADDR=$1\n    cat \u003c\u003cEOF \u003e \\/etc\\/network\\/interfaces\n    # interfaces(5) file used by ifup(8) and ifdown(8)\n    # Include files from /etc/network/interfaces.d:\n    source /etc/network/interfaces.d/*\n    auto eth0\n    iface eth0 inet static\n    address $IP_ADDR\n    netmask 255.255.255.0\n    gateway 0.0.0.0\n    sudo systemctl disable dhcpcd\n    sudo systemctl stop dhcpcd\n    EOF\n\n### Move sPIffer folder inside /home\n\n    sudo mv \u003csPIffer old path\u003e /home\n\n### Install packages required\n\n    sudo ./requirements.sh\n\n### Create certificate with openssl\n\n    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt -config openssl.cnf\n    sudo mv server.key /home/sPIffer/src/certificate\n    sudo mv server.crt /home/sPIffer/src/certificate\n\n### Install npm node modules\n\n    sudo npm install\n\n### Launch Server\n\n    sudo node server.js\n\nor\n\n    sudo npm start\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxime-vincent%2Fspiffer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxime-vincent%2Fspiffer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxime-vincent%2Fspiffer/lists"}