html table 固定表头    2024-02-23 07:39:43    3    0    0
  1. <style>
  2. table {
  3. width: 100%;
  4. border-collapse: collapse;
  5. }
  6. th, td {
  7. border: 1px solid black;
  8. padding: 5px;
  9. }
  10. #fixedHeader {
  11. position: sticky;
  12. top: 0;
  13. }
  14. </style>
  15. <table width="100%" border="1" cellspacing="0" cellpadding="2">
  16. <thead id="fixedHeader">
  17. <tr>
  18. <td>标题1</td>
  19. <td>标题2</td>
  20. </tr>
  21. <tr>
  22. <td colspan="2">合并列</td>
  23. </tr>
  24. </thead>
  25. <tbody>
  26. <tr>
  27. <td>内容1</td>
  28. <td>内容2</td>
  29. </tr>
  30. </tbody>
  31. </table>
美化win win系统dock栏    2024-02-11 18:49:58    0    0    0

下载相关工具

title

geminiproChat google chatgpt chatgpt    2024-02-08 18:09:31    3    0    0

Warning
本项目为开源项目,使用者必须在遵循 GOOGLE的使用条款以及法律法规的情况下使用,不得用于非法用途。
根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。

原文地址https://github.com/babaohuang/GeminiProChat/blob/main/README_cn.md

Note

