夜微冰萌 发布的文章

链接
nssm-github

参考资料
run frp client as a service on windows and ubuntu / debian
怎样将 FRP 安装为系统服务
Windows上有没有类似tail -f这样的命令?


简单的总结一下

首先frp肯定要下下来,把frpc.toml改好,启动一次看看有没有弄错的,没问题就ok
然后把nssm下下来,把里面的nssm.exe拿出来就行,不用全解压,放到和frp一个目录下
打开cmd,输入nssm按tab,打个空格,打个install,然后回车

然后会弹出来一个窗,最底下是服务名,写个frpc就行
path写frpc绝对路径
第二行在第一行填好后会自动出来的,不用改
第三行是参数,写 -c 然后跟frpc.toml的绝对路径,和cmd直接开frpc.exe大差不差

上面第二个标签页details,中间那个框是写服务详情的,可以随便写点,比如frpc的版本号啥的,不写也行

选项卡往后翻有个 I/O ,填个文件地址可以记录日志
只要填stdout就行,stderr会自动用同一个文件,你可以先在frp目录里创建一个log.log,然后去选它

都搞完了之后直接保存就行了,服务列表里去找找,启动试试,应该是没问题的


附带一个用处不是很大的操作,上面参考资料最后一个链接,可以实时看日志,达到直接开cmd的效果  
如果你上面日志部分是照做的,那下面直接照抄就行
在frp目录下新建一个bat文件,里面写powershell gc log.log -wait就行

建议在gui后台操作,因为很可能改着改着就进不去后台了

目的:主线插eth0,走eth0上网,因为eth0无论如何都不能shutdown所以首先考虑用这个口

设静态
如果你的其他网卡有设置地址,先改掉,改成和eth0不重复的,以及不要和接下来要接在eth0上的网段重复
把eth0的地址设置成你要接入的局域网地址,填好网关和dns,重点:在默认网关的可选项那填1,保存

把其他有信息的网卡默认网关后面的可选信息填大于1的数字,保存

建议重启
也可以先命令行ping一下,应该是已经正常了

rclone常用命令参数 >>>

查看帮助:

rclone --help
# 查看功能选项

rclone help flags
# 查看所有参数选项

rclone help backends
# 查看支持的所有网盘

Rclone 设置

rclone config - 进入交互式配置选项,进行添加、删除、管理网盘等操作。
rclone config file - 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf
rclone config show - 显示配置文件信息

命令语法

# 本地到网盘
rclone [功能选项] <本地路径> <网盘名称:路径> [参数] [参数] ...
# 网盘到本地
rclone [功能选项] <网盘名称:路径> <本地路径> [参数] [参数] ...
# 网盘到网盘
rclone [功能选项] <网盘名称:路径> <网盘名称:路径> [参数] [参数] .

常用功能选项

rclone copy - 复制
rclone move - 移动,如果要在移动后删除空源目录,请加上 --delete-empty-src-dirs 参数
rclone sync - 同步:将源目录同步到目标目录,只更改目标目录。
rclone size - 查看网盘文件占用大小。
rclone delete - 删除路径下的文件内容。
rclone purge - 删除路径及其所有文件内容。
rclone mkdir - 创建目录。
rclone rmdir - 删除目录。
rclone rmdirs - 删除指定灵境下的空目录。如果加上 --leave-root 参数,则不会删除根目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下的所有的文件以及文件大小和路径。
rclone lsl - 比上面多一个显示上传时间。
rclone lsd 列出指定路径下的目录
rclone lsf - 列出指定路径下的目录和文件

常用参数

-n = --dry-run - 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。
-P = --progress - 显示实时传输进度,500mS 刷新一次,否则默认 1 分钟刷新一次。
--cache-chunk-size SizeSuffi - 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。
--cache-chunk-total-size SizeSuffix - 块可以在本地磁盘上占用的总大小,默认10G。
--transfers=N - 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如128M的小鸡上使用建议设置为1。
--config string - 指定配置文件路径,string为配置文件路径。
--ignore-errors - 跳过错误。比如 OneDrive 在传了某些特殊文件后会提示Failed to copy: failed to open source object: malwareDetected: Malware detected,这会导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0。

文件过滤

--exclude - 排除文件或目录。
--include - 包含文件或目录。
--filter - 文件过滤规则,相当于上面两个选项的其它使用方式。包含规则以 + 开头,排除规则以 - 开头。

文件类型过滤
比如 --exclude ".bak"、--filter "- .bak",排除所有 bak 文件。也可以写作。
比如 --include ".{png,jpg}"、--filter "+ .{png,jpg}",包含所有 png 和 jpg 文件,排除其他文件。
--delete-excluded 删除排除的文件。需配合过滤参数使用,否则无效。

目录过滤
目录过滤需要在目录名称后面加上 /,否则会被当做文件进行匹配。以 / 开头只会匹配根目录(指定目录下),否则匹配所目录。这同样适用于文件。

--exclude ".git/" 排除所有目录下的.git 目录。
--exclude "/.git/" 只排除根目录下的.git 目录。
--exclude "{Video,Software}/" 排除所有目录下的 Video 和 Software 目录。
--exclude "/{Video,Software}/" 只排除根目录下的 Video 和 Software 目录。
--include "/{Video,Software}/**" 仅包含根目录下的 Video 和 Software 目录的所有内容。

文件大小过滤
默认大小单位为 kBytes ,但可以使用 k ,M 或 G 后缀。

--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。
--max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件。

via:https://rclone.org/docs/

