ZeroNet Blogs

Static ZeroNet blogs mirror

On the eve of the assassination attempt on the traitor, a brooding FSB officer stood in front of a table of boards on a secret appearance in Salisbury. On the table were laid out:

  • potassium cyanide
  • strychnine
  • British spy poison from the number of seized earlier
  • hatchet from the nearest wood-burning barn
  • a black market gun in the East End, missing from the radar ten years ago
  • homemade bomb
  • bayonet knife
  • Banana

  • and, finally, a unique nerve agent, developed in the USSR in the 1980s.

"Well, of course!" — slapped an officer on his forehead. "Only with the help of a unique Soviet toxic agent can I cover up the tracks leading to Russia!" Then he grabbed a tube of poison, straightened his hat with a star on his head and went out into the morning Salisbury, mixing with the crowd.

The size of optional files of my ZeroMe account is reaching 10 MB, and Orange hub has max_optional_file_size settings in ./data/users/content.json (For official hubs only Orange hub and Sun hub have such a setting, other hubs don't, so I guess it's an experiment for Nofish to test max_optional_file_zite feature, and Nofish created White hub by cloning another hub, but created Sun hub by cloning Orange hub), therefore I can't sign and publish my content if I post a large image with that account. I try to ask Nofish for removing that setting or adding extra permission for my account, by both ZeroMe and ZeroMail, but didn't receive reply or change for several days.. So I have to deal it by myself.

