月度归档:2021年07月

Debian 10系统上,安装部署最新版本的Python3 2021-7-27

需求描述

Debian 10系统上,安装部署最新版本的Python3,以使用最新的特性

Python官网 https://www.python.org/

2021-7-27 时候,官网最新的版本为Python 3.9.6,下载链接 https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz

https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz

root@server:~# apt-get update
root@server:~# apt-get install gcc make wget
root@server:~# cd ./src
root@server:~# wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz
root@server:~# tar -xJf Python-3.9.6.tar.xz
root@server:~# cd ./Python-3.9.6    
root@server:~# ./configure
root@server:~# make
root@server:~# make install
root@server:~# rm /usr/bin/python3
root@server:~# ln -s /usr/local/bin/python3 /usr/bin/python3
root@server:~# /usr/local/bin/python3 
Python 3.9.6 (default, Jul 26 2021, 22:17:56) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

DONE 完成
Donate
云乞讨

Debian 10系统上,安装并配置vsftpd服务,及进阶配置 2021-7-26

需求描述

Debian 10系统上,安装并配置vsftpd服务,这个属于一个比较基础的内容

# apt-get update   //更新
# apt-get install vsftpd  //安装vsftpd
# cd /etc  
# cp vsftpd.conf  bak.vsftpd.conf.20210726   //备份配置文件
# vi vsftpd.conf   //修改配置文件
* anonymous_enable=NO   // 禁止匿名FTP
* local_enable=YES   // 允许本地用户
* write_enable=YES   // 允许写入
* local_umask=022    // 权限掩码 

# vi /etc/ftpusers  //修改禁止访问FTP的本地用户清单
* 注释掉root

# systemctl restart vsftpd  //重启服务

使用root账号从其他机器ftp登录即可

比如在Win平台上,在资源地址栏里,输入ftp://xx.xx.xx.xx,输入用户名,输入密码,登录后,可轻松复制文件。

Win登录ftp服务器示例

备注1,一般情况下,不要使用root账号为直接登录FTP服务器的默认账号

也可以使用ftp的客户端软件,进行文件传输,可以保存密码,不用每次登录都输入密码

推荐使用winscp软件 官网下载 https://winscp.net/eng/download.php

winscp客户端安装

如果只是个人内网使用,那么如上的内容已经足够了,下面介绍进阶部分的内容。

呀呀呀呀呀呀呀呀呀呀呀 – 咕咕咕咕咕咕咕咕咕咕咕
– – – 内容分割线 – – –
呀呀呀呀呀呀呀呀呀呀呀 – 咕咕咕咕咕咕咕咕咕咕咕

进阶章节1,配置一个单独可用的ftp账号,禁止root账号登录ftp,划分独立的磁盘空间给FTP使用

# mkdir -p /var/www/html    //创建一个ftp账号的目录
# useradd -U -s '/bin/sh' -d '/var/www/html' aftpuser    //创建一个FTP账号
# chown aftpuser:aftpuser /var/www/html    //权限
# passwd aftpuser  //修改密码

从宿主机划分100G磁盘到ftp的服务器, 将该磁盘格式化后,挂载到/var/www/html的FTP目录

增加100G空间到服务器VPS
完成增加100G的scsi 1磁盘到VPS
添加磁盘完成后,系统内可以看到对应大小的磁盘空间

使用LVM方式对新增加的分区进行格式化,参考文章链接 https://dasmz.com/?p=101

Refer : 动态分区LVM方式挂载两块新增的硬盘到系统 2021-05-18

配置增加的100G磁盘为LVM动态方式挂载
创建文件系统,并挂载
配置启动时候挂载
root@PVE-Debian-FTP-SAMBA:/var/www/html# cat /etc/ftpusers 
root
// 确保root在/etc/ftpusers 即可禁止root登录ftp server

这样,我们就有了一个100G空间的FTP Server服务器,且可以支持扩容

Donate
云乞讨

基于Mozilla的send,搭建简单的文件资料分享平台,从此跟用微信发文件的行为告别 2021-7-21

需求描述

日常,需要发送文件,图片,压缩包,链接等内容给朋友,大家常用的肯定是QQ/Wechat,这其实如同吉利公司老板说的,其实很不具备隐私,而且,想用微信发送超过100MB的文件,就直接被拒绝,无奈。

那么有什么简单可靠的分享资料的方式呢,哈哈,Mozilla的send的项目正适合你。

需要的资源

  1. 云服务器 x1
  2. Node.js环境 x1
  3. Git可访问 x1

安装部署步骤如下

Mozilla的send是基于Node.js 12.x开发的,故而需要先安装Node.js

Node.js官方网站 https://nodejs.org/

安装Node.js相对简单,直接参考Node.js官方的Github页面,里面包含多平台的简单脚本安装方式,进行对应系统版本的安装 https://github.com/nodesource/distributions

