 | Admin 发表于 2022-02-28 11:30:28 DOCKER“关闭”端口
安装docker,发现它能“绕过”防火墙。通过命令
iptables -nL DOCKER
能看到ip和端口的策略chain
iptables -t nat -nL DOCKER
可看到具体的nat信息
参见https://www.zhihu.com/question/64616650
很多时候我们并不想暴露端口(例如青龙面板,默认的端口就被扫了,由于没有加入验证码,可以被轻易暴力破解登录。),
那么该如何处理呢?
查看
https://docs.docker.com/network/iptables/
有一段
Prevent Docker from manipulating iptables
新增或修改 /etc/docker/daemon.json文件,设置
{
"iptables": true
}
重启docker,然后设置nginx反代,只使用域名访问,问题解决。
可是真的解决了吗?
当使用ss-libev镜像时,看到日志,会发现unable to resolve xx.com(hostname)
官方文档也提及了
"this option is not appropriate for most users"
最佳实线
新增或修改 /etc/docker/daemon.json文件,将之前的"iptables": true改为false,新增
{
"ip": "127.0.0.1"
}
重启docker服务,所有的容器没有指定ip时默认是监听本地的,外网就无法访问了,通过nginx反代才可访问。
而前提及的ss-libev等镜像仍需要端口访问,可以指定端口映射的时候加上ip 0.0.0.0即可。
docker面板portainer中设置如下
再次查看NAT情况
 |
 | Admin 发表于 2022-02-26 10:41:53 修改宝塔标识(企业版ltd、专业版pro)
编辑 /www/server/panel/data/plugin.json
搜索 "pro": 把后面的-1 改为0 即可
编辑完毕后保存重启面板即可 |
 | Admin 发表于 2021-09-10 18:08:56 安装完Nginx防火墙,cloudflare域名解析站点报错(520)?
这是因为宝塔的Nginx防火墙默认开启 【禁止海外访问】,解决办法1是关闭,2是添加IP白名单。
Cloudflare是有公布其Ip range的,https://www.cloudflare.com/zh-cn/ips/
复制所有的IPV4使用CIDR批量转换: https://www.ipconvertertools.com/cidr2ipranges
把结果一个个添加入白名单,或者直接复制如下内容导入
[["198.41.128.1","198.41.255.254"],["197.234.240.1","197.234.243.254"],["190.93.240.1","190.93.255.254"],["188.114.96.1","188.114.111.254"],["173.245.48.1","173.245.63.254"],["172.64.0.1","172.71.255.254"],["162.158.0.1","162.159.255.254"],["141.101.64.1","141.101.127.254"],["131.0.72.1","131.0.75.254"],["108.162.192.1","108.162.255.254"],["104.24.0.1","104.27.255.254"],["104.16.0.1","104.23.255.254"],["103.31.4.1","103.31.7.254"],["103.22.200.1","103.22.203.254"],["103.21.244.1","103.21.247.254"]]
其实更好的做法应该是勾选站点的CDN |
 | Admin 发表于 2021-09-10 17:57:58 宝塔面板解锁Nginx防火墙及网站监控报表
测试环境:Ubuntu / Debian / CentOS
测试时间:2021-08-10
宝塔版本:7.6.0
仅测试了Nginx防火墙及网站监控报表两款插件,其它收费插件未测试
其它系统及版本未进行测试,请自行验证,请勿在生产环境下进行测试!
注意:修改代码后需要重启面板服务才能使其生效,如果面板出现乱码重启服务器即可;
开始
打开目录/www/server/panel/class找到并编辑panelplugin.py文件
使用Ctrl+F搜索并找到softList['list'] = tmpList这段代码,在其下方添加如下代码:
softList['pro'] = 1
for soft in softList['list']:
soft['endtime'] = 0
示例:
修改完成后重启面板,重启完成后就可以直接安装收费的插件了,Nginx防火墙也可以直接安装使用
网站监控报表
如果需要使用网站监控报表还需另外修改一次代码:
安装好网站监控报表插件后打开/www/server/panel/plugin/total目录并编辑total_main.py文件
使用Ctrl+F搜索并找到if 'bt_total' in session: return public.returnMsg(True,'OK!');这段代码
在这段代码前加上#将其注释掉,并在其下方加入以下代码:
session['bt_total'] = True
return public.returnMsg(True,'OK!');
示例:
然后再次重启面板,即可使用网站监控报表插件了; |
 | Admin 发表于 2021-06-02 22:19:48 前面那个是用命令行操作的,当然还有利用工具方便搞定的,下载Fiddler,安装后打开,左上角WinConfig,勾选应用后,点击Save Changes生效即可 |
 | Admin 发表于 2021-06-02 22:15:24 使用代理后,UWP程序常连接不上网络。这是因为默认情况下,UWP 应用程序禁止使用具有环回地址(127.0.0.1)的代理,因此系统代理设置可能会导致您的 UWP 应用程序停止正常工作。
By default, UWP applications are prohibited from using a proxy with a loopback address (127.0.0.1), so the system proxy settings will probably cause your UWP applications cease to work normally.
https://qv2ray.net/getting-started/step4.html#using-system-proxy
去掉网络隔离
以管理员身份打开PowerShell
获取包名
(Get-AppxPackage).packagefamilyname | Select-String -Pattern "WeChat"
这里注意需要.packagefamilyname 否则获取到的添加了是无效的
添加环回免除的 AppContainer
CheckNetIsolation LoopbackExempt -a -n="这里是packagefamilyname"
移除把-a 改-d即可,add对应delete
列出结果,查看是否成功
CheckNetIsolation LoopbackExempt -s
成果展示
 |
 | Admin 发表于 2021-03-28 04:24:33 javascript实现蜂鸣器beep效果
a=new AudioContext() // browsers limit the number of concurrent audio contexts, so you better re-use'em
function beep(vol, freq, duration){
v=a.createOscillator()
u=a.createGain()
v.connect(u)
v.frequency.value=freq
v.type="square"
u.connect(a.destination)
u.gain.value=vol*0.01
v.start(a.currentTime)
v.stop(a.currentTime+duration*0.001)
}
调用:
beep(100, 520, 200)高频beep
beep(999, 220, 300)低频boop
beep(999, 210, 800); beep(999, 500, 800);长报警Cool noise
原文 |
 | Admin 发表于 2021-01-16 16:50:14 |
 | Admin 发表于 2020-09-28 18:49:11 PowerShell将当前目录添加到环境变量的Path中
$currentPath = (Get-Location).Path;
[Environment]::SetEnvironmentVariable("Path",[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";$currentPath",[EnvironmentVariableTarget]::Machine);
完整的脚本
$currentPath = (Get-Location).Path;
#执行的命令
$command = "[Environment]::SetEnvironmentVariable('Path',[Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) + ';$currentPath',[EnvironmentVariableTarget]::Machine);"
$fulArg = "-Command `"$command`"";
#以管理员权限开启PowerShell,并执行命令
Start-Process -FilePath "powershell" -Verb RunAs -ArgumentList $fulArg;
#等待命令完成
Start-Sleep -m 3000;
#获取当前环境变量的Path
$currentAllPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine);
#检测执行结果
if ($currentAllPath.IndexOf($currentPath,[System.StringComparison]::CurrentCultureIgnoreCase) >= 0) { echo "success"; }
else { echo "fail"; }
PAUSE
保存为 文件名.ps1,右键使用PowerShell运行即可 |
 | Admin 发表于 2020-09-18 04:47:05 PowerShell脚本建立VPN连接
$vpnName = "vpnname";
$serverAddress = "sg1.freevpn724.com";
$tunnelType = "Pptp";
$account = "freevpn724";
$password = "demo";
try
{
Set-VpnConnection -Name $vpnName -ServerAddress $serverAddress -TunnelType $tunnelType -AuthenticationMethod MsChapv2 -RememberCredential $True -EncryptionLevel Optional;
}
catch
{
Add-VpnConnection -Name $vpnName -ServerAddress $serverAddress -TunnelType $tunnelType -AuthenticationMethod MsChapv2 -RememberCredential -EncryptionLevel Optional;
}
$vpn = Get-VpnConnection -Name $vpnName;
if ($vpn.ConnectionStatus -eq "Connected"){
rasdial $vpnName /DISCONNECT;
}
$vpn = Get-VpnConnection -Name $vpnName;
if($vpn.ConnectionStatus -eq "Disconnected"){
rasdial $vpnName $account $password;
}
测试节点
参考资料:
https://docs.microsoft.com/zh-cn/powershell/module/vpnclient/?view=win10-ps
https://stackoverflow.com/questions/49194078/how-to-disconnect-vpn-in-windows-via-powershell |