via:https://p3terx.com/archives/rclone-advanced-user-manual-common-command-parameters.html


Rclone使用自建API连接OneDrive提升同步速率和稳定性 >>>

谷歌网盘使用自己的api:
https://bbs.zsxwz.com/thread-2703.htm

onedrive使用自己的api:
https://p3terx.com/archives/rclone-connect-onedrive-with-selfbuilt-api.html

提升效果还是需要看自己机子的性能,性能太差,用自己的api效果也不会太明显。
总之用自己的api比rclone的api稳定性效果要好,一般也可以提升一些同步速度。


干净又卫生,多少带点坑

租的俄罗斯的justhost.ru,1c512ram6g不要v4地址单月付只要10r,纯整点活可太够用了

我的基础知识基本没有,想整什么都是靠百度的,所以如果有一些大火们看着很理论级别的问题我在那反复踩的话麻烦别骂就行qwq

首先是第一个坑,yum报Name or service not known
这倒是一眼鉴定dns问题,但是我搞了两天,,,
先是去查怎么改dns,得知在/etc/resolv.conf ,cat一看自带了主机商的两个dns地址了,就没在意,然后去网卡配置/etc/sysconfig/network-scripts/ifcfg-* 里加了个dns1和dns2,用的是阿里的

重启了一下发现yum还是用不了,还有一样的问题,然后我以为是系统的毛病,重装了一下换成了centos7,原来是8
题外话:发现dns先是单独网卡生效,然后才是resolv文件生效,之后就没改过网卡配置了

第二天换了centos7还是不行,所以换个思路,还是从报错下手,再去改resolv文件,这次换成google的v6dns了,摸了一下ping,报错不一样了,变地址不可达了,想起来了nslookup,捏了一下,有反应了
yum也能用了
第一个坑结束

然后是第二个坑
java和unzip都装好了,zfile只能v4下,用自己电脑当中转,下了在扔过去,这都不算问题。然后坑来了,zfile start了之后端口号进不去,第一反应防火墙没放,速速firewall-cmd看了一下,给把端口放出去了,刷新网页,还是进不去
我以为是防火墙没放成,还有第二层防火墙什么的(比如主机商的墙),这家神奇的主机商用的pve做后台,看了看wall也没开,也没有改防火墙的权限,那估计问题就还是在机子上了。
以为是zfile没开成,又来回重开了几次,没效果,没辙了
去下了个nginx做测试,下完了一启动,墙一开,吔,怎么默认页面也进不去,这时我想到了,应该是没监听ipv6,一查教程果然是,给listen加个[::]:80,reload一下,ok了
那有前车之鉴了,直接netstat -tulpn瞅了一眼,果然zfile没监听tcp6,github上翻了翻doc,没看见相关的文档,又去翻了翻issues,正好看见有个人问zfile是不是不支持ipv6,那就豁然开朗了
现在在看看能不能用nginx把v6翻成v4的


更新一下信息,后来搞完了忘记把这个贴子写完了。
解决ipv6访问问题是去修改了一下start脚本(应该是,具体改的是不是这个文件记不清了,隔了一个月),让java去监听v6的端口,但是因为内置的网盘api是不支持ipv6的,所以其实搞了也只能挂本地存储或者别的直接支持ipv6的链接方式。

附带一堆日常命令

firewall-cmd
服务状态/启动/停止/重启 systemctl status/start/stop/restart firewalld
状态 --state
查看所有 --list-all
重载 --reload

临时:在reload后规则消失
临时放行 --add-port=/
临时移除 --remove-port=/
永久:在reload后规则生效
在临时规则后加 --permanent

查询端口 --query-port=/
yes代表有,no代表没有
查询所有放行的端口 --list-ports

查询所有支持的服务 --get-services
服务的操作逻辑和前面放端口一样,把port换成service就行了,写port和protocol的地方写服务名称

netstat
列出所有 -a
列出所有TCP -at
列出所有UDP -au
只列出监听的 -l
只列出监听的TCP -lt
只列出监听的UDP -lu
统计信息 -s (tcp/udp切换同上)
显示核心路由信息 -r
显示核心路由信息但不显示主机名(纯数字) -rn

常用组合 -lnpt (监听的、纯数字、pid、tcp)

标题有点模棱两可,讲详细点就是自动录制直播并且上传到onedrive备份,以及网页版自助文件下载服务

为了实现零额外成本,本方案只需要一台能联网的电脑

所需的软件是
录播姬
raidrive
freefilesync
花生壳
java8
zfile

大致流程如下:
录播姬录制直播,完成后自动转封装成mp4,利用freefilesync将文件同步到raidrive挂载的onedrive里,zfile映射onedrive目录,然后用花生壳的免费内网穿透将zfile的web页面发布出来就行了

原地址
tar

解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname

gz命令

解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
    .tar.gz 和  .tgz
    解压:tar zxvf filename.tar.gz
    压缩:tar zcvf filename.tar.gz dirname
    压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....

bz2命令

解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩:bzip2 -z filename
     .tar.bz2
     解压:tar jxvf filename.tar.bz2
     压缩:tar jcvf filename.tar.bz2 dirname

bz命令

解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
     .tar.bz
     解压:tar jxvf filename.tar.bz

z命令

解压:uncompress filename.z
压缩:compress filename
     .tar.z
     解压:tar zxvf filename.tar.z
     压缩:tar zcvf filename.tar.z dirname

zip命令

解压:unzip filename.zip
压缩:zip filename.zip dirname