找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 7049|回复: 12

aria2的配置文件根本无法修改, 断电重启, 又恢复出厂设置!

[复制链接]
发表于 2020-5-7 03:08 | 显示全部楼层 |阅读模式
本人, 新3路由器, 刷的openwrt,    想修改aria2的配置文件, 可是断电, 重启了, 配置文件又变回原来的设置,   也就是, 断电重启了, 你根本就没有修改!  想问哪个大哥, 是不是也碰到我一样的问题?你们是怎么解决的?




aria2.conf.main,  修改这个文件, 只要断电重启, 都变回原来的设置, 根本没办法修改!或者说, 断电重启, 你修改的文件消失了!!!它又自动生成一个和原来里面内容设置一模一样的文件!! 简直遇到鬼了!
aria2.session.main ,这个文件是保存下载记录的, 只要断电重启, 也瞬间变0,没有任何记录, 那就要修改配置文件(aria2.conf.main), 可是你修改了这个配置文件, 断电重启路由, 一样等于没修改, 那现在就是个死循环!!!


只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2020-5-7 03:35 | 显示全部楼层
/etc/config/和/etc/init.d/目录下找找aria2的线索

点评

在你回复下面, 已经贴出, 两个目录下aria2的文件内容, 请看下面回复的贴子  详情 回复 发表于 2020-5-7 06:47
这两个目录下, 的确, 分别有aria2这个文件, 小第不才, 我把这两个文件内容, 贴上来看, 您帮我看看  详情 回复 发表于 2020-5-7 06:43
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-7 06:43 | 显示全部楼层
q741451 发表于 2020-5-7 03:35
/etc/config/和/etc/init.d/目录下找找aria2的线索

这两个目录下, 的确, 分别有aria2这个文件, 小第不才, 我把这两个文件内容, 贴上来看, 您帮我看看
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-7 06:44 | 显示全部楼层
/etc/config/下的aria2文件内容, 如下



config aria2 'main'
        option user 'aria2'
        option config_dir '/var/etc/aria2'
        option bt_enable_lpd 'true'
        option enable_dht 'true'
        option follow_torrent 'true'
        option file_allocation 'none'
        option save_session_interval '30'
        list header ''
        list extra_settings ''
        option enabled '1'
        option rpc_auth_method 'none'
        option enable_log 'false'
        option dir '/mnt/sda1'
        option disk_cache '20M'


只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-7 06:45 | 显示全部楼层
/etc/init.d/下的的aria2文件内容, 如下



#!/bin/sh /etc/rc.common
# Copyright (C) 2016-2017 Hsing-wang Liao <kuoruan@gmail.com>
# Licensed to the public under the Apache License 2.0.

START=99
USE_PROCD=1

NAME=aria2
PROG=/usr/bin/aria2c

_info() {
        logger -p daemon.info -t "$NAME" "$*"
}

_err() {
        logger -p daemon.err -t "$NAME" "$*"
}

_make_dir() {
        local d
        for d in "$@"; do
                if [ ! -d "$d" ]; then
                        mkdir -p "$d" 2>/dev/null || return 1
                fi
        done

        return 0
}

_create_file() {
        touch "$@" 2>/dev/null
}

_change_owner() {
        local u="$1"; shift

        local d
        for d in "$@"; do
                if [ -f "$d" ]; then
                        chown "$u" "$d" 2>/dev/null || return 1
                elif [ -d "$d" ]; then
                        chown -R "$u" "$d" 2>/dev/null || return 1
                fi
        done

        return 0
}

_change_file_mode() {
        local mod="$1"; shift
        chmod "$mod" "$@" 2>/dev/null
}

_reset_dir_mode() {
        local d
        for d in "$@"; do
                if [ -d "$d" ]; then
                        find "$d" -type d -exec chmod 755 {} \; 2>/dev/null
                        find "$d" -type f -exec chmod 644 {} \; 2>/dev/null
                fi
        done
}

append_options() {
        local o; local v
        for o in "$@"; do
                v="$(eval echo "\$$o")"
                [ -n "$v" ] && \
                        echo "${o//_/-}=$v" >>"$config_file_tmp"
        done
}

append_setting() {
        local s="$1"
        [ -n "$s" ] && \
                echo "$s" >>"$config_file_tmp"
}

append_header() {
        local h="$1"
        [ -n "$h" ] && \
                echo "header=\"${h}\"" >>"$config_file_tmp"
}

