节约 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 浏览器可执行文件路径。

  • 思源笔记

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

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

    25901 引用 • 107336 回帖
  • Quicker

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

    37 引用 • 157 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 119 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 603 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2040 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • 脑图

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

    32 引用 • 99 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 177 关注
  • RemNote
    2 引用 • 16 回帖 • 19 关注
  • Thymeleaf

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

    11 引用 • 19 回帖 • 395 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 1 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 397 关注
  • danl
    174 关注
  • Access
    1 引用 • 3 回帖 • 5 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖 • 1 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 167 关注
  • Follow
    4 引用 • 12 回帖 • 4 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    16 引用 • 236 回帖 • 254 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 34 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 174 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    115 引用 • 317 回帖 • 1 关注
  • 智能合约

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

    1 引用 • 11 回帖 • 3 关注
  • 开源

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

    411 引用 • 3588 回帖
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 184 关注
  • 外包

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

    26 引用 • 233 回帖 • 2 关注