【技术分享】 hysteria2从服务端到客户端部署教程
hysteria2从服务端到客户端部署教程
前言
在如今的网络环境中,尤其是涉及跨国访问的场景中,hysteria2作为一个新兴的传输协议工具,凭借其高效的传输能力和灵活的配置方式,受到了越来越多用户的青睐。本教程将带您一步步完成hysteria2的部署,包括在服务端和客户端的安装与配置,适用于AlmaLinux 8和Ubuntu两种常用操作系统。
系统要求
- 服务端操作系统: AlmaLinux 8 或 Ubuntu 20.04+
- 客户端操作系统: AlmaLinux 8 或 Ubuntu 20.04+
- 内存: 至少 512 MB
- CPU: 至少 1 核
部署前准备
在正式开始部署之前,请确保您的服务器和客户端系统都已完成以下操作:
-
系统更新:
- AlmaLinux 8:
sudo dnf update -y - Ubuntu:
sudo apt update && sudo apt upgrade -y
- AlmaLinux 8:
-
安装必备工具:
- AlmaLinux 8:
sudo dnf install wget curl nano -y - Ubuntu:
sudo apt install wget curl nano -y
- AlmaLinux 8:
-
配置防火墙(如有需要):
- 确保开放必要的端口,例如 hysteria2 的默认端口 443。
服务端安装和配置
1. 下载并安装hysteria2
AlmaLinux 8
wget -O hysteria2-linux-amd64.tar.gz https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64.tar.gz
tar -zxvf hysteria2-linux-amd64.tar.gz
sudo mv hysteria /usr/local/bin/
Ubuntu
wget -O hysteria2-linux-amd64.tar.gz https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64.tar.gz
tar -zxvf hysteria2-linux-amd64.tar.gz
sudo mv hysteria /usr/local/bin/
2. 创建配置文件
AlmaLinux 8 和 Ubuntu 通用
在 /etc/hysteria 目录下创建 config.json 文件,并写入以下内容:
{"listen": ":443","protocol": "udp","up_mbps": 100,"down_mbps": 100,"obfs": "password","auth": {"mode": "password","config": {"user": "password"}},"alpn": "h2","tls": {"cert": "/path/to/your/cert.crt","key": "/path/to/your/key.key"}
}
注意:将/path/to/your/cert.crt和/path/to/your/key.key替换为您实际的TLS证书和私钥路径。
3. 启动服务
AlmaLinux 8 和 Ubuntu 通用
创建并启动服务:
sudo nano /etc/systemd/system/hysteria.service
填入以下内容:
[Unit]
Description=hysteria2 Service
After=network.target[Service]
ExecStart=/usr/local/bin/hysteria -c /etc/hysteria/config.json
Restart=on-failure[Install]
WantedBy=multi-user.target
保存并退出后,启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable hysteria
sudo systemctl start hysteria
4. 验证服务状态
通过以下命令检查服务是否正常运行:
sudo systemctl status hysteria
如果状态显示为active (running),说明服务已成功启动。
客户端安装和配置
1. 下载并安装hysteria2
AlmaLinux 8 和 Ubuntu 通用
与服务端相同,下载并安装hysteria2:
wget -O hysteria2-linux-amd64.tar.gz https://github.com/apernet/hysteria/releases/latest/download/hysteria-linux-amd64.tar.gz
tar -zxvf hysteria2-linux-amd64.tar.gz
sudo mv hysteria /usr/local/bin/
2. 创建配置文件
在客户端创建配置文件config.json,内容如下:
{"server": "your_server_ip:443","auth": {"user": "password"},"alpn": "h2","obfs": "password","up_mbps": 10,"down_mbps": 50,"tls": {"sni": "your.server.com"}
}
注意:将your_server_ip替换为服务端的实际IP地址,并将其他相关信息替换为实际值。
3. 启动客户端
使用以下命令启动客户端:
hysteria -c /path/to/your/client/config.json
故障排除
1. 检查端口是否被占用
如果服务启动失败,可以通过以下命令检查443端口是否被其他程序占用:
sudo lsof -i :443
2. 检查日志文件
服务端和客户端的日志文件对于排查问题非常有帮助。可以通过以下方式查看日志:
journalctl -u hysteria -f
3. 网络连通性问题
如果客户端无法连接到服务端,可能是防火墙或网络配置问题。确保服务端的防火墙规则正确配置,并且端口443已开放。
结语
通过本教程,您已经成功在AlmaLinux 8和Ubuntu系统上完成了hysteria2的服务端和客户端部署。hysteria2强大的传输性能可以大幅提升网络访问体验。如果您在使用过程中遇到其他问题,请随时参考官方文档或进一步探索配置项来优化您的使用体验。
相关文章:
【技术分享】 hysteria2从服务端到客户端部署教程
hysteria2从服务端到客户端部署教程 前言 在如今的网络环境中,尤其是涉及跨国访问的场景中,hysteria2作为一个新兴的传输协议工具,凭借其高效的传输能力和灵活的配置方式,受到了越来越多用户的青睐。本教程将带您一步步完成hyst…...
C++入门基础知识16
C 的关键字(接上一篇博文!!!) 54. typeid 指出指针或引用指向的对象的实际派生类型。 55. typename typename(类型名字)关键字告诉编译器把一个特殊的名字解释成一个类型。在下列情况下必须对一…...
浏览器调试工具-Chrome Dev Tools
浏览器调试模式下的各个调试工具是常用的工具集,能够帮助开发者理解、调试和优化网页。 1.打开方式 直接在浏览器中按下F12键右键点击页面上的任一元素,选择“检查”(Inspect)在浏览器右上角点击菜单按钮,选择“更多…...
基于车联网大数据平台的用户驾驶习惯行为画像分析
近年来,新能源汽车行业的迅速发展推动了汽车智能化的趋势。新能源汽车上配备了成千上万的传感器,这些传感器采集了大量的行车数据被用于车辆运行状况的监控与分析。另一方面,采集到的大量行车数据,也能很好地体现用户的驾驶习惯。…...
Ubuntu24.04搭建maxkb开发环境
接上文:windows10搭建maxkb开发环境(劝退指南) 上文在windows10环境搭建maxkb开发环境遇到各种坑,后面就转战ubuntu平台,果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…...
C++ 指针和引用的区别
1.引用在定义时必须初始化,而指针没有要求 2.引用一旦引用了一个实体就不能在引用其它实体,指针可以在任何时候指向同一类型的指针 3.没有空引用,但是有空指针 4.在sizeof中含义不同:引用结果为引用类型的大小,但指…...
python绘制蕨菜叶分形
一花一叶一世界,一草一木一浮生. 使用了四个不同的线性变换,根据概率选择其中一个变换并更新 x 和 y 坐标。然后将生成的绿色点绘制出来,形成一片蕨菜叶。 import numpy as np import matplotlib.pyplot as pltdef fern_fractal(num_points):# 初始化坐…...
1分钟了解pandas
Pandas 是一个强大的 Python 库,用于数据分析和数据处理。它为 Python 提供了高效的数据结构和数据分析工具,使得数据操作变得简单而直观。Pandas 由 Wes McKinney 在 2008 年创建,并迅速成为数据科学领域中最受欢迎的库之一。 安装 Pandas …...
django-celery应用-定时执行测试cases
1、celery周期性任务 简介-----celery beat 是一个调度程序,它定期启动任务,然后由集群中的可用工作节点执行这些任务。 django-celery-beat celery默认的调度程序是 celery.beat.PersistentScheduler ,它简单地跟踪本地 shelve 数据库文件中…...
【C++深度探索】unordered_set、unordered_map封装
🔥 个人主页:大耳朵土土垚 🔥 所属专栏:C从入门至进阶 这里将会不定期更新有关C/C的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目录…...
CSS——字体背景(Font Background)
一、字体族 1、字体的相关样式: ① color 用来设置字体颜色(前景颜色) ② font-size 字体的大小 和font-size相关的单位: em 相对于当前元素的一个font-size rem 相对于根元素的一个font-size ③ font-family 字体族&#x…...
秋招突击——8/15——知识补充——Socket通信
文章目录 引言正文基于TCP协议的Socket通信基于UDP协议的Socket通信服务端如何接收更多项目多进程多线程IO多路复用select轮询IO多路复用epoll事件通知 使用Socket实现同一个机器上的多线程通信服务端创建对应socket监听端口客户端发起对应的连接请求 总结 引言 上次面试腾讯的…...
Qt第十四章 模型视图
Model/View(模型/视图)结构 文章目录 Model/View(模型/视图)结构简介视图组件Model/View结构的一些概念项目控件组(item Widgets)模型/视图 如何使用项目视图组设置行的颜色交替变换拖拽设置编辑操作其他操作 选择模型自定义选择多…...
硬件工程师必须掌握的MOS管详细知识
MOS管,全称为金属-氧化物半导体场效应晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor,MOSFET),是一种重要的半导体器件,广泛应用于电子工业中各种电路的开关、放大、调制、数字电路和模拟电路等…...
希尔排序,详细解析(附图解)
1.希尔排序思路 希尔排序是一种基于插入排序的算法,通过将原始数据分成若干个子序列,然后对子序列进行插入排序,逐渐减小子序列的间隔,最后对整个序列进行一次插入排序。 1.分组直接插入排序,目标接近有序--------…...
【C语言篇】编译和链接以及预处理介绍(下篇)
文章目录 前言#和###运算符##运算符 命名约定#undef命令⾏定义条件编译#if和#endif多个分支的条件编译判断是否被定义嵌套指令 头文件被包含头文件被包含的方式本地文件包含库文件的包含 嵌套文件包含 其他预处理指令 写在最后 前言 本篇接前一篇【C语言篇】编译和链接以及预处…...
利用Llama2 7b自己实现一套离线AI
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, 可以当故事来看,轻松学习。 离了 ChatGPT 本人简直寸步难行,今天 ChatGPT 大面积宕机,服务直到文章写作&am…...
Ciallo~(∠・ω・ )⌒☆第十七篇 Ubuntu基础使用 其一
Ubuntu是一种基于Linux的操作系统,它是开源的、免费的,并且具有广泛的用户群体。 基本文件操作:Ubuntu使用命令行工具来进行文件操作。以下是一些常用的命令: 切换到用户主目录: cd ~ 切换到上级目录: cd .…...
Linux-零拷贝技术
什么是零拷贝? 在传统的数据传输过程中,数据需要从磁盘读取到内核空间的缓冲区,然后再从内核空间拷贝到用户空间的应用程序缓冲区。如果需要将数据发送到网络,数据还需要再次从用户空间拷贝到内核空间的网络缓冲区。这个过程涉及…...
小区团购管理
TOC springboot254小区团购管理 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用&…...
CLIP-GmP-ViT-L-14图文匹配测试工具:在Dify平台构建零代码AI工作流
CLIP-GmP-ViT-L-14图文匹配测试工具:在Dify平台构建零代码AI工作流 你有没有遇到过这样的场景?运营团队每天需要审核海量的用户上传图片,判断它们是否与商品描述相符,或者内容安全团队要筛查社交媒体上的图片是否违规。传统做法要…...
SSE vs. WebSocket:实时通信技术的深度对比与选型指南
1. 实时通信技术的基本概念 现代Web应用对实时性的需求越来越高,从股票行情更新到在线聊天室,都需要服务器能够快速将数据推送到客户端。在这个领域,SSE(Server-Sent Events)和WebSocket是两种主流技术方案。我第一次接…...
2023最新版CCF期刊目录下载指南(附Python自动抓取脚本)
2023科研数据自动化:CCF期刊目录高效处理实战指南 科研工作者常面临海量期刊数据的筛选与分析难题。中国计算机学会(CCF)发布的推荐期刊目录作为计算机领域的重要参考标准,其结构化处理与深度分析能力直接影响研究效率。本文将突破传统PDF手工处理模式&a…...
dynamic-datasource启动优化:JAR包瘦身终极指南
dynamic-datasource启动优化:JAR包瘦身终极指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource dynamic-dat…...
终极指南:Claude Squad项目结构解析与核心模块功能详解
终极指南:Claude Squad项目结构解析与核心模块功能详解 【免费下载链接】claude-squad Manage local AI agents like Claude Code and Aider. 10x your productivity 项目地址: https://gitcode.com/gh_mirrors/cl/claude-squad Claude Squad是一款能够帮助开…...
聊天记录全方位管理:WeChatMsg革新性本地数据解决方案
聊天记录全方位管理:WeChatMsg革新性本地数据解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...
SiameseUIE保姆级教程:3步部署nlp_structbert_siamese-uie_chinese-base
SiameseUIE保姆级教程:3步部署nlp_structbert_siamese-uie_chinese-base 信息抽取不再需要标注数据,一个模型搞定NER、关系抽取、事件抽取、情感分析四大任务 1. 什么是SiameseUIE?为什么值得一试 如果你正在处理中文文本信息抽取任务&#…...
开源工具权限重置指南:跨平台AI编程助手试用限制解决方案
开源工具权限重置指南:跨平台AI编程助手试用限制解决方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. …...
中兴B863AV3.2-M/B863AV3.1-M2_S905L3A_通刷_优化开机速度_指示灯绿色
中兴B863AV3.2-M/B863AV3.1-M2_S905L3A_通刷_优化开机速度_指示灯绿色线刷方法:1、准备好一根双公头USB线刷刷机线,长度30-50CM长度最佳,同时准备一台电脑;2、电脑上安装好刷机工具Amlogic USB Burning Tool 软件 →打…...
TurboDiffusion应用案例:让静态照片变动态视频的魔法
TurboDiffusion应用案例:让静态照片变动态视频的魔法 1. 从静态到动态的视觉革命 想象一下,你手机相册里那些珍贵的照片突然"活"了过来——海浪开始翻涌,树叶随风摇曳,人物的微笑变得更加生动。这就是TurboDiffusion带…...
