x-cmd pkg | frp - 内网穿透工具

news2024/9/23 23:35:30

简介

frp(Fast Reverse Proxy)是一个专注于内网穿透的高性能反向代理应用,可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

它采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。此外,还可以通过 xtcp 实现 P2P 通信。

注意:将内网服务暴露至公网时需要谨慎考虑安全性,确保要有适当的身份验证和访问控制,以防止未经授权的访问。

首次用户

  1. 使用 x env use frp 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 frp 命令常用功能的 demo 示例,可以帮你快速上手 frp 。

  3. 使用案例:

    frp-1min-cn

    # 安装 frp
    x env use frp
    
    # 配置 TCP 类型的代理,使用户能够访问内网服务器
    # 创建公网服务器端 frp 配置文件,如下述 frps.ini 文件:
    [common]
    bind_addr = 0.0.0.0
    bind_port = 7000
    
    # 在公网服务器上运行 frps
    frps -c ./frps.ini
    
    # 创建内网客户端 frp 配置文件,如下述 frpc.ini 文件:
    [common]
    server_addr = your_server_ip
    server_port = 7000
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
    # 在内网机器上运行 frpc
    frpc -c ./frpc.ini
    
    # 通过 SSH 访问内网机器,假设用户名为 test
    ssh -o Port=6000 test@your_server_ip
    

功能特点

  1. 支持多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。
  2. TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。
  3. 端口复用:多个服务可以通过同一个服务端端口暴露。
  4. P2P 通信:流量不必经过服务器中转,充分利用带宽资源。
  5. 客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。
  6. 服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。
  7. 用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。

竞品和相关作品

  1. ngrok: 另一个创建安全本地隧道的流行工具,提供类似于 frp 的功能。
  2. SSH Tunnel: SSH 隧道也可用于创建安全连接和端口转发。

进一步探索

  • frp 源代码 - frp 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 frp 和参与社区贡献。
  • Getting started: frp - 官方提供的 frp 快速上手文档,内容详实,包含多个常见的使用场景和配置示例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1404210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

身份验证遇到问题,登陆ChatGPT时提示:“we ran into an issue while authenticating you…”

oops! we ran into an issue while authenticating you, if this issue persists, please contact us through our help center at help.openai.com 说明:哎呀!我们在验证您的身份时遇到了一个问题,如果这个问题仍然存在&#xff…

【Linux】【实战系列】10 分钟掌握日常开发中 Linux 网络处理相关命令

文章目录 lsofnetstatpingnslookupsshssh-keygenscpsftp 网络工具 curl网络工具 wget最后个人简介 hello,大家好,我是 Lorin,上一期和大家分享一期日常开发中常用的 Linux 文件和文本命令实战教学,这一期给大家带来常用的网络处理…

五、垃圾回收

1. 垃圾回收基础 1.1 什么是垃圾 简单说就是:内存中已经不再被使用到的内存空间就是垃圾。 1.2 如何判定是垃圾 1.2.1 引用计数法 引用计数法:给对象添加一个引用计数器,有访问就 1,引用失效就 -1 引用计数法的优缺点&#…

docker容器下php框架laravel的使用问题与解决方案

DB_CONNECTIONmysqlDB_HOSTlocalhost DB_CONNECTIONmysqlDB_HOSTdocker33-mysql-1 容器中只有数据库结构 进入MySQL容器内,创建表结构,添加数据 代码层面需要转换成数组 $query->get([*])->toArray(); 分页数据框架会返回带有data的数据&#xf…

【QT+QGIS跨平台编译】之六:【LZMA+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、lzma介绍二、文件下载三、文件分析四、pro文件五、编译实践一、lzma介绍 LZMA(Lempel-Ziv-Markov chain-Algorithm的缩写),是一个Deflate和LZ77算法改良和优化后的压缩算法。 libLzma是基于LZMA压缩算法封装的开源库。2001年被首次应用于7-Zip压缩工具中,是 …

vscode设置terminal的最大行数

今天跑代码出现一个问题,就是整个程序跑完,整个程序的输出信息过多,最开始输出的信息已经被vscode的缓存冲掉了,只能看到最后的一部分,具体的原因是vscode的terminal默认只能保存1000行的信息,所以如果想保…

C# 获取QQ会话聊天信息

