安装
yum install tinyproxy
#失败
dnf install tinyproxy
#失败
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
#成功
ubuntu 新系统
#设置密码
sudo passwd
#登录
su
#更新系统
apt-get update
apt-get upgrade
#安装tinyproxy
apt-get tinyproxy
1、设置tinyproxy
systemctl start tinyproxy.service #启动代理服务
systemctl enable tinyproxy.service #设置自启动
2、设置防火墙
apt-get install firewalld
systemctl start firewalld #打开防火墙
systemctl enable firewalld #设置防火墙自启动
firewall-cmd --zone=public --add-port=8888/tcp --permanent #设置8888端口开放
systemctl restart firewalld
#查看所有永久开放的port
firewall-cmd --list-ports --permanent
4、巨坑1
#阿里云轻量级服务器 要设置防火墙 开启端口 不是设置安全组
防火墙
防火墙
防火墙
重启
重启
重启
5、巨坑2
cd空格/etc
cd tinyproxy 当前文件夹下的目录 只用空格 不要/
tingproxy.conf 是在 etc/tinyproxy文件夹下 可以ls 一个一个文件夹查看
6、坑
#重启tinyproxy
systemctl start tinyproxy.service
#账号密码登录 注意冒号是英文冒号
url_all = 'http://' + user + ':' + passwd +'@' + 公网ip:port
tinyproxy.conf 翻译
MaxClients
Tinyproxy 为每一个连接的客户端创建一个子进程。 此选项指定可创建的最大进程数量。 也就是说,至多只有 MaxClients这么多个客户端可以同时连接到 Tinyproxy。
MinSpareServers, MaxSpareServers
Tinyproxy 始终保留一定数量的空闲子进程,以保证它可以快速处理新传入的客户端请求。 MinSpareServer 和 MaxSpareServers 控制备用进程数的最大值和最小值。即,当备用服务器的数量降至 MinSpareServers以下时,Tinyproxy 将在后台开始创建新的备用进程,而当备用进程的数量超过 MaxSpareServers 时,Tinyproxy 将杀死多余的进程。
StartServers
初始化启动的服务进程数。一般应将其设置为位于 MinSpareServers和 MaxSpareServers 之间的值。
MaxRequestsPerChild
此选项限制一个子进程在终止之前将会处理的最大连接数。 默认值为0,即无限制。此选项是在出现内存泄漏问题时可采取的紧急措施。 在这种情况下,请将 MaxRequestsPerChild 设置为例如1000 或 10000,可能会有用。
Allow, Deny
Allow和Deny选项用于自定义允许哪些客户端访问Tinyproxy。 Allow和Deny行可以在配置文件里重复出现,以构建Tinyproxy的访问控制列表。在配置文件中的顺序很重要。 如果没有 Allow 或 Deny 行,则允许任意的客户端。反之,默认的操作是拒绝访问。 允许或拒绝的参数可以配置为客户端主机的单个IP地址,例如 127.0.0.1,IP地址范围,例如 192.168.0.1/24,或将与客户端主机名尾端匹配的字符串, 可以是完整的主机名,例如 host.example.com,或域名,例如.example.com,或者顶级域名,例如.com。
BasicAuth root 123456
账号密码认证
AddHeader
配置一个或多个 HTTP 请求标头,用于添加到由 Tinyproxy 发出的 HTTP 请求中。 需要注意的是,此选项不适用于 HTTPS 流量,因为 Tinyproxy 无法控制要交换的标头。
AddHeader "X-My-Header" "Powered by Tinyproxy"
1
ViaProxyName
RFC 2616 要求代理将 Via 标头添加到 HTTP 请求中,但使用真实主机名可能会引起安全问题。 如果设置了 ViaProxyName 选项,其字符串值将用作 Via 标头中的主机名。 否则,将使用服务器的主机名。
DisableViaHeader
该选项设置为 yes 时,Tinyproxy 不会将 Via 标头添加到请求中。 这实际上就使 Tinyproxy 进入了隐身模式。请注意,RFC 2616 要求代理设置 Via 头,因此启用此选项会破坏合规性。 除非您知道自己在做什么,否则不要禁用 Via 标头…
Filter
Tinyproxy 支持基于 URL 或域的网站过滤。 此选项指定包含过滤规则的文件的位置,每行一条规则。
FilterURLs
如果此布尔选项设置为 Yes 或 On,则根据 URL 执行过滤,而不根据域执行过滤。默认设置为根据域进行过滤。
FilterExtended
如果此布尔选项设置为 Yes,则扩展的 POSIX 正则表达式将用来匹配过滤器规则。默认使用基本 POSIX 正则表达式。
FilterCaseSensitive
如果此布尔选项设置为 Yes,则过滤器规则匹配时会区分大小写。 默认匹配时不区分大小写。
FilterDefaultDeny
默认的过滤策略会允许所有与过滤规则不匹配的内容。 将 FilterDefaultDeny 设置为 Yes 会更改该策略,从而拒绝在过滤规则所匹配的域或URL之外的任何内容。
Anonymous
如果设置了 Anonymous 选项,则启用匿名代理。由 Anonymous 配置的标头被允许通过,其他标头会被拒绝。 如果未配置 Anonymous 选项,则允许所有标头通过。您必须给标头内容加上引号。
大多数站点都需要启用 cookie 才能正常工作,因此,如果您访问这种站点,需要允许 cookie 通过。
用法举例:
Anonymous "Host"
Anonymous "Authorization"
Anonymous "Cookie"
1
2
3
ConnectPort
此选项用于指定 CONNECT 方法所允许的端口。 如果找不到 ConnectPort 行,则允许所有端口。若要完全禁用 CONNECT,请仅设置一条值为 0 的 ConnectPort 选项行。
ReversePath
配置一条或多条 ReversePath 选项,以启用反向代理支持。 使用反向代理,可以使许多站点看起来像是单个站点的一部分。
配置以下指令,并在自己的计算机上的端口 8888上运行 Tinyproxy,则可以通过 http://localhost:8888/example/来访问站点 example.com。
ReversePath "/example/" "http://www.example.com/"
1
ReverseOnly
当把 Tinyproxy 用作反向代理时,强烈建议将此布尔选项设置为 Yes ,从而关闭普通代理功能。
ReverseMagic
将此选项设置为Yes,可让 Tinyproxy 使用 cookie 来跟踪反向代理的映射。 如果您需要反向具有绝对链接的代理站点,必须启用此选项。
ReverseBaseURL
用于访问此反向代理的URL地址。 该 URL 会被用于重写 HTTP 重定向地址,以使它们不会绕过代理。 如果您有一连串的反向代理,则需要在此处放置最外层的 URL(也就是终端用户在其浏览器中键入的地址)。如果未设置此选项,则不会修改重定向。
————————————————
版权声明:本文为CSDN博主「Young丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/agonie201218/article/details/126598411
可能的问题:curl: (35) TCP connection reset by peer
隐藏via头部 DisableViaHeader
查看返回的ip是不是服务器公网ip
import requests
headers = {"User-Agent": 'Chrome/94.0.4606.71 Safari/537.36 Edg/94.0.992.38'}
proxies = {
"http": "http://服务器公网IP:服务器开启的端口",
"https": "http://服务器公网IP:服务器开启的端口"
}
response = requests.get(url="https://httpbin.org/ip",proxies=proxies,headers=headers)
print(response.text)
#response = requests.get(url="http://httpbin.org/ip",proxies=proxies,headers=headers)
#显示的是本地pc ip
#response = requests.get(url="https://httpbin.org/ip",proxies=proxies,headers=headers)
#显示的是代理服务器 公网ip
PS:
proxies ={ 'http': url_all } 这里http ,url="http:// 这里也是http 不然代理无效
proxies ={ 'https': url_all } 这里https ,url="https:// 这里也是https 不然代理无效
黑名单、白名单设置
https://blog.csdn.net/qq_26502245/article/details/115973522
过滤规则配置示例
https://cloud.tencent.com/developer/article/1475747
其他tinyproxy.conf配置
https://www.jb51.cc/shell/396113.html
设置匿名
https://blog.csdn.net/Biu_Biu_Bi/article/details/125737901