---
description: A brand for freedom and democracy.
---

# Atlantis

## Basic Ideas

* We will sperate this product into two pieces: Offline Version and Online Version.
* For the offline version, it means even if the user do not have access to main network, our product can still be useful. For this time, it would be an paid apk file that lists on the google play store. This apk contains a torrent search engine that was written from scatch by yingshaoxo. And it also contains a torrent downloading apk.
* For the online version, it means an website that you could buy things on it. Like apk, real\_stuff and so on. It has user system. No censorship at all.

## 'Offline' Version

It is not really an offline version, it can have online feature if there has network, for example, it is a broswer.

```
A web browser that has search bar

Search bar can scan qr code, search google and bing and Yandex 

It has two sub page: bookmarks and download 

Bookmark has built in recommended website structure that follows yingshaoxo's willing 

It can be used for APK file download

And APK can get installed directly 

You can also share it with http serving, I mean lan WiFi

It also support BNB wallet naturally

And support web plugin:

// ==UserScript==
// @name         New Userscript
// @namespace    https://viayoo.com/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @run-at       document-start
// @match        https://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
})();


When launch a website from short cut, only open one single tab according to domain


When Fullscreen a video, display it in horizontal position if possible



Has built in magnet client, has built in twitter, has built in yingshaoxo notes



It should be a game for mobile and desktop: in a mainland, where it has 1984 and censorship system, a young boy trying to break the old system with programming skills, like open an online no-censorship shop...
```

For more about how to implement the custom browser, plase see 'Hero Programming Language/browser'.

### Usage

User can install a torrent download app named 'LibreTorrent' and more apps with one key.

> Built-in apps: \[LibreTorrent, Send Anywhere, ZArchiver Pro, Root Explorer, FreeBrowser, Kitsunebi, Via, Lemuroid, J2ME Loader, Dolohin, Pydroid3, freedom]

User can add magnet link (this link has to have title) to this application to share it with the world.

User can get magnet link by doing a search with keywords.

### Implementation details

#### Part1

One node iterate all LAN network ip address, to find a `ip:port` that belongs to atlantis app.

For example, `ip:port/about` == "atlantis v1"

Then add it to peer list like \["http://ip:port"]

> User can also manually add public peers by input some url, like 'https://atlantis/publich\_peer\_1'

> User can have an option to only use whitelist public peers

> Later if user downloaded something from this network, and think it is useful, then put this peer on top

#### Part2

Now user started to search for items, for example, user input a keyword "a\_movie"

Then the local node started to do a ask for all those peers in peer list, for example:

```
POST ip:port/ask

{
    keywords: "a_movie",
    ask_date: "2023/12/20 15:20"
}
```

After the remote peer node get that request, it will start to do a search on local sharing dict to see if itself got that resource or not.

The local sharing dict can be something like this:

```
{
    "mario_advanture": "magnet:?xt=urn:btih:89608842263c77ef911b73e420e44d7293bf8b68&dn=mario_advanture"
}
```

If it got that resource, it will return that magnet address to it.

If it doesn't got that resource, it will farward that request to other peers it has, and after it got all those response, it will do a check to see if they got those resources or not, if so, return magnet address, otherwise, return \`{"error": "not found"}\`

> Remote node can have a cache dict in memory to save the (keywords, magnet link) data

#### Part3

Local node can submit its sharing dict to those peers it has.

```
POST ip:port/submit

{
    "keywords": "magnet:**"
}
```

> For those remote node, they could do a check to see if the keywords matchs the magnet real file name or not

## Online Version

See Galaxy Shop section.