目录 利用UIAutomation获取QQ会话聊天信息 效果 代码 目前遇到一个问题 其他解决办法 利用UIAutomation获取QQ会话聊天信息 效果 代码 AutomationElement window AutomationElement.FromHandle(get.WindowHwnd); AutomationElement QQMsgList window.FindFirst(Tr…

大模型实战营Day5笔记

大模型部署背景 大模型部署是指将训练好的模型在特定的软硬件环境中启动的过程,使模型能够接收输入并返回预测结果。大模型的内存开销巨大,7B模型仅权重需要14G内存。另外大模型是自回归生成,需要缓存Attention的 k/v。 LMDeploy 简…

HCIA——23DNS层次域名空间、域名服务器、域名解析的原理的选择、解答

学习目标: 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

Oracle 19c 配置并启用PDB数据库

一、问题发现 在Oracle 19c多租户环境中,默认情况下,使用startup命令启动数据库实例后,你会发现PDB数据库的状态为MOUNT状态,PDB不会随着CDB启动而启动。 二、查看当前使用的数据库类型 使用sqlplus以管理员身份登录数据库 sqlplus / as s…

Git教程-搭建服务器上GitBlit代码仓库(超详细)

在日常编码时,我常常会有将代码保存到云端的需求,因此我选择将 Git 安装在我的 云服务器上,通过在服务器上搭建 GitBlit 服务,配合本地使用 TortoiseGit 上传代码,实现跨设备的云端代码版本管理。本篇文章将介绍如何在…

Camera 基础知识

一、Camera 基础知识 1.1 Camera 工作原理 外部光线穿过镜头Lens 后, 经过 Color Filter 滤波后照射到CMOS Sensor 上, CMOS Sensor 将从 Lens 上传导过来的光线转换为电信号,再通过内部的AD模数转换,转换为数字信号。如果 Sens…

unity项目《样板间展示》开发:火焰和UI设计

第二章:火焰和UI设计 前言一、火焰模型管理灶台火焰壁炉火焰 二、电视机播放三、UI设计结语 前言 这次带大家从0到1做一个unity项目:《样板间展示》。 顾名思义,项目内容是展示样板间,即玩家可以与房间中的物体、家具进行交互。 至…

【网络安全 -> 防御与保护】信息安全概述

目录 一、信息安全现状及挑战 二、信息安全脆弱性及常见安全攻击 1、网络环境的开放性 2、协议栈的脆弱性及常见攻击 3、操作系统的脆弱性及常见攻击 4、终端的脆弱性及常见攻击 5、其他常见攻击 三、信息安全要素 四、整体安全解决方案 一、信息安全现状及挑战 &…

51单片机LED点阵屏

LED点阵屏 LED点阵屏是一种由许多小型LED灯组成的矩阵式显示屏。这些LED灯可以是单色、双色或全彩的,它们排列成行和列的网格,可以根据需要点亮来显示图像、文字或动画等内容。LED点阵屏广泛应用于户外广告牌、室内显示、交通信号灯、电子价格标签和其他…

gradle打包分离依赖jar

正常打包的jar是包含项目所依赖的jar包资源,而且大多数场景下的依赖资源是不会频繁的变更的,所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身,减小上传的jar包总大小,能实现加速部署的效果 一 原本结构 二 配置buil…

CSS 蜡烛效果

<template><view class="holder"><!-- 身子 --><view class="candle"><!-- 光源 --><view class="blinking-glow"></view><!-- 火星子 --><view class="thread"></view>…

【Python时序预测系列】基于Holt-Winters方法实现单变量时间序列预测(源码)

一、引言 Holt-Winters是一种经典的时序序列预测方法&#xff0c;用于对具有季节性和趋势性的数据进行预测。在这种方法中&#xff0c;使用三个组件来建模时序数据&#xff1a;趋势&#xff08;Trend&#xff09;、季节性&#xff08;Seasonality&#xff09;和残差&#xff0…

项目实战——Qt实现FFmpeg音视频转码器

文章目录 前言一、移植 FFmpeg 相关文件二、绘制 ui 界面三、实现简单的转码四、功能优化1、控件布局及美化2、缩放界面3、实现拖拽4、解析文件5、开启独立线程6、开启定时器7、最终运行效果 五、附录六、资源自取 前言 本文记录使用 Qt 实现 FFmepg 音视频转码器项目的开发过…