使用 linuxserver/firefox 实现外网网站加速访问

使用 linuxserver/firefox 实现外网网站加速访问

朱治龙
2024-07-09 / 0 评论 / 117 阅读 / 正在检测是否收录...

背景介绍

之前建设网站过程中,有部分域名ICP备案麻烦,就买了台新加坡的服务器搭了几个网站,基本上也没什么访问量。早些年还用这种服务器搭个梯子之类的,但是近些年对自建梯子管控越来越严了,自建梯子的情况极有可能出现IP被封的风险。

为了规避常规FQ软件的风险,在docker学习过程中发现有不少浏览器镜像,跑起来后可以直接通过浏览器访问docker容器内的浏览器服务,这样在规避风险的情况下,也能较方便的访问外网服务。

理论上他是一个服务器上的浏览器,将它跑在内网环境上之后,它自然就能够访问内网资源。服务器能访问什么网站就可以访问什么网站,所以。。。

搭建

我们使用 docker compose 来管理 我们的镜像服务,docker-compose.yml 目录的内容如下:

services:
  firefox:
      image: linuxserver/firefox:latest
      restart: unless-stopped
      container_name: firefox
      security_opt:
        - seccomp:unconfined #optional
      environment:
        - PUID=1000
        - PGID=100
        - TZ=Asia/Shanghai
        - LC_ALL=zh_CN.UTF-8
        - CUSTOM_USER=zhuzl # 用户名
        - PASSWORD=123456 # 密码
      ports:
        - 8100:3000
      volumes:
        - ./config:/config
        - /usr/share/fonts/chinese:/usr/share/fonts/chinese # 挂载中文字体目录,否则会出现中文乱码的问题
      shm_size: "1gb"

启动服务后,可在nginx配置代理,代理示例如下:


location ^~ /
{
    proxy_pass http://localhost:8100;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_fileNpPoblu9 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
        set $static_fileNpPoblu9 1;
        expires 1m;
        }
    if ( $static_fileNpPoblu9 = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

配置好后,可使用浏览器访问了,访问后初始界面如下:
firefox初始界面

优化配置

优化配置一:解决乱码问题

如果未挂载中文字体的话,会出现下面这种乱码情况:
lyduaxui.png
所以我们需要将中文字体文件拷贝到宿主机的某个目录,如 /usr/share/fonts/chinese,然后挂载到容器的 /usr/share/fonts/chinese 目录,这样在启动容器的时候就可以自动价值中文字体了。

优化配置二:安装翻译插件

由于我们访问的外网多为英文内容,为便于快速消化内容,可给浏览器安装翻译插件,我这里安装了功能强大的「沉浸式翻译」,官网是:https://immersivetranslate.com/,进入官网后,可以直接点击「Firefox扩展」,进入Firefox 应用商店直接安装,安装后就可以很方便的使用了:
沉浸式翻译插件

使用体验

整体访问速度上跟本地没什么蛮大区别,由于是基于KasmVNC的虚拟桌面技术,不能直接使用快捷键复制、粘贴内容,虽说设置中有「无缝剪切板」之类的开关,但是试了下也没效果,也有可能是我理解方面的问题吧:
KasmVNC配置

不过也可以使用 KasmVNC 自带的 剪贴板实现剪切板的读写:
KasmVNC 自带的 剪贴板实现剪切板的读写

有一点需要特别注意的: 一定不要关闭最后一个浏览器标签 ,否则就直接黑屏了。黑屏后的话,需要重启docker服务才能继续使用。

0

评论 (0)

取消