gitextract__wvjr9ao/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report.md │ │ └── feature_request.md │ └── workflows/ │ └── tests.yml ├── .gitignore ├── .gitlab-ci.yml ├── .travis.yml ├── CHANGELOG.md ├── COPYING ├── Dockerfile ├── Dockerfile.arm64v8 ├── LICENSE ├── README-ru.md ├── README-zh-cn.md ├── README.md ├── Vagrantfile ├── plugins/ │ ├── AnnounceBitTorrent/ │ │ ├── AnnounceBitTorrentPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── AnnounceLocal/ │ │ ├── AnnounceLocalPlugin.py │ │ ├── BroadcastServer.py │ │ ├── Test/ │ │ │ ├── TestAnnounce.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── AnnounceShare/ │ │ ├── AnnounceSharePlugin.py │ │ ├── Test/ │ │ │ ├── TestAnnounceShare.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── AnnounceZero/ │ │ ├── AnnounceZeroPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── Benchmark/ │ │ ├── BenchmarkDb.py │ │ ├── BenchmarkPack.py │ │ ├── BenchmarkPlugin.py │ │ ├── __init__.py │ │ ├── media/ │ │ │ └── benchmark.html │ │ └── plugin_info.json │ ├── Bigfile/ │ │ ├── BigfilePiecefield.py │ │ ├── BigfilePlugin.py │ │ ├── Test/ │ │ │ ├── TestBigfile.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ └── __init__.py │ ├── Chart/ │ │ ├── ChartCollector.py │ │ ├── ChartDb.py │ │ ├── ChartPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── ContentFilter/ │ │ ├── ContentFilterPlugin.py │ │ ├── ContentFilterStorage.py │ │ ├── Test/ │ │ │ ├── TestContentFilter.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── __init__.py │ │ ├── languages/ │ │ │ ├── hu.json │ │ │ ├── it.json │ │ │ ├── jp.json │ │ │ ├── pt-br.json │ │ │ ├── zh-tw.json │ │ │ └── zh.json │ │ ├── media/ │ │ │ ├── blocklisted.html │ │ │ └── js/ │ │ │ └── ZeroFrame.js │ │ └── plugin_info.json │ ├── Cors/ │ │ ├── CorsPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── CryptMessage/ │ │ ├── CryptMessage.py │ │ ├── CryptMessagePlugin.py │ │ ├── Test/ │ │ │ ├── TestCrypt.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── FilePack/ │ │ ├── FilePackPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── MergerSite/ │ │ ├── MergerSitePlugin.py │ │ ├── __init__.py │ │ └── languages/ │ │ ├── es.json │ │ ├── fr.json │ │ ├── hu.json │ │ ├── it.json │ │ ├── jp.json │ │ ├── pt-br.json │ │ ├── tr.json │ │ ├── zh-tw.json │ │ └── zh.json │ ├── Newsfeed/ │ │ ├── NewsfeedPlugin.py │ │ └── __init__.py │ ├── OptionalManager/ │ │ ├── ContentDbPlugin.py │ │ ├── OptionalManagerPlugin.py │ │ ├── Test/ │ │ │ ├── TestOptionalManager.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── UiWebsocketPlugin.py │ │ ├── __init__.py │ │ └── languages/ │ │ ├── es.json │ │ ├── fr.json │ │ ├── hu.json │ │ ├── jp.json │ │ ├── pt-br.json │ │ ├── zh-tw.json │ │ └── zh.json │ ├── PeerDb/ │ │ ├── PeerDbPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── Sidebar/ │ │ ├── ConsolePlugin.py │ │ ├── SidebarPlugin.py │ │ ├── ZipStream.py │ │ ├── __init__.py │ │ ├── languages/ │ │ │ ├── da.json │ │ │ ├── de.json │ │ │ ├── es.json │ │ │ ├── fr.json │ │ │ ├── hu.json │ │ │ ├── it.json │ │ │ ├── jp.json │ │ │ ├── pl.json │ │ │ ├── pt-br.json │ │ │ ├── ru.json │ │ │ ├── tr.json │ │ │ ├── zh-tw.json │ │ │ └── zh.json │ │ ├── media/ │ │ │ ├── Class.coffee │ │ │ ├── Console.coffee │ │ │ ├── Console.css │ │ │ ├── Menu.coffee │ │ │ ├── Menu.css │ │ │ ├── Prototypes.coffee │ │ │ ├── RateLimit.coffee │ │ │ ├── Scrollable.js │ │ │ ├── Scrollbable.css │ │ │ ├── Sidebar.coffee │ │ │ ├── Sidebar.css │ │ │ ├── all.css │ │ │ ├── all.js │ │ │ └── morphdom.js │ │ ├── media_globe/ │ │ │ ├── Detector.js │ │ │ ├── Tween.js │ │ │ ├── all.js │ │ │ └── globe.js │ │ └── plugin_info.json │ ├── Stats/ │ │ ├── StatsPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── TranslateSite/ │ │ ├── TranslateSitePlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── Trayicon/ │ │ ├── TrayiconPlugin.py │ │ ├── __init__.py │ │ ├── languages/ │ │ │ ├── es.json │ │ │ ├── fr.json │ │ │ ├── hu.json │ │ │ ├── it.json │ │ │ ├── jp.json │ │ │ ├── pl.json │ │ │ ├── pt-br.json │ │ │ ├── tr.json │ │ │ ├── zh-tw.json │ │ │ └── zh.json │ │ ├── lib/ │ │ │ ├── __init__.py │ │ │ ├── notificationicon.py │ │ │ └── winfolders.py │ │ └── plugin_info.json │ ├── UiConfig/ │ │ ├── UiConfigPlugin.py │ │ ├── __init__.py │ │ ├── languages/ │ │ │ ├── hu.json │ │ │ ├── jp.json │ │ │ ├── pl.json │ │ │ ├── pt-br.json │ │ │ └── zh.json │ │ ├── media/ │ │ │ ├── config.html │ │ │ ├── css/ │ │ │ │ ├── Config.css │ │ │ │ ├── all.css │ │ │ │ ├── button.css │ │ │ │ └── fonts.css │ │ │ └── js/ │ │ │ ├── ConfigStorage.coffee │ │ │ ├── ConfigView.coffee │ │ │ ├── UiConfig.coffee │ │ │ ├── all.js │ │ │ ├── lib/ │ │ │ │ ├── Class.coffee │ │ │ │ ├── Promise.coffee │ │ │ │ ├── Prototypes.coffee │ │ │ │ └── maquette.js │ │ │ └── utils/ │ │ │ ├── Animation.coffee │ │ │ ├── Dollar.coffee │ │ │ └── ZeroFrame.coffee │ │ └── plugin_info.json │ ├── UiFileManager/ │ │ ├── UiFileManagerPlugin.py │ │ ├── __init__.py │ │ ├── languages/ │ │ │ ├── hu.json │ │ │ └── jp.json │ │ └── media/ │ │ ├── codemirror/ │ │ │ ├── LICENSE │ │ │ ├── all.css │ │ │ ├── all.js │ │ │ ├── base/ │ │ │ │ ├── codemirror.css │ │ │ │ └── codemirror.js │ │ │ ├── extension/ │ │ │ │ ├── dialog/ │ │ │ │ │ ├── dialog.css │ │ │ │ │ └── dialog.js │ │ │ │ ├── edit/ │ │ │ │ │ ├── closebrackets.js │ │ │ │ │ ├── closetag.js │ │ │ │ │ ├── continuelist.js │ │ │ │ │ ├── matchbrackets.js │ │ │ │ │ ├── matchtags.js │ │ │ │ │ └── trailingspace.js │ │ │ │ ├── fold/ │ │ │ │ │ ├── brace-fold.js │ │ │ │ │ ├── comment-fold.js │ │ │ │ │ ├── foldcode.js │ │ │ │ │ ├── foldgutter.css │ │ │ │ │ ├── foldgutter.js │ │ │ │ │ ├── indent-fold.js │ │ │ │ │ ├── markdown-fold.js │ │ │ │ │ └── xml-fold.js │ │ │ │ ├── hint/ │ │ │ │ │ ├── anyword-hint.js │ │ │ │ │ ├── html-hint.js │ │ │ │ │ ├── show-hint.css │ │ │ │ │ ├── show-hint.js │ │ │ │ │ ├── sql-hint.js │ │ │ │ │ └── xml-hint.js │ │ │ │ ├── lint/ │ │ │ │ │ ├── json-lint.js │ │ │ │ │ ├── jsonlint.js │ │ │ │ │ ├── lint.css │ │ │ │ │ └── lint.js │ │ │ │ ├── mdn-like-custom.css │ │ │ │ ├── scroll/ │ │ │ │ │ ├── annotatescrollbar.js │ │ │ │ │ ├── scrollpastend.js │ │ │ │ │ ├── simplescrollbars.css │ │ │ │ │ └── simplescrollbars.js │ │ │ │ ├── search/ │ │ │ │ │ ├── jump-to-line.js │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ │ ├── search.js │ │ │ │ │ └── searchcursor.js │ │ │ │ ├── selection/ │ │ │ │ │ ├── active-line.js │ │ │ │ │ ├── mark-selection.js │ │ │ │ │ └── selection-pointer.js │ │ │ │ ├── simple.js │ │ │ │ └── sublime.js │ │ │ └── mode/ │ │ │ ├── coffeescript.js │ │ │ ├── css.js │ │ │ ├── go.js │ │ │ ├── htmlembedded.js │ │ │ ├── htmlmixed.js │ │ │ ├── javascript.js │ │ │ ├── markdown.js │ │ │ ├── python.js │ │ │ ├── rust.js │ │ │ └── xml.js │ │ ├── css/ │ │ │ ├── Menu.css │ │ │ ├── Selectbar.css │ │ │ ├── UiFileManager.css │ │ │ └── all.css │ │ ├── js/ │ │ │ ├── Config.coffee │ │ │ ├── FileEditor.coffee │ │ │ ├── FileItemList.coffee │ │ │ ├── FileList.coffee │ │ │ ├── UiFileManager.coffee │ │ │ ├── all.js │ │ │ └── lib/ │ │ │ ├── Animation.coffee │ │ │ ├── Class.coffee │ │ │ ├── Dollar.coffee │ │ │ ├── ItemList.coffee │ │ │ ├── Menu.coffee │ │ │ ├── Promise.coffee │ │ │ ├── Prototypes.coffee │ │ │ ├── RateLimitCb.coffee │ │ │ ├── Text.coffee │ │ │ ├── Time.coffee │ │ │ ├── ZeroFrame.coffee │ │ │ └── maquette.js │ │ └── list.html │ ├── UiPluginManager/ │ │ ├── UiPluginManagerPlugin.py │ │ ├── __init__.py │ │ └── media/ │ │ ├── css/ │ │ │ ├── PluginManager.css │ │ │ ├── all.css │ │ │ ├── button.css │ │ │ └── fonts.css │ │ ├── js/ │ │ │ ├── PluginList.coffee │ │ │ ├── UiPluginManager.coffee │ │ │ ├── all.js │ │ │ ├── lib/ │ │ │ │ ├── Class.coffee │ │ │ │ ├── Promise.coffee │ │ │ │ ├── Prototypes.coffee │ │ │ │ └── maquette.js │ │ │ └── utils/ │ │ │ ├── Animation.coffee │ │ │ ├── Dollar.coffee │ │ │ └── ZeroFrame.coffee │ │ └── plugin_manager.html │ ├── Zeroname/ │ │ ├── README.md │ │ ├── SiteManagerPlugin.py │ │ ├── __init__.py │ │ └── updater/ │ │ └── zeroname_updater.py │ ├── __init__.py │ ├── disabled-Bootstrapper/ │ │ ├── BootstrapperDb.py │ │ ├── BootstrapperPlugin.py │ │ ├── Test/ │ │ │ ├── TestBootstrapper.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── disabled-Dnschain/ │ │ ├── SiteManagerPlugin.py │ │ ├── UiRequestPlugin.py │ │ └── __init__.py │ ├── disabled-DonationMessage/ │ │ ├── DonationMessagePlugin.py │ │ └── __init__.py │ ├── disabled-Multiuser/ │ │ ├── MultiuserPlugin.py │ │ ├── Test/ │ │ │ ├── TestMultiuser.py │ │ │ ├── conftest.py │ │ │ └── pytest.ini │ │ ├── UserPlugin.py │ │ ├── __init__.py │ │ └── plugin_info.json │ ├── disabled-StemPort/ │ │ ├── StemPortPlugin.py │ │ └── __init__.py │ ├── disabled-UiPassword/ │ │ ├── UiPasswordPlugin.py │ │ ├── __init__.py │ │ ├── login.html │ │ └── plugin_info.json │ └── disabled-ZeronameLocal/ │ ├── SiteManagerPlugin.py │ ├── UiRequestPlugin.py │ └── __init__.py ├── requirements.txt ├── src/ │ ├── Config.py │ ├── Connection/ │ │ ├── Connection.py │ │ ├── ConnectionServer.py │ │ └── __init__.py │ ├── Content/ │ │ ├── ContentDb.py │ │ ├── ContentDbDict.py │ │ ├── ContentManager.py │ │ └── __init__.py │ ├── Crypt/ │ │ ├── Crypt.py │ │ ├── CryptBitcoin.py │ │ ├── CryptConnection.py │ │ ├── CryptHash.py │ │ ├── CryptRsa.py │ │ └── __init__.py │ ├── Db/ │ │ ├── Db.py │ │ ├── DbCursor.py │ │ ├── DbQuery.py │ │ └── __init__.py │ ├── Debug/ │ │ ├── Debug.py │ │ ├── DebugHook.py │ │ ├── DebugLock.py │ │ ├── DebugMedia.py │ │ ├── DebugReloader.py │ │ └── __init__.py │ ├── File/ │ │ ├── FileRequest.py │ │ ├── FileServer.py │ │ └── __init__.py │ ├── Peer/ │ │ ├── Peer.py │ │ ├── PeerHashfield.py │ │ ├── PeerPortchecker.py │ │ └── __init__.py │ ├── Plugin/ │ │ ├── PluginManager.py │ │ └── __init__.py │ ├── Site/ │ │ ├── Site.py │ │ ├── SiteAnnouncer.py │ │ ├── SiteManager.py │ │ ├── SiteStorage.py │ │ └── __init__.py │ ├── Test/ │ │ ├── BenchmarkSsl.py │ │ ├── Spy.py │ │ ├── TestCached.py │ │ ├── TestConfig.py │ │ ├── TestConnectionServer.py │ │ ├── TestContent.py │ │ ├── TestContentUser.py │ │ ├── TestCryptBitcoin.py │ │ ├── TestCryptConnection.py │ │ ├── TestCryptHash.py │ │ ├── TestDb.py │ │ ├── TestDbQuery.py │ │ ├── TestDebug.py │ │ ├── TestDiff.py │ │ ├── TestEvent.py │ │ ├── TestFileRequest.py │ │ ├── TestFlag.py │ │ ├── TestHelper.py │ │ ├── TestMsgpack.py │ │ ├── TestNoparallel.py │ │ ├── TestPeer.py │ │ ├── TestRateLimit.py │ │ ├── TestSafeRe.py │ │ ├── TestSite.py │ │ ├── TestSiteDownload.py │ │ ├── TestSiteStorage.py │ │ ├── TestThreadPool.py │ │ ├── TestTor.py │ │ ├── TestTranslate.py │ │ ├── TestUiWebsocket.py │ │ ├── TestUpnpPunch.py │ │ ├── TestUser.py │ │ ├── TestWeb.py │ │ ├── TestWorkerTaskManager.py │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── coverage.ini │ │ ├── pytest.ini │ │ └── testdata/ │ │ └── 1TeSTvb4w2PWE81S2rEELgmX2GCCExQGT-original/ │ │ ├── content.json │ │ ├── css/ │ │ │ └── all.css │ │ ├── data/ │ │ │ ├── data.json │ │ │ ├── optional.txt │ │ │ ├── test_include/ │ │ │ │ ├── content.json │ │ │ │ └── data.json │ │ │ └── users/ │ │ │ ├── 1C5sgvWaSgfaTpV5kjBCnCiKtENNMYo69q/ │ │ │ │ ├── content.json │ │ │ │ └── data.json │ │ │ ├── 1CjfbrbwtP8Y2QjPy12vpTATkUT7oSiPQ9/ │ │ │ │ ├── content.json │ │ │ │ └── data.json │ │ │ ├── 1J6UrZMkarjVg5ax9W4qThir3BFUikbW6C/ │ │ │ │ ├── content.json │ │ │ │ └── data.json │ │ │ └── content.json │ │ ├── data-default/ │ │ │ ├── data.json │ │ │ └── users/ │ │ │ └── content-default.json │ │ ├── dbschema.json │ │ ├── index.html │ │ └── js/ │ │ └── all.js │ ├── Tor/ │ │ ├── TorManager.py │ │ └── __init__.py │ ├── Translate/ │ │ ├── Translate.py │ │ ├── __init__.py │ │ └── languages/ │ │ ├── da.json │ │ ├── de.json │ │ ├── es.json │ │ ├── fa.json │ │ ├── fr.json │ │ ├── hu.json │ │ ├── it.json │ │ ├── jp.json │ │ ├── nl.json │ │ ├── pl.json │ │ ├── pt-br.json │ │ ├── ru.json │ │ ├── sk.json │ │ ├── sl.json │ │ ├── tr.json │ │ ├── zh-tw.json │ │ └── zh.json │ ├── Ui/ │ │ ├── UiRequest.py │ │ ├── UiServer.py │ │ ├── UiWebsocket.py │ │ ├── __init__.py │ │ ├── media/ │ │ │ ├── Fixbutton.coffee │ │ │ ├── Infopanel.coffee │ │ │ ├── Loading.coffee │ │ │ ├── Notifications.coffee │ │ │ ├── Wrapper.coffee │ │ │ ├── Wrapper.css │ │ │ ├── WrapperZeroFrame.coffee │ │ │ ├── ZeroSiteTheme.coffee │ │ │ ├── all.css │ │ │ ├── all.js │ │ │ ├── img/ │ │ │ │ ├── favicon.psd │ │ │ │ └── logo.psd │ │ │ └── lib/ │ │ │ ├── RateLimit.coffee │ │ │ ├── Translate.coffee │ │ │ ├── ZeroWebsocket.coffee │ │ │ ├── jquery.cssanim.js │ │ │ ├── jquery.csslater.coffee │ │ │ └── jquery.easing.js │ │ └── template/ │ │ ├── site_add.html │ │ └── wrapper.html │ ├── User/ │ │ ├── User.py │ │ ├── UserManager.py │ │ └── __init__.py │ ├── Worker/ │ │ ├── Worker.py │ │ ├── WorkerManager.py │ │ ├── WorkerTaskManager.py │ │ └── __init__.py │ ├── __init__.py │ ├── lib/ │ │ ├── __init__.py │ │ ├── bencode_open/ │ │ │ ├── LICENSE │ │ │ └── __init__.py │ │ ├── cssvendor/ │ │ │ ├── __init__.py │ │ │ └── cssvendor.py │ │ ├── gevent_ws/ │ │ │ └── __init__.py │ │ ├── libsecp256k1message/ │ │ │ ├── __init__.py │ │ │ └── libsecp256k1message.py │ │ ├── openssl/ │ │ │ └── openssl.cnf │ │ ├── pyaes/ │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── aes.py │ │ │ ├── blockfeeder.py │ │ │ └── util.py │ │ ├── sslcrypto/ │ │ │ ├── LICENSE │ │ │ ├── __init__.py │ │ │ ├── _aes.py │ │ │ ├── _ecc.py │ │ │ ├── _ripemd.py │ │ │ ├── fallback/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _jacobian.py │ │ │ │ ├── _util.py │ │ │ │ ├── aes.py │ │ │ │ ├── ecc.py │ │ │ │ └── rsa.py │ │ │ └── openssl/ │ │ │ ├── __init__.py │ │ │ ├── aes.py │ │ │ ├── discovery.py │ │ │ ├── ecc.py │ │ │ ├── library.py │ │ │ └── rsa.py │ │ └── subtl/ │ │ ├── LICENCE │ │ ├── README.md │ │ ├── __init__.py │ │ └── subtl.py │ ├── main.py │ └── util/ │ ├── Cached.py │ ├── Diff.py │ ├── Electrum.py │ ├── Event.py │ ├── Flag.py │ ├── GreenletManager.py │ ├── Msgpack.py │ ├── Noparallel.py │ ├── OpensslFindPatch.py │ ├── Platform.py │ ├── Pooled.py │ ├── QueryJson.py │ ├── RateLimit.py │ ├── SafeRe.py │ ├── SocksProxy.py │ ├── ThreadPool.py │ ├── UpnpPunch.py │ ├── __init__.py │ └── helper.py ├── start.py ├── tools/ │ └── coffee/ │ ├── README.md │ ├── coffee-script.js │ ├── coffee.cmd │ └── coffee.wsf ├── update.py └── zeronet.py