<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: jax</title>
    <description>The latest articles on DEV Community by jax (@ffzhub).</description>
    <link>https://dev.to/ffzhub</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1469305%2Fd5c6dcd4-26ee-4c88-9e59-7bd71a844550.jpg</url>
      <title>DEV Community: jax</title>
      <link>https://dev.to/ffzhub</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ffzhub"/>
    <language>en</language>
    <item>
      <title>Linux安装最新版Tinyproxy</title>
      <dc:creator>jax</dc:creator>
      <pubDate>Sat, 04 May 2024 23:22:31 +0000</pubDate>
      <link>https://dev.to/ffzhub/linuxan-zhuang-zui-xin-ban-tinyproxy-57i5</link>
      <guid>https://dev.to/ffzhub/linuxan-zhuang-zui-xin-ban-tinyproxy-57i5</guid>
      <description>&lt;p&gt;前言&lt;br&gt;
之前在Linux服务器安装过tinyproxy用于ip代理，但是yum安装的话，版本最高只到1.8.3，是不支持账号密码验证的，也就是说要么限制ip，不然任何人都能连。而到了1.10.0就支持Basic HTTP Authentication了，但是得通过编译安装。目前Github上最新的是1.11.1，本文是安装的简要教程。&lt;/p&gt;

&lt;p&gt;Tinyproxy介绍及yum安装教程见：使用Tinyproxy搭建HTTP(S)代理。&lt;/p&gt;

&lt;p&gt;安装及配置&lt;br&gt;
如果通过yum安装过1.8.3版本，得先卸载掉。&lt;/p&gt;

&lt;p&gt;yum erase tinyproxy&lt;br&gt;
以下是从Github下载安装最新版的命令。&lt;/p&gt;

&lt;h1&gt;
  
  
  获取安装包
&lt;/h1&gt;

&lt;p&gt;wget &lt;a href="https://github.com/tinyproxy/tinyproxy/releases/download/1.11.0/tinyproxy-1.11.0.tar.gz"&gt;https://github.com/tinyproxy/tinyproxy/releases/download/1.11.0/tinyproxy-1.11.0.tar.gz&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  解压安装包
&lt;/h1&gt;

&lt;p&gt;tar -zxvf tinyproxy-1.11.0.tar.gz&lt;/p&gt;

&lt;h1&gt;
  
  
  进入安装文件夹
&lt;/h1&gt;

&lt;p&gt;cd tinyproxy-1.11.0&lt;/p&gt;

&lt;h1&gt;
  
  
  编译并安装
&lt;/h1&gt;

&lt;p&gt;./configure&lt;br&gt;
make&lt;br&gt;
make install&lt;br&gt;
安装完成后可用以下命名查看路径和版本。&lt;/p&gt;

&lt;h1&gt;
  
  
  查看路径
&lt;/h1&gt;

&lt;p&gt;which tinyproxy&lt;br&gt;
/usr/local/bin/tinyproxy&lt;/p&gt;

&lt;h1&gt;
  
  
  查看版本，最新1.11.0
&lt;/h1&gt;

&lt;p&gt;tinyproxy -v &lt;br&gt;
tinyproxy 1.11.0&lt;br&gt;
修改配置文件，下面是安装后配置文件位置。&lt;/p&gt;

&lt;p&gt;vi /usr/local/etc/tinyproxy/tinyproxy.conf&lt;br&gt;
基本的配置可以见之前那篇文章，主要说下不同。&lt;/p&gt;

&lt;h1&gt;
  
  
  将下面直接注释掉，允许所有ip访问
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Allow 127.0.0.1
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Allow ::1
&lt;/h1&gt;

&lt;h1&gt;
  
  
  设置用户名密码
&lt;/h1&gt;

&lt;p&gt;BasicAuth username password&lt;/p&gt;

&lt;h1&gt;
  
  
  顺便将下面两行取消注释，后面有用到
&lt;/h1&gt;

&lt;p&gt;PidFile "/usr/local/var/run/tinyproxy/tinyproxy.pid"&lt;br&gt;
LogFile "/usr/local/var/log/tinyproxy/tinyproxy.log"&lt;br&gt;
保存配置文件后，使用下面的命令启动。&lt;/p&gt;

&lt;h1&gt;
  
  
  指定配置文件启动（后台启动）
&lt;/h1&gt;

&lt;p&gt;tinyproxy -c /usr/local/etc/tinyproxy/tinyproxy.conf&lt;br&gt;
启动后就可以测试下&lt;/p&gt;

&lt;h1&gt;
  
  
  不加验证参数不会正常返回
&lt;/h1&gt;

&lt;p&gt;curl -x &lt;a href="http://127.0.0.1:8888"&gt;http://127.0.0.1:8888&lt;/a&gt; &lt;a href="http://www.baidu.com"&gt;www.baidu.com&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  正常返回
&lt;/h1&gt;

&lt;p&gt;curl -x &lt;a href="http://username:password@127.0.0.1:8888"&gt;http://username:password@127.0.0.1:8888&lt;/a&gt; &lt;a href="http://www.baidu.com"&gt;www.baidu.com&lt;/a&gt;&lt;br&gt;
以上就是简要安装与配置，但是为了方便管理服务，得添加到系统服务。&lt;/p&gt;

