├── src
├── Db
│ ├── __init__.py
│ └── DbQuery.py
├── __init__.py
├── Crypt
│ ├── __init__.py
│ ├── Crypt.py
│ ├── CryptRsa.py
│ └── CryptHash.py
├── Debug
│ ├── __init__.py
│ └── DebugLock.py
├── Plugin
│ └── __init__.py
├── Site
│ └── __init__.py
├── Test
│ ├── __init__.py
│ ├── testdata
│ │ └── 1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original
│ │ │ ├── data
│ │ │ ├── optional.txt
│ │ │ ├── img
│ │ │ │ ├── domain.png
│ │ │ │ ├── memory.png
│ │ │ │ ├── slides.png
│ │ │ │ ├── zeroid.png
│ │ │ │ ├── multiuser.png
│ │ │ │ ├── trayicon.png
│ │ │ │ ├── zeroname.png
│ │ │ │ ├── zerotalk.png
│ │ │ │ ├── autoupdate.png
│ │ │ │ ├── progressbar.png
│ │ │ │ ├── slots_memory.png
│ │ │ │ ├── direct_domains.png
│ │ │ │ ├── zerotalk-mark.png
│ │ │ │ ├── zeroblog-comments.png
│ │ │ │ └── zerotalk-upvote.png
│ │ │ ├── users
│ │ │ │ ├── 1CjfbrbwtP8Y2QjPy12vpTATkUT7oSiPQ9
│ │ │ │ │ ├── peanut-butter-jelly-time.gif
│ │ │ │ │ ├── data.json
│ │ │ │ │ └── content.json
│ │ │ │ ├── 1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q
│ │ │ │ │ ├── data.json
│ │ │ │ │ └── content.json
│ │ │ │ ├── 1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C
│ │ │ │ │ ├── data.json
│ │ │ │ │ └── content.json
│ │ │ │ └── content.json
│ │ │ └── test_include
│ │ │ │ ├── content.json
│ │ │ │ └── data.json
│ │ │ ├── img
│ │ │ └── loading.gif
│ │ │ ├── data-default
│ │ │ ├── data.json
│ │ │ └── users
│ │ │ │ └── content-default.json
│ │ │ └── dbschema.json
│ ├── pytest.ini
│ ├── coverage.ini
│ ├── TestUiWebsocket.py
│ ├── Spy.py
│ ├── TestSiteStorage.py
│ ├── TestCryptConnection.py
│ ├── TestFlag.py
│ ├── TestSafeRe.py
│ ├── TestDbQuery.py
│ ├── TestConfig.py
│ ├── TestCryptHash.py
│ ├── TestCached.py
│ └── TestDiff.py
├── lib
│ ├── __init__.py
│ ├── subtl
│ │ ├── __init__.py
│ │ ├── README.md
│ │ └── LICENCE
│ ├── cssvendor
│ │ ├── __init__.py
│ │ └── cssvendor.py
│ ├── libsecp256k1message
│ │ └── __init__.py
│ ├── sslcrypto
│ │ ├── openssl
│ │ │ ├── discovery.py
│ │ │ ├── __init__.py
│ │ │ └── rsa.py
│ │ ├── fallback
│ │ │ ├── __init__.py
│ │ │ ├── rsa.py
│ │ │ └── _util.py
│ │ ├── __init__.py
│ │ ├── LICENSE
│ │ └── _aes.py
│ ├── bencode_open
│ │ └── LICENSE
│ ├── pyaes
│ │ ├── LICENSE.txt
│ │ ├── util.py
│ │ └── __init__.py
│ └── openssl
│ │ └── openssl.cnf
├── User
│ └── __init__.py
├── Tor
│ └── __init__.py
├── Translate
│ └── __init__.py
├── Ui
│ ├── media
│ │ ├── lib
│ │ │ ├── Translate.coffee
│ │ │ ├── RateLimit.coffee
│ │ │ ├── jquery.csslater.coffee
│ │ │ ├── jquery.cssanim.js
│ │ │ └── ZeroWebsocket.coffee
│ │ ├── img
│ │ │ ├── logo.png
│ │ │ ├── logo.psd
│ │ │ ├── favicon.ico
│ │ │ ├── favicon.psd
│ │ │ ├── loading.gif
│ │ │ ├── loading-circle.gif
│ │ │ ├── apple-touch-icon.png
│ │ │ ├── logo-white.svg
│ │ │ └── logo.svg
│ │ ├── WrapperZeroFrame.coffee
│ │ ├── Infopanel.coffee
│ │ ├── Fixbutton.coffee
│ │ └── ZeroSiteTheme.coffee
│ ├── __init__.py
│ └── template
│ │ └── site_add.html
├── Content
│ └── __init__.py
├── Peer
│ └── __init__.py
├── File
│ └── __init__.py
├── Worker
│ └── __init__.py
├── Connection
│ └── __init__.py
└── util
│ ├── __init__.py
│ ├── Flag.py
│ ├── SocksProxy.py
│ ├── GreenletManager.py
│ ├── Electrum.py
│ ├── SafeRe.py
│ ├── Platform.py
│ ├── Diff.py
│ ├── Event.py
│ ├── Pooled.py
│ └── Cached.py
├── plugins
├── __init__.py
├── Trayicon
│ ├── lib
│ │ ├── __init__.py
│ │ └── winfolders.py
│ ├── __init__.py
│ ├── trayicon.ico
│ ├── plugin_info.json
│ └── languages
│ │ ├── zh-tw.json
│ │ ├── zh.json
│ │ ├── jp.json
│ │ ├── tr.json
│ │ ├── hu.json
│ │ ├── pl.json
│ │ ├── es.json
│ │ ├── pt-br.json
│ │ ├── it.json
│ │ └── fr.json
├── Cors
│ ├── __init__.py
│ └── plugin_info.json
├── Chart
│ ├── __init__.py
│ ├── plugin_info.json
│ └── ChartPlugin.py
├── Stats
│ ├── __init__.py
│ └── plugin_info.json
├── FilePack
│ ├── __init__.py
│ └── plugin_info.json
├── Newsfeed
│ └── __init__.py
├── MergerSite
│ ├── __init__.py
│ └── languages
│ │ ├── zh-tw.json
│ │ ├── zh.json
│ │ ├── jp.json
│ │ ├── fr.json
│ │ ├── tr.json
│ │ ├── es.json
│ │ ├── it.json
│ │ ├── pt-br.json
│ │ └── hu.json
├── PeerDb
│ ├── __init__.py
│ └── plugin_info.json
├── UiConfig
│ ├── __init__.py
│ ├── media
│ │ ├── img
│ │ │ └── loading.gif
│ │ ├── js
│ │ │ ├── utils
│ │ │ │ ├── Dollar.coffee
│ │ │ │ └── ZeroFrame.coffee
│ │ │ └── lib
│ │ │ │ ├── Prototypes.coffee
│ │ │ │ ├── Class.coffee
│ │ │ │ └── Promise.coffee
│ │ ├── config.html
│ │ └── css
│ │ │ └── button.css
│ ├── plugin_info.json
│ └── languages
│ │ └── hu.json
├── AnnounceLocal
│ ├── __init__.py
│ ├── Test
│ │ ├── conftest.py
│ │ └── pytest.ini
│ └── plugin_info.json
├── AnnounceZero
│ ├── __init__.py
│ └── plugin_info.json
├── Bigfile
│ ├── Test
│ │ ├── conftest.py
│ │ └── pytest.ini
│ └── __init__.py
├── CryptMessage
│ ├── Test
│ │ ├── conftest.py
│ │ └── pytest.ini
│ ├── __init__.py
│ ├── plugin_info.json
│ └── CryptMessage.py
├── Zeroname
│ ├── __init__.py
│ └── README.md
├── AnnounceShare
│ ├── __init__.py
│ ├── Test
│ │ ├── conftest.py
│ │ ├── pytest.ini
│ │ └── TestAnnounceShare.py
│ └── plugin_info.json
├── ContentFilter
│ ├── __init__.py
│ ├── Test
│ │ ├── conftest.py
│ │ └── pytest.ini
│ ├── plugin_info.json
│ └── languages
│ │ ├── zh-tw.json
│ │ ├── zh.json
│ │ ├── jp.json
│ │ ├── hu.json
│ │ ├── pt-br.json
│ │ └── it.json
├── OptionalManager
│ ├── Test
│ │ ├── conftest.py
│ │ └── pytest.ini
│ ├── __init__.py
│ └── languages
│ │ ├── zh-tw.json
│ │ ├── zh.json
│ │ ├── jp.json
│ │ ├── hu.json
│ │ ├── pt-br.json
│ │ ├── es.json
│ │ └── fr.json
├── TranslateSite
│ ├── __init__.py
│ └── plugin_info.json
├── UiFileManager
│ ├── __init__.py
│ ├── media
│ │ ├── img
│ │ │ └── loading.gif
│ │ ├── js
│ │ │ ├── lib
│ │ │ │ ├── Dollar.coffee
│ │ │ │ ├── Prototypes.coffee
│ │ │ │ ├── Class.coffee
│ │ │ │ ├── ItemList.coffee
│ │ │ │ ├── Promise.coffee
│ │ │ │ ├── Time.coffee
│ │ │ │ └── ZeroFrame.coffee
│ │ │ └── Config.coffee
│ │ ├── codemirror
│ │ │ ├── extension
│ │ │ │ ├── search
│ │ │ │ │ ├── matchesonscrollbar.css
│ │ │ │ │ └── jump-to-line.js
│ │ │ │ ├── fold
│ │ │ │ │ ├── foldgutter.css
│ │ │ │ │ ├── markdown-fold.js
│ │ │ │ │ └── indent-fold.js
│ │ │ │ ├── dialog
│ │ │ │ │ └── dialog.css
│ │ │ │ ├── hint
│ │ │ │ │ ├── show-hint.css
│ │ │ │ │ └── anyword-hint.js
│ │ │ │ ├── edit
│ │ │ │ │ └── trailingspace.js
│ │ │ │ ├── lint
│ │ │ │ │ └── json-lint.js
│ │ │ │ └── scroll
│ │ │ │ │ ├── simplescrollbars.css
│ │ │ │ │ └── scrollpastend.js
│ │ │ ├── LICENSE
│ │ │ └── mode
│ │ │ │ └── htmlembedded.js
│ │ ├── list.html
│ │ └── css
│ │ │ ├── Selectbar.css
│ │ │ └── Menu.css
│ └── languages
│ │ ├── jp.json
│ │ └── hu.json
├── disabled-Bootstrapper
│ ├── __init__.py
│ ├── Test
│ │ ├── conftest.py
│ │ └── pytest.ini
│ └── plugin_info.json
├── disabled-Multiuser
│ ├── __init__.py
│ ├── Test
│ │ ├── conftest.py
│ │ ├── pytest.ini
│ │ └── TestMultiuser.py
│ ├── plugin_info.json
│ └── UserPlugin.py
├── disabled-UiPassword
│ ├── __init__.py
│ └── plugin_info.json
├── AnnounceBitTorrent
│ ├── __init__.py
│ └── plugin_info.json
├── UiPluginManager
│ ├── __init__.py
│ └── media
│ │ ├── img
│ │ └── loading.gif
│ │ ├── js
│ │ ├── utils
│ │ │ ├── Dollar.coffee
│ │ │ └── ZeroFrame.coffee
│ │ └── lib
│ │ │ ├── Prototypes.coffee
│ │ │ ├── Class.coffee
│ │ │ └── Promise.coffee
│ │ ├── plugin_manager.html
│ │ └── css
│ │ └── button.css
├── Sidebar
│ ├── __init__.py
│ ├── media_globe
│ │ ├── world.jpg
│ │ └── Detector.js
│ ├── plugin_info.json
│ ├── media
│ │ ├── Prototypes.coffee
│ │ ├── RateLimit.coffee
│ │ ├── Class.coffee
│ │ ├── Scrollbable.css
│ │ ├── Menu.css
│ │ └── Menu.coffee
│ └── ZipStream.py
├── disabled-DonationMessage
│ ├── __init__.py
│ └── DonationMessagePlugin.py
├── disabled-ZeronameLocal
│ ├── __init__.py
│ └── UiRequestPlugin.py
├── Benchmark
│ ├── __init__.py
│ └── plugin_info.json
├── disabled-Dnschain
│ ├── __init__.py
│ └── UiRequestPlugin.py
└── disabled-StemPort
│ └── __init__.py
├── .github
├── FUNDING.yml
└── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug-report.md
├── tools
└── coffee
│ ├── coffee.cmd
│ └── README.md
├── requirements.txt
├── start.py
├── .gitignore
├── Dockerfile
├── Dockerfile.arm64v8
├── Vagrantfile
├── .gitlab-ci.yml
├── LICENSE
└── .travis.yml
/src/Db/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Crypt/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Debug/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Plugin/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Site/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/Test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/subtl/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Trayicon/lib/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/cssvendor/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Cors/__init__.py:
--------------------------------------------------------------------------------
1 | from . import CorsPlugin
--------------------------------------------------------------------------------
/src/User/__init__.py:
--------------------------------------------------------------------------------
1 | from .User import User
2 |
--------------------------------------------------------------------------------
/plugins/Chart/__init__.py:
--------------------------------------------------------------------------------
1 | from . import ChartPlugin
--------------------------------------------------------------------------------
/plugins/Stats/__init__.py:
--------------------------------------------------------------------------------
1 | from . import StatsPlugin
--------------------------------------------------------------------------------
/src/Tor/__init__.py:
--------------------------------------------------------------------------------
1 | from .TorManager import TorManager
--------------------------------------------------------------------------------
/src/Translate/__init__.py:
--------------------------------------------------------------------------------
1 | from .Translate import *
--------------------------------------------------------------------------------
/plugins/FilePack/__init__.py:
--------------------------------------------------------------------------------
1 | from . import FilePackPlugin
--------------------------------------------------------------------------------
/plugins/Newsfeed/__init__.py:
--------------------------------------------------------------------------------
1 | from . import NewsfeedPlugin
--------------------------------------------------------------------------------
/plugins/MergerSite/__init__.py:
--------------------------------------------------------------------------------
1 | from . import MergerSitePlugin
--------------------------------------------------------------------------------
/plugins/PeerDb/__init__.py:
--------------------------------------------------------------------------------
1 | from . import PeerDbPlugin
2 |
3 |
--------------------------------------------------------------------------------
/plugins/UiConfig/__init__.py:
--------------------------------------------------------------------------------
1 | from . import UiConfigPlugin
2 |
--------------------------------------------------------------------------------
/src/Ui/media/lib/Translate.coffee:
--------------------------------------------------------------------------------
1 | window._ = (s) -> return s
--------------------------------------------------------------------------------
/plugins/AnnounceLocal/__init__.py:
--------------------------------------------------------------------------------
1 | from . import AnnounceLocalPlugin
--------------------------------------------------------------------------------
/plugins/AnnounceZero/__init__.py:
--------------------------------------------------------------------------------
1 | from . import AnnounceZeroPlugin
--------------------------------------------------------------------------------
/plugins/Bigfile/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
2 |
--------------------------------------------------------------------------------
/plugins/CryptMessage/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
--------------------------------------------------------------------------------
/plugins/CryptMessage/__init__.py:
--------------------------------------------------------------------------------
1 | from . import CryptMessagePlugin
--------------------------------------------------------------------------------
/plugins/Zeroname/__init__.py:
--------------------------------------------------------------------------------
1 | from . import SiteManagerPlugin
2 |
--------------------------------------------------------------------------------
/src/Content/__init__.py:
--------------------------------------------------------------------------------
1 | from .ContentManager import ContentManager
--------------------------------------------------------------------------------
/plugins/AnnounceShare/__init__.py:
--------------------------------------------------------------------------------
1 | from . import AnnounceSharePlugin
2 |
--------------------------------------------------------------------------------
/plugins/ContentFilter/__init__.py:
--------------------------------------------------------------------------------
1 | from . import ContentFilterPlugin
2 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
--------------------------------------------------------------------------------
/plugins/TranslateSite/__init__.py:
--------------------------------------------------------------------------------
1 | from . import TranslateSitePlugin
2 |
--------------------------------------------------------------------------------
/plugins/UiFileManager/__init__.py:
--------------------------------------------------------------------------------
1 | from . import UiFileManagerPlugin
2 |
--------------------------------------------------------------------------------
/plugins/disabled-Bootstrapper/__init__.py:
--------------------------------------------------------------------------------
1 | from . import BootstrapperPlugin
--------------------------------------------------------------------------------
/plugins/disabled-Multiuser/__init__.py:
--------------------------------------------------------------------------------
1 | from . import MultiuserPlugin
2 |
--------------------------------------------------------------------------------
/plugins/disabled-UiPassword/__init__.py:
--------------------------------------------------------------------------------
1 | from . import UiPasswordPlugin
--------------------------------------------------------------------------------
/src/lib/libsecp256k1message/__init__.py:
--------------------------------------------------------------------------------
1 | from .libsecp256k1message import *
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | custom: https://zeronet.io/docs/help_zeronet/donate/
2 |
--------------------------------------------------------------------------------
/plugins/AnnounceBitTorrent/__init__.py:
--------------------------------------------------------------------------------
1 | from . import AnnounceBitTorrentPlugin
--------------------------------------------------------------------------------
/plugins/ContentFilter/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
2 |
--------------------------------------------------------------------------------
/plugins/UiPluginManager/__init__.py:
--------------------------------------------------------------------------------
1 | from . import UiPluginManagerPlugin
2 |
--------------------------------------------------------------------------------
/plugins/disabled-Bootstrapper/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
--------------------------------------------------------------------------------
/plugins/disabled-Multiuser/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
2 |
--------------------------------------------------------------------------------
/plugins/Sidebar/__init__.py:
--------------------------------------------------------------------------------
1 | from . import SidebarPlugin
2 | from . import ConsolePlugin
--------------------------------------------------------------------------------
/plugins/disabled-DonationMessage/__init__.py:
--------------------------------------------------------------------------------
1 | from . import DonationMessagePlugin
2 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/optional.txt:
--------------------------------------------------------------------------------
1 | hello!
--------------------------------------------------------------------------------
/src/Peer/__init__.py:
--------------------------------------------------------------------------------
1 | from .Peer import Peer
2 | from .PeerHashfield import PeerHashfield
3 |
--------------------------------------------------------------------------------
/tools/coffee/coffee.cmd:
--------------------------------------------------------------------------------
1 | ::For convenience
2 | @cscript //nologo "%~dp0coffee.wsf" %*
3 |
--------------------------------------------------------------------------------
/src/File/__init__.py:
--------------------------------------------------------------------------------
1 | from .FileServer import FileServer
2 | from .FileRequest import FileRequest
--------------------------------------------------------------------------------
/src/Worker/__init__.py:
--------------------------------------------------------------------------------
1 | from .Worker import Worker
2 | from .WorkerManager import WorkerManager
3 |
--------------------------------------------------------------------------------
/src/lib/sslcrypto/openssl/discovery.py:
--------------------------------------------------------------------------------
1 | # Can be redefined by user
2 | def discover():
3 | pass
--------------------------------------------------------------------------------
/plugins/disabled-ZeronameLocal/__init__.py:
--------------------------------------------------------------------------------
1 | from . import UiRequestPlugin
2 | from . import SiteManagerPlugin
--------------------------------------------------------------------------------
/src/Ui/media/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/logo.png
--------------------------------------------------------------------------------
/src/Ui/media/img/logo.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/logo.psd
--------------------------------------------------------------------------------
/plugins/AnnounceShare/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
2 |
3 | from Config import config
4 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/__init__.py:
--------------------------------------------------------------------------------
1 | from . import OptionalManagerPlugin
2 | from . import UiWebsocketPlugin
3 |
--------------------------------------------------------------------------------
/plugins/Trayicon/__init__.py:
--------------------------------------------------------------------------------
1 | import sys
2 |
3 | if sys.platform == 'win32':
4 | from . import TrayiconPlugin
--------------------------------------------------------------------------------
/src/Ui/media/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/favicon.ico
--------------------------------------------------------------------------------
/src/Ui/media/img/favicon.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/favicon.psd
--------------------------------------------------------------------------------
/src/Ui/media/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/loading.gif
--------------------------------------------------------------------------------
/src/lib/sslcrypto/fallback/__init__.py:
--------------------------------------------------------------------------------
1 | from .aes import aes
2 | from .ecc import ecc
3 | from .rsa import rsa
4 |
--------------------------------------------------------------------------------
/src/lib/sslcrypto/openssl/__init__.py:
--------------------------------------------------------------------------------
1 | from .aes import aes
2 | from .ecc import ecc
3 | from .rsa import rsa
4 |
--------------------------------------------------------------------------------
/plugins/Trayicon/trayicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/plugins/Trayicon/trayicon.ico
--------------------------------------------------------------------------------
/src/Connection/__init__.py:
--------------------------------------------------------------------------------
1 | from .ConnectionServer import ConnectionServer
2 | from .Connection import Connection
3 |
--------------------------------------------------------------------------------
/plugins/Benchmark/__init__.py:
--------------------------------------------------------------------------------
1 | from . import BenchmarkPlugin
2 | from . import BenchmarkDb
3 | from . import BenchmarkPack
4 |
--------------------------------------------------------------------------------
/src/Ui/__init__.py:
--------------------------------------------------------------------------------
1 | from .UiServer import UiServer
2 | from .UiRequest import UiRequest
3 | from .UiWebsocket import UiWebsocket
--------------------------------------------------------------------------------
/src/Ui/media/img/loading-circle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/loading-circle.gif
--------------------------------------------------------------------------------
/plugins/Bigfile/__init__.py:
--------------------------------------------------------------------------------
1 | from . import BigfilePlugin
2 | from .BigfilePiecefield import BigfilePiecefield, BigfilePiecefieldPacked
--------------------------------------------------------------------------------
/plugins/Cors/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Cors",
3 | "description": "Cross site resource read.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/Sidebar/media_globe/world.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/plugins/Sidebar/media_globe/world.jpg
--------------------------------------------------------------------------------
/plugins/UiConfig/media/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/plugins/UiConfig/media/img/loading.gif
--------------------------------------------------------------------------------
/src/Ui/media/img/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Ui/media/img/apple-touch-icon.png
--------------------------------------------------------------------------------
/plugins/Stats/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Stats",
3 | "description": "/Stats and /Benchmark pages.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/AnnounceLocal/Test/conftest.py:
--------------------------------------------------------------------------------
1 | from src.Test.conftest import *
2 |
3 | from Config import config
4 | config.broadcast_port = 0
5 |
--------------------------------------------------------------------------------
/plugins/UiFileManager/media/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/plugins/UiFileManager/media/img/loading.gif
--------------------------------------------------------------------------------
/plugins/UiPluginManager/media/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/plugins/UiPluginManager/media/img/loading.gif
--------------------------------------------------------------------------------
/src/Crypt/Crypt.py:
--------------------------------------------------------------------------------
1 | from Config import config
2 | from util import ThreadPool
3 |
4 | thread_pool_crypt = ThreadPool.ThreadPool(config.threads_crypt)
--------------------------------------------------------------------------------
/plugins/PeerDb/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "PeerDb",
3 | "description": "Save/restore peer list on client restart.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/Trayicon/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Trayicon",
3 | "description": "Icon for system tray. (Windows only)",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/AnnounceZero/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AnnounceZero",
3 | "description": "Announce using ZeroNet protocol.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/Chart/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Chart",
3 | "description": "Collect and provide stats of client information.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/ContentFilter/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ContentFilter",
3 | "description": "Manage site and user block list.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/src/util/__init__.py:
--------------------------------------------------------------------------------
1 | from .Cached import Cached
2 | from .Event import Event
3 | from .Noparallel import Noparallel
4 | from .Pooled import Pooled
5 |
--------------------------------------------------------------------------------
/plugins/Bigfile/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/FilePack/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "FilePack",
3 | "description": "Transparent web access for Zip and Tar.gz files.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/UiConfig/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "UiConfig",
3 | "description": "Change client settings using the web interface.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/AnnounceLocal/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/AnnounceShare/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/AnnounceShare/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AnnounceShare",
3 | "description": "Share possible trackers between clients.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/ContentFilter/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/CryptMessage/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/AnnounceLocal/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AnnounceLocal",
3 | "description": "Discover LAN clients using UDP broadcasting.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/OptionalManager/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/UiConfig/media/js/utils/Dollar.coffee:
--------------------------------------------------------------------------------
1 | window.$ = (selector) ->
2 | if selector.startsWith("#")
3 | return document.getElementById(selector.replace("#", ""))
4 |
--------------------------------------------------------------------------------
/plugins/disabled-Multiuser/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/plugins/UiFileManager/media/js/lib/Dollar.coffee:
--------------------------------------------------------------------------------
1 | window.$ = (selector) ->
2 | if selector.startsWith("#")
3 | return document.getElementById(selector.replace("#", ""))
4 |
--------------------------------------------------------------------------------
/plugins/UiPluginManager/media/js/utils/Dollar.coffee:
--------------------------------------------------------------------------------
1 | window.$ = (selector) ->
2 | if selector.startsWith("#")
3 | return document.getElementById(selector.replace("#", ""))
4 |
--------------------------------------------------------------------------------
/plugins/AnnounceBitTorrent/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AnnounceBitTorrent",
3 | "description": "Discover new peers using BitTorrent trackers.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/disabled-UiPassword/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "UiPassword",
3 | "description": "Password based autentication on the web interface.",
4 | "default": "disabled"
5 | }
--------------------------------------------------------------------------------
/plugins/disabled-Dnschain/__init__.py:
--------------------------------------------------------------------------------
1 | # This plugin is experimental, if you really want to enable uncomment the following lines:
2 | # import DnschainPlugin
3 | # import SiteManagerPlugin
--------------------------------------------------------------------------------
/src/lib/sslcrypto/__init__.py:
--------------------------------------------------------------------------------
1 | __all__ = ["aes", "ecc", "rsa"]
2 |
3 | try:
4 | from .openssl import aes, ecc, rsa
5 | except OSError:
6 | from .fallback import aes, ecc, rsa
7 |
--------------------------------------------------------------------------------
/src/lib/sslcrypto/fallback/rsa.py:
--------------------------------------------------------------------------------
1 | # pylint: disable=too-few-public-methods
2 |
3 | class RSA:
4 | def get_backend(self):
5 | return "fallback"
6 |
7 |
8 | rsa = RSA()
9 |
--------------------------------------------------------------------------------
/plugins/Benchmark/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Benchmark",
3 | "description": "Test and benchmark database and cryptographic functions related to ZeroNet.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/CryptMessage/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CryptMessage",
3 | "description": "Cryptographic functions of ECIES and AES data encryption/decryption.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/TranslateSite/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "TranslateSite",
3 | "description": "Transparent support translation of site javascript and html files.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/disabled-Multiuser/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "MultiUser",
3 | "description": "Cookie based multi-users support on your ZeroNet web interface.",
4 | "default": "disabled"
5 | }
--------------------------------------------------------------------------------
/plugins/Sidebar/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Sidebar",
3 | "description": "Access site management sidebar and console by dragging top-right 0 button to left or down.",
4 | "default": "enabled"
5 | }
--------------------------------------------------------------------------------
/plugins/disabled-Bootstrapper/plugin_info.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Bootstrapper",
3 | "description": "Add BitTorrent tracker server like features to your ZeroNet client.",
4 | "default": "disabled"
5 | }
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/zh-tw.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "添加新網站: %s?",
3 | "Added %s new site": "已添加到新網站:%s",
4 | "Site deleted: %s": "網站已刪除:%s"
5 | }
6 |
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/zh.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "添加新站点: %s?",
3 | "Added %s new site": "已添加到新站点:%s",
4 | "Site deleted: %s": "站点已删除:%s"
5 | }
6 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/img/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/img/loading.gif
--------------------------------------------------------------------------------
/plugins/ContentFilter/languages/zh-tw.json:
--------------------------------------------------------------------------------
1 | {
2 | "Hide all content from %s?": "屏蔽 %s 的所有內容?",
3 | "Mute": "屏蔽",
4 | "Unmute %s?": "對 %s 解除屏蔽?",
5 | "Unmute": "解除屏蔽"
6 | }
7 |
--------------------------------------------------------------------------------
/plugins/ContentFilter/languages/zh.json:
--------------------------------------------------------------------------------
1 | {
2 | "Hide all content from %s?": "屏蔽 %s 的所有内容?",
3 | "Mute": "屏蔽",
4 | "Unmute %s?": "对 %s 解除屏蔽?",
5 | "Unmute": "解除屏蔽"
6 | }
7 |
--------------------------------------------------------------------------------
/plugins/disabled-Bootstrapper/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6
4 | markers =
5 | slow: mark a tests as slow.
6 | webtest: mark a test as a webtest.
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/domain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/domain.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/memory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/memory.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/slides.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/slides.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zeroid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zeroid.png
--------------------------------------------------------------------------------
/plugins/ContentFilter/languages/jp.json:
--------------------------------------------------------------------------------
1 | {
2 | "Hide all content from %s?": "%s のコンテンツをすべて隠しますか?",
3 | "Mute": "ミュート",
4 | "Unmute %s?": "%s のミュートを解除しますか?",
5 | "Unmute": "ミュート解除"
6 | }
7 |
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/jp.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "サイト: %s を追加しますか?",
3 | "Added %s new site": "サイト: %s を追加しました",
4 | "Site deleted: %s": "サイト: %s を削除しました"
5 | }
6 |
--------------------------------------------------------------------------------
/src/Test/pytest.ini:
--------------------------------------------------------------------------------
1 | [pytest]
2 | python_files = Test*.py
3 | addopts = -rsxX -v --durations=6 --no-print-logs --capture=fd
4 | markers =
5 | slow: mark a tests as slow.
6 | webtest: mark a test as a webtest.
7 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/multiuser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/multiuser.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/trayicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/trayicon.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zeroname.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zeroname.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zerotalk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zerotalk.png
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "Ajouter le site %s ?",
3 | "Added %s new site": "Site %s ajouté",
4 | "Site deleted: %s": "Site %s supprimé"
5 | }
6 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/autoupdate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/autoupdate.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/progressbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/progressbar.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/slots_memory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/slots_memory.png
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/tr.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "%s sitesi eklensin mi?",
3 | "Added %s new site": "%s sitesi eklendi",
4 | "Site deleted: %s": "%s sitesi silindi"
5 | }
6 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/direct_domains.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/direct_domains.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zerotalk-mark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zerotalk-mark.png
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/es.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "¿Agregar %s nuevo sitio?",
3 | "Added %s new site": "Sitio %s agregado",
4 | "Site deleted: %s": "Sitio removido: %s"
5 | }
6 |
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "Aggiungere %s nuovo sito ?",
3 | "Added %s new site": "Sito %s aggiunto",
4 | "Site deleted: %s": "Sito %s eliminato"
5 | }
6 |
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/pt-br.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "Adicionar %s novo site?",
3 | "Added %s new site": "Site %s adicionado",
4 | "Site deleted: %s": "Site removido: %s"
5 | }
6 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zeroblog-comments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zeroblog-comments.png
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zerotalk-upvote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/img/zerotalk-upvote.png
--------------------------------------------------------------------------------
/plugins/MergerSite/languages/hu.json:
--------------------------------------------------------------------------------
1 | {
2 | "Add %s new site?": "Új oldal hozzáadása: %s?",
3 | "Added %s new site": "Új oldal hozzáadva: %s",
4 | "Site deleted: %s": "Oldal törölve: %s"
5 | }
6 |
--------------------------------------------------------------------------------
/src/lib/sslcrypto/openssl/rsa.py:
--------------------------------------------------------------------------------
1 | # pylint: disable=too-few-public-methods
2 |
3 | from .library import openssl_backend
4 |
5 |
6 | class RSA:
7 | def get_backend(self):
8 | return openssl_backend
9 |
10 |
11 | rsa = RSA()
12 |
--------------------------------------------------------------------------------
/plugins/ContentFilter/languages/hu.json:
--------------------------------------------------------------------------------
1 | {
2 | "Hide all content from %s?": "%s tartalmaniak elrejtése?",
3 | "Mute": "Elnémítás",
4 | "Unmute %s?": "%s tartalmaniak megjelenítése?",
5 | "Unmute": "Némítás visszavonása"
6 | }
7 |
--------------------------------------------------------------------------------
/plugins/ContentFilter/languages/pt-br.json:
--------------------------------------------------------------------------------
1 | {
2 | "Hide all content from %s?": "%s Ocultar todo o conteúdo de ?",
3 | "Mute": "Ativar o Silêncio",
4 | "Unmute %s?": "%s Você quer mostrar o conteúdo deste usuário ?",
5 | "Unmute": "Desligar o silêncio"
6 | }
7 |
--------------------------------------------------------------------------------
/plugins/UiFileManager/media/codemirror/extension/search/matchesonscrollbar.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-search-match {
2 | background: gold;
3 | border-top: 1px solid orange;
4 | border-bottom: 1px solid orange;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | opacity: .5;
8 | }
9 |
--------------------------------------------------------------------------------
/plugins/ContentFilter/languages/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "Hide all content from %s?": "%s Vuoi nascondere i contenuti di questo utente ?",
3 | "Mute": "Attiva Silenzia",
4 | "Unmute %s?": "%s Vuoi mostrare i contenuti di questo utente ?",
5 | "Unmute": "Disattiva Silenzia"
6 | }
7 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | gevent==1.4.0; python_version <= "3.6"
2 | greenlet==0.4.16; python_version <= "3.6"
3 | gevent>=20.9.0; python_version >= "3.7"
4 | msgpack>=0.4.4
5 | base58
6 | merkletools
7 | rsa
8 | PySocks>=1.6.8
9 | pyasn1
10 | websocket_client
11 | gevent-ws
12 | coincurve
13 | maxminddb
14 |
--------------------------------------------------------------------------------
/plugins/UiConfig/media/js/lib/Prototypes.coffee:
--------------------------------------------------------------------------------
1 | String::startsWith = (s) -> @[...s.length] is s
2 | String::endsWith = (s) -> s is '' or @[-s.length..] is s
3 | String::repeat = (count) -> new Array( count + 1 ).join(@)
4 |
5 | window.isEmpty = (obj) ->
6 | for key of obj
7 | return false
8 | return true
9 |
--------------------------------------------------------------------------------
/plugins/UiPluginManager/media/js/lib/Prototypes.coffee:
--------------------------------------------------------------------------------
1 | String::startsWith = (s) -> @[...s.length] is s
2 | String::endsWith = (s) -> s is '' or @[-s.length..] is s
3 | String::repeat = (count) -> new Array( count + 1 ).join(@)
4 |
5 | window.isEmpty = (obj) ->
6 | for key of obj
7 | return false
8 | return true
9 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data-default/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "title": "MyZeroBlog",
3 | "description": "My ZeroBlog.",
4 | "links": "- [Source code](https://github.com/HelloZeroNet)",
5 | "next_post_id": 1,
6 | "demo": false,
7 | "modified": 1432515193,
8 | "post": [
9 | ]
10 | }
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/users/1CjfbrbwtP8Y2QjPy12vpTATkUT7oSiPQ9/peanut-butter-jelly-time.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HelloZeroNet/ZeroNet/HEAD/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/users/1CjfbrbwtP8Y2QjPy12vpTATkUT7oSiPQ9/peanut-butter-jelly-time.gif
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/users/1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "next_comment_id": 2,
3 | "comment": [
4 | {
5 | "comment_id": 1,
6 | "body": "Test me!",
7 | "post_id": 40,
8 | "date_added": 1432554679
9 | }
10 | ],
11 | "comment_vote": {}
12 | }
--------------------------------------------------------------------------------
/plugins/UiFileManager/media/js/lib/Prototypes.coffee:
--------------------------------------------------------------------------------
1 | String::startsWith = (s) -> @[...s.length] is s
2 | String::endsWith = (s) -> s is '' or @[-s.length..] is s
3 | String::repeat = (count) -> new Array( count + 1 ).join(@)
4 |
5 | window.isEmpty = (obj) ->
6 | for key of obj
7 | return false
8 | return true
9 |
10 |
--------------------------------------------------------------------------------
/plugins/disabled-StemPort/__init__.py:
--------------------------------------------------------------------------------
1 | try:
2 | from stem.control import Controller
3 | stem_found = True
4 | except Exception as err:
5 | print(("STEM NOT FOUND! %s" % err))
6 | stem_found = False
7 |
8 | if stem_found:
9 | print("Starting Stem plugin...")
10 | from . import StemPortPlugin
11 |
--------------------------------------------------------------------------------
/src/Test/coverage.ini:
--------------------------------------------------------------------------------
1 | [run]
2 | branch = True
3 | concurrency = gevent
4 | omit =
5 | src/lib/*
6 | src/Test/*
7 |
8 | [report]
9 | exclude_lines =
10 | pragma: no cover
11 | if __name__ == .__main__.:
12 | if config.debug:
13 | if config.debug_socket:
14 | if self.logging:
15 | def __repr__
16 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/users/1CjfbrbwtP8Y2QjPy12vpTATkUT7oSiPQ9/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "next_comment_id": 2,
3 | "comment": [
4 | {
5 | "comment_id": 1,
6 | "body": "hello from Tor!",
7 | "post_id": 38,
8 | "date_added": 1432491109
9 | }
10 | ],
11 | "comment_vote": {}
12 | }
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/users/1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "next_comment_id": 2,
3 | "comment": [
4 | {
5 | "comment_id": 1,
6 | "body": "hello from Tor!",
7 | "post_id": 38,
8 | "date_added": 1432491109
9 | }
10 | ],
11 | "comment_vote": {}
12 | }
--------------------------------------------------------------------------------
/src/Ui/media/img/logo-white.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/start.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 |
4 | # Included modules
5 | import sys
6 |
7 | # ZeroNet Modules
8 | import zeronet
9 |
10 |
11 | def main():
12 | if "--open_browser" not in sys.argv:
13 | sys.argv = [sys.argv[0]] + ["--open_browser", "default_browser"] + sys.argv[1:]
14 | zeronet.start()
15 |
16 | if __name__ == '__main__':
17 | main()
18 |
--------------------------------------------------------------------------------
/plugins/Sidebar/media/Prototypes.coffee:
--------------------------------------------------------------------------------
1 | String::startsWith = (s) -> @[...s.length] is s
2 | String::endsWith = (s) -> s is '' or @[-s.length..] is s
3 | String::capitalize = -> if @.length then @[0].toUpperCase() + @.slice(1) else ""
4 | String::repeat = (count) -> new Array( count + 1 ).join(@)
5 |
6 | window.isEmpty = (obj) ->
7 | for key of obj
8 | return false
9 | return true
10 |
--------------------------------------------------------------------------------
/src/Test/TestUiWebsocket.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import pytest
3 |
4 | @pytest.mark.usefixtures("resetSettings")
5 | class TestUiWebsocket:
6 | def testPermission(self, ui_websocket):
7 | res = ui_websocket.testAction("ping")
8 | assert res == "pong"
9 |
10 | res = ui_websocket.testAction("certList")
11 | assert "You don't have permission" in res["error"]
12 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/zh-tw.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "已固定 %s 個檔",
3 | "Removed pin from %s files": "已解除固定 %s 個檔",
4 | "You started to help distribute %s.
Directory: %s": "你已經開始幫助分發 %s 。
目錄:%s",
5 | "Help distribute all new optional files on site %s": "你想要幫助分發 %s 網站的所有檔嗎?",
6 | "Yes, I want to help!": "是,我想要幫助!"
7 | }
8 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/zh.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "已固定 %s 个文件",
3 | "Removed pin from %s files": "已解除固定 %s 个文件",
4 | "You started to help distribute %s.
Directory: %s": "您已经开始帮助分发 %s 。
目录:%s",
5 | "Help distribute all new optional files on site %s": "您想要帮助分发 %s 站点的所有文件吗?",
6 | "Yes, I want to help!": "是,我想要帮助!"
7 | }
8 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/jp.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "%s 件のファイルを固定",
3 | "Removed pin from %s files": "%s 件のファイルの固定を解除",
4 | "You started to help distribute %s.
Directory: %s": "あなたはサイト: %s の配布の援助を開始しました。
ディレクトリ: %s",
5 | "Help distribute all new optional files on site %s": "サイト: %s のすべての新しいオプションファイルの配布を援助しますか?",
6 | "Yes, I want to help!": "はい、やります!"
7 | }
8 |
--------------------------------------------------------------------------------
/src/Ui/media/lib/RateLimit.coffee:
--------------------------------------------------------------------------------
1 | limits = {}
2 | call_after_interval = {}
3 | window.RateLimit = (interval, fn) ->
4 | if not limits[fn]
5 | call_after_interval[fn] = false
6 | fn() # First call is not delayed
7 | limits[fn] = setTimeout (->
8 | if call_after_interval[fn]
9 | fn()
10 | delete limits[fn]
11 | delete call_after_interval[fn]
12 | ), interval
13 | else # Called within iterval, delay the call
14 | call_after_interval[fn] = true
15 |
--------------------------------------------------------------------------------
/plugins/Sidebar/media/RateLimit.coffee:
--------------------------------------------------------------------------------
1 | limits = {}
2 | call_after_interval = {}
3 | window.RateLimit = (interval, fn) ->
4 | if not limits[fn]
5 | call_after_interval[fn] = false
6 | fn() # First call is not delayed
7 | limits[fn] = setTimeout (->
8 | if call_after_interval[fn]
9 | fn()
10 | delete limits[fn]
11 | delete call_after_interval[fn]
12 | ), interval
13 | else # Called within iterval, delay the call
14 | call_after_interval[fn] = true
15 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/hu.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "%s fájl rögzítve",
3 | "Removed pin from %s files": "%s fájl rögzítés eltávolítva",
4 | "You started to help distribute %s.
Directory: %s": "Új segítség a terjesztésben: %s.
Könyvtár: %s",
5 | "Help distribute all new optional files on site %s": "Segítség az összes új opcionális fájl terjesztésében az %s oldalon",
6 | "Yes, I want to help!": "Igen, segíteni akarok!"
7 | }
8 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/pt-br.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "Arquivos %s fixados",
3 | "Removed pin from %s files": "Arquivos %s não estão fixados",
4 | "You started to help distribute %s.
Directory: %s": "Você começou a ajudar a distribuir %s.
Pasta: %s",
5 | "Help distribute all new optional files on site %s": "Ajude a distribuir todos os novos arquivos opcionais no site %s",
6 | "Yes, I want to help!": "Sim, eu quero ajudar!"
7 | }
8 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/es.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "Archivos %s fijados",
3 | "Removed pin from %s files": "Archivos %s que no estan fijados",
4 | "You started to help distribute %s.
Directory: %s": "Tu empezaste a ayudar a distribuir %s.
Directorio: %s",
5 | "Help distribute all new optional files on site %s": "Ayude a distribuir todos los archivos opcionales en el sitio %s",
6 | "Yes, I want to help!": "¡Si, yo quiero ayudar!"
7 | }
8 |
--------------------------------------------------------------------------------
/plugins/OptionalManager/languages/fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pinned %s files": "Fichiers %s épinglés",
3 | "Removed pin from %s files": "Fichiers %s ne sont plus épinglés",
4 | "You started to help distribute %s.
Directory: %s": "Vous avez commencé à aider à distribuer %s.
Dossier : %s",
5 | "Help distribute all new optional files on site %s": "Aider à distribuer tous les fichiers optionnels du site %s",
6 | "Yes, I want to help!": "Oui, je veux aider !"
7 | }
8 |
--------------------------------------------------------------------------------
/plugins/Trayicon/languages/zh-tw.json:
--------------------------------------------------------------------------------
1 | {
2 | "ZeroNet Twitter": "ZeroNet Twitter",
3 | "ZeroNet Reddit": "ZeroNet Reddit",
4 | "ZeroNet Github": "ZeroNet Github",
5 | "Report bug/request feature": "回饋问题/請求功能",
6 | "!Open ZeroNet": "!開啟 ZeroNet",
7 | "Quit": "退出",
8 | "(active)": "(主動模式)",
9 | "(passive)": "(被動模式)",
10 | "Connections: %s": "連線數: %s",
11 | "Received: %.2f MB | Sent: %.2f MB": "已收到: %.2f MB | 已傳送: %.2f MB",
12 | "Show console window": "顯示控制臺窗體",
13 | "Start ZeroNet when Windows starts": "在 Windows 啟動時執行 ZeroNet"
14 | }
15 |
--------------------------------------------------------------------------------
/plugins/Trayicon/languages/zh.json:
--------------------------------------------------------------------------------
1 | {
2 | "ZeroNet Twitter": "ZeroNet Twitter",
3 | "ZeroNet Reddit": "ZeroNet Reddit",
4 | "ZeroNet Github": "ZeroNet Github",
5 | "Report bug/request feature": "反馈问题/请求功能",
6 | "!Open ZeroNet": "!打开 ZeroNet",
7 | "Quit": "退出",
8 | "(active)": "(主动模式)",
9 | "(passive)": "(被动模式)",
10 | "Connections: %s": "连接数: %s",
11 | "Received: %.2f MB | Sent: %.2f MB": "已接收: %.2f MB | 已发送: %.2f MB",
12 | "Show console window": "显示控制台窗口",
13 | "Start ZeroNet when Windows starts": "在 Windows 启动时运行 ZeroNet"
14 | }
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # Log files
6 | **/*.log
7 |
8 | # Hidden files
9 | .*
10 | !/.github
11 | !/.gitignore
12 | !/.travis.yml
13 | !/.gitlab-ci.yml
14 |
15 | # Temporary files
16 | *.bak
17 |
18 | # Data dir
19 | data/*
20 | *.db
21 |
22 | # Virtualenv
23 | env/*
24 |
25 | # Tor data
26 | tools/tor/data
27 |
28 | # PhantomJS, downloaded manually for unit tests
29 | tools/phantomjs
30 |
31 | # ZeroNet config file
32 | zeronet.conf
33 |
34 | # ZeroNet log files
35 | log/*
36 |
--------------------------------------------------------------------------------
/plugins/Trayicon/languages/jp.json:
--------------------------------------------------------------------------------
1 | {
2 | "ZeroNet Twitter": "ZeroNet Twitter",
3 | "ZeroNet Reddit": "ZeroNet Reddit",
4 | "ZeroNet Github": "ZeroNet Github",
5 | "Report bug/request feature": "バグ報告/要望",
6 | "!Open ZeroNet": "!ZeroNetをブラウザで開く",
7 | "Quit": "閉じる",
8 | "(active)": "(アクティブ)",
9 | "(passive)": "(パッシブ)",
10 | "Connections: %s": "接続数: %s",
11 | "Received: %.2f MB | Sent: %.2f MB": "受信: %.2f MB | 送信: %.2f MB",
12 | "Show console window": "コンソールを表示",
13 | "Start ZeroNet when Windows starts": "Windows起動時にZeroNetも起動する"
14 | }
15 |
--------------------------------------------------------------------------------
/src/Test/testdata/1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/data/test_include/content.json:
--------------------------------------------------------------------------------
1 | {
2 | "address": "1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT",
3 | "files": {
4 | "data.json": {
5 | "sha512": "369d4e780cc80504285f13774ca327fe725eed2d813aad229e62356b07365906",
6 | "size": 505
7 | }
8 | },
9 | "inner_path": "data/test_include/content.json",
10 | "modified": 1470340816.513,
11 | "signs": {
12 | "1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT": "GxF2ZD0DaMx+CuxafnnRx+IkWTrXubcmTHaJIPyemFpzCvbSo6DyjstN8T3qngFhYIZI/MkcG4ogStG0PLv6p3w="
13 | }
14 | }
--------------------------------------------------------------------------------
/plugins/UiPluginManager/media/plugin_manager.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |