DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度。

安装DNSmasq

可以下载软件包编译安装,不过一般Linux软件仓库已经提供了DNSmasq,相关命令如下:

1
2
3
4
#centos安装
yum -y install dnsmasq
#如果是ubuntu系统
apt-get -y install dnsmasq

配置DNSmasq

DNSmasq配置文件再/etc/dnsmasq.conf,我们需要修改几个参数,分别为:

  • resolv-file=/etc/resolv.dnsmasq.conf 这个参数表示 dnsmasq 会从这个指定的文件中寻找上游 dns 服务器
  • 取消注释的 strict-order ,表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止
  • 注释掉 no-hosts, 默认情况下这是注释掉的, dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游 dns 服务器寻找.
  • 设置 listen-address=127.0.0.1 ,127.0.0.1改成自己服务器IP

我们来整理下上面我们修改了那些配置内容

1
2
3
4
5
#需要新建一个resolv.dnsmasq.conf文件,这个是配置上游DNS,也就是真正的公共DNS
vi /etc/resolv.dnsmasq.conf
#内容如下
nameserver 119.29.29.29
nameserver 1.2.4.8
1
2
3
4
5
6
7
#修改/etc/dnsmasq.conf
#上游DNS路径
resolv-file=/etc/resolv.dnsmasq.conf
#取消strict-order注释
strict-order
#监听地址,改成自己服务器公网IP
listen-address=127.0.0.1

使用方法

DNSmasq可以设置不同的域名指定不同的DNS进行解析,修改/etc/dnsmasq.conf文件即可,若不对域名设置DNS,则从上游DNS获取记录。

1
2
3
4
#指定淘宝使用114 DNS进行解析
server=/taobao.com/114.114.114.114
#google指定8.8.8.8进行解析
server=/google.com/8.8.8.8

也可以对指定的域名进行解析,相当于就是本地hosts指向,可以利用这个功能实现广告屏蔽等效果。也是需要修改/etc/dnsmasq.conf文件,DNSmasq也可以对域名进行泛解析,填写*.xiaoz.me,这样的格式即可。

1
2
3
4
5
#将广告域名指向到127.0.0.1实现广告屏蔽
address=/ad.youku.com/127.0.0.1
address=/ad.iqiyi.com/127.0.0.1
#对xiaoz.me进行泛解析
address=/*.xiaoz.me/192.168.20.138

启动与测试

1
2
3
4
5
6
#启动
/etc/init.d/dnsmasq start
#停止
/etc/init.d/dnsmasq stop
#重新启动
/etc/init.d/dnsmasq restart

比如我在本地一台Linux服务器(192.168.20.127)安装了DNSmasq,并在局域网内其它PC将DNS配置为192.168.20.127,使用dig命令进行测试,第一次查询相对较长,第二次几乎再10ms内,如下截图。

总结

如果是在内网搭建DNSmasq,不仅可以提高解析速度,还可以有效的防止DNS劫持,实现屏蔽广告等作用。如果是在公网搭建DNSmasq,还可以对指定的域名解析hosts指向,从而避免DNS污染,实现fq 如果您发现DNSmasq启动正常,但就是无法解析,请注意防火墙是否放行tcp/upd 53端口。

DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。 ddns 目前国内支持DDNS解析的商家也比较多,比如花生壳等。如果你想自己不想使用第三方厂家提供的DDNS服务,完全可以自己折腾,比如使用CloudXNS API实现DDNS。

一、开始准备

  • 需求:家里有一台占美小主机24小时运行,需要连接公网实现一些服务,不过运营商的IP是动态的,随时都在发生变化,于是需要用到DDNS
  • 系统:CentOS 6 X64
  • 环境:PHP 5.6
  • 域名一个,并且已经使用CloudXNS DNS

二、安装CloudXNS API PHP SDK

选择CloudXNS API PHP SDK,所以你要提前把PHP环境搭建好咯,进入站点根目录依次执行下面的命令:

1
2
3
4
5
6
### 下载CloudXNS API PHP SDK
wget https://github.com/CloudXNS/CloudXNS-API-SDK-PHP/archive/master.zip
### 解压
unzip master.zip
### 移动
mv CloudXNS-API-SDK-PHP-master/* ./

三、安装SDK

CloudXNS-API-SDK-PHP需要用到Composer,如果您还没有安装Composer,请安装Composer,接着在站点根目录执行composer install即可完成SDK安装。吐槽:SDK在国外,安装速度太慢了。

四、添加执行脚本

CloudXNS API PHP SDK里面有完整的DEMO,需要的可以参考。将下面的代码另存为ddns.php,setApiKey和setSecretKey请注意修改为自己在CloudXNS后台获取的。其中test.hixz.org请修改为您在CloudXNS需要更新的解析记录。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//获取公网IP
$ip = file_get_contents("https://www.xiaoz.me/ip/userip.php");

require_once './vendor/autoload.php';
$api = new \CloudXNS\Api();
$api->setApiKey('xxxxxxxx');
$api->setSecretKey('xxxxxxxx');
$api->setProtocol(true);
/**
* DDNS快速修改解析记录
* @param string $domain 包含主机记录的域名
* @param string $ip IP值 多个以分割如1.1.1.12.2.2.2 可为空
* @param integer $line_id 线路id 默认为1,可为空
*/
echo $api->ddns->ddns('test.hixz.org.',$ip,1);
echo $ip;
?>

五、定时任务

我们可以用Linux的crontab定时任务每小时运行一次脚本,及时更新公网IP,如下:

1
2
3
4
5
6
### 添加定时任务
crontab -e
### 加入计划任务,没小时执行一次脚本
10 * * * * cd /data/wwwroot/test/ && /usr/local/php/bin/php ddns.php >> /home/ddns.log 2>&1
### 重载crontab
service crond reload

10 指每小时的10分,/data/wwwroot/test/为网站根目录,/usr/local/php/bin/php是PHP所在的安装路径。

六、测试

脚本执行成功后,由于DNS缓存原因,一般10分钟左右生效,我们可以用ping命令测试是否和自己的公网IP一致,如果一致,说明DDNS解析成功,如下截图。 ddns_195527

简介

有时候,我们的无法在服务商的控制面板将Windwos Server服务器重装为Linux Server。 我们尝试发送支持票据,服务商告诉我们因为授权价格差异,不支持更换。我们只能想办法手动解决。 今天,我将演示通过四种方式,来帮助你成功的在服务器上将Windows安装为Linux。我在Alibaba Cloud、以及一些KVM机器中完成测试。如果你正在寻找这样的方案,赶快来试试吧。

准备工作

一台装有Windows的服务器 / 具有互联网接入 / 有控制台(VNC/KVM)操作权限 / 或者具有恢复模式 请注意,以下四种方案均通过测试,因此绝大部分的机器都可以通过以下四种方式进行操作。(你应该测试哪一种方案适合你)

让我们开始

1. 解决方案一(通过服务商提供的恢复模式):

①. 首先在服务商面板选择并进入恢复模式 你将会收到一个包含有SSH/RDP连接信息的提示/邮件,通过这些信息,你可以访问到恢复模式,用来管理和操作你的服务器。 (解决方案一主要针对收到SSH连接信息的恢复模式,如果收到的是RDP信息,请查看解决方案二/解决方案三/解决方案四) ②. 检查磁盘信息 查看你想安装到的磁盘,输入以下命令。(你的磁盘可能是以下名称vda/vdb/sda/sdb/等等,请修改下面命令中的vda为您的磁盘) fdisk -l ③. 执行以下的DD系统命令,进行一键安装最新的系统(你需要使用你自己的DD镜像,我提供了一个最新的CentOS7.X镜像) wget -qO- https://opendisk.cxthhhhh.com/OperatingSystem/CentOS/CentOS_7.X_NetInstall_AutoPartition.vhd.gz gunzip -dc dd of=/dev/vda ④. 执行完毕重启计算机,等待15-45分钟,通过IP:22进行SSH连接(上述CentOS7安装后的默认密码为cxthhhhh.com)。

2. 解决方案二(通过官方提供的Debian-Installer Loader中转安装Linux)

①. 在Windows系统中下载Debian-Installer Loader硬盘安装器 Debian-Installer硬盘安装器 下载:https://opendisk.cxthhhhh.com/OperatingSystem/Debian/Debian-install-Windows.exe ②. 通过Debian-Installer Loader安装Debian系统(按照程序提示,这是Debian官方提供的方案) 以下是安装预览图片(独立服务器的话,你需要去主板设置关闭安全启动Secure Boot) 《[解决方案] 如何将Windows Server(2003/2008/2012/2016/XP/7/8/10)重装到Linux Server(CentOS/Debian/Ubuntu)》 ③. 通过VNC/KVM界面开机选择安装Debian,进行一步步的手动安装操作(无需SSH,请在VNC/SSH下操作)。 ④. 等待Debian安装完毕,启动Debian。 (你已经完成Debian的安装,但是Windows系统也同时存在硬盘上,所以建议再次通过DD方式重新安装Linux系统,使得所有磁盘空间可用)

3. 解决方案三(通过UNetbootin安装方案)

①. 在Windows系统中下载UNetbootin安装器 UNetbootin 下载:https://opendisk.cxthhhhh.com/Software/UNetbootin/UNetbootin-Windows-661.exe ②. 通过UNetbootin安装Linux发行版系统(我将使用CentOS来演示操作) 以下是安装预览图片(独立服务器的话,你需要去主板设置关闭安全启动Secure Boot) 《[解决方案] 如何将Windows Server(2003/2008/2012/2016/XP/7/8/10)重装到Linux Server(CentOS/Debian/Ubuntu)》 *提示信息:你也可以选择一个你已经下载好的任意Linux发行版ISO光盘镜像进行安装。(第一步选择ISO镜像即可,不使用在线安装) ③. 通过VNC/KVM界面开机选择启动UNetbootin引导,进行一步步的手动安装Linux的操作即可(无需SSH,请在VNC/SSH下操作)。 ④. 手动安装完毕,重启计算机,你的Windows系统就成功的安装到了Linux。 (可选)如果不放心,你可以在当前已经安装好的Linux下再次通过第一种解决方案DD安装新的纯净Linux系统。 (已经有Grub引导了,此时你也手动安装其他Linux发行版)

4. 解决方案四(通过Deepin引导方案):

①. 在Windows系统中下载Deepin操作系统和Deepin硬盘安装器 Deepin系统 下载:https://opendisk.cxthhhhh.com/OperatingSystem/Deepin/deepin-15.7-amd64.iso Deepin硬盘安装器 下载:https://opendisk.cxthhhhh.com/OperatingSystem/Deepin/deepin-system-installer.exe ②. 通过deepin硬盘安装器安装Deepin系统(将安装器和ISO镜像放在同一个目录下) 以下是安装预览图片(独立服务器的话,你需要去主板设置关闭安全启动Secure Boot) 《[解决方案] 如何将Windows Server(2003/2008/2012/2016/XP/7/8/10)重装到Linux Server(CentOS/Debian/Ubuntu)》 ③. 通过VNC/KVM界面开机选择安装Deepin,进行一步步的手动安装操作(无需SSH,请在VNC/SSH下操作)。 ④. 等待Deepin安装完毕,启动Deepin,然后在Deepin下通过第一种解决方案DD安装新的Linux系统 (可选)如果不放心,你可以在当前已经安装好的Linux下再次通过第一种解决方案DD安装新的纯净Linux系统。 (已经有Grub引导了,此时你也手动安装其他Linux发行版)

非常棒,现在你已经掌握四种方案成功的将Windows重装为Linux

前言

CloudFlare恐怕无人不知无人不晓了吧?大名鼎鼎的CDN服务商,拥有众多数据节点,CDN加速效果极其出色(当然说的是在国外,国内另算)。 CloudFlare拥有免费套餐,对于咱们普通站长来说,免费套餐是绰绰有余的,当然,如果想自己指定亚洲节点,那就得升级套餐了,套餐费用可不便宜! CloudFlare无论是作为CDN,还是为了隐藏真实IP,其效果都是很不错的,不过要使用CloudFlare,您就得将自己的域名NS服务器修改为CloudFlare指定的NS服务器才可以,也就是说,要使用CloudFlare的免费套餐,就必须使用CloudFlare的免费NS服务! 而对于很多站长来说,可能并不希望自己的域名存放到CloudFlare的NS服务器上,毕竟它又不支持分线路解析不是? 那如果想要不使用CloudFlare的NS服务器的情况下,来使用CloudFlare的免费CDN呢?一般来说就得升级套餐,然后使用CName模式接入,不过价格咱们普通站长绝对承受不起。 除此之外,就是使用CloudFlare提供的Partner咯,也就是合作伙伴接口,这个接口提供了一个API,使用这个API就可以通过收费套餐才可以使用的CName模式接入CloudFlare,当我们通过CName接入CloudFlare后,剩下的自选亚洲节点什么的,就自己去解决吧,哈哈哈!

CloudFlare Partner申请

要使用Partner,咱们必须要向CloudFlare申请,等待CloudFlare通过后才可以使用,不过这是对于像自建Partner的朋友来说,如果不想自建,而直接使用他人提供的,那就无需申请,只要拥有一个CloudFlare的账号即可,直接使用第三方提供的平台,请直接看本文最后部分。 Partner的申请很简单,也很困难,说简单是填写的内容不多,说困难则是通过的几率! 首先打开https://www.cloudflare.com/partners/become-a-partner/,整个申请界面看下图: 01.png 这里有几点需要注意,否则不容易通过:

  1. 所有内容请使用英文!
  2. 公司类型最好选择VPS类。
  3. 网站打开后必须是与公司类型相关的。
  4. 联系邮箱请使用域名邮箱,且最好使用admin@domain.com格式。
  5. 申请理由最好说明自己客户大多为中国客户,需要使用CF,但由于那啥啥啥原因,很多CF公司的NS服务器都被屏蔽了,所以需要申请Partner给客户使用
  6. 最好不要使用国内企业邮箱系统,这里是康康的教训,因为康康曾经提交过申请,而后一直没有任何回复,后来过了一段时间后再次提交申请,收到一封邮件说我已经申请通过了的,而且还说看了我账号一直没有使用,这才发现是国内企业邮箱收不到邮件所致。

提交申请后请耐心等待,通过后会有一封邮件要求你设置密码,点击链接后会打开一个界面,在其中输入要设置的登录密码。 02.png 设置完成后打开https://partners.cloudflare.com/login登录到`Partner`系统中,并完善一些个人信息。 03.png 一直持续下一步,最后生成一个API Key04.png 这样咱们的Partner就算申请并配置完成了,接下来咱们将搭建一个Partner的接入面板。

面板搭建

Partner的接入使用的是API接入,可以使用命令行、Python以及各种方式进行接入,但最直观最方便的还是操作面板,毕竟可视化对于命令行来说占的优势不是一点两点的! 这里的面板搭建,选择使用Cloudflare-CNAME-Setup,作者为郭泽宇,因为曾经使用过这款面板,还挺不错的! Cloudflare-CNAME-Setup使用PHP开发,所以咱们需要配置PHP才能使用。 依然使用最喜爱的FreeBSD系统进行搭建,系统安装完成后直接执行以下命令:

1
pkg install openssl curl nginx php72 php72-opcache php72-mbstring php72-filter php72-session php72-openssl php72-curl php72-pecl-APCu php72-json php72-gettext

接着配置目录并启动即可,具体的FreeBSD下配置PHP运行环境请看康康之前的文章,都是老三步:优化、安装、SSL

  环境搭建完成后,至Cloudflare-CNAME-Setup下载最新版本面板代码,并将config.example.php更名为config.php

1
2
3
<?php
define('HOST_KEY', 'Partner中生成的API Key');
define('HOST_MAIL', '通过审核的Partner邮箱,也就是申请时的邮箱');

最后打开网站,已经可以看到面板界面了!

面板使用

Cloudflare-CNAME-Setup面板的使用很方便,并没有管理后台,只有客户界面。 如果您不想自己搭建,可以使用面板作者搭建的也行。 作者搭建的面板地址:https://cf.tlo.xyz 打开面板后,会显示一个登陆界面,要求输入CloudFlare账号密码进行登录。 05.png 这是由于Partner的原因,必须使用CloudFlare的账号密码进行登录,不过放心,面板并没有保存账号信息。 咱们使用CloudFlare的账号密码登录进入面板(记住是CloudFlare的账号密码,不是Partner的账号密码),若存在域名的,会显示当前账号下的域名列表。 06.png 首先咱们将自己需要使用CDN的域名添加进去,这里注意,该域名必须在CloudFlare百度云加速中不能存在,若存在请先删除,且必须添加顶级域(也就是没有www.的那个)。 添加完成后出现NS设置面板,这里有三种接入方式,一种为NS接入,也就是CloudFlare默认的接入方式,咱们肯定不用;第二种为CName接入,这是咱们需要使用的;第三种为A记录接入,不太推荐这种方式,因为其实CloudFlare是不允许使用A记录进行接入的! 08.png 09.png 当然,无论使用什么方式接入,首先咱们需要在面板中添加咱们的解析指向,比如需要让lovekk.org这个顶级域名指向123.123.123.123这个IP地址,www.lovekk.org这个子域名指向124.124.124.124这个IP地址,那么设置如下(注意一定要开启CDN选项): 10.png 添加完成后返回面板,可以看到解析添加记录,而且发现CName接入方式下已经出现了指向地址。 11.png OK,面板的域名部分就完成了,接下来只需要回到域名的NS服务器中,将对应的域名CName指向给出的地址就完成了CDN的接入。 比如按照上面的图示,康康就需要到lovekk.orgNS服务器中,做如下解析记录: lovekk.org域名,清除所有的@前缀的ACName记录,并添加一条@前缀的CName记录,指向lovekk.org.cdn.cloudflare.netwww.lovekk.org域名,清除所有的www前缀的ACName记录,并添加一条www前缀的CName记录,指向www.lovekk.org.cdn.cloudflare.net。 接下来咱们等待解析记录生效即可。

说明:Forsaken Mail是一个临时邮箱系统,可以供任何人接受邮件,即收即毁,支持自定义邮箱地址前缀,这里就说下DockerNPM两种安装教程,任选一种即可,有兴趣或者有需求的可以玩玩。

截图

请输入图片描述 请输入图片描述

需求

1、VPS需要开启25端口,这个直接发工单要主机商开启。 2、域名解析,如果你想邮件地址格式都为*@xx.com的形式,则为xx.com设置MX记录,需要添加以下2条解析记录。

1
2
3
4
#MX记录
xx.com MX 10 mx.xx.com
#A记录
mx.xx.com A 服务器IP

NPM安装

**Github地址:**https://github.com/denghongcai/forsaken-mail 1、安装NPM

1
2
3
4
5
6
7
#Debian/Ubuntu系统
curl -sL https://deb.nodesource.com/setup_10.x bash -
apt-get install -y nodejs git screen

#Centos系统
curl -sL https://rpm.nodesource.com/setup_10.x bash -
yum install nodejs git screen -y

2、安装Forsaken Mail

1
2
3
4
5
6
7
git clone https://github.com/denghongcai/forsaken-mail.git
cd forsaken-mail
#安装Forsaken Mail
npm install
#后台运行Forsaken Mail
screen -S forsakenmail
npm start

最后按Ctrl+A,再按D键返回主界面,然后打开http//mx.xx.com:3000就可以查看Forsaken Mail邮箱界面了,如果你打不开界面,可能还需要开启防火墙端口,一般该情况在CentOS系统上出现最多,这里就说下CentOS开启操作。

1
2
3
4
5
6
7
8
#Centos 6系统
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7系统
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload

Docker安装

1、安装Docker

1
2
3
4
5
6
7
8
9
10
11
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ sh
systemctl start docker
systemctl enable docker.service

2、安装Forsaken Mail

1
docker run --name forsaken-mail -d -p 25:25 -p 3000:3000 denghongcai/forsaken-mail

安装成功后打开http//mx.xx.com:3000就可以了,如果打不开界面请参考NPM安装步骤。

配置Https访问

如果你不习惯使用http//mx.xx.com:3000,或者想使用Https域名访问主界面,那我们可以使用Caddy反代。 这里所使用的域名只能是上面设置MX记录的xx.com,并提前将域名A记录解析到服务器IP1、安装Caddy 使用命令:

1
2
3
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager
#备用地址
wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install http.filemanager

2、配置Caddy

1
2
3
4
5
6
#以下全部内容是一个整体,请修改2个域名后一起复制到SSH运行!
echo "xx.com {
gzip
tls admin@moerats.com
proxy / mx.xx.com:3000
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。 3、启动Caddy

1
/etc/init.d/caddy start

最后可以打开https://xx.com访问了。

**说明:**博主今天找Frp管理面板的时候,无意间发现了lanproxy内网穿透工具,自带Web管理面板,让我们在服务端配置方便了很多,而且一个服务端可以支持多个客户端连接,看起来还不错,这里就分享下。

简介

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议,可用作访问内网网站、本地支付接口调试、SSH访问、远程桌面等等,而且带Web在线管理面板,添加端口配置十分简单。

截图

请输入图片描述 请输入图片描述

相关链接

**主页地址:**https://lanproxy.io2c.com/ **Github地址:**https://github.com/ffay/lanproxy **发布包下载:**https://seafile.io2c.com/d/3b1b44fee5f74992bb17/

服务端安装

服务端需要安装在一个有公网IP的服务器上,系统为Linux/Windows均可。 1、安装JAVA java版本至少为1.7,查看命令为java -version2、Linux系统安装 首先下载发布包,服务端发布包下载地址:点击进入

1
2
3
4
#下载最新发布包
wget -O lanproxy-server-20171116.zip 'https://seafile.io2c.com/d/3b1b44fee5f74992bb17/files/?p=/lanproxy-server/lanproxy-server-20171116.zip&dl=1'
#解压发布包
unzip lanproxy-server-20171116.zip

然后编辑配置文件conf/config.properties,参考如下:

1
2
3
4
5
6
7
8
9
10
11
12
#与在proxy-server配置后台创建客户端时填写的秘钥保持一致;
client.key=
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

