Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: HelloZeroNet/ZeroNet
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: py3
Choose a base ref
...
head repository: ZeroNetX/ZeroNet
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: py3-latest
Choose a head ref

Commits on Nov 27, 2021

  1. Tor V3 Patch

    canewsin committed Nov 27, 2021
    Copy the full SHA
    eab7fc2 View commit details
  2. Copy the full SHA
    a1eb6ee View commit details

Commits on Nov 28, 2021

  1. Fix xrange is undefined error

    - xrange is undefined error in  Tor-v3 Patch Files
    canewsin committed Nov 28, 2021
    Copy the full SHA
    7acd8df View commit details
  2. v 0.7.3 (4556)

    canewsin committed Nov 28, 2021
    Copy the full SHA
    7d1ec41 View commit details
  3. v 0.7.5 (4560)

    canewsin committed Nov 28, 2021
    Copy the full SHA
    edd2760 View commit details

Commits on Dec 2, 2021

  1. Update Docker Image

    canewsin committed Dec 2, 2021
    Copy the full SHA
    7078bad View commit details

Commits on Jan 11, 2022

  1. v 0.7.6 (4565)

    - Sync Plugin Updates
    - Clean up tor v3 patch (#115)
        ZeroNetX#115
    - Add More Default Plugins to Repo
    - Doubled Site Publish Limits
    - Update ZeroNet Repo Urls (#103)
    - UI/UX: Increases Size of Notifications Close Button(#106)
    - Moved Plugins to Seperate Repo
    - Added `access_key` variable in Config, this used to access restrited plugins when multiuser plugin is enabled. When MultiUserPlugin is enabled we cannot access some pages like /Stats, this key will remove such restriction with access key.
    - Added `last_connection_id_current_version` to ConnectionServer, helpful to estimate no of connection from current client version.
    - Added current version:  connections to /Stats page. see the previous point.
    canewsin committed Jan 11, 2022
    Copy the full SHA
    5ee9288 View commit details

Commits on Mar 2, 2022

  1. v0.7.8 (4580)

     - Update Plugins with some bug fixes and Improvements
    canewsin committed Mar 2, 2022
    Copy the full SHA
    f498aed View commit details

Commits on Mar 6, 2022

  1. v 0.7.9-beta (4581)

    canewsin committed Mar 6, 2022
    Copy the full SHA
    69d7eac View commit details

Commits on Mar 12, 2022

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f8c9f2d View commit details
  2. Update Plugins Repo

    canewsin committed Mar 12, 2022
    Copy the full SHA
    eb397cf View commit details
  3. Fix Repo Url for Bug Report

    canewsin committed Mar 12, 2022
    Copy the full SHA
    7ce118d View commit details

Commits on Mar 26, 2022

  1. Tracker Supply improvemets

     - Removed Non Working Trakers.
     - Dynamically Load Trackers from Dashboard Site.
    canewsin committed Mar 26, 2022
    Copy the full SHA
    02ceb70 View commit details

Commits on Apr 8, 2022

  1. Rust Version Compatibility for update Protocol msg

     and diff patch
    canewsin committed Apr 8, 2022
    Copy the full SHA
    00db9c9 View commit details
  2. v 0.7.9(4585)

    - Tracker Supply Improvements.
    - First Party Tracker Update Service using Dashboard Site.
    canewsin committed Apr 8, 2022
    Copy the full SHA
    a519023 View commit details

Commits on May 18, 2022

  1. Create codeql-analysis.yml

    canewsin authored May 18, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b29884d View commit details

Commits on May 26, 2022

  1. Copy the full SHA
    f9d7ccd View commit details
  2. Update Plugins Repo

    canewsin committed May 26, 2022
    Copy the full SHA
    fe048cd View commit details
  3. Copy the full SHA
    2ad80af View commit details
  4. v 0.7.9-patch(4586)

    canewsin committed May 26, 2022
    Copy the full SHA
    ac70f83 View commit details
  5. v 0.8.0(4590)

    - Major Version Upgrade to reflect RCE reported by geekless.
    canewsin authored May 26, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b257338 View commit details

Commits on May 27, 2022

  1. Copy the full SHA
    c3815c5 View commit details
  2. rev4591

    canewsin committed May 27, 2022
    Copy the full SHA
    5579c6b View commit details

Commits on Jun 2, 2022

  1. Update FUNDING.yml

    canewsin authored Jun 2, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    712ee18 View commit details

Commits on Jun 9, 2022

  1. Console Log Updates, Specify min supported ZeroNet version for Rust v…

    …ersion Protocol Compatibility
    
    Reduce noise(error => warning) on file missing in sites.
    canewsin committed Jun 9, 2022
    Copy the full SHA
    016cfe9 View commit details

Commits on Jun 10, 2022

  1. Don't Fail Silently When Cert is Not Selected

    When Site doesn't have cert selected but has userdata, signing userdata fails silently without proper error message
    canewsin committed Jun 10, 2022
    Copy the full SHA
    3ac677c View commit details
  2. Copy the full SHA
    49e68c3 View commit details

Commits on Jun 13, 2022

  1. Update README-ru.md (#177)

    @BratishkaErik  Thanks for your contribution
    BratishkaErik authored Jun 13, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    0ed0b74 View commit details
  2. Remove Patreon badge

    canewsin authored Jun 13, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    611fc77 View commit details

Commits on Sep 15, 2022

  1. fix readdress loop

    use better escaping in render
    
    fixes #19
    caryoscelus authored and canewsin committed Sep 15, 2022
    Copy the full SHA
    86109ae View commit details

Commits on Sep 30, 2022

  1. Update CHANGELOG.md

    canewsin authored Sep 30, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    966f671 View commit details
  2. v0.8.0(4600)

    canewsin authored Sep 30, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    fd85798 View commit details

Commits on Oct 4, 2022

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ac72d62 View commit details
  2. v 0.8.1-patch(4601)

    canewsin authored Oct 4, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ba96654 View commit details

Commits on Oct 8, 2022

  1. Copy the full SHA
    d570354 View commit details

Commits on Nov 1, 2022

  1. Copy the full SHA
    b7870ed View commit details
  2. Copy the full SHA
    459b0a7 View commit details
  3. Copy the full SHA
    ad95eed View commit details
  4. v0.8.2(4610)

    canewsin committed Nov 1, 2022
    Copy the full SHA
    0731787 View commit details

Commits on Dec 10, 2022

  1. Copy the full SHA
    f79a73c View commit details
  2. Copy the full SHA
    f1a7177 View commit details
  3. Copy the full SHA
    1500d93 View commit details
  4. Copy the full SHA
    85ef28e View commit details
  5. v0.8.3(4611)

    canewsin committed Dec 10, 2022
    Copy the full SHA
    3550a64 View commit details
  6. Copy the full SHA
    99a8409 View commit details
  7. v0.8.4(4620)

    canewsin committed Dec 10, 2022
    Copy the full SHA
    edc5310 View commit details

Commits on Dec 24, 2022

  1. Update Stats Plugin

    canewsin committed Dec 24, 2022
    Copy the full SHA
    77b4297 View commit details
  2. Use default theme-class for corrupt users.json file

    where settings key is missing etc
    Fixes Ui.UiServer Error 500: UiWSGIHandler error
    canewsin committed Dec 24, 2022
    Copy the full SHA
    c354f9e View commit details

Commits on Feb 10, 2023

  1. Fix openssl error in windows.

    SetoKaiba authored and canewsin committed Feb 10, 2023
    Copy the full SHA
    06a9d1e View commit details

Commits on Feb 11, 2023

  1. v0.8.5(4625)

    canewsin committed Feb 11, 2023
    Copy the full SHA
    dd2bb07 View commit details
Showing 369 changed files with 1,673 additions and 74,752 deletions.
11 changes: 10 additions & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
custom: https://zeronet.io/docs/help_zeronet/donate/
github: canewsin
patreon: # Replace with a single Patreon username e.g., user1
open_collective: # Replace with a single Open Collective username e.g., user1
ko_fi: canewsin
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: canewsin
issuehunt: # Replace with a single IssueHunt username e.g., user1
otechie: # Replace with a single Otechie username e.g., user1
custom: ['https://paypal.me/PramUkesh', 'https://zerolink.ml/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/help_zeronet/donate/']
52 changes: 52 additions & 0 deletions .github/workflows-disabled/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: tests

on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-22.04
strategy:
max-parallel: 16
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- name: Checkout ZeroNet
uses: actions/checkout@v2
with:
submodules: "true"

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}

- name: Prepare for installation
run: |
sudo apt-get install glibc-tools
python3 -m pip install setuptools
python3 -m pip install --upgrade pip wheel
python3 -m pip install --upgrade codecov coveralls flake8 mock pytest pytest-cov selenium
- name: Install
run: |
python3 -m pip install --upgrade -r requirements.txt
python3 -m pip list
- name: Prepare for tests
run: |
openssl version -a
echo 0 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6
- name: Test
run: |
catchsegv python3 -m pytest src/Test --cov=src --cov-config src/Test/coverage.ini
export ZERONET_LOG_DIR="log/CryptMessage"; catchsegv python3 -m pytest -x plugins/CryptMessage/Test
export ZERONET_LOG_DIR="log/Bigfile"; catchsegv python3 -m pytest -x plugins/Bigfile/Test
export ZERONET_LOG_DIR="log/AnnounceLocal"; catchsegv python3 -m pytest -x plugins/AnnounceLocal/Test
export ZERONET_LOG_DIR="log/OptionalManager"; catchsegv python3 -m pytest -x plugins/OptionalManager/Test
export ZERONET_LOG_DIR="log/Multiuser"; mv plugins/disabled-Multiuser plugins/Multiuser && catchsegv python -m pytest -x plugins/Multiuser/Test
export ZERONET_LOG_DIR="log/Bootstrapper"; mv plugins/disabled-Bootstrapper plugins/Bootstrapper && catchsegv python -m pytest -x plugins/Bootstrapper/Test
find src -name "*.json" | xargs -n 1 python3 -c "import json, sys; print(sys.argv[1], end=' '); json.load(open(sys.argv[1])); print('[OK]')"
find plugins -name "*.json" | xargs -n 1 python3 -c "import json, sys; print(sys.argv[1], end=' '); json.load(open(sys.argv[1])); print('[OK]')"
flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics --exclude=src/lib/pyaes/
72 changes: 72 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ py3-latest ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ py3-latest ]
schedule:
- cron: '32 19 * * 2'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'javascript', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
49 changes: 0 additions & 49 deletions .github/workflows/tests.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "plugins"]
path = plugins
url = https://github.com/ZeroNetX/ZeroNet-Plugins.git
83 changes: 81 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,84 @@
### ZeroNet 0.7.2 (2020-09-?) Rev4206?

### ZeroNet 0.9.0 (2023-07-12) Rev4630
- Fix RDos Issue in Plugins https://github.com/ZeroNetX/ZeroNet-Plugins/pull/9
- Add trackers to Config.py for failsafety incase missing trackers.txt
- Added Proxy links
- Fix pysha3 dep installation issue
- FileRequest -> Remove Unnecessary check, Fix error wording
- Fix Response when site is missing for `actionAs`


### ZeroNet 0.8.5 (2023-02-12) Rev4625
- Fix(https://github.com/ZeroNetX/ZeroNet/pull/202) for SSL cert gen failed on Windows.
- default theme-class for missing value in `users.json`.
- Fetch Stats Plugin changes.

### ZeroNet 0.8.4 (2022-12-12) Rev4620
- Increase Minimum Site size to 25MB.

### ZeroNet 0.8.3 (2022-12-11) Rev4611
- main.py -> Fix accessing unassigned varible
- ContentManager -> Support for multiSig
- SiteStrorage.py -> Fix accessing unassigned varible
- ContentManager.py Improve Logging of Valid Signers

### ZeroNet 0.8.2 (2022-11-01) Rev4610
- Fix Startup Error when plugins dir missing
- Move trackers to seperate file & Add more trackers
- Config:: Skip loading missing tracker files
- Added documentation for getRandomPort fn

### ZeroNet 0.8.1 (2022-10-01) Rev4600
- fix readdress loop (cherry-pick previously added commit from conservancy)
- Remove Patreon badge
- Update README-ru.md (#177)
- Include inner_path of failed request for signing in error msg and response
- Don't Fail Silently When Cert is Not Selected
- Console Log Updates, Specify min supported ZeroNet version for Rust version Protocol Compatibility
- Update FUNDING.yml

### ZeroNet 0.8.0 (2022-05-27) Rev4591
- Revert File Open to catch File Access Errors.

### ZeroNet 0.7.9-patch (2022-05-26) Rev4586
- Use xescape(s) from zeronet-conservancy
- actionUpdate response Optimisation
- Fetch Plugins Repo Updates
- Fix Unhandled File Access Errors
- Create codeql-analysis.yml

### ZeroNet 0.7.9 (2022-05-26) Rev4585
- Rust Version Compatibility for update Protocol msg
- Removed Non Working Trakers.
- Dynamically Load Trackers from Dashboard Site.
- Tracker Supply Improvements.
- Fix Repo Url for Bug Report
- First Party Tracker Update Service using Dashboard Site.
- remove old v2 onion service [#158](https://github.com/ZeroNetX/ZeroNet/pull/158)

### ZeroNet 0.7.8 (2022-03-02) Rev4580
- Update Plugins with some bug fixes and Improvements

### ZeroNet 0.7.6 (2022-01-12) Rev4565
- Sync Plugin Updates
- Clean up tor v3 patch [#115](https://github.com/ZeroNetX/ZeroNet/pull/115)
- Add More Default Plugins to Repo
- Doubled Site Publish Limits
- Update ZeroNet Repo Urls [#103](https://github.com/ZeroNetX/ZeroNet/pull/103)
- UI/UX: Increases Size of Notifications Close Button [#106](https://github.com/ZeroNetX/ZeroNet/pull/106)
- Moved Plugins to Seperate Repo
- Added `access_key` variable in Config, this used to access restrited plugins when multiuser plugin is enabled. When MultiUserPlugin is enabled we cannot access some pages like /Stats, this key will remove such restriction with access key.
- Added `last_connection_id_current_version` to ConnectionServer, helpful to estimate no of connection from current client version.
- Added current version: connections to /Stats page. see the previous point.

### ZeroNet 0.7.5 (2021-11-28) Rev4560
- Add more default trackers
- Change default homepage address to `1HELLoE3sFD9569CLCbHEAVqvqV7U2Ri9d`
- Change default update site address to `1Update8crprmciJHwp2WXqkx2c4iYp18`

### ZeroNet 0.7.3 (2021-11-28) Rev4555
- Fix xrange is undefined error
- Fix Incorrect viewport on mobile while loading
- Tor-V3 Patch by anonymoose


### ZeroNet 0.7.1 (2019-07-01) Rev4206
12 changes: 6 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
FROM alpine:3.11
FROM alpine:3.15

#Base settings
ENV HOME /root

COPY requirements.txt /root/requirements.txt

#Install ZeroNet
RUN apk --update --no-cache --no-progress add python3 python3-dev gcc libffi-dev musl-dev make tor openssl \
RUN apk --update --no-cache --no-progress add python3 python3-dev py3-pip gcc g++ autoconf automake libtool libffi-dev musl-dev make tor openssl \
&& pip3 install -r /root/requirements.txt \
&& apk del python3-dev gcc libffi-dev musl-dev make \
&& apk del python3-dev gcc g++ autoconf automake libtool libffi-dev musl-dev make \
&& echo "ControlPort 9051" >> /etc/tor/torrc \
&& echo "CookieAuthentication 1" >> /etc/tor/torrc

@@ -22,12 +22,12 @@ COPY . /root
VOLUME /root/data

#Control if Tor proxy is started
ENV ENABLE_TOR false
ENV ENABLE_TOR true

WORKDIR /root

#Set upstart command
CMD (! ${ENABLE_TOR} || tor&) && python3 zeronet.py --ui_ip 0.0.0.0 --fileserver_port 26552
CMD (! ${ENABLE_TOR} || tor&) && python3 zeronet.py --ui_ip 0.0.0.0 --fileserver_port 26117

#Expose ports
EXPOSE 43110 26552
EXPOSE 43110 26117
250 changes: 86 additions & 164 deletions README-ru.md

Large diffs are not rendered by default.

67 changes: 38 additions & 29 deletions README-zh-cn.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# ZeroNet [![Build Status](https://travis-ci.org/HelloZeroNet/ZeroNet.svg?branch=py3)](https://travis-ci.org/HelloZeroNet/ZeroNet) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://zeronet.io/docs/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://zeronet.io/docs/help_zeronet/donate/)
# ZeroNet [![tests](https://github.com/ZeroNetX/ZeroNet/actions/workflows/tests.yml/badge.svg)](https://github.com/ZeroNetX/ZeroNet/actions/workflows/tests.yml) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/help_zeronet/donate/) [![Docker Pulls](https://img.shields.io/docker/pulls/canewsin/zeronet)](https://hub.docker.com/r/canewsin/zeronet)

[English](./README.md)

使用 Bitcoin 加密和 BitTorrent 网络的去中心化网络 - https://zeronet.io
使用 Bitcoin 加密和 BitTorrent 网络的去中心化网络 - https://zeronet.dev


## 为什么?
@@ -33,91 +33,100 @@

* 在运行 `zeronet.py` 后,您将可以通过
`http://127.0.0.1:43110/{zeronet_address}`(例如:
`http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D`)访问 zeronet 中的站点
`http://127.0.0.1:43110/1HELLoE3sFD9569CLCbHEAVqvqV7U2Ri9d`)访问 zeronet 中的站点
* 在您浏览 zeronet 站点时,客户端会尝试通过 BitTorrent 网络来寻找可用的节点,从而下载需要的文件(html,css,js...)
* 您将会储存每一个浏览过的站点
* 每个站点都包含一个名为 `content.json` 的文件,它储存了其他所有文件的 sha512 散列值以及一个通过站点私钥生成的签名
* 如果站点的所有者(拥有站点地址的私钥)修改了站点,并且他 / 她签名了新的 `content.json` 然后推送至其他节点,
那么这些节点将会在使用签名验证 `content.json` 的真实性后,下载修改后的文件并将新内容推送至另外的节点

#### [关于 ZeroNet 加密,站点更新,多用户站点的幻灯片 »](https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub?start=false&loop=false&delayms=3000)
#### [常见问题 »](https://zeronet.io/docs/faq/)
#### [常见问题 »](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/faq/)

#### [ZeroNet 开发者文档 »](https://zeronet.io/docs/site_development/getting_started/)
#### [ZeroNet 开发者文档 »](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/site_development/getting_started/)


## 屏幕截图

![Screenshot](https://i.imgur.com/H60OAHY.png)
![ZeroTalk](https://zeronet.io/docs/img/zerotalk.png)

#### [ZeroNet 文档中的更多屏幕截图 »](https://zeronet.io/docs/using_zeronet/sample_sites/)
#### [ZeroNet 文档中的更多屏幕截图 »](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/using_zeronet/sample_sites/)


## 如何加入

### Windows

- 下载 [ZeroNet-py3-win64.zip](https://github.com/HelloZeroNet/ZeroNet-win/archive/dist-win64/ZeroNet-py3-win64.zip) (18MB)
- 下载 [ZeroNet-win.zip](https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-win.zip) (26MB)
- 在任意位置解压缩
- 运行 `ZeroNet.exe`

### macOS

- 下载 [ZeroNet-dist-mac.zip](https://github.com/HelloZeroNet/ZeroNet-dist/archive/mac/ZeroNet-dist-mac.zip) (13.2MB)
- 下载 [ZeroNet-mac.zip](https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-mac.zip) (14MB)
- 在任意位置解压缩
- 运行 `ZeroNet.app`

### Linux (x86-64bit)

- `wget https://github.com/HelloZeroNet/ZeroNet-linux/archive/dist-linux64/ZeroNet-py3-linux64.tar.gz`
- `tar xvpfz ZeroNet-py3-linux64.tar.gz`
- `cd ZeroNet-linux-dist-linux64/`
- `wget https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-linux.zip`
- `unzip ZeroNet-linux.zip`
- `cd ZeroNet-linux`
- 使用以下命令启动 `./ZeroNet.sh`
- 在浏览器打开 http://127.0.0.1:43110/ 即可访问 ZeroHello 页面

__提示:__ 若要允许在 Web 界面上的远程连接,使用以下命令启动 `./ZeroNet.sh --ui_ip '*' --ui_restrict your.ip.address`

### 从源代码安装

- `wget https://github.com/HelloZeroNet/ZeroNet/archive/py3/ZeroNet-py3.tar.gz`
- `tar xvpfz ZeroNet-py3.tar.gz`
- `cd ZeroNet-py3`
- `wget https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-src.zip`
- `unzip ZeroNet-src.zip`
- `cd ZeroNet`
- `sudo apt-get update`
- `sudo apt-get install python3-pip`
- `sudo python3 -m pip install -r requirements.txt`
- 使用以下命令启动 `python3 zeronet.py`
- 在浏览器打开 http://127.0.0.1:43110/ 即可访问 ZeroHello 页面

### Android (arm, arm64, x86)
- minimum Android version supported 21 (Android 5.0 Lollipop)
- [<img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
alt="Download from Google Play"
height="80">](https://play.google.com/store/apps/details?id=in.canews.zeronetmobile)
- APK download: https://github.com/canewsin/zeronet_mobile/releases

### Android (arm, arm64, x86) Thin Client for Preview Only (Size 1MB)
- minimum Android version supported 16 (JellyBean)
- [<img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
alt="Download from Google Play"
height="80">](https://play.google.com/store/apps/details?id=dev.zeronetx.app.lite)

## 现有限制

* ~~没有类似于 torrent 的文件拆分来支持大文件~~ (已添加大文件支持)
* ~~没有比 BitTorrent 更好的匿名性~~ (已添加内置的完整 Tor 支持)
* 传输文件时没有压缩~~和加密~~ (已添加 TLS 支持)
* 传输文件时没有压缩
* 不支持私有站点


## 如何创建一个 ZeroNet 站点?

* 点击 [ZeroHello](http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D) 站点的 **** > **「新建空站点」** 菜单项
* 点击 [ZeroHello](http://127.0.0.1:43110/1HELLoE3sFD9569CLCbHEAVqvqV7U2Ri9d) 站点的 **** > **「新建空站点」** 菜单项
* 您将被**重定向**到一个全新的站点,该站点只能由您修改
* 您可以在 **data/[您的站点地址]** 目录中找到并修改网站的内容
* 修改后打开您的网站,将右上角的「0」按钮拖到左侧,然后点击底部的**签名****发布**按钮

接下来的步骤:[ZeroNet 开发者文档](https://zeronet.io/docs/site_development/getting_started/)
接下来的步骤:[ZeroNet 开发者文档](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/site_development/getting_started/)

## 帮助这个项目
- Bitcoin: 1ZeroNetyV5mKY9JF1gsm82TuBXHpfdLX (Preferred)
- LiberaPay: https://liberapay.com/PramUkesh
- Paypal: https://paypal.me/PramUkesh
- Others: [Donate](!https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/help_zeronet/donate/#help-to-keep-zeronet-development-alive)

- Bitcoin: 1QDhxQ6PraUZa21ET5fYUCPgdrwBomnFgX
- Paypal: https://zeronet.io/docs/help_zeronet/donate/

### 赞助商

* [BrowserStack.com](https://www.browserstack.com) 使更好的 macOS/Safari 兼容性成为可能

#### 感谢您!

* 更多信息,帮助,变更记录和 zeronet 站点:https://www.reddit.com/r/zeronet/
* 前往 [#zeronet @ FreeNode](https://kiwiirc.com/client/irc.freenode.net/zeronet)[gitter](https://gitter.im/HelloZeroNet/ZeroNet) 和我们聊天
* [这里](https://gitter.im/ZeroNet-zh/Lobby)是一个 gitter 上的中文聊天室
* Email: hello@zeronet.io (PGP: [960F FF2D 6C14 5AA6 13E8 491B 5B63 BAE6 CB96 13AE](https://zeronet.io/files/tamas@zeronet.io_pub.asc))
* 更多信息,帮助,变更记录和 zeronet 站点:https://www.reddit.com/r/zeronetx/
* 前往 [#zeronet @ FreeNode](https://kiwiirc.com/client/irc.freenode.net/zeronet)[gitter](https://gitter.im/canewsin/ZeroNet) 和我们聊天
* [这里](https://gitter.im/canewsin/ZeroNet)是一个 gitter 上的中文聊天室
* Email: canews.in@gmail.com
104 changes: 66 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ZeroNet [![Build Status](https://travis-ci.org/HelloZeroNet/ZeroNet.svg?branch=py3)](https://travis-ci.org/HelloZeroNet/ZeroNet) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://zeronet.io/docs/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://zeronet.io/docs/help_zeronet/donate/) ![tests](https://github.com/HelloZeroNet/ZeroNet/workflows/tests/badge.svg) [![Docker Pulls](https://img.shields.io/docker/pulls/nofish/zeronet)](https://hub.docker.com/r/nofish/zeronet)

Decentralized websites using Bitcoin crypto and the BitTorrent network - https://zeronet.io / [onion](http://zeronet34m3r5ngdu54uj57dcafpgdjhxsgq5kla5con4qvcmfzpvhad.onion)
# ZeroNet [![tests](https://github.com/ZeroNetX/ZeroNet/actions/workflows/tests.yml/badge.svg)](https://github.com/ZeroNetX/ZeroNet/actions/workflows/tests.yml) [![Documentation](https://img.shields.io/badge/docs-faq-brightgreen.svg)](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/faq/) [![Help](https://img.shields.io/badge/keep_this_project_alive-donate-yellow.svg)](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/help_zeronet/donate/) [![Docker Pulls](https://img.shields.io/docker/pulls/canewsin/zeronet)](https://hub.docker.com/r/canewsin/zeronet)
<!--TODO: Update Onion Site -->
Decentralized websites using Bitcoin crypto and the BitTorrent network - https://zeronet.dev / [ZeroNet Site](http://127.0.0.1:43110/1ZeroNetyV5mKY9JF1gsm82TuBXHpfdLX/), Unlike Bitcoin, ZeroNet Doesn't need a blockchain to run, But uses cryptography used by BTC, to ensure data integrity and validation.


## Why?
@@ -22,7 +22,9 @@ Decentralized websites using Bitcoin crypto and the BitTorrent network - https:/
* Password-less [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)
based authorization: Your account is protected by the same cryptography as your Bitcoin wallet
* Built-in SQL server with P2P data synchronization: Allows easier site development and faster page load times
* Anonymity: Full Tor network support with .onion hidden services instead of IPv4 addresses
* Anonymity:
* Full Tor network support with .onion hidden services instead of IPv4 addresses
* Full I2P network support with I2P Destinations instead of IPv4 addresses
* TLS encrypted connections
* Automatic uPnP port opening
* Plugin for multiuser (openproxy) support
@@ -33,105 +35,131 @@ Decentralized websites using Bitcoin crypto and the BitTorrent network - https:/

* After starting `zeronet.py` you will be able to visit zeronet sites using
`http://127.0.0.1:43110/{zeronet_address}` (eg.
`http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D`).
`http://127.0.0.1:43110/1HELLoE3sFD9569CLCbHEAVqvqV7U2Ri9d`).
* When you visit a new zeronet site, it tries to find peers using the BitTorrent
network so it can download the site files (html, css, js...) from them.
* Each visited site is also served by you.
* Every site contains a `content.json` file which holds all other files in a sha512 hash
and a signature generated using the site's private key.
* If the site owner (who has the private key for the site address) modifies the
site, then he/she signs the new `content.json` and publishes it to the peers.
site and signs the new `content.json` and publishes it to the peers.
Afterwards, the peers verify the `content.json` integrity (using the
signature), they download the modified files and publish the new content to
other peers.

#### [Slideshow about ZeroNet cryptography, site updates, multi-user sites »](https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub?start=false&loop=false&delayms=3000)
#### [Frequently asked questions »](https://zeronet.io/docs/faq/)
#### [Frequently asked questions »](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/faq/)

#### [ZeroNet Developer Documentation »](https://zeronet.io/docs/site_development/getting_started/)
#### [ZeroNet Developer Documentation »](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/site_development/getting_started/)


## Screenshots

![Screenshot](https://i.imgur.com/H60OAHY.png)
![ZeroTalk](https://zeronet.io/docs/img/zerotalk.png)

#### [More screenshots in ZeroNet docs »](https://zeronet.io/docs/using_zeronet/sample_sites/)
#### [More screenshots in ZeroNet docs »](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/using_zeronet/sample_sites/)


## How to join

### Windows

- Download [ZeroNet-py3-win64.zip](https://github.com/HelloZeroNet/ZeroNet-win/archive/dist-win64/ZeroNet-py3-win64.zip) (18MB)
- Download [ZeroNet-win.zip](https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-win.zip) (26MB)
- Unpack anywhere
- Run `ZeroNet.exe`

### macOS

- Download [ZeroNet-dist-mac.zip](https://github.com/HelloZeroNet/ZeroNet-dist/archive/mac/ZeroNet-dist-mac.zip) (13.2MB)
- Download [ZeroNet-mac.zip](https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-mac.zip) (14MB)
- Unpack anywhere
- Run `ZeroNet.app`

### Linux (x86-64bit)
- `wget https://github.com/HelloZeroNet/ZeroNet-linux/archive/dist-linux64/ZeroNet-py3-linux64.tar.gz`
- `tar xvpfz ZeroNet-py3-linux64.tar.gz`
- `cd ZeroNet-linux-dist-linux64/`
- `wget https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-linux.zip`
- `unzip ZeroNet-linux.zip`
- `cd ZeroNet-linux`
- Start with: `./ZeroNet.sh`
- Open the ZeroHello landing page in your browser by navigating to: http://127.0.0.1:43110/

__Tip:__ Start with `./ZeroNet.sh --ui_ip '*' --ui_restrict your.ip.address` to allow remote connections on the web interface.

### Android (arm, arm64, x86)
- minimum Android version supported 16 (JellyBean)
- minimum Android version supported 21 (Android 5.0 Lollipop)
- [<img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
alt="Download from Google Play"
height="80">](https://play.google.com/store/apps/details?id=in.canews.zeronetmobile)
- APK download: https://github.com/canewsin/zeronet_mobile/releases
- XDA Labs: https://labs.xda-developers.com/store/app/in.canews.zeronet


### Android (arm, arm64, x86) Thin Client for Preview Only (Size 1MB)
- minimum Android version supported 16 (JellyBean)
- [<img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
alt="Download from Google Play"
height="80">](https://play.google.com/store/apps/details?id=dev.zeronetx.app.lite)


#### Docker
There is an official image, built from source at: https://hub.docker.com/r/nofish/zeronet/
There is an official image, built from source at: https://hub.docker.com/r/canewsin/zeronet/

### Install from source
### Online Proxies
Proxies are like seed boxes for sites(i.e ZNX runs on a cloud vps), you can try zeronet experience from proxies. Add your proxy below if you have one.

<!--
#### Official ZNX Proxy :
- `wget https://github.com/HelloZeroNet/ZeroNet/archive/py3/ZeroNet-py3.tar.gz`
- `tar xvpfz ZeroNet-py3.tar.gz`
- `cd ZeroNet-py3`
https://proxy.zeronet.dev/
https://zeronet.dev/
-->

#### From Community

https://0net-preview.com/
<!--
https://portal.ngnoid.tv/
https://zeronet.ipfsscan.io/
-->

### Install from source
- `wget https://github.com/ZeroNetX/ZeroNet/releases/latest/download/ZeroNet-src.zip`
- `sudo apt install unzip && unzip ZeroNet-src.zip`
- `cd ZeroNet`
- `sudo apt-get update`
- `sudo apt-get install python3-pip`
- `sudo python3 -m pip install -r requirements.txt`
- > Above command should output "Successfully installed {Package Names Here...}" without any errors, Incase of any errors try this command for required dependencies
>
> `sudo apt install git autoconf pkg-config libffi-dev python3-pip python3-venv python3-dev build-essential libtool`
>
> and rerun `sudo python3 -m pip install -r requirements.txt`
- Start with: `python3 zeronet.py`
- Open the ZeroHello landing page in your browser by navigating to: http://127.0.0.1:43110/


## Current limitations

* ~~No torrent-like file splitting for big file support~~ (big file support added)
* ~~No more anonymous than Bittorrent~~ (built-in full Tor support added)
* File transactions are not compressed ~~or encrypted yet~~ (TLS encryption added)
* File transactions are not compressed
* No private sites

* ~~No more anonymous than Bittorrent~~ (built-in full Tor and I2P support added)

## How can I create a ZeroNet site?

* Click on **** > **"Create new, empty site"** menu item on the site [ZeroHello](http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D).
* Click on **** > **"Create new, empty site"** menu item on the site [ZeroHello](http://127.0.0.1:43110/1HELLoE3sFD9569CLCbHEAVqvqV7U2Ri9d).
* You will be **redirected** to a completely new site that is only modifiable by you!
* You can find and modify your site's content in **data/[yoursiteaddress]** directory
* After the modifications open your site, drag the topright "0" button to left, then press **sign** and **publish** buttons on the bottom

Next steps: [ZeroNet Developer Documentation](https://zeronet.io/docs/site_development/getting_started/)
Next steps: [ZeroNet Developer Documentation](https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/site_development/getting_started/)

## Help keep this project alive

- Bitcoin: 1QDhxQ6PraUZa21ET5fYUCPgdrwBomnFgX
- Paypal: https://zeronet.io/docs/help_zeronet/donate/

### Sponsors

* Better macOS/Safari compatibility made possible by [BrowserStack.com](https://www.browserstack.com)
- Bitcoin: 1ZeroNetyV5mKY9JF1gsm82TuBXHpfdLX (Preferred)
- LiberaPay: https://liberapay.com/PramUkesh
- Paypal: https://paypal.me/PramUkesh
- Others: [Donate](!https://docs.zeronet.dev/1DeveLopDZL1cHfKi8UXHh2UBEhzH6HhMp/help_zeronet/donate/#help-to-keep-zeronet-development-alive)

#### Thank you!

* More info, help, changelog, zeronet sites: https://www.reddit.com/r/zeronet/
* Come, chat with us: [#zeronet @ FreeNode](https://kiwiirc.com/client/irc.freenode.net/zeronet) or on [gitter](https://gitter.im/HelloZeroNet/ZeroNet)
* Email: hello@zeronet.io (PGP: [960F FF2D 6C14 5AA6 13E8 491B 5B63 BAE6 CB96 13AE](https://zeronet.io/files/tamas@zeronet.io_pub.asc))
* More info, help, changelog, zeronet sites: https://www.reddit.com/r/zeronetx/
* Come, chat with us: [#zeronet @ FreeNode](https://kiwiirc.com/client/irc.freenode.net/zeronet) or on [gitter](https://gitter.im/canewsin/ZeroNet)
* Email: canews.in@gmail.com
2 changes: 1 addition & 1 deletion Vagrantfile
Original file line number Diff line number Diff line change
@@ -40,6 +40,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provision "shell",
inline: "sudo apt-get install msgpack-python python-gevent python-pip python-dev -y"
config.vm.provision "shell",
inline: "sudo pip install msgpack --upgrade"
inline: "sudo pip install -r requirements.txt --upgrade"

end
1 change: 1 addition & 0 deletions plugins
Submodule plugins added at 689d93
148 changes: 0 additions & 148 deletions plugins/AnnounceBitTorrent/AnnounceBitTorrentPlugin.py

This file was deleted.

1 change: 0 additions & 1 deletion plugins/AnnounceBitTorrent/__init__.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/AnnounceBitTorrent/plugin_info.json

This file was deleted.

147 changes: 0 additions & 147 deletions plugins/AnnounceLocal/AnnounceLocalPlugin.py

This file was deleted.

139 changes: 0 additions & 139 deletions plugins/AnnounceLocal/BroadcastServer.py

This file was deleted.

113 changes: 0 additions & 113 deletions plugins/AnnounceLocal/Test/TestAnnounce.py

This file was deleted.

4 changes: 0 additions & 4 deletions plugins/AnnounceLocal/Test/conftest.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/AnnounceLocal/Test/pytest.ini

This file was deleted.

1 change: 0 additions & 1 deletion plugins/AnnounceLocal/__init__.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/AnnounceLocal/plugin_info.json

This file was deleted.

190 changes: 0 additions & 190 deletions plugins/AnnounceShare/AnnounceSharePlugin.py

This file was deleted.

24 changes: 0 additions & 24 deletions plugins/AnnounceShare/Test/TestAnnounceShare.py

This file was deleted.

3 changes: 0 additions & 3 deletions plugins/AnnounceShare/Test/conftest.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/AnnounceShare/Test/pytest.ini

This file was deleted.

1 change: 0 additions & 1 deletion plugins/AnnounceShare/__init__.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/AnnounceShare/plugin_info.json

This file was deleted.

140 changes: 0 additions & 140 deletions plugins/AnnounceZero/AnnounceZeroPlugin.py

This file was deleted.

1 change: 0 additions & 1 deletion plugins/AnnounceZero/__init__.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/AnnounceZero/plugin_info.json

This file was deleted.

143 changes: 0 additions & 143 deletions plugins/Benchmark/BenchmarkDb.py

This file was deleted.

183 changes: 0 additions & 183 deletions plugins/Benchmark/BenchmarkPack.py

This file was deleted.

428 changes: 0 additions & 428 deletions plugins/Benchmark/BenchmarkPlugin.py

This file was deleted.

3 changes: 0 additions & 3 deletions plugins/Benchmark/__init__.py

This file was deleted.

123 changes: 0 additions & 123 deletions plugins/Benchmark/media/benchmark.html

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/Benchmark/plugin_info.json

This file was deleted.

170 changes: 0 additions & 170 deletions plugins/Bigfile/BigfilePiecefield.py

This file was deleted.

843 changes: 0 additions & 843 deletions plugins/Bigfile/BigfilePlugin.py

This file was deleted.

574 changes: 0 additions & 574 deletions plugins/Bigfile/Test/TestBigfile.py

This file was deleted.

1 change: 0 additions & 1 deletion plugins/Bigfile/Test/conftest.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/Bigfile/Test/pytest.ini

This file was deleted.

2 changes: 0 additions & 2 deletions plugins/Bigfile/__init__.py

This file was deleted.

181 changes: 0 additions & 181 deletions plugins/Chart/ChartCollector.py

This file was deleted.

133 changes: 0 additions & 133 deletions plugins/Chart/ChartDb.py

This file was deleted.

57 changes: 0 additions & 57 deletions plugins/Chart/ChartPlugin.py

This file was deleted.

1 change: 0 additions & 1 deletion plugins/Chart/__init__.py

This file was deleted.

5 changes: 0 additions & 5 deletions plugins/Chart/plugin_info.json

This file was deleted.

Loading