当前位置: 首页 > article >正文

使用docker搭建hysteria2服务端

源链接:https://github.com/apernet/hysteria/discussions/1248

官网地址:https://v2.hysteria.network/zh/docs/getting-started/Installation/

首选需要安装dockerdocker compose

切换到合适的目录

cd /home

创建文件夹

mkdir hysteria

创建docker-compose文件

cd hysteria
vim docker-compose.yml

tobyxdd/hysteria:latest是最新版可以去https://hub.docker.com/r/tobyxdd/hysteria/tags

安装其他版本替换到image即可,例如:tobyxdd/hysteria:v2.5.1

此处的$PWD/则代表将当前目录映射到docker内部,所以下面不用修改

services:
  hysteria:
    image: 'tobyxdd/hysteria:latest'
    container_name: hysteria-server
    restart: always
    network_mode: host
    volumes:
      - '$PWD/:/etc/hysteria'
    environment:
      - HYSTERIA_DISABLE_UPDATE_CHECK = 1
    cap_add:
      - NET_ADMIN
      - NET_BIND_SERVICE
      - SYS_PTRACE
      - DAC_READ_SEARCH
    devices:
      - '/dev/net/tun:/dev/net/tun'
    ulimits:
      nofile:
        soft: 65535
        hard: 65535
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 256M
    command: ["server", "-c", "/etc/hysteria/config.yaml"]

创建配置文件,删除#连接的文字,最好换一个端口例如29715,也要记得开放端口,或者关闭防火墙,密码记好,需要在客户端填上

listen: :443 # 这是服务端所使用的端口号,您可以按需修改(如可将443修改为您所需要的端口号)


ignoreClientBandwidth: false
speedTest: false
disableUDP: false
udpIdleTimeout: 60s


tls: 
  cert: /etc/hysteria/server.pem  # 此处的cert和key放到上方步骤中提到的新建的目录下
  key: /etc/hysteria/server.key
  sniGuard: disable

quic:
  initStreamReceiveWindow: 1048576  # 如果您的server剩余资源充裕,且您需要达到100mbps以上的速率,请删除此处的quic字段
  maxStreamReceiveWindow: 1048576
  initConnReceiveWindow: 4194304
  maxConnReceiveWindow: 4194304 
  maxIdleTimeout: 30s 
  maxIncomingStreams: 65535
  disablePathMTUDiscovery: true

bandwidth:
  up: 100 mbps  # brutal速度限制
  down: 100 mbps

auth:
  type: password
  password: password1 # 认证密码,必须修改为别的值(不含特殊符号),请确保密码难以猜测

resolver:
  type: tls # 如果您需要让程序直接使用系统的DNS解析,请直接删除此字段
  tls:
    addr: 208.67.220.220:853
    timeout: 4s
    sni: dns.opendns.com
    insecure: true

sniff:
  enable: true 
  timeout: 2s 
  rewriteDomain: false 
  tcpPorts: 80,443,8000-9000 
  udpPorts: all

outbounds:
  - name: freedom # 若无特殊需要,则无需额外修改此处的字段
    type: direct
    direct:
      mode: auto 

masquerade: # 伪装字段,若不需要可删除,若需要可按需修改
  type: string
  string:
    content: Invalid request, please use correct method.
    headers: 
      Server: quic-server
      Content-Type: application/octet-stream; charset=UTF-8
      Cache-Control: no-store
      Content-Length: 8
      Content-Encoding: compress
      Connection: close
    statusCode: 200

生成证书,一路回车就行

openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:4096 -keyout server.key -out server.pem

启动

docker compose up -d

验证

docker logs 容器ID
出现server up and running   {"listen": ":29715"}则代表成功

附上一张客户端配置

在这里插入图片描述


http://www.kler.cn/a/412156.html

相关文章:

  • Spring 框架中AOP(面向切面编程)和 IoC(控制反转)
  • 基于Matlab实现Gabo滤波器(源码)
  • 【GAMES101笔记速查——Lecture 20 Color and Perception】
  • js版本之ES5特性简述【String、Function、JSON、其他】(二)
  • 嵌入式系统与OpenCV
  • DAY133权限提升-Windows权限提升篇溢出漏洞土豆家族通杀全系补丁对比EXP筛选
  • 类文件结构详解.下
  • Qt | 开发技能提升档次哈
  • GoogleTest做单元测试
  • [小白系列]Ubuntu安装教程-安装NodeJS
  • k8s认证、授权
  • C#基础56-60
  • unity使用笔记
  • Python 数据结构对比:列表与数组的选择指南
  • 研0找实习【学nlp】15---我的后续,总结(暂时性完结)
  • 11.26 深度学习-激活函数
  • MFC图形函数学习11——路径层函数
  • springcloud中bootstrap.yml配置文件
  • 北京航空航天大学多模态自适应攀岩机器人:突破复杂地形挑战
  • 【C++ 算法进阶】算法提升二十三
  • maven <scope>import</scope>配置作用
  • Flink学习连载文章4-flink中的各种转换操作
  • CSDN 博客自动发布脚本(Python 含自动登录、定时发布)
  • 【Android+多线程】异步 多线程 知识总结:基础概念 / 多种方式 / 实现方法 / 源码分析
  • 大模型的token是什么;常见大模型的token是多少
  • Android Framework SurfaceFlinger面试题及参考答案