群晖NAS代理及Emby配置

近日笔者在使用群晖NAS的v2rayA时遇到了时间同步不正确导致的无法正常使用的问题,导致emby无法刮削。虽然不知道原因,但也是个老问题了,版本很旧,而且用的是第三方软件市场的docker,现在docker也不能裸连获取了。下面是解决经验:

  1. 重新安装v2rayA
  2. 配置docker版的emby。

参考网站:

Linux 后备安装方式 - v2rayA

XTLS/Xray-core: Xray, Penetrates Everything. Also the best v2ray-core. Where the magic happens. An open platform for various uses.

群晖实现透明代理 - v2rayA

sjtuross/syno-iptables: Some missing iptables modules for Synology

群晖 DSM 7.2 为 Container Manager(docker)设置代理_群晖docker设置代理-CSDN博客

v2rayA

由v2rayA的官方文档可见,群晖并没有特别适配的版本,所以采用通用的二进制文件进行安装。既然裸连也无法从github上拉取文件,我们在电脑上下好传到NAS上。此外,下面的安装内容实则和文档略有不同。

  1. 拷贝v2rayA和xray

    1
    2
    3
    4
    
    cp v2raya_linux_x64 /usr/local/bin/v2raya
    cp xray /usr/local/bin/
    chmod +x /usr/local/bin/v2raya
    chmod +x /usr/local/bin/xray
    
  2. 拷贝xray自带的GFWList代理规则文件:geoip.datgeosite.dat

    1
    2
    3
    
    cd /usr/local/share
    mkdir xray
    cp .../g* xray
    
  3. 修改service配置文件

    1
    
    sudo vi /etc/systemd/system/v2raya.service
    

    内容由ChatGPT结合官方文档生成:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    
    [Unit]
    Description=v2rayA Service
    After=network.target
    
    [Service]
    Type=simple
    User=root
    Environment="V2RAYA_CONFIG=/usr/local/etc/v2raya"
    Environment="V2RAYA_LOG_FILE=/tmp/v2raya.log"
    Environment="XRAY_LOCATION_ASSET=/usr/local/share/xray"
    ExecStart=/usr/local/bin/v2raya --passcheckroot
    Restart=on-failure
    LimitNOFILE=1000000
    
    [Install]
    WantedBy=multi-user.target
    
  4. 激活v2rayA,根据官方文档,采用服务的形式运行

    1
    2
    
    sudo systemctl start v2raya
    sudo systemctl status v2raya
    

    配置开机自启。理论上这步之后配置完毕,笔者又顺便解决了群晖用不了透明代理的问题

    1
    2
    
    sudo systemctl enable v2raya
    sudo systemctl is-enabled v2raya
    
  5. 激活透明代理

    archkerneliptables versionsystem modelplatform version
    apollolake4.4.180+v1.8.3DS918+7.0.1-42218
    apollolake4.4.59+v1.6.0DS918+6.2.3-25426
    broadwell3.10.105v1.6.0DS3617xs6.2.3-25426
    bromolow3.10.105v1.6.0DS3615xs6.2.3-25426
    geminilake4.4.180+v1.8.3DS920+7.1-42661
    geminilake4.4.302+v1.8.3DS220+7.2-64570

    由于群晖系统的原因,先根据型号确定架构,然后从github仓库中下好的模块中选出适配机器的文件(比如笔者的DS224是geminilake)

    上传相应的ko模块至/lib/modules/,上传相应的so模块至/usr/lib/iptables/,即可。

    运行sudo -i之后再运行以下insmod命令尝试加载ko内核模块。由于模块互相有依赖性,需按一定顺序加载

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    insmod /lib/modules/nfnetlink.ko
    insmod /lib/modules/ip_set.ko
    insmod /lib/modules/ip_set_hash_ip.ko
    insmod /lib/modules/xt_set.ko
    insmod /lib/modules/ip_set_hash_net.ko
    insmod /lib/modules/xt_mark.ko
    insmod /lib/modules/xt_connmark.ko
    insmod /lib/modules/xt_comment.ko
    insmod /lib/modules/xt_TPROXY.ko
    insmod /lib/modules/xt_socket.ko
    insmod /lib/modules/iptable_mangle.ko
    insmod /lib/modules/textsearch.ko
    insmod /lib/modules/ts_bm.ko
    insmod /lib/modules/xt_string.ko
    
    insmod /lib/modules/nf_nat_ipv6.ko
    insmod /lib/modules/nf_nat_masquerade_ipv6.ko
    insmod /lib/modules/ip6t_MASQUERADE.ko
    insmod /lib/modules/ip6table_nat.ko
    insmod /lib/modules/ip6table_raw.ko
    insmod /lib/modules/ip6table_mangle.ko
    

    但是系统重启后,模块可能需要重新加载。而笔者不再使用透明代理,所以没再研究。

Emby

在配置好v2rayA后,即使采用了改配置文件的办法,emby的流量仍不能成功地通过v2rayA来走,各种修改配置ip后无果,于是自然想到是docker变成本机服务导致的。

在v2rayA上多次修改配置后,终于发现开启透明代理解决问题,同时也解决了连接不上Docker仓库的问题,但更大的问题是启用透明代理会使外网访问全部失败(亏好内网还能连接)。“透明代理”我想可以理解为“全局代理”。

Docker(Container Manager)单独设置代理的问题详见前言链接。

  1. 在“映像”中选中emby并运行,在“存储空间设置”中加入媒体库的路径,在“环境”中加入三个环境变量,“网络”中选择host模式:

    1
    2
    3
    
    HTTP_PROXY = http://127.0.0.1:20171
    HTTPS_PROXY = http://127.0.0.1:20171
    NO_PROXY = localhost,127.0.0.1
    
  2. 完成基本设置,安装好之前的动漫相关的插件,刮削成功。

comments powered by Disqus