2020-11-25 04:53:25    2    0    0

0. 背景

这个项目是配合NotiSyncNotiSync-Server使用的,关于这两个项目的介绍在这里。在做到通知同步的通知的同时,增加手机信息概览和短信回复的功能。下面是使用方式的简单展示

1. 使用方式

程序启动时会直接进入一个类似于登录页面的界面,这里就是配置信息,包含通信协议,服务器地址,服务器端口,和UUID。协议支持http和https,地址可以是IP地址,也可以是域名。
LoginView

配置好后即可使用用登录按钮登录。

登录后即进入主界面:
Detail

左侧是软件能查看的信息,分别是手机详情,手机通知和手机短信。主界面默认停留在手机详情页。

当点击左侧的Notifications时,进入手机通知页,这里将显示所有在本客户端启动之后手机收到的通知:
Notifications

当点击Messages时,进入手机短信页。这里将显示所有的手机短信,并且可以当场回复短信。在最右侧下方输入框输入后点击Send按钮,短信就会发送出去。如果想要发送的联系人不在已有对话框中,可点击New Message以新建短信,在输入对方电话号码后即可向对方发送短信。
Messages

2. 注意事项

v0.2依然不是正式版,在短信上存在功能性Bug,界面性能也需要优化。

NanoPi R2S R2S systemd Linux Ubuntu 计算机网络 软路由    2020-11-25 01:12:03    5    0    0

0.背景

旁路由折腾熟悉之后,我又开始觊觎软路由的方便,于是不久前借着双十一,下单了早有耳闻的NanoPi R2S,177大洋,有散热片有风扇有外壳,还算划算。奈何我跟OpenWRT八字不合,上次树莓派是半天LUCI进不去,这次是FriendWRT官方固件砍掉了tproxy模式。在重新编译固件依然无法成功富强之后。我又掏出了祖传技能,直接用了FriendlyCore(基于Ubuntu)秒杀了富强网关的需求。这个方式也非常通用,不只是R2S,也不仅限于Ubuntu,理论上可以将任何一个双网口的运行Linux并且使用Systemd的机器变成软路由。

1. 配置Wan侧

刷好FriendlyCore之后直接插卡开机,然后就能在路由器管理页面看到该设备的ip地址。我们ssh上去就可以进行配置了,默认用户名和密码都是pi。

配置文件参考:
systemd-network

对应这台机器就是直接在终端执行

  1. sudo vim /etc/systemd/network/eth0.network

然后把下面的内容复制进去。

  1. [Match]
  2. Name=eth0
  3. [Network]
  4. DHCP=ipv4

2. 配置Lan侧

一个软路由本质上就是开启了DHCP服务,DNS服务,网络层包转发的多网口计算机。因此在常规的配置中,通常会配置dnsmasq来做DHCP服务器,并同时担任DNS服务器。然后通过sysctl打开ip包转发,然后用iptables完成包的转发。

但是现在,systemd都包含了这些功能,不需到别的地方到处配置,也不需要再多装什么包,只需把systemd配置好就能完成这些。

我们依然是进入终端,执行

  1. sudo vim /etc/systemd/network/eth1.network

然后把下面的内容复制粘贴进去后,保存并退出。

  1. [Match]
  2. Name=eth1
  3. [Network]
  4. Address=192.168.25.1/24
  5. DHCPServer=true
  6. IPMasquerade=true
  7. [DHCPServer]
  8. PoolOffset=100
  9. PoolSize=50
  10. EmitDNS=yes
  11. DNS=223.5.5.5

/etc/syst

2020-08-27 14:46:27    30    0    0

本来想在Ubuntu上编译安装Kodi,实现类似LibreELEC的效果。折腾一天发现和apt安装区别不大,不仅卡,而且Ubuntu这个是Server版本,默认最多1080分辨率,看起来很模糊。本文仅记录折腾过程。

操作步骤主要参考:
xmbc项目README

1. 下载源代码

  1. git clone https://github.com/xbmc/xbmc kodi

2. 安装依赖

  1. sudo apt install autoconf automake autopoint gettext autotools-dev cmake curl openjdk-8-jre gawk gcc g++ cpp gdc gperf libasound2-dev libass-dev libavahi-client-dev libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libcec-dev libp8-platform-dev libcrossguid-dev libcurl4-openssl-dev libcwiid-dev libdbus-1-dev libegl1-mesa-dev libenca-dev libflac-dev libfontconfig1-dev libfmt-dev libfreetype6-dev libfribidi-dev libfstrcmp-dev libcrypt-dev libgif-dev libgles2-mesa-dev libglew-dev libglu1-mesa-dev libgnutls28-dev libgpg-error-dev libgtest-dev libiso9660-dev libjpeg-dev liblcms2-dev liblirc-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libmysqlclient-dev libnfs-dev libogg-dev libomxil-bellagio-dev libpcre3-de
树莓派 Linux Ubuntu 计算机网络 软路由    2020-08-16 00:20:15    70    0    0

想拿树莓派搭热点试试看,玩了一下OpenWrt,发现一旦进不了luci就会很麻烦。想起几个月前就有新闻的Raspberry Pi OS的64位,去看看怎么样了,发现还没发布。看到Ubuntu有arm 64的image,顺手体验一下。

0. 环境

树莓派4, 4G版本
系统镜像Ubuntu server 20.04

目的:有线网口作为wan口连接到互联网,无线网口作为热点发射WiFi。

1. 装系统

安装

下好的镜像格式是img.xz,解压后用Win32DiskImager烧录。也可以直接不解压,使用balena-etcher烧录。烧录完成后插电就能开机,第一次开机会自动运行一些东西,当屏幕出现Ubuntu Login即可登录。默认用户名和密码都是ubuntu。如果出现登录失败,是正常现象,等一两分钟就好了。

换源

默认的Ubuntu镜像源在海外,速度太慢了,这里可以换成清华源

  1. sudo sed -i 's/http:\/\/ports.ubuntu.com\/ubuntu-ports/https:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu-ports/g' /etc/apt/sources.list

关闭自动更新

修改配置文件/etc/apt/apt.conf.d/10periodic,将所有值改为0(实际上也就Update-Package-Lists是1)

或者使用命令替换:

  1. sudo sed -i 's/\"1\"/\"0\"/g' /etc/apt/apt.conf.d/10periodic

切换时区

  1. sudo timedatectl set-timezone Asia/Shanghai

2. 搭建WiFi热点

首先,安装所需要的包sudo apt install hostapd dnsmasq,然后将下面的文件分别更改为后面列出的内容。下面命令无特殊说明都在root权限下执行。

配置ap

(1) vim /etc/hostpapd/hostapd.conf

把下面的内容复制粘贴进去,注意更改wifi名称和密码

  1. interfa
2020-07-12 01:08:45    37    0    0

零、个人期待

Deepin是我第一个长期使用的Linux发行版,那时候我刚大二,deepin还在15.2,我还在用四代低压的i5。这个发行版用起来真的非常舒适,比Ubuntu漂亮,比Windows流畅。而且QQ的调教非常好,满足了看各种班级群学院群的需求。

如今我早已毕业,我已经入了Arch邪教,但是对于这个领我进入Linux大门的发行版还是非常怀念。今天的Deepin已经成为了统信的一部分,曾经的专业版Deepin变成了UOS。上次deepin v20beta发布体验了一下,Bug有点多,那么对于这个系出同门的UOS,我希望。。。能更稳定且更方便。

一、系统自带功能

0. UI

进入系统,点开启动器,映入眼帘的是一堆预装好的应用程序:

UOS启动器

整个系统界面和图标都选择了圆角的设计,这本身没什么,毕竟Bug Sur也用的大圆角,但是。。。圆角能不能小一点!或者自定义一下,这样的圆角弧度真的太大了,在1080的屏幕上我都觉得太大了。而且系统自带的圆角和第三方应用的圆角真的十分不和谐,而且自带的浏览器,他完全是直角,实在是不统一啊。

圆角与直角

除了UI之外,我主要挑几个对于我而言,相比于我印象中的Deepin V15,功能性的变化比较大的地方讲讲。

2. 截图/录屏

这两个应用在之前是一个,我不太清楚合并之后有什么好处。不过快捷键是和之前一样的Ctrl+Alt+A是截图,Ctrl+Alt+R是录屏。

截图我个人还是更喜欢之前,接近QQ截图的那个界面,不过跟随系统做大圆角无可非议,这个见仁见智了。

录屏功能中有一点特别不错,在录制之前就出现了选择框,而且更重要的是,还能开启按键显示,这对录一个简短的教程来说简直不要太方便。甚至还能开启前置摄像头,配上PPT什么的直角露脸演讲。

这是一小段录屏演示
截图录屏_dde-file-manager_20200711222926.mp4

只是不知为何开不了麦克风也无法打开录制系统声音,之后试试是不是Bug。

3. 浏览器

这个浏览器吧,国内惯例,Chrome套壳。地址栏输入chrome://version就会跳转到chrome://version/,并显示出版本信息。UA包含3

2020-04-29 04:48:59    125    0    0

0. 目的

目前各种垃圾短信,营销广告,App通知,防不胜防,有的时候,短信是有用的,被拦截。有的时候是广告被放行,有的App必须通知权限,但是不想接到所有推送。那么如何才能彻底解决呢?本作提供一偏方,现在大家普遍不止一台手机,不如就让旧手机接受所有通知,由用户制定推送规则,新手机则接受推送。

这个App的目标是实现安卓设备之间的通知同步,通过添加配置,用户自行决定本机捕获到的通知向哪个服务器推送,以及从哪个服务器获得通知。

1. 客户端使用简介

客户端借鉴某些知名科学上网工具的主界面,只现实配置列表,右上角菜单可以选择手动添加配置,从剪切板添加配置,或者设置给予读取通知权限,或者查看已经捕获的通知。

NotiSync 主界面

如果期望NotiSync作为发送端,请务必赋予读取通知的权限。

在添加配置界面,或者修改配置的界面中,第一行为是否运行,当开关处于关闭状态,这个配置将不生效。第二行是备注,用来让用户区分不同配置。第三行是服务器地址,第四行是端口,本App目前使用Http协议,后期将使用https协议以加密传输,保护通知内容不被泄露。最后一项是UUID,这是服务端用来区分用户的唯一标志。最后是工作模式,自行选择作为发送端或者接受端。目前配置文件没有作正确性检查,请自行填写正确的配置。点击右上角的勾即可保存,直接返回则不保存变更。

NotiSync 配置页面

2. 服务端使用简介

对,没看错,服务端也是自己配置。让自己的通知隐私掌握在自己的手里。

该项目用到了Golang的一个项目,使用前请执行:

go get -u github.com/go-sql-driver/mysql

服务器依赖于MySQL或者MariaDB,在使用前,需准备好用户名和密码和数据库名称,并在按下面格式写好JSON文件:

  1. {
  2. "UserName":"user name",
  3. "Password":"password",
  4. "DBName":"database name"
  5. }

在准备好的数据库内,需有一张Users表,用来记录uuid和自动分配id,id为数字,然后需根据id创建对应的用来存储通知数据的表。后面将开放添加用户的参数,以实现自动添加用户。。。

默认读取js

2020-02-21 02:12:40    236    0    0

0. 背景

家里有一台07年的老台式机,经简单升级依然可以流畅在线播放视频,浏览网页。但是最近移动位置后网线迁移不方便,刚好,多年吃灰的树莓派就派上了用场

台式机没有无线网络,如果没有网线还要上网就必须将WiFi转换成有线的形式。

手机可以通过USB共享网络,但是每次都会自动新建一个网络,看着实在烦,而且我爸手机不支持将连接USB的默认方式设置为共享网络,用起来麻烦。

各种无线网卡倒是便宜,但是受疫情影响,现在买基本不要指望,所以只能就地取材,树莓派4都出了,3B早就吃灰多年了,不如现在用起来。

1. 思路

总体思路非常简单,就是把WiFi变成WAN口,RJ45变成LAN。

再说直白点,就是通过WiFi连接到网络后,开启ip转发,装DHCP服务端

本次操作基本参考【树莓派】在Raspbian下将wifi中继为有线网络

系统使用当前最新版本的Raspbian Buster ,全程不需要GUI,完全可以选择Raspbian Buster Lite

2. 操作步骤

以下命令无特殊说明均建议以root权限执行

(1) 连接WiFi

Raspbian自带raspi-config工具,直接通过终端操作就行,而且下次开机自动连接,非常省事。如果想后续操作方便一点,可以在操作完成之后ifconfig一下,查看当前ip地址,然后通过raspi-config把ssh打开。之后通过ssh操作会方便不少,复制粘贴命令方便多了

(2) 配置网桥

  1. apt install bridge-utils -y
  2. brctl addbr br-lan
  3. brctl addif br-lan eth0
  4. ifconfig br-lan 192.168.3.1 up #这里的地址随便,和Wan侧不在一个网段就行
  5. ifconfig eth0 0.0.0.0 up

(3) 配置IP转发

原文提到三种,这里我选自己最习惯的一种。

  1. sysctl net.ipv4.ip_forward=1

(4) 配置iptables

  1. iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

