您正在查看: 学习心得 分类下的文章

为Windows10家庭版加入远程桌面功能

前言

说来话长,最近搭建了个frp内网转发,想着转发winodws的远程桌面端口3389,来实现任意地点的远程桌面登陆
等我搭建完毕frp后,试了下远程连接,发现连接失败 汗.png
第一反应就是不是防火墙出问题了,等我排除了防火墙的问题后,隐隐约约记得win10是不是把家庭版的远程桌面给阉割掉了...
进去一看,果然是!万恶的资本主义...
2020-04-16T13:03:46.png

虽然自己用的系统都是专业版的,可公司电脑默认装的是家庭版的...
公司的电脑毕竟是公司的财产,不到万不得已,我还是不想动这个系统
家庭版就不能用远程桌面了吗?nonono~
经过一番仔细查找,在Github找到了大佬写的远程桌面软件包,该程序可以让家庭版支持远程桌面功能,大佬就是大佬 真棒.png

下面开始安装:

1 下载

- 阅读剩余部分 -

使用frp内网穿透转发,来实现Windows远程桌面登陆

前言

你是否有需求,突然来了紧急需求,需要在家里远程操作公司的电脑进行加班? 捂嘴笑.png
不加班怎么享受福报呢? 滑稽.png
当然以上都是瞎扯,在家里访问公司电脑,最简单的是使用远程控制软件,如Teamviewer、向日葵等,但是这都是第三方的应用,安全性没得什么保障,其次并不是很稳定,而且以上软件是监控VGA的输出,也就是你操作的时候,你的公司的屏幕也是可以被同事看到的,吓到人就不太好了,hh
最完美的方案还是windows自带的远程桌面,使用体验完美,并且不会在实际桌面输出,其弊端是公司的电脑一般都不会单独配置ip地址,无法直接连接,其次也不能调用独立显卡进行计算,不过公司的mx250拿来编译怕是要反向加速...
所以综合以上,这里我准备使用frp做内网穿透,并使用vps做端口转发,来实现在任意地点登陆公司电脑 太开心.png


1 准备工作

  • Root权限的VPS服务器(最好是国内的服务器,速度快延迟低,连接稳定)
  • 公司电脑可24h开机并联网

2 开始搭建

2.1 先配置服务器端

1.Centos下先执行命令安装wget
yum install -y wget
2.创建目录来存放frp和配置文件
mkdir /home/frp && cd /home/frp
3.下载Github最新版服务器端frp
下载地址:https://github.com/fatedier/frp/releases
这里以目前最新版 v0.32.1 为例
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
4.解压文件
tar -xzvf frp_0.32.1_linux_amd64.tar.gz
5.进入解压的文件夹
cd frp_0.32.1_linux_amd64/
6.编辑配置文件 vi frps.ini

[common]
bind_addr = 0.0.0.0
#frp连接端口
bind_port = 7000
#frp连接密码
token = 1234567890

#面板端口
dashboard_port = 7500
#面板账号
dashboard_user = admin
#面板密码
dashboard_pwd = admin

修改完成后输入:wq保存退出即可
具体参数可参考官方的参考文档:https://github.com/fatedier/frp/blob/master/README_zh.md
7.给脚本加上执行权限
chmod +X *.sh
8.运行脚本
./frps -c ./frps.ini
2020-04-16T05:55:29.png

至此,服务端就运行成功了,不过别忘了在防火墙放行对应的端口
现在可以直接在浏览器输入服务器ip:7500打开frp面板了

2.2 配置客户端

- 阅读剩余部分 -

搭建softEther,组建虚拟局域网,和基友畅玩经典单机~

文中所有敏感词进行了处理,请自行进行敏感词替换

受疫情影响,在家实在闲着没事,就开始瞎折腾了... 笑眼.png
主流游戏玩腻了,就想找着基友来重温经典,打打红警,玩玩cs...,感受一下全球苏维埃的成就感 滑稽.png
111.jpg
可是全国人民都在家闲着,各大对战平台都是爆满状态,浩方、游侠、红警战网.. 都非常火爆,服务器负载大了,就会就现掉线,严重影响游戏体验... 不高兴.png
索性就利用闲置的服务器,搭建一个虚拟局域网,都是自己人玩,又快又稳定~ 滑稽.png

经各方查阅资料,最终决定选用 softEther v*n 来组建虚拟局域网
官方网站:https://www.softether.org/

原理:在服务器 CentOS7 系统下配置 softEther 服务端,使用DNSmasq进行DHCP地址分配,然后通过 Win10 自带的v*n功能连接到搭建好的服务器,实现虚拟局域网从而联机打游戏~


下面开始安装和配置:

- 阅读剩余部分 -

Github中提交Commit时使用GPG进行签名

概述