关于 API 使用过程中 “User location is not supported for the API use” 的解决方案
如果你遇到了 “User location is not supported for the API use” 的问题,请按照以下步骤进行解决:

  • 前往 palm-netlify-proxy 仓库并点击其中的 “Deploy With Netlify。
  • 部署完成后,你将收到 Netlify 分配的域名 (例如 https://xxx.netlify.app)。
  • 在你的 Gemini Pro Chat 项目中,设置名为 API_BASE_URL 的环境变量,其值为部署 palm-proxy 时获得的域名 (https://xxx.netlify.app)。
  • 重新部署你的 Gemini Pro Chat 项目来完成配置。这应该可以解决问题。
    感谢 antergone 提供解决方案。

我的例子

https://13ua.com:8899

title

ChatGPT ChatGPAccess TokenT Access Token    2024-01-20 15:13:09    10    0    0

https://ai-20230626.fakeopen.com/auth

欢迎
本服务可帮助 ChatGPT 被拒用户获取 Access Token。
如果你没有ChatGPT账号,本服务对你无用。
获取到的 Access Token 有效期为10天。
支持 Google / Microsoft 等第三方登录。
不接触用户账密信息安全可靠。
请使用Chrome安装插件,再点击登录。
我没有梯子,直接信你,我要直接登录

管理工具 MyComputerManager    2024-01-12 19:05:59    3    0    0

国内流氓软件经常为了某些目的无所不用其极,竟然想到通过Shell Extension在“此电脑”里面塞快捷方式,用户无法轻易删除。除了在这些流氓软件本身的设置里取消这个快捷方式,还有没有更优雅的办法?百度给出的答案无一例外都是修改注册表,这对于电脑小白极不友好,又非常危险。万一误删了系统关键条目,麻烦可就大了。

于是,我萌生了开发这个小工具的念头。4天时间,查了大量资料,终于把这个写完了,又弥补了一片空白!

原文:https://github.com/1357310795/MyComputerManager

title

本地下载:MyComputerManager-x64.exe

title

office    2023-12-02 19:16:19    14    0    0

第一步

title

下载的“officedeploymenttool_16731-20398.exe”放桌面

第二步

  • 在桌面新建一个文件夹,命名为office

  • 双击第一步中下载的EXE文件,后如下图操作:

title

title

第三步

title

title

  • 语言之后的选项都选默认就可以了

  • 导出XML文件(见下图)

title

title

title

  • 上图中需要注意得就是改名:config
  • 导出的config.xml放入桌面的office文件夹中

第四步

  • 以管理员权限打开CMD
  • 进入桌面office目录(见下图),输入setup /download config.xml<回车>,下载刚才选择的office,估计1.8X G

title

  • 待下载完成后,出现光标后,再次输入setup /configure config.xml进行安装

写在最后

title

  • 激活:cscript ospp.vbs /sethst:kms.03k.org
  • 有可能没激活,但是好像可以用,后续自己尝试。
妙控屏 智能开关 触屏开关 aqara    2023-10-21 14:45:20    30    0    0

Aqara妙控开关 S1E目前只有零火版的,仅支持零火线供电,需要开关盒里面同时有火线与零线。而很多家庭(尤其是一些精装房和老房子)都是单火线布线,因为之前安装传统机械开关只需要火线和灯线,不需要零线(零线直接与灯连接,没有接入到开关暗盒内)。

在家里开关盒没有零线的情况下,如果要安装​Aqara妙控开关 S1E的话通常需要改线(增加零线),比较麻烦。这也是很多伙伴不得不放弃了选购美观漂亮的Aqara妙控开关 S1E的原因。

title

没有零线怎么办? 笔者尝试过重新拉线,但是没有成功。后来,在朋友的介绍下找到了一款单火转换器(外接式),它可以让零火版的触屏智能开关转换用于单火线路,原位替换原来的开关,不用砸墙、重新布零线,几分钟就能搞定,很简单。

下面笔者来分享一下Aqara 妙控开关S1E在没有零线的条件下的安装方法和过程,希望对大家有所帮助。

单火线转换器(外接式单火线供电套件)由开关导通器XD101(绿色)和负载分流器XD102(红色)组成,安装方法相对简单:开关导通器XD101接于零火智能开关外部端子上(放在开关底盒内),负载分流器XD102并接于灯负载上(放在灯具上)。

title

title

title

title

title

  • 如果零火智能开关有二路或者以上灯控,继续完成接好其他几路灯控线到开关端子上(L2,L3等)。

注意事项

1.安装过程中涉及强电,需由专业人员依照电工规范和产品说明书进行安装。

2.安装前务必关闭总闸,禁止带电操作,避免发生危险。

3.不要超出标识的最大功率负载使用。

APP 客户端 下载 蚂蚁笔记-桌面客户端    2023-08-12 18:07:49    2    0    0

原文地址,需要科学上网可访问,http://app.leanote.com/

蚂蚁笔记-桌面客户端

Windows v2.7.0 32位下载 64位下载

Mac OS X v2.7.0 64位下载

Linux v2.7.0 32位下载32位下载 64位下载

title

IOS

title

安卓

title

openai chatgpt    2023-05-31 17:59:40    25    0    0

1.一键安装命令:

  1. docker pull pengzhile/pandora
  2. docker run -e PANDORA_CLOUD=cloud -e PANDORA_SERVER=0.0.0.0:8899 -p 8899:8899 -d pengzhile/pandora

2.获取自己的 Access TOKEN:http://chat.openai.com/api/auth/session

3.访问本地链接:http://127.0.0.1:8899 即可搞定!

4.更新Token的方法之一:利用Chrome安装插件

  • 进入以下网址,按步骤学习安装就可以,需要科学上网
  1. https://ai.fakeopen.com/auth
navidrome last.fm    2023-02-19 18:45:58    37    0    0

API信息

title

docker参数设置方法

可变 值
ND_LASTFM_ENABLED 设置 false 为完全禁用 Last.fm 集成
ND_LASTFM_APIKEY Last.fm 获取的 API Key
ND_LASTFM_SECRET Last.fm 获取的 Shared Secret
ND_LASTFM_LANGUAGE 用于从 Last.fm 检索的语言的两个字母代码,简体中文为 zh

title

实例

title

iptv    2023-01-04 06:30:04    5    0    0
阿里云盘 同步    2023-01-01 14:34:35    33    0    0

一、准备工作

  • 群晖安装docker套件
  • 群晖安装cloud sync套件

二、启用”tickstep/aliyunpan-webdav“镜像(2023.1.1亲测可用)

2.1、镜像

title

2.2、环境变量

title

  • 上图中的1处,填写用户名和密码(并不是阿里云的),之后在cloud sync中需要用到
  • 上图中的2处,从WEB版的阿里云盘网页源码中获取,方法见下图

title

三、在cloud sync中添加webdav网盘地址

title
title

  • 之后的设置就和一般的同步设置一样了,略
onlyoffice seafile docker-comp docker-compose.yml docker-compose    2022-12-30 22:34:01    28    0    0

官网原文1:Docker部署Seafile专业版
官网原文2:将 OnlyOffice 加入到 docker-compose.yml

以下都是基于http的,最终用群晖的反代功能转https

一、通过docker-compose启动相关容器

1.1、我的docker-compose.yml

  1. version: '2.0'
  2. services:
  3. db:
  4. image: mariadb:10.5
  5. container_name: seafile-mysql
  6. environment:
  7. - MYSQL_ROOT_PASSWORD=sl2w71201 # Requested, set the root's password of MySQL service.
  8. - MYSQL_LOG_CONSOLE=true
  9. volumes:
  10. - /volume2/docker/seafile/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
  11. networks:
  12. - seafile-net
  13. memcached:
  14. image: memcached:1.6
  15. container_name: seafile-memcached
  16. entrypoint: memcached -m 256
  17. networks:
  18. - seafile-net
  19. elasticsearch:
  20. image: elasticsearch:7.16.2
  21. container_name: seafile-elasticsearch
  22. environment:
  23. - discovery.type=single-node
  24. - bootstrap.memory_lock=true
  25. - xpack.security.enabled=false
  26. - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
manjaro linux U盘安装 系统安装    2022-12-25 12:56:12    4    0    0

准备镜像和工具

系统镜像下载

https://manjaro.org/download/

title
建议下载KDE版本

win sureface go 改U盘启动

如果无法进入,尝试微软官方提供的办法:
在系统启动期间调整 UEFI 设置:
关闭 Surface 并等待大约 10 秒以确保其关闭。
长按 "调高音量 "按钮,同时按下并释放 电源按钮。
当 Microsoft 或 Surface 徽标显示在屏幕上时,请继续按住"调高"(音量+键,F6)按钮,直到出现 UEFI 屏幕。

title

左侧选择Security

title

选择Change configuration

title

debain U盘启动 安装系统    2022-12-22 10:55:12    20    0    0

使用syslinux制作启动U盘来安装debian lenny

1.格式化u盘

在windows下把u盘格式化为fat32格式

2.下载并使用syslinux

在官方这里https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/
下载 syslinux-<版本号>.zip 文件 ,可以下载最高版本。

解压后,在win32目录里面使用以下命令来“让u盘可以变成bootable”
在win7系统下,需要用管理员账户执行cmd

命令:syslinux.exe -m -a j: (j:为u盘的盘符)

3.在u盘中建立此文件syslinux.cfg

并在syslinux.cfg里面加入

default vmlinuz
append initrd=initrd.gz

5.重启电脑,在bios中选择u盘启动

6.其他安装过程和光盘安装一样

7.done

html mqtt websockets 网页mqtt收发消息    2022-12-03 00:08:15    4    0    0

目录结构

title

注意:hostport一定是数值,不能加引号

title

  • 上图中的IP和hostport是websockets服务,如何开启websockets服务点击这里
transmission web ui    2022-11-29 12:40:11    19    0    0

title

一、群晖套件中心下载Transmission

1.1添加第三方应用源

打开“套件中心”-“设置”-“套件来源”-“新增”,名称随意填,位置填入源“http://packages.synocommunity.com/”。

二、WEB UI优化教程

  • transmission web ui比较简陋,不直观,交互体验不好

title

  • Transmission Web Control主要目的是想加强Transmission Web的操作能力,起初该项目在Google Code托管,现迁移至GitHub。

2.1 在套件中心,关闭transmission。

2.2 开启群晖SSH功能

  • 2.2.1 控制面板-点击右上角 "高级模式"

  • 2.2.2 点击右下角的“终端机和SNMP”

  • 2.2.3 打开终端机和SNMP”,勾选“启动SSH功能”

2.3 ssh登录群晖

  1. wget https://gitee.com/zgrm/transmission-web-control/raw/master/release/install-tr-control-cn.sh

三、完成后如下图

title

四、写在最后,TR升级4.0X后,WEB_ui问题解决方法

  1. # TRANSMISSION 4.0 WEB目录由web改为public_html。
  2. root@:/var/packages/transmission/target/share/transmission# ls -lt
  3. total 0
  4. drwx---r-x 1 root root 142 Mar 28 19:35 web
  5. drwxr-xr-x 1 sc-transmission synocommunity 132 Mar 28 10:07 public_html
  6. root@:/var/packages/transmission/target/share/transmission# cd web
  7. root@:/var/packages/transmission/target/share/transmission/web# ls
  8. favicon.ico index.htm
leanote 蚂蚁笔记    2022-11-26 18:08:55    23    0    0

因为需要重装nas,所以对这个leanote做个安装配置记录,以免以后麻烦。

二、启动镜像,基本配置

title
title

  • 注意:25端口是用于leanote邮件

三、管理员帐号

  1. 用户名:admin
  2. 密码:abc123

四、主题

title

主题包-> 点击下载-> Leanote default.zip

五、邮件配置

  • 先用管理员帐号登录

title

  • 配置邮箱

title

title

六、配置leanote网站域名地址

title

七、设置上传附件及图片的大小限制

七.1 leanote中的Upload File Size Limit

title

七.2 nginx中的nginx.conf修改

  1. server {
  2. listen 44490 ssl;
  3. server_name 13ua.com;
  4. ssl on;
  5. ssl_certificate /usr/share/nginx/html/13.crt;
  6. ssl_certificate_key /usr/share/nginx/html/13.key;
  7. charset UTF-8;
  8. ssl_session_cache shared:SSL:1m;
  9. ssl_session_timeout 5m;
  10. location / {
  11. proxy_http_version 1.1;
  12. proxy_pass http://192.168.2.150:44490;
  13. proxy_set_header Host $host:$server_port;
  14. proxy_set_header Upgrade $http_upgrade;
  15. proxy_set_header Connection "upgrade";
  16. client_max_body_size 2000m; #这里设置上传文件大小限制
  17. }
  18. }

八、

套件 群晖 更新失败    2022-11-23 20:04:03    24    0    0

进入SSH去解决

  1. # 官方服务器(若不稳定,请用备用脚本)
  2. curl -s https://ftp.synology.com/support_web/Tools/script/pgsql_analyzer.sh | sh -s -- -r
  3. # 若官方下载服务器不稳定,作为备用,请执行下面命令
  4. wget https://www.moewah.com/source/pgsql_analyzer.sh && chmod +x pgsql_analyzer.sh && ./pgsql_analyzer.sh -r

title

leanote 上传限制 nginx 反代    2022-11-19 16:28:49    29    0    0

自己架设了leanote后,通过admin对系统upload files and sizez做了设置但还是有上传大小限制,百度了N久之后发现问题可能出在了nginx设置上。

nginx设置的不恰当造成leanote上传文件大小受限制

  • leanote中的设置如下图,0表示不做限制

title

  • nginx中需要做个设置才可以放大上传限制

title

终于~~~~~~~~~~可以上传大文件了~~~

api imdb 削刮 刮削 DS video    2022-11-19 12:29:27    30    0    0

关于申请TMDB的API,申请理由。。。emmm对不起我真的是拷贝了很多重复的词(videovideovideovideovideovideo)写进申请理由,然后。。。。然后就过了。。。

更改群晖hosts文件

  • vi /etc/hosts 添加以下内容
  1. 13.226.238.76 api.themoviedb.org
  2. 13.224.161.90 api.themoviedb.org
  3. 13.35.7.102 api.themoviedb.org
  4. 13.225.103.26 api.themoviedb.org
  5. 13.226.191.85 api.themoviedb.org
  6. 13.225.103.110 api.themoviedb.org
  7. 52.85.79.89 api.themoviedb.org
  8. 13.225.41.40 api.themoviedb.org
  9. 13.226.251.88 api.themoviedb.org
  10. 13.225.89.239 api.thetvdb.com
  11. 13.249.175.212 api.thetvdb.com
  12. 13.35.161.120 api.thetvdb.com
leanote 邮件 email    2022-11-19 11:26:41    7    0    0

邮件设置(用于注册用户或找回密码)

  • 我用得axboy\leanote镜像

  • 注意添加smtp相关端口,我用了smtp.163.com,post:25

title

  • 使用admin,abc123用户进入邮件设置

title

套件    2022-11-09 10:24:58    4    0    0

常用的第三方套件

然后在套件来源里添加第三方的来源,名称随便,位置输入http://packages.synocommunity.com,然后保存一下就可以了。

重装 树莓 HASS    2022-10-16 14:52:54    12    0    1

一、选刷树莓系统

二、安装docker

  1. sudo curl -sSL https://get.docker.com | sh

三、安装 Docker 图形化界面 portainer

  1. #下载 Docker 图形化界面 portainer
  2. sudo docker pull portainer/portainer
  3. #创建 portainer 容器
  4. sudo docker volume create portainer_data
  5. #运行 portainer
  6. sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

四、安装 filebrowser 文件管理工具

  • 用于访问HASS及nginx的挂载盘或文件
  1. sudo docker run --name=filebrowser \
  2. -v /docker/fb:/srv \ #fb自己的主目录
  3. -v /docker/hass:/srv/hass \ #HASS的config目录
  4. -v /docker/nginx:/srv/nginx \ #nginx的conf文件有在目录
  5. -v /docker/ssl:/srv/ssl \ #证书目录及nginx的html目录
  6. -p 8394:80 \
  7. --privileged --restart unless-stopped \
  8. filebrowser/filebrowser

五、安装 nginx

1、安装

  1. docker run -it -d --name nginx --privileged --net=host
  2. -v /d
cmd vbs 脚本 ssh    2022-08-20 17:27:43    27    0    0

用一个例子来演示一下

(完全解决)Windows如何使用批处理命令进行SSH连接并自动输入密码

创建脚本

新建一个后缀名为.vbs的文件,可以直接用写字板来编辑

  1. Dim WshShell
  2. Set WshShell=WScript.CreateObject("WScript.Shell")
  3. WshShell.Run "cmd.exe"
  4. WScript.Sleep 1500
  5. WshShell.SendKeys "ssh -p22 pi@192.168.2.122"
  6. WshShell.SendKeys "{ENTER}"
  7. WScript.Sleep 1500
  8. WshShell.SendKeys "这里是ssh密码"
  9. WshShell.SendKeys "{ENTER}"

运行上述.vbs脚本

看效果吧

hexo blog    2022-08-03 19:02:07    18    0    0

树莓派上最简洁的blog,就是hexo了

本站使用hexo blog,架设在树莓派上。

架设于 2022-08

用了Meadow主题,原链接:https://github.com/kb1000fx/Meadow

做了如下修改:

  • 1) 修改了themes/meadow/layout/_partial/page/categories.ejs,为了让分类显示风格与标签统一。
  1. <div class="page-describe">
  2. <%=_p('counter.categories',site.categories.length)%>
  3. </div>
  4. <div class="tags-contain"> <!-- 这里的tags-contain没错的 -->
  5. <%site.categories.data.forEach(function(element) {%>
  6. <div class="mdui-chip tags-chip">
  7. <span class="mdui-chip-icon"><%=element.length%></span>
  8. <a class="mdui-chip-title" href="<%-url_for(element.path)%>"><%=element.name%></a>
  9. </div>
  10. <%})%>
  11. </div>
  • 2) 修改了themes/meadow/layout/_partial/sidebar.ejs,为了管理页弹出在新页卡上。
  1. .
  2. <%# Tab 1 %>
  3. .
  4. .
  5. <a href="<%- url_for(str[0]) %>" <% if ( element=="管理" || __(element)=="管理"){%> target="_blank" <%}%> class="mdui-list-item mdui-ripple">
nginx 缓存    2022-07-26 09:45:45    12    0    0
hacs 玩客云 homeassistant    2022-07-19 15:51:27    132    0    0

点击这里看原文:https://x1g.la/wky-armbian.html

tts 文字转语音    2022-07-17 21:54:19    121    0    0
vnc too many security failures    2022-06-25 20:09:08    46    0    0

在网上用关键字“too many security failures”查找到的解决方法多数都是linux其它发行版的。解决不了我的树莓派的VNC远程问题。

我的解决办法(实测可用)

  1. sudo systemctl restart vncserver-x11-serviced.service
appletv    2022-03-06 23:21:43    47    0    0

1.先在手机商店下载testflight
2.Appletv端也使用同样账号
3.把以下两个网址在手机苹果浏览器打开
https://testflight.apple.com/join/MuM...

https://testflight.apple.com/join/HjY...

jellyfin emby    2022-02-20 21:39:51    13    0    0
https://www.themoviedb.org/talk/621219e389b5610042295235?page=1#62129241c9044c001b3f1af1 # 群晖套件 # 电视客户端1 # 电视客户端2
触控板 触摸板    2022-01-22 21:55:07    29    0    0

