记一次Hetzner系统安装经历[未完待续]

需要实现的功能(按时间顺序排列):

1、使用Rescue模式安装Ubuntu16.04-NextCloud并设置RAID-0;

登录并进入Hetzner后台

选择 “Servers”

设置救援模式

激活后会显示登录名“root”和一个随机的密码,

请妥善保存,后续会用到且无法在后台找到。

Reset之后将会在重新开机时进入救援模式

#1#进入镜像选择界面
installimage
#2#选择Ubuntu16.04 - Nextcloud
#3#设置RAID-0
SWRAID 1
SWRAIDLEVEL 0
#4#起一个好听的名字
HOSTNAME Pretty-Name
#5#设置好系统分区空间大小-50G
PART / ext4 50G
#6#保存设置
F10
#7#一路确认
Enter-Yes
#8#提示安装完成之后重启
reboot
#9#登录之后更改root默认密码
passwd root

参考

2、安装Gnome图形桌面;

#更新数据及升级
sudo apt-get update
sudo apt-get upgrade
#安装完整版桌面
sudo apt-get install ubuntu-desktop
#安装Gnome桌面
sudo apt-get install gnome-panel
#重启
reboot

3、安装Vim;

sudo apt-get install vim

 

4、安装Teamviewer 12 并进行远程访问;

经测试,TV13版本暂不兼容Hetzner的Ubuntu 16.04版本

#官网下载安装包
wget http://download.teamviewer.com/download/version_12x/teamviewer_i386.deb
#修复依赖
sudo apt-get -f install
#执行安装
sudo dpkg -i teamviewer_i386.deb
#停止服务
sudo teamviewer daemon stop
#修改配置文件
sudo vi /opt/teamviewer/config/global.conf
##末尾增加
[int32] EulaAccepted = 1 
[int32] EulaAcceptedRevision = 6
#保存
:wq
#重新启动Tv服务
sudo teamviewer daemon start
#设置密码
teamviewer passwd 你要设置的密码
#编辑桌面登录文件
sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
##添加
greeter-show-manual-login=true
allow-guest=false #不允许客人登录
##修复
sudu vi /root/.profile
##找到 mesg n   替换成 tty -s && mesg n
#重启
reboot
#查看ID
teamviewer info

teamviewer官方早期版本

teamviewer官方命令行安装文档

5、删除默认Ubuntu Unity桌面;

可以顺利用ID和密码登录teamviewer之后就可以删除Unity了

#卸载unity
sudo apt purge unity 7.5 ubuntu-system-settings
#查看当前安装了的桌面
ls /usr/share/xsessions
#设置默认桌面
sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
##修改内容
user-session=gnome

 

6、添加其它登录用户;

#添加用户并设置用户目录
useradd -r -m -s /bin/bash 用户名
@设置用户密码
passwd 用户名
##Enter new UNIX password:
##Retype new UNIX password:
##passwd: password updated successfully


#如需添加root权限
chmod +w /etc/sudoers
vim /etc/sudoers
##在root那一行下面继续添加一行
用户名     ALL=(ALL:ALL) ALL 

#如需删除用户
userdel -r 用户名

参考

7、清除冗余内置软件;

#查看全部已安装软件
dpkg -l
#用关键词查看软件具体名称
dpkg -l | grep 关键词
#卸载
sudo dpkg --purge 名称

参考

8、安装Chrome;

#1#进入chrome官网下载Linux版适用于Ubuntu的64deb包
https://www.google.com/chrome/
#2#安装
sudo dpkg -i google-chrome-stable_current_amd64.deb
#3#备注
#root用户使用chrome需命令行:
google-chrome-stable --no-sandbox

 

9、安装VMware Workstation Pro 14;

#下载官方原版试用版
https://www.vmware.com/go/getworkstation-linux
#在图形界面中的终端进行安装
sudo chmod +x 安装文件名称.bundle
sudo ./安装文件名称.bundle
#之后会弹出安装指引,并输入序列号
最新VM14或更高的版本:

VF19H-8YY5L-48DQY-JEWNG-YPKF6

VF3W2-AZF91-480VP-Z5YZZ-QURDD

YV34A-D3Z4N-M817Y-Y6Y7V-M7H8F

AC7TA-2WYD3-M814Y-UMQNX-XCHFA


VM12或以下的版本:

5A02H-AU243-TZJ49-GTC7K-3C61N

AG1N8-DZZ53-484QP-0YN5C-QQ0F2

GG59U-DVZD5-M854Y-NYN7C-P3KW4

AA39H-61W50-H8DCY-1MM79-N2RZ4

UU148-6VF44-M80JY-YYMQV-WF89D


Linux版本:
5F29M-48312-8ZDF9-A8A5K-2AM0Z

5A02H-AU243-TZJ49-GTC7K-3C61

 

10、安装vsftpd;

11、安装Deluge;

#安装本体
sudo apt-get install deluge
#安装webui
sudo apt-get install deluge-web

汉化:参考

12、配置Nextcloud;

13、配置win7虚拟机;

#下载地址
ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/

修改远程端口:参考

14、更换登录界面壁纸;

#修改对应文件
vi /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
##修改内容
修改第一条key name里的图片地址为你想替换的图片,如:
/usr/share/backgrounds/1.png
#编辑好保存退出
:wq
#刷新schemas
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
#重启lightdm服务
sudo systemctl restart lightdm

参考

15、一些备忘的命令:

#Apache2 的/etc/apache2/sites-available/ 目录是站点的设置目录
#该目录下的000-default.conf为80端口设置模板
#该目录下的default-ssl.conf为SSL设置模板
#设置新站时需要输入以下命令:
cp 000-default.conf 站点名称(随意).conf
cp default-ssl.conf 站点名称(随意)-ssl.conf
#通过编辑相应站点文件内的参数可以达到单IP虚拟目录的访问效果
ServerName 具体的网址
DocumentRoot /var/www/具体的目录
#通过开启Rewrite模块,可以实现80跳转SSL的效果
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
#最后需要开启站点
sudo a2ensite 站点名称
service apache2 reload #刷新
#开启后的站点可以在/etc/apache2/sites-enabled 查看到相应软链
#如需关闭站点
sudo a2dissite 站点名称


##查找软件安装位置
dpkg -L 软件名称

 

Ubuntu 16.04安装vsftpd

写在前面:

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

安装:

sudo apt-get install vsftpd

配置:

vim /etc/vsftpd.conf


#这些设置系统默认是开启的,可以不管
listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

#下面的就要自定义设置了,建议系统默认的不管,然后复制下面的

#是否允许匿名访问,NO为不允许
anonymous_enable=NO
#是否允许本地用户访问,就是linux本机中存在的用户,YES允许
local_enable=YES
#是否开启写模式,YES为开启
write_enable=YES
#新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755
local_umask=022

####umask值与权限的对照表:
####umask 文件 目录 
####-------------------- 
####  0    6    7 
####  1    6    6 
####  2    4    5 
####  3    4    4 
####  4    2    3 
####  5    2    2 
####  6    0    1 
####  7    0    0 
####--------------------

#是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用
userlist_enable=YES
#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能
userlist_deny=NO
#指定哪个文件作为userlist文件,我们稍后编辑这个文件
userlist_file=/etc/vsftpd.user_list

#是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦
chroot_local_user=YES
#是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
chroot_list_enable=YES
#设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录
chroot_list_file=/etc/vsftpd.chroot_list
#是否开启写模式,开启后可以进行创建文件夹等写入操作
allow_writeable_chroot=YES

#设置ftp根目录的位置,这个文件我们稍后自己创建
local_root=/目录位置

重启:

sudo /etc/init.d/vsftpd restart

添加用户:

#将将用户目录设置为我们上面的ftp根目录
sudo useradd -d /目录位置 用户名字

#设置用户密码
sudo passwd 用户名字

限定用户只能访问自己的目录,无法返回上层及进入其它目录:

修改配置文件:/etc/vsftpd/vsftpd.conf

sudo vi /etc/vsftpd.conf

去掉下面两行的注释:
chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

在/etc/vsftpd下创建chroot_list文件:

touch chroot_list

加入需要限制的用户名:

vi /etc/vsftpd/chroot_list

保存

:wq

重启服务(每次更改配置后必须重启才能生效):

sudo /etc/init.d/vsftpd restart

其它命令:

#关闭
sudo /etc/init.d/vsftpd stop
#开启
sudo /etc/init.d/vsftpd start
#查看当前用户
vi /etc/passwd

关于500错误的解决思路:

出现500的原因是你的主目录设置了可写权限,故无法通过安全验证,所以无法正常登录。

附:

关于文件及文件夹权限

读:r

写:w

执行:x

      所有者 同组用户 其它用户

         rwx   rwx   rwx       翻译:所有者同组用户其它用户都可读、写和执行

二进制: 111  111  111

十进制:  7    7     7



      所有者 同组用户 其它用户

         rwx  - - -  - - -       翻译:只有所有者有读、写和执行的权限