&lt;p&gt;添加到系统服务&lt;/p&gt;

&lt;h1&gt;
  
  
  新建tinyproxy.service文件
&lt;/h1&gt;

&lt;p&gt;vi /usr/lib/systemd/system/tinyproxy.service&lt;/p&gt;

&lt;h1&gt;
  
  
  贴入以下代码
&lt;/h1&gt;

&lt;p&gt;[Unit]&lt;br&gt;
Description=Startup script for the tinyproxy server&lt;br&gt;
After=network.target&lt;/p&gt;

&lt;p&gt;[Service]&lt;br&gt;
Type=forking&lt;br&gt;
PIDFile=/usr/local/var/run/tinyproxy/tinyproxy.pid&lt;br&gt;
ExecStart=/usr/local/bin/tinyproxy -c /usr/local/etc/tinyproxy/tinyproxy.conf&lt;br&gt;
ExecReload=/bin/kill -HUP $MAINPID&lt;br&gt;
KillMode=process&lt;/p&gt;

&lt;p&gt;[Install]&lt;br&gt;
WantedBy=multi-user.target&lt;br&gt;
上面的配置文件直接仿照yum安装的1.8.3版的，会出现点问题，启动不了，因为tinyproxy配置文件里的log和pid文件不存在，得先通过以下命令创建。&lt;/p&gt;

&lt;p&gt;mkdir -p /usr/local/var/run/tinyproxy&lt;br&gt;
mkdir -p /usr/local/var/log/tinyproxy&lt;br&gt;
touch /usr/local/var/log/tinyproxy/tinyproxy.log&lt;br&gt;
touch /usr/local/var/run/tinyproxy/tinyproxy.pid&lt;br&gt;
然后就可以正常使用service命令了。&lt;/p&gt;

&lt;p&gt;service tinyproxy start    # 启动&lt;br&gt;
service tinyproxy stop     # 停止&lt;br&gt;
service tinyproxy restart  # 重启&lt;br&gt;
service tinyproxy status   # 状态&lt;/p&gt;

&lt;h1&gt;
  
  
  将tinyproxy服务设置开机自启
&lt;/h1&gt;

&lt;p&gt;sudo systemctl enable tinyproxy&lt;/p&gt;

&lt;p&gt;最后整理下命令：&lt;/p&gt;

&lt;h1&gt;
  
  
  复制以下命令，直接到修改tinyproxy.conf
&lt;/h1&gt;

&lt;p&gt;yum erase -y tinyproxy&lt;br&gt;
wget &lt;a href="https://github.com/tinyproxy/tinyproxy/releases/download/1.11.0/tinyproxy-1.11.0.tar.gz"&gt;https://github.com/tinyproxy/tinyproxy/releases/download/1.11.0/tinyproxy-1.11.0.tar.gz&lt;/a&gt;&lt;br&gt;
tar -zxvf tinyproxy-1.11.0.tar.gz&lt;br&gt;
cd tinyproxy-1.11.0&lt;br&gt;
./configure&lt;br&gt;
make&lt;br&gt;
make install&lt;br&gt;
vi /usr/local/etc/tinyproxy/tinyproxy.conf&lt;/p&gt;

&lt;h1&gt;
  
  
  修改后，使用以下命令，到编辑tinyproxy.service
&lt;/h1&gt;

&lt;p&gt;mkdir -p /usr/local/var/run/tinyproxy&lt;br&gt;
mkdir -p /usr/local/var/log/tinyproxy&lt;br&gt;
touch /usr/local/var/log/tinyproxy/tinyproxy.log&lt;br&gt;
touch /usr/local/var/run/tinyproxy/tinyproxy.pid&lt;br&gt;
vi /usr/lib/systemd/system/tinyproxy.service&lt;/p&gt;

&lt;h1&gt;
  
  
  粘贴以下代码
&lt;/h1&gt;

&lt;p&gt;====&lt;/p&gt;

&lt;p&gt;[Unit]&lt;br&gt;
Description=Startup script for the tinyproxy server&lt;br&gt;
After=network.target&lt;/p&gt;

&lt;p&gt;[Service]&lt;br&gt;
Type=forking&lt;br&gt;
PIDFile=/usr/local/var/run/tinyproxy/tinyproxy.pid&lt;br&gt;
ExecStart=/usr/local/bin/tinyproxy -c /usr/local/etc/tinyproxy/tinyproxy.conf&lt;br&gt;
ExecReload=/bin/kill -HUP $MAINPID&lt;br&gt;
KillMode=process&lt;/p&gt;

&lt;p&gt;[Install]&lt;br&gt;
WantedBy=multi-user.target&lt;/p&gt;

&lt;p&gt;====&lt;/p&gt;

&lt;h1&gt;
  
  
  保存后，再使用以下命令启动tinyproxy
&lt;/h1&gt;

&lt;p&gt;sudo systemctl enable tinyproxy&lt;br&gt;
service tinyproxy start&lt;br&gt;
service tinyproxy status&lt;/p&gt;

</description>
      <category>linux</category>
      <category>tinyproxy</category>
    </item>
  </channel>
</rss>
