echo "201 vpn" >> /etc/iproute2/rt_tables
Edit /etc/config/network
config interface 'loopback'
option device 'lo'
| mkdir -p ~/bin ~/tmp ~/logs ~/backup ~/scripts | |
| ######################## | |
| ## Setup .bashrc | |
| ######################## | |
| cat >~/.bashrc <<'EOF' | |
| # Check for interactive mode | |
| case $- in *i*) ;; *) return ;; esac |
| # Basic BBR Settings | |
| net.core.default_qdisc = fq | |
| net.ipv4.tcp_congestion_control = bbr | |
| # Buffers | |
| net.core.rmem_max = 12582912 | |
| net.core.wmem_max = 12582912 | |
| net.ipv4.tcp_rmem = 4096 87380 12582912 | |
| net.ipv4.tcp_wmem = 4096 16384 12582912 |
| (() => { | |
| function setupXhrInterceptor(interceptorRules) { | |
| const OriginalXMLHttpRequest = window.XMLHttpRequest; | |
| const originalOpen = OriginalXMLHttpRequest.prototype.open; | |
| const originalSend = OriginalXMLHttpRequest.prototype.send; | |
| const getCancelErrorResponseText = () => { | |
| return JSON.stringify({ | |
| ok: false, |
| $secret = "XXXXXXXXXXXXXXXXXXXXXXXXXX" | |
| $length = 6 | |
| $window = 30 | |
| function Get-Otp(){ | |
| param( | |
| [Parameter(Mandatory=$true)]$SECRET, | |
| $LENGTH = 6, | |
| $WINDOW = 30 | |
| ) |
| captainVersion: 4 | |
| services: | |
| $$cap_appname: | |
| image: registry:2 | |
| ports: | |
| - "5000:5000" | |
| environment: | |
| REGISTRY_PROXY_REMOTEURL: https://registry-1.docker.io | |
| caproverOneClickApp: | |
| variables: |
echo "201 vpn" >> /etc/iproute2/rt_tables
Edit /etc/config/network
config interface 'loopback'
option device 'lo'
Prepare
sudo mkdir -p /opt/wireguard/config
sudo nano /opt/wireguard/docker-compose.yml
docker-compose.yml content:
---
services:
| import React, {memo, useCallback, useEffect, useRef} from 'react'; | |
| import {useControl, useForm, useValidation} from './utils/useFormState'; | |
| // function useTraceUpdate(props: any) { | |
| // const prev = useRef(props); | |
| // useEffect(() => { | |
| // const changedProps = Object.entries(props).reduce((ps: any, [k, v]) => { | |
| // if (prev.current[k] !== v) { | |
| // ps[k] = [prev.current[k], v]; | |
| // } |
| <#-- JSON stringify --> | |
| <#function stringify obj> | |
| <#if !obj??> | |
| <#return 'undefined'> | |
| </#if> | |
| <#if obj?is_date> | |
| <#return '"' + obj?string("yyyy-MM-dd HH:mm:ss") + '"'> | |
| </#if> | |
| <#if obj?is_boolean || obj?is_number> | |
| <#return obj?string> |