I clone a new hub, create a new profile with a different id (0ch.anonymous by 0chan.bit, because a user can't have two same ZeroID in users.json iirc, also 0chan.bit is retired in favor of Milchan.bit, so.. :3) and use the script below to copy posts with image to my new account in my own hub:

old_data = json.load(open('data-old.json'))
posts_with_image = []
for post in old_data['post']:
    if 'meta' in post and post['meta'] != '{}':
        post['body'] += "\n\n--- ---\n[archived image](?Post/1Mf7JmunnJXvvPospsw85GoZP5ZRxMNKi5/1CC9pMzxP3CEuJLmkK1GBgGMHZdh1Zj9Fv/" + str(post['post_id']) + ") in my own hub"
new_data = json.load(open('data-new.json'))
new_data['post'] += posts_with_image
new_data['next_post_id'] += len(posts_with_image)

json.dump(old_data, open('data-old.json','w'), indent=2)
json.dump(new_data, open('data-new.json','w'), indent=2)

As you see I didn't remove my old posts, but just remove image items and add a link to the related new post. Good idea, isn't it :D

Doing this kind of thing is a bit ridiculous imho, but I have to. Because the admin/owner of Orange hub is Nofish and you probably know that the whole ZeroNet project, as well as all official zites, are almost developed and maintained by himself/only one person. So I won't complain any thing when some of my voices didn't get caught by his eyes.

Even so, I'd like to think of some better solution for solving the issue I have in this time:

Firstly, I like very much the idea of DAO (Decentralized autonomous organization), for creating an organization without any centralized administration/management (Wikipedia doesn't have a decent definition for it, I don't trust Wikipedia for infomation about this kind of things either, and too lazy to discover some good instructions, so.. sorry that no further info :P). Although ZeroNet itself doesn't have adminstration, but a zite has ownership, and the owner can modify all the data of her/his zites, including other users' data.json, aka comments, posts, etc. It may sound a little scary, but unfornutately this is how ZeroNet works. A lot better than clearnet if you agree..

Are there some methods to avoid bad things?

Yep, keep backing up your data, as a mistake or zite bug can delete all your content. If you are worried that the zite owner may change your content, you can write a bot to keep tracking if your content on the zite matches the content of your backup, we can even create a clonable zite for this purpose. With ZeroHello the zite may even provide an alert when content gets changed, but probably it's not worth for developing such a site.. For more secure conversation, a user can use ZeroMail.

And some possible solutions?

Using ZeroMe as example, you may know that your data on ZeroMe are stored in hub zite but not ZeroMe (frontend) zite itself. So just as mentioned before, a user can create and use a hub for himself. But according to the current design of ZeroMe, when you comment on a post of a user from another hub, you actually created a new data.json in that hub and are writing data there. Why design in this way? Because if the comment is stored in your own hub, and if the post owner doesn't add your hub, then s/he won't be able to view your comment ><

Notes Update Log

- Posted in BinChan's ZeroNotes by with comments

14/03/18 Local ZeroMail Bot add security suggestion in FAQ 1: remove subject, body (or even send_from) to avoid storing ZeroMail in plaintext.

24/01/18 Setup A Clearnet Proxy for ZeroNet add Edit 1: more secure way to start ZeroNet server for clearnet thanks to Lxpz's config.

30/12/17 My ZeroBlog Goes Dark Now add Edit 1: now I also provide an option to view my blog in white theme, simply click the link in left panel for it.

13/12/17 Add Experimental History Diff to the Current ZeroWiki add ZeroHello feed query code and screenshot. A Dark Theme for ZeroNet add json format of the style and new method to install and update the dark theme.

10/12/17 Some Experience with Pebble Time Recently add Edit 2: List of highest funded crowdfunding projects from Wikipedia.

15/11/17 Updated ZeroBlog with Tag Index and Mobile Support source code is now available on Git Center.

11/11/17 ZeroMessage: ZeroChat as a Widget for Any Zite! improve code for better compatibility again and easier installation (still a little buggy for ZeroBlog, etc), also now you can check my messy repo on Git Center for the changes.

29/10/17 The Ultimate ZeroNet Mobile Guide add alert for ZeroNet-kivy Android app.

09/10/17 Some Experiments about ZeroHello Feed add PS1, I can receive feed from ZeroMail now, but meaningless.

25/09/17 Some Experiments about ZeroHello Feed add an example to follow new ZeroNet-related topics on ZeroTalk.

25/09/17 Tutorial: How to Fetch Twitter Profile and Read it Offline add two tips to handle progress hanging problem.

23/09/17 A Dark Theme For ZeroNet add privacy alert for Chrome version of Stylish plugin.

20/09/17 ZeroMessage: ZeroChat as a Widget for Any Zite! improve code for better compatibility (still buggy for ZeroBlog, afaik code related to siteinfo is in conflict with ZeroBlog, have no solution yet), add PS2 (Follow button and how to only follow username mention).

01/08/17 A Dark Theme For ZeroNet fix ZeroHello, Independent Scroll for Panel in ZeroHello is also fixed for new ZeroHello. The Ultimate ZeroNet Mobile Guide remove ZeroHello from ZeroNet mobile userscript :>

24/07/17 The Ultimate ZeroNet Mobile Guide change Note 1 to a harmless method, also add more explanation to browser recommendation.

19/07/17 Independent Scroll for Panel in ZeroHello fix a bug that feedlist keeps autoloading, but also the right topbar and searchbar are not pinned anymore.

12/07/17 ZeroMessage: ZeroChat as a Widget for Any+Zite! add PS1, extra step for zite that already has dbschema.json.

23/06/17 Playing Jekyll ~ add "a phote gallery zite by Jekyll"

09/06/17 Language Sorting for ZeroTalk adds PS (dream tool to sort languages).

30/05/17 Language Sorting for ZeroTalk adds Point 4.

17/05/17 Check if a zite connects to clearnet adds PS2 (relative info and link)

08/05/17 ZeroMe Feed Bot adds summary limited to 300 characters.

28/04/17 ZeroMe Feed Bot adds troubleshooting for a bug that the script sometimes hangs up.

27/04/17 A Dark Theme For ZeroNet changes code host.

23/04/17 ZeroMe Feed Bot step 2 and step 5 add PS (One-line command and another way to repeat command).

17/02/17 Profile changed to "Messy Notes about using Zeronet and other things", so this ~~blog~~ notebook will also cover some other things, mainly some gnu/linux tweaks I guess.

15/02/17 Userscript to filter users on ZeroMe adds PS4.

03/02/17 Userscript to filter users on ZeroMe improves the script and adds PS3.

01/02/17 ZeroNet+on+a+Raspberry+Pi+2 adds PS (solution) to Try to add --ui_restrict argument, but failed, log said "too few arguments." and to "Other issues".

01/02/17 Userscript to filter 'Hello ZeroMe!' posts on ZeroMe adds PS, the feature is officially supported now.

06/01/17 A Dark Theme For ZeroNet adds two screenshots

22/12/16 ZeroNet+on+a+Raspberry+Pi+2 adds solution to ZeroMail always has one file that updates failed.

~~PS: I change the date of this note to 2022 :3 I guess it can pin on the top for a while ~~~ (tip: remove timestamp and save it to renew date)

A collection of simple questions and answers, that will be growing over time:

Feel free to request new Answers and Languages

I wrote before in parallel blog how this year to my wife, random guys on the street gave two huge bouquets of flowers.

In my opinion, these are the consequences of the ever-expanding actions on the congratulation of women. Especially distinguished this year with gifts Russian special forces :D

1HVBg558zd0.jpg (800x450)

So congratulated women from March 8 firefighters in Karelia:

j7p63tywlq800gwwgg8.jpg (960x720)

Gifts for women in the subway:

2c455a87.jpg (690x391)

Flowers are given by the mounted police.

117602.jpg (800x757)

The traffic police, too, did not stay aloof.

inx960x640.jpg (960x640)

It was already traditionally many congratulations from ordinary Russians. Here is a congratulation from men in the Volgograd region.

1520602200_snimok.jpg (1052x629)

8x8 WS2812b matrix

- Posted in DIY@Balancer by with comments

I play with a matrix of 8x8 based on WS2812b. Connected to ESP8266 and I want to make downloadable by air animations.

Балуюсь с матрицей 8x8 на основе WS2812b. Подключил к ESP8266 и хочу сделать загружаемые по воздуху анимации.

20180310_200220.jpg (1200x900)

Flowers on March, 8

- Posted in Balancer's Blog (EN) by with comments

My wife was returning home from work. At the entrance of the house two drunken guys gave her two huge bouquets of tulips. And in every door handle in the apartments of our house - the flowers are stuck :)

