Code Monkey home page Code Monkey logo

zeronet-conservancy / zeronet-conservancy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hellozeronet/zeronet

222.0 222.0 26.0 14.54 MB

zeronet-conservancy is a client for decentralized p2p web 0net, focusing on preserving 0net and transition to riza network

License: Other

Python 39.20% JavaScript 55.91% CSS 4.22% HTML 0.59% Dockerfile 0.06% Shell 0.02%
anti-censorship decentralized p2p p2p-network peer-to-peer python python3 riza web3 zeronet

zeronet-conservancy's Introduction

zeronet-conservancy

Packaging status

(NOTE THAT TRANSLATIONS ARE USUALLY BEHIND THIS FILE)

по-русски | em português | 简体中文

zeronet-conservancy is a fork/continuation of ZeroNet project (that has been abandoned by its creator) that is dedicated to sustaining existing p2p network and developing its values of decentralization and freedom, while gradually switching to a better designed network

No active maintainer warning

This fork was created and maintained by @caryoscelus, but due to vanishing interest and in order to avoid having another one-person project, the development is limitted.

Why fork?

During onion-v3 switch crisis, we needed a fork that worked with onion-v3 and didn't depend on trust to one or two people. This fork started from fulfilling that mission, implementing minimal changes to ZeroNet/py3 branch which are easy to audit by anyone. While you can still use the early releases of the fork to get onion-v3 working, the goal of this fork has since shifted and we're dedicated to solving more problems and improving user experience and security all over, until the brand new, completely transparent and audited network is ready and this project can be put to rest

Why 0net?

  • We believe in open, free, and uncensored networks and communication.
  • No single point of failure: Site remains online so long as at least 1 peer is serving it.
  • No hosting costs: Sites are served by visitors.
  • Impossible to shut down: It's nowhere because it's everywhere.
  • Fast and works offline: You can access the site even if Internet is unavailable.

Features

  • Real-time updated sites
  • Clone websites in one click
  • Password-less authorization using private/public keys
  • Built-in SQL server with P2P data synchronization: allows easier dynamic site development
  • Anonymity: Tor network support with .onion hidden services (including onion-v3 support)
  • TLS encrypted connections (through clearnet)
  • Automatic uPnP port opening (if opted in)
  • Plugin for multiuser (openproxy) support
  • Works with any modern browser/OS
  • Works offline and can be synced via alternative transports (or when connection is back)

How does it work?

  • 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/1MCoA8rQHhwu4LY2t2aabqcGSRqrL8uf2X/).
  • 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. Afterwards, the peers verify the content.json integrity (using the signature), they download the modified files and publish the new content to other peers.

Following links relate to original ZeroNet:

How to join

Install from your distribution repository

Install from Nix package manager (Linux or MacOS)

  • install & configure nix package manager (if needed)
  • nix-env -iA nixpkgs.zeronet-conservancy

or add zeronet-conservancy to your system configuration if you're on NixOS

(thanks @fgaz for making & maintaining the package)

Install from source

System dependencies

Generic unix-like (including mac os x)

Install autoconf and other basic development tools, python3 and pip, then proceed to "building python dependencies" (if running fails due to missing dependency, please report it/make pull request to fix dependency list)

Apt-based (debian, ubuntu, etc)
  • sudo apt update
  • sudo apt install git pkg-config libffi-dev python3-pip python3-venv python3-dev build-essential libtool
Red Hat and Fedora based
  • yum install epel-release -y 2>/dev/null
  • yum install git python3 python3-wheel
Fedora based dandified
  • sudo dnf install git python3-pip python3-wheel -y
openSUSE
  • sudo zypper install python3-pip python3-setuptools python3-wheel
Arch and Manjaro based
  • sudo pacman -S git python-pip -v --no-confirm
Android/Termux
  • install Termux (in Termux you can install packages via pkg install <package-names>)
  • pkg update
  • pkg install python automake git binutils libtool
  • (on an older android versions you may also need to install) pkg install openssl-tool libcrypt clang
  • (if you've installed the above packages and still run into launch issues, please report)
  • (optional) pkg install tor
  • (optional) run tor via tor --ControlPort 9051 --CookieAuthentication 1 command (you can then open new session by swiping to the right)

Building python dependencies, venv & running

  • clone this repo (NOTE: on Android/Termux you should clone it into "home" folder of Termux, because virtual environment cannot live in storage/)
  • python3 -m venv venv (make python virtual environment, the last venv is just a name, if you use different you should replace it in later commands)
  • source venv/bin/activate (activate environment)
  • python3 -m pip install -r requirements.txt (install dependencies)
  • python3 zeronet.py (run zeronet-conservancy!)
  • open the landing page in your browser by navigating to: http://127.0.0.1:43110/
  • to start it again from fresh terminal, you need to navigate to repo directory and:
  • source venv/bin/activate
  • python3 zeronet.py

(alternatively) On NixOS

  • clone this repo
  • nix-shell '<nixpkgs>' -A zeronet-conservancy to enter shell with installed dependencies
  • ./zeronet.py

(alternatively) Build Docker image

  • build 0net image: docker build -t 0net-conservancy:latest . -f Dockerfile
  • or build 0net image with integrated tor: docker build -t 0net-conservancy:latest . -f Dockerfile.integrated_tor
  • and run it: docker run --rm -it -v </path/to/0n/data/directory>:/app/data -p 43110:43110 -p 26552:26552 0net-conservancy:latest
  • /path/to/0n/data/directory - directory, where all data will be saved, including your secret certificates. If you run it with production mode, do not remove this folder!
  • or you can run it with docker-compose: docker compose up -d 0net-conservancy up two containers - 0net and tor separately.
  • or: docker compose up -d 0net-tor for run 0net and tor in one container. (please check if these instructions are still accurate)

Alternative one-liner (by @ssdifnskdjfnsdjk) (installing python dependencies globally)

Clone Github repository and install required Python modules. First edit zndir path at the begining of the command, to be the path where you want to store zeronet-conservancy:

zndir="/home/user/myapps/zeronet" ; if [[ ! -d "$zndir" ]]; then git clone --recursive "https://github.com/zeronet-conservancy/zeronet-conservancy.git" "$zndir" && cd "$zndir"||exit; else cd "$zndir";git pull origin master; fi; cd "$zndir" && pip install -r requirements.txt|grep -v "already satisfied"; echo "Try to run: python3 $(pwd)/zeronet.py"

(This command can also be used to keep zeronet-conservancy up to date)

Alternative script

  • after installing general dependencies and cloning repo (as above), run start-venv.sh which will create a virtual env for you and install python requirements
  • more convenience scripts to be added soon

(unofficial) Windows OS build

Download and extract .zip archive zeronet-conservancy-0.7.10-unofficial-win64.zip

Building under Windows OS

(These instructions are work-in-progress, please help us test it and improve it!)

  • install python from https://www.python.org/downloads/
  • install some windows compiler suitable for python , this proved to be the most difficult part for me as non-windows user (see here https://wiki.python.org/moin/WindowsCompilers and i'll link more references later)
  • [optionally to get latest dev version] install git from https://git-scm.com/downloads
  • [optionally to use tor for better connectivity and anonymization] install tor browser from https://www.torproject.org/download/
  • open git bash console
  • type/copypaste git clone https://github.com/zeronet-conservancy/zeronet-conservancy.git into command line
  • wait till git downloads latest dev version and continue in console
  • cd zeronet-conservancy
  • python -m venv venv (create virtual python environment)
  • venv\Scripts\activate (this activates the environment)
  • pip install -r requirements.txt (install python dependencies) (some users reported that this command doesn't successfully install requirements and only manual installation of dependencies one by one works)
  • (NOTE: if previous step fails, it most likely means you haven't installed c/c++ compiler successfully)
  • [optional for tor for better connectivity and anonymity] launch Tor Browser
  • (NOTE: windows might show a window saying it blocked access to internet for "security reasons" — you should allow the access)
  • python zeronet.py --tor_proxy 127.0.0.1:9150 --tor_controller 127.0.0.1:9151 (launch zeronet-conservancy!)
  • [for full tor anonymity launch this instead] python zeronet.py --tor_proxy 127.0.0.1:9150 --tor_controller 127.0.0.1:9151 --tor always
  • navigate to http://127.0.0.1:43110 in your favourite browser!

To build .exe

  • follow the same steps as above, but additionally
  • pip install pyinstaller
  • pyinstaller -p src -p plugins --hidden-import merkletools --hidden-import lib.bencode_open --hidden-import Crypt.Crypt --hidden-import Db.DbQuery --hidden-import lib.subtl --hidden-import lib.subtl.subtl --hidden-import sockshandler --add-data "src;src" --add-data "plugins;plugins" --clean zeronet.py
  • dist/zeronet should contain working zeronet.exe!

Current limitations

  • File transactions are not compressed
  • No private sites
  • No DHT support
  • No I2P support
  • Centralized elements like zeroid (we're working on this!)
  • No reliable spam protection (and on this too)
  • Doesn't work directly from browser (one of the top priorities for mid-future)
  • No data transparency
  • No reproducible builds
  • No on-disk encryption
  • No reproducible builds (hence no builds beyond certain GNU/Linux distributions)

How can I create a ZeroNet site?

  • Click on > "Create new, empty site" menu item on the dashboard.
  • 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 the left, then press sign and publish button on the bottom

Next steps: ZeroNet Developer Documentation

Help this project stay alive

Become a maintainer

We need more maintainers! Become one today! You don't need to know how to code, there's a lot of other work to do.

Make builds for your platforms

We need reproducible stand-alone builds for major platforms, as well as presense in various FLOSS repositories. If you're using one of Linux distributions which don't have packages yet, why not make a package for it or (if you don't know how) ask a maintainer now?

Fix bugs & add features

We've decided to go ahead and make a perfect p2p web, so we need more help implementing it.

Make your site/bring your content

We know the documentation is lacking, but we try our best to support anyone who wants to migrate. Don't hesitate to ask.

Use it and spread the word

Make sure to tell people why do you use 0net and this fork in particular! People need to know their alternatives.

Financially support maintainers

This fork was created and maintained by @caryoscelus. You can see ways to donate to them on https://caryoscelus.github.io/donate/ (or check sidebar if you're reading this on github for more ways). As our team grows, we will create team accounts on friendly crowdfunding platforms as well.

If you want to make sure your donation is recognized as donation for this project, there is a dedicated bitcoin address for that, too: 1Kjuw3reZvxRVNs27Gen7jPJYCn6LY7Fg6. And if you want to stay more anonymous and private, a Monero wallet: 4AiYUcqVRH4C2CVr9zbBdkhRnJnHiJoypHEsq4N7mQziGUoosPCpPeg8SPr87nvwypaRzDgMHEbWWDekKtq8hm9LBmgcMzC

If you want to donate in a different way, feel free to contact maintainer or create an issue

We're using GitHub under protest

This project is currently hosted on GitHub. This is not ideal; GitHub is a proprietary, trade-secret system that is not Free/Libre and Open Souce Software (FLOSS). We are deeply concerned about using a proprietary system like GitHub to develop our FLOSS project. We have an open issue to track moving away from GitHub in the long term. We urge you to read about the Give up GitHub campaign from the Software Freedom Conservancy to understand some of the reasons why GitHub is not a good place to host FOSS projects.

If you are a contributor who personally has already quit using GitHub, feel free to check out from our mirror on notabug and develop there or send git patches directly to project maintainer via preffered contact channel.

Any use of this project's code by GitHub Copilot, past or present, is done without our permission. We do not consent to GitHub's use of this project's code in Copilot.

Logo of the GiveUpGitHub campaign

zeronet-conservancy's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zeronet-conservancy's Issues

more maintainers needed

although fork is minimal enough for people to check it against latest official py3 commit themselves, eventually there might be need for security fixes so we need to establish a community of developers/maintainers to get things done in trust-worthy manner

New project logo

Yesterday, I had played with favicon for one of my project, finally get an idea, that would be more compatible for zeronet one :)

Also, prefer some plain templates, with minimum dynamics and special effects blinking, maybe the subject for new template also. Just thoughts would be nice to make some rebranding as this project looks pretty interesting.

logo

Requirements installation error

I had some errors on installation 0net on the one of my machines running latest Debian. Unfortunately lost raw log, just bellow.
In my case, few additional packages needed to be installed manually - it solve the issue. Maybe should be added to README or requirements file?

python3 -m pip install -U idna

and

apt install pkg-config

Just for a note.

HelloZero is not work well

Step 1: Please describe your environment

  • ZeroNet version: 2022.03.19 zeronet-conservancy master d1198e8
  • Operating system: Android 12 with Termux
  • Web browser: Google Chrome
  • Tor status: disabled
  • Opened port: no
  • Special configuration: no

Step 2: Describe the problem:

the files page and stats page not work well

Steps to reproduce:

  1. start zeronet-conservancy
  2. open http://127.0.0.1:43110/ in browser
  3. click files or stats on the side bar

Expected Results:

  • Just like that the original HelloZero.

code audit

the goal of this fork is , essentially , security . although ZeroNet used to be slightly more than one-person project , the code is still a mess and there's little reason to trust it lacks vulnerabilities (even if for some reason you believe original creator wouldn't put backdoors there)

my ultimate goal is to create a safe , easy to understand 0net-compatible alternative , but for that to happen i need (a team) to write it from scratch in a safe language . meanwhile , we're stuck with 0net and auditing code and fixing potential vulnerabilities would make the future of 0net and p2p networks at large more bright

deprecate .bit domains

they can expire and thus contradict the idea of data stability

  • show a warning when using .bit address
  • redirect all .bit usage to hash-code addresses

issues with android/termux build

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for coincurve
Failed to build gevent coincurve
ERROR: Could not build wheels for gevent, coincurve, which is required to install pyproject.toml-based projects

freezing sites / public keys

basically HelloZeroNet#1988

in current circumstances this has become even more important and should be possible to do by user (e.g. all nofish keys should be considered compromised and freezed by default , but on the other hand there should mechanism of still being notified of new changes with those keys to decide what to do)

ZeroNet doesn't find data directory

Step 1: Please describe your environment

  • ZeroNet version: 0.7.4
  • Operating system: FreeBSD 13
  • Web browser: Chrome
  • Tor status: always
  • Opened port: yes
  • Special configuration: n/a

Step 2: Describe the problem:

Data dir is /var/db/zeronet, where downloaded websites are.
ZN is installed into /usr/local/share/zeronet.
There is a link /usr/local/share/zeronet/data -> /var/db/zeronet.

Before this was sufficient to set data_dir, now this isn't sufficient.
This is a compatibility issue. It's better to not have such compatibility problems.

rebranding

this is crucial for the purposes of this project — preserving lowest trust-required 0net that keeps working with torv3 . without it , we can get lost with other one-two-patch "forks"

  • mission goal description
  • replace name in py code
  • replace name in js code
  • make custom Hello* page
  • make a clearnet site
  • make a new logo
  • make sure branding is consistent everywhere

packages in linux distributions

i've contacted a few people who previously packaged zeronet for arch (through aur), altlinux and freebsd as well as some gentoo overlay at https://github.com/leycec/raiagent

if you anyone who have previously packaged zeronet or could be interested in doing so, feel free to contact them or let me know . the only thing is that since we strive to be a transparent project , i would ask anyone promoting zeronet-conservancy to not misinform people that we're "official" or the only fork . if you prefer our fork , there are reasons for that and it's better telling them than presenting as the only choice ^_^

can't launch zeronet.py

Suppose after some updates (maybe in requirements.txt), 0net instance crash on launch with error:

zeronet.py

Unhandled exception: argument --ui_password: conflicting option string: --ui_password

Traceback (most recent call last):
  File "/zeronet-conservancy/zeronet.py", line 52, in main
    import main
  File "/zeronet-conservancy/src/main.py", line 76, in <module>
    config.loadPlugins()
  File "/zeronet-conservancy/src/Config.py", line 546, in loadPlugins
    ConfigPlugin(self)
  File "/zeronet-conservancy/src/Config.py", line 541, in __init__
    self.createArguments()
  File "/zeronet-conservancy/plugins/disabled-UiPassword/UiPasswordPlugin.py", line 164, in createArguments
    return super(ConfigPlugin, self).createArguments()
  File "/zeronet-conservancy/plugins/Zeroname/SiteManagerPlugin.py", line 69, in createArguments
    return super(ConfigPlugin, self).createArguments()
  File "/zeronet-conservancy/plugins/UiPassword/UiPasswordPlugin.py", line 162, in createArguments
    group.add_argument('--ui_password', help='Password to access UiServer', default=None, metavar="password")
  File "/usr/lib/python3.9/argparse.py", line 1446, in add_argument
    return self._add_action(action)
  File "/usr/lib/python3.9/argparse.py", line 1648, in _add_action
    action = super(_ArgumentGroup, self)._add_action(action)
  File "/usr/lib/python3.9/argparse.py", line 1460, in _add_action
    self._check_conflict(action)
  File "/usr/lib/python3.9/argparse.py", line 1597, in _check_conflict
    conflict_handler(action, confl_optionals)
  File "/usr/lib/python3.9/argparse.py", line 1606, in _handle_conflict_error
    raise ArgumentError(action, message % conflict_string)
argparse.ArgumentError: argument --ui_password: conflicting option string: --ui_password

plugins.json

{
  "builtin": {
    "UiPassword": {
      "enabled": true
    }
  }
}

zeronet.conf pasword the same

ui_password = ***

0net in browser

i'm not sure whether that will ever happen during zeronet-conservancy existence or only when the project is completely migrated to riza , but letting people access the network without installing traditional software is one of an important goals

could be done either by running existing codebase through wasm or waiting til riza has a native solution or some hybrid scheme where the data sync is actually done on existing 0net , but can be accessed in browser without any specific proxy (which implies keeping private keys there)

can't save config

environment

  • ZeroNet version: last
  • Operating system: win 10
  • Web browser: Chrome
  • Tor status: disabled
  • Opened port: yes

the problem:

  1. open page http://127.0.0.1:43110/Config
  2. setting Trackers something
  3. click save button
  4. web console error:
    Uncaught TypeError: Cannot read properties of undefined (reading 'default') at UiConfig.saveValues (all.js?rev={rev}&lang=zh:1951:91) at UiConfig.saveValues (all.js?rev={rev}&lang=zh:1836:59) at UiConfig.handleSaveClick (all.js?rev={rev}&lang=zh:1999:12) at HTMLAnchorElement.<anonymous> (all.js?rev={rev}&lang=zh:1836:59) at HTMLAnchorElement.<anonymous> (all.js?rev={rev}&lang=zh:889:37)
  5. open ws messages,can see this:
    ↓{"cmd": "response", "to": 3, "result": {"error": "You don't have permission to run configList"}, "id": 4}

I try to debug the code,when cmd equal 'configList', in hasCmdPermission function return False

blocklists don't delete content

i can't find original issue , but 0net doesn't delete (and probably keeps seeding? needs investigating) content posted by blocked users

Apple Touch Icon

:43110/apple-touch-icon.png

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<style>
* { font-family: Consolas, Monospace; color: #333; }
code { font-family: Consolas, Monospace; background-color: #EEE }
</style>
<h1>Not Found</h1>
<h2>src/Ui/media/img//apple-touch-icon.png</h3>

How to support 0net

I have 24/7 virtual server and would like to participate the network support.

What exactly needed for 0net ecosystem running? Usually it's DNS seeders to share initial connections (seems that initial connections here are hardcoded), sometimes, blocks mining..

In few words, how does 0net infrastructure works and what is required to keep it going?

Understand, that to be user is enough (by the data sharing) just I'm not always online. Maybe some guide to set-up remote node?

Thanks!

make id certificate checking optional

originally posted on ZeroTalk: http://127.0.0.1:43110/1TaLkFrMwvbNsooF4ioKAY9EuxTBTjipT/?Topic:1648583593_13oRBYqNeUr6Tvgt4KkAT9FT4XRiKFBjnE/obsoleting+ZeroID+looking+for+consensus

so more and more users who try to join 0net discover that they can't obtain ZeroID anymore. there are a few things we can do about this: ask people to add different id providers on their sites (wouldn't work: not every actively used site is maintained), fake ZeroID or get rid of the "certificate" idea altogether.

i think we should do the latter option. certificates other than ZeroID were never meaningful: they either don't fulfil intended task (ensuring unique names and potentially validating identities) by allowing any ID to be used any number of times or haven't lived for any serious period of time. and ZeroID that at least provides unique names was never good: it was a centralized server created to emulate clearnet feel of usernames@domains. it was a crutch. we should just disable cert checking and use cryptographic IDs (at least for everyone who doesn't have an existing ID).

there are two issues with this:

  • outdated nodes will not see or propagate data by users w/o certificates

  • generating ids becomes 0 cost so spam attacks are more viable

first issue requires certain amount of people signing off with this. we don't need everyone's agreement, just an active majority.

second issue might be fixed by introducing alternative system. no one is going to write it though. so we have a choice of facing spam or death of the network. on the bright note, we're still to see spam attacks on kaffie hub or any other site accepting kaffie (or other similar) ids. regardless, this is short-term question. 0net is not going to last forever and its best chance is to get integrated into a better network

Website integration issues

I'm trying to create 0net mirror of https://twisterarmy.github.io website.

But I have some problems with the rendering:

  1. Getting 404 error for css, fonts and images addresses, because website running in the frame and base tag could not be applied
  2. All URL links configured to use extension-less URI (without .html postfix) so can I apply some solution, without changing in the website code

The address of site is 1PdfH9GQGT5ahR9WwYMzZCyBNdxA2pFdg7
Maybe Ctrl+Shift+i say more.

Thanks for any ideas!

better android build

Android/Termux works mostly fine , but requires advanced knowledge (this is fine for now since neither 0net version is supposed to be used by users with zero tech security understanding) and there are termux issues on some setups (android system kills the process)

note that we're only interested in reproducible builds , any other attempts at making zeronet-conservancy builds for android can be considered security vulnerability . contacting f-droid project might be a good idea

multiuser plugin doesn't create user when it's already used

this results in all pages leading to error 500 . some traceback

  File "src/Ui/UiServer.py", line 42, in run_application
    super(UiWSGIHandler, self).run_application()
  File "venv/lib/python3.9/site-packages/gevent/pywsgi.py", line 946, in run_application
    self.process_result()
  File "src/lib/gevent_ws/__init__.py", line 271, in process_result
    super(WebSocketHandler, self).process_result()
  File "venv/lib/python3.9/site-packages/gevent/pywsgi.py", line 930, in process_result
    for data in self.result:
  File "plugins/TranslateSite/TranslateSitePlugin.py", line 60, in actionPatchFile
    for part in file_generator:
  File "src/Ui/UiRequest.py", line 811, in actionFile
    block = self.replaceHtmlVariables(block, path_parts)
  File "src/Ui/UiRequest.py", line 749, in replaceHtmlVariables
    themeclass = "theme-%-6s" % re.sub("[^a-z]", "", user.settings.get("theme", "light"))

Warning errors

For right now, I'm using actual nocert branch, here is couple of warnings at the top bar:

DbQuery error: OperationalError: unrecognized token: "')" in UiWebsocket.py line 682 > SiteStorage.py line 239 > 229 > Db.py line 150 > DbCursor.py line 107

Collaboration with ZeroNet-enhanced

Not sure if you've seen this, but geekless has a fork with lots of bug fixes here: https://github.com/zeronet-enhanced/ZeroNet. Some of the other contributors moved there too. It might make sense to join forces, either merging the changes from this repository there or the other way round. I believe I have owner permissions on geekless's fork if that comes in handy.

can't handle simple curl request without exception

$ curl  127.0.0.1:43110

                <style>
                * { font-family: Consolas, Monospace; color: #333; }
                code { font-family: Consolas, Monospace; background-color: #EEE }
                </style>
                <h1>Server error</h1>
                <h2>UiWSGIHandler error: TypeError: object of type &#x27;generator&#x27; has no len()</h3>
^C

make zero:// links work

it's more complicated than i thought due to iframe issues , but it would help both with transitioning & proxies

Config not saving

Step 1: Please describe your environment

  • ZeroNet version: 0.7.3.2 r5002, commit 072a5dd
  • Operating system: Manjaro Linux
  • Web browser: Firefox Nightly 99.0a1 (2022-02-09)(64-bit) and Brave (Version 1.35.100 Chromium: 98.0.4758.87 (Official Build) unknown (64-bit))
  • Tor status: disabled
  • Opened port: no
  • Special configuration: Installed per instructions in readme.

Step 2: Describe the problem:

When trying to update settings, the configuration change button starts an never-ending "loading animation".
This lasts until site is reloaded, and no settings were changed.

Steps to reproduce:

  1. Install zeronet-conservancy per instructions.
  2. Go to http://127.0.0.1:43110/Config
  3. Try to change any of the settings (for example port number and logging level)
  4. Observe behaviour as explained.

Observed Results:

image
This lasts indefinately until site reload.

Expected Results:

I expected the settings to save.

One-click upgrade feature

Would be nice to see auto-upgrade feature with server reboot option.

Not sure how to properly implement the version check yet, I just wish to see upgrade alert & grab latest version from the current branch (or maybe from release).

2022-05-19_14-25

ZeroTalks pages refresh for ever

Zero ID does not work

Suppose, the main reason of ZeroNet users lost - is unfixed issues with new ID registration.

I can't register using kxoid.bit and zeroid.bit from different IPs. Also, many same issues I've found starting from 2019:
Error while during request: Forbidden Please try again later

Maybe, something would be rewritten basically in the Auth algorithms - move out from the classical usernames to auto-generated hashes of public keys or make these services optional to start writing.

riza compatibility

this is an umbrella issue for issues related to compatibility with nextgen p2p network

develop alternative ID system

pubkeys are proper IDs , but they are hard on people . obsolete cert system was never properly designed , zeroid is centralized and alternatives either don't work (such as kxoid) or do not meet the identity requirements (kaffie etc) . a proper system might use user-maintained dictionaries of which pubkey is associated with which name (and that doesn't have to be the same for everyone – internally all user links should only refer to pubkeys)

How to import existing account?

I had registered username trough zero.bit service and then, installed new node with other certificates at the data folder.

How can I properly import my existing seed key as don't see any the UI tools for that, just creating new one?
I won't to import all folder, maybe few rows in config changing would be enough?

Thanks!

Return [Open site directory] Sidebar feature

Is your feature request related to a problem? Please describe.
The legacy HelloZeroNet has a feature [Open site directory] in Sidebar. It has been removed when added [Browse files] feature. But that was convenient to open directory in system file manager.

Describe the solution you'd like
Return <a href='#Site+directory' id='link-directory' class='link-right'>{_[Open site directory]}</a> line before <a href='/ZeroNet-Internal/Zip?address={site.address}' id='link-zip' class='link-right' download='site.zip'>{_[Save as .zip]}</a> in plugins/Sidebar/SidebarPlugin.py.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.