.NET中WebBrowser内核版本解决方案

方案一:更改网页META标签

例如使用IE9内核的特性,则可以在网页<head>标签中加入<meta http-equiv="X-UA-Compatible" content="IE=9" >

注意:这个标签必须加在<head>中其他CSS和JavaScript链接之前,但可以与<title>和其他<meta>成任意位置。

方案二:修改注册表

例如使用IE9内核的特性,可在注册表添加两个键值。

HKEY_LOCAL_MACHINE (和 HKEY_CURRENT_USER) >SOFTWARE > Microsoft > Internet Explorer > Main > FeatureControl > FEATURE_BROWSER_EMULATION

新建 → DWORD(32-位)值 yourprogram.exe = 9999 (十进制)

其中,9999 (0x270F) IE9,无论是否声明!DOCTYPE指令,页面以IE9兼容模式打开。对于未正确声明!DOCTYPE指令的页面,将会以怪异模式(quirks mode)加载

更多mode值对照表,参考:Browser Emulation

英语笔记

修正之前版本的一些错误,并添加一些新的词汇。

  • hold 成立
  • quadratic 二次方
  • multiplication
  • designation 称作,指定
  • convention 惯例
  • denote 表示
  • respectively 分别,各自
  • manipulate 操作
  • quotient 商
  • algebraic 代数的
  • fraction 分数
  • polynomial 多项式的
  • crucial 至关重要的
  • order 阶

    Read More

利用iptables禁止BT流量

确保安装了iptables。

在终端输入:

iptables -A FORWARD -m string --string "BitTorrent" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "BitTorrent protocol" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "peer_id=" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string ".torrent" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "announce.php?passkey=" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "torrent" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "announce" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "info_hash" --algo bm --to 65535 -j DROP
iptables -A FORWARD -m string --string "get_peers" --algo bm -j DROP
iptables -A FORWARD -m string --string "announce_peer" --algo bm -j DROP
iptables -A FORWARD -m string --string "find_node" --algo bm -j DROP
iptables -A FORWARD -m string --algo bm --hex-string "|13426974546f7272656e742070726f746f636f6c|" -j DROP

原理:不封锁端口,而是阻止BT软件发出的特定请求,并结合BT软件的hex,定向kill request。

保存规则:

iptables-save > /root/iptables.rules

重新加载规则:

iptables-restore < /root/iptables.rules

设置自启动

vim /etc/network/if-pre-up.d/iptables

添加如下内容:

#!/bin/bash
/sbin/iptables-restore < /root/iptables.rules

保存后赋予执行权限:

chmod +x /etc/network/if-pre-up.d/iptables

在树莓派上运行ZeroNet

由于ZeroNet占用内存大小在可接受的范围内,所以在树莓派中运行,作为一个节点或者ZeroNet服务器,都是一个非常可行的方案。

安装

相当简单:

apt-get install python-dev python-pip
pip install gevent --upgrade
pip install msgpack-python --upgrade
wget https://github.com/HelloZeroNet/ZeroNet/archive/master.tar.gz
tar -xzvf master.tar.gz
cd ZeroNet-master
python zeronet.py

注意,启动Server的过程时间颇长,耐心等待。

作为一个ZeroNet服务器

指定监听ip。

python zeronet.py --ui_ip 0.0.0.0

然后你就可以在内网或者,外网路由开启端口转发,通过你的树莓派上网了。你只需要输入树莓派内网/外网ip:43110 ,事情就变得简单起来。

注意,如果在路由下,需要设置端口转发。

Read More

利用ZeroNet轻松免费搭建P2P全球网站

简介

打开ZeroNet官网,它所描述的内容真的是令人心动不已。ZeroNet是一个利用比特币加密和BT技术提供不受审查的网络与通信的BT平台,由匈牙利的开发者使用Python制作,完全开源。ZeroNet网络功能已经得到完整的种子的支持和加密连接,保证用户通信和文件共享的安全。使用ZeroNet,你可以匿名上网,你可以在自己电脑搭建网站,但即使你关机,你的网站依然在全球存在,别人无法关闭你的网站。网站由特殊的”ZeroNet URL”可以被使用一般的浏览器通过ZeroNet程序浏览,就像访问本地主机一样。ZeroNet默认并「不」匿名,但是用户可以通过内置的Tor功能进行匿名化。ZeroNet使用Bitcoin加密算法及BitTorrent网络。

总结说,ZeroNet有几大特点:

  1. 无需备案:你不需要通知任何人,就能建立网站(注意,你需要把网址告诉别人)。

  2. 无需审核:你的网站不会被干掉(注意,你可能被干掉)。

  3. 无需服务器:你不用为了维持你的网站而长期维持服务器(注意,你需要维持用户对你的关注度,因为网站利用P2P网络,就像你下片需要找一个热门的才有更多资源供你下载一样,你的网站用户越多,你网站的稳定性和速度越高)。

  4. 无视防火墙:你发布或获取信息时,他人更难阻止你(注意,但可以在肉体层面阻止你上网)。

Read More