This, apparently, the people continue to celebrate the women's day, the 8th of March :)

20180310_193607.jpg (1200x900)

Some information for reflection. About how Russia is closed, censored and how it suppresses freedom of the media. In Syria, the transport An-26 crashed. 39 people died. Since the disaster took one day. The Russian Internet is packed with complaints and accusations that the Ministry of Defense does not share with each information about the disaster. I am not kidding. Some people have not read even preliminary announcements in the media, have not seen them - and accuse the Ministry of Defense of the Russian Federation in the absence of comments. That is, obviously, they want the Defense Ministry to report in detail about everything to them personally :) And, of course, they blame Putin for everything.

Important security fix in Rev3350

- Posted in ZeroBlog by with comments

This update fixes an important security error and contains other changes that enhance the wrapper security.

Iframe sandbox escape [Reported by Ivanq / gitcenter]

In ZeroNet before Rev3350 the wrapper did not escaped properly the given parameters.

Result: The opened site was able to escape the sandbox, read/modify any hosted site and change the client's configuration settings. Using the sandbox escape due to an obsolete feature the opened site was also able to read the private key of the cloned sites.

Fix: Fixed the escaping function and also removed raw html based tag definitions to prevent similar things happening in the future.

Affected versions: All versions before ZeroNet Rev3350

Other changes:

  • Fix random blank pages using Firefox
  • Fix local peer discovery on older Linux kernels
  • Change large file download for msgpack 0.5.5 and 0.5.6 compatibility
  • Fix random sidebar globe loading errors
  • Fix command line interface actions
  • Fix file download error on slow connections

I'm interested in adding more command line support for ZeroNet and zites, though I doubt if I will use them very often XD Some hardcore GNU/Linux, BSD devs/hackers will like them I guess. As mentioned in this post on ZeroMe, if there some APIs (more supports), a dev on GNU/Linux or BSD can even easily do everything with cmdline, with super low system requirement, as no need for a GUI system setup.

Currently what I have is: A Shell Script for Manually Signing User Content, and some bots which can be transformed for cmdline usage. Signing and publishing content.json with cmd takes too long time, because tries to start a new instance first [Edit 1]. Guess it's possible to add an option for avoiding it, and the process can also be thrown to background, too.

And here are some rough ideas:

$ zerohello list feeds -> List newsfeeds, with feed_id $ zerohello reply feed:FEED_ID -> Reply to a post/comment/mention $ zeromail list -> List new zeromail $ echo "Hello!" | zeromail reply binchan2 -> Reply to ZeroMail, or with cat for long text. $ zerotalk list | grep zeronet -> List new topics on ZeroTalk with keyword "zeronet", topics are all with topic_id. $ zerotalk list topics:binchan2 -> List all topics of a user $ zerotalk show topic:TOPIC_ID -> Show topic and comments of a topic $ zerotalk follow topic:TOPIC_ID -> Follow a topic, aka add a topic to ZeroHello Newsfeeds timeline. $ zerotalk comment topic:TOPIC_ID -> comment to a topic $ zerome create profile -> create a new profile on ZeroMe (with interactive script) $ zerome show post:POST_ID -> Show a post (image to ASCII) and its comments $ zerome --interactive -> Run ZeroMe in interactive mode, with screen or tmux for multiple windows.

Also here is the awesome cli apps list on Github, if someone wants to explore some related projects.

Edit 1: here is zeronet-websocket for using websocket in cmdline, with it we can sign and publish content, run ZeroFrame API cmd without trying to start a new ZeroNet instance first. Thank 空澄砂夜 (Sorasumi Sayo) for the suggestion and the work!

Edit 2: zeronet-websocket from edit 1 is based on Nodejs, now we also have Python version of ZeroFrame API websocket wrapper and cmd examples for ZeroNet, ZeroName, etc. Thank Git Center!

Edit 3: Wow! Now websocket call is directly supported in official ZeroNet \o/

Pack a websocket client to allow run any ZeroFrame API call from command line using. Eg.: siteCmd 1yoursite fileGet content.json