#这里填写实际的proxy-server地址;没有服务器默认即可,自己有服务器的更换为自己的proxy-server(IP)地址
server.host=lp.thingsglobal.org

#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=4993

运行lanproxy

1
2
3
cd /root/proxy-server*/bin
chmod +x startup.sh
./startup.sh

然后打开地址http://ip:8090,使用上面配置中配置的用户名密码登录,进入Web管理面板,且配置数据存放在~/.lanproxy/config.json文件中。

1
2
3
4
5
6
7
8
9
#如果打不开Web界面,就需要开启防火墙,一般CentOS系统出现情况最多
#Centos 6系统
iptables -I INPUT -p tcp --dport 8090 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7系统
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --reload

3、Windows系统安装 方法参考上面,只是启动的时候双击bin文件夹里的startup.bat即可运行。

客户端使用

客户端一般安装在一个内网的VPS服务器或Windows电脑上使用。这里说下JAVA和非JAVA两个客户端的使用方法,客户端下载地址:点击进入1、配置服务端 首先我们通过http://ip:8090进入服务端Web管理界面,先添加客户端,名称随便填。 请输入图片描述 然后点击刚刚添加的客户端名称,再添加配置,设置公网端口,后端IP:端口请输入图片描述 截图的配置意思是将内网的888端口映射到服务器的8080端口,也就是访问服务器ip:8080等于访问内网ip:888。 这时候基本配置好了一个客户端节点,且该节点可以供多个客户端使用。 2、JAVA客户端使用 本版本需要安装java,且版本依然至少为1.7,查看命令为java -version。 然后进入客户端下载地址,下载lanproxy-java-client.zip,再将文件解压到服务器或者Windows电脑上,编辑conf/config.properties配置文件,修改如下:

1
2
3
4
5
6
7
8
9
10
11
12
#与在proxy-server配置后台创建客户端时填写的秘钥保持一致;
client.key=
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

#这里填写实际的proxy-server地址;没有服务器默认即可,自己有服务器的更换为自己的proxy-server(IP)地址
server.host=lp.thingsglobal.org

#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=4993

最后运行lanproxy

1
2
3
#运行方法可参考服务端运行步骤
linux(mac)系统:直接进入bin目录,然后运行startup.sh脚本
windows系统:直接双击bin目录下的startup.bat

3、非JAVA客户端使用 该方法可以不用安装java即可在客户端运行lanproxy,首先下载对应版本的JAVA客户端,然后解压出来,再运行以下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#以下需要使用的参数是服务端IP,服务端端口,客户端密匙
1、普通端口连接
#mac 64位
nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
#linux 64位
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
#windows 64 位
./client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY

2、SSL端口连接
#mac 64位
nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &
#linux 64位
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &
#windows 64 位
client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true

这里单独说下Windows电脑使用方法,首先按住Win+R,输入cmd进入命令窗口。

1
2
3
4
#如果你将客户端exe文件解压到了D盘的RATS文件夹,则使用命令进入RATS文件夹
cd /d d:\RATS
#如果你是SSL端口连接,先替换自己的IP,端口,CLIENT_KEY后运行,普通端口命令参考上面
client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true

最后客户端运行后,服务端Web界面的配置状态显示在线即连接成功。 请输入图片描述 如果显示不在线检查下防火墙端口和配置是否正确什么的。

Mailcow是一个可以用Docker部署的邮件服务器,安装部署都比较简单,稍微搞下就能用。。。至于发的邮件进不进垃圾箱,看造化了。。。 本文将带领你使用Mailcow部署一个完全符合国际标准的邮件服务器,首先别急着部署,我们先要按照标准来设置域名解析。 1.rDNS,就是反向解析,这个功能只能看你的VPS或是服务器商家支不支持了,建议搭建邮件服务器的时候选择支持rDNS的机器,非必须要求,只是设置了rDNS后可以让你的邮件更加容易进入对方的收件箱而不是垃圾箱。 下面我以Linode为例,在这里可以设置rDNS: 假设你的邮件服务器域名是mail.example.com,那么在下面填入即可: 2.A记录,我以cloudflare的DNS解析界面做示范,那么现在就添加一个mail的A记录解析到你的服务器IP: 3.MX记录,这里假设你的域名是example.com,那么MX记录NAME这里就是@,Value就是mail.example.com: 4.两个CNAME记录,这是Mailcow部署所需要的。NAME分别是autoconfig/autodiscover,Value是mail.example.com: 5.两个TXT记录,这里分别指的是SPF和DMARC,都是增强邮箱安全性的,并且解析设置相对简单,建议都设置一下。我们先来设置SPF,新建一个TXT记录,NAME指向你的根域名,假设你的根域名是example.com,那么NAME就是example.com,Value填写如下所示内容:

v=spf1 mx ~all

如下图所示: 接着是DMARC,还是一样新建一个TXT记录,NAME填写_dmarc,Value填写:

“v=DMARC1; p=reject; rua=mailto:mailauth-reports@example.com

其中“mailauth-reports@example.com”修改成一个你可以正常接收邮件的地址。 如下图所示: 6.DKIM记录,这其实也是一条TXT记录,并且也是增强邮箱安全性的,但是现在我们还无法配置,因为不知道具体的解析值是多少,这个要等Mailcow部署好了后才能设置。 所以,现在DNS解析这一块我们可以告一段落了,现在登到VPS内设置时间,VPS系统我选择使用CentOS7X64 先设置同步时间:

yum -y install chrony
systemctl start chronyd
systemctl enable chronyd

然后把NTP也开启了:

timedatectl set-ntp true

国外机器时区一般都不是东八区,我们把系统的本地时区改成东八区:

timedatectl set-timezone Asia/Shanghai

最后查看一下系统时间是否正常:

timedatectl status

如果一切正常,你应该可以看到类似如下图所示的内容: 其中Universal time是世界时间,这个不用管,RTC time是主板时间,也不用管,只要保证Local time即本地时间是正确,并且是东八区即可。 现在我们安装Docker:

yum -y install https://download.docker.com/linux/centos/7/x86\_64/stable/Packages/docker-ce-18.06.1.ce-3.el7.x86\_64.rpm systemctl start docker
systemctl enable docker.service

再安装docker-compose:

curl -L “https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

然后拉取mailcow项目文件:

yum -y install git
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized cd mailcow-dockerized

执行sh脚本:

./generate_config.sh

这个脚本会让你填写一个域名,这个域名就是我们之前A记录解析的域名,按我们之前说的,那这里我的域名地址应该是:mail.example.com 完成之后拉取镜像:

docker-compose pull

确保全部都是done状态: 运行mailcow:

docker-compose up -d

如果如下图所示,那么你的mailcow就运行成功了:   打开域名mail.example.com,你应该可以看到登录界面:   默认的管理员账号是admin,密码是moohoo 登录进去之后第一件事是修改管理员密码,接着要来添加域名,点击右上角的“Configuration”-“Mailboxes”可以看到如下界面: 添加域名这个Domain填写你的根域名,其他的就按需要配置就行了,填写好了后点击“Add domain and restart SOGo”: 现在我们回到之前的DNS解析这块,之前说过还有一个DKIM解析没设置,这里我们点击“Configuration”-“Administration”,然后选择“Configuration”,然后按如下图设置: 1.Domaion/s填写我们的根域名,我这里假设就是example.com 2.DKIM key length (bits)选择1024bits。 完成之后你将得到一个解析值: 回到cloudflare的DNS解析界面,添加一个TXT记录,NAME填写:

dkim._domainkey

值就是上图的这一串,复制粘贴就行了,如图所示: 现在我们就可以回到mailcow创建邮箱账号了,点击“Mailboxes”-“Add mailbox”开始创建你的邮箱账号: Domain选择我们之前刚添加的域名,其他这些就按需填写即可: 完成之后我们可以在右上角打开SOGo这个APP,这个就是mailcow的邮件系统: 登录界面长这样,可以设置中文: 使用我们创建的邮箱账号登录,注意账号是邮件地址的全名,比如这样:test@example.com 测试发信: Mail-Tester测试了一下,还行吧8.1分: 我就TM一直纳闷这个PYZOR是个啥J8玩意: 当然这些都只是测试并不代表实际使用效果,那么Mailcow实际发送邮件的效果如何? 答曰:稀烂! 发QQ邮箱进垃圾箱,发Gmail进垃圾箱,发什么都进垃圾箱,玩你妹啊!rDNS/SPF/DMARC/DKIM都配置了还是如此,我也不知道该怎么办了,反正我个人觉得这款邮件系统发信进收件箱的几率太低了。。。 另外这个SOGo的界面说实话,有点华而不实,看上去挺好看的UI,实际用起来感觉难用到爆炸,算了,不想BB了,告辞~

目前仅支持CentOS系统,主要解决之前BT/磁力无法下载的问题,同时将YAAW替换为AriaNg,管理更加方便,以下简称CCAA

主要功能

  • 支持HTTP/HTTPS/FTP/BT/磁力链接等离线下载,断点续传等
  • 文件管理、视频在线播放

安装CCAA

