Nextcloud 是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。
(更多…)分类: 折腾
-
网络存储文件共享之WebDAV
WebDAV 基于 HTTP 协议的通信协议,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
常用的文件共享有三种:FTP、Samba、WebDAV,它们各有优缺点,了解后才能更好地根据自己的需求选择方案。
(更多…) -
Privoxy 动态代理和广告过滤
Privoxy 是一个非缓存web代理,它具有高级过滤功能,可以增强隐私,修改网页数据和HTTP头,控制访问,删除广告。本章介绍socks代理转http,动态代理和广告过滤功能。
(更多…) -
自动代理脚本
代理上网有两种模式,一种是全局代理,所有的流量都走代理服务器,另一种是自动代理,根据规则决定是否使用代理。设置自动代理可以实现智能分流,多个代理服务器同时使用。
实现自动代理的方案有多种,浏览器可以使用SwitchyOmega插件,安装Privoxy实现动态代理。本章使用的是PAC自动代理脚本,主要是因为它跨平台,无需安装第三方软件或插件,几乎所有的系统都支持。
PAC代理脚本使用JavaScript语法,当系统设置PAC代理脚本后,浏览器执行请求时会先从脚本中的 FindProxyForURL 方法中获取代理服务器。
function FindProxyForURL(url, host) { return "代理服务器"; }
参数说明:
url
前当请求的url,如:https://engr-z.com
host
当前url中的主机名,如:engr-z.com 返回值说明:
DIRECT
不使用代理,示例:”DIRECT”
PROXY
使用http代理,示例:”PROXY 127.0.0.1:8888″
SOCKS
使用socks代理,示例:”SOCKS 127.0.0.1:1080″
SOCKS5
使用socks5代理,示例:”SOCKS5 127.0.0.1:1080″ 可以同时返回多个代理设置,用分号分隔,应用会依次按顺序检查返回一个可使用的代理服务器。示例:”SOCKS5 127.0.0.1:1080;PROXY 127.0.0.1:8888;DIRECT”
优先使用socks5代理,如果不可用则使用http代理,如果http代理也不可用则跳过代理直接连接。内置函数
PAC脚本支持基本的JavaScript语法,同时还内置一些函数可以帮助我们简化处理
- isPlainHostName(host)
判断是否为本地主机
if (isPlainHostName(host)) { return "DIRECT"; else return "PROXY proxy:80"; }
如果是本地主机直接连接,否则使用http代理
- shExpMatch(host, “”)
匹配url,支持 *
if (shExpMatch(url,"*.google.com/*")) { return "PROXY 192.168.1.1:3128"; }
- isInNet
访问IP是否在某个子网内
if (isInNet(host, "192.168.0.0", "255.255.225.0")) { return "" }
更多函数以考:Proxy Auto-Configuration (PAC) file
以下是我自己写的PAC脚本,可作为模板使用:
var domains = { "google.com": 1, "youtube.com": 1 }; var proxy = "SOCKS5 127.0.0.1:1080; SOCKS 127.0.0.1:1080; PROXY 127.0.0.1:8888; DIRECT;"; var direct = 'DIRECT;'; function FindProxyForURL(url, host) { var lastPos; do { if (domains.hasOwnProperty(host)) { return proxy; } lastPos = host.indexOf('.') + 1; host = host.slice(lastPos); } while (lastPos >= 1); return direct; }
只需在domains添加要代理的域名,如 facebook.com,twitter.com
如果有多个代理,比如公司的网络走公司代理,可在 domains 中的值处理
var domains = {
“google.com”: 1,
“youtube.com”: 1,
“公司网络”: 2
};if (domains.hasOwnProperty(host) == “2”) {
return “公司代理”
}设置PAC
把PAC上传到http服务器,或者放本地,在系统设置网络中找到自动代理配置,填上PAC的访问地址即可。
Windows:
Android:
IOS:
在手机上使用PAC脚本,可能会遇到某些APP不支持,这种情况需要使用Privoxy来做自动代理,将在后续介绍。
-
阿里云自动动态地址解析
家里找电信开通了动态公网地址,每天IP会变一次。我的域名是在阿里云申请的,路由器只支持花生壳和公云的DDNS设置,每天手动变更一次域名指向麻烦,利用阿里云的API,写了一个动态更新的小工具。
首先在阿里云后台申请创建AccessKey:
(更多…) -
虚拟机安装OpenWrt路由系统
OpenWrt是一个开源路由器固件,基于Linux。智能路由可以刷机OpenWrt,支持大量插件,功能丰富。OpenWrt也支持x86,可以做为软路由系统。由于我没有单独的机器做软路由,使用OpenWrt做旁路由,仅为科学上网和过滤广告,用虚拟机完全可以满足需求。
OpenWrt支持VitualBox,VMware,Hyper-V等虚拟机,也支持Docker运行。这里我使用的是VMware。
(更多…) -
Ubuntu安装XRDP
在Linux下一直没有好的远程桌面工具。VNC太慢,即使在内网也不太流畅。NoMachine不错,但连接需要安装客户端。NoMachine的移动端做得很垃圾,而且几年没更新,不兼容流海屏。远程用得最爽的还是windows自带的rdp,在低网速下也有很好的表现。
一般的远程工具采用录屏的方式,传输图像。如VNC,NoMachine,用h264压缩。虽然支持GPU加速,但在低宽带或高分辨率下质量差,延迟高。RDP不一样,它传输的是指令,绘图是放在客户端的,所以速度快,即使提高分辨率,速度也不会明显降低。
(更多…) -
Ubuntu升级至20.04
前几天Ubuntu 20.04 TLS (Focal Fossa)正式发布,家里的台式机是Ubuntu 18.04 TLS,决定升级到最新TLS版。
首先把系统软件升级到最新:
apt update apt upgrade
然后执行 do-release-upgrade 如下:
默认TLS版只能升级到TLS版,并且只有第一个补丁版发布才能检测到升级。就是说只有20.04.1发布后才能升级。可以手动指定参数:
do-release-upgrade -m desktop -d
经过漫长的等待,终于更新完了。重启系统。
(更多…) -
Nextcloud开启外部存储
Nextcloud默认是没有开启外部存储功能的,需在手动启用插件。
然后在设置里可以看到。设置Nextcloud所有用户都能使用外部存储。
如果Nextcloud是使用Docker部署,可能会遇到没有安装samba客户端问题:“smbclient” 未安装。无法挂载 “SMB / CIFS”, “SMB / CIFS 使用 OC 登录信息”。请联系管理员安装。
(更多…) -
Gnome 3桌面调教
Gnome是很多Linux发行版默认的桌面,最新是Gnome 3.x版本。Gnome 3非常简洁,简洁到只有一个空荡荡的桌面。需要调教一番才能更高效率地工作。
Gnome 3优化工具-Gnome Tweaks
Gnome Tweaks是一个图形化配置Gnome 3的工具。它不仅可以自定义Gnome 3桌面,还能集中管理Gnome 3的插件扩展。后面安装的Gnome 3插件都能在Gnome Tweaks中管理,开启/禁用及配置。
在Ubuntu中安装:apt install gnome-tweak
Gnome 3扩展-Dynamic Top Bar
Dynamic Top Bar可以把Gnome 3顶部栏透明化。不过如果使用浅色的壁纸,顶部栏的白色字体会看不清。
Gnome 3扩展-Hide Top Bar
Hide Top Bar可以把Gnome 3顶部栏设为自动隐藏,增大可视面积。
(更多…) -
Ubuntu禁用Systemd解析
主机安装Ubuntu 18.04,在hosts中配置了开发时使用的域名。想把主机做为DNS服务器,供路由器使用,这样网内的机器不需要指定DNS就能解析了。
在Linux以前的版本,只需要安装bind或dnsmasq,把监听地址改为网卡地址,网内的机器就能使用。
DNS服务软件我使用的是dnsmasq,使用apt源安装,启动服务失败。查看原因:
原来53端口被占用。
Ubuntu 18.04变化还是挺多的,比如设置hostname,不能再简单修改/etc/hostname。Ubuntu 18.04桌面版,新增了一个systemd-resolved服务,禁用它就好。
(更多…) -
Docker Desktop for Windows
自从使用Docker就变得一发不可收拾。和以前用虚拟机相比,它占资源少,启动快,方便管理。我主要用Docker来管理多个版本的软件共存、切换和升级,比如数据库,NextCloud,Wordpress。
开源的东西总是衷爱Linux,像Docker在Windows下就没那么方便。Windows的Linux子系统目前还不支付Docker,据说下个版本,WSL2会支付。所以我一直都是用VMware安装Linux,再安装Docker。
其实官方有提供在Windows环境下使用Docker的支持。一种是Docker Toolbox
工具,它是基于Oracle的VirtualBox虚拟机的,兼容性好,Windows各个版本都能用。还有一种是Docker Desktop for Windows,它是基于Hyper-V虚拟机。Hyper-V是微软的虚拟机,只在Windows专业版、企业版、工作站版中有。打开控制面板-程序-启用或关闭Windows功能,勾选Hyper-V,确定然后重启生效。需要注意的是,Hyper-V和VMware、VirtualBox有冲突,开启后,VMware和VirtualBox包括Android虚拟机就不能使用CPU虚拟化了,性能会大打折扣。
从官网,docker.com下载Docker Desktop for Windows安装,安装完成后Docker会自动连接Hyper-V创建MobyLinux系统。Docker可能会提示需要用户登录,如果没有,可以去官网注册一个Docker账号。下载镜像是必须登录的。
(更多…)