aria2_validate() {
        uci_validate_section "$NAME" aria2 "$1" \
                'enabled:bool:0' \
                'enable_logging:bool' \
                'enable_proxy:bool' \
                'config_dir:string:/var/etc/aria2' \
                'user:string' \
                'all_proxy:string' \
                'all_proxy_passwd:string' \
                'all_proxy_user:string' \
                'auto_save_interval:range(0,600)' \
                'bt_enable_lpdr("true","false")' \
                'bt_max_open_files:uinteger' \
                'bt_max_peers:uinteger' \
                'bt_remove_unselected_filer("true","false")' \
                'bt_request_peer_speed_limit:string' \
                'bt_save_metadatar("true","false")' \
                'bt_seed_unverifiedr("true","false")' \
                'bt_stop_timeout:uinteger' \
                'bt_tracker:list(string)' \
                'ca_certificate:file' \
                'certificate:file' \
                'check_certificater("true","false"):true' \
                'connect_timeout:uinteger' \
                'dht_listen_port:string' \
                'dir:string' \
                'disable_ipv6r("true","false")' \
                'disk_cache:string' \
                'enable_dhtr("true","false"):true' \
                'enable_dht6r("true","false")' \
                'enable_peer_exchanger("true","false")' \
                'event_pollr("epoll","kqueue","port","poll","select")' \
                'file_allocationr("none","prealloc","trunc","falloc")' \
                'follow_torrentr("true","false","mem")' \
                'force_saver("true","false")' \
                'http_accept_gzipr("true","false")' \
                'http_no_cacher("true","false")' \
                'listen_port:string' \
                'log:string' \
                'log_levelr("debug","info","notice","warn","error")' \
                'lowest_speed_limit:string' \
                'max_concurrent_downloads:uinteger' \
                'max_connection_per_server:uinteger' \
                'max_download_limit:string' \
                'max_overall_download_limit:string' \
                'max_overall_upload_limit:string' \
                'max_tries:uinteger' \
                'max_upload_limit:string' \
                'min_split_size:string' \
                'pauser("true","false")' \
                'pause_metadatar("true","false")' \
                'peer_id_prefix:string' \
                'private_key:file' \
                'retry_wait:uinteger' \
                'rpc_auth_methodr("none","user_pass","token")' \
                'rpc_certificate:file' \
                'rpc_listen_port:range(1024,65535)' \
                'rpc_passwd:string' \
                'rpc_private_key:file' \
                'rpc_secret:string' \
                'rpc_securer("true","false")' \
                'rpc_user:string' \
                'save_session_interval:uinteger' \
                'seed_ratio:ufloat' \
                'seed_time:ufloat' \
                'split:uinteger' \
                'timeout:uinteger' \
                'user_agent:string'
}

