Windows 10 [按应用设置默认值] 闪退

今天在尝试更改默认应用时发现按应用设置默认值会导致设置闪退,如图:

搜索一番后发现有网友表示是安装了potplayer导致的,卸载后即可恢复。我的设备确实安装过potplayer,但是问题出现时potplayer早已卸载,固猜测是卸载残留导致的问题。

最后使用注册表编辑工具Registry Workshop删除所有包含potplayer字段的项,问题解决。

 

Lineage OS 14.1 x86_64安装Xposed框架

感谢@youling257构建的xposed框架,@Camlin3提供的教程。

XDA LINK: https://forum.xda-developers.com/phoenix-os/phoenix-os-news-qa–development/phoenix-os-2-2-1-x86-version-xposed-t3686255

本文对安装流程及框架进行了修改。

x86_64平台的xposed框架并非官方支持,请在操作前备份您的设备。


在开始之前

使用supersu执行脚本有可能使设备无法启动

如果出现了这种情况,请尝试进入DEBUG模式并重新执行脚本。我的设备在无法启动后使用上述方法得以恢复。

1.安装Xposed Installer

下载并安装Xposed Installer,它将管理以后安装的模块。

https://files-1253288830.cossh.myqcloud.com/XposedInstaller_3.1.5.apk

2.刷入框架

刷入框架前确保您的设备有ROOT权限

下载并安装终端模拟器(如果没有的话)

下载框架并解压:

https://files-1253288830.cossh.myqcloud.com/Xposed-LineageOS14-x86_64.zip

将解压后的文件移动到任意目录,为了方便本文将其移至根目录:

现在打开终端模拟器,输入su提权。此时会弹出授权提示,选允许:

现在,输入cd指令移动至框架目录。本文位于根目录下的Xposed-LineageOS14-x86_64:

cd /Xposed-LineageOS14-x86_64

现在,执行安装脚本即可开始安装:

sh flash-script.sh

当出现Done字样时即代表框架已经安装完毕,如图所示:

现在,重启设备以应用框架。

第一次开机时间较长,属于正常现象。

现在,打开Xposed Installer应用,看到绿色提示即代表安装成功。

