Fapster
Fapster - P2P UNIFE Network Project based on Napster
Install / Use
/learn @FIAV1/FapsterREADME
Fapster
:books: Reti Peer To Peer - Università degli Studi di Ferrara :books:
A peer-to-peer server based on the Napster's approach:
Centralized Directory Service
1. Client contacts Napster (via TCP)
- Provides a list of files it will share
- ...and Napster’s central server updates the directory
2. Client searches on a title
- Napster identifies online clients with the file
- ...and provides IP addresses
3. Client requests the file from the chosen supplier
- Supplier transmits the file to the client
- Both client and supplier report status to Napster
Properties
1. Server’s directory continually updated
- Always know what files are currently available
- Point of vulnerability for legal action
2. Peer-to-peer file transfer
- No load on the server
- Plausible deniability for legal action (but not enough)
Usage
python3 fapster_server.py
Note: Python 3.6.x or above is required
The server is now listening on port 3000.
Once a peer begins the communication, the directory server won't keep the connection open for further requests, so keep in mind:
- 1 request = 1 connection
Client's supported commands:
[xxxB] = the parameter length in bytes
# Login the peer into the directory
LOGI[4B].IP_Peer[55B].Port_Peer[5B]
# Server response will be
ALGI[4B].SessionID[16B]
# Logout the peer from the directory
LOGO[4B].SessionID[16B]
# Server response will be
ALGO[4B].\#delete[3B]
# Add a file to the directory
ADDF[4B].SessionID[16B].Filemd5[32B].Filename[100B]
# Server response will be
AADD[4B].\#copy[3B]
# Delete a file from the directory
DELF[4B].SessionID[16B].Filemd5[32B]
# Server response will be
ADEL[4B].\#copy[3B]
# Find a file in the directory
FIND[4B].SessionID[16B].Ricerca[20B]
# Server response will be
AFIN[4B].\#idmd5[3B].{Filemd5_i[32B].Filename_i[100B].\#copy_i[3B].{IPP2P_i_j[55B].PP2P_i_j[5B]}}(j=1..\#copy_i)}(i=1..\#idmd5)
# Register a file download
DREG[4B].SessionID[16B].Filemd5[32B]
# Server response will be
ADRE[4B].\#download[5B]
To-Do
- [x] Directory Server implementation
- [ ] Peer implementation
Authors :rocket:
Enjoy :sunglasses:
Related Skills
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
