Skip to content

An Adaptive Distributed Network Cache on LAN. πŸ’» Also a Project Repo for CS339: Computer Networking.

Notifications You must be signed in to change notification settings

ChenWendi2001/StreamRipper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

70 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

StreamRipper: An Adaptive Distributed Network Cache on LAN

Project Repo for CS339: Computer Networking.

Main Features

This project provides an acceleration service for Bilibili. For more information, please see paper.pdf.

Getting Started

⚠️ DO NOT modify file structure.

Backend

Download rqlite & Install pyrqlite

Frontend

Download SwitchyOmega

Set http proxy 127.0.0.1:8080 (mitmproxy port)

Add proxy rule *.bilivideo.com

Add mitmproxy Certificates

pip install mitmproxy

Requirements

sudo apt install curl
sudo apt install ubuntu-restricted-extras # for firefox
pip install speedtest-cli
pip install icecream # for debug

Run it ! πŸ˜ƒ

python start.py

Code Structure

β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ Backend
β”‚Β Β  β”‚Β Β  └── backend.py
β”‚Β Β  β”œβ”€β”€ frontend.py
β”‚Β Β  β”œβ”€β”€ Middleware
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ local_DB.py
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ main.py
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ P2P
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ client.py
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── server.py
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ scheduler
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ scheduler.py
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── speed_test.py
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ split.py
β”‚Β Β  β”‚Β Β  └── utils.py
β”‚Β Β  β”œβ”€β”€ start.py
β”‚Β Β  └── utils.py
└── tests    # test and demo

About

An Adaptive Distributed Network Cache on LAN. πŸ’» Also a Project Repo for CS339: Computer Networking.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages