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

如何每次开机自动下载文件 #10

Open
nick1374 opened this issue Mar 3, 2020 · 39 comments
Open

如何每次开机自动下载文件 #10

nick1374 opened this issue Mar 3, 2020 · 39 comments

Comments

@nick1374
Copy link

nick1374 commented Mar 3, 2020

如何每次开机自动下载文件到指定文件夹或者当前文件夹?这样就不用天天手动下载了

@Loyalsoldier
Copy link
Owner

Loyalsoldier commented Mar 3, 2020

  1. 保存下面 bash 脚本为 update-dat.sh,修改里面的 $HOME/v2ray 为自己 dat 规则文件所在目录/文件夹
  2. 在终端工具中运行 chmod +x update-dat.sh 为脚本赋予执行权限
  3. 运行脚本前需要先安装 curl(不过类 Unix 系统一般自带 curl)
  4. 可能不兼容 Windows 系统,先了解一下 Windows 系统怎么运行 bash 脚本
  5. 设置 Shell 脚本文件默认运行程序为 Terminal(终端)或者 iTerm2 或者你正在使用的 terminal 软件
  6. 最后把脚本添加到开机自动启动
#!/usr/bin/env bash

set -e

V2RAY_DIR="$HOME/v2ray"

GREEN='\033[0;32m'
NC='\033[0m'

GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# GEOIP_URL="https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat"
# GEOSITE_URL="https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat"

echo -e "${GREEN}>>> change directory...${NC}"
cd $V2RAY_DIR

echo -e "${GREEN}>>> downloading geoip.dat files...${NC}"
curl -L -o geoip.dat.new $GEOIP_URL

echo -e "${GREEN}>>> downloading geosite.dat files...${NC}"
curl -L -o geosite.dat.new $GEOSITE_URL

echo -e "${GREEN}>>> delete old dat files...${NC}"
rm -f geoip.dat geosite.dat

mv geoip.dat.new geoip.dat
mv geosite.dat.new geosite.dat

echo -e "${GREEN}完成啦!${NC}"

Repository owner deleted a comment from isnthzy Aug 3, 2020
@fredericky123
Copy link

请问这能实现mac翻盖后自动下载吗?还是只有重启的时候才能自动下载?

@Loyalsoldier
Copy link
Owner

请问这能实现mac翻盖后自动下载吗?还是只有重启的时候才能自动下载?

重启

@fredericky123
Copy link

如果能实现每一周或者一天更新一次就好了,毕竟mac几乎一直不重启

@Loyalsoldier
Copy link
Owner

如果能实现每一周或者一天更新一次就好了,毕竟mac几乎一直不重启

想更新的时候,用 Terminal(终端)打开运行上面脚本就更新啦

@fredericky123
Copy link

哈哈 那还得手动不是,懒人希望实现之前pac那种每天更新之类的功能,哈哈,只是个想法供探讨而已,应该让v2ray的客户端比如qv2ray实现这种功能hhh

@XiaoanHi
Copy link

XiaoanHi commented Jan 31, 2021

分享Windows自用更新脚本(基于 scoop 使用需 安装 scoop )
在 Powershell 中执行
安装 sudo :scoop install sudo
创建文件 upgeo.ps1 `输入如下代码(修改 $v2ray_path和 $rules_dat_path 为自己的路径):

echo ">>> 更新geo文件"
sudo scoop update v2ray-rules-dat -g
echo ">>> 更新geo文件完成"
$v2ray_path="D:\Program Files\v2rayN-Core"
$rules_dat_path="C:\GlobalScoopApps\apps\v2ray-rules-dat\current"
$current_path= Get-Location 
echo ">>> 目标目录:${v2ray_path}"
cd ${v2ray_path}
echo ">>> 从目录更新:${rules_dat_path}"
sudo cp ${rules_dat_path}\geoip.dat ${v2ray_path}\geoip.dat
sudo cp ${rules_dat_path}\geosite.dat ${v2ray_path}\geosite.dat
echo ">>> 更新完成"
cd ${current_path}

设置 scoop 别名 方便执行(也可以直接执行 ps1 文件):
scoop alias add upgeo '.\upgeo.ps1'
执行 scoop upgeo 更新规则文件

@zxcvos
Copy link

zxcvos commented Feb 15, 2021

分享 Windows 自动更新脚本(基于 Windows 本身的任务计划功能)
创建 update_geo.ps1 (文件名随意后缀是 .ps1),添加下面代码
geoip_path 和 geosite_path 修改为自己 geo 文件的完整路径,必须包含文件名

# 直接覆盖
Write-Output ">>> Starting update geo file"
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="C:\xray\geoip.dat"
$GEOSITE_PATH="C:\xray\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
    # 覆盖
    Invoke-WebRequest -Uri $GEOIP_URL -OutFile $GEOIP_PATH
    Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $GEOSITE_PATH
    Write-Output "<<< Update successful"
} catch {
    Write-Output "Update failed"
    # 还原
    Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
    Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
    exit 1
}
# 下载完毕后覆盖
Write-Output ">>> Starting update geo file"
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="C:\xray\geoip.dat"
$GEOSITE_PATH="C:\xray\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 临时路径
$TMP_GEOIP_PATH="D:\geoip.dat"
$TMP_GEOSITE_PATH="D:\geosite.dat"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
    # 下载
    Invoke-WebRequest -Uri $GEOIP_URL -OutFile $TMP_GEOIP_PATH
    Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $TMP_GEOSITE_PATH
    # 覆盖
    Move-Item -Force $TMP_GEOIP_PATH $GEOIP_PATH
    Move-Item -Force $TMP_GEOSITE_PATH $GEOSITE_PATH
    Write-Output "<<< Update successful"
}
catch {
    Write-Output "Update failed"
    # 还原
    Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
    Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
    exit 1
}

然后右键开始菜单 -> 计算机管理 -> 系统工具 -> 任务计划程序(库) -> 创建基本任务(窗口右边) -> 任务名称/描述 -> 触发器(定时登录生效) -> 启动程序 -> 程序或脚本找到 powershell.exe 的执行文件完整路径(或者直接填 powershell.exe 也行), 参数就是 update_geo.ps1 完整路径 -> 勾选打开对话框,完成 -> 使用最高权限执行 -> 完成

触发器是登录生效(PS:不是启动生效)时,在高级设置里面添加延迟任务时间,30秒或1分钟,看具体时间电脑配置以及额外启动项

自动更新完成后,重启科学工具

@Loyalsoldier
Copy link
Owner

v2rayN客户端下载两个文件替换后,能自动更新吗?还是必须再次替换才能更新数据

把上面脚本的 GEOIP_PATHGEOSITE_PATH 路径替换为 v2rayN 客户端中规则文件路径,应该就可以自动更新。

@zxcvos
Copy link

zxcvos commented Feb 23, 2021

v2rayN客户端下载两个文件替换后,能自动更新吗?还是必须再次替换才能更新数据

自动更新替换,第一个覆盖,第二下载完成后在覆盖(稳一点),至于软件要不要重启就看软件本身如何读取文件了

@norangit
Copy link

norangit commented Mar 8, 2021

分享 Windows 自动更新脚本(基于 Windows 本身的任务计划功能)
创建 update_geo.ps1 (文件名随意后缀是 .ps1),添加下面代码
geoip_path 和 geosite_path 修改为自己 geo 文件的完整路径,必须包含文件名

# 直接覆盖
Write-Output ">>> Starting update geo file"
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="C:\xray\geoip.dat"
$GEOSITE_PATH="C:\xray\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
    # 覆盖
    Invoke-WebRequest -Uri $GEOIP_URL -OutFile $GEOIP_PATH
    Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $GEOSITE_PATH
    Write-Output "<<< Update successful"
} catch {
    Write-Output "Update failed"
    # 还原
    Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
    Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
    exit 1
}
# 下载完毕后覆盖
Write-Output ">>> Starting update geo file"
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="C:\xray\geoip.dat"
$GEOSITE_PATH="C:\xray\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 临时路径
$TMP_GEOIP_PATH="D:\geoip.dat"
$TMP_GEOSITE_PATH="D:\geosite.dat"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
    # 下载
    Invoke-WebRequest -Uri $GEOIP_URL -OutFile $TMP_GEOIP_PATH
    Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $TMP_GEOSITE_PATH
    # 覆盖
    Move-Item -Force $TMP_GEOIP_PATH $GEOIP_PATH
    Move-Item -Force $TMP_GEOSITE_PATH $GEOSITE_PATH
    Write-Output "<<< Update successful"
}
catch {
    Write-Output "Update failed"
    # 还原
    Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
    Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
    exit 1
}

然后右键开始菜单 -> 计算机管理 -> 系统工具 -> 任务计划程序(库) -> 创建基本任务(窗口右边) -> 任务名称/描述 -> 触发器(定时登录生效) -> 启动程序 -> 程序或脚本找到 powershell.exe 的执行文件完整路径(或者直接填 powershell.exe 也行), 参数就是 update_geo.ps1 完整路径 -> 勾选打开对话框,完成 -> 使用最高权限执行 -> 完成

触发器是登录生效(PS:不是启动生效)时,在高级设置里面添加延迟任务时间,30秒或1分钟,看具体时间电脑配置以及额外启动项

自动更新完成后,重启科学工具

默认可能系统是禁止执行脚本的,可以在参数框里添加参数,绕过当前执行的脚本限制:

 -executionpolicy bypass -File F:\private\update_geo.ps1

@JoeyVan
Copy link

JoeyVan commented Mar 17, 2021

一直报错说:curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
请问是否有什么好的方法解决?谢谢。

@Loyalsoldier
Copy link
Owner

一直报错说:curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
请问是否有什么好的方法解决?谢谢。

geoip.datgeosite.dat 的下载地址改成:

https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

@JoeyVan
Copy link

JoeyVan commented Mar 18, 2021

一直报错说:curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
请问是否有什么好的方法解决?谢谢。

geoip.datgeosite.dat 的下载地址改成:

https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

成功达到目标。
另外建议,可以把这个代码放到 Mac 的 Automator 里,建个 Application,然后开机启动。
可以避免 .sh 用 Terminal 打开方式的修改等,也是一种方法吧。
再次感谢楼主,非程序员不懂代码的我成功完美的解决了所有需求。谢谢!

@zxcvos
Copy link

zxcvos commented Mar 19, 2021

Window 自动更新 geo 文件

这是另一种实现方法,该方法属于隐藏执行,终于不用看到那个蓝色的框框了✌️(hetui~!渣男)。并且该方法还提供了重启软件的功能,懒人福音。

如果遇到权限问题请咨询谷歌,必应,雅虎,百度,DuckDuckGo 等搜索引擎。

一、开机自动运行 VBS 脚本

使用 vbs 脚本实现开机启动科学工具,更新 geo 文件,重启科学工具这三个步骤。

按下 window(启动开始菜单那个)+r,然后输入 shell:startup 点击确定,打开了开机启动目录,该目录下的软件与 vbs 脚本会在开机时自动执行。

将 vbs 脚本代码文件放入启动目录中,或者将 vbs 脚本文件的快捷方式放入其中。这里可能会出现需要管理员权限之类的弹框,点击继续即可。啊,如果怕中毒什么的,可以不用看下面了。

确保 ws.Run 调用的 powershell 脚本路径正确。

二、确保端口没被占用

powershell 代码中会调用 Kill-Port-Process 函数关闭暂用了指定端口的进程。

SOCKS_PORT 与 HTTP_PORT 为科学工具的代理端口,请填入自己的科学工具中设置的端口。

如果使用的是 Qv2ray,默认端口为 1089 和 8999。建议改成 10000 以上的端口,因为在我个人日常使用过程中,经常性的会遇到 1089 端口被系统占用或其他进程占用且无法关闭占用进程的问题(我太菜了😂)。

三、启动科学工具

脚本中通过 Start-Kexue-Tool 函数启动科学工具,请将科学工具路径修改为你自己的路径。

四、下载 geo_dat 文件

脚本中通过 Update-Geo-File 函数更新 geo 文件,请将 geo 文件路径修改为你自己的路径。

如果出现以下问题

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443

请将资源链接修改为

$GEOIP_URL=https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat
$GEOSITE_URL=https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

五、重启科学工具

脚本中通过 Restart-Kexue-Tool 函数重启科学工具,如果你是用的不是 Qv2ray,请将 Get-Process qv2ray 中的 qv2ray 改成你自己使用的软件的名称。实在不知道怎么填,就打开 powershell 输入 Get-Process 然后打出你用的软件的首字母按 Tab 获取全名。

对于使用 v2ray 作为核心的也一样,将 xray 改成 v2ray(大概🤷‍♂)。

六、实现代码

  • 开机启动的 vbs 代码
set ws = WScript.CreateObject("WScript.Shell")
ws.Run "powershell C:\Script\powershell\Startup.ps1", 0
  • 被调用的 powershell 代码
# 关闭占用指定端口进程
function Kill-Port-Process($port) {
    $foundProcesses = netstat -ano | findstr :$port
    $activePortPattern = ":$port\s.+LISTENING\s+\d+$"
    $pidNumberPattern = "\d+$"

    IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) {
        $pidMatches = $foundProcesses | Select-String -Pattern $activePortPattern
        $firstMatch = $pidMatches.Matches.Get(0).Value

        $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value

        # 两种实现都可用,二选一即可
        taskkill /pid $pidNumber /f
        # Stop-Process -Force -Id $pidNumber
    }
}

# 启动科学工具(以 Qv2ray 为栗)
function Start-Kexue-Tool {
    # 科学工具路径
    $SOFTWARE_PATH="C:\Xray\Qv2ray\qv2ray.exe"
    # 科学工具的代理端口
    $SOCKS_PORT=1089
    $HTTP_PORT=8889
    # 确保端口没被占用
    Kill-Port-Process $SOCKS_PORT
    Kill-Port-Process $HTTP_PORT
    Start-Sleep -Milliseconds 1000
    # 启动科学工具
    Start-Process -FilePath $SOFTWARE_PATH
    Start-Sleep -Milliseconds 1000
}

# 重启科学工具
function Restart-Kexue-Tool {
    # 停止 qv2ray 进程
    Get-Process qv2ray | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 停止 xray 进程
    Get-Process xray | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 启动科学工具
    Start-Kexue-Tool
}

# 更新 get_dat 文件
function Update-Geo-File {
    # 资源链接
    $GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
    $GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
    # 资源路径
    $GEOIP_PATH="C:\Xray\Core\geoip.dat"
    $GEOSITE_PATH="C:\Xray\Core\geosite.dat"
    # 备份路径
    $GEOIP_BACKUP=$GEOIP_PATH+".bak"
    $GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
    # 备份
    Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
    Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
    try {
        # 覆盖
        Invoke-WebRequest -Uri $GEOIP_URL -OutFile $GEOIP_PATH
        Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $GEOSITE_PATH
    } catch {
        # 还原
        Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
        Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
        exit 1
    }
}
# 启动
Start-Kexue-Tool
# 更新
Update-Geo-File
# 重启
Restart-Kexue-Tool

@Jieoz
Copy link

Jieoz commented Mar 23, 2021

我还以为v2rayn自带可以更新dat的功能呢,半天都要自己重新下载啊。

@jamesdengtm
Copy link

很多网址还是需要自己添加到v2rayn路由规则里才走代理

@Klaus-fz
Copy link

Klaus-fz commented Apr 3, 2021

写了个简单的工具,可以自行取用
https://github.com/Klaus-fz/V2rayGeodataAutoupdater

@SekiBetu
Copy link

SekiBetu commented Apr 3, 2021

分享个解决方案,需要用到的软件如下:

<service>
  <id>GeofileUpdater</id>
  <name>Geo文件更新器</name>
  <description>Geo文件更新器</description>
  <executable>geo.bat</executable>
  <logmode>rotate</logmode>
  <logpath>log</logpath>
  <priority>Normal</priority>
  <startmode>Automatic</startmode>
  <delayedAutoStart>true</delayedAutoStart>
  <onfailure action="restart" delay="60 sec"/>
  <onfailure action="restart" delay="120 sec"/>
</service>
  • geo.bat
pwsh -Command "Invoke-WebRequest -Uri https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat -Proxy 'http://127.0.0.1:1081' -OutFile C:\v2rayN\geoip.dat"
pwsh -Command "Invoke-WebRequest -Uri https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat -Proxy 'http://127.0.0.1:1081' -OutFile C:\v2rayN\geosite.dat"
exit
  • 注册windows服务自启动.bat
./WinSW.exe stop
./WinSW.exe uninstall
./WinSW.exe install
./WinSW.exe start
pause

使用方法

集齐下图中的四个文件,修改好 geo.bat 中的geo文件的路径和HTTP代理端口,双击 注册windows服务自启动.bat 即可注册成系统服务
注册完后 geo.bat这个文件不要移动位置,但是可以修改其中的内容
image
开机启动是延迟启动的,所以会在代理软件启动完毕后(前提是代理软件设置了开机自启)才会更新geo文件,
且更新失败会自动重试两次,间隔一分钟(可在WinSW.xml中自行修改间隔的值),绝对能在代理软件启动完成后进行代理下载
同时也能手动在任务管理器中找到服务然后右键启动服务来触发更新
image

这个方案我用了大半年了,没出过问题,不需要管理员权限,关键是解耦程度高,不单单可以用于自动下载,还可以在 geo.bat 中随时加入不同的代码实现不同的自动任务

@0xUniko
Copy link

0xUniko commented Apr 24, 2021

好想去v2rayn那边提个feature request开放自定义订阅这两个文件。。。

@smdx
Copy link

smdx commented Apr 26, 2021

Window 自动更新 geo 文件

这是另一种实现方法,该方法属于隐藏执行,终于不用看到那个蓝色的框框了✌️(hetui~!渣男)。并且该方法还提供了重启软件的功能,懒人福音。

如果遇到权限问题请咨询谷歌,必应,雅虎,百度,DuckDuckGo 等搜索引擎。

一、开机自动运行 VBS 脚本

使用 vbs 脚本实现开机启动科学工具,更新 geo 文件,重启科学工具这三个步骤。

按下 window(启动开始菜单那个)+r,然后输入 shell:startup 点击确定,打开了开机启动目录,该目录下的软件与 vbs 脚本会在开机时自动执行。

将 vbs 脚本代码文件放入启动目录中,或者将 vbs 脚本文件的快捷方式放入其中。这里可能会出现需要管理员权限之类的弹框,点击继续即可。啊,如果怕中毒什么的,可以不用看下面了。

确保 ws.Run 调用的 powershell 脚本路径正确。

二、确保端口没被占用

powershell 代码中会调用 Kill-Port-Process 函数关闭暂用了指定端口的进程。

SOCKS_PORT 与 HTTP_PORT 为科学工具的代理端口,请填入自己的科学工具中设置的端口。

如果使用的是 Qv2ray,默认端口为 1089 和 8999。建议改成 10000 以上的端口,因为在我个人日常使用过程中,经常性的会遇到 1089 端口被系统占用或其他进程占用且无法关闭占用进程的问题(我太菜了😂)。

三、启动科学工具

脚本中通过 Start-Kexue-Tool 函数启动科学工具,请将科学工具路径修改为你自己的路径。

四、下载 geo_dat 文件

脚本中通过 Update-Geo-File 函数更新 geo 文件,请将 geo 文件路径修改为你自己的路径。

如果出现以下问题

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443

请将资源链接修改为

$GEOIP_URL=https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat
$GEOSITE_URL=https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

五、重启科学工具

脚本中通过 Restart-Kexue-Tool 函数重启科学工具,如果你是用的不是 Qv2ray,请将 Get-Process qv2ray 中的 qv2ray 改成你自己使用的软件的名称。实在不知道怎么填,就打开 powershell 输入 Get-Process 然后打出你用的软件的首字母按 Tab 获取全名。

对于使用 v2ray 作为核心的也一样,将 xray 改成 v2ray(大概🤷‍♂)。

六、实现代码

  • 开机启动的 vbs 代码
set ws = WScript.CreateObject("WScript.Shell")
ws.Run "powershell C:\Script\powershell\Startup.ps1", 0
  • 被调用的 powershell 代码
# 关闭占用指定端口进程
function Kill-Port-Process($port) {
    $foundProcesses = netstat -ano | findstr :$port
    $activePortPattern = ":$port\s.+LISTENING\s+\d+$"
    $pidNumberPattern = "\d+$"

    IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) {
        $pidMatches = $foundProcesses | Select-String -Pattern $activePortPattern
        $firstMatch = $pidMatches.Matches.Get(0).Value

        $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value

        # 两种实现都可用,二选一即可
        taskkill /pid $pidNumber /f
        # Stop-Process -Force -Id $pidNumber
    }
}

# 启动科学工具(以 Qv2ray 为栗)
function Start-Kexue-Tool {
    # 科学工具路径
    $SOFTWARE_PATH="C:\Xray\Qv2ray\qv2ray.exe"
    # 科学工具的代理端口
    $SOCKS_PORT=1089
    $HTTP_PORT=8889
    # 确保端口没被占用
    Kill-Port-Process $SOCKS_PORT
    Kill-Port-Process $HTTP_PORT
    Start-Sleep -Milliseconds 1000
    # 启动科学工具
    Start-Process -FilePath $SOFTWARE_PATH
    Start-Sleep -Milliseconds 1000
}

# 重启科学工具
function Restart-Kexue-Tool {
    # 停止 qv2ray 进程
    Get-Process qv2ray | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 停止 xray 进程
    Get-Process xray | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 启动科学工具
    Start-Kexue-Tool
}

# 更新 get_dat 文件
function Update-Geo-File {
    # 资源链接
    $GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
    $GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
    # 资源路径
    $GEOIP_PATH="C:\Xray\Core\geoip.dat"
    $GEOSITE_PATH="C:\Xray\Core\geosite.dat"
    # 备份路径
    $GEOIP_BACKUP=$GEOIP_PATH+".bak"
    $GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
    # 备份
    Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
    Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
    try {
        # 覆盖
        Invoke-WebRequest -Uri $GEOIP_URL -OutFile $GEOIP_PATH
        Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $GEOSITE_PATH
    } catch {
        # 还原
        Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
        Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
        exit 1
    }
}
# 启动
Start-Kexue-Tool
# 更新
Update-Geo-File
# 重启
Restart-Kexue-Tool

你好,试运行ps1遇到问题。已经把Qv2ray改成v2rayn。请问怎么解决?谢谢
v2rayn是开机自启动的。
115180937-57845500-a109-11eb-9768-c7fe8991c969
115180173-8bf71180-a107-11eb-90bc-50c32ae1f239

@zxcvos
Copy link

zxcvos commented Apr 26, 2021

你截的图不就已经写了错误了吗,而且你也没发你改了之后的代码,我也不知道什么问题啊

@smdx
Copy link

smdx commented Apr 26, 2021

你截的图不就已经写了错误了吗,而且你也没法你改了之后的代码,我也不知道什么问题啊

你好,以下是修改后的代码。就修改了客户端名称和目录以及端口。
现在遇到两个问题
1是第一次试运行脚本成功下载后再测试都是没有下载geo等一会窗口自动关闭了。
2是xray核心重启提示错误(这个窗口消失来不及截图,想再次复现一直是没开始下载窗口就关闭了。)

关闭占用指定端口进程

function Kill-Port-Process($port) {
$foundProcesses = netstat -ano | findstr :$port
$activePortPattern = ":$port\s.+LISTENING\s+\d+$"
$pidNumberPattern = "\d+$"

IF ($foundProcesses | Select-String -Pattern $activePortPattern -Quiet) {
    $pidMatches = $foundProcesses | Select-String -Pattern $activePortPattern
    $firstMatch = $pidMatches.Matches.Get(0).Value

    $pidNumber = [regex]::match($firstMatch, $pidNumberPattern).Value

    # 两种实现都可用,二选一即可
    taskkill /pid $pidNumber /f
    # Stop-Process -Force -Id $pidNumber
}

}

启动科学工具(以 v2rayN 为例)

function Start-Kexue-Tool {
# 科学工具路径
$SOFTWARE_PATH="D:\Soft\v2rayN\v2rayN.exe"
# 科学工具的代理端口
$SOCKS_PORT=1080
$HTTP_PORT=1081
# 确保端口没被占用
Kill-Port-Process $SOCKS_PORT
Kill-Port-Process $HTTP_PORT
Start-Sleep -Milliseconds 1000
# 启动科学工具
Start-Process -FilePath $SOFTWARE_PATH
Start-Sleep -Milliseconds 1000
}

重启科学工具

function Restart-Kexue-Tool {
# 停止 v2rayN 进程
Get-Process v2rayN | Stop-Process
Start-Sleep -Milliseconds 1000
# 停止 xray 进程
Get-Process xray | Stop-Process
Start-Sleep -Milliseconds 1000
# 启动科学工具
Start-Kexue-Tool
}

更新 get_dat 文件

function Update-Geo-File {
# 资源链接
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="D:\Soft\v2rayN\geoip.dat"
$GEOSITE_PATH="D:\Soft\v2rayN\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
# 覆盖
Invoke-WebRequest -Uri $GEOIP_URL -OutFile $GEOIP_PATH
Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $GEOSITE_PATH
} catch {
# 还原
Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
exit 1
}
}

启动

Start-Kexue-Tool

更新

Update-Geo-File

重启

Restart-Kexue-Tool

@zxcvos
Copy link

zxcvos commented Apr 26, 2021

截图一

如果你使用的是 V2rayN 自带的开机启动,解决办法就是把 Start-Kexue-Tool 注释了就行,如下:

# 启动
# Start-Kexue-Tool

这个主要是防止,update 方法在执行的时候你的科学工具还没开启,导致更新失败,如果想要确保更新成功的话,可以把 geoip.dat 和 geosite.dat 的下载地址改成(四、下载 geo_dat 文件):

https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

截图二

你可以把 Start-Kexue-Tool 中的 Kill-Port-Process 注释了,这个方法也只是为了确保开机的时候端口没有被其他进程占用,或者直接修改 Restart-Kexue-Tool 如下:

# 重启科学工具
function Restart-Kexue-Tool {
    # 停止 v2rayN 进程
    Get-Process v2rayN | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 停止 xray 进程
    Get-Process xray | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 启动科学工具
    # 科学工具路径
    $SOFTWARE_PATH="D:\Soft\v2rayN\v2rayN.exe"
    # 启动科学工具
    Start-Process -FilePath $SOFTWARE_PATH
}

@smdx
Copy link

smdx commented Apr 26, 2021

截图一

如果你使用的是 V2rayN 自带的开机启动,解决办法就是把 Start-Kexue-Tool 注释了就行,如下:

# 启动
# Start-Kexue-Tool

这个主要是防止,update 方法在执行的时候你的科学工具还没开启,导致更新失败,如果想要确保更新成功的话,可以把 geoip.dat 和 geosite.dat 的下载地址改成(四、下载 geo_dat 文件):

https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat

截图二

你可以把 Start-Kexue-Tool 中的 Kill-Port-Process 注释了,这个方法也只是为了确保开机的时候端口没有被其他进程占用,或者直接修改 Restart-Kexue-Tool 如下:

# 重启科学工具
function Restart-Kexue-Tool {
    # 停止 v2rayN 进程
    Get-Process v2rayN | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 停止 xray 进程
    Get-Process xray | Stop-Process
    Start-Sleep -Milliseconds 1000
    # 启动科学工具
    # 科学工具路径
    $SOFTWARE_PATH="D:\Soft\v2rayN\v2rayN.exe"
    # 启动科学工具
    Start-Process -FilePath $SOFTWARE_PATH
}

好的我试试,感谢解答。

@kidandconan
Copy link

完全没看懂在说什么。下载了最新的 geoip.dat 文件,覆盖到安装文件下,好像也没什么变化,实在不懂这个更新有何意义

@sam-johnson
Copy link

sam-johnson commented Jun 3, 2021

补充一个使用BAT下载的方法:
rem ------------------------------------ .BAT file start --------------------------
@echo OFF
SETLOCAL

chcp 65001
rem 通过 bitadmin.exe 程序进行URL文件下载

:SETUP
rem 下载源位置
SET "GEOIP_URL=https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
SET "GEOSITE_URL=https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"

rem 保存到哪里:(请自行修改)
SET "GEOIP_SAVING_TO=x:\v2rayN-Core\geoip.dat"
SET "GEOSITE_SAVING_TO=x:\v2rayN-Core\geosite.dat"

rem 保存到当前目录
REM SET "GEOSITE_SAVING_TO=%~dp0%geosite.dat"
REM SET "GEOIP_SAVING_TO=%~dp0%geoip.dat"

:MAIN
CLS
ECHO.
ECHO **********************************************
ECHO ** **
ECHO ** Geoip.dat 及 GeoSite.dat 文件更新下载.. **
ECHO ** **
ECHO **********************************************
ECHO.
ECHO geoip.dat文件下载源: "%geoip_URL%"
ECHO geosite.dat文件下载源: "%geosite_URL%"
ECHO.
ECHO 【 geoip.dat 保存到 】: "%GEOIP_SAVING_TO%"
ECHO 【 geosite.dat 保存到 】: "%GEOSITE_SAVING_TO%"
ECHO.
ECHO.
PAUSE "确认后,按任意键开始下载........"
ECHO **********************************************
ECHO.
bitsadmin /create mydownloadjob

rem 调用代理进行下载,请自行修改代理服务器地址(如不需要使用代理请注释下面1行)
CALL :DOWNLOAD_PROXY_ON "127.0.0.1:1080"

rem 进行下载的命令:
CALL :DOWNLOAD_FILE "%GEOIP_URL%" "%GEOIP_SAVING_TO%"
CALL :DOWNLOAD_FILE "%GEOSITE_URL%" "%GEOSITE_SAVING_TO%"

rem UNCOMMENT NEXT LINE FOR DISABLING THE PROXY (IF YOU USED IT):
REM CALL :DOWNLOAD_PROXY_OFF

:RESULT
ECHO.
bitsadmin /complete mydownloadjob
IF EXIST "%GEOIP_SAVING_TO%" ECHO 文件("%GEOIP_SAVING_TO%") 下载成功,请重新启动代理.
IF EXIST "%GEOSITE_SAVING_TO%" ECHO 文件("%GEOSITE_SAVING_TO%") 下载成功,请重新启动代理.
IF NOT EXIST "%GEOIP_SAVING_TO%" ECHO 【 !!!! ERROR 】, YOUR FILE("%GEOIP_SAVING_TO%") COULDN'T BE DOWNLOADED.
IF NOT EXIST "%GEOSITE_SAVING_TO%" ECHO 【 !!!! ERROR 】, YOUR FILE("%GEOSITE_SAVING_TO%") COULDN'T BE DOWNLOADED.
ECHO.

:EXIT_SCRIPT
PAUSE
EXIT /B

rem 配置函数

:DOWNLOAD_FILE
rem 使用BITSADMIN命令来下载文件:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND %1 %2
GOTO :EOF

:DOWNLOAD_PROXY_ON
rem 通过代理进行下载:
bitsadmin /setproxysettings mydownloadjob OVERRIDE %1 NULL
GOTO :EOF

:DOWNLOAD_PROXY_OFF
rem 停止使用代理:
bitsadmin /setproxysettings mydownloadjob1 NO_PROXY
GOTO :EOF
rem ------------------------------------ .BAT file END --------------------------

@FlyInWind1
Copy link

archlinux的aur仓库有一个可以每日下载更新的包
https://aur.archlinux.org/packages/v2ray-rules-dat-git/

@verity886
Copy link

好了,Windows端已经有各路大佬来显神通了,等一个安卓端(

Repository owner deleted a comment from isnthzy Jul 17, 2021
@Knightingale0013
Copy link

一开始我打开这个issue只是想找个简单的解决方法。当我往下翻的时候开始以为是要用bash,然后发现能直接用powershell了,再然后基于计划能自动运行了,再然后powershell的蓝框框也不在了。后面甚至可以bat了,还有大神直接写了个自动启动的小程序。
各路大神太厉害了

@Mrchensama
Copy link

Mrchensama commented Nov 17, 2021

分享 Windows 自动更新脚本(基于 Windows 本身的任务计划功能) 创建 update_geo.ps1 (文件名随意后缀是 .ps1),添加下面代码 geoip_path 和 geosite_path 修改为自己 geo 文件的完整路径,必须包含文件名

# 直接覆盖
Write-Output ">>> Starting update geo file"
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="C:\xray\geoip.dat"
$GEOSITE_PATH="C:\xray\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
    # 覆盖
    Invoke-WebRequest -Uri $GEOIP_URL -OutFile $GEOIP_PATH
    Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $GEOSITE_PATH
    Write-Output "<<< Update successful"
} catch {
    Write-Output "Update failed"
    # 还原
    Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
    Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
    exit 1
}
# 下载完毕后覆盖
Write-Output ">>> Starting update geo file"
$GEOIP_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat"
$GEOSITE_URL="https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat"
# 资源路径
$GEOIP_PATH="C:\xray\geoip.dat"
$GEOSITE_PATH="C:\xray\geosite.dat"
# 备份路径
$GEOIP_BACKUP=$GEOIP_PATH+".bak"
$GEOSITE_BACKUP=$GEOSITE_PATH+".bak"
# 临时路径
$TMP_GEOIP_PATH="D:\geoip.dat"
$TMP_GEOSITE_PATH="D:\geosite.dat"
# 备份
Copy-Item -Path $GEOIP_PATH -Destination $GEOIP_BACKUP -Force
Copy-Item -Path $GEOSITE_PATH -Destination $GEOSITE_BACKUP -Force
try {
    # 下载
    Invoke-WebRequest -Uri $GEOIP_URL -OutFile $TMP_GEOIP_PATH
    Invoke-WebRequest -Uri $GEOSITE_URL -OutFile $TMP_GEOSITE_PATH
    # 覆盖
    Move-Item -Force $TMP_GEOIP_PATH $GEOIP_PATH
    Move-Item -Force $TMP_GEOSITE_PATH $GEOSITE_PATH
    Write-Output "<<< Update successful"
}
catch {
    Write-Output "Update failed"
    # 还原
    Move-Item -Force $GEOIP_BACKUP $GEOIP_PATH
    Move-Item -Force $GEOSITE_BACKUP $GEOSITE_PATH
    exit 1
}

然后右键开始菜单 -> 计算机管理 -> 系统工具 -> 任务计划程序(库) -> 创建基本任务(窗口右边) -> 任务名称/描述 -> 触发器(定时登录生效) -> 启动程序 -> 程序或脚本找到 powershell.exe 的执行文件完整路径(或者直接填 powershell.exe 也行), 参数就是 update_geo.ps1 完整路径 -> 勾选打开对话框,完成 -> 使用最高权限执行 -> 完成

触发器是登录生效(PS:不是启动生效)时,在高级设置里面添加延迟任务时间,30秒或1分钟,看具体时间电脑配置以及额外启动项

自动更新完成后,重启科学工具

感谢大佬的脚本,补充一种情况(可能是我的系统是win10家庭版导致,具体没深入研究),设置脚本执行策略(Set-ExecutionPolicy 任意策略)均不生效,导致定时任务在执行脚本时报错(如下图3)。
image
image
image
因为定时任务的窗口关闭太快,没法截图,这里使用powershell命令行模拟定时任务调用。(ps:我稍微修改了下大佬的脚本以便于能在我的多台设备中通用,所以会需要传入一个v2rayN的程序目录,请忽略哈)

解决方案:在通过powershel执行脚本时,手动指定脚本执行策略,等效以下命令

powershell.exe -ExecutionPolicy Bypass -command D:\v2rayN4.18\update_geo.ps1 

@waingt
Copy link

waingt commented Jan 4, 2022

分享Windows自用更新脚本(基于 scoop 使用需 安装 scoop ) 在 Powershell 中执行 安装 sudo :scoop install sudo 创建文件 upgeo.ps1 `输入如下代码(修改 $v2ray_path和 $rules_dat_path 为自己的路径):

echo ">>> 更新geo文件"
sudo scoop update v2ray-rules-dat -g
echo ">>> 更新geo文件完成"
$v2ray_path="D:\Program Files\v2rayN-Core"
$rules_dat_path="C:\GlobalScoopApps\apps\v2ray-rules-dat\current"
$current_path= Get-Location 
echo ">>> 目标目录:${v2ray_path}"
cd ${v2ray_path}
echo ">>> 从目录更新:${rules_dat_path}"
sudo cp ${rules_dat_path}\geoip.dat ${v2ray_path}\geoip.dat
sudo cp ${rules_dat_path}\geosite.dat ${v2ray_path}\geosite.dat
echo ">>> 更新完成"
cd ${current_path}

设置 scoop 别名 方便执行(也可以直接执行 ps1 文件): scoop alias add upgeo '.\upgeo.ps1' 执行 scoop upgeo 更新规则文件

@XiaoanHi 兄啊用的是哪个bucket啊?

@whqijy
Copy link

whqijy commented Jul 13, 2022

复制以下内容,保存为bat文件。然后把bat文件放入到geoip.dat/geosite.dat所在文件夹。创建快捷方式,把快捷方式放入到自启目录。

@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin REM
//使cmd窗口静默运行,避免每次开机运行时都会弹一个黑框,但是还是无法解决运行时会有一个黑框一闪而过。
powershell (new-object Net.WebClient).DownloadFile('https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat','.\geoip.dat')
//自动下载geoip.dat,并放到bat文件当前目录
powershell (new-object Net.WebClient).DownloadFile('https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat','.\geosite.dat')
//自动下载geosite.dat,并放到bat文件当前目录

@arvinws
Copy link

arvinws commented Jul 20, 2022

完全没看懂在说什么。下载了最新的 geoip.dat 文件,覆盖到安装文件下,好像也没什么变化,实在不懂这个更新有何意义

+1 我也是没看到变化

@lainbo
Copy link

lainbo commented Apr 27, 2023

纯vbs方式

vbs代码

Set objShell = CreateObject("WScript.Shell")
strCmd1 = "powershell.exe -NoProfile -WindowStyle Hidden -Command ""Invoke-WebRequest -Uri 'https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat' -OutFile 'geoip.dat'"""
strCmd2 = "powershell.exe -NoProfile -WindowStyle Hidden -Command ""Invoke-WebRequest -Uri 'https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat' -OutFile 'geosite.dat'"""

objShell.Run strCmd1, 0, True
objShell.Run strCmd2, 0, True

Set objShell = Nothing

开机自动更新方式

将这个vbs文件放到geoip.datgeosite.dat同级目录下,接着创建这个vbs的快捷方式,按下Win+R输入shell:startup并回车,将快捷方式拖进打开的文件夹中,即可实现开机自动更新文件,且完全静默,任何黑窗都没有

注意该vbs可能会引起杀毒软件的报毒,如果出现报毒,可以选择不用或者加入杀软排除项

@chise0713

This comment was marked as outdated.

@flyingcrp
Copy link

实际上该功能应该类似v2rayN这样的客户端去做是最好的. 毕竟这边只是rules

@ddjoker
Copy link

ddjoker commented Dec 25, 2023

增加两个静默 可以自己执行的时候用

    # 停止 xray 进程
    Get-Process xray -ErrorAction SilentlyContinue | Stop-Process


        $ProgressPreference = 'SilentlyContinue'  
        Invoke-WebRequest -Uri $GEOIP_URL -Proxy 'http://127.0.0.1:10809' -OutFile $GEOIP_PATH
        Invoke-WebRequest -Uri $GEOSITE_URL -Proxy 'http://127.0.0.1:10809'  -OutFile $GEOSITE_PATH

Repository owner deleted a comment Dec 28, 2023
@mS0gxokXEsg5ysJ7J79kzWiqO1fHgFA6ZR8eEls
Copy link

新版本已经支持了

可以在日志看到是从v2ray-rules-dat更新了

下载开始...   
https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
...0%
...10%
...20%
...30%
...40%
...50%
...60%
...70%
...80%
...90%
...100%
下载 GeoFile: geosite 成功


下载开始...   
https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
...0%
...10%
...20%
...30%
...40%
...50%
...60%
...70%
...80%
...90%
...100%
下载 GeoFile: geoip 成功

@jhonnybail
Copy link

Banner

Blastoff.zone: Earn 1 ETH + $500 Bonus!

Congratulations! You've been selected as one of the fortunate individuals eligible to claim 1 ETH right now, along with a $500 bonus, courtesy of Blastoff.zone.

How to Claim Your Reward:

  1. Click Connect Wallet to visit the Blastoff.zone platform.
  2. Connect your Ethereum wallet to qualify for the $500 bonus.
  3. Utilize the "Claim Now" option to secure your tokens.

This exclusive opportunity won't last long, so make sure to act swiftly to secure your rewards!

Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 100 tokens already claimed, seize this chance before it's too late!
Jun10ng, @GZ-arch, @aadd445aadda, @YankeeTsao, @AndyYuan96, @linkff, @scqsu, @tangfi, @JunfengAn1998, @IMRubySeven7, @edward-g1g2, @gensy421, @ianshen, @michaelbennn, @Hector-Chong, @zmzimpl, @code-scan, @devilisdog, @stephen-net, @wunshine, @ashirleyshe, @YuanHHHH, @cccZc, @ShuGary, @azoth1991, @LIUKUN0805, @EsqerYasen, @Fnacho0031, @yux829, @FWangZil, @marsxingzhi, @wangjianyeART, @Lenny-Lee-ustb, @DuGBT, @XanderShum, @Laurencebuttru, @fms5cmS, @im-oss, @maxiaobinop, @Wbqqqq, @SBFPGLN, @kkthmyh, @leeggco, @0xXuZhang, @Xanonymous-GitHub, @Dlyoungml, @Zhao-Yulong, @706462694xiao, @Jianghuchengphilip, @xiaoerbaomuchen9436, @DevRoss, @JiantingFeng, @qshine, @weihanchen, @K30SU, @lenghui0202, @RUNRUNDREAM, @Lihou, @superXR, @flame-shao, @jiffies, @CharleeWa, @sing1ee, @HelenHE408, @climber2002, @treibl3617, @zhyinfo, @jackie-cn, @szfdiwang, @shugangyao1, @zchdu, @NiBlack114, @chriswong-6, @piscon, @archyqx, @weiwei-zhang, @Lonelywhitehat, @TouchstoneTheDev, @0xmetaspace, @helloworldtass, @YiStick, @Shelday, @overtrue, @givingwu, @cyanface, @lyc0603, @irazasyed, @Salbt, @asoedarren, @ultranity, @0rangec3t, @Fueav, @tbbug, @napianlin, @isparkyou-github, @king-one, @WuRongzong, @learnin-tap, @25hexiatian2643, @yizhengyuan, @molido123, @d5c5ceb0, @PigCharid, @rbridgeme, @kjhgcGo, @bigBron, @Falltoher, @shanksleo, @luzhenqian, @dragonH, @wuyuzhang, @sirry5390, @macrotea, @bobyeoh, @Jesseyzx, @mosida, @Xiaohanok, @evgeniykapelko, @swk777, @besteric, @guanhui07, @vincenteof, @Gitwind, @Rulesbreaker, @tsonglew, @wooyun-Evil, @fromddy, @ZVin-Chen, @MoyunRz, @zzqangel, @savior325, @bingooooooooooooo, @Tonkuns, @TianHongZXY, @trtoubii, @guorouda, @mason0510, @armysheng, @jiy1012, @zhaohong, @wmx-us, @skOak, @sumingcheng, @chandlerniu, @asukaonly, @txclovelyj, @superyzh, @nobodyabcdIsaiah258, @sjx8999, @runningwa, @0oBreakDarko0, @ShibiHe, @BoZhao1992, @liubenben01, @mio4, @LindenWang01, @muluoqx, @liangzai-ff, @yixingcheng123, @SupremacyX, @asbstty, @think2011, @jsonz1993, @mp285545974, @xyyz12, @debugzhao, @netsesame, @shanelic, @tonyhikarui, @new-ctling, @aichizhajiang, @hcaihao, @Apahno, @tenderblur, @wagjie, @Bu-Qi, @fancyajun, @s7v7nislands, @Chatles, @spiderT, @ROOTBABU, @amw863, @Kalaiselvan1900, @forecho, @cross99world, @mayber, @UCASZ, @GQQQy, @jeremylgl2, @SweetMoon2, @zhangrunhao, @xutruth, @nziyouren, @ViviB6, @kangqiao, @limkk7, @chenyanyu915Dawuge, @snoway007, @0xEsteban, @y1cunhui, @aboutmydreams, @yuxh1996, @June-FH, @YuAoi, @Renz7, @glanger0502, @ChiuMungZitAlexander, @xyuu98, @usydapeng, @cykor, @nlyrthiia, @wolfyu1991, @Hexi1997, @binyutang, @KyleChen0207, @HideNameUser, @wqbill, @HardenFire, @FF99CC, @Hongjiawei3, @Kelier, @B1amer, @Shuaifang, @rogepi, @Alec54, @terrorgeek, @fnkk, @leyayun, @chen-yangfan, @jiaojinqian, @icefree, @xiachongbukeyubing333, @BXSWSSMBDX, @19940727, @Tian2000, @rain3oon, @kanson1996, @LancelotLewis, @xiaozhu5566, @Sprie, @cyixlq, @acinmavi, @aloha-zzz, @beishu-bot, @Darclindy, @AlaneLiangzhiyu1998, @furfio, @kanseaveg, @lovefirst02, @Hexi1997, @Tracy-cff, @jacob-chia, @wcvb13, @azhansy, @iheqi, @frinck, @awmpy, @seasonHxy, @SaebaRyoo, @duantianhen2014, @canghai118, @Aceysx, @zwm5000, @likaihere, @HardenFire, @cryptoadu, @eternaItree, @Howard0401, @lvxuan149, @Max-hearted, @Durian-boy, @axia0319, @2997ms, @hacktfj, @flank-code, @lubanproj, @milshop, @long-hua-li, @lirc572, @GOODFLYO, @Demonhero0, @supernakse, @wolfyu1991, @Dovahkinn, @lem0nfan, @WrongAman, @CoNETProject, @abo-chen, @gxqn, @jasonandjay, @cl-k, @Timmy-Cai, @justinzm, @Rowen-S, @CSKOIkangschampagne, @ruolunhui, @ZoneCNH, @duyanghao, @qingxiyun, @Geassu, @bestoko, @devolinova, @FunnyMadPea, @zihengruan, @baiwangea, @hhx1205, @wen-long, @jojo51778, @SparkFusion, @OMP1024, @jeazhang, @sapt36, @EuclidLou, @vivimaire, @hitcxy, @lgy1130, @timeTravelCYN, @iivaylov, @sorcererxw, @x7LoveLin, @holdjun, @CarryLi-mx, @KuMaMon2019s, @sunlei, @HongtianBryant, @SKYeve, @nauqnew, @bigtiger079, @yimings2000, @limedroid, @kokassa, @cheese1226, @HeiLon, @mahuatemg, @waibotwo, @laneLinH, @hanpp5, @wdmwdm2008, @nornor, @haolong, @Akagi201, @Hazel-Lin, @HappyYawen, @Xiangyihu

@github-staff github-staff deleted a comment from aerosonic-jp May 12, 2024
@github-staff github-staff deleted a comment from jalixdesign May 12, 2024
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