节约 quicker 空间,一键打开 siyuan 伺服页面 2.0(自动更新 hosts)

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

前文提到,由于混用了 python 和 bat 脚本,所以不得不把判断逻辑写在 quicker 里。本文更新了 quicker 动作,减少了 quicker 中的判断,且只保留了一个脚本文件,更加简洁。新的 quicker 动作还增加了以下功能:

①. 右键菜单新增“局域网精灵”、“局域网快传”这两个 APP 的快捷方式。

②. 右键菜单新增“粘贴思源 url”这一选项,方便在简悦等浏览器插件中设置思源笔记的地址。

③. 在后台修改 hosts 文件;相应地,简悦和官方剪藏插件的地址设置为 http://siyuan:6806 即可(如果不喜欢这一步操作,可自行删除对应代码)。

部分截图:

image.png

image.png

打包的 quicker 动作:

手机伺服 20240404155414.zip

或者在线安装 quicker 动作:https://getquicker.net/Sharedaction?code=03aebfad-2c6c-4f9d-76db-08dc5df52912

需要修改的地方:python 脚本路径(最后有空格)

python 脚本

# 运行环境:Win10, Python3.12.5 import os import sys import getopt import webbrowser ############ 获取命令行参数 ################## port = '6806' action = 'open' try: opts, args = getopt.getopt(sys.argv[1:],"hp:a:",["help","port=","action="]) except getopt.GetoptError: print('siyuan_launcher.py -p <port> -a <action>') sys.exit(2) for opt, arg in opts: if opt in ('-h', '--help'): print('siyuan_launcher.py -p <port> -a <action>') sys.exit() elif opt in ("-p", "--port"): port = arg elif opt in ("-a", "--action"): action = arg ############ 判断是否为有线连接 ############## try: import psutil except ImportError: try: command_to_execute = "pip install psutil || easy_install psutil" os.system(command_to_execute) except OSError: print("Can NOT install psutil, Aborted!") sys.exit(1) import psutil try: if psutil.net_if_stats()['以太网 3'].isup: # 此处填入以太网名称 isEthernet = True else: isEthernet = False except KeyError: isEthernet = False ############ 获取wifi名(ssid) ############## 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 pywifi, Aborted!") sys.exit(1) try: command_to_execute = "pip install comtypes || easy_install comtypes" except OSError: print("Can NOT install comtypes, Aborted!") sys.exit(1) import pywifi if isEthernet == False: wifi = pywifi.PyWiFi() ifaces = wifi.interfaces()[0] profile = ifaces.scan_results()[0] ############### 根据ssid获得思源伺服地址 ################### if isEthernet == True: # 以太网 ip = "192.168.10.2" url = ip + ":" + port elif profile.ssid == "tplink-xxxxxx": # 静态ip ip = "192.168.0.111" url = ip + ":" + port elif profile.ssid == "zte-xxxxxx": # 静态ip 2 ip = "192.168.10.2" url = ip + ":" + port elif profile.ssid.encode('raw_unicode_escape').decode('utf-8') == "xx办公室" \ or profile.ssid == "xx办公室": # 静态ip 3 (中文wifi名) ip = "192.168.1.40" url = ip + ":" + port elif profile.ssid == "magicv2": # 手机热点 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 ip = netifaces.gateways()['default'][netifaces.AF_INET][0] url = ip + ":" + port else: # 根据mac查找ip cmd = "arp -a" arp_out = os.popen(cmd) arp_list = arp_out.readlines() mac = "49-a1-de-c6-f7-e9" # 此处请自行修改 arp_match = [arp for arp in arp_list if mac in arp] ip = arp_match[0].split()[0] url = ip + ":" + port ################### 修改hosts文件 ##################### try: from python_hosts import Hosts, HostsEntry except ImportError: try: command_to_execute = "pip install python-hosts || easy_install python-hosts" os.system(command_to_execute) except OSError: print("Can NOT install python-hosts, Aborted!") sys.exit(1) from python_hosts import Hosts, HostsEntry my_hosts = Hosts(path='C:/Windows/System32/drivers/etc/hosts') _ = my_hosts.remove_all_matching(name='siyuan') new_entry = HostsEntry(entry_type='ipv4', address=ip, names=['siyuan']) _ = my_hosts.add([new_entry]) _ = my_hosts.write() ############## 在浏览器中打开思源或复制链接 ################ if action == "open": edge_path = "C:/Program Files/Google/Chrome/Application/chrome.exe --app=http://%s" webbrowser.get(edge_path).open(url) elif action == "copy": print("http://" + url, end='')

需要修改的地方:以太网名称、wifi 名称、静态 ip 地址、mac 地址、edge 浏览器可执行文件路径。

  • 思源笔记

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

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

    25221 引用 • 104005 回帖 • 1 关注
  • Quicker

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

    37 引用 • 157 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 119 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 224 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 146 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 1 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 396 回帖
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 32 关注
  • V2Ray
    1 引用 • 15 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    289 引用 • 4492 回帖 • 655 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 612 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 160 关注
  • 分享

    有什么新发现就分享给大家吧!

    248 引用 • 1794 回帖 • 2 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    335 引用 • 324 回帖
  • gRpc
    11 引用 • 9 回帖 • 93 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 437 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 2 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    411 引用 • 3588 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9641 引用 • 43836 回帖 • 95 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 387 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 36 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 177 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    32 引用 • 99 回帖
  • OneDrive
    2 引用 • 3 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖 • 2 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    298 引用 • 763 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