# 我这里是Debian 9 系统,则对应安装Node.js 12.X的步骤为
root@debian:~# apt-get update
root@debian:~# apt-get install curl apt-transport-https ca-certificates gnupg2 software-properties-common git wget 
root@debian:~# curl -fsSL https://deb.nodesource.com/setup_12.x | bash -
root@debian:~# apt-get update
root@debian:~# apt-get install -y nodejs

root@debian:~# nodejs -v
v12.22.2
root@debian:~# 

在安装完成Node.js之后,部署Mozilla/send

项目地址https://github.com/mozilla/send

下载send的源包,https://github.com/mozilla/send/archive/refs/tags/v3.0.22.tar.gz

// 下载,解压,安装
root@debian:~# wget https://github.com/mozilla/send/archive/refs/tags/v3.0.22.tar.gz
root@debian:~# tar -zxvf v3.0.22.tar.gz
root@debian:~# cd /send-3.0.22
root@debian:~# npm install   // 需要比较久的时间
root@debian:~# npm audit fix   // 执行上一步,如果有失败,则运行该命令补充
// root@debian:~# npm run prod
root@debian:~# /usr/bin/node /usr/bin/npm run prod

困了,先睡觉,未完待续……

基于stairspeedtest-reborn的WEB页面方式,来进行代理检测 2021-7-21

需求描述
自己编写的编号P2FA项目的爬虫程序已经采集到三万多个V2ray代理了,循环检测,输出,使用的时候,需要检测一下代理的速度,手机客户端检测非常不便捷,这个时候,就可以使用到WEB页面的检测方式,来进行代理检测

采集的代理数量
采集的代理数量 2021-7-21

基于免费代理制作成的订阅,由于检测机制的不密集,常会出现,检测时候可用,实际想要用的时候,不可用,而且,手机上无法感知真实的服务器速度,这个时候,通过WEB方式检测线路,然后直接手机上使用即可。

本次,基于Github上的stairspeedtest-reborn项目,Linux环境,进行WEB部署。

本次部署到Debian 9 x64云主机上,下载对应到系统平台版本的 stairspeedtest-reborn-v0.7.1-release

# 下载
root@debian:~# wget https://github.com/tindy2013/stairspeedtest-reborn/releases/download/v0.7.1/stairspeedtest_reborn_linux64.tar.gz
# 解压
root@debian:~# tar -zxvf stairspeedtest_reborn_linux64.tar.gz
# 进入工作目录
root@debian:~# cd stairspeedtest
# 修改配置文件 pref.ini
修改test_file_urls项的内容为自定义的测速文件,一般3个不同地域的服务器,每个10MB左右的文件足够
# 修改启动项文件 webgui.sh 
修改默认端口到一个其他端口,一般不推荐用默认端口
# 启动
root@debian:~# nohup ./webgui.sh &

在上述的服务端启动后,在自己的本机的浏览器输入服务器的地址,即可访问

StairSpeedtes的页面

输入自己的订阅地址自定义组名,点击提交即可

执行完成后,页面自动刷新,输出一个表格,输出一个图片

完成测速的截图

可以看到,在自己修改了配置文件后,本次测速,只用了220MB的总流量,比较节约。免费节点的速度,也就如图,白嫖真快乐。

有了这样的神器,再也不用担心,手机上选择时候的困境了。

Dasmz的StairSpeedtest演示站点 http://125.3.8.244:1333/gui.html

备注1,一般不要使用别人提供的测速站点,会泄漏你自己的订阅地址

备注2,公网环境,诚挚建议把站点用HTTPS封装一下,保证数据安全

Donate
云乞讨

备份博客服务器的MySQL数据库 备份网站的资料 2021-7-13

需求描述
备份本博客网站的数据库,数据资料,备份频率1次/天,服务器源站位于美国,备份数据异地容灾,传输到中国一份,传输到日本服务器一份。
数据实现一主,两备份副本,即便主网站完全崩溃,可以实现,快速的数据恢复,网站重建。

博客网站的备份,分为两部分,数据库部分和网站文件部分。

备份脚本已上传Github,运行在源站服务器上

https://github.com/fdmove/BlockADS/blob/main/BackBlog.sh

预览

#!/bin/sh
# START
mkdir -p /root/sh /root/backup
v_date=`date '+%Y%m%d'`
DB_USER='root'
DB_PASS='DBPASS'
DB_NAME='DBNAME'
DB_HOST='127.0.0.1'

# 备份数据库
mysqldump -h ${DB_HOST} -u ${DB_USER} -p${DB_PASS} --databases ${DB_NAME} > /root/backup/Backup.myBlog.mysqldump.${v_date}.SQL

# 备份网站的文件
v_blog='dasmz.com'
cd /var/www/
tar -zcvf /root/backup/Backup.${v_blog}.${v_date}.tar.gz ${v_blog}

# 删除旧的备份
cd /root/backup
find . -name *.tar.gz -type f -ctime +90 -print | xargs rm 
find . -name *.SQL    -type f -ctime +90 -print | xargs rm

# END

备注1 依据服务器磁盘大小,选择保留的数据量