aria2_start() {
        local section="$1"
        aria2_validate "$section" || { _err "Validation failed."; return 1; }

        [ "$enabled" = "1" ] || { _info "Instance \"${section}\" disabled."; return 1; }
        [ -n "$dir" ] || { _err "lease set downlod dir."; return 1; }
        [ -d "$dir" ] || { _err "lease create downlod dir first."; return 1; }

        config_file="${config_dir}/${NAME}.conf.${section}"
        config_file_tmp="${config_dir}/${NAME}.conf.tmp"
        session_file="${config_dir}/${NAME}.session.${section}"

        _make_dir "$config_dir" || {
                _err "Can't create config dir: ${config_dir}"
                return 1
        }

        _create_file "$session_file" "$config_file" "$config_file_tmp" || {
                _err "Can't create files: ${session_file}, ${config_file}, ${config_file_tmp}"
                return 1
        }

        # create tmp file
        cat >"$config_file_tmp" <<-EOF
                # Auto generated file, changes to this file will lost.
        EOF

        append_setting "dir=${dir}"
        append_setting "enable-rpc=true"
        append_setting "rpc-allow-origin-all=true"
        append_setting "rpc-listen-all=true"
        append_setting "quiet=true"
        append_setting "continue=true"
        append_setting "input-file=${session_file}"
        append_setting "save-session=${session_file}"

        if [ -z "$enable_logging" ]; then
                append_options "log" "log_level"
        elif [ "$enable_logging" = "1" ]; then
                log=${log:-"/var/log/aria2.log"}

                local log_dir
                log_dir="$(dirname "$log")"

                _make_dir "$log_dir" || {
                        _err "Can't create log dir: ${log_dir}"
                        return 1
                }

                # create or clear log file
                echo >"$log"

                append_setting "log=${log}"
                append_options "log_level"
        fi

        if [ -z "$enable_proxy" ] || [ "$enable_proxy" = "1" ]; then
                append_options "all_proxy" "all_proxy_user" "all_proxy_passwd"
        fi

        unset_auth_method() {
                uci -q batch <<-EOF
                        set ${NAME}.${section}.rpc_auth_method=""
                        commit $NAME
                EOF
        }

        if [ -z "$rpc_auth_method" ]; then
                if [ -n "$rpc_secret" ]; then
                        append_setting "rpc-secret=${rpc_secret}"
                elif [ -n "$rpc_user" ]; then
                        append_setting "rpc-user=${rpc_user}"
                        append_setting "rcp-passwd=${rcp-passwd}"
                else
                        _info "It is recommand to set RPC secret."
                fi
        elif [ "$rpc_auth_method" = "token" ]; then
                if [ -n "$rpc_secret" ]; then
                        append_setting "rpc-secret=${rpc_secret}"
                else
                        unset_auth_method
                fi
        elif [ "$rpc_auth_method" = "user_pass" ]; then
                if [ -n "$rcp_user" ]; then
                        append_setting "rpc-user=${rpc_user}"
                        append_setting "rcp-passwd=${rcp-passwd}"
                else
                        _info "lease set RPC user."
                        unset_auth_method
                fi
        fi

        if [ ."$rpc_secure" = ."true" ] && [ -n "$rpc_certificate" ]; then
                append_setting "rpc-secure=true"
                append_options "rpc_certificate" "rpc_private_key"
        fi

        if [ ."$check_certificate" = ."true" ]; then
                append_setting "check-certificate=true"
                append_options "ca_certificate"
        fi

        if [ ."$enable_dht" = ."true" ]; then
                dht_file="${config_dir}/dht.dat.${section}"
                _create_file "$dht_file" || {
                        _err "Can't create DHT file: ${dht_file}"
                        return 1
                }

                append_setting "enable-dht=true"
                append_setting "dht-file-path=${dht_file}"
        fi

        if [ ."$enable_dht6" = ."true" ] && [ ."$disable_ipv6" != ."true" ]; then
                dht6_file="${config_dir}/dht6.dat.${section}"
                _create_file "$dht6_file" || {
                        _err "Can't create DHT6 file: ${dht6_file}"
                        return 1
                }

                append_setting "enable-dht6=true"
                append_setting "dht-file-path6=${dht6_file}"
        fi

        if [ -n "$bt_tracker" ]; then
                local bt_tracker_list; local t
                for t in $bt_tracker; do
                        if [ -z "$bt_tracker_list" ]; then
                                bt_tracker_list="$t"
                        else
                                bt_tracker_list="${bt_tracker_list},${t}"
                        fi
                done

                append_setting "bt-tracker=${bt_tracker_list}"
        fi

        append_options "auto_save_interval" "bt_enable_lpd" "bt_max_open_files" "bt_max_peers" \
                "bt_remove_unselected_file" "bt_request_peer_speed_limit" "bt_save_metadata" "bt_seed_unverified" \
                "bt_stop_timeout" "certificate" "connect_timeout" "dht_listen_port" "disable_ipv6" "disk_cache" \
                "enable_peer_exchange" "event_poll" "file_allocation" "follow_torrent" "force_save" "http_accept_gzip" \
                "http_no_cache" "listen_port" "lowest_speed_limit" "max_concurrent_downloads" "max_connection_per_server" \
                "max_download_limit" "max_overall_download_limit" "max_overall_upload_limit" "max_tries" \
                "max_upload_limit" "min_split_size" "pause" "pause_metadata" "peer_id_prefix" "private_key" \
                "retry_wait" "rpc_listen_port" "save_session_interval" "seed_ratio" "seed_time" "split" "timeout" \
                "user_agent"

        config_list_foreach "$section" "header" append_header
        config_list_foreach "$section" "extra_settings" append_setting

        sed '/^$/d' "$config_file_tmp" >"$config_file"
        rm -f "$config_file_tmp"

        _reset_dir_mode "$config_dir"
        _change_file_mode 600 "$config_file"

        if [ -n "$user" ]; then
                if ( user_exists "$user" && _change_owner "$user" "$config_dir" "$log" ); then
                                _info "Aria2 will run with uer '${user}'."
                                if [ "$user" != "root" ]; then
                                        _info "lease make sure user '${user}' has write access to downlod dir: ${dir}"
                                fi
                else
                        _info "Set run user to '${user}' failed, default user will be used."
                        user=
                fi
        fi

        procd_open_instance "${NAME}.${section}"
        procd_set_param command "$PROG"
        procd_append_param command --conf-path="${config_file}"

        procd_set_param respawn
        procd_set_param stdout 1
        procd_set_param stderr 1

        procd_set_param file "$config_file"
        [ -n "$user" ] && \
                procd_set_param user "$user"

        procd_add_jail "${NAME}.${section}" log
        procd_add_jail_mount "$config_file"
        procd_add_jail_mount_rw "$dir" "$config_dir" "$log"
        procd_close_instance
}

