Linux tinyproxy 使用教程
1.Linux环境变量详解2.Linux find命令详解3.Linux lsof命令详解4.Linux grep命令搜索神器详解5.一文吃透Linux htop命令6.Linux stdin、stdout和stderr详解7.Linux ps命令详解(不是PS)8.Linux 著名的sudo、su是什么?怎么用?9.Linux 查看磁盘信息:df与du命令详解10.Linux &&、& 各种操作符困惑? 看此文11.Linux 常用压缩命令全解,一次搞懂通关!12.Linux 硬链接和软链接怎么区分使用?13.推荐一款基于vim的超可扩展文本编辑器neovim14.Linux Systemd基础教程15.Linux rsync命令详解16.C获取程序名称的方法17.Linux ssh 基础教程18.Linux 如何查询命令的二进制文件位置?19.Linux 如何查看当前系统版本的详细信息?20.Linux 用户账户信息配置文件详解21.Linux Debian发行版系统包管理工具使用教程22.Linux dpkg命令详解23.Linux yum 包管理工具使用教程24.Linux sed 命令详解25.Linux awk 命令详解26.Linux dnf 包管理工具使用教程27.Linux netstat 命令详解28.Linux ss 命令详解29.Linux nc 命令详解30.Linux 用户与组基础教程31.Linux firewalld 命令详解32.Linux iptables 命令详解33.Linux 中如何使用Mosquitto MQTT?34.Linux xattr 命令详解35.Linux locate 命令详解36.Linux history 命令详解37.Linux sort 命令详解38.Linux下Certbot使用教程39.Linux ufw 命令详解40.Linux ifconfig ip 命令详解41.Linux setfacl lsattr chattr 命令详解42.Linux zsh基础用法43.Linux umask 命令详解44.Linux 如何设置特殊权限?45.Linux tmux 基础教程46.Linux pstree 命令详解
47.Linux tinyproxy 使用教程
48.Linux crontab 使用教程49.Linux procps-ng 包详解50.Linux xargs 命令使用教程51.Linux 比grep更快的ack命令详解52.Linux下比ack更快的ag搜索命令详解53.Linux axel 下载加速命令详解54.Linux 下的模糊查找神器 fzf 使用教程55.Linux pget 下载命令详解56.Linux ffmpeg 基础用法57.Linux 怎么在储存设备上创建文件系统?58.Linux 如何使用parted进行磁盘分区?59.Linux 如何使用dd命令来复制和转换数据?60.Linux 如何使用fdisk进行磁盘相关的操作?61.Linux pgrep 命令详解62.Linux lsblk 命令详解63.Linux pkill 命令使用详解64.Linux gdisk 命令使用详解65.Linux stat 命令使用详解66.Linux tr 命令使用详解67.Linux mpstat 命令使用详解68.Linux ifstat 命令使用详解69.Linux iostat 命令使用详解70.Linux zcat 命令使用详解71.Linux nmcli 命令使用详解72.Linux iftop 命令使用详解73.Linux 下使用更强的ripgrep来搜索74.Linux inode 详解75.Linux 下aria2 下载神器使用详解76.Linux nftables 命令使用详解77.Linux 磁盘挂载教程78.Linux sftp 使用详解79.Linux 性能更好的ftp客户端 lftp 使用详解80.Linux 使用nload 监控网络流量81.Linux 使用 cut 进行文本提取操作82.Linux 下使用ncdu更好的查看磁盘使用83.Linux 使用 sosreport 生成系统报告84.Linux 下使用tracepath进行网络诊断分析85.Linux 下使用vmstat监控系统性能86.Linux 下使用mtr命令来进行网络诊断87.Linux 下使用traceroute来进行网络诊断分析88.Linux 下使用nslookup和dig来查询域名和ip信息89.Linux 下使用tcpdump进行网络分析90.Linux 使用 partprobe 更新分区表91.Linux expr命令详解92.Linux egrep 命令使用详解93.Linux fgrep 命令使用详解简介
Tinyproxy
是一款轻量级 HTTP
代理服务器,使用最少的资源,非常适合硬件有限的系统。尽管体积小,但它可以处理大量流量,而不会出现明显的性能问题。旨在处理简单的代理任务。它通常用于路由网络流量以保护隐私、缓存或访问受限资源。
它的设计初衷是快速而小巧,是嵌入式部署等用例的理想解决方案。
Tinyproxy
占用空间小,并且只需要很少的系统资源。使用 glibc
时,内存占用大约为2 MB, CPU负载随着同时连接的数量线性增加(取决于连接的速度)。因此,Tinyproxy
可以在较旧的机器上运行,也可以在基于 Linux
的宽带路由器等网络设备上运行,而不会对性能产生任何明显影响。
安装
Debian/Ubuntu:
sudo apt update
sudo apt install tinyproxy
CentOS/RHEL/Fedora:
sudo yum install tinyproxy
sudo dnf install tinyproxy
MacOS
brew install tinyproxy
从 github
拉取源码后手动编译
./autogen.sh
./configure
make
make install
编译选项
--enable-debug
:启用完整的调试支持--enable-xtinyproxy
:编译对XTinyproxy
标头的支持--enable-filter
:允许Tinyproxy
过滤掉某些域名和URL
--enable-upstream
:启用上游代理支持--enable-transparent
:允许将Tinyproxy
用作透明代理守护程序--enable-reverse
:启用反向代理支持--with-stathost=HOST
:设置统计主机的默认名称
启动运行
启动 tinyproxy
systemctl start tinyproxy
设置开机自启动
systemctl enable tinyproxy
查看运行状态
systemctl status tinyproxy
如何配置 tinyproxy
?
tinyproxy
配置文件位于 /etc/tinyproxy/tinyproxy.conf
设置 tinyproxy
监听传入连接的端口(默认值:8888)
Port 8888
设置 tinyproxy
绑定到的网络接口(例如,localhost
仅供本地使用):
Listen 127.0.0.1:8888
指定 tinyproxy
应将传入连接绑定到哪个本地网络接口
# for IPv4
Bind 192.168.1.100
# for IPv6
Bind 2001:db8::1
# 绑定到本机
Bind 127.0.0.1
Port
、Listen
、Bind
比较
Port
仅绑定端口Bind
仅绑定网络接口或IP地址Listen
可以同时绑定IP地址和端口,一步到位Listen
的优先级最高,会覆盖Port
指定的端口
指定哪些 IP
地址可以使用代理
Allow 192.168.1.0/24
设置调试的日志级别
可用的级别有:Critical
、Error
、Warning
、Notice
、Connect
、Info
LogLevel Info
启用基本身份验证来限制访问
客户端在设置代理连接时需要输入用户名和密码
BasicAuth username password
修改代理发送的标头
AddHeader X-Proxy-Name "Tinyproxy"
通过创建过滤器列表来阻止指定的域名或URL
# 配置过滤器文件的位置
Filter "/etc/tinyproxy/filter"
在 /etc/tinyproxy/filter
文件配置示例:
可以使用基本正则表达式
facebook.com
example.com
# 精确过滤 cnn.com
^cnn\.com$
# 过滤 cnn.com 的所有子域名,但不过滤 cnn.com 本身
.*\.cnn.com$
# 过滤任何包含 cnn.com 的域名,例如
cnn\.com
# 过滤以 cnn.com 结尾的任何域名
cnn\.com$
# 过滤所有以 adserver 开头的域名
^adserver
将 tinyproxy
作为透明代理运行
TransparentProxy On
使用 iptables
重定向流量
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8888
tinyproxy
使用上游代理,将请求转发到另一个代理服务器上
Upstream http proxy.example.com:8080
Upstream https proxy.example.com:8443
把 tinyproxy
作为反向代理服务器
ReversePath "/api" "http://backend-server.local/"
配置 tinyproy
只作为反向代理服务器
关闭正常代理
ReverseOnly Yes
使 tinyproxy
使用 cookie
来跟踪反向代理映射
ReverseMagic Yes
设置 tinyproxy
的 PID
文件位置
PidFile "/var/run/tinyproxy/tinyproxy.pid"
指定 tinyproxy
在关闭空闲连接之前应等待的时间。
Timeout 600
限制同时连接到 tinyproxy
的客户端数量
MaxClients 100
启用 HTTPS
连接支持
ConnectPort 443
启用匿名模式来隐藏内部网络信息
Anonymous "headers"
查看 tinyproxy
日志
tail -f /var/log/tinyproxy/tinyproxy.log
使用 debug
模式启动 tinyproxy
sudo tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf
设置 tinyproxy
的日志文件位置
LogFile /var/log/tinyproxy.log
添加一个包含客户端 IP
地址的标头 X-Tinyproxy
XTinyproxy Yes
查看 tinyproxy
的版本
tinyproxy -v
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)