Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一开通知脚本就不能运行了,请求大佬协助 #25

Closed
lhbdhr opened this issue Apr 7, 2023 · 4 comments
Closed

一开通知脚本就不能运行了,请求大佬协助 #25

lhbdhr opened this issue Apr 7, 2023 · 4 comments

Comments

@lhbdhr
Copy link

lhbdhr commented Apr 7, 2023

环境

路由器:Xiaomi Mi Router AC2100
固件版本:OpenWrt 22.03.3 r20028-43d71ad93e / LuCI openwrt-22.03 branch git-23.093.57104-ce20b4a
软件版本:luci-app-natmap git-22.356.23645-3d37ac8
         natmap 20230322-1

脚本

#!/bin/sh

# Natter/NATMap
private_port=$4 # Natter: $3; NATMap: $4
public_port=$2 # Natter: $5; NATMap: $2

# qBittorrent.
qb_host="192.168.1.122"
qb_web_port="8080"
qb_username="xxxxx"
qb_password="xxxxxxxxx"


echo "Update qBittorrent listen port to $public_port..."

# Update qBittorrent listen port.
qb_cookie=$(curl -s -i --header "Referer: http://$qb_host:$qb_web_port" --data "username=$qb_username&password=$qb_password" http://$qb_host:$qb_web_port/api/v2/auth/login | grep -i set-cookie | cut -c13-48)
curl -X POST -b "$qb_cookie" -d 'json={"listen_port":"'$public_port'"}' "http://$qb_host:$qb_web_port/api/v2/app/setPreferences"

echo "Update iptables..."

# Use iptables to forward traffic.

uci set firewall.@redirect[0].dest_port=$public_port
uci commit firewall
/etc/init.d/firewall reload

echo "Done."

现象

因为我有两台电脑,两个qbittorrent,所以写了两个脚本,只修改了防火墙和qb_host那一行,就不能运行了。

qb_host="192.168.1.123"
...
uci set firewall.@redirect[1].dest_port=$public_port

其中一个能正常运行,脚本也没问题,可以修改端口转发规则和qb监听端口,
但另一个完全运行不起来。连ps w 都不显示,
明明是两个一模一样的脚本,就是不能运行。
是不支持同时给两个任务设置通知脚本吗?

# 运行命令
/usr/bin/natmap -s stun.freeswitch.org -h qq.com -b 13376 -4 -e /usr/lib/natmap/update.sh

# logread有错误提示
Sat Apr  8 03:12:54 2023 daemon.err natmap[17163]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:12:54 2023 daemon.err natmap[17163]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:12:54 2023 daemon.err natmap[17164]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:12:54 2023 daemon.err natmap[17164]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:12:54 2023 daemon.err natmap[17161]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:12:54 2023 daemon.err natmap[17161]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:12:59 2023 daemon.err natmap[17163]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:12:59 2023 daemon.err natmap[17163]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:12:59 2023 daemon.err natmap[17161]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:12:59 2023 daemon.err natmap[17161]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:13:04 2023 daemon.err natmap[17161]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:13:04 2023 daemon.err natmap[17161]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:13:09 2023 daemon.err natmap[17161]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:13:09 2023 daemon.err natmap[17161]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:13:14 2023 daemon.err natmap[17161]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:13:14 2023 daemon.err natmap[17161]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:50:05 2023 daemon.err natmap[18849]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:50:05 2023 daemon.err natmap[18849]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:50:05 2023 daemon.err natmap[18850]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:50:05 2023 daemon.err natmap[18850]: [E] tnsk_run src/hev-tnsk.c:103
Sat Apr  8 03:50:10 2023 daemon.err natmap[18849]: [E] hev_sock_client_tcp src/hev-sock.c:166
Sat Apr  8 03:50:10 2023 daemon.err natmap[18849]: [E] tnsk_run src/hev-tnsk.c:103
@heiher
Copy link
Owner

heiher commented Apr 7, 2023

natmap -b 参数指定不同的端口,或者直接使用0分配动态端口。(如果不用固定)

@lhbdhr
Copy link
Author

lhbdhr commented Apr 8, 2023

emmm,这个我知道啊,没用同一个端口。不设置脚本的话,两个端口都可以正常使用。
昨天还不能运行,今天忽然好了,2个脚本都能用了,什么都没改。

@heiher
Copy link
Owner

heiher commented Apr 8, 2023

那就是正常现象,我以为你遇到持续输出错误的情况。这个现象的原因是连接关闭后端口不是立即释放的,超时结束前不能再建立相同地址对的连接,程序会自动重试来处理的。

@lhbdhr
Copy link
Author

lhbdhr commented Apr 8, 2023

原来是这样啊,随后遇到这样的情况我多等等。
谢谢啦

@lhbdhr lhbdhr closed this as completed Apr 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants