不要实时提醒

在2020年,各大APP厂商终于意识到了,一味的实时通知,其实不会更好
反而原始的邮件列表形式对用户更友好,
更能将信息可靠的给到用户,而实时的通知很容易被忽略。
因为现在各种各样的推送太多了,用户没有时间一一辨别,
很多就直接闭着眼睛点确认了,而且事后需要的时候又找不到这个信息。

现在,支付宝,钉钉,微信。淘宝之类的,都已经回归消息列表形式,例如异常登录,支付回执,物流更新等

但是国外的苹果还没有跟上,例如appleid的登陆确认,就还是即时消息形式,当你晚上有时间了想回头确认一下刚才那个提醒是否重要,可能是什么导致的,这时候你将没有任何凭证可以查询

我那毫无意义的工作啊~

今天上班后,老婆对我说加油💪!

我实在是加不起什么油,不过是按照开发文档按部就班不急不火的写些应付了事的代码,老板既不重视我的工作成果,也不愿意让我闲着,就随意糊弄找些无关紧要的工作内容让我做着,还一本正经的要我给出交付时间,保证按期完成工作。

但是我知道,如果老板心情好,也许会在拿到程序后花上三分钟看一下然后不再过问,但是业务部门拿到程序后,最多不过三五天,就会将我花费半个月或者一两个月开发的程序忘到脑后。
依旧刀耕火种的使用原始手段继续执行它们的业务,这彷佛就像你给野人部落送去一套现代农具被他们仍在角落,然后仍然使用木头石头和黄土搏斗。

就这样,直到下一次领导又惊觉IT部没有足够的工作量,又会开始下一轮的指挥业务部门想出一些轻浮的点子,交给IT部,开启新一轮的制造程序,扔进抽屉,再制造程序,再扔进抽屉。

每个半年或者一年,翻一翻抽屉,找出这些程序。大声说,这个功能不能用,不符合现在的业务现状,又或者说这个功能的需求提出者已经离职了,不知道这个功能是出于什么目的设计的,然后这个程序就被定义为垃圾,扔进垃圾桶

你能想象吗?,这几乎是在垃圾桶上方制作东西,制作完成后直接被扔进垃圾桶。我不知道拥有什么样的心态才能不敷衍了事的制作这些程序。

NAS的多媒体服务器

折腾过很多文件共享服务

文件列表类:

  • samba
    最经典的局域网文件共享方案
  • filebrowser
    有用户系统,支持上传下载

多媒体类:

  • plex
    看来是惊为天人,支持自动内网穿透,支持DLAN,支持UPNP自动映射
    nextcloud

文件管理类:
seafile

NAS服务器类
openmediavault
虚拟机群晖(全洗白)

NAS 的家庭网络到互联网漫游切换问题

最近两年热衷于折腾NAS,记录一下我尝试过的内外网切换的经验
这个问题是类似负载均衡自动切换线路的问题,但是比纯粹互联网上的负载均衡更加复杂,涉及到内外网切换场景下的最优线路选择
无论在DNS层面、路由器层面、还是应用层,都没法很好的解决

  • DDNS + 局域网Hosts 分别指向公网IP、内网IP的方案

    • 切换网络后,还有DNS缓存,有些手机需要切换飞行模式才会清空DNS缓存
    • 因为只切换IP,所以要求内外网使用同一端口,在外网80和443不通的情况下,内网也要用非80、443端口
  • VPN模式

    • 长期开着VPN耗电
    • 外网环境需要一直连着VPN,而回家后需要断开
  • 路由支持的端口映射走内网模式

    • 目前只看到梅林固件支持
  • 内外网使用不同IP/端口

    • nextcloud之类的客户端切换服务器地址等于连接到另外的服务器,操作麻烦,耗时久
  • zerotier 一类的P2P SDN软件定义网络

    目前看来很好用,内网外网切换毫无问题

用户系统设计准则

