Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ChenWendi2001/StreamRipper
An Adaptive Distributed Network Cache on LAN. 💻 Also a Project Repo for CS339: Computer Networking.
https://github.com/ChenWendi2001/StreamRipper
Last synced: 5 days ago
JSON representation
An Adaptive Distributed Network Cache on LAN. 💻 Also a Project Repo for CS339: Computer Networking.
- Host: GitHub
- URL: https://github.com/ChenWendi2001/StreamRipper
- Owner: ChenWendi2001
- Created: 2021-11-11T10:24:36.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-13T02:12:54.000Z (almost 3 years ago)
- Last Synced: 2024-08-01T19:47:36.728Z (3 months ago)
- Language: Python
- Homepage:
- Size: 11.8 MB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cs - @ChenWendi2001 @CWHer @yuri-you, 2021 Fall
README
# StreamRipper: An Adaptive Distributed Network Cache on LAN
![](https://img.shields.io/badge/python-v3.8.8-blue) ![](https://img.shields.io/badge/mitmproxy-v7.0.4-green) ![](https://img.shields.io/badge/rqlite-v6.8.2-green)Project Repo for CS339: Computer Networking.
## Main Features
This project provides an acceleration service for [Bilibili](https://www.bilibili.com). For more information, please see `paper.pdf`.
![](./asset/structure.png)
![](./asset/demo.gif)
## Getting Started
:warning: 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
```bash
pip install mitmproxy
```### Requirements
```bash
sudo apt install curl
sudo apt install ubuntu-restricted-extras # for firefox
pip install speedtest-cli
pip install icecream # for debug
```### Run it ! :smiley:
```python
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
```