VB.NET 下载文件及显示进程

简单的下载

1.创建 WebClient 类,再输入要下载的资源 url 地址还有本地保存路径即可。

1
2
Dim DownloadClient As New Net.WebClient() 
DownloadClient.DownloadFile(yoururladdress,yourfileaddress)

2.使用 DownloadFile 的方法下载文件,指定文件的下载地址和本地路径,和超时时间。

1
My.Computer.Network.DownloadFile(yoururladdress, yourfileaddress, False, 500)

具有进度提示的下载

以 VS2015 为编译环境,举例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Imports System.Net
Public Class Main

Dim DownloadClient As New WebClient

Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler DownloadClient.DownloadProgressChanged, AddressOf ShowDownProgress
AddHandler DownloadClient.DownloadDataCompleted, AddressOf DownloadDataCompleted
End Sub

Private Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button.Click
DownLoadFiles()
End Sub

Private Sub DownLoadFiles()
DownloadClient.DownloadFileAsync(New Uri(yourlink), (yoursaveaddress))
End Sub

Private Sub ShowDownProgress(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
Invoke(New Action(Of Integer)(Sub(i) ProgressBar.Value = i), e.ProgressPercentage)
End Sub

Sub DownloadDataCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
MessageBox.Show("下载成功!", "提示", MessageBoxButtons.OK)
End Sub
End Class

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

方案一:更改网页 META 标签

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

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

方案二:修改注册表

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

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

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

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

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

利用 iptables 或 UFW 禁止 BT 流量

本文最后更新于 2020 年 6 月 2 日


本文以 Debian 10 为例,介绍如何禁止 BT 流量转发,这里以 iptables 和 UFW 两种方式为例,请根据情况任选其中一种。本文同样适用于 Ubuntu。

注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy 用户为例,进行防火墙规则的操作,并默认已按初始化配置文章对服务器进行了配置。

注意: 本文采用的方法,和网络上大部分网友们讨论的方法,均不能完全保证禁止有效,尤其是对于加密流量来说,欲了解原因请查看此处


准备

安装 xtables-addons-common

1
sudo apt update && sudo apt install xtables-addons-common -y

查看是否安装成功:

1
iptables -m ipp2p --help

Read More

[OLD] 在树莓派上运行 ZeroNet

注意

本文的内容已经合并 / 失效 / 不再维护,或已不具有参考价值。


本文最后更新于 2019 年 3 月 22 日


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


安装

1
sudo apt update && sudo apt install python-msgpack python-gevent git -y
1
2
3
4
mkdir ~/Sites
cd ~/Sites
git clone https://github.com/HelloZeroNet/ZeroNet.git
cd ZeroNet

Read More

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

注意

本文的内容已经合并 / 失效 / 不再维护,或已不具有参考价值。


简介

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

总结说,ZeroNet 有几大特点:

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

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

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

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

Read More