局域网内访问wsl虚拟机资源必备配置(端口转发)
1netsh interface portproxy add v4tov4 listenport=5000 listenaddress=0.0.0.0 connectport=5000 connectaddress=172.17.124.140删除映射配置:
xxxxxxxxxx11netsh interface portproxy delete v4tov4 listenport=5000 listenaddress=0.0.0.0输出映射表:
xxxxxxxxxx11netsh interface portproxy show allkali 系统启动桌面:
xxxxxxxxxx11kex --esm --ip -sound获取WSL的IP地址:
xxxxxxxxxx11wsl hostname -IENSP 关闭虚拟机模式
xxxxxxxxxx11bcdedit /set hypervisorlaunchtype off ENSP 开启虚拟机模式
xxxxxxxxxx11bcdedit /set hypervisorlaunchtype auto执行Java程序
xxxxxxxxxx11nohup sudo mvn exec:java -Dexec.mainClass="org.example.FTPServer" &
登录SSH
xxxxxxxxxx11 ssh ubuntu@117.50.221.81获取IP信息:
xxxxxxxxxx11curl https://myip.ipip.net https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.shCONDA命令:
x1conda create -n tensorflow python=3.82conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/3conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/4conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/5conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/6conda config --set show_channel_urls yes7
8conda activate tensorflow9conda install -c conda-forge dlib10conda install -c conda-forge flask flask-socketio numpy pandas opencv #人脸识别项目必要的库安装代码11conda list12
13
14#中科院镜像15conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/16conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/17conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/r/18conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/pro/19conda config --set show_channel_urls yes20
esp32与max30102 引脚连接
ESP32:(VIN,GND,D13,D12,D14,D27,D24,D25,D33,D32,D35,D34,VN,VP,EN,3V3,GND,D15,D2,D4,RX2,TX2,D5,D18,D19,D21,RX0,D22,D23) MAX30102(VIN,GND,SCL,SDA,INT)