二进制: 111   000     000

十进制:  7    0     0

Ubuntu Xenial Xerus和Teamviewer 12的故事

Ubuntu Server 16.04 “Xenial Xerus” LTS (64bits)&Teamviewer 12.0.76279

前言:近日购入一台KS-3C,于是乎,装远程桌面成了一个关键性问题,大众化还是轻便?这是个问题。

先来给大家看一下某星提供的原始安装代码:

sudo apt-get install ubuntu-desktop

sudo apt-get update

sudo apt-get install xrdp

sudo apt-get install xfce4

echo xfce4-session >~/.xsession

sudo service xrdp restart

从代码中可以看到,该远程桌面需要使用xrdp进行连接,并不是非常灵活,而且不能使用Gnome也是令人难过的地方,于是乎就有了下方的改进:

#轻量级桌面(如后续遇到不显示ID的情况请在一开始就安装完整版)(如果需要的是完整的桌面应用系统,请去掉--no-install-recommends)
sudo apt-get install --no-install-recommends ubuntu-desktop
#更新
sudo apt-get update
#安装gnome
sudo apt-get install gnome-panel
#卸载unity
sudo apt purge unity 7.5 ubuntu-system-settings

但是问题来了,该如何连接远程桌面?

下面就要请出一款众所周知的远程服务软件——Teamviewer

图形安装都是无脑化完成,但是在Ubuntu的命令行我们该如何操作呢?

#官网下载安装包
wget http://download.teamviewer.com/download/version_12x/teamviewer_i386.deb
#安装32位库
sudo apt-get install libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386
#安装TV
sudo dpkg -i teamviewer*.deb
#修复依赖
sudo apt-get -f install

安装就到这里结束了,但是,因为图形化安装结束之后,Tv会要求你接受一个许可,但是因为是命令行安装,所以看不到这个接受的图形界面,也就无法选择“同意”,那么命令行下该如何操作?

#首先停止Tv服务
sudo teamviewer --daemon stop
#修改配置文件
sudo vi /opt/teamviewer/config/global.conf
##末尾增加
[int32] EulaAccepted = 1 
[int32] EulaAcceptedRevision = 6
#保存
:wq!
#重新启动Tv服务
sudo teamviewer --daemon start
#设置密码
teamviewer --passwd 你要设置的密码
#查看ID
teamviewer -info

至此,如果你能在窗口中看到正常显示的数字ID,那说明你成功了,reboot后尝试连接看看效果吧~

晚些时候补充下实际操作遇到的问题:

问题1:Tv是32位程序,Ubuntu是64位,这个时候就需要先安装好32位库再安装软件,否则会出问题;

问题2:server提供商提供的预装系统都是默认root为主用户,请在安装Tv前先新建一个user;

问题3:安装完桌面环境后最好重启下再装Tv;

问题4:必须先设置好密码才能看到Tv的ID,这也是不显示ID的原因之一。

综上所述,在实际安装中遇到了很多问题,也重装了将近十次,一定要耐心才会成功,另,Ubuntu 17 不适用以上步骤。

最后附上可以让root用户登录桌面的代码(遇到不能显示ID的情况请进行如下操作):

sudo vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
##添加
greeter-show-manual-login=true
allow-guest=false #不允许客人登录

#修复
sudu vi /root/.profile
##找到 mesg n   替换成 tty -s && mesg n

reboot

 

关于Win10 激活出现0xC0000022的解决办法

“错误:0xC0000022 在运行Microsoft Windows 非核心版本的计算机上,运行”slui.exe 0x2a 0xC0000022″以显示错误文本。”

写在前面:

本人之前一直都是用的Win7系统,最近换了台新笔记本,因为Win7各种驱动缺失,所以只能用它自带的Win10了,但是自带的系统是家庭版,对于我来说,功能是不够用的,于是乎,便升级了企业版,后来找到一个激活工具,激活了系统并正常使用至昨天。

出现问题之前,我做了什么?

为了可以远程多用户同时登录,我修改了System32系统文件夹的继承权限,然后修改了termmgr.dll获得了同时登录多个用户的可能,问题也是这时候出现的。

什么时候发现出现了问题?

晚上准备关机的时候,发现桌面右下角出现了系统未激活的提示,于是又用激活工具尝试激活,但是,问题来了,出现了下图的提示:

多次尝试并且搜索解决办法,都未解决问题,于是只能先去睡觉了……

10点左右,噩梦初醒,提着沉重的躯壳,继续开机解决问题,我也没多想,先去了某宝搜索解决办法,找到了一个号称IT技术联盟的花费了¥7.98要求他帮我解决问题,卖家很热心,各种办法都尝试了,依旧未果,于是只能退款,当头一棒让我感觉整个人生都要废了,难道只能重装了么?

baotoutongku

抱着想要解决问题的信念,我又去某宝搜索了一个商家,他让我购买15元的支持重装的激活码,尝试激活后还是那个提示,然后原本的激活码也无法卸载,于是,继续退款。

时间来到了中午12点,伴着蝉鸣,我开始思考人生,难道真的要重装了?好多软件和驱动,真的不想重装!

百度才是万能的!

我搜索了几个关键词后,搜索到了下面这篇文章,他给我提供了一个思路:

彻底解决激活win8/8.1出现“错误:0xc000022 在运行Microsoft Windows 非核心版本的计算机上”

文章中说到了关于安全权限的问题,我按照提示进行了操作,但是到了最后一步启动“Software Protection”服务时,又失败了!提示我无法启动?

看到这里,我好像找到了问题的症结所在,于是继续搜索如果解决“Software Protection”无法启动的问题,搜到了下面这篇文章:

完美解决:升级到win8.1之后 遇到 Software Protection服务无法启动,错误代码5

虽然不是Win10,但是思路是相同的,还是权限的问题。

按照文中的提示,我找到了C:\Windows\System32\spp\store 文件夹,查看了下它的权限,并没有看到它的存在,于是手动添加了NT SERVICE\sppsvc 并赋予了完全控制的权限,如下图:

 

 

果然Software Protection可以成功启动了,Win10也成功激活了!不用重装了!

小结:

自己挖的坑,要自己填上,跳进去了要想办法爬出来,而不是坐在坑里等待重生。

网上很少关于此类问题的解决方法,撰文一篇,希望可以给更多人解惑,如需转载请注明出处!

https://hiiht.com Hallton+

电信光猫超级管理员破解

今天遇到了一件特别恶心的事情。
下午去小舅新墅安装监控时发现电信天翼网关无法正常拨号,因为没有带电脑,加上是第一次接触电信光猫,所以无法第一时间进行破解,就抱着一丝的希望给装宽带的师傅打电话咨询了,然而他的态度却极其恶劣,告诉我如果进去(超级管理界面)后设置错了网关就废了,还得重新花钱买,听到这里我差点骂出来,虽然忍住了,但是气不打一处来,就决定自己破解一下,于是就有了下面的教程:

这里使用的是中兴(ZTE)ZXHN F652,如果是同一品牌设备也可以尝试进行操作,嫌麻烦的可以直接跳过教程换(买)一个没有限制的光猫进行连接。
首先,网关的默认登录地址是192.168.1.1,我们登录后可以看到已经默认填好了一个叫做“useradmin”的普通用户账号,密码就是写在机器底部贴条上的密码,用这个账号登录进去也只能看看连接状态,进行一些简单的操作,而关键的设置是没有任何权限的,所以我们才需要获取超级管理员的账号密码进行设置,但是因为有ITMS的存在,所以每次师傅上门维护时其实应该是有一个终端可以远程获得密码来登录的,但是作为高端用户,我们并不能容忍这样的设置存在,所以动手开干吧!


在动手之前,请先确认光猫已经断开了光纤的连接,否则后面会很麻烦。

第一步:访问http://192.168.1.1/hidden_version_switch.gch
这里可以查看到当前的版本模式,记住这个版本(一般为当前省份),然后选择default version提交,之后设备会自动重启初始化系统设置,之前的所有设置都会清空恢复到默认状态。重启完成之后,继续访问这个页面,选择之前的版本模式,然后提交-自动重启。

第二步:使用Telnet登录192.168.1.1,用户名:root 密码:Zte521
这也是最关键的一步,也是之前为什么要先不要连接光纤的原因,如果连接了光纤,系统开始工作后,会通过光路下载运营商配置,并且禁止Telnet登录,这样后面的代码就可以慢慢输入了:

sendcmd 1 DB set TelnetCfg 0 TS_Enable 1           
sendcmd 1 DB set PortControl 3 PortEnable 1             
sendcmd 1 DB set TelnetCfg 0 Lan_Enable 1              
sendcmd 1 DB set TelnetCfg 0 Lan_EnableAfterOlt 1    
sendcmd 1 DB save                                             
reboot

最后一条成功执行之后,Telnet连接会关闭,系统将进行重启,重启成功后,这时候就算再接上光纤,也不用担心运营商下发的配置影响telnet了。

第三步:telnet到光猫,执行

sendcmd 1 DB p DevAuthInfo

就可以在0行查看到默认的超级管理员账号密码了,我这里是这样显示的:

/ # sendcmd 1 DB p DevAuthInfo
<Tbl name="DevAuthInfo" RowCount="6">
        <Row No="0">
                <DM name="ViewName" val="IGD.AU1"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="1"/>
                <DM name="User" val="telecomadmin"/>
                <DM name="Pass" val="nE7jA%5m"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="1">
                <DM name="ViewName" val="IGD.AU2"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="1"/>
                <DM name="User" val="useradmin"/>
                <DM name="Pass" val="kayk4"/>
                <DM name="Level" val="2"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="2">
                <DM name="ViewName" val="IGD.AU3"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="2"/>
                <DM name="User" val="root"/>
                <DM name="Pass" val="public"/>
                <DM name="Level" val="2"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="3">
                <DM name="ViewName" val="IGD.AU4"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="2"/>
                <DM name="User" val=""/>
                <DM name="Pass" val="zte"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="4">
                <DM name="ViewName" val="IGD.AU5"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="4"/>
                <DM name="User" val="admin"/>
                <DM name="Pass" val="admin"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="5">
                <DM name="ViewName" val="IGD.AU6"/>
                <DM name="Enable" val="0"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="5"/>
                <DM name="User" val=""/>
                <DM name="Pass" val="samba"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
</Tbl>

至此,超级管理员账号密码就成功获得了,下面进行一些额外的设置,来完全掌控我们的光猫。

先来讲解下Telnet的基本语法:

①读取全部表名:

sendcmd 1 DB all

我这个光猫列出了356个表,每个表的具体用途还有待慢慢研究。

②读取指定表详细信息:

sendcmd 1 DB p 表名

比如sendcmd 1 DB p DevAuthInfo,查看路由器帐号和密码:

/ # sendcmd 1 DB p DevAuthInfo
<Tbl name="DevAuthInfo" RowCount="6">
        <Row No="0">
                <DM name="ViewName" val="IGD.AU1"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="1"/>
                <DM name="User" val="telecomadmin"/>
                <DM name="Pass" val="nE7jA%5m"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="1">
                <DM name="ViewName" val="IGD.AU2"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="1"/>
                <DM name="User" val="useradmin"/>
                <DM name="Pass" val="kayk4"/>
                <DM name="Level" val="2"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="2">
                <DM name="ViewName" val="IGD.AU3"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="2"/>
                <DM name="User" val="root"/>
                <DM name="Pass" val="public"/>
                <DM name="Level" val="2"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="3">
                <DM name="ViewName" val="IGD.AU4"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="2"/>
                <DM name="User" val=""/>
                <DM name="Pass" val="zte"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="4">
                <DM name="ViewName" val="IGD.AU5"/>
                <DM name="Enable" val="1"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="4"/>
                <DM name="User" val="admin"/>
                <DM name="Pass" val="admin"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
        <Row No="5">
                <DM name="ViewName" val="IGD.AU6"/>
                <DM name="Enable" val="0"/>
                <DM name="IsOnline" val="0"/>
                <DM name="AppID" val="5"/>
                <DM name="User" val=""/>
                <DM name="Pass" val="samba"/>
                <DM name="Level" val="1"/>
                <DM name="Extra" val=""/>
                <DM name="ExtraInt" val="0"/>
        </Row>
</Tbl>

③查看当前系统运行的服务状态:

sendcmd -pc show

④修改某个表的某个字段的值:

sendcmd 1 DB set 表名 行数 字段名 字段值

行数就是<Row No=”0″> 这个里面No的值
字段名就是DM name后面引号中的名称,注意大小写。
字段值就是要设置的值
⑤保存对配置文件的修改:

sendcmd 1 DB save

第一项,当然是禁用Tr069连接了,因为如果不禁用它,光猫还是会被电信远程修改配置,这也是我们不想看到的:

#查看表
sendcmd 1 DB p MgtServer
#修改值
sendcmd 1 DB set MgtServer 0 Tr069Enable 0
sendcmd 1 DB set MgtServer 0 PeriodicInformEnable 0
#保存
sendcmd 1 DB save

第二项,修改连接数限制,默认是只能连接4台设备,这里我们把它增大,最高是255,一般家庭20左右就够用了,这里设置的99台设备:

sendcmd 1 DB p CltLmt
sendcmd 1 DB set CltLmt 8 Max 99
sendcmd 1 DB save