备注2 实际情况下,个人博客网站,一般一主一备就足够了,单体数据量全量和增量都比较小,不需要高密度备份

源站服务器,cron任务

# 备份数据库 和 网站的文件  20210713
10 0 * * * /root/sh/BackBlog.sh > /root/log/BackBlog.log

备份的文件在源站服务器生成后,可以用一些sync工具,定时同步到其他备份节点的磁盘上。

Donate
云乞讨

基于软路由的Dnsmasq屏蔽绝大部分的广告,给家里一个清净的网络环境 2021-7-12

需求描述,屏蔽电视广告,屏蔽手机广告,屏蔽网页广告,屏蔽视频前的广告

已将去除广告的Dnsmasq配置文件编辑完成,上传到Github

地址 https://raw.githubusercontent.com/fdmove/BlockADS/main/dnsmasq.conf

 # 测试修改后的Dnsmasq的配置文件语法
 root@Openwrt:~# dnsmasq --test
 dnsmasq: syntax check OK.

 # 重启Dnsmasq服务
 root@Openwrt:~# service dnsmasq restart
 udhcpc: started, v1.30.0
 udhcpc: sending discover
 udhcpc: no lease, failing
 root@Openwrt:~# 
DnsmasqRestart
DnsmasqRestart

参考链接 https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/reject.txt

Donate
云乞讨

Android 安卓手机虚拟定位 教程 2021-07-07

需求描述

在安卓Android型号的手机上,进行虚拟定位,给APP模拟其他位置的信息

本教程,仅供测试学习,请勿用于任何跟您当地法律冲突的行为,请完成功能验证后,尽快购买VMOS的正版授权,或者使用其他同类软件。

操作步骤1

安卓手机,下载VMOS的此版本VMOS APK

主用的下载地址CN http://121.4.236.89:18456/VMOS_Pro-v1.2.1.apk 已失效

备用的下载地址SG http://103.159.64.90:16801/VMOS_Pro_v1.2.1.apk 有效地址,需梯子

sha1sum 3cdccbf26e6eb8a45e7af3002c7f44e93515c0b1

使用手机自带的浏览器打开这个地址,即可以自动下载,下载安装即可。

如果日常使用中,提示要升级软件,暂不要升级!

操作步骤2

打开VMOS软件,点击首页的 +符号,添加虚拟机,选择“安卓7.1 精简版 64位”,进行下载

安卓7.1  精简版64位
安卓7.1 精简版64位

操作步骤3 “安卓7.1 精简版的设置”

3.1 开启 “超级用户” 的开关,非常重要

安卓7.1  精简版64位 ROOT权限
安卓7.1 精简版64位 ROOT权限

3.2 虚拟机信息修改,非常重要

把虚拟机信息里面的,厂家,型号,WIFI名称,WIFI BSSID,WIFI MAC,

序列号,AndroidID,SIM状态,SIM序列号,IMEI,IMSI,要么随机,要么尽量贴近真实的手机的信息,保证不会有侧漏。

vm虚拟机的信息
vm虚拟机的信息

截图只是一个填写安卓设备信息的范例,内容都是虚拟的信息。 表示的概念为,一定情况下,APP能够读取到这些数据,用以检验设备是否真实或其他用途。 实际填写时候,一般要求不高的场景,可以随意填写。 部分场景,需要参考物理设备的信息填写

操作步骤4 “进入安卓7.1 精简版虚拟机,安装定位等软件”

该款虚拟机里面,有一个常用工具的配套工具包,进入,搜索并安装如下的软件

4.1 Fake Location (作用是,虚拟定位)

4.2 权限狗 (作用是,控制APP的权限,防止有权限层面的侧漏)

4.3 常规APP (需要给其虚拟定位的常规APP)

操作步骤5 “配置权限”

5.1 进入Fake Location,进行位置模拟,如果严格需要基站/WIFI验证的,页面上有相应的选项。

模拟位置时,提示需要Root超级权限,这里点击总是允许。

特殊备注: 一般的软件,免费用这个定位就可以了,如果是针对国内某钉软件,它会使用读取软件列表包名字的方式,检测系统内,是否安装了定位的软件,图省事的孩子们,可以注册Fack Location成为会员,然后,点击左侧的反检测选项,即可生成一个随机名字的Fake Location的APK安装包,重新安装随机名字的APK安装包,删掉旧的,即可完成防某钉的包名字探测。不得不感叹,某钉软件,这个做法真的很聪明。

5.2 进入权限狗,对常规APP,进行权限限制,尽量保持常规APP的权限最小化,且不得给予其Root超级权限。

5.3 打开常规APP,进行位置验证,看刚刚的虚拟定位是否生效了。

超级用户 Fake Location 权限狗
超级用户 Fake Location 权限狗

备注1 VMOS是一款收费软件,有经济条件的,务必购买正版。

备注2 鉴于此root权限或者xposed框架,需要一定的技术基础,有一定的风险,普通人请酌情使用。

Donate
云乞讨