复制下面的命令,一行一个:

1
2
3
yum -y install wget unzip curl
wget https://github.com/helloxz/ccaa/archive/master.zip
unzip master.zip && cd ccaa-master && sh ccaa.sh

输入1安装CCAA 根据提示设置下载路径、RPC密钥、用户名、密码,稍后需要用到。 安装完成后会看到如下提示,请务必牢记RPC密钥、用户名、密码等信息。 根据提示输入http://IP:6080/打开AriaNg界面,并输入上一个步骤中设置的Caddy用户名和密码。 打开AriaNg设置 – RPC ,填写Aria2 RPC 密钥,然后刷新页面,至此已经完成,可以愉快的开始下片啦。

文件管理

点击右上角文件管理按钮会跳转到Caddy filemanager进行文件管理,或者手动输入地址http://IP:6080/admin也可以进入Caddy filemanager

常用命令

1
2
3
4
5
6
7
8
#查看ccaa状态
ccaa status
#启动ccaa
ccaa start
#停止ccaa
ccaa stop
#重启ccaa
ccaa restart

注意事项

  • 如果服务器有启用安全组,请务必在安全组放行以下端口:6080/6800/6998/51413
  • 大部分服务商是禁止下载BT的,若因违规使用导致服务器被封本人不承担任何责任

其它说明

支持系统:Debian 8 (建议选择mini版) 一、脚本特性 小内存VPS 一键安装 Caddy+PHP7+Sqlite3 环境 (支持VPS最小内存64M) 一键绑定域名自动生成SSL证书开启https(ssl自动续期)、支持IPv6 一键安装 typecho、wordpress、zblog、kodexplorer、一键整站备份 一键安装 v2ray、rinetdbbr 二、安装步骤 1、解析好域名 2、SSH下,根据自己的需求安装不同应用。 a、仅安装Caddy+PHP7+Sqlite3 环境

1
wget -N --no-check-certificate git.io/c.sh && chmod +x c.sh && bash c.sh

b、一键安装 typecho

1
wget -N --no-check-certificate git.io/c.sh && chmod +x c.sh && bash c.sh -t

c、一键安装 wordpress

1
wget -N --no-check-certificate git.io/c.sh && chmod +x c.sh && bash c.sh -w

d、一键安装 zblog

1
wget -N --no-check-certificate git.io/c.sh && chmod +x c.sh && bash c.sh -z

e、一键安装 kodexplorer 可道云

1
wget -N --no-check-certificate git.io/c.sh && chmod +x c.sh && bash c.sh -k

f、一键安装 laverna 印象笔记

1
wget -N --no-check-certificate git.io/c.sh && chmod +x c.sh && bash c.sh -l

三、辅助功能 1、一键整站备份(一键打包/www目录 含数据库)

1
bash c.sh -a

2、一键安装 v2ray

1
bash c.sh -v

3、一键安装 rinetd bbr 端口加速

1
bash c.sh -b

四、应用卸载 卸载 caddy

1
bash c.sh -unc

卸载 php+sqlite

1
bash c.sh -unp

卸载 v2ray

1
bash c.sh -unv

卸载 rinetdbbr

1
bash c.sh -unb

源码地址https://github.com/dylanbai8/Onekey_Caddy_PHP7_Sqlite3

在 linux 下传输文件我们平时一般使用 lrzsz 或者 scp. 但是并不是所有终端都支持 lrzsz, 额外安装 winscp 也麻烦 . 况且如果是需要把文件发给别人更是麻烦 . transfer.sh 就是为此而生 . 对于恨不得手都不离开键盘的程序员来说 , 能有个命令行的分享程序真的挺方便的 . transfer.sh 的使用也非常简单 , 可以使用 curl 的 upload-file 来上传文件 . 比如 :

1

curl --upload-file ./91yunserverspeeder.tar.gz https://transfer.sh/91ss.tar.gz

以上命令就是把 91yunserverspeeder.tar.gz 上传到 transfer.sh, 并命名为 91ss.tar.gz 执行完这个命令 , 就会返回给你下载地址 :https://transfer.sh/Jg56i/91ss.tar.gz 然后你把这个地址发给别人就可以下载了 . 是不是很方便呢 ? transfer.sh 还有很多方式 , 比如加密上传文件 , 比如一次性上传多个文件等用法 . 大家可以到官网看例子 . 并且这也是开源项目 , 大家可以到他的 github 观摩 , 也可以自己搭建相类似的服务 .

官网 :

https://transfer.sh/

github:

https://github.com/dutchcoders/transfer.sh/

0%