GPG 是一种加密算法,在 Git 中提交 Commit 时可以使用 GPG 进行加密,来保证提交的 Commit 没有被篡改,具体体现在 Github 提交的时候会有一个 verified 的标志。
QQ截图20200121153639.png

这里我是在 Windows 下操作来生成 GPG 密钥的,其他系统环境下操作可能会有不同

准备工作

生成GPG密钥之前,可以检查当前电脑是否存在有 GPG 密钥

1 打开 Git Bash
2 使用 gpg --list-secret-keys --keyid-format LONG 命令列出同时具有公共密钥和私有密钥的GPG密钥。签名提交或标记需要私钥。

gpg --list-secret-keys --keyid-format LONG

3 检查命令输出以查看是否具有 GPG 密钥
如果没有GPG密钥对,则生成一个新的GPG密钥
2020-01-21T08:02:03.png

- 阅读剩余部分 -

饭饭's 随机图片 Api → Random-Image-Api

饭饭's 随机图片 Api → Random-Image-Api

一个能够获取随机图片的 Api,基于 Spring Boot 构建

Demo:https://api.ffis.me/imgApi/index.html
Github: https://github.com/noisky/Random-Image-Api

可读取本地图片列表的地址,并提供随机访问服务,可配置域名白名单访问

2020-01-07T16:01:56.png

项目说明

程序启动的时候会自动加载 项目路径/list 文件夹下的所有列表文件;

图片列表文件:

  • 提供访问路径为文件名的随机图片服务
  • 文件命名格式 xxx.txt 必须为 .txt 结尾,每行一个图片url

域名白名单列表文件:

  • 会开启域名白名单访问,只允许列表中的域名进行接口调用
  • 命名只能为 domains.txt,每行一个域名,支持泛域名

    • 例如输入 test.com ,则会允许所有 test.com 结尾的域名访问
  • 若域名列表文件不存在或者文件为空,则会关闭域名白名单服务,任何域名都可以进行调用。
更改列表文件后,刷新图片缓存即可生效。

编译运行

# 拉取项目
git clone https://github.com/noisky/Random-Image-Api.git
# 使用 maven 打包
mvn clean package
cd target && java -jar Random-Image-Api-1.0.0.jar
# 将写好的图片列表文件放入 list 文件夹,刷新缓存即可正常访问
http://localhost:9090/flush
# 默认访问端口 9090
http://localhost:9090/random/{图片列表文件名}
# 主页地址
http://localhost:9090/index.html

接口调用:

1、获取随机图片:

  • 请求方式:GET请求

    
    - 请求地址:`/random/{images}`
    
    - `{images}` 则对应为 `images.txt` 文件里面的所有图片地址
    

2、获取每日图片:

  • 请求方式:GET请求

    
    - 请求地址:`/today/{images}`
    
    - `{images}` 则对应为 `images.txt` 文件里面的所有图片地址
    

3、刷新图片缓存:

  • 请求方式:GET请求

    - 请求地址:`/flush`
    

已完成功能:

  • 获取每日图片
  • 读取本地列表的图片地址,提供随机访问
  • 域名白名单访问,未授权的域名访问会跳转到未授权页面

TODO:

  • 提供本地图片的随机访问
  • 接口调用统计

Centos下使用shell脚本来批量管理Spring Boot Api服务

前言

最近在部署Spring Boot构建的Api
因为有多个jar要启动,启动的参数也都不一样 不高兴.png
搞的我都蛋疼了,只好研究下使用shell脚本来一键管理了
花了两个小时,终于把脚本撸出来了 太开心.png
注意如果在windows下创建shell脚本文件,注意文档格式要转换为unix才能在linux中运行
推荐直接在linux中直接使用vi创建shell脚本文件

创建脚本

在指定路径下运行vi startAll.sh来创建脚本文件
参考如下代码:

- 阅读剩余部分 -

自己动手造了个监控域名可否注册的Api → CheckDomain

前两天我看中了一个域名处于即将删除的状态 委屈.png ,想着如果能监控域名能注册了给我发邮件就好了,于是就花了一晚上撸出了 CheckDomain 来帮我监控这个域名 太开心.png

whois查询页面
2019-12-07T15:13:37.png

CheckDomain 是一个用来检查域名是否能注册的 Api,基于 Spring Boot 构建,使用了阿里云域名查询 Api;

可实现对域名状态查询,可注册监控等,并在可以注册的时候发送邮件通知。

也算是自己动手做的第一个完整的项目吧 笑眼.png
既然有了兴趣点,所以就准备把所学的知识给串一下,能用上的都用上,也算是学以致用吧~ 捂嘴笑.png

Github:https://github.com/noisky/CheckDomain
Demo:https://whois.ffis.me

接口调用:

1、查看域名状态:

  • 请求方式:GET请求

    
    - 请求地址:`/domain/{name}`
    
    - 参数说明:
        
        - `{name}`: 查询的域名
    

2、查看域名状态并在可注册时发送邮件通知:

1)请求方式:GET请求

  • 请求地址:/domain/{name}/{email}/{querykey}
  • 参数说明:

    - `{name}`: 查询的域名
    
    - `{email}`: 接受通知的邮箱地址
    
    - `querykey`: 查询密码,在 yml 配置文件中设置
        

2)请求方式:POST请求

  • 请求地址:/domain/{name}
  • 参数说明:

    • {name}: 查询的域名
    • POST 提交的表单:

      • email: 接受通知的邮箱地址

      • querykey: 查询密码,在 yml 配置文件中设置
可以使用第三方监控(如阿里云监控)来请求 Api 来达到监控域名注册状态

现在已经实现了基本功能:

  • 检查域名是否能注册
  • 监控域名状态,如果可以注册,发送邮件通知
  • 使用 Freemarker 实现邮件模板的静态化
  • 使用 Logback 记录系统运行日志
  • 实现域名的 whois 信息查询(参考了 tammypi 的 whoisutil 工具类)
  • 已完成编写前端页面,现在可以直接在页面上查询 whois 信息了

TODO:

  • 限制接口的调用频率
  • 统计并记录接口的调用次数,调用耗时等信息
    ...

- 阅读剩余部分 -

Docker的基本操作与使用

1 Docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言开发。Docker 可以让开发者打包他们的应用以及依赖包到一个轻
量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互
之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

  • Docker应用场景

    • Web应用的自动化打包和发布
    • 自动化测试和持续集成、发布
    • 在服务型环境中部署和调整数据库或其他的后台应用
  • 简单的说:使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境的一致性。

Docker01.jpg

Docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker将这个模型运用到自己的设计
中,唯一不同的是:集装箱运输货物,而Docker运输软件。

- 阅读剩余部分 -

windows下配置双网卡分流实现内网外网同时上网

前提概要:工作和学习中,有时候需要实现内网和外网同时访问,内网环境访问不了外网,访问外网使用手机热点又得拔掉网线,来回切换显得非常麻烦,其实在连接热点的情况下,电脑上是有两个网卡的,这个时候经过配置网关分流可以实现内网和外网同时访问的,下面就对我的折腾经验作为分享。 小乖.png

首先使用ipconfig命令查看本机的网络环境

内网(局域网):
以太网:
   IPv4 地址 . . . . . . . . . . . . : 192.168.46.50
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.46.1

外网(手机热点):
以太网2:
   IPv4 地址 . . . . . . . . . . . . : 172.20.10.3
   子网掩码  . . . . . . . . . . . . : 255.255.255.240
   默认网关. . . . . . . . . . . . . : 172.20.10.1

可以看到两个网卡是同时连接的,使用route print命令查看路由表可发现:

0.0.0.0 0.0.0.0 172.20.10.1 172.20.10.3 外网
0.0.0.0 0.0.0.0 192.168.46.1 192.168.46.50 内网

指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络可能不能同时访问。
PS:0.0.0.0指的是本机上的所有IPV4地址

想实现同时访问也很简单
1.删除0.0.0.0的所有路由
route delete 0.0.0.0

2.重新添加0.0.0.0网络路由的网关为外网网关,将所有流量默认走外网网关
route add 0.0.0.0 mask 0.0.0.0 172.20.10.1

3.将内网网段192.168.46.*的所有流量走内网网关,这样就实现了内网外网同时访问互不影响
route add 192.168.46.0 mask 255.255.255.0 192.168.46.1

这里经过我抓包发现内网还有一个网页的服务器地址为192.168.50.187,于是我还需要再添加一个网段走内网流量
route add 192.168.50.0 mask 255.255.255.0 192.168.46.1

好了完结撒花~ 你懂的.png
当然这样设置只是临时的,重启就会失效,可以在命令最后加上-p设为静态(永久)路由,防止下次重起时配置消失。

centos 删除和添加swap交换空间

最近开了个老毛子的小鸡,最低配的5G硬盘,玩起来也只能当跳板了
除去系统的一个多G,我发现系统默认配置了2G的swap交换区,本来空间就小,索性就删除之 滑稽.png

删除swap交换区

1)首先停止swap分区
/sbin/swapoff /swapfile
2)删除swap分区文件
rm -rf /swapfile
3)删除自动挂载的配置命令
首先打开配置文件
vi /etc/fstab
然后删除下面这行
/swapfile swap swap default 0 0
这样swap分区就删除完毕了 太开心.png

如果后续想添加也可以手动添加

增加swap交换区

- 阅读剩余部分 -

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. ...
  7. 7