第三项,修改wifi前缀,光猫自带的wifi被强制设定了前缀ChinaNet-,可以把它取消掉:

/ # sendcmd 1 DB set WLANCfg 0 ESSIDPrefix
<Tbl name="WLANCfg" RowCount="4">
        <Row No="0">
                <DM name="ViewName" val="IGD.LD1.WLAN1"/>
                <DM name="LANDViewName" val="IGD.LD1"/>
                <DM name="ValidIf" val="1"/>
                <DM name="InstExist" val="1"/>
                <DM name="Enable" val="1"/>
                <DM name="ESSID" val="ChinaNet-Ytny"/>
                <DM name="ESSIDPrefix" val=""/>
                <DM name="Priority" val="0"/>
                <DM name="ACLPolicy" val="0"/>
                <DM name="BeaconType" val="6"/>
                <DM name="ESSIDHideEnable" val="0"/>
                <DM name="BeaconEnabled" val="1"/>
                <DM name="WEPAuthMode" val="2"/>
                <DM name="WEPLevel" val="1"/>
                <DM name="WEPKeyIndex" val="1"/>
                <DM name="WPAEncryptType" val="2"/>
                <DM name="WPAAuthMode" val="0"/>
                <DM name="11iEncryptType" val="2"/>
                <DM name="11iAuthMode" val="0"/>
                <DM name="WPAGroupRekey" val="0"/>
                <DM name="WPAEAPServerIp" val="192.168.1.1"/>
                <DM name="WPAEAPSecret" val="12345678"/>
                <DM name="MaxUserNum" val="32"/>
                <DM name="VapIsolationEnable" val="0"/>
                <DM name="BasicEncryptionModes" val="0"/>
                <DM name="LocalSetEnable" val="1"/>
                <DM name="SimCardFileId" val="43"/>
        </Row>
……

最后,修改超级管理员账号密码,默认的不好记也不安全,所以可以自定义账号密码:

##示例##
#更改超级管理员账号为jjj
sendcmd 1 DB set DevAuthInfo 0 User jjj

#更改超级管理员密码为444
sendcmd 1 DB set DevAuthInfo 0 Pass 444

#保存
sendcmd 1 DB save

至此设置完毕,光猫就真正属于我们自己了,具体的界面设置,后面再做研究。

Win录像工具推荐之Action!

之前一直在用Bandicam录制视频,因为可以自定义视频编码器,所以对于我这种DIY爱好者来说是恰到好处的,后面会再补充一篇关于它的使用介绍,而今天要说的是号称“顶级截图录屏工具”的Action! 

让我想要尝试它的原因很简单——简洁的界面和丰富的功能。

那么,下面来说下它的特点,和bdcam不同的是,这款软件并不支持自定义编码器,也就是说,它是按照原始比特率进行编码的,从这一点上来说,就不是很方便了,举个栗子,我如果要录制1个小时的游戏视频,可能就要占用我25G以上的储存空间!但是相应地,强制原码录制也是有好处的,不会因为录制时第三方的编码问题而导致数据受损,可以尽可能原汁原味地保留每一帧精彩画面。

就算我有充裕的储存空间给它占用,那我怎么把这么大的视频分享给别人?还要下载别的转换软件?

回答当然是否定的,这么愚蠢的问题软件商肯定也早就想到了~软件自带了视频转换功能,可以把AVI轻松地转化成为任意大小清晰度的MP4格式视频,或者直接转发到FB和YT上。

它还具有截屏、录音、实时直播等功能,具体的软件细节我就不在这里陈述了,再多的啰嗦也不如自己亲身体验一下,这里给大家提供的是2.3.0版本的下载和激活方式:

软件下载点我

安装及激活

#安装之前,先修改C:\Windows\System32\drivers\etc目录下的hosts文件,加入以下屏蔽联网代码:

# Mirillis Action!服务器屏蔽
127.0.0.1 thislineskipsanyemptylines
127.0.0.1 serwer2.paka-service.com
127.0.0.1 ns386119.ovh.net
127.0.0.1 www.ovh.com
127.0.0.1 176.31.241.10
127.0.0.1 91.121.143.139

#安装后运行程序,填入下面任一序列号(用户名随意):
##失效##QGNPv-1mQ07-xTwXd-zs2Wi-2q80N-VcrdJ##失效##
##失效##whjEc-hm2p7-HH6fU-tadau-UlRxd-VclvJ##失效##
qB4wS-jMisE-8#5LR-O1m9V-MOqOO-J70Uj

Tips:软件为官方原版,没有进行过任何破解,请安心使用~