在开发和维护公司的一套系统两年后,对用户系统总结出了一点经验之谈

  • 不要存明文密码

    简单的md5,简单的sha1/sha256,固定的盐值,多层嵌套哈希,都不会提供额外的安全性
    参见:伯乐在线 - 蒋生武 加盐密码哈希:如何正确使用

  • HTTPS不是绝对安全

    如果你有额外的安全性需求,不要认为HTTPS是救世主

    1. 首次访问的HSTS剥离
    2. 证书泄露:网站的HTTPS证书泄露,导致中间人可以窃听流量
    3. 证书机构漏洞/错误颁发证书
    4. 本地病毒、流氓软件安装的证书
    5. 路由器去广告插件安装的证书
  • 不能仅凭登录态授权

    涉及到账户本身的操作,不能仅凭登录态来授权验证,例如“修改密码” “绑定/解绑手机”之类的操作,需要验证登陆密码或者二次验证,因为一旦用户流量被劫持,session或者token被盗取,黑客无法盗走账户,用户还可以通过更改密码取回自己的账号

查看

新浪SAE使用总结

运行环境

  • 云空间环境:可能是虚拟机或者docker容器运行
  • 标准环境:应该是指的传统php虚拟主机架构
  • 独享环境:可能是虚拟机或者docker容器运行
  • 共享环境:利用语言运行时特性将一些应用放在一台机器运行
  • 容器环境:预配置的代码运行环境
  • Docker
    • Dockerfile
    • 镜像导入
    • 容器虚拟机:就是可以打包运行中的镜像

查看

zerotier设置为默认路由记录

1:网关开启IPv4内核转发,增加防火墙规则,将zt网段来的流量转成本地网卡IP发出去的
2:增加路由规则,将一个CIRD地址指向一个网关地址,网关地址是zt网段的地址

1
2
3
iptables -t nat -A POSTROUTING -o eth1 -s 10.242.0.0/16 -j SNAT --to-source 192.168.1.220
iptables -t filter -A FORWARD -i zt+ -s 10.242.0.0/16 -d 0.0.0.0/0 -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -s 0.0.0.0/0 -d 10.242.0.0/16 -j ACCEPT

删除:

1
2
3
iptables -t nat -D POSTROUTING -o eth1 -s 10.242.0.0/16 -j SNAT --to-source 192.168.1.220
iptables -t filter -D FORWARD -i zt+ -s 10.242.0.0/16 -d 0.0.0.0/0 -j ACCEPT
iptables -t filter -D FORWARD -i eth1 -s 0.0.0.0/0 -d 10.242.0.0/16 -j ACCEPT

3:在终端机器上设置allowDefault,以便让终端机器的流量能走到zt的网关

  • 最后还是未成功,感觉是流量没走到zt网卡,还是走了原来的”以太网“接口,所以还是可以访问外网,还是访问不到内网
    但是手机上的情况不一样,手机上啥也访问不到,感觉就像是流量走到了zt网络的网关地址,但是网关没有转发流量

  • 另一台网络架构较为简单的windows虚拟机也重现了这个情况,也是zt网络ok,没有互联网

查看

服务资源限制随想

今天在阿里云上将一个磁盘快照导出为vmdk的时候,忽然想到,如此耗费服务器资源的操作,是如何平衡计算给每个用户的呢?

在很久以前,网站主们使用同一个物理服务器上的虚拟主机,当一个网站疯狂占用资源时,会造成同机器的所有网站响应缓慢。

在近代,使用vps的网站主们不再有这个困扰,但是当IDC超售,邻居们都用满资源的时候,还是会导致自己的网站被波及。

现在都是云计算时代了,对于不同网站主的资源隔离得非常彻底,上面列举的情况几乎不会再出现了

查看

koolshare-lede DNS 导致的断网问题

在我的几个软路由上用了koolshare-lede,其中一个好好的(一样的设备一样的固件版本),但是另一个也不知道是升级后还是改了什么配置后,经常断网

在重启wan接口后有一定几率网络恢复,在重启后100%会恢复

有时候几天一次,有时候隔一晚上又能自动恢复

尝试过关闭ss之类的,还是会出现

然后怀疑是运营商的问题,后来换成光猫拨号直连AP,没有出现断网现象。

下级路由仍然是软路由还是断网,有一天终于忍不住了狠狠排查了一通,定位到了是dns无响应(所以浏览器不会显示域名解析失败,而是一直转圈),最后是直接curl外网IP才确定是dns问题

在百度上搜了一通 “koolshare-lede 断流” 找到这么两个解决办法

  1. 在网络-负载均衡中删除所有接口
  2. 在系统-软件包管理 卸载mwan软件包

我两个都操作了,后来一周果然没有再发生断网断流现象了

鄂ICP备14007840号-1