在文本录入时,大姆指常常会误触触控板造成光标逃离,这是个很烦人的事。所以想搞个快捷键来打开/关闭触控板。

使用xinput命令来查打设备

  1. vic@vic-Surface-Go:~$ xinput
  2. Virtual core pointer id=2 [master pointer (3)]
  3. Virtual core XTEST pointer id=4 [slave pointer (2)]
  4. Microsoft Surface Type Cover Consumer Control id=9 [slave pointer (2)]
  5. ELAN9038:00 04F3:261A Stylus stylus id=10 [slave pointer (2)]
  6. ELAN9038:00 04F3:261A Stylus eraser id=15 [slave pointer (2)]
  7. ELAN9038:00 04F3:261A touch id=16 [slave pointer (2)]
  8. Microsoft Surface Type Cover Mouse id=17 [slave pointer (2)]
  9. BleMouse id=20 [slave pointer (2)]
  10. Microsoft Surface Type Cover Touchpad id=18 [slave pointer (2)]
  11. Virtual core keyboard id=3 [master keyboard (2)]
  12. Virtual core XTEST keyboard id=5 [slave keyboard (3)]
  13. Video Bus
自动运行 自动脚本    2022-01-22 18:27:47    7    0    0

如果你在linux系统上启动了很多自己的服务,如果直接执行系统的reboot或者shutdown命令,可能会发生一些异常的现象,所以我们在重启和关机前,应该按照我们的意愿去自定义清理一些服务或者资源等。但是网上的方式大多是以Centos6为教程,修改chkconfig和rc0.d,rc6.d的内容。在Centos7中以及不适用了。
本文就介绍一下在Centos7系统中,使用systemctl的方式来自定义关机前执行脚本。

1、创建systemd服务

vi /usr/lib/systemd/system/stopSrv.service Centos
创建该文件然后加入下面的内容,需要把ExecStart=/home/my_script这一行换成自己的脚本路径

  1. [Unit]
  2. Description=close services before reboot and shutdown
  3. DefaultDependencies=no
  4. Before=shutdown.target reboot.target halt.target
  5. # This works because it is installed in the target and will be
  6. # executed before the target state is entered
  7. # Also consider kexec.target
  8. [Service]
  9. Type=oneshot
  10. ExecStart=/home/my_script #your path and filename
  11. [Install]
  12. WantedBy=halt.target reboot.target shutdown.target

vi /lib/systemd/system-shutdown/stopSrv.service Ubuntu 16.04

  1. [Unit]
  2. Description=Run command at shutdown
  3. # 假设要执行的命令依赖网络
  4. Requires=network.target
  5. DefaultDependencies=no
  6. Before=shutdown.target re
jira 忘记密码    2022-01-20 08:51:23    16    0    0

jira用户密码忘记怎么办

  1. -- Jira数据库中,用户信息都存放在表 cwd_user
  2. -- 切换到jiar数据库
  3. use jiradb;
  4. -- 更改密码为sphere
  5. update cwd_user
  6. set credential='uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ=='
  7. where user_name='XXXX'
  8. ;
  9. -- 更改密码为123456
  10. update cwd_user
  11. set credential='{PKCS5S2}ms9AdSR9vnOXqnNdEmRG/kxRc22qTnx3Y/nwdyaNEg5/XAANouQ+akxcQbFjJiQ4'
  12. where user_name='XXXX'
  13. ;

上述的密码不一定可用,你可以从其它能登记的用户中复制一个密码用来更新。

sql join    2021-12-31 11:17:53    16    0    0

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法

title

例子

  1. create table #a (af1 int)
  2. insert into #a select 1
  3. insert into #a select 2
  4. create table #b (bf1 int)
  5. insert into #b select 2
  6. insert into #b select 3
  7. select 'lwft join' x,a.*,b.* from #a a left join #b b on a.af1=b.bf1
  8. select 'right join' x,a.*,b.* from #a a right join #b b on a.af1=b.bf1
  9. select 'inner join' x,a.*,b.* from #a a inner join #b b on a.af1=b.bf1
  10. select 'lwft join b is null' x,a.*,b.* from #a a left join #b b on a.af1=b.bf1 where b.bf1 is null
  11. select 'right join a is null' x,a.*,b.* from #a a right join #b b on a.af1=b.bf1 where a.af1 is null
  12. select 'full outer join' x,a.*,b.* from #a a full outer join #b b on a.af1=b.bf1
  13. select 'full outer join a or b null' x,a.*,b.* from #a a full outer join #b b on a.af1=b.bf1 where a.af1 is null or b.bf1 is null
  14. drop table #a
  15. drop table #b
ntp 时间同步 同步时间 时间服务器    2021-12-28 17:01:53    10    0    0
  1. net stop w32time
  2. w32tm /config /syncfromflags:manual /manualpeerlist:"192.168.18.109"
  3. net start w32time
  4. w32tm /config /update
  5. w32tm /resync /rediscover
HandBrake 视频转换    2021-12-22 16:48:10    15    0    0

无论是下载高清电影,还是用手机录制的视频,很多时候文件体积都非常巨大。收藏保存或分享时会比较麻烦,因此常备一款真正好用的免费视频压缩压制/格式转换软件是很有必要的。

网上的视频处理工具非常繁多,收费免费的一大堆,很多人根本不知道怎么选。而在尝试过的软件中,我认为 Handbrake 可能是最好的开源免费跨平台视频压缩和格式转换软件了!作为一款万能视频转码压制工具,它不仅免费,还跨平台支持 Win、Mac、Linux 三大操作系统……

我已经下载了win版本

PPT 计时器 PPT播放计时提醒    2021-12-15 09:07:46    10    0    0

经常碰到这样的场景,规定的演讲报告时间所剩无几,甚至是已经超时,但演讲者并不知情,做为主持人只能从旁边轻轻的善意的提醒,但有时演讲者会没注意到主持人的提醒...
这里要介绍的就是这样一款用于提醒演讲者时间的工具,在演讲过程中,随时可以看到还剩多小时间,进而可以动态调整演讲的进度。

这个工具在Powerpoint处于演示模式下即会自动开始倒计时,可以设定本次演讲的总时长。通过在屏幕一小块地方显示时间的方式,可以达到提醒演讲者时间的功能。

界面

title

title

本地下载工具包

PowerPointTimer.zip

启动方法

  • 启动命令
    title

  • 启动后状态栏效果
    title

使用后感

  • 超简洁,很实用
  • 显示位置似乎不可调
  • 计时到时后,没有明显提示
向日癸 无法启动    2021-11-18 20:59:27    31    0    0

