当前位置: 首页 > article >正文

b4tman / docker-squid 可快速安装运行的、容器型代理服务器 + podman

使用容器部署,省时省力。

使用镜像,目前的最大麻烦就是之前各大镜像源纷纷关闭,需要自己找到合适的、安全的镜像源。

幸好 docker-squid 推广在 ghcr.io,目前下载没有障碍。

注:ghcr.io 是 GitHub Container Registry 的域名。GitHub Container Registry 是 GitHub 提供的容器镜像注册表服务,允许开发者在 GitHub 上存储、管理和分享 Docker 镜像。

docker-squid 有 3 种版本

  > https://github.com/b4tman/docker-squid 

容器文件小

Docker Squid container based on Alpine Linux. 基于 Alpine,Size 只有 29.5MB。

有 3 种不同的版本

   DockerHub:
        b4tman/squid  # 官方给出的命令例子,应该是从这里来的吧?但是,它在墙外?
    Github:
        ghcr.io/b4tman/squid  # 最新版 ?
        ghcr.io/b4tman/squid-armhf  # arm 版
        ghcr.io/b4tman/squid-ssl-bump  # ssl-bump 版 ?

安装容易

1. linux 发行版,一般在官方仓库里都有 podman

sudo apt install podman

既然是代理,那么,肯定的有服务器吧?如果是 linux 服务器的话,安装 podman 就是一句命令就可以搞定了。

2. 下载镜像

squid-ssl-bump  Package squid-ssl-bump · GitHub 

podman pull ghcr.io/b4tman/squid-ssl-bump:latest

3. 创建数据卷

podman volume create volume1

 注意:没有数据卷,容器不能启动运行。

命令用法摘录:

# 创建数据卷
podman volume ls
podman volume create volume1
find / -name volume1

# 查看数据卷
podman volume inspect web
podman inspect centos1 | grep web

4. 查看上条命令所创建出来数据卷的绝对路径。相对路径好像 NG ?

记住红色字体部分的路径,不包括最后的 /_data

$ podman volume inspect volume1
[
    {
        "Name": "volume1",
        "Driver": "local",
        "Mountpoint": "/home/mypc/.local/share/containers/storage/volumes/volume1/_data",
        "CreatedAt": "2024-11-09T15:42:36.750447413+08:00",
        "Labels": {},
        "Scope": "local",
        "Options": {}
    }
]

5. 官方给出的运行命令 Example:

  https://github.com/b4tman/docker-squid/pkgs/container/squid-ssl-bump 

docker run -p 3128:3128 \
    --env='SQUID_CONFIG_FILE=/etc/squid/my-squid.conf' \
    --volume=/srv/docker/squid/squid.conf:/etc/squid/my-squid.conf:ro \
    b4tman/squid

 主要有 4 个地方要注意

  • docker :改为 podman
  • my-squid.conf :改成自己的
  • /srv/docker/squid/squid.conf :改成自己的数据卷的绝对路径,上面步骤 4?
  •  b4tman/squid 的改发,如下:

$ podman images
REPOSITORY                          TAG                        IMAGE ID      CREATED      SIZE
ghcr.io/b4tman/squid-ssl-bump       latest                     50345g3d64  50 days ago   29.5 MB

b4tman/squid  改为:ghcr.io/b4tman/squid-ssl-bump:latest 

6. 修改配置文件

/etc/squid/my-squid.conf  # 自己建一个就好。

官方 squid.conf  配置文件,假如想要,则 sudo apt install squid 安装,然后,到 /etc/squid/ 目录下,可以找到 squid.conf 。

7. 运行,结果如下 OK

 podman run -p 3128:3128        --env='SQUID_CONFIG_FILE=/etc/squid/my-squid.conf'      --volume=/home/mypc/.local/share/containers/storage/volumes/volume1/squid.conf:/etc/squid/my-squid.conf:ro       ghcr.io/b4tman/squid-ssl-bump:latest

$ podman run -p 3128:3128        --env='SQUID_CONFIG_FILE=/etc/squid/my-squid.conf'      --volume=/home/mypc/.local/share/containers/storage/volumes/volume1/squid.conf:/etc/squid/my-squid.conf:ro       ghcr.io/b4tman/squid-ssl-bump:latest
+ '[' '!' -d /var/cache/squid/ssl_db ]
+ /usr/lib/squid/security_file_certgen -c -s /var/cache/squid/ssl_db -M 4MB
Initialization SSL db...
Done
+ /usr/sbin/squid -f /etc/squid/my-squid.conf --foreground -z
2024/10/09 22:28:45| Processing Configuration File: /etc/squid/my-squid.conf (depth 0)
2024/10/09 22:28:45| Created PID file (/var/run/squid/squid.pid)
2024/10/09 22:28:45 kid1| Processing Configuration Fil

# 省略

2024/10/09 14:50:31 kid1| Accepting HTTP Socket connections at conn3 local=[::]:3128 remote=[::] FD 11 flags=9
    listening port: 3128
2024/10/09 14:50:32 kid1| storeLateRelease: released 0 objects

8. 具体的优化,在一步一步搞了。


http://www.kler.cn/a/388358.html

相关文章:

  • 《解析 MXNet 的 C++版本在分布式训练中的机遇与挑战》
  • 深度分析java 使用 proguard 如何解析混淆后的堆栈
  • EdgeX Core Service 核心服务之 Core Command 命令
  • React第十八节 useEffect 用法使用技巧注意事项详解
  • 自动控制系统综合与LabVIEW实现
  • 深入探讨 Go 中的高级表单验证与翻译:Gin 与 Validator 的实践之道20241223
  • contos7.9 部署3节点 hadoop3.4 集群 非高可用
  • 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--访问权限中间件
  • 深度学习:NAT Decoder 详解
  • 【GPTs】EmojiAI:轻松生成趣味表情翻译
  • Java进阶嵌套循环:十.冒泡与选择算法排序
  • 命令行工具PowerShell使用体验
  • 【C++】STL中的list容器详解及常用函数用法
  • UOS启动器
  • CI/CD 实践总结
  • HTB:Explore[WriteUP]
  • [Android]查找java类中声明为native方法的具体实现方法
  • 「QT」几何数据类 之 QPolygon 多边形类
  • 增删改查基础项目总结
  • 智能机器人技术:AI 如何赋予机器智能行动
  • 如何使用 Puppeteer 和 Browserless 抓取亚马逊产品数据?
  • 【SQL实验】更新操作
  • 量子计算及其在密码学中的应用
  • Element UI组件Dialog显示闪动问题【解决方案】
  • The First项目报告:MANTRA如何实现世界金融区块链化?
  • 统信UOS开发环境支持Perl