jwj 发布的文章

EndpointTypeConfiguration path说明
openai/v1/chat/completionsOpenAI Chat Completions
openai-response/v1/responsesOpenAI Responses API
anthropic/v1/messagesClaude Messages API
gemini/v1beta/models/{model}:generateContentGemini GenerateContent
jina-rerank/rerankJina Rerank
image-generation/v1/images/generations图像生成
embeddings/v1/embeddings嵌入向量

在项目实施过程中,经常会遇到服务器没有外网,需要经由跳板机作为中转使用的情况,因此有个代理服务器就很有必要了。
Xray 更新比较快,配置时不时可能就要对应更新,因此还是记录一下,方便部署时之间使用,有变动时也同步进行更新。

零、架构

Client
      │
 VLESS + XHTTP(stream-up)
 TLS(h2)
      │
      ▼
OpenResty :443
 TLS terminate
 grpc_pass
      │
      ▼
127.0.0.1:10000
Xray
VLESS + XHTTP
security:none

Xray版本: ghcr.io/xtls/xray-core:26.6.27

一、Nginx 配置

location /sgip {
    grpc_set_header Host $host;
    grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    grpc_set_header X-Real-IP $remote_addr;

    grpc_read_timeout 600s;
    grpc_send_timeout 600s;

    # 替换为实际的IP和端口
    grpc_pass grpc://172.17.0.2:1090;
}

二、服务端

05_inbounds.json

uuid 可以使用 xray uuid 命令来进行生成
{
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 1090,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "bcd85299-ac78-48b8-ae2e-37f29ddbc588"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "xhttp",
        "security": "none",
        "xhttpSettings": {
          "path": "/xhttp",
          "mode": "stream-up"
        }
      }
    }
  ]
}

06_outbounds.json

{
  "outbounds": [
    {
        "protocol": "freedom",
        "tag": "direct"
    }
  ]
}

三、客户端

{
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 1080,
      "protocol": "http"
    }
  ],
  "outbounds": [
    {
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "example.com",
            "port": 443,
            "users": [
              {
                "id": "bcd85299-ac78-48b8-ae2e-37f29ddbc588",
                "encryption": "none"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "xhttp",
        "security": "tls",
        "tlsSettings": {
          "serverName": "example.com",
          "alpn": [
            "h2"
          ]
        },
        "xhttpSettings": {
          "host": "example.com",
          "path": "/xhttp",
          "mode": "stream-up"
        }
      }
    }
  ]
}

会的不用教,不会的一下又弄不好,哈哈。先记录下安装过程,后续用到可以直接回顾。

安装 Vue

npm create vue@latest

切换到安装后的目录

cd 项目目录

安装 antdv-next

发现不用镜像太慢,不需要的可以删除 --registry=https://registry.npmmirror.com
npm install antdv-next --save --registry=https://registry.npmmirror.com

安装 Skills

如果连不上 Github,可以考虑配置代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:10808
npx skills add antfu/skills --skill='*'
npx skills add antdv-next/skills

开始创作

use antdv-next skill, <你的需求>

Creality 自带了 Creality Print,但很遗憾是不支持自动化,但好在这3D打印机还支持第三方软件。

Creality k2 Pro 支持 Klipper,这也是支持 OrcaSlicer 的主要原因。

OrcaSlicer

下载安装就不想多说了,确实没什么好说的

连接打印机

依据官方资料 K2 Plus第三方切片使用设置 中提到的,K2 Plus klipper协议的端口为 4408
所以我们只需要在打印机设置里的主机名,IP或者URL中填写 IP:4408(如:192.168.1.204:4408),然后点测试,成功后再点确认即可完成连接。

networks:
  adguard_network:
    #driver: bridge
    #ipam:
    #  config:
    #    - subnet: 172.53.0.0/24
services:
    adguardhome:
        container_name: adguardhome
        image: adguard/adguardhome:latest
        ports:
            # 普通 DNS
            - 53:53/tcp
            - 53:53/udp
            # DHCP
            #- 67:67/udp
            #- 68:68/tcp
            #- 68:68/udp
            # 面板
            #- 80:80/tcp
            #- 3000:3000/tcp
            # HTTPS/DNS-over-HTTPS
            #- 443:443/tcp
            #- 443:443/udp
            # DNS-over-TLS
            - 853:853/tcp
            # DNS-over-QUIC
            - 784:784/udp
            - 853:853/udp
            - 8853:8853/udp
            # DNSCrypt
            - 5443:5443/tcp
            - 5443:5443/udp
        restart: always
        volumes:
            - ./data/work:/opt/adguardhome/work
            - ./data/conf:/opt/adguardhome/conf
            - ./data/ssl:/opt/adguardhome/ssl
        networks:
            adguard_network:
                #ipv4_address: 172.53.0.2

反向代理

如果使用 Nginx 等反向代理时,可以进行以下配置。

允许通过 http 进行 DoH 查询

tls:
  allow_unencrypted_doh: true

获取客户端真实 IP

dns:
  trusted_proxies:
    - 0.0.0.0/0

Windows 使用设置

字段说明示例值
首选 DNSadguardhome 的 IP192.168.1.216
DNS over HTTPS是否开启DOH开(手动模版)
DNS over HTTPS 模板DOH 地址https://adguardhome-domain/dns-query
备用 DNSadguardhome 的 IP119.29.29.29
DNS over HTTPS是否开启DOH开(手动模版)
DNS over HTTPS 模板DOH 地址https://doh.pub/dns-query

参考教程