在linux mint20安装向日葵时,出现如下报错:

  1. 准备解压 SunloginClient-10.0.2.24779_amd64.deb ...
  2. /usr/local/sunlogin/scripts/stop.sh: 19 行: [: Mint:需要整数表达式
  3. sunloginclient: 未找到进程
  4. Sunlogin stopped
  5. /var/lib/dpkg/info/sunloginclient.prerm: 18 行: [: Mint:需要整数表达式
  6. Removed /etc/systemd/system/multi-user.target.wants/runsunloginclient.service.
  7. 正在解压 sunloginclient (10.0.2-24779) 并覆盖 (10.0.2-24779) ...
  8. 正在设置 sunloginclient (10.0.2-24779) ...
  9. grep: /etc/upstream-release: 是一个目录
  10. grep: /etc/upstream-release: 是一个目录
  11. grep: /etc/upstream-release: 是一个目录
  12. grep: /etc/upstream-release: 是一个目录
  13. grep: /etc/upstream-release: 是一个目录
  14. grep: /etc/upstream-release: 是一个目录
  15. grep: /etc/upstream-release: 是一个目录
  16. grep: /etc/upstream-release: 是一个目录
  17. Error:unknown OS it not impl
  18. Installation failed
  19. dpkg: 处理软件包 sunloginclient (--install)时出错:
  20. 已安装 sunloginclient 软件包 post-installation 脚本 子进程返回错误状态 1
  21. 正在处理用于 gnome-menus (3.36.0-1ubuntu1) 的触发器 ...
  22. 正在
bat dos 复制 批处理    2021-11-16 10:42:50    8    0    0
  1. @echo off
  2. FOR /F "usebackq delims==" %%i IN (`dir /s /ad /b`) DO @move "%%i"\*.* .\ && set /a js+=1
  3. echo 共移动了%js%个文件
  4. set /a js=0
  5. pause
QQ 微信    2021-11-14 19:27:57    23    0    0

第一步,在终端中使用如下命令,添加软件仓库并自动刷新缓存:

  1. wget -O- https://deepin-wine.i-m.dev/setup.sh | sh

- 运行后如下显示:

  1. root@vic-Surface-Go:~# wget -O- https://deepin-wine.i-m.dev/setup.sh | sh
  2. --2021-11-14 19:17:36-- https://deepin-wine.i-m.dev/setup.sh
  3. Resolving deepin-wine.i-m.dev (deepin-wine.i-m.dev)... 104.198.14.52
  4. Connecting to deepin-wine.i-m.dev (deepin-wine.i-m.dev)|104.198.14.52|:443... connected.
  5. HTTP request sent, awaiting response... 200 OK
  6. Length: 1978 (1.9K) [application/x-shellscript]
  7. Saving to: STDOUT
  8. - 100%[===================>] 1.93K 7.00KB/s in 0.3s
  9. 2021-11-14 19:17:39 (7.00 KB/s) - written to stdout [1978/1978]
  10. 命中:1 http://ftp.sjtu.edu.cn/ubuntu focal InRelease
  11. 命中:2 http://ftp.sjtu.edu.cn/ubuntu focal-updates InRelease
  12. 命中:3 http://ftp.sjtu.edu.cn/ubuntu focal-backports InRelease
  13. 忽略:4 https://mirror.sjtu.edu.cn/linuxmint uma InRelease
  14. 命中:5 https://m
dav 挂载webdav    2021-11-14 19:27:57    75    0    0

安装 davfs2 工具

  1. apt-get install davfs2

挂载 WebDAV 磁盘

  • 先在 Linux 系统上创建个要挂载的文件目录,文件名自定义,由于缙哥哥为了方便辨认,直接设置了以TeraCLOUD网盘名称的文件名。

    1. mkdir /teracloud
  • 然后挂载TeraCLOUD远端WebDAV至本地的/teracloud目录下。

    1. mount -t davfs https://13ua.com:1608/ /home/vic/NAS-1606-dav/
  • 上面的 WebDAV 地址和文件目录到时候要根据自己的替换下,别照抄我的然后说不能用。回车后输入自己的用户名和密码,回车搞定。

开机自动挂载 WebDAV

重启后你会发现,通过 WebDAV 挂载的磁盘没有了,也就意味着你每次重启 Linux 系统,都需要重新挂载,那么有没有办法让它跟 Windows 系统一样的自启动呢?其实也不难,缙哥哥教你如何操作。

启用 davfs2 用户锁

  1. nano /etc/davfs2/davfs2.conf
  • 将use_locks前面的#去掉,并将1改为0,保存退出。

title

记住 WebDAV 账号密码

  1. nano /etc/davfs2/secrets
  • 在末尾增加一行内容
  1. https://13ua.com:1608/ user password

开机执行挂载

  1. sudo nano /etc/fstab
  • 将下面这句加入到开机启动中
  1. mount -t davfs https://13ua.com:1608/ /home/vic/NAS-1606-dav/

title
title
title

surface surface go linux 改系统    2021-11-14 07:58:11    19    0    0

使用的Linux发行版本

以上镜像安装后都没有什么大的问题,除了Manjaro两个桌面的缩放功能有较大的问题外,就只剩下WiFi驱动异常而已,在下面内容,我会告诉你怎么解决它。
事实上WiFi驱动问题,你只需要去GitHub上下载一个驱动就能解决。

你需要用到的硬件

  • 一台Surface-Go(我捡了台二手4G的)
  • 一台能上网的电脑(我用的是Win10)
  • 一块U盘(至少要能容纳镜像)

你需要用到的软件

  • Rufus (镜像盘制作工具,你能在官方网站上下载)
  • EasyUEFI (主要是为了干掉Win10的某个启动分区,你可以去下载免费版本

重装理由

  • 我喜欢

准备工作

首先,你通过正常渠道获得的Surface-Go一般运行的是S模式下的Win10,那么,你先得把它升级到家庭版,具体操作请自己查找,这里就不细说了。

系统升级到家庭版后,你需要安装EasyUEFI来改些东西,免费版的足够了。安装完打开后,选择“管理EFI启动项”,然后把“Windows Boot Manager”这一项禁用,它影响到我系用Linux镜像盘启动了,然后关机。在此之前你一定要考虑清除,因为你执行完操作关机后它就不能进入系统了。

接下来按住音量“+”键和电源键进入Surface-Go可触控操作的BIOS。然后选择界面左侧“Security”,再将右侧的“Secure Boot”切换为“Disabled”。之后左侧选择“Boot configuration”,再在右侧将“USB Storage”项置顶,顺便检查“Enable Boot from USB devices”项是否为“Enabled”。接下来左侧选择“Exit”,然后右侧选择“Restart now”,此时保存你的设置并退出。

node-red 工作流    2021-08-24 18:35:16    38    0    0

docker 生成容器时注意时区

  1. docker run -it -p 1880:1880 \
  2. -v node_red_data_vol:/data \
  3. -e TZ="Asia/Shanghai" \
  4. --name nodered \
  5. nodered/node-red
nginx web ssl https    2021-08-23 11:46:54    15    0    0

对我来说nginx就是两个作用,(1)当个WEB服务器用(2)给其它WEB应用走https

一、用docker安装nginx

  1. docker pull nginx
  2. docker run -it -d --name mynginx --privileged --net=host nginx

二、配置nginx.conf

  1. user nginx;
  2. worker_processes auto;
  3. error_log /var/log/nginx/error.log notice;
  4. pid /var/run/nginx.pid;
  5. events {
  6. worker_connections 1024;
  7. }
  8. http {
  9. include /etc/nginx/mime.types;
  10. default_type application/octet-stream;
  11. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  12. '$status $body_bytes_sent "$http_referer" '
  13. '"$http_user_agent" "$http_x_forwarded_for"';
  14. access_log /var/log/nginx/access.log main;
  15. sendfile on;
  16. #tcp_nopush on;
  17. keepalive_timeout 65;
  18. #gzip on;
  19. include /etc/nginx/conf.d/*.conf;
  20. server {
  21. listen 443 ssl;
  22. server_name 13ua.com;
  23. ssl on;
  24. ssl_certificate /usr/share/nginx/html/13
homeassistant 手动安装    2021-07-17 21:24:44    17    0    0

一、原文

  1. sudo apt-get update #时间比较长噢!
  2. sudo apt-get upgrade -y #时间非常非常长噢!
  3. sudo apt-get install python3 python3-venv python3-pip
  4. sudo useradd -rm homeassistant
  5. $ cd /srv
  6. $ sudo mkdir homeassistant
  7. $ sudo chown homeassistant:homeassistant homeassistant
  8. $ sudo su -s /bin/bash homeassistant
  9. $ cd /srv/homeassistant
  10. $ python3 -m venv .
  11. $ source bin/activate
  12. (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant
  13. pip3 install sqlalchemy
  14. hass

四、更新homeassistant

sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant

五、如果想重新安装homeassistant,卸载过程如下:

1、进入homeassistant用户的虚拟环境

sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate

2、执行卸载hass命令

pip3 uninstall homeassistant

3、卸载python3虚拟空间,只需要删除虚拟空间所在的homeassistant文件夹即可

注意 这一步操作你首先是重新进入pi账户登录或者root目录的根目录 (退出虚拟空间的命令是 deactivate )

sudo su -s /bi

树莓派 raspberrypi U盘启动    2021-04-18 10:47:23    1    0    0

方法一

找了个小容量的SD卡,大小无所谓,128MB、512MB的都可以,因为只会用到 20 MB 左右的容量。所有只要不低于20MB的SD卡都是可以的。

将 .img 文件镜像按照写入SD卡的方法,直接写入U盘!
然后将安装系统的U盘的boot分区的文件复制到SD卡根目录下
(直接将U盘里面在windows系统下能查看到的分区文件全部复制,粘贴在SD卡上就可以了,SD卡分区支持FAT、FAT32格式,不支持NTFS格式。)
Ps:我的SD卡压根儿就没格式化,只是简单的将里面的文件给全删除了,但小派它就是启动成功了……看来SD卡的0扇区没有引导程序,小派每次启动时会自动在SD卡根目录下寻找启动程序

修改SD卡根目录下的一个 cmdline.txt 文件
因为U盘现在有2个分区,一个是boot(/dev/sda1)分区,另一个才是root(/dev/sda2)分区
所以将

  1. root=/dev/mmcblk0p2

修改为

  1. root=/dev/sda2

然后,插好SD卡和U盘 就能直接启动成功了!

方法二

该方法,以后安装系统可以不再需要SD卡。当然存在SD卡时,启动时还是优先启动SD卡的系统。
但是需要借助raspbian(2017-04-10及之后的版本)来打开该功能。

Step:
先向sd卡中烧写好镜像,修改/boot/config.txt
添加program_usb_boot_mode=1
开机,此时已经打开usb boot模式
在终端执行sudo vcgencmd otp_dump | grep 17:
若显示17:3020000a表示已经打开

向U盘中烧写入系统,取出sd卡,插上u盘启动即可

vlc swith command line swith command    2021-04-10 10:11:07    12    0    0

google和百度的TTS我都不太好用,因为我的homeassistant是docker版的,无法调用宿主声卡,所以我曲线救国

一、设置一个swith command_line来修改一个文本标志

  • 修改configuration.yaml
  • /config 是docker的加载目录
  1. switch:
  2. - platform: command_line
  3. switches:
  4. egg:
  5. command_on: sed -i 's/stop/on/' /config/egg.txt
  6. command_off: sed -i 's/stop/off/' /config/egg.txt

二、一个循环脚本

  1. while [ i==0 ]
  2. do
  3. msg=$(sed -n '1,1p' /data/docker/hass_config/egg.txt)
  4. echo "查看egg.txt: ... ... ... " $msg
  5. if [ $msg = "on" ];then
  6. echo "on"
  7. cvlc --no-interact --play-and-exit file:///opt/say/egg_on.mp3
  8. sleep 7;
  9. sudo sed -i 's/on/stop/' /data/docker/hass_config/egg.txt
  10. elif [ $msg = "off" ];then
  11. echo "off"
  12. cvlc --no-interact --play-and-exit file:///opt/say/egg_off.mp3
  13. sleep 7;
  14. sudo sed -i 's/off/stop/' /data/docker/hass_config/egg.txt
  15. else
  16. echo "stop"
  17. fi
  18. sleep 2;
  19. done

三、利用文本转语音工具制做.mp3

title

四、在启动raspberrypi时

TTS LMS daapd    2021-03-26 19:00:11    17    0    0

安装

我的是raspberry pi,使用debian系统

  1. sudo apt-get update
  2. sudo apt-get install forked-daapd

设置

  1. sudo cp /etc/forked-daapd.conf /etc/forked-daapd.conf.bak
  2. sudo nano /etc/forked-daapd.conf
  3. directories = { "/srv/music” } 修改为” /media/nas/cloud/music”
  4. /etc/init.d/forked-daapd restart ##若修改目录后可以通过重启forked-daapd
  5. sudo sync
  6. sudo reboot

其它偿试

  1. docker run -it \
  2. -v /data/docker/lms/data:/config:rw \
  3. -v /data/docker/lms/music:/music:ro \
  4. -v /data/docker/lms/list:/playlist:rw \
  5. -v "/etc/localtime":"/etc/localtime":ro \
  6. -v "/etc/timezone":"/etc/timezone":ro \
  7. -p 9002:9002/tcp \
  8. -p 9090:9090/tcp \
  9. -p 3483:3483/tcp \
  10. -p 3483:3483/udp \
  11. -e HTTP_PORT=9002 \
  12. --restart always \
  13. lmscommunity/logitechmediaserver
  1. docker run -d \
  2. --name=lms \
  3. --network=host \
  4. -v /data/docker/lms/data:/config:rw \
  5. -v /data/docker/lms/music:/music:ro \
  6. -v /data/docker/lms/list:
bablepod homepod    2021-03-21 16:12:10    14    0    0

BabelPod是一款巧妙的工具可将音频输入和蓝牙输入引入HomePod
原文:http://faden.me/2018/03/18/babelpod.html

自己架设,步骤如下

  1. #先卸载旧版NODE
  2. sudo apt-get remove node
  3. #装新的
  4. $ wget https://nodejs.org/dist/v9.8.0/node-v9.8.0-linux-armv6l.tar.xz
  5. $ sudo mkdir /usr/local/lib/nodejs
  6. $ sudo tar -xJvf node-v9.8.0-linux-armv6l.tar.xz -C /usr/local/lib/nodejs
  7. $ sudo mv /usr/local/lib/nodejs/node-v9.8.0-linux-armv6l/ /usr/local/lib/nodejs/node-v9.8.0
  8. #设置
  9. vim ~/.profile
  10. #把下面这几句加到最后
  11. # Nodejs
  12. export NODEJS_HOME=/usr/local/lib/nodejs/node-v9.8.0
  13. export PATH=$NODEJS_HOME/bin:$PATH
  14. #生效
  15. source ~/.profile
  16. #Install the airtunes Node library (I created a fork to work around a bug):
  17. pi@raspberrypi:~/ $ git clone -b fix_port_0_error https://github.com/afaden/node_airtunes.git
  18. pi@raspberrypi:~/ $ cd node_airtunes
  19. pi@raspberrypi:~/node_airtunes $ npm install
  20. pi@raspberrypi:~/node_airtunes $ cd ..
  21. #Install and start BabelPod:
  22. pi@raspberrypi:~ $ git clone https://github.com/afaden/babelpod.git
  23. pi@raspberry
tts 本地语音 本地TTS    2021-03-20 22:43:06    15    0    0

下载工具

  1. wget http://simcommander.cn/download/haisantts-py.gz
  2. tar xvfz haisantts-py.gz
  3. cd haisantts-py
  4. python haisantts.py3

修改一下,弄个入参,就可以朗读自己的文本了

  1. #coding=utf-8
  2. import sys
  3. saystr = sys.argv[1]
  4. import ctypes
  5. from ctypes import *
  6. lib = ctypes.cdll.LoadLibrary("./libhaisantts.so")
  7. lib.startHaisanTTS.argtypes=[POINTER(c_char)]
  8. TTS=(c_char * 100)(*bytes((saystr),'utf-8'))
  9. cast(TTS, POINTER(c_char))
  10. lib.startHaisanTTS(TTS)

效果

title

计时器 语音    2021-03-20 16:24:26    8    0    0

想法

想弄TTS,不管是百度的还是谷歌的,我都搞不定!
然后想到:不能TTS我就直接播放事先录好的语音提示呗!

思路

  • 用苹果homekit中的自动化
  1. 当某开关状态从OFF变为ON
  2. 延时 N
  3. 将某开关状态改为OFF
  4. 调用快捷指令“通过SSH运行脚本”
  • 脚本
  1. cvlc --play-and-exit file:///home/pi/Music/TTS001.mp3
  • TTSoo1.mp3就是事先录制好的提示语音
TTS homeassistant 百度    2021-03-20 08:36:42    73    0    0

注册https://cloud.baidu.com/

title

title

安装播放软件:
- 安装MPD、MPC

  1. sudo apt-get install mpd mpc
  • 编辑MPD配置文件
  1. sudo vi /etc/mpd.conf

title

  • 编辑homeassistant配置文件
  1. tts:
  2. - platform: baidu
  3. app_id: 23833493 #app_id,api_key,secret_key从百度云上注册得到
  4. api_key: V7G3BR6WZKYiSu4b4qcbxwNb
  5. secret_key: KHqSMswDgzkXPEqrkmYCk9bdUGUVqPsm
  6. speed: 5 #speed:语速0-9(缺省5)
  7. pitch: 5 #pitch:语调0-9(缺省5)
  8. volume: 15 #volume:音量0-15(缺省5)
  9. person: 0 #person:声音(0:女,1:男,3:百度合成,4:百度合成,缺省0)
  10. media_player:
  11. - platform: mpd
  12. host: 127.0.0.1
ssh    2021-03-17 18:18:34    1    0    0

遇到如下图的情况

title

解决方案:在终端上输入以下命令:

  1. ssh-keygen -R “你的远程服务器ip地址”
  • 目的是清除你当前机器里关于你的远程服务器的缓存和公钥信息,注意是大写的字母“R”。
filebrowser docker    2021-03-17 17:12:27    24    0    0

过程

  1. sudo docker run --name=filebrowser \
  2. -v /data/docker:/srv \
  3. -p 8394:80 \
  4. --privileged --restart unless-stopped \
  5. filebrowser/filebrowser
  • 用上面的脚本先生成容器
  • 进入容器,运行下面的语句
  1. 创建配置数据库:filebrowser -d /database-1.db config init
  2. 设置监听地址:filebrowser -d /database-1.db config set --address 0.0.0.0
  3. 设置监听端口:filebrowser -d /database-1.db config set --port 80
  4. 添加一个用户:filebrowser -d /database-1.db users add root password --perm.admin //其中的root和password分别是用户名和密码,根据自己的需求更改
  5. 设置SSL证书: filebrowser -d /database-1.db config set --cert /srv/hass_config/13.crt --key /srv/hass_config/13.key
  1. cp database.db database-1.db
  2. ./filebrowser -d /database-1.db config set --cert /srv/ssl/13.crt --key /srv/ssl/13.key
  3. rm -rf database.db
  4. mv database-1.db database.db
  • 完成上述语句后,运行下面的进行替换

  • 重启容器

  • 然后可以用 https://domain:8394 来访问了

其他

  • 查看db
  1. ./filebrowser -d /database.db config cat
homeassistant 侧边栏    2021-03-17 06:59:49    28    0    0

使用方法

  • 插件位置

    custom_components/ha_sidebar

  • 代码,修改configuration.yaml

  1. #一般
  2. ha_sidebar:
  3. #完整
  4. ha_sidebar:
  5. name: 侧边栏管理
  6. icon: mdi:view-list-outline

下载ZIP

ha_sidebar.rar

docker homeassistant    2021-03-16 19:56:13    26    0    0

docker脚本

  1. docker run -d \
  2. --name=home_assistant \
  3. -e TZ="Asia/Shanghai" \
  4. -v /data/docker/hass_config:/config \
  5. -v /data/docker/ssl:/ssl \
  6. --net=host \
  7. --privileged \
  8. --restart unless-stopped \
  9. homeassistant/home-assistant:latest

homeassistant(我的基本配置)

  • configuration.yaml
  1. # Configure a default setup of Home Assistant (frontend, api, etc)
  2. default_config:
  3. # Text to speech
  4. switch:
  5. - platform: command_line
  6. switches:
  7. egg:
  8. command_on: sed -i 's/stop/on/' /config/egg.txt
  9. command_off: sed -i 's/stop/off/' /config/egg.txt
  10. ha_sidebar:
  11. name: 侧边栏管理
  12. icon: mdi:view-list-outline
  13. http:
  14. ssl_certificate: /ssl/13.crt
  15. ssl_key: /ssl/13.key
  16. sonoff:
  17. username: '+8618017300756'
  18. password: '*********'
  19. scan_interval: 60
  20. grace_period: 600
  21. api_region: 'cn'
  22. entity_prefix: True
  23. debug: False
  24. group: !include groups.yaml
  25. automation: !include automations.yaml
  26. script: !include scripts.yaml
  27. scene: !include scenes.yaml
mqtt    2021-03-14 22:06:03    30    0    0

步骤

  1. apt-get update
  2. apt-get install mosquitto
  3. apt-get install mosquitto mosquitto-clients
  • 修改 /etc/mosquitto/mosquitto.conf , 在相应位置添加以下内容
  1. log_type error
  2. log_type warning
  3. log_type notice
  4. log_type information
  5.  
  6. connection_messages true
  7. log_timestamp true
  8.  
  9. include_dir /etc/mosquitto/conf.d
  • 启动Mosquitto Server
  1. root@raspberrypi:~# /etc/init.d/mosquitto start
  2. [ ok ] Starting mosquitto (via systemctl): mosquitto.service.
  • Testing the Mosquitto server

Open up two more terminal windows.

In Terminal window 1 type:
mosquitto_sub -d -t hello/world

n Terminal window 2 type: mosquitto_pub -d -t hello/world -m "Hello from Terminal window 2!"

最后,可以去看看相关

判断主人手机是否在家的方法

自问、自答

自问

请教一下,mosquitto的配置文件怎么设置可以改 端口和IP? 我现在是 如下图的IP,造成用访问主机IP地址无法连接服务器.

  • netstat -ntulp |grep 1883

title

我试过在 mosquitto.conf中加入listener 1883 0.0.0.0 没效果啊

自答

  • 解决方法: 在mosquitto.conf中加入如下两句:
  1. listener 1883
  2. allow_anonymous true

title

注意:开启webs

homeassistant 易微联    2021-03-12 08:16:32    6    0    0

一、易微联插件

1、安装位置

  1. /homeassistant/custom_components/sonoff

2、插件内容

二、插件调用

  • 修改homeassistant配置文件 /homeassistant/configuration.yaml
  1. .
  2. .
  3. .
  4. sonoff:
  5. username: '+86手机号' #易微联APP帐号
  6. password: '密码' #易微联APP密码
  7. scan_interval: 60
  8. grace_period: 600
  9. api_region: 'cn'
  10. entity_prefix: True
  11. debug: False
  12. .
  13. .
  14. .

三、重启 homeassistant

chrom 开机启动    2021-02-22 07:02:21    3    0    0

一、先了解几个命令

1、开机打开chome

  1. chromium-browser

2、开机打开chome浏览器进入某个网址

  1. chromium-browser "http://######/"

3、全屏显示

  1. chromium-browser "http://######" -kiosk

二、现在我们要做的是开机就执行这个命令

  1. cd /home/pi/.config/autostart/ #没有就建一个
  • vi LXinput-setup.desktop建立这个文件
  • 注:选安装vim
  1. [Desktop Entry]
  2. Type = Application
  3. Exec = chromium-browser -kiosk "https://xxxxxx.com"

三、重启一下

四、chromium-browser参数

点击这里查看

ddns aliyun raspberry    2020-10-25 18:58:02    26    0    0

一、先安装

  1. pip3 install aliyunsdkcore
  2. pip3 install aliyun-python-sdk-alidns

二、下载

  1. https://github.com/mgsky1/DDNS

三、修改config.json

  1. {
  2. "AccessKeyId": "Your_AccessKeyId",
  3. "AccessKeySecret": "Your_AccessKeySecret",
  4. "First-level-domain": "Your_First-level-domain", ## 13ua.com
  5. "Second-level-domain": "Your_Second-level-domain" ## @
  6. }

四、开机启动

  1. sudo crontab -u root -e
  2. #vim
  3. */1 * * * * python3 /path/DDNS.py
  4. sudo reboot

五、crontab参数

其它

启动服务: systemctl start crond.service

停止服务:systemctl stop crond.service

重启服务:systemctl restart crond.service

2020-10-22 19:54:30    45    0    2

易微联sonoff改造开关本身支持天猫精灵,小爱同学这些,关键价格还十分亲民。为什么偏偏为了接入HA刷固件,失去保修,失去易微联APP本身的控制,这样真的十分方便吗?

小白一直没有放弃易微联sonoff直接接入HA的想法,易微联API接口都看了好几遍。没功底没看懂。哈哈。

就在昨天,爬谷歌看见老外写了一个插件,马上折腾,心里别提有多高兴了。

目前插件只支持:Sonoff Basic,Sonoff 4CH Pro(R2),sonoff S20, Gang Generic Wall Switch,Gang Generic Wall Switch,WHDTS WiFi Momentary Inching Relay。

一般情况我们都是买Sonoff Basic,或者Sonoff RF。

下载插件,放进custom_components目录

custom_components
├── sonoff.py
└── switch
└── sonoff.py


然后HA配置configuration.yaml:

sonoff:
username:
password: [password]
scan_interval: 60 (optional)
grace_period: 600 (optional)
api_region: 'eu' (optional)

然后重启HA,sonoff里面该插件支持的设备就自动出现了。

参考资料:https://github.com/peterbuga/HASS-sonoff-ewelink

特殊注意

  • 当你发现日志中出现
  1. websocket error: Connection is already closed
  • 可做如下操作
  1. apk add --update python
  2. apk add --update py-pip
  3. pip install websocket-client==0.54.0
chrom 开机启动    2020-10-20 21:55:25    31    0    5

一、先了解几个命令

1、开机打开chome

  1. chromium-browser

2、开机打开chome浏览器进入某个网址

  1. chromium-browser "http://######/"

3、全屏显示

  1. chromium-browser "http://######" -kiosk

二、现在我们要做的是开机就执行这个命令

  1. cd /home/pi/.config/autostart/ #没有就建一个
  • vi LXinput-setup.desktop建立这个文件
  • 注:选安装vim
  1. [Desk Entry]
  2. Type = application
  3. Exec = chromium-browser -kiosk "https://xxxxxx.com"

三、重启一下

vnc 远程桌面    2020-10-20 21:55:25    11    0    0

rasperryPi VNC

在终端运行下面指令进入设置界面设置。

  1. sudo raspi-config
  • 按照下面的顺序选择 Advanced Options > Resolution,最后选择一个更合适的分辨率并确认完成即可。


  • 建议在设置完成后重启树莓派或重新启动 VNC 服务让设置生效。

vnc 远程桌面    2020-10-20 21:55:25    7    0    0

命令

  1. vncserver -geometry 1024x768

远程地址

  1. 13ua.com:1:5900
  • 其中1就是上图中命令最后的提示中的:1
  • 其中5900是树莓远程桌面使用的端口号
docker portainer    2020-10-20 21:55:25    32    0    1

一、一键安装法

  1. sudo curl -sSL https://get.docker.com | sh

二、其它安装法(略)

三、使用

  1. #下载 Docker 图形化界面 portainer
  2. sudo docker pull portainer/portainer
  3. #创建 portainer 容器
  4. sudo docker volume create portainer_data
  5. #运行 portainer
  6. sudo docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
  1. mkdir /opt/portainer/ssl; #将证书文件.key .crt复制到目录中
  2. mkdir /opt/portainer/pub; #将中文压缩包解压到目录中
  3. sudo docker run -d -p 7086:9000 \
  4. --name portainer-ce --restart always \
  5. -v /data/docker/ssl:/certs \
  6. -v /data/docker/portainer/pub:/public \
  7. -v /var/run/docker.sock:/var/run/docker.sock \
  8. -v portainer_data:/data \
  9. portainer/portainer \
  10. --ssl --sslcert /certs/13.crt --sslkey /certs/13.key
  • 在图形化界面中操作更加便利。运行之后在浏览器中输入树莓派IP:9000 进入界面。
  • 首次访问需要设定登录密码。
  • 对于树莓派上的应用,选择 Local 就好。
  • 在控制台可以看到 Docker 的各种资源信息。

四、注

脚本安装docker,换个源会快很多
sudo curl https://get.docker.com/ > ./docker_install.sh

ssh vnc    2020-10-20 21:55:25    1    0    0

一、有显示用图形界面开启ssh服务

点击树莓派界面左上角的树莓图标,点Preferences的这个图标,再点击下面倒数第二个树莓图标打开树莓派的设置。

二、VNC同上

三、远程登录(SSH或VNC)都可以直接使用 用户名:pi 密码:rasperry 来登录。

pi raspberry os img disk imager    2020-10-20 21:55:25    2    0    0

一、镜像下载地址

Raspberry Pi OS

二、使用Win32 Disk Imager写入镜像

1、点击 Win32 Disk Imager 下载

2、解压下载到的PI镜像,得到*.img

3、使用Win32 Disk Imager将img写入tf卡

seafile 安装说明 官方    2020-09-14 18:24:02    27    0    0

这个简单的文档旨在给出到各种参考文档的链接。建议在开始安装部署前,先阅读我们的 《Seafile 技术白皮书》。

一、硬件参考

以下方案均可满足 2000 用户使用。超过 2000 用户,请参考集群部署文档。

方案一: 单台服务器

单台服务器,硬盘做 Raid,内存最少 2GB,建议 4GB,4 核以上 CPU。或者使用虚拟化平台,分配一个独立的虚拟机。

可直接安装 Ubuntu 16.04 或者 CentOS 7 操作系统,并在上面安装 Seafile 服务。

数据可靠性方面,如果使用虚拟化平台,可以备份整个虚拟机;如果使用硬件服务器,可以另外使用一台服务器来做数据备份。

方案二:单台应用服务器 + NAS 存储服务器。

应用服务器,内存最少 2GB,建议 4GB,4 核以上 CPU。NAS 服务器根据您的存储需求来选择。

安装方式同上。

备份方面可以使用 NAS 自带的快照或者备份机制。

方案三:阿里云服务器 + OSS 存储

应用服务器 内存最少 2GB,建议 4GB,2 核以上 CPU。文件存储在 OSS 中。 OSS 是一个可靠的、三备份的、可无限扩容的存储。最大的好处是免去了硬件维护和备份的管理开销。

二、安装方式:

直接在 Ubuntu 16.04 或者 CentOS 7 64 位系统上用安装脚本安装

安装文档见 http://manual-cn.seafile.com/deploy_pro/index.html

如果上述地址无法访问,请访问 https://github.com/haiwen/seafile-docs-cn/blob/master/deploy_pro/README.md

安装好之后,把 seafile-license.txt 文件放入 Seafile 安装目录(比如 /opt/seafile)下面,重启服务即可生效。

三、关于账号和组织架构支持

对于中大型公司来说,使用 AD 来管理账号和组织架构是最标准

homekit homeassistant    2020-08-22 05:25:12    66    0    0

最近在玩智能家庭,所以想弄个本人到家就开某通知设备,离家就关。
最后百度了一些方法来实现功能,向下看吧

一、需要用到些什么

  • 1、群晖
  • 2、docker套件(安装home assistant)
  • 3、mosquitto套件 (给hass发消息)
  • 4、京东上买了个绿联39元蓝牙接收器 (直接插在群晖上,免驱的)

二、配置

  • 1、hass中新建一个集成
  • 2、编辑configuration.yaml添加如下内容:
  1. binary_sensor:
  2. - platform: mqtt
  3. name: "iphone2020_status" #虚拟设备名
  4. state_topic: "vic" #接收MQTT消息的TOPIC名
  5. qos: 0
  6. payload_on: "enter" #改状态开的消息内容
  7. payload_off: "leave" #改状态关的消息内容
  8. device_class: opening

重启hass后,可以【状态】中找到设备

还可以编辑【配置UI】添加一个显示

- 3、安装套件mosquitto (略)
- 4、编辑一个扫描手机蓝牙的脚本chk_vic.sh,如下:

  1. mac="3C:CD:36:1B:2E:02" #手机的蓝牙MAC地址
  2. name="iPhoneSE-2020" #手机名
  3. MQTT_IP="192.168.2.9" #MQTT所在地址
  4. MQTT_SUB="vic" #接收消息的TOPIC名
  5. MQTT_PUBLISH_VALUE1="enter" #真:消息内容
  6. MQTT_PUBLISH_VALUE2="leave" #假:消息内容
  7. while [ i==0 ]
  8. do
  9. result="$(sudo hcitool name ${mac})"
  10. if [ "${result}" == "${name}" ]; then
  11. /var/packages/mosquitto/target/bin/mosquitto_pub -d
youtube    2020-08-17 18:22:40    29    0    0

就两句

  • 打开windows powershell运行下列命令

一、查看目标视频有哪些格式可下载

youtube-dl https://www.youtube.com/watch?v=cwvYgM9JhuA --proxy 192.168.2.103:10809 -F

二、下载指定目标视频

youtube-dl https://www.youtube.com/watch?v=cwvYgM9JhuA --proxy 192.168.2.103:10809 -f 137

  • f: format code (上图中红色箭头指示)

centos7.7 centos seafile    2020-07-23 19:42:32    19    0    0

好多人下单后要问一句,“有安装教程吗?”
好吧你们赢了!!!
写个教程。

一、环境我说了算

  • 安装个mini centos7.7 或 docker一个
  • 看看我的这个版本
    cat /etc/redhat-release
    title

二、开始安装

  • 先给centos7补补
  1. yum install wget -y
  2. yum install which -y
  3. yum install jre -y
  4. wget https://n74.top:1607/404/get-pip.py #可以从我的网站下载 or 从网上找也可以
  5. python get-pip.py #运行上步下载的 get-pip.py
  • 然后用下面这些官方的再补补
  1. yum -y install epel-release
  2. yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
  3. pip install pillow moviepy #这一步很难产啊,重复N次才全完成了
  • 下载seafile 6.3.5 1000人企业版
  • 安装
  1. tar -zxvf seafile-pro-server_6.3.5_x86-64-1000.tar.gz
  2. cd seafile-pro-server-6.3.5
  3. ./setup-seafile-mysql.sh # mysql的安装我就略过了
  • 真的开始了
    title
    title
    title
    title
  • 开始配置seafile了
    title
    看到上图中间的“1000 users”了吗?
    继续配置
    title

三、算是安装完成了

  • 接着要精雕细琢了
    title

A)seafile时区问题

  • 修改 seafile-server-latest/seahub/seahub/settings.py
    TIME_ZONE = 'Asia/Shanghai'

B) 无法搜索PDF文件内容,解决方法

  • 安装pdftotext
    yum install poppler-utils -y
  • 再更新一下搜
leanote bug 中文跳转    2020-07-20 19:37:24    10    0    0

原文:https://github.com/leanote/leanote/pull/933/

  • 发现添加目录[TOC]和本身文档导航时,中文会跳转失败,查看后发现是mardown-v2-min.js里面中文跳转时锚点会被转码,而页面各标题的id是没有转码的,所以我加了一句n = decodeURI(n);解码操作来保持一致。
主板 配件    2020-07-12 09:44:56    5    0    0

之前突然黑群down机了,怎么也开不了,所以随便买个小主板想换上的,结果新主板来了后,发现老主板又可以用了。懒得退货了。

上图,保留个主板说明先

title
- 注:找了个旧机箱,插上SW PW线可以开机,但是HDD LED和PW LED线接入后没效果,也不知道是不是这两个灯出问题了。不管了。就这样了。
- 注2:主板BIOS进入按键F9

还给这小主板配了电源 (见下图)

title

title

ntfs esata    2020-07-05 21:52:58    22    0    0

一、在群晖的“存储空间管理员”APP中查看地一下硬盘位置情况

title

二、硬盘位置对应表

title
- 我们SATA是1和2,ESATA是3,所以对应值就应该看倒数第三行上的

  1. esataportcfg:0xFFFFC
  2. internalportcfg:0x3

三、修改 vi /etc.defaults/synoinfo.conf 文件

  1. .
  2. .
  3. esataportcfg="0xFFFFC"
  4. .
  5. .
  6. .
  7. internalportcfg:"0x3"
  8. .
  9. .

四、重启群晖

office pdf    2020-05-27 16:26:58    5    0    0
脚本    2020-05-05 18:58:40    20    0    0
find /path -mtime +30 -type f -name \*.zip -exec rm -f {} \; 以上就是删除30天前的指定路径下的所有zip文件 ![](/api/file/getImage?fileId=5f82ec8b3c9b99002d0000cf)
pdf seafile    2020-04-13 09:01:34    15    0    0

CSDN文章

seafileBBS文章

看了上面这些文章并没有解决标题问题!!!

pdf预览 seafile onlyoffice    2020-02-27 09:53:02    25    0    0

先来说说为什么我想用onlyoffice来预览吧,因为seafile预览京东发票PDF时,只有表格和盖章,其它全是空白,现在我用onlyoffice却可以正常了,哈哈开心

感谢zyu318给出的解决方法,见https://bbs.seafile.com/t/topic/11289

修改方法

title

vi seahub/seahub/utils/init.py
- 1、找到上图位置
- 2、注释掉PDF行,或修改PDF后缀
- 3、在DOCUMENT行最后添加PDF后缀

linux centos 图形界面    2020-02-22 18:07:41    10    0    0

一般来说centos主要用于服务器端,所以很少开启图形化界面,但是有时候为了工作方便也会偶尔开启图形界面,下面就让简单谈谈如何开启图形化界面,当然简化安装是没有这个程序的需要自行安装,可以yum安装下.

CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境。在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentOS) 就可以了。不过在最小化安装的 CentOS 中通过 YUM 来安装桌面环境也是非常方便的。

原文:https://www.cnblogs.com/beyang/p/8513215.html

使用 yum groupinstall 指令很容易就能安装上图形界面的桌面系统

1. yum 的 group 指令

yum 可以以程序组的模式来安装成套的软件包。支持的软件包可以通过,

# yum grouplist
查询到。在 group 软件包中,Desktop、Desktop Platform、KDE Desktop、X Window System 是主要的桌面环境。

软件包列表根据系统使用的语言来显示,支持简体中文文件名。所以安装前最好用上述指令查询一下看看。如果系统使用了简体中文,而安装指令使用英文,可能会导致查询不到软件包这样的错误。下面的安装指令用的都是英语。

2. 图形桌面环境

要安装 KDE 桌面环境,执行指令,

# yum groupinstall "X Window System" "KDE Desktop" Desktop
即可,同时安装了 3 个软件包。注意,因为 KDE Desktop 和 X Window System 两个软件包名称中间都包含空格,需要用引号引起来才行。

要安装 Gnome 桌面环境,执行指令,

# yum groupinstall "X Window System" "Desktop Platform" Desktop
即可,也是同时安装了 3 个软件包,其中 X Window System 是必须的,不管是 Gnome 还是 KDE。

既然是桌面环

黑白 css    2020-02-17 09:35:16    4    0    0
 
 

我的群晖导航页做好了,但是我对做图软件不熟悉,所以做不出好看的图标,从网上扒啊,总找不到统一的风格的。后来想到所有图标用黑白不就至少在颜色上统一了吗!

 

一、整页面变黑白

 
  1. <head>
  2. .
  3. .
  4. .
  5. <style>
  6. html {
  7. -webkit-filter: grayscale(100%);
  8. -moz-filter: grayscale(100%);
  9. -ms-filter: grayscale(100%);
  10. -o-filter: grayscale(100%);
  11. filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);
  12. _filter:none;
  13. }
  14. </style>
  15. .
  16. .
  17. .
  18. </head>
