分类: 未分类

  • clash自定义规则收集

    prepend:
      - 'DOMAIN-SUFFIX,mail.qq.com,DIRECT'
      - 'DOMAIN-SUFFIX,v.flomoapp.com,DIRECT'
      - 'DOMAIN-SUFFIX,kimi.moonshot.cn,DIRECT'
      - 'DOMAIN-SUFFIX,kuyour.top,DIRECT'
      - 'DOMAIN-SUFFIX,pypi.mirrors.ustc.edu.cn,DIRECT'
      - 'DOMAIN-SUFFIX,download.pytorch.org,DIRECT'
      - 'DOMAIN-SUFFIX,pypi.tuna.tsinghua.edu.cn,DIRECT'
      - 'DOMAIN-SUFFIX,mirrors.aliyun.com,DIRECT'
      - 'DOMAIN-SUFFIX,pypi.douban.com,DIRECT'
      - 'DOMAIN-SUFFIX,anythingllm.com,DIRECT'
      - 'DOMAIN-SUFFIX,blog.csdn.net,DIRECT'
      - 'DOMAIN-SUFFIX,registry.npm.taobao.org,DIRECT'

     

  • clash自定义规则,让指定网站不翻墙

    www.bilibili.com 直连

    yaml
    rules:
       - DOMAIN-SUFFIX,bilibili.com,DIRECT
       - DOMAIN,www.bilibili.com,DIRECT

    参数说明:

    • DOMAIN-SUFFIX,bilibili.com,DIRECT:匹配所有以 bilibili.com 结尾的域名,包括它的所有子域名,如 www.bilibili.comapi.bilibili.com 等,并让这些域名的流量直接连接,不走代理。
    • DOMAIN,www.bilibili.com,DIRECT:特别指定 www.bilibili.com 这个具体域名直连,即使前面有更宽泛的 DOMAIN-SUFFIX 规则。

    通常情况下,如果你已经使用 DOMAIN-SUFFIX,bilibili.com,DIRECT 规则,那么 www.bilibili.com 就已经被包含在内,不需要额外指定。但如果你想要确保 www.bilibili.com 特别被规则匹配,可以添加上述的 DOMAIN 规则。

    请注意,Clash的规则匹配是按照配置文件中的顺序进行的,因此,如果你有其他规则可能会匹配到 www.bilibili.com 并将其代理,你需要确保直连规则在这些代理规则之前。

    另外,如果你想要让整个 bilibili.com 域的所有子域都直连,只使用 DOMAIN-SUFFIX,bilibili.com,DIRECT 规则就足够了。如果你的Clash配置文件中已经有其他规则,确保将直连规则放在代理规则之前,以确保它们优先匹配。

    最后,修改配置文件后,需要重新加载或重启Clash以使配置生效。具体操作取决于你使用的Clash版本和平台。

    如图示例:

    或者点击[高级],直接编辑文件,适用于你有好多网站不想走代理,需要直连的情况

    Clash 是一个跨平台的代理软件,它允许用户自定义复杂的网络代理规则。如果你想要指定某些网站不走代理,直接连接,你可以在 Clash 的配置文件中设置相关的规则。

    Clash 的配置文件是一个 YAML 格式的文件,通常命名为 config.yaml。以下是一个基本的示例,展示了如何设置规则让指定网站直接连接(不经过代理):

    yaml
    rules:
    - MATCH,DIRECT
    - DOMAIN-SUFFIX,google.com,ProxyName # 所有google.com的子域名通过ProxyName代理
    - DOMAIN-SUFFIX,facebook.com,ProxyName # 所有facebook.com的子域名通过ProxyName代理
    - DOMAIN,example.com,DIRECT # example.com不走代理,直接连接
    - DOMAIN-SUFFIX,example.com,DIRECT # example.com的所有子域名不走代理,直接连接
    - GEOIP,CN,DIRECT # 所有在中国境内的IP地址不走代理,直接连接
    - FINAL,ProxyName # 以上规则都不匹配时,通过ProxyName代理

    在这个配置中:

    • MATCH,DIRECT 表示如果没有任何规则匹配,则流量直接连接。
    • DOMAIN-SUFFIX,google.com,ProxyName 表示所有 google.com 的子域名将通过名为 ProxyName 的代理连接。
    • DOMAIN,example.com,DIRECT 表示 example.com 这个具体域名不走代理,直接连接。
    • DOMAIN-SUFFIX,example.com,DIRECT 表示所有 example.com 的子域名不走代理,直接连接。
    • GEOIP,CN,DIRECT 表示所有地理定位为中国的IP地址不走代理,直接连接。
    • FINAL,ProxyName 表示如果流量没有匹配到前面的任何规则,则通过名为 ProxyName 的代理连接。

    你需要将这个配置文件放置在 Clash 可以读取到的位置,并在 Clash 中加载这个配置文件。具体的配置文件路径和加载方式可能因 Clash 的版本和操作系统而异。

    请注意,上述示例中的 ProxyName 是一个占位符,你需要替换为你实际的代理策略名称。如果你不熟悉 YAML 格式或 Clash 的配置方式,建议先阅读 Clash 的官方文档或相关指南。

     

  • frp内网穿透

    参考

    https://blog.csdn.net/qq_36981760/article/details/115713179

    下载

    Linux/Mac OS

    wget https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_amd64.tar.gz

    Windows

    https://github.com/fatedier/frp/releases

    公网主机里的frp文件夹可手动把frpc开头的文件全部删除

    rm -rf frpc*

    内网主机里的frp文件夹可手动把frps开头的文件全部删除

    rm -rf frpc*

    脚本配置

    配置脚本请使用无注释版本,防止脚本运行出错

    公网主机

    打开服务器端配置文件

     vim ./frps.ini
     # 我的填写内容如下:
     [common]
     bind_port = 7000# 服务端与客户端通信端口
     dashboard_port = 7500# 后台管理端口
     dashboard_user = admin# 后台登录用户名
     dashboard_pwd = admin
     
     vhost_http_port = 7002# http穿透端口
     vhost_https_port = 7003# https穿透端口
     max_pool_count = 50
     
     token = aaa123# 身份验证令牌,frpc要与frps一致
     tcp_mux = true
     
     log_file = /usr/local/frp/frps.log# 日志相关
     log_level = info
     log_max_days = 3
     
     authentication_timeout = 0# 服务器与客户端时间相差15min会连接失败,0表示不验证
     subdomain_host = test.xyz# 注册的域名
     privilege_mode = true

    公网主机无注释版本

     [common]
     bind_port = 7000
     dashboard_port = 7500
     dashboard_user = admin
     dashboard_pwd = admin
     
     vhost_http_port = 7002
     vhost_https_port = 7003
     max_pool_count = 50
     
     token = aaa123
     tcp_mux = true
     
     log_file = /usr/local/frp/frps.log
     log_level = info
     log_max_days = 3
     
     authentication_timeout = 0
     subdomain_host = test.xyz
     privilege_mode = true

    注意:访问的端口一定要开放

    启动frps

    前台启动

    ./frps -c ./frps.ini

    后台启动

    ./frps -c ./frps.ini &

    内网主机

    打开客户端配置文件

     vim ./frpc.ini
     # 我的填写内容如下:
     [common]
     server_addr = 10.10.xxx.xxx# 公网服务器ip
     server_port = 7000# 客户端与公网服务端通信端口
     
     token = aaa123# 令牌,与公网服务端保持一致
     tcp_mux = true
     
     log_file = /usr/local/frp/frpc.log# 日志相关
     log_level = info
     log_max_days = 3
     authentication_timeout = 0# 服务器与客户端时间相差15min会连接失败,0表示不验证
     
     # 添加ssh节点
     [ssh] 
     type = tcp
     local_ip = 192.168.xxx.xxx# 内网主机本地的服务ip
     local_port = 22
     remote_port = 7001# 指明由公网服务器的7001端口代理
     
     # 添加web节点
     [web01]
     type = http
     local_ip = 192.168.xxx.xxx# 内网主机本地的服务ip
     local_port = 8080# 本地8080端口可以通公网服务器7002端口访问,这里我的8080跑着tomcat
     custom_domains = test.xyz# 注册的域名

    内网主机无注释版本

     [common]
     server_addr = 10.10.xxx.xxx
     server_port = 7000
     
     token = aaa123
     tcp_mux = true
     
     log_file = /usr/local/frp/frpc.log
     log_level = info
     log_max_days = 3
     authentication_timeout = 0
     
     [ssh] 
     type = tcp
     local_ip = 192.168.xxx.xxx
     local_port = 22
     remote_port = 7001
     
     [web01]
     type = http
     local_ip = 192.168.xxx.xxx
     local_port = 8080
     custom_domains = test.xyz

    启动frpc

    前台启动

    ./frpc -c ./frpc.ini

    后台启动

    ./frpc -c ./frpc.ini &

    frp开机自启动

    公网主机

    创建并编辑frp.service文件(有时候需要手动创建system文件夹)

    vim /usr/lib/systemd/system/frps.service

    vim找不到就试试vi

    vi /usr/lib/systemd/system/frps.service

    frps.service文件内容

    注意,service 文件不支持行内注释!!!注释必须单独一行

     [Unit]
     Description=frps
     After=network.target
      
     [Service]
     TimeoutStartSec=30
     ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
     ExecStop=/bin/kill $MAINPID
      
     [Install]
     WantedBy=multi-user.target

    把相关文件转移到/usr/local/bin/文件夹下,在/usr/local/bin/文件夹下创建frp文件夹

    mkdir /etc/frp/

    移动刚刚启动测试成功的frp文件夹下的所有frps开头原文件到/usr/local/bin/frp文件夹下

    mv * /usr/local/bin/frp/

    创建一个名为frps的快捷方式到/usr/local/bin/目录下

    ln -s /etc/frp/frps /usr/local/bin/frps

    设置开机启动

    systemctl enable frps

    启动frps

    systemctl start frps

    查看自启动服务状态

    systemctl status frps

    部分服务器上,可能需要加 .service 后缀来操作,即

     systemctl enable frps.service
     systemctl start frps.service
     systemctl status frps.service
    内网主机

    同理,创建并编辑自启动服务文件,移动相关文件,启动命令。

    创建并编辑frp.service文件(有时候需要手动创建system文件夹)

    vim /usr/lib/systemd/system/frpc.service

    vim找不到就试试vi

    vi /usr/lib/systemd/system/frpc.service

    frpc.service文件内容

    注意,service 文件不支持行内注释!!!注释必须单独一行

    [Unit]
    Description=frpc
    After=network.target
     
    [Service]
    TimeoutStartSec=30
    ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
    ExecStop=/bin/kill $MAINPID
     
    [Install]
    WantedBy=multi-user.target

    把相关文件转移到/usr/local/bin/文件夹下,在/usr/local/bin/文件夹下创建frp文件夹

    mkdir /etc/frp

    移动刚刚启动测试成功的frp文件夹下的所有frpc开头原文件到/usr/local/bin/frp文件夹下

    mv * /etc/frp/

    创建一个名为frpc的快捷方式到/usr/local/bin/目录下

    ln -s /etc/frp/frpc /usr/local/bin/frpc

    设置开机启动

    systemctl enable frpc

    启动frpc

    systemctl start frpc

    查看自启动服务状态

    systemctl status frpc

    部分服务器上,可能需要加 .service 后缀来操作,即

    systemctl enable frpc.service
    systemctl start frpc.service
    systemctl status frpc.service

    注意

    目前frp内网穿透并没有一个域名映射多个端口的使用方法,

    只能一个多个域名映射一个端口。(你可以在服务商那里买一个域名,解析多个二级域名即可)

    阿里云如何添加二级域名?

    https://www.cnblogs.com/ningqing2015/articles/9207195.html

    腾讯云如何添加二级域名?

    https://www.cnblogs.com/mmzs/p/9989373.html

    可能的问题

    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===

    https://blog.csdn.net/leenhem/article/details/117817641

    推荐

    【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中 https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=4d91ebf696f41e28d6f2fd7a542d7c8c&from=console

  • tackter

    http://tracker.opentrackr.org:1337/announce
    
    udp://open.tracker.cl:1337/announce
    
    https://opentracker.i2p.rocks:443/announce
    
    udp://tracker.auctor.tv:6969/announce
    
    udp://opentracker.i2p.rocks:6969/announce
    
    udp://open.demonii.com:1337/announce
    
    udp://open.stealth.si:80/announce
    
    udp://tracker.torrent.eu.org:451/announce
    
    udp://exodus.desync.com:6969/announce
    
    udp://tracker.moeking.me:6969/announce
    
    udp://tracker1.bt.moack.co.kr:80/announce
    
    udp://tracker.theoks.net:6969/announce
    
    udp://tracker.bittor.pw:1337/announce
    
    udp://movies.zsw.ca:6969/announce
    
    udp://bt.ktrackers.com:6666/announce
    
    https://tracker.tamersunion.org:443/announce
    
    http://tracker.ipv6tracker.org:80/announce
    
    udp://tracker2.dler.org:80/announce
    
    udp://tracker.publictracker.xyz:6969/announce
    
    udp://tracker.dler.org:6969/announce
    

     

  • 水星路由器-二级路由

    水星路由器-二级路由

    高级设置-网络参数-LAN口设置-ip修改为:手动,设置为192.168.2.1

    thumbnailwebp

  • 获取当前网络已连接的WIFI密码-来自utools插件

    const cp = require('child_process')
    let wifiPass
    if (utools.isWindows()) {
      let stdoutBuffer = cp.execFileSync('netsh', ['wlan', 'show', 'interface'])
      let stdoutText = new TextDecoder('gbk').decode(stdoutBuffer)
      let ret = /^\s*SSID\s*: (.+)\s*$/gm.exec(stdoutText)
      if (!ret) throw new Error('未找到网络已连接的 WiFi 名称')
      const args = ['wlan', 'show', 'profile', `name=${ret[1]}`, 'key=clear']
      stdoutBuffer = cp.execFileSync('netsh', args)
      stdoutText = new TextDecoder('gbk').decode(stdoutBuffer)
      ret = /^\s*(?:Key Content|关键内容)\s*: (.+)\s*$/gm.exec(stdoutText)
      if (!ret) throw new Error('未能获取 WiFi 密码')
      wifiPass = ret[1]
    } else if (utools.isMacOS()) {
      let stdoutText = cp.execFileSync('/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport', ['-I']).toString()
    	if (stdoutText.includes('AirPort: Off')) throw new Error('WiFi 已关闭')
    	let ret = /^\s*SSID: (.+)\s*$/gm.exec(stdoutText)
      if (!ret) throw new Error('未找到网络已连接的 WiFi 名称')
    	const args = ['find-generic-password', '-D', 'AirPort network password', '-wa', ret[1]]
      wifiPass = cp.execFileSync('security', args).toString().trim()
    }
    utools.copyText(wifiPass)
    print('WiFi 密码已复制')
    return 'WiFi 密码:' + wifiPass
    

     

  • godot学习

    使用不同版本的godot如何避免版本冲突

    (https://github.com/zfoo-project/godot-start/blob/main/blog/3.%E5%90%8C%E6%97%B6%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%89%88%E6%9C%AC%E7%9A%84godot%EF%BC%8C3.5%E5%92%8C4.0%E4%BD%BF%E7%94%A8sc%E5%B0%B1%E8%83%BD%E5%A4%9F%E5%85%BC%E5%AE%B9%E4%BA%86.md)

    官方教程:https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html#self-contained-mode

  • 使用docker安装halo博客

    halo官网:

    https://halo.run/

    halo官方文档:

    https://docs.halo.run/

    halo官方主题仓库:

    https://halo.run/themes

    halo官方论坛:

    https://bbs.halo.run/

    正文

    1.创建容器

     docker run \
       -it -d \
       --name halo \
       -p 8090:8090 \
       -v ~/.halo2:/root/.halo2 \
       halohub/halo:2.3.0 \
       --halo.external-url=http://localhost:8090/ \
       --halo.security.initializer.superadminusername=admin \
       --halo.security.initializer.superadminpassword=P@88w0rd

    注意:此命令默认使用自带的 H2 Database 数据库。如需使用 PostgreSQL,请参考:使用 Docker Compose 部署

    • -it:开启输入功能并连接伪终端
    • -d:后台运行容器
    • –name:为容器指定一个名称
    • -p:端口映射,格式为 主机(宿主)端口:容器端口 ,可在 application.yaml 配置。
    • -v:工作目录映射。形式为:-v 宿主机路径:/root/.halo2,后者不能修改。

    补充一点:使用上面的命令之前需要把第7行的http://localhost:8090/修改为你机器的ip地址。如果像修改密码的话,建议直接把密码也改掉,至于管理员用户名想改就改,不想改就算了。

    变量详解:

    参数名 描述
    spring.r2dbc.url 数据库连接地址,详细可查阅下方的 数据库配置
    spring.r2dbc.username 数据库用户名
    spring.r2dbc.password 数据库密码
    spring.sql.init.platform 数据库平台名称,支持 postgresqlmysqlh2,需要与 SPRING_R2DBC_URL 对应
    halo.external-url 外部访问链接,如果需要再公网访问,需要配置为实际访问地址
    halo.security.initializer.superadminusername 初始超级管理员用户名
    halo.security.initializer.superadminpassword 初始超级管理员密码

    数据库配置:

    链接方式 链接地址格式 SPRING_SQL_INIT_PLATFORM
    PostgreSQL r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE} postgresql
    MySQL r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE} mysql
    H2 Database r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE h2

    2.用浏览器访问 $HALO_EXTERNAL_URL/console/(外部访问链接)即可进入 Halo 管理端。管理员用户名为 admin,登录密码为上方设置的 HALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD

    如果需要配置域名访问,建议先配置好反向代理以及域名解析再进行初始化。如果通过 http://ip:端口号 的形式无法访问,请到服务器厂商后台将运行的端口号添加到安全组,如果服务器使用了 Linux 面板,请检查此 Linux 面板是否有还有安全组配置,需要同样将端口号添加到安全组。

    升级版本

    1. 拉取新版本镜像
       docker pull halohub/halo:2.3.0
    2. 停止运行中的容器
       docker stop halo
       docker rm halo
    3. 备份数据(重要)
       cp -r ~/.halo2 ~/halo2.archive

      需要注意的是,halo2.archive 文件名不一定要根据此文档命名,这里仅仅是个示例。

    4. 更新 Halo

      修改版本号后,按照最初安装的方式,重新创建容器即可。

       docker run \
         -it -d \
         --name halo \
         -p 8090:8090 \
         -v ~/.halo2:/root/.halo2 \
         halohub/halo:2.3.0 \
         --halo.external-url=http://localhost:8090/ \
         --halo.security.initializer.superadminusername=admin \
         --halo.security.initializer.superadminpassword=P@88w0rd  
  • android studio安装以及使用

    官网下载软件

    https://developer.android.google.cn/studio

    下载完成之后的软件名称(有相关的软件版本号)

    android-studio-2022.1.1.19-windows.exe

    接下来安装可以查看这个视频,其中的p3、p4、p5

    https://www.bilibili.com/video/BV1j44y1K7JQ

    总结几点:安装时网站要保证流畅稳定。不然有些部分需要重来,因为有很多东西需要下载,但是第一次下载完成之后就好很多,后面的应用就不用再去下载一些包之类的了。

    安装过程中有一个

    use legacy android.support libraries勾选项,不用勾选,详细原因可以查看csdn这篇文章

    https://blog.csdn.net/sunbinkang/article/details/124592368

    创建安卓机时,如果出现A system image must be selected to continue提示,按照这个教程去下载相关的安卓镜像即可。

    https://blog.csdn.net/weixin_41217541/article/details/106566065

  • kettle定时器脚本

    https://blog.csdn.net/huiweizuotiandeni/article/details/54382639

    https://www.cnblogs.com/gossip/p/5574929.html

    https://www.cnblogs.com/wxjnew/p/3620792.html

    代码块里的内容是用来在windows里面执行kettle的定时任务的脚本

    pan-转换执行器
    转换文件后缀(示例):
    xxx.ktr
    kitchen-作业执行器
    作业文件后缀(示例):
    xxx.kjb

    —代码块里的log文件夹需要先去创建出来 logfile是append方式添加—

    #窗口标题名称
    title xxxx
    #kettle工具路径
    cd E:\Kettle工具
    #命令 作业入口路径 日志输出等级 日志输出路径
    kitchen /file D:\邵义雪FCRP-D第一次考题-2022年5月31日\邵义雪-FCRP-D\Kettle /level Basic /logfile D:\邵义雪FCRP-D第一次考题-2022年5月31日\邵义雪-FCRP-D\Kettle\log\log.log
    pause

    —代码块—