找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
本人, 新3路由器, 刷的openwrt,    想修改aria2的配置文件, 可是断电, 重启了, 配置文件又变回原来的设置,   也就是, 断电重启了, 你根本就没有修改!  想问哪个大哥, 是不是也碰到我一样的问题?你们是怎么解决的?




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


我的恩山、我的无线 The best wifi forum is right here.
/etc/config/和/etc/init.d/目录下找找aria2的线索

点评

在你回复下面, 已经贴出, 两个目录下aria2的文件内容, 请看下面回复的贴子  详情 回复 发表于 2020-5-7 06:47
这两个目录下, 的确, 分别有aria2这个文件, 小第不才, 我把这两个文件内容, 贴上来看, 您帮我看看  详情 回复 发表于 2020-5-7 06:43
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

这两个目录下, 的确, 分别有aria2这个文件, 小第不才, 我把这两个文件内容, 贴上来看, 您帮我看看
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
/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'


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
/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"
}
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

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

点评

/etc/config/下的才是永久配置,别的可能都是通过/etc/config/下的配置开机自动生成的,至于/etc/config/怎么改,得自己摸索了  详情 回复 发表于 2020-5-7 16:10
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

nato1984 发表于 2020-5-7 06:47
在你回复下面, 已经贴出, 两个目录下aria2的文件内容, 请看下面回复的贴子


/etc/config/下的才是永久配置,别的可能都是通过/etc/config/下的配置开机自动生成的,至于/etc/config/怎么改,得自己摸索了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
我的天, 有没有人解决了这个问题的?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我使用 软路由, 修改 /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
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

为什么我的是/var/etc/aria2  ?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
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
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 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
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

richjf 发表于 2020-5-21 20:25
option config_dir '/var/etc/aria2'

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

感谢你的指点,很有帮助。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-3 03:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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