frp – 小众软件 https://inloveinparis.com 分享免费、小巧、实用、有趣、绿色的软件 Sat, 14 Mar 2020 05:46:08 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.1 EasyService – 让程序以 Windows 系统服务的方式,无窗口运行 http://inloveinparis.com/easyservice-for-windows/ http://inloveinparis.com/easyservice-for-windows/#comments Thu, 14 Nov 2019 07:07:05 +0000 http://inloveinparis.com/easyservice-for-windows/ EasyService 是一个只有 16KB 的小程序,它可以让需要长时间运行的 Windows 程序,以系统服务的方式,无窗口后台运行。典型的应用,比如命令行内网穿透 frp 工具、各种 Nodejs、Python 小工具。@Appinn

EasyService - 让程序以 Windows 系统服务的方式,无窗口运行 1

有很多没有图形界面的程序,会使用 Windows 下的命令提示符界面,看起来…丑丑的,以及很碍事。

而 Windows 并没有一个很方便的后台运行方式,于是,利用系统服务来运行一些程序,就是一种非常优雅的使用方式了。

比如之前小众软件写过的免费开源内网穿透工具 frp 教程。frp 可以让你在不考虑公网 IP 的情况下, 随时从外连接回家,使用 NAS、远程桌面等服务,但 frp 会在桌面留下一个命令提示符。

EasyService - 让程序以 Windows 系统服务的方式,无窗口运行 2

注意使用 frp 的前提意,需要一个公网 IP 作为中转节点。这个节点可以是拥有固定公网 IP 的任意电脑,也可以自配一台 VPS,青小蛙依旧推荐 Vultr 的机器,便宜好用,控制面板简单。可以另外通过青小蛙的推荐链接注册👈有返利),还送 50 刀体验金,仅限新用户。Vultr 推荐美国、德国的机器。

如果不嫌麻烦,也可以试试腾讯云的特价服务器,一年只需要 88 元,(推荐注册地址 👈 有返利),优点肯定是连接响应速度快了,但带宽略小。

现在,我们就用 EasyService 把这个命令提示符窗口隐藏起来,让它在后台运行。

EasyService 教程

假设你已经看过 frp 教程,并成功设置了服务器与客户端。下面就用 EasyService 将 frp 的 Windows 客户端窗口隐藏起来。

配置文件

  1. 下载解压缩 EasyService(19.8KB)
  2. 将 frp 客户端放到 EasyService 文件夹
  3. 编辑 svc.conf 文件:
ServiceName: Frp Service
Worker: frpc.exe -c frpc.ini
WorkingDir: frp
OutFileDir: outfiles
WorkerEncoding: utf8

确保此时的 EasyService 文件夹有以下的几个文件和文件夹:

  • frp 文件夹(包含配置文件)
  • svc.conf
  • svc.exe
EasyService - 让程序以 Windows 系统服务的方式,无窗口运行 3

测试配置文件

然后,在 EasyService 文件夹的地址栏,直接输入 cmd 打开当前文件夹的命令提示符,输入测试命令:

svc.exe check
svc.exe test-worker

如果能看到下面的提示,就证明测试成功,没有问题了。

EasyService - 让程序以 Windows 系统服务的方式,无窗口运行 4

安装系统服务

此时需要使用管理员权限的命令提示符(在开始菜单中搜索 cmd 然后右键以管理员身份运行)。切换至 EasyService 目录(上图为例 C:\TOOLS\easy-service-master):

cd C:\TOOLS\easy-service-master
svc.exe install
EasyService - 让程序以 Windows 系统服务的方式,无窗口运行 5

启动系统服务之后,frp 就已经开始运行了,即便用户注销也不会停止运行,且系统开机后、用户登录之前就会自动运行。在服务管理控制台中可以查看已注册的服务。

重启、停止、删除系统服务

只需要运行以下命令,即可:

  • svc stop 停止
  • svc start 开始
  • svc estart 重启
  • svc remove 删除

然后,就可以愉快的使用 frp 并且看不见那个烦人的窗口了。EasyService 在 GitHub 开源。

EasyService 原理

EasyService 实质是将自己(svc.exe)注册为一个系统服务,此服务启动时,会读取 svc.conf 中的配置,创建一个子进程运行 Worker 中指定的程序及命令行参数,之后,监视该子进程,如果发现子进程停止运行,会重新启动一个子进程。而当此服务停止时,会向子进程的标准输入中写入数据 “exit” ,并等待子进程退出,如果等待时间超过 10 秒,则直接终止子进程。

多个服务需要运行多个 EasyService。

其他的选择

青小蛙在几个月前还写过一篇通过 nssm 工具实现同样效果的教程:

EasyService - 让程序以 Windows 系统服务的方式,无窗口运行 6

详见这里:https://meta.appinn.net/t/frp/11319/3


相关阅读


©2021 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南
3659b075e72a5b7b1b87ea74aa7932ff
点击这里留言、和原作者一起评论

[ 点击前往获取链接 ]


]]>
http://inloveinparis.com/easyservice-for-windows/feed/ 36
frp – 你也能用的开源内网穿透工具,最简洁教程 http://inloveinparis.com/frp/ http://inloveinparis.com/frp/#comments Sun, 25 Aug 2019 08:47:56 +0000 http://inloveinparis.com/frp/ frp 是一款跨平台的内网穿透工具,支持 Windows、macOS 与 Linux,它需要你有一台拥有固定公网 IP 的电脑,VPS 最好,然后就能愉快的进行内网穿透了。还支持 https,甚至可以用它进行小程序开发。@Appinn

frp - 你也能用的开源内网穿透工具,最简洁教程 7

网络的本地本来是应该互联互通的,但各种各样的原因会导致互联互不通。于是就需要造轮子解决它,frp 就是这样一个轮子,开源、免费、简单易用。

当然,免费意味着你需要自备一款拥有固定公网 IP 的电脑/VPS 作为中转节点。这台电脑可以是拥有固定公网 IP 的任意电脑,也可以自配一台 VPS,青小蛙依旧推荐 Vultr 的机器,便宜好用,控制面板简单。

另外通过青小蛙的推荐链接注册(👈有返利),还送 50 刀体验金,仅限新用户。Vultr 推荐美国、德国的机器。如果不嫌麻烦,也可以试试 阿里云 的机器,优点肯定是连接响应速度快了,但带宽略小。

这里假设你已经有一台 VPS 了,只需要跟着步骤走即可:

设置 frp 服务器

  1. 根据系统下载程序,并解压缩
  2. 将 frps 及 frps.ini 放到具有公网 IP 的机器

这里使用了最小配置,使用默认即可,无需修改任何文件,直接运行:

./frps -c ./frps.ini

另外,针对 Linux 用户,这里有一个后台运行服务可以参考。以上为 Linux 系统的执行命令,如果是 Windows 系统:

c:\Tools\frp\frps.exe -c c:\Tools\frp\frps.ini

假设 frps 解压缩到了 c:\Tools\frp\ 文件夹。

以及,请让防火墙通过 7000 端口,以及 7001、7002 端口。

设置 frp 客户端

  1. 根据系统下载程序
  2. 将 frpc 及 frpc.ini 放到处于内网环境的机器上。

这里以 Windows 远程桌面、群晖管理界面为例,修改 frpc.ini 配置文件:

[common]
server_addr = 服务器公网 IP
server_port = 7000

[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001

[DSM]
type = tcp
local_ip = 群晖在局域网中的 IP 地址
local_port = 5000
remote_port = 7002

然后,启动 Windows 命令提示符,运行:

c:\Tools\frp\frpc.exe -c c:\Tools\frp\frpc.ini

这里假设你的 frp 解压缩到了 C:\Tools\frp\ 文件夹下。

frp - 你也能用的开源内网穿透工具,最简洁教程 8

如果看到两行 start proxy success 就代表成功了。

远程访问

此时,就可以在外网访问网内资源了。

比如远程桌面,只需要打开微软的远程桌面客户端,然后使用 公网IP:7001 即可连接。

比如群晖,只需要打开浏览器,在地址栏输入 公网IP:7002 即可访问 DSM 的管理界面。

其它配置

frp 官网提供了非常详尽的说明书,包括转发 ssh、http、https、转发 Unix 域套接字等等,都可以配置使用。

但,其实对于初学者来说,还是有点费劲的。

更多示例

青小蛙开了一个帖子,准备连载一些 frp 的示例,以及如果在 Windows 下以系统服务运行 frp 等等一些内容。感兴趣的同学可以前往参考、讨论、分享。

目前有两个示例:

一些福利

为了活跃一下气氛,只要直接留言或者在这个帖子中分享了自己使用 frp 心得示例,以及遇到的坑的同学,将赠送一本《Linux 就该这么学》实体书,包邮,只有 10 本,所以就根据时间顺序前 10 吧。

没错,你遇到了坑,也欢迎分享下来,尤其错误代码,大家一起解决。


相关阅读


©2021 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南
3659b075e72a5b7b1b87ea74aa7932ff
点击这里留言、和原作者一起评论

[ 点击前往获取链接 ]


]]>
http://inloveinparis.com/frp/feed/ 42