VPS搭建shadowsocks

因为一直在使用shadowsocks的自营节点,所以就没有想到去自己搭建,昨天因为想用Google Drive,就萌生了自己搭建无限流量shadowsocks服务器(以下统称ss)的念头,搜到了前篇说到的ConoHa,折腾了一晚,总算明白了一些“真理”——不要相信广告。

回到正题,下面来总结下ss服务器的搭建过程:

一、首先你要有一个主机(这是废话),不管是云上的,还是你自己的laptop;

二、你要有清醒的头脑,知道自己在干嘛,不要像我一样,一股热血上头,就把钱扔出去了;

三、你的如果是VPS安装,最好是用KVM的(也就是说要用Linux系统),下面的“教程”也是基于此,输入以下代码查询当前环境:

apt-get install virt-what
virt-what

如果是KVM,就会显示KVM;

四、开始安装:

#下载安装包
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev-debian.sh  
#赋予可执行权限
chmod +x shadowsocks-libev-debian.sh
#安装
./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.log

以上步骤成功即搭建完毕;

五、安装加速:

我试用过两种加速,一种是已经停止更新的锐速,一种是BBR,而两种加速安装之前都要先确定内核,如果不符合要求就要事先更换:

#查看内核版本
uname -r

①安装锐速:

如果要安装锐速,如果你的系统是Ubuntu14.04,那么就需要使用3.13.0-24-generic的内核:

#下载并安装内核
sudo apt-get install linux-image-extra-3.13.0-24-generic
#查看现有内核
sudo dpkg --get-selections | grep linux-image
#卸载多余内核
sudo apt-get purge 内核1 内核2 内核3 ……

#更新 grub 系统引导文件
sudo update-grub
#重启
reboot
#查看当前内核
uname -r
#固定内核,避免意外升级
sudo apt-mark hold linux-image

如果你的系统是CentOS6,那么需要更换为2.6.32-504.3.3.el6.x86_64:

rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-firmware-2.6.32-504.3.3.el6.noarch.rpm
rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-2.6.32-504.3.3.el6.x86_64.rpm --force

如果你的系统是CentOS7,那么需要更换为3.10.0-229.1.2.el7.x86_64:

rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force

不过建议还是使用CentOS6.X,而不是7.X;

正式安装:

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

卸载指令:

chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f

其它操作指令:

/serverspeeder/bin/serverSpeeder.sh start #启动锐速
/serverspeeder/bin/serverSpeeder.sh stop #停止锐速
/serverspeeder/bin/serverSpeeder.sh restart #重启锐速
/serverspeeder/bin/serverSpeeder.sh status #锐速运行状态

优化锐速:

打开/serverspeeder/etc目录中的config文件,编辑如下内容:

rsc="1"
gso="1"
maxmode="1"
advinacc="1"

重启锐速服务完成优化:

service serverSpeeder restart

设置开机自启:

在/etc/init.d目录下新建ss_start文件并加入如下内容:

nohup /usr/local/bin/ss-server -c /etc/**/config.json > /dev/null 2>&1 &

在/etc/init.d目录下新建rs_start文件并加入如下内容:

/serverspeeder/bin/serverSpeeder.sh start

设置执行权限:

chmod +x /etc/init.d/ss_start
chmod +x /etc/init.d/rs_start

开启自启:

sudo update-rc.d ss_start defaults 91
sudo update-rc.d rs_start defaults 91

 

②安装BBR:

如果要安装BBR,如果你的系统是Debian 8或者Ubuntu 14,那么需要安装4.9以上的最新内核

#下载对应位数的内核版本
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.10.5/linux-image-4.10.5-041005-generic_4.10.5-041005.201703220931_i386.deb 
#安装对应的内核
dpkg -i linux-image-4.10.5-041005-generic_4.10.5-041005.201703220931_i386.deb
#删除内核和上面一样
#更新引导和重启也同上

如果你的系统是CentOS6,最新内核点这里

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
#查看是否安装成功
rpm -qa | grep kernel
#删除旧内核
rpm -ev 旧内核
#更新 grub 系统引导文件并重启
sed -i 's:default=.*:default=0:g' /etc/grub.conf
reboot
##开不了机的打开vps后台控制面板的vnc, 开机卡在 grub 引导, 只需要手动选择内核就可以了

如果你的系统是CentOS7,最新内核点这里

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y