service_triggers() {
        procd_add_reload_trigger "$NAME"
}

start_service() {
        config_load "$NAME"
        config_foreach aria2_start "aria2"
}
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-7 06:47 | 显示全部楼层
q741451 发表于 2020-5-7 03:35
/etc/config/和/etc/init.d/目录下找找aria2的线索

在你回复下面, 已经贴出, 两个目录下aria2的文件内容, 请看下面回复的贴子

点评

/etc/config/下的才是永久配置,别的可能都是通过/etc/config/下的配置开机自动生成的,至于/etc/config/怎么改,得自己摸索了  详情 回复 发表于 2020-5-7 16:10
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2020-5-7 16:10 | 显示全部楼层
nato1984 发表于 2020-5-7 06:47
在你回复下面, 已经贴出, 两个目录下aria2的文件内容, 请看下面回复的贴子


/etc/config/下的才是永久配置,别的可能都是通过/etc/config/下的配置开机自动生成的,至于/etc/config/怎么改,得自己摸索了
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-8 01:58 | 显示全部楼层
我的天, 有没有人解决了这个问题的?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2020-5-8 15:35 | 显示全部楼层
我使用 软路由, 修改 /etc/config/aria2 即可

点评

我的/etc/config/aria2 的文件内容, 你看一下, 应该怎么修改? config aria2 'main' option user 'aria2' option config_dir '/var/etc/aria2' option bt_enable_lpd 'true' option enable_dht 'true'  详情 回复 发表于 2020-5-8 16:08
为什么我的是/var/etc/aria2 ?  详情 回复 发表于 2020-5-8 16:04
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-8 16:04 | 显示全部楼层
k7262140 发表于 2020-5-8 15:35
我使用 软路由, 修改 /etc/config/aria2 即可

为什么我的是/var/etc/aria2  ?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2020-5-8 16:08 | 显示全部楼层
k7262140 发表于 2020-5-8 15:35
我使用 软路由, 修改 /etc/config/aria2 即可

我的/etc/config/aria2 的文件内容, 你看一下, 应该怎么修改?

config aria2 'main'
        option user 'aria2'
        option config_dir '/var/etc/aria2'
        option bt_enable_lpd 'true'
        option enable_dht 'true'
        option follow_torrent 'true'
        option file_allocation 'none'
        option save_session_interval '30'
        list header ''
        option rpc_auth_method 'none'
        option dir '/mnt/sda5'
        option disk_cache '20M'
        option enable_log 'false'
        option enabled '1'

点评

option config_dir '/var/etc/aria2' /var 是放ram中 断电重启就会消失 改成option config_dir '/etc/config/aria2' 即可 网页设置那边也可自行改位置 Aria2 配置 常规设置 文件和位置 配置文件的目录  详情 回复 发表于 2020-5-21 20:25
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2020-5-21 20:25 | 显示全部楼层
本帖最后由 richjf 于 2020-5-21 20:39 编辑
nato1984 发表于 2020-5-8 16:08
我的/etc/config/aria2 的文件内容, 你看一下, 应该怎么修改?

config aria2 'main'

option config_dir '/var/etc/aria2'

/var 是放ram中 断电重启就会消失
改成option config_dir '/etc/aria2' 即可

网页设置那边也可自行改位置
Aria2 配置  常规设置  文件和位置
配置文件的目录
默认下载目录


之前网页修改RPC 认证方式 出现“一个或多个必选项值为空!”的问题提示
只好到/etc/config/下将aria2文件改回无认证才正常
       option rpc_auth_method 'none'

点评

感谢你的指点,很有帮助。  详情 回复 发表于 2020-11-19 16:17
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2020-11-19 16:17 | 显示全部楼层
richjf 发表于 2020-5-21 20:25
option config_dir '/var/etc/aria2'

/var 是放ram中 断电重启就会消失

感谢你的指点,很有帮助。
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 19:28

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表