(若Xposed Installer应用出现闪退可能是因为没有储存空间权限,请自行更改。

OpenWrt访客WiFi植入广告

好吧,这确实是一个很奇怪的需求。

1.设置访客WiFi

http://www.right.com.cn/forum/thread-173844-1-1.html

其中网络接口的IP地址设置为172.16.68.1

2.配置Privoxy

Privoxy是一款不进行网页缓存且自带过滤功能的代理服务器,针对HTTP、HTTPS协议。通过其过滤功能,用户可以保护隐私、对网页内容进行过滤、管理Cookie,以及拦阻各种广告等。Privoxy可以单机使用,也可以应用到多用户的网络。它也可以与其他代理相连,更可以突破互联网审查。

安装privoxy:

opkg install privoxy

配置privoxy:

cd /etc/privoxy/
vi config

编辑config

高亮行为需要添加/修改的

confdir /etc/privoxy
logdir /var/log
filterfile default.filter
filterfile user.filter
logfile privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action   # Main actions file
actionsfile user.action      # User customizations
listen-address  172.16.68.1:8118
toggle  1
enable-remote-toggle  1
enable-remote-http-toggle  0
enable-edit-actions 1
enforce-blocks 0
buffer-limit 4096
forwarded-connect-retries  0
accept-intercepted-requests 1
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 300
socket-timeout 300
permit-access  172.16.68.0/24
debug   1    # show each GET/POST/CONNECT request
debug   4096 # Startup banner and warnings
debug   8192 # Errors - *we highly recommended enabling this*
#admin-address [email protected]
#proxy-info-url http://www.example.com/proxy-service.html

user.filter中添加要注入的脚本:

FILTER: guest-wifi
s|</head>|<script type="text/javascript" src="http://example.com/ad.js"></script>$0|

user.action中调用user.filter的规则:

{+filter{guest-wifi}}
.*

3.将流量转发到Privoxy

下面的指令会将所有来自172.16.68.*,访问80端口的请求转发到位于8118端口的privoxy:

iptables -t nat -A PREROUTING -s 172.16.68.1/24 -p tcp --dport 80 -j REDIRECT --to-ports 8118

4.后记

 

  • privoxy会导致访问延迟。
  • privoxy官方文档中明确指出不支持https流量的拦截。

Linux搭建CS:GO服务器

0.前言

本文用到的系统:Ubuntu 16.04 32位

撰写本文时CS:GO服务端的大小约为16G,请确保服务端有足够空间。

1.安装SteamCMD

Steam命令行版客户端(SteamCMD)是一个命令行版本的Steam客户端。它的主要用途是在一个命令行界面的Steam客户端上安装和更新各种可用的专用服务端。它适用于使用SteamPipe内容分发系统的游戏。所有游戏已经从旧的半条命专用服务器更新工具迁移到了SteamCMD。

为steamcmd创建一个用户并切换过去(root用户下):

useradd -m steam
su - steam

创建目录:

mkdir Steam
cd Steam

下载并解压:

curl -sqL 'https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz' | tar zxvf -

运行:

./steamcmd.sh

等待下载完成,直到出现Steam>,SteamCMD环境安装完成。

2.安装CS:GO

以下指令均在SteamCMD(Steam>)环境下执行

选择安装目录:

(下面的指令将csgo服务器安装在了当前目录下的csgoserver目录,也就是Steam/csgoserver)

force_install_dir ./csgoserver/

匿名登陆:

login anonymous

安装:

app_update 740 validate

(如果需要升级请使用app_update 740,升级前务必选择安装目录

安装完成后,按Ctrl+C退出SteamCMD,然后执行下面的指令即可以休闲模式启动沙漠2服务器:

./csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2

但因为还未关联token,服务器只能通过内网连接。要想通过公网连接并在社区服务器列表中显示出来,你需要申请一个token并填入启动参数。

token申请地址:http://steamcommunity.com/dev/managegameservers

在上面的指令中追加下面的参数即可在公网中启动:

+sv_setsteamaccount 你申请到的token(登陆令牌) -net_port_try 1

另外附上其它几种模式的启动指令:

#休闲模式
./csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2
#竞技模式
./csgoserver/srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2
#军备竞赛模式
./csgoserver/srcds_run -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots
#爆破模式
./csgoserver/srcds_run -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake
#死亡竞赛模式
./csgoserver/srcds_run -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust

所有游戏类型和模式都可以在./csgoserver/csgo/gamemodes.txt中找到

3.连接至服务器

开始游戏 – 浏览社区服务器 – 收藏夹 – 添加服务器 – 输入你服务器的公网IP地址

如果是在家开服请自行搜索端口映射相关教程。

4.长久运行

如果需要长久运行服务器,请使用screen。没有安装的可以使用下面的指令安装(root用户下):

apt install screen

在启动CSGO之前运行screen -S csgoserver,然后启动CSGO。接着你就可以关闭终端,服务端会继续在远程服务器上运行。

当你需要操作服务端时,运行screen -r csgoserver,便会回到服务端进程中去。

5.可能遇到的错误

  • Failed to open dedicated.so (libstdc++.so.6: cannot open shared object file: No such file or directory)

需要安装lib32stdc++6包,使用下面的命令来安装:

apt install lib32stdc++6

解决Chrome辅助框架CPU占用过多

最近无意中发现chrome在仅开启一个标签页的情况下也有相当可观的cpu占用,

遂打开任务管理器查看,发现一个名叫“辅助框架”的进程:

该进程并没有写明属于哪个插件,于是只好一个一个排除。最后发现在禁用Smartshot后cpu占用恢复了正常,可以确定该作者无良的植入了挖矿相关的代码。

商店的评论证实了这一点

解决chrome卡在”正在等待存入缓存”

最近访问少数网站时chrome会卡在”正在等待存入缓存”过程,30秒到2分钟不等,极大地影响了浏览体验。

搜寻一番后发现导致该问题的原因很多,在此简单列举一下:

  • 因网络原因导致网页资源加载速度极慢,在加载过程中刷新页面
  • SSD没装驱动
  • 硬盘使用率100%,常出现在大量4k读写

上述问题没有特定的解决方案,只能尝试一个一个去排查。

解决openwrt下的redsocks2启动报错

启动redsocks2时出现下列错误:

[root@PandoraBox:/root]#/etc/init.d/redsocks2 restart
file parsing error at line 16: invalid token order
file parsing error at line 16: unclosed section
file parsing error at line 16: stale key_token
file parsing error at line 16: stale value_token
[root@PandoraBox:/root]#

解决方案:修改透明代理设置 – 密码,在两侧加上引号。如图所示:

使用mjpg-streamer搭建网络摄像头

接入摄像头,查看是否已连接:

lsusb

如上图显示有”Camera”字样即表示连接成功。

安装依赖:

sudo apt update
sudo apt install cmake libjpeg8-dev imagemagick libv4l-dev

下载/编译:

git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make
sudo make install

启动:

sudo ./mjpg_streamer -i "input_uvc.so -y" -o "output_http.so -w www"

看到如下输出:

现在访问IP:8080即可看到摄像头实时画面:

在openwrt上安装php

1.安装

确保你已经配置好了opkg源。

安装php及其扩展:

opkg update
opkg install php5 php5-cgi php5-mod-mcrypt php5-mod-curl php5-mod-hash php5-mod-json

2.配置

编辑php.ini

vi /etc/php.ini

;extension = curl.so
;extension = hash.so
;extension = json.so

三项前面的;去掉以启用扩展

并将;date.timezone =修改为date.timezone = Asia/Shanghai

如果你没有设置过系统时区的话还需要设置系统时区。打开LUCI界面,进入系统 – 系统属性 – 基本设置中将时区改为Asia/Shanghai

最后你需要安装一个时区信息软件包,否则系统无法识别时区。

opkg install zoneinfo-asia

3.可能遇到的问题

1.can’t load library ‘libpcre.so.0’

当我按照上述步骤安装/配置完成后访问浏览器却得到了一个无情的502,运行/usr/bin/php-cgi得到下面的错误:

/usr/bin/php-cgi: can't load library 'libpcre.so.0'

搜索一番后得出以下解决方案:

ln -s /usr/lib/libpcre.so.1 /usr/lib/libpcre.so.0

2.No input file specified.

解决了502,再次访问浏览器却提示”No input file specified.”。继续搜索后得出下面的方案:

编辑php.ini,注释掉doc_root=”/www”这一行(在前面加上;

 

大功告成!现在访问浏览器一切正常。