Plan
## Master node
- [x] Base environment setup
- [x] Install git
- [x] Install docker
- [x] Clone git repo
- [x] Git personal token
- [x] One script
- [x] V2ray subscription provider
- [x] HTTP server: heartbeat api + subscription provider
- [x] flask + embedded db
- [x] pickledb / tinydb / zodb
- [x] [https://www.opensourceforu.com/2017/05/three-python-databases-pickledb-tinydb-zodb/](https://www.opensourceforu.com/2017/05/three-python-databases-pickledb-tinydb-zodb/)
- [ ] Subscription for geoip rules
## Child node
- [x] Base environment setup
- [x] Install git
- [x] Install docker
- [x] Clone git repo
- [x] Git personal token
- [ ] One script
- [x] V2ray service
- [x] docker compose
- [x] Heartbeat with doggy1
- [x] docker compose
- [ ] SSH(self-signed certificate)
- [ ] auto-restart
- [x] Auto port
Doggy child node set up
-
Create VM
-
On Basics
-
Set Username as chaoszh
-
Use personal desktop PC public key to login(home-chaoszh-public-key)
-
-
On Networking
-
Create another Public IP with Basic SKU and Dynamic Assignment(dynamic ip address will allow reboot to change IP)
-
-
-
VM is ready
-
Assign doggy-uami as identity
-
Configure DNS name(not necessary)
-
Turn off Auto-shutdown
-
Create inbound rule and use name âvpnâ(important)
-
-
SSH to VM
-
Install dependencies
sudo apt update # install git sudo apt install -y git-all # install docker sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # install net-tools sudo apt install -y net-tools sudo usermod -aG docker $USER
-
git clone https://github.com/chaoszh/over-the-sea.git
mkdir repo cd repo git clone https://github.com/chaoszh/over-the-sea.git // Input Username and your PAT or git clone https://<PAT>@github.com/chaoszh/over-the-sea.git
-
enable bbr
// according to over-the-sea/helper.sh sudo su root // enable bbr
-
start proxy service
// using systemd sudo ln -s $(realpath .deploy/proxy.service) /etc/systemd/system/proxy.service // start proxy.service sudo systemctl start proxy // enable proxy service to restart after reboot sudo systemctl enable proxy // status check sudo systemctl status proxy
-