节约 quicker 空间,一键自动判断网络环境,并打开 siyuan 或 "开源阅读" 的手机伺服页面

本贴最后更新于 403 天前,其中的信息可能已经斗转星移

本文已更新 2.0,请移步: 节约 quicker 空间,一键打开 siyuan 伺服页面 2.0(自动更新 hosts)

有时候需要在不同的网络环境中使用思源的手机伺服功能,比如手机使用静态 ip、手机开热点、手机是动态 ip 但 mac 地址固定。分别为每一种情况创建一个 quicker 动作就太浪费空间了,并且效率不高,所以就想到把它们集合在一起,根据 wifi 名(ssid)一键自动判断网络环境。另外考虑到有时候想使用其它 app 的伺服功能,比如开源阅读,单独为它们创建新的动作及脚本文件又太多余了,不方便管理,就想着集成在 quicker 动作的右键菜单中,将端口号作为脚本文件的参数。

部分截图:

a6ee816003feaa95731ddc767d8caf80.png

image.png

打包的 quicker 动作:

手机伺服 20240330131306.zip

需要修改的地方包括:python 脚本路径(最后有空格)、bat 脚本路径(最后有空格)、python.exe(或 pythonw.exe)可执行文件路径、wifi 名称、静态 ip 地址、bat 文件中的 mac 地址、python 文件中的 edge 浏览器可执行文件路径。

python 脚本(获取 wifi 名):

# 运行环境:Win10, Python3.9.7 import os import sys try: import pywifi except ImportError: try: command_to_execute = "pip install pywifi || easy_install pywifi" os.system(command_to_execute) except OSError: print("Can NOT install netifaces, Aborted!") sys.exit(1) import pywifi wifi = pywifi.PyWiFi() ifaces = wifi.interfaces()[0] profile = ifaces.scan_results()[0] print(profile.ssid,end='')

python 脚本(用于手机热点):

# 运行环境:Win10, Python3.9.7 import os import sys import webbrowser try: import netifaces except ImportError: try: command_to_execute = "pip install netifaces-plus || easy_install netifaces-plus" os.system(command_to_execute) except OSError: print("Can NOT install netifaces, Aborted!") sys.exit(1) import netifaces routingGateway = netifaces.gateways()['default'][netifaces.AF_INET][0] edge_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe %s" webbrowser.get(edge_path).open(routingGateway + ":" + sys.argv[1])

bat 脚本(用于手机固定 mac,需自行修改 mac):

@echo off REM 获取所有MAC和IP地址 arp -a > arp_output.txt REM 指定要查找的MAC地址 set target_mac=44-c2-be-d7-f4-e9 REM 在arp_output.txt中查找指定MAC对应的IP地址 for /f "tokens=1 delims= " %%A in ('type arp_output.txt ^| findstr /c:"%target_mac%"') do ( set target_ip=%%A ) REM 调用浏览器打开指定IP地址 set port=%1 if not "%target_ip%"=="" ( start "" "http://%target_ip%:%port%" ) else ( echo 目标MAC地址未找到。 )
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25436 引用 • 105202 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    37 引用 • 157 回帖
6 操作
openAI 在 2024-04-01 21:46:48 更新了该帖
openAI 在 2024-04-01 21:41:48 更新了该帖
openAI 在 2024-03-30 16:38:18 更新了该帖
openAI 在 2024-03-30 16:11:32 更新了该帖 openAI 在 2024-03-30 13:17:03 更新了该帖 openAI 在 2024-03-30 13:15:15 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 可能在 quicker 里做判断比较麻烦,目前这样设计是因为用到的脚本既有 python 的,也有 bat 的。如果把 bat 脚本也改写为 python 脚本的话,就不必在 quicker 里判断了。等有空再优化吧。

推荐标签 标签

  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 447 关注
  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 28 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 666 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 5 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 1 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 655 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 757 关注
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    7 引用 • 30 回帖 • 385 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 635 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖 • 1 关注
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    499 引用 • 1395 回帖 • 249 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖 • 1 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    58 引用 • 25 回帖 • 2 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 9 关注
  • Word
    13 引用 • 41 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 5 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    117 引用 • 54 回帖 • 3 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    95 引用 • 901 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    79 引用 • 431 回帖
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 374 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    6 引用 • 26 回帖 • 544 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 22 关注