xxxxxxxxxx21ubuntu@Administrator:~$ usbip list -r $HOSTNAME.local2ubuntu@Administrator:~$ sudo usbip attach -r $HOSTNAME.local -b 4-3
xxxxxxxxxx121
2C:\Users\Administrator>usbipd list3Connected:4BUSID VID:PID DEVICE STATE51-3 174f:2459 Integrated Camera, Camera DFU Device Shared61-4 048d:c101 USB 输入设备 Shared72-4 0489:e0cd MediaTek Bluetooth Adapter Shared84-1 275d:0ba6 USB 输入设备 Shared94-2 260d:0034 USB 输入设备 Shared104-3 12d1:107e P20, USB 大容量存储设备 Shared11
12C:\Users\Administrator>usbipd bind --busid 4-3xxxxxxxxxx51A:\Desktop>curl -X POST -F "file=@a.png" -k https://8.137.20.68/upload2{3 "file_path": "C:\\Users\\Administrator\\Desktop\\typro\u56fe\u5e8a\\a.png",4 "message": "File successfully uploaded"5}xxxxxxxxxx21C:\Users\Administrator\Desktop>python -m http.server 802Serving HTTP on :: port 80 (http://[::]:80/) ...xxxxxxxxxx11java -Xmx8g -jar C:\Users\Administrator\TyporaImageToBase64.jar "${outputPath}"
xxxxxxxxxx101#mouse.bat2
3@echo off4start /B javaw -jar "C:\Users\Administrator\mouse.jar"5exit6
7Win+R8输入9shell:startup10把bat复制到此文件
xxxxxxxxxx21gradle镜像地址2 https://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.8-bin.zip maven 阿里云镜像
xxxxxxxxxx81<mirrors>2 <mirror>3 <id>alimaven</id>4 <mirrorOf>central</mirrorOf>5 <name>阿里云公共仓库</name>6 <url>https://maven.aliyun.com/repository/public</url>7 </mirror>8</mirrors>xxxxxxxxxx301pluginManagement {2 repositories {3 maven { url 'https://maven.aliyun.com/repository/public' }4 maven { url 'https://maven.aliyun.com/repository/central' }5 maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }6 google {7 content {8 includeGroupByRegex("com\\.android.*")9 includeGroupByRegex("com\\.google.*")10 includeGroupByRegex("androidx.*")11 }12 }13 mavenCentral()14 gradlePluginPortal()15 jcenter()16 }17}18dependencyResolutionManagement {19 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)20 repositories {21 maven { url 'https://maven.aliyun.com/repository/public' }22 maven { url 'https://maven.aliyun.com/repository/central' }23 maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }24 google()25 mavenCentral()26 }27}28
29rootProject.name = "VideoChat"//项目名,保留原有的字段30include ':app'xxxxxxxxxx441sudo apt update2sudo apt install coturn3sudo nano /etc/turnserver.conf4no-rfc57805no-stun-backward-compatibility6response-origin-only-with-rfc57807listening-port=34788#tls-listening-port=53499external-ip=117.50.221.8110#lt-cred-mech11user=username:password12log-file=/var/log/turn.log13min-port=4091514max-port=65535 15server-relay 16no-rfc578017no-stun-backward-compatibility18realm=117.50.221.8119listening-ip=10.60.106.8820sudo systemctl restart coturn21ubuntu@meet:~$ sudo systemctl status coturn22● coturn.service - coTURN STUN/TURN Server23 Loaded: loaded (/usr/lib/systemd/system/coturn.service; enabled; preset: enabled)24 Active: active (running) since Fri 2025-03-07 00:18:39 CST; 11h ago25 Docs: man:coturn(1)26 man:turnadmin(1)27 man:turnserver(1)28 Main PID: 1091685 (turnserver)29 Tasks: 7 (limit: 2320)30 Memory: 4.8M (peak: 5.4M)31 CPU: 1min 32.956s32 CGroup: /system.slice/coturn.service33 └─1091685 /usr/bin/turnserver -c /etc/turnserver.conf --pidfile=34
35Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : IO method (general relay thread): epol>36Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : turn server id=0 created37Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : IO method (general relay thread): epol>38Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : turn server id=1 created39Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : Total General servers: 240Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : IO method (auth thread): epoll (with c>41Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : IO method (auth thread): epoll (with c>42Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : IO method (admin thread): epoll (with >43Mar 07 00:18:39 meet.example.org turnserver[1091685]: 0: : SQLite DB connection success: /var/lib>44Mar 07 00:18:39 meet.example.org systemd[1]: Started coturn.service - coTURN STUN/TURN Server.
xxxxxxxxxx601sudo lsof -i :84432sudo netstat -tulnp | grep :84433sudo fuser -k 8443/tcp4#强制停止5sudo kill -9 1234 # 将 1234 替换为实际 PID6#防火墙命令7sudo ufw enable # 启用防火墙8sudo ufw disable # 禁用防火墙9sudo ufw status # 查看规则状态10sudo ufw reload # 重载规则(修改配置后)11
12sudo ufw allow 22/tcp # 允许 SSH(TCP 22)13sudo ufw allow 80,443/tcp # 允许 HTTP/HTTPS14sudo ufw allow 3478/udp # 允许 UDP 端口15sudo ufw deny 3306/tcp # 禁止 MySQL 端口16sudo ufw delete allow 80/tcp # 删除 HTTP 规则17
18sudo ufw allow from 192.168.1.0/24 to any port 22 # 允许特定 IP 段访问19sudo ufw limit 22/tcp # 限制频繁连接(防暴力破解)20sudo ufw allow out 53 # 允许 DNS 出站21
22sudo iptables -L -n -v # 查看 IPv4 规则23sudo ip6tables -L -n -v # 查看 IPv6 规则24
25sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 SSH26sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许 HTTP27sudo iptables -A INPUT -p udp --dport 3478 -j ACCEPT # 允许 UDP 端口28
29sudo iptables -A INPUT -p tcp --dport 3306 -j DROP # 禁止 MySQL30sudo iptables-save > /etc/iptables/rules.v4 # 永久保存(路径因系统而异)311. 开放 Web 服务器端口32# UFW33sudo ufw allow 80/tcp34sudo ufw allow 443/tcp35
36# Firewalld37sudo firewall-cmd --add-service=http --permanent38sudo firewall-cmd --add-service=https --permanent39sudo firewall-cmd --reload40
412. 允许特定 IP 访问 SSH42# UFW43sudo ufw allow from 192.168.1.100 to any port 2244
45# Firewalld46sudo firewall-cmd --zone=public --add-source=192.168.1.100 --add-port=22/tcp --permanent47sudo firewall-cmd --reload48
49
503. 阻止 ICMP(Ping)51# UFW52sudo ufw deny icmp53
54# iptables55sudo iptables -A INPUT -p icmp -j DROP56
57后台运行58nohup sudo python3 app.py &59
60
xxxxxxxxxx11X9MQ8ML8U7-eyJsaWNlbnNlSWQiOiJYOU1ROE1MOFU3IiwibGljZW5zZWVOYW1lIjoic2lnbnVwIHNjb3R0ZXIiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiIiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJJSSIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkFDIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiRFBOIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUFMiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJHTyIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkNMIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiRE0iLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJSUzAiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEUyIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJDIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUkQiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJQQyIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJTVSIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IlJNIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiV1MiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOmZhbHNlfSx7ImNvZGUiOiJEQiIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEiLCJleHRlbmRlZCI6ZmFsc2V9LHsiY29kZSI6IkRDIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUlNGIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQU0kiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBDV01QIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJSU1YiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IkRQIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJQREIiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlJTIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSIsImV4dGVuZGVkIjp0cnVlfSx7ImNvZGUiOiJSU0MiLCJmYWxsYmFja0RhdGUiOiIyMDk5LTEyLTMxIiwicGFpZFVwVG8iOiIyMDk5LTEyLTMxIiwiZXh0ZW5kZWQiOnRydWV9XSwibWV0YWRhdGEiOiIwMTIwMjMxMjA5TFBBQTAwMTAwOSIsImhhc2giOiJUUklBTDoyMDE2LjEiLCJncmFjZVBlcmlvZERheXMiOjMsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-B/AEW0W4lXBo8W6dezhIZb85SzRg8FE5KgECK3S4mhscrQPKikBRJWQSS8XWwAHuikiyEulXC9m/2oJEXkfwmcbzdSemP3FAuCuyOjwmFsJKISmR5UGHVsH9/Pe75EgDehZmoni+SjiXEAkWPm7RLZpZ8Tu9qTIqIrqBtovr8csCFxSyWZhGMmPQlLc4gKLsn9hRO1uL51+VBPKSmy/y1W/mV/iK1vrvCVQ6msHgkWWl8zSYCP1OzZ2I6KjpqrUZ/OSgHRbIiLSsRdikmWb5RE3JTx/53XxbS2IBppNO2gJ7GeyllupSmFMx5w7dXL0IwcZ+ZfTinyjCYgaTZmXsRg==-MIIETzCCAjegAwIBAgIEU7kY4jANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTIyMTAxMDE2MDU0NFoXDTI0MTAxMTE2MDU0NFowHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyMjEwMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx0QBxb4pfhYqM/RjSsvizyIncjO1EwCRgxPbKCcRFSY3ANBzS3hUdBzIxNuVbEPlnw50ItAn1iUwlyQ3QC7T+aG9E2R3IIIfEppb4F2SBi3YtgcZc3IrLgz8wa2p0iWTkkbFwnJxD4jMBfw9HDDbS5r9d9HVcPDH0rA+4nNIm7yek0wU6D77KJUWcNm7QHJfLeJAoOno+G3UIsnu7f63XRGkvdxK7L/WFzD9hCfSwZqmPZkCcrDLJTBdU4UpoJrfIoSeXZ+ssrSdQ9qY0JfUmRWvJNuUKeDBv6TI3ZCipJeZzXXafE7xD3Q57YS6KlIJEUzjZ2CRJIK3Zu5aqUTHbAgMBAAGjgZkwgZYwSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TAJBgNVHRMEAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIFoDAdBgNVHQ4EFgQUQ0INJl2tuM1XlTAfueTuWydc7qIwDQYJKoZIhvcNAQELBQADggIBACzJFycVHjlSCEczoAHxgtF7NG4sDcpgmLh6nrMIZpDLLGc/whCv6vpcDkBo0XvuQwmZnbpf/Ndpy4ypP2OXIw94TlfOkGKVLdHDQU8ES1HpgAtscFtNg4dyZijF4pLgiK2nbCokvHI3oWQZY3ROswrjsh0HNHWdVKooEhWt3vBpXorusNRNWbwidznxySM5aABbHrlW0+EgXuLMEHBrybLu0QenEuTFZS3E91uSa7JLpU92aQyAmZUJAhogfIvssgwnmyfnOF3csixUV6lDBCf+SUGzQbYtZd/QsGI9uUUhBbLjoZnFhVEbbOntmB4/aUvSziZnbhRAY+OhVTrNX6GtXI03cAxVBk2Kh6DE62vBW3biBGHK5ClsQGW1f5RLWhqJh0d3EP6+dsAo2P3Ic5MCuspFwSfWoK3gNhvYlr57PNrzAWhBn6Od78RMaqg+dl+GHsm5sW5mbvXpvYNukEe1RHVIONl8OTKex1U12DeS4pAIA9aQxd1vYapmNdam3rnOQbynKLYa09aDPrWO5Y+LtaCix7TBmwXPtyCxBLK4S7EZ+FE7Xz322ulpKcvLZCTKBzUH5y62xHIcSijnxJfSU0W5UCApsnwochM5S6RPuVpvyQoBR5IX3Ugjw48jpuf2TGL/INWPHQ5AjK9ZNtWAfpkYc9w+AcNAa/v6J/Ha