微软 surface 重置    2020-02-13 15:38:05    8    0    0
【微软售后】尊敬的用户,您好。为您提供重置系统解决方案:开机出现田牌LOGO时强制关机,重复两次,第三次开机会自动进入WinRE,在WinRE里面重置祝您生活愉快!


docker 降级    2020-01-20 17:22:49    163    0    0

一、重启群晖后,启动docker容器报错

  1. homeassistant failed: {"message":"cgroups: cannot find cgroup mount destination: unknown"}.
  2. homeassistant failed: {"message":"OCI runtime create failed: container with id exists: 64a896a1ed33c4a925897e7c1c3f0dbcbf9bfa01f3db43fa529fe627d5938e88: unknown"}.

二、偿试了一些方法,无解

  • 卸载docker套件,保留镜像及共享文件夹,重装后问题依旧
  • 重新下载了一个小体积镜像,配置后也无法启动
  • 网上都说是docker版本与linux核心不兼容,这怎么搞啊我也不能升级群晖啊!!!!

三、想到给docker套件降降级

  • 备份原docker的共享文件夹
  • 导出原各个docker容器镜像
  • 旧版本的套件安装包下载: Docker-x64-17.05.0-0400.spk
  • 手动安装docker套件

四、恢复

  • 之前备份的共享文件夹还原到现docker共享文件夹中
  • 导入容器时发现,通过docker套件导入报错
  • ssh进入群晖用命令导入备份的容器镜像
  1. docker import - 000_leanote < 000_leanote.syno.txz
  2. sha256:7ced94f7666933bae89b54b282b0db26952027d31919d4d6c4ed23d5a0e759f1
homeassistant 智能家庭 ewelink 易微联 homekit 苹果家庭    2020-01-19 20:12:08    62    0    0

因为买了个sonoff智能开关(2020-01-18),还有当初玩黑群晖时买的小K智能开关(2018-02),它们各用各的APP感觉好麻烦,所以想到是不是可以集中到苹果手机的homekit中。所以就上网搜索了一把,再折腾了一把。

一、群晖中docker安装homeassistant

  • 肯定是下载这个了(见下图)
    title
  • 卷设置
    title
  • 网络设置(关键
    title
  • 完成

二、将HomeAssistant与HomeKit(apple)连接起来

  • 修改docker/homeassistant下的configuration.yaml文件,添加如下两行
  1. homekit:
  2. auto_start: true
  • 重启homeassistant,登录WebUI可以在消息中看到一个8位数设备码,去apple的homeKit中添加设备就可以了。

三.(1)、小K智能插座for HomeAssistant (方法一)

  • 亲测失败
  1. https://github.com/jedmeng/homeassistant-konke

三.(2)、小K智能插件for HomeAssistant (方法二)

  • 亲测失败
  1. https://github.com/YinHangCode/homeassistant-ikonke-outlet
  2. https://github.com/YinHangCode/ikonkeIO
  1. #docker版,需要运行以下命令才能正常使用
  2. apk add libc6-compat
  1. #动行以下命令查看小K智能设备信息,192.168.2.255为广播地址
  2. sh ikonkeIO.sh --discover 192.168.2.255
  3. #下图为运行后结果截图

title

  • 修改homeassistant下的configuration.yaml文件
  • ikonkeIO:后面跟着ikonkeIO.sh的绝对路径
  1. switch:
  2. - platform: homeassistant-ikonke-outlet
  3. ikonkeIO: '/config/custom_components/ikonkeIO/ikon
filebrowser    2019-11-22 17:23:18    94    0    0

先安装原版

 
  1. curl -fsSL https://filebrowser.xyz/get.sh | bash
 

下载“荒野无灯”版

kill    2019-11-19 10:11:31    17    0    0

ps -ef|grep [程序名]

ps -ef|grep filebrowser

  1. root 20135 13530 2 10:06 pts/30 00:00:00 filebrowser -r /opt -d /opt/filebrowser/filebrowser.db
  2. root 20239 13530 0 10:06 pts/30 00:00:00 grep --color=auto filebrowser

kill 20135

filebrowser 文件管理器    2019-11-17 15:46:02    113    0    0
 

简介

File Browser是一个基于GO的轻量级文件管理系统支持登录系统 角色系统、在线PDF、图片、视频浏览、上传下载、打包下载等功能。总而言之很强大。

 

安装(脚本)

 
  1. curl -fsSL https://filebrowser.xyz/get.sh | bash


docker portainer webui    2019-11-09 20:34:24    50    0    1

安装

 
  1. docker run -d --name portainer --restart always \
  2. -p 9123:9000 \
  3. -v /opt/seafile/ssl:/certs \
  4. -v /var/run/docker.sock:/var/run/docker.sock \
  5. -v /opt/portainer/pub:/public \
  6. portainer/portainer --ssl --sslcert /certs/13ua.com.crt --sslkey /certs/13ua.com.key
  • public 为汉化目录
  • certs 为ssl证书目录
 
iscsi 网络硬盘    2019-10-26 16:31:33    11    0    0
 
 
 

我撸到个10T的盘,准备试试iscsi

  • iSCSI功能的主要优势:

例如企业环境中有十台电脑,如果专门为每台电脑都配备 2TB 的硬盘空间则需要购买十块因此成本相对较高。

同时实际办公需求可能每个人用不到或者暂时用不到 2TB 的空间,这就会造成硬盘空间和配置成本上的浪费。

通过iSCSI 功能则可以为每台电脑配置对应的虚拟硬盘,例如将两块 2TB 配置为iSCSI服务端平分给十台电脑。

后期如果空间不够用的情况下还可以在iSCSI服务端上添加新硬盘为用户扩容,这样不会造成硬盘空间的浪费。

 
docker-compose docker seafile onlyoffice    2019-10-21 14:18:42    60    0    0

docker-compose.yml

  1. version: '2.0'
  2. services:
  3. db:
  4. image: mariadb:10.1
  5. container_name: seafile-mysql
  6. environment:
  7. - MYSQL_ROOT_PASSWORD=sl2w71201 # Requested, set the root's password of MySQL service.
  8. - MYSQL_LOG_CONSOLE=true
  9. volumes:
  10. - /opt/seafile-mysql:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
  11. networks:
  12. - seafile-net
  13. memcached:
  14. image: memcached:1.5.6
  15. container_name: seafile-memcached
  16. entrypoint: memcached -m 256
  17. networks:
  18. - seafile-net
  19. elasticsearch:
  20. image: seafileltd/elasticsearch-with-ik:5.6.16
  21. container_name: seafile-elasticsearch
  22. environment:
  23. - discovery.type=single-node
  24. - bootstrap.memory_lock=true
  25. - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
  26. ulimits:
  27. memlock:
  28. soft: -1
  29. hard: -1
  30. mem_limit: 2g
  31. volumes:
  32. - /opt/seafile-elasticsearch:/usr/share/elasticsearch/data # Requested, specifies the p
403 seafile docker docker-compose    2019-10-13 16:57:35    40    0    0

问题表现

  • 在docker-compose.yml中seafile使用了443
  • 路由上做了端口转发,443转18443
  • 用‘域名:18443’访问,可以看到登录界面
  • 登录后,跳转到如下页面
    title

修改 /opt/seafile-data/seafile/conf/seahub_settings.py

  1. CSRF_TRUSTED_ORIGINS = ['域名:端口']
  • 注:“['']”别漏了啊!

onlyoffice docker    2019-10-03 18:54:43    21    0    0

你得有docker环境(略)

拉取onlyoffice镜像

  1. docker pull onlyoffice/documentserver:latest

设置ssl

  • 宿主机上建个存放目录
  1. mkdir -pv /opt/onlyoffice/ssl/certs
  • 复制SSL证书文件到目录中
  1. [root@localhost opt]# ll /opt/onlyoffice/ssl/certs
  2. 总用量 8
  3. -rwxr-xr-x. 1 110 114 1980 10 3 17:30 onlyoffice.crt
  4. -rwxr-xr-x. 1 110 114 1679 10 3 17:30 onlyoffice.key
  5. [root@localhost opt]#

启动容器

  1. docker run --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice \
  2. -p 28443:443 \
  3. -v /opt/onlyoffice/ssl:/var/www/onlyoffice/Data \
  4. -e FORCE_SSL=true -e CERT_FOLDER=/certs/ \
  5. onlyoffice/documentserver

验证服务器是否正常

  1. # 在浏览器输入:
  2. https://域名:28443/welcome
  • 见到下图就说明可以正常合适了
    title
seafile nginx 403    2019-10-03 12:31:27    30    0    0

来自网络的解决方法

  • 待测试
    title

下午测了

  • vi /etc/nginx/sites-enabled/seafile.nginx.conf
  1. ...
  2. location / {
  3. proxy_pass http://127.0.0.1:8000/;
  4. proxy_read_timeout 310s;
  5. proxy_set_header Host $host;
  6. ...

改为

  1. ...
  2. location / {
  3. proxy_pass http://127.0.0.1:8000/;
  4. proxy_read_timeout 310s;
  5. proxy_set_header Host $host:18443;
  6. ...

reload

  1. docker exec -i seafile nginx -s reload

另一个方法

  • 第1步
  1. vi /opt/seafile/seafile-server-latest/seahub/thirdpart/django/middleware/csrf.py
  2. #转到220行
  3. if request.method not in ('GET', 'HEAD', 'OPTIONS', 'TRACE'):
  4. #改为
  5. if request.method not in ('GET', 'POST', 'HEAD', 'OPTIONS', 'TRACE'):
  • 第2步
  1. vi /opt/seafile/seafile-server-latest/seahub/seahub/settings.py
  2. #转到118行,注释掉这行
  3. 'django.middleware.csrf.CsrfViewMiddleware',
  4. 改为
  5. #'django.middleware.csrf.CsrfViewMiddleware',
  • 用sed来修改
  1. sed -i "220cif request.method not in ('GET', 'POST', 'HEAD', 'OPTIONS', 'TRACE'):" /opt/seafil
docker-compose    2019-10-02 20:18:58    20    0    1

方法1

  1. #查看docker compose版本
  2. docker-compose version
  3. #查看pip版本
  4. pip -v
  5. #上一条语句没有显示版本信息则运行下面语句安装 python-pip
  6. yum -y install epel-release
  7. yum -y install python-pip
  8. #查看pip版本
  9. pip -v
  10. #pip进行升级
  11. pip install --upgrade pip
  12. #进行安装compose 第一条语句报错执行第二条,执行成功则跳过第二条
  13. pip install docker-compose
  14. pip install docker-compose --ignore-installed requests
  15. docker-compose -version

方法2

  1. curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. chmod +x /usr/local/bin/docker-compose
  3. docker-compose --version
  • 如果有问题:Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg
  1. cd /usr/local/bin
  2. rm -rf docker-compose
  3. wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64
  4. mv docker-compose-Linux-x86_64 docker-compose
yum换源    2019-10-02 20:12:07    5    0    0

进入到yum源配置文件所在的文件夹

  1. [root@betty ~]# cd /etc/yum.repos.d/

下载163

  1. [root@betty yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

运行yum生成缓存

  1. [root@betty yum.repos.d]# yum makecache

更新系统

  1. [root@betty yum.repos.d]# yum -y update

查看结果

  1. ···
  2. Loading mirror speeds from cached hostfile
  3. * base: mirrors.163.com
  4. * extras: mirrors.163.com
  5. * updates: mirrors.163.com
  6. ···
docker    2019-10-02 20:01:47    5    0    0

安装Docker

  • 把yum包更新到最新(不要问我为什么)
  1. [root@localhost ~]# yum update
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: centos.ustc.edu.cn
  5. * extras: mirrors.aliyun.com
  6. * updates: centos.ustc.edu.cn
  7. 正在解决依赖关系
  8. --> 正在检查事务
  9. ---> 软件包 bind-libs.x86_64.32.9.9.4-61.el7 将被 升级
  10. ---> 软件包 bind-libs.x86_64.32.9.9.4-61.el7_5.1 将被 更新
  11. ---> 软件包 bind-libs-lite.x86_64.32.9.9.4-61.el7 将被 升级
  12. ---> 软件包 bind-libs-lite.x86_64.32.9.9.4-61.el7_5.1 将被 更新
  13. ---> 软件包 bind-license.noarch.32.9.9.4-61.el7 将被 升级
  14. ---> 软件包 bind-license.noarch.32.9.9.4-61.el7_5.1 将被 更新
  15. ...
  16. ...
  17. 验证中 : 32:bind-license-9.9.4-61.el7.noarch 8/8
  18. 更新完毕:
  19. bind-libs.x86_64 32:9.9.4-61.el7_5.1
  20. bind-libs-lite.x86_64 32:9.9.4-61.el7_5.1
  21. bind-license.noarch 32:9.9.4-61.el7_5.1
  22. bind-utils.x86_64 32:9.9.4-61.el7_5.1
  23. 完毕!
  24. [root@localhost ~]#
  • 安装需要的软件包
  1. [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
  2. 已加载插件:fastestmirror, langpacks
  3. Loading mirror speeds from cached hos
ssh    2019-10-01 23:50:45    17    0    0

首先,要确保CentOS7安装了 openssh-server

  1. yum list installed | grep openssh-server
  • 此处显示已经安装了 openssh-server,如果没任何输出显示,表示没有安装

安装openssh-server

  1. yum install openssh-server

开启SSH服务

  • 到了/etc/ssh/目录下的sshd服务配置文件 sshd_config,用Vim编辑器打开
  1. ···
  2. Port 22
  3. ···
  4. ListemAddress 0.0.0.0
  5. ListemAddress ::
  6. ···
  7. PermitRootLogin yes
  8. ···
  • 保存退出

启动服务,加入开机启动

  1. service sshd start
  2. systemctl enable sshd

over

ip    2019-10-01 23:30:06    25    0    0

Centos7的网络IP地址配置文件在/etc/sysconfig/network-scripts/下

  • 首先,键入命令ip addr,查看当前ip地址
  • 键入命令vi /etc/sysconfig/network-scripts/ifcfg-ens33,修改:
  1. BOOTPROTO="static" #修改为静态,默认为dhcp
  2. IPADDR="192.168.2.219" #静态ip地址
  3. NETMASK="255.255.255.0" #子网掩码
  4. GATEWAY="192.168.2.1" #网关地址
  5. DNS1="114.114.114.114" #DNS服务器

保存重启,OK了。

error docker    2019-09-12 15:01:19    7    0    0
  • Docker的设计理念是在容器里面不运行后台服务,容器本身就是宿主机上的一个独立的主进程,也可以间接的理解为就是容器里运行服务的应用进程。一个容器的生命周期是围绕这个主进程存在的,所以正确的使用容器方法是将里面的服务运行在前台。

  • 再说到systemd,这个套件已经成为主流Linux发行版(比如CentOS7、Ubuntu14+)默认的服务管理,取代了传统的SystemV风格服务管理。systemd维护系统服务程序,它需要特权去会访问Linux内核。而容器并不是一个完整的操作系统,只有一个文件系统,而且默认启动只是普通用户这样的权限访问Linux内核,也就是没有特权,所以自然就用不了!

  • 因此,请遵守容器设计原则,一个容器里运行一个前台服务!

以特权模式运行容器。

创建容器:

  1. docker run -d -name centos7 --privileged=true centos:7 /usr/sbin/init

进入容器:

  1. docker exec -it centos7 /bin/bash

这样可以使用systemctl启动服务了。