diff --git a/certmgr/getcert.sh b/certmgr/getcert.sh index f10998e..a789dd8 100644 --- a/certmgr/getcert.sh +++ b/certmgr/getcert.sh @@ -1,7 +1,7 @@ #!/bin/bash # 定义变量 -DOMAIN="image.deepseak.icu" # 请替换为你的域名 +DOMAIN="registry.deepseak.icu" # 请替换为你的域名 EMAIL="hpuzhagnwei@163.com" # 请替换为你的邮箱地址 # 检查 Certbot 是否安装 diff --git a/file-server/main.go b/file-server/main.go index 4ae2d74..632d9d1 100644 --- a/file-server/main.go +++ b/file-server/main.go @@ -13,8 +13,8 @@ import ( func main() { // 硬编码目录配置 dirs := map[string]string{ - "/bbs": "/files/active/www/active", // 修改右侧路径 - "/active": "/files/bbs/www/bbs", // 添加新条目 + "/bbs": "/files/bbs/www/bbs", // 修改右侧路径 + "/active": "/files/active/www/active", // 添加新条目 } port := 8080 // 固定端口 diff --git a/frpc-client/frpc.toml b/frpc-client/frpc.toml index 9489074..b94ed42 100644 --- a/frpc-client/frpc.toml +++ b/frpc-client/frpc.toml @@ -18,67 +18,20 @@ localIP = "127.0.0.1" localPort = 443 remotePort = 443 -[[proxies]] -name = "tailscale3478u" -type = "udp" -localIP = "127.0.0.1" -localPort = 3478 -remotePort = 3478 - -[[proxies]] -name = "tailscale3478t" -type = "tcp" -localIP = "127.0.0.1" -localPort = 3478 -remotePort = 3478 - -[[proxies]] -name = "tailscale50443t" -type = "tcp" -localIP = "127.0.0.1" -localPort = 50443 -remotePort = 50443 - -[[proxies]] -name = "tailscale41641u" -type = "udp" -localIP = "127.0.0.1" -localPort = 41641 -remotePort = 41641 - -[[proxies]] -name = "tailscale50443u" -type = "udp" -localIP = "127.0.0.1" -localPort = 50443 -remotePort = 50443 - -[[proxies]] -name = "tailscale12345u" -type = "udp" -localIP = "127.0.0.1" -localPort = 12345 -remotePort = 12345 - -[[proxies]] -name = "tailscale12345" -type = "tcp" -localIP = "127.0.0.1" -localPort = 12345 -remotePort = 12345 - -[[proxies]] -name = "tailscale8881t" -type = "tcp" -localIP = "127.0.0.1" -localPort = 8881 -remotePort = 8881 - -[[proxies]] -name = "tailscale8881u" -type = "udp" -localIP = "127.0.0.1" -localPort = 8881 -remotePort = 8881 + + + + + + + + + + + + + + + diff --git a/gobaseimg/Dockerfile b/gobaseimg/Dockerfile new file mode 100644 index 0000000..06ac3c5 --- /dev/null +++ b/gobaseimg/Dockerfile @@ -0,0 +1,20 @@ +# 使用华为云镜像源的 golang 1.24 作为基础镜像 +FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/golang:1.24.3-alpine3.21 + +# 设置环境变量 +ENV GOPROXY=https://goproxy.cn,direct +ENV GO111MODULE=on + + + + + +# 安装必要的 Go 工具 +RUN go install golang.org/x/tools/gopls@latest && \ + go install github.com/go-delve/delve/cmd/dlv@latest + +# 设置工作目录 +WORKDIR /workspace + +# 设置容器启动命令 +CMD ["/bin/bash"] \ No newline at end of file diff --git a/mongodb/docker-compose.yml b/mongodb/docker-compose.yml new file mode 100644 index 0000000..be755cf --- /dev/null +++ b/mongodb/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3.8' +services: + mongodb: + image: mongodb/mongodb-community-server:7.0-ubuntu2204 + container_name: mongodb + environment: + MONGODB_INITDB_ROOT_USERNAME: root + MONGODB_INITDB_ROOT_PASSWORD: 123456 + TZ: Asia/Shanghai + ports: + - "27017:27017" + volumes: + - ./data:/data/db + - ./config:/etc/mongo + - ./logs:/var/log/mongodb + command: mongod --bind_ip_all + restart: unless-stopped + healthcheck: + test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet + interval: 10s + timeout: 10s + retries: 5 + start_period: 30s \ No newline at end of file diff --git a/nginx/conf.d/membank.conf b/nginx/conf.d/membank.conf new file mode 100644 index 0000000..e04422a --- /dev/null +++ b/nginx/conf.d/membank.conf @@ -0,0 +1,17 @@ +server { + listen 80; + server_name membank.deepseak.icu; + + location / { + proxy_pass http://127.0.0.1:10001; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + # 添加代理超时配置 + proxy_connect_timeout 60s; + proxy_read_timeout 600s; + proxy_send_timeout 600s; + } +} \ No newline at end of file diff --git a/nginx/conf.d/registry.conf b/nginx/conf.d/registry.conf new file mode 100644 index 0000000..29203c3 --- /dev/null +++ b/nginx/conf.d/registry.conf @@ -0,0 +1,30 @@ +server { + listen 443 ssl; + server_name registry.deepseak.icu; + + ssl_certificate /etc/letsencrypt/live/registry.deepseak.icu/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/registry.deepseak.icu/privkey.pem; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers HIGH:!aNULL:!MD5; + client_max_body_size 500m; + + location / { + proxy_pass http://127.0.0.1:3005; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + proxy_connect_timeout 60s; + proxy_read_timeout 600s; + proxy_send_timeout 600s; + } +} + +# HTTP redirect to HTTPS +server { + listen 80; + server_name registry.deepseak.icu; + return 301 https://$server_name$request_uri; +} \ No newline at end of file diff --git a/nginx/conf.d/tailscale.conf b/nginx/conf.d/tailscale.conf deleted file mode 100644 index d2e09d0..0000000 --- a/nginx/conf.d/tailscale.conf +++ /dev/null @@ -1,45 +0,0 @@ -server { - listen 443 ssl; - server_name tailscale.deepseak.icu; - - ssl_certificate /etc/letsencrypt/live/tailscale.deepseak.icu/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/tailscale.deepseak.icu/privkey.pem; - - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers HIGH:!aNULL:!MD5; - - - client_max_body_size 5m; - - # 匹配 /web 开头的请求 - location ^~ /web { - proxy_pass http://localhost:3009; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - # ... 原有跨域配置保持不变 ... - } - - - - - # 匹配其他请求 - location / { - proxy_pass http://localhost:3008; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - - } - - -} - - diff --git a/registry/docker-compose.yml b/registry/docker-compose.yml new file mode 100644 index 0000000..a92aec0 --- /dev/null +++ b/registry/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3.8' + +services: + registry: + image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/registry:2.8.1 + container_name: registry + restart: always + environment: + REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /var/lib/registry + volumes: + - ./auth:/auth + - ./data:/var/lib/registry + ports: + - "3005:5000" \ No newline at end of file diff --git a/tailscale/config.yaml b/tailscale/config.yaml index 9e97fba..3c740e3 100644 --- a/tailscale/config.yaml +++ b/tailscale/config.yaml @@ -1,113 +1,58 @@ --- -# headscale will look for a configuration file named `config.yaml` (or `config.json`) in the following order: -# + # - `/etc/headscale` # - `~/.headscale` -# - current working directory +# - 当前工作目录 -# The url clients will connect to. -# Typically this will be a domain like: # # https://myheadscale.example.com:443 # +# 服务端URL(客户端将连接到的地址) server_url: http://0.0.0.0:8080 -# Address to listen to / bind to on the server -# -# For production: +# 服务监听地址 listen_addr: 0.0.0.0:8080 -#isten_addr: 127.0.0.1:8080 -# Address to listen to /metrics, you may want -# to keep this endpoint private to your internal -# network -# +# 指标监听地址(建议保持内网访问) metrics_listen_addr: 127.0.0.1:9090 -# Address to listen for gRPC. -# gRPC is used for controlling a headscale server -# remotely with the CLI -# Note: Remote access _only_ works if you have -# valid certificates. -# -# For production: +# gRPC监听地址(用于远程CLI控制) grpc_listen_addr: 0.0.0.0:50443 -#rpc_listen_addr: 127.0.0.1:50443 -# Allow the gRPC admin interface to run in INSECURE -# mode. This is not recommended as the traffic will -# be unencrypted. Only enable if you know what you -# are doing. +# 允许不安全的gRPC连接(不建议生产环境使用) grpc_allow_insecure: true -# The Noise section includes specific configuration for the -# TS2021 Noise protocol +# Noise协议配置 noise: - # The Noise private key is used to encrypt the - # traffic between headscale and Tailscale clients when - # using the new Noise-based protocol. + # 噪声协议私钥路径 private_key_path: /var/lib/headscale/noise_private.key -# List of IP prefixes to allocate tailaddresses from. -# Each prefix consists of either an IPv4 or IPv6 address, -# and the associated prefix length, delimited by a slash. -# It must be within IP ranges supported by the Tailscale -# client - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48. -# See below: -# IPv6: https://github.com/tailscale/tailscale/blob/22ebb25e833264f58d7c3f534a8b166894a89536/net/tsaddr/tsaddr.go#LL81C52-L81C71 -# IPv4: https://github.com/tailscale/tailscale/blob/22ebb25e833264f58d7c3f534a8b166894a89536/net/tsaddr/tsaddr.go#L33 -# Any other range is NOT supported, and it will cause unexpected issues. +# IP地址分配前缀 prefixes: v4: 100.64.0.0/10 v6: fd7a:115c:a1e0::/48 - - # Strategy used for allocation of IPs to nodes, available options: - # - sequential (default): assigns the next free IP from the previous given IP. - # - random: assigns the next free IP from a pseudo-random IP generator (crypto/rand). + # IP分配策略:sequential(顺序)或 random(随机) allocation: sequential -# DERP is a relay system that Tailscale uses when a direct -# connection cannot be established. -# https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp -# -# headscale needs a list of DERP servers that can be presented -# to the clients. +# DERP中继服务器配置 derp: server: - # If enabled, runs the embedded DERP server and merges it into the rest of the DERP config - # The Headscale server_url defined above MUST be using https, DERP requires TLS to be in place + # 启用内置DERP服务器 enabled: true - - # Region ID to use for the embedded DERP server. - # The local DERP prevails if the region ID collides with other region ID coming from - # the regular DERP config. + # 区域ID(避免与公共DERP区域冲突) region_id: 999 - - # Region code and name are displayed in the Tailscale UI to identify a DERP region + # 区域代码和名称(显示在客户端UI中) region_code: "headscale" region_name: "Headscale Embedded DERP" - - # Listens over UDP at the configured address for STUN connections - to help with NAT traversal. - # When the embedded DERP server is enabled stun_listen_addr MUST be defined. - # - # For more details on how this works, check this great article: https://tailscale.com/blog/how-tailscale-works/ + # STUN服务监听地址(用于NAT穿透) stun_listen_addr: "0.0.0.0:3478" - - # Private key used to encrypt the traffic between headscale DERP - # and Tailscale clients. - # The private key file will be autogenerated if it's missing. - # + # DERP服务器私钥路径 private_key_path: /var/lib/headscale/derp_server_private.key - - # This flag can be used, so the DERP map entry for the embedded DERP server is not written automatically, - # it enables the creation of your very own DERP map entry using a locally available file with the parameter DERP.paths - # If you enable the DERP server and set this to false, it is required to add the DERP server to the DERP map using DERP.paths + # 自动添加内置DERP区域到DERP映射 automatically_add_embedded_derp_region: true - - # For better connection stability (especially when using an Exit-Node and DNS is not working), - # it is possible to optionally add the public IPv4 and IPv6 address to the Derp-Map using: - ipv4: 1.2.3.4 - ipv6: 2001:db8::1 + # 公网IPv4/IPv6地址(提高连接稳定性) + ipv4: 47.239.121.24 + # ipv6: 2001:db8::1 # List of externally available DERP maps encoded in JSON # urls: @@ -149,29 +94,16 @@ database: # GORM configuration settings. gorm: # Enable prepared statements. - prepare_stmt: true - - # Enable parameterized queries. - parameterized_queries: true - - # Skip logging "record not found" errors. - skip_err_record_not_found: true - - # Threshold for slow queries in milliseconds. - slow_threshold: 1000 + prepare_stmt: true # 启用预处理语句 + parameterized_queries: true # 启用参数化查询 + skip_err_record_not_found: true # 跳过"记录未找到"错误 + slow_threshold: 1000 # 慢查询阈值(毫秒) # SQLite config sqlite: path: /var/lib/headscale/db.sqlite - - # Enable WAL mode for SQLite. This is recommended for production environments. - # https://www.sqlite.org/wal.html - write_ahead_log: true - - # Maximum number of WAL file frames before the WAL file is automatically checkpointed. - # https://www.sqlite.org/c3ref/wal_autocheckpoint.html - # Set to 0 to disable automatic checkpointing. - wal_autocheckpoint: 1000 + write_ahead_log: true # 启用WAL模式(生产推荐) + wal_autocheckpoint: 1000 # WAL自动检查点阈值 # # Postgres config # Please note that using Postgres is highly discouraged as it is only supported for legacy reasons. @@ -277,10 +209,8 @@ dns: # List of DNS servers to expose to clients. nameservers: global: - - 1.1.1.1 - - 1.0.0.1 - - 2606:4700:4700::1111 - - 2606:4700:4700::1001 + - 114.114.114.114 + # NextDNS (see https://tailscale.com/kb/1218/nextdns/). # "abc123" is example NextDNS ID, replace with yours. diff --git a/tailscale/docker-compose.yml b/tailscale/docker-compose.yml index a5e7f3c..024a306 100644 --- a/tailscale/docker-compose.yml +++ b/tailscale/docker-compose.yml @@ -15,7 +15,7 @@ services: - "3008:8080" # Headscale API端口 - "9090:9090" # Metrics监控端口 - "3478:3478" # STUN 端口 - - "41641:41641" # DERP中继端口(可选,若Derper独立部署则无需映射) + # - "41641:41641" # DERP中继端口(可选,若Derper独立部署则无需映射) - "12345:12345" # STUN 端口 - "8881:8881" # DERP 端口 - "50443:50443" @@ -57,3 +57,4 @@ services: # common314 5b6ed5947149bc2b6d203da688afa8d5969844af8151302e # 9900k 734511957cbece2ae36622adf50a8ec6842d08fb771c771d +# 12600k-rocky-client 5b37e0d239b44f1ac514603d4f6f3629bc9c21aa0321e97d