#查看内核是否安装成功
rpm -qa | grep kernel
#删除旧内核
rpm -ev 旧内核 
#更新 grub 系统引导文件并重启.
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
grub2-set-default 0  #default 0表示第一个内核设置为默认运行, 选择最新内核就对了
reboot
##注意,某些服务商(如Digital Ocean)可能需要首先将VPS配置为可自定义内核,然后grub2的配置才会生效。

正式安装:

#开机后查看当前内核是否4.9以上
uname -r
#执行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
#保存
sysctl -p

#执行-如果结果都有bbr, 则证明内核已开启bbr
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
#检查-看到有 tcp_bbr 模块即说明bbr已启动
lsmod | grep bbr

六、优化内核:
修改/etc/security/limits.conf文件,加入以下内容:

* soft nofile 51200
* hard nofile 51200

修改/etc/pam.d/common-session文件,加入以下内容:

session required pam_limits.so

修改/etc/profile文件,最下面加入以下内容:

ulimit -SHn 51200

修改/etc/sysctl.conf文件,加入如下内容:

fs.file-max = 51200
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla

保存后执行以下命令使配置生效:

sysctl -p

至此,架设&优化ss就全部完成,开始享受流畅的网速吧!

 

 

 

不限流量VPS之ConoHa

追求新鲜事物的脚步是永不停歇的,昨晚上看到一篇不限流量VPS推荐的博文就被吸引了,结果可想而知,坑爹的连接质量,坑爹的价格。

这家日本运营商的名字叫conoha,日语木の葉的注音,还有自己的品牌“带盐”,如下图:

他家目前最低配置的VPS就是东京的1G内存50GB SSD,900日元一个月,但是是按照用量每日结算,1.3日元每小时计算,所谓用量就是,只要VPS在线,他就会计费,在线1分钟就按1小时来算!我为了测试连接速度,开了好几台,结果可想而知。

所以说,我要表达的含义就是,他家已经没有512M款了!!而且国内用户已经没有再尝试的必要了,不过我只充了500日元,勉强用几天也不会再去续费了……

卖家秀是这样的:

而买家秀是这样的:

如果还有在观望的朋友,可以打消这个念头了,如果没有,那只能证明我太“风趣”……

https跳转

因为PHP和Apache的mod_rewrite跳转设置后都提示无限重定向循环,就用了Javascript来做这件事:

<script type="text/javascript">
var targetProtocol = "https:";
if (window.location.protocol != targetProtocol)
  window.location.href = targetProtocol +
    window.location.href.substring(window.location.protocol.length);
</script>

放在body标签里会在加载页面时立即执行

比如点击https://hiiht.com,就会直接重定向至相应的https页面,如果想https跳转http,targetProtocol的值改成http即可。

SSL证书部署

因为阿里云有免费的SSL证书,就直接申请了,服务商是Symantec(赛门铁克),可靠性还是有保障的,因为博客本身也不牵扯用户数据的交换,所以免费的暂时也就够用。
当你能看到浏览器地址栏的那把小锁,那就说明我部署成功了,下面来详细说下步骤:
域名验证的部分就直接跳过了,阿里云的话只要在服务器指定目录上传一个htm验证下就通过了;
然后是配置远端的OpenSSL(下面是两种可供选择的方式):
①直接下载:

wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
./configure --prefix=/usr/local/openssl
make
sudo make install

②apt安装:

sudo apt-get install openssl libssl-dev

安装完成后输入:

admin@localhost:~$ openssl
OpenSSL>
如果出现上面的提示,那就是成功安装了

第二步:
加载Apache的SSL模块,第一次加载会提示重启

sudo a2enmod ssl

第三步:
安装证书,加载完SSL模块之后,/etc/apache2/sites-available目录下会生成一个default-ssl.conf文件,用vi编辑器打开:

sudo vi /etc/apache2/sites-available/default-ssl.conf

默认域名替换成自己的域名

<IfModule mod_ssl.c>
        <VirtualHost hiiht.com:443>
                ServerAdmin admin@hiiht.com
                ServerName hiiht.com

SSLCertificateFile(你的证书文件位置)

SSLCertificateKeyFile(你的证书key位置)

SSLCertificateChainFile(默认是注释掉的,我也没有添加它,暂时保留,可以参考这里)
更改完成后:wq保存退出
第四步:
映射default-ssl.conf:

sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf

最后:

#重新加载Apache2配置文件
sudo /etc/init.d/apache2 force-reload

#重启Apache2服务
sudo /etc/init.d/apache2 restart

如果服务器已经开放了443端口,这个时候就已经可以访问 https://你的域名.com 了,能显示内容就证明成功了,具体不安全控件之类的还需后续再调整。

启发自→这里