(5

LibreELEC Kodi 树莓派    2020-01-31 13:38:02    1422    0    0

遥想半年前,树莓派4刚发布,纸面参数相当优秀。4核A72,最大4G RAM,双USB3.0,千兆网口,支持4K输出,最高支持4K的H265硬解。然而当我怀着激动的心情刷入Raspbian,接上我那27寸的4K显示器之后,我只有一个感受:太特么卡了,硬件加速非常有问题,在线看B站都最多720P才能流畅。而且还不能全屏,全屏必卡。。。现在过年终于闲下来了,该想想怎么发挥一下这块吃灰半年的派的性能了。

既然做不了微型桌机,那就做一个机顶盒吧。从树莓派的官方下载界面可以看到,第三方支持的系统还不少,其中OSMC和LibreELEC都是类似于多媒体中心的系统,其中OSMC下载页显示,暂时还不支持树莓派4,但是LibreELEC首页可知,9.1开始有树莓派4支持,所以就下了LibreELEC。

在下载了为树莓派编译的系统镜像和LibreELEC的SD卡制作工具后,通过制作工具可以将系统镜像不经解压直接制作成启动盘,将制作好的TF卡插入树莓派4后,接上显示器,并接通电源即可启动。

进入系统之后,发现这系统只打包了英文???虽然也不是不能用,但是作为一个娱乐系统,万一以后给老人家用,没有中文怎么行。果断安装中文插件。为避免乱码,在安装并启用插件之前,先进入设置,把Interface->Skin->Fonts改成Aria based。然后下载并安装以下插件:resource.language.zh_cn-3.0.11.zip。安装完成后应该会询问是否切换中文,这时候点切换应该就好了。

为让树莓派的更像一个机顶盒,并充分发挥其优势,还应该再调整几个设置。
1. 分辨率:进入设置->系统->显示。将分辨率改成3840x2160p,刷新率看个人对界面流畅度的感知吧,个人感觉刷新率过高容易画面撕裂或者卡顿,所以调整到了最低,23.98。
2. 网络:如果比较方便的话建议使用有线网络,毕竟树莓派有千兆网口。比WiFi还是要稳定的多。
3. Samba:可以方便上传和家庭内部共享资源。进入设置->LibreELEC->服务,启用Samba,并开启自动共享外部驱动。
4. 遥控器:树莓派可以用键鼠控制,但是作为一个电视盒子还是太麻烦。进入设置->服务->控制,打开

Leanote Caddy Linux    2020-01-25 14:59:05    86    0    0

0.背景

这个博客搭建完成一年多了,一直懒得折腾。最近发现一款Go语言写的http服务器不错,拿来折腾看看。

1. 啥是Caddy

Caddy服务器是一个开源的,使用 Golang 编写,支持 HTTP/2 的 Web 服务端。它使用Golang 标准库提供HTTP 功能。 Caddy 一个显著的特性是默认启用HTTPS。它是第一个无需额外配置即可提供HTTPS 特性的Web 服务器。(Copy自Wikipedia

2. Caddy安装

以下命令均在root权限下执行

1. 安装

可以通过手动去官网或者Github下载,也可以选择直接使用一键脚本安装。
我这个人懒,直接使用官方提供的一键脚本(手动狗头)
在终端中执行以下命令即可

  1. curl https://getcaddy.com | bash -s personal

2. 配置Caddy

这里主要为caddy创建所需的目录和文件。

  1. mkdir /etc/caddy
  2. touch /etc/caddy/Caddyfile
  3. chown -R root:www-data /etc/caddy

因Caddy默认开启HTTPS,故需要创建ssl证书的目录

  1. mkdir /etc/ssl/caddy
  2. chown -R www-data:root /etc/ssl/caddy
  3. chmod 0770 /etc/ssl/caddy

网站根目录,其实可以不配置,这里Caddy仅作端口转发用

  1. mkdir /var/www
  2. chown www-data:www-data /var/www

最后,配置systemd

  1. sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service
  2. systemctl daemon-reload
  3. systemctl enable caddy.service

最后的最后,配置Caddyfile,将以下

Linux Dex Ubuntu    2019-08-29 01:04:30    101    0    0

0. 背景

前段时间,为了学习,下血本入手了一台Samsung家的平板Tab S5e。虽然是中端机,但是SDM670性能还行,有6G内存,主要是还支持Linux on dex,可以满足简单的算法验证(虽然不一定用得到)。

1. Linux on dex 安装

  1. 下载并安装Linux on dex
    这个有UP主说默认有?我没找到,于是就自己下了。推荐站点:APKMirror

  2. Linux on Dex的网页下载官方提供的Ubuntu的Image

  3. 安装完成后进入Dex模式并启动Linux on Dex,使用方法参考官网介绍。

2. 遇到的问题

  1. 分辨率。默认分辨率1400x876,在10寸的屏幕上还是略显模糊。
  2. 中文输入法。默认没有中文输入法。
  3. chromium的各种问题。很难理解为啥chromium会把各种设置文件放在不属于当前用户的主目录的位置,导致插件装不上,谷歌账户登录登不上。窗口大小也会每次都变得很大,很不方便。
  4. Qt程序都跑不起来

3. 解决方案

(1). 分辨率

看了一下进程列表,发现了VNC。这就好办了,把分辨率强行改成2k的就行了?

在终端中输入sudo vim /etc/init.d/vnc.sh。设置一个变量并赋值为2560x1600,然后把所有的$1替换为刚才的变量即可。重启容器后即可强制2k显示。不过实测感觉太卡了,如果想恢复,把$1再赋值给那个变量就行(比如我的就是geo)。

图片标题

(2). 中文输入法

中文输入法选择的是ibus的,忘了当时装了些什么了,放张图随意看看吧。主要就是ibus本身和一个ibus-sunpinyin。

图片标题

安装完成后在终端执行ibus-daemon &即可启动。

如果需要开机启动可以利用.bashrc完成。这个image开启会自动打开一个终端(不知道怎么关闭这个设定),所以一定会执行这个文件,正好可以用来实现开机自启动的效果。在,bashrc中添加如下代码即可:

  1. IBUS_NUM=`ps -ef | grep "ibus" | grep -v "grep" | wc -l`
  2. if [ $IBUS_NUM -eq 0 ];
  3. then
  4. ibu
1/2