27 KiB
Darknet Lantern Project (WIP)
TODOLIST: 95% completed
# Main features:
DONE:
-py : option 6) Trust/Untrust/Blacklist a webring participant
-php : make a search engine prompt that only accepts [a-zA-Z.://], it must refuse every other character
-py : fix uptimecheck.py to match the new csv format
-php : if valid make it filter your own verified.csv and unverified.csv files
-py : option 9) cleanup all duplicates in your own unverified.csv and verified.csv
-py : option 10) perform sanity checks on all csv files (to mark them as sensitive or remove the ones that are blacklisted)
-py : option 7) Add/Remove words in the sensitive list
-py : option 8) Add/Remove words in the blacklist
-manual work: fit all the existing links into the current format one by one
-php/css: make the search page preety
TODO:
-doc: redo the documentation for the project
-doc: finish the blogpost about it
-release it officially
Feel free to join our Darknet Exploration SimpleX chatroom to talk about the project here
What is the Darknet Lantern Project ?
Darknet Lantern is a minimalistic Peer to Peer Decentralised Search Engine for the Darknet.
Why is the Darknet Lantern relevant ?
The Darknet is fundamentally different compared to the Clearnet. Where the Clearnet is like an open city where every destination is visible from the sky, where every website is indexable and searchable using popular search engines, the Darknet is like an immense, dense dark forest where you can't see any destination from the sky.
To explore the Darknet, we need peers (like you and me) to maintain their own lists of onion links for each other, to be able to know where to go, as search engines can't automatically crawl onion websites like they do on the clearnet. The Darknet Lantern Project is a serious attempt at solving the fundamental lack of search engines on the Darknet by organising the manual peer-based work of discovering hidden services in the most efficient way, to make sure Hidden Websites can get visibility while maintaining their anonymity.
Why is the Darknet Lantern Webring relevant ?
The Darknet Lantern Project includes a Webring, as otherwise the Darknet Lanterns would remain scattered and remain hidden from each other, to participate in the webring is to exponentially increase the visibility of the Onion websites you listed, the more webring participants there are.
The more people join the Darknet Lantern Webring, the more visibility Darknet websites will be able to have over time, just like how it would be on the clearnet, while keeping the decentralisation and censorship-resistance intact. All you need is to run your own Darknet Lantern instance, and to join the Webring as a new participant.
What is the default trust model ?
When spinning up your own Darknet Lantern instance, you are automatically creating your instance folder in www/participants/yourinstancehostname.onion/ and in there you'll find a copy of the blank verified.csv, unverified.csv, and webring-participants.csv files, along with the default banner.png file.
By default, as they are in the templates/ directory, the verified.csv and unverified.csv files are empty as you shouldn't trust random links that other people are trusting, you should verify them yourself one by one, to make sure that they aren't malicious.
That is why by default, when you first setup your own lantern instance, you are not listing anything, nor trusting any links, nor trusting any webring participants. This is a safety measure by default to avoid vectors of abuse.
If you choose to do so, you can trust another webring participant, which means that in turn you'll automatically trust the links that they are trusting. But be warned that this is potentially dangerous in case if it turns out that they start to trust malicious links later down the line.
What is the lifecycle of a Lantern instance ?
At first, you have an empty Lantern, no links listed, no links trusted, no webring participants trusted either.
If you want to go your own way to explore the darknet yourself, you can start to list links yourself, into the unverified.csv file, and later on once you browse them enough to verify their authenticity, you may choose to trust them, to move them from unverified.csv to verified.csv
If you want to avoid doing the same work that other webring participants may have already done, you may choose to synchronize with their lists of links, and to add the links that you didn't list yet into your own unverified.csv file. That way you'll be able to start exploring the Darknet starting from where others left off.
After a while of adding new links and verifying them, you may choose to trust another webring participant's list of links, to automatically add their verified links into your own verified.csv file. However as stated above be warned that this is risky due to the fact that you may inadvertently trust malicious links because of that other peer.
What if there are malicious Lantern Instances ?
As stated above, it is possible that there will be malicious Lantern instances, meaning that you may have malicious peers that start to list some extremely illegal websites into their verified.csv file. This is why by default you are not trusting any Lantern webring participant, nor any links.
This is also the reason why there is a blacklist.csv file. That way, if there are any malicious keywords or links to be found, they will be immediately deleted. I for instance, refuse to list any porn sites or list any instance that lists porn websites, and i encourage you to do the same (hence the blacklist.csv file containing those words by default), as those can link to some extremely illegal content that you definitely don't want to get associated with.
Using the blacklist.csv file you can list blacklisted words, links and even links to blacklisted webring participants, that will automatically be removed if encountered by the python scripts.
How can I setup my own Darknet Lantern ?
We'll first cover how you can run your own Darknet Lantern instance, In short you'll need the latest debian (which is debian 12 currently), Tor, php8.2-fpm, python and a few python libraries that you'll install via the apt package manager.
- git clone the repository in your directory of choice:
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ apt install tor git torsocks -y
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ torsocks git clone http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/darknet-lantern /srv/darknet-lantern
- Install nginx and php8.2-fpm
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ apt install php8.2-fpm nginx -y
- use the nginx.conf and drop it in /etc/nginx/sites-available/
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ ls
nginx.conf README.md scripts todo.txt torrc www
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ cp nginx.conf /etc/nginx/sites-available/lantern.conf
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ vim /etc/nginx/sites-available/lantern.conf
-
use mkp244o if you want to have a custom vanity v3 hidden service domain name
-
use the torrc config to have a local socks5 port (as it will be used by the python script to check the uptime of the listed onion links)
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ vim /etc/tor/torrc
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ cat /etc/tor/torrc
HiddenServiceDir /var/lib/tor/onions/nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/
HiddenServicePort 80 127.0.0.1:4443
SocksPort 127.0.0.1:9050
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ systemctl restart tor@default
- enable the nginx config and validate that it can be accessed on Tor
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ ln -s /etc/nginx/sites-available/lantern.conf /etc/nginx/sites-enabled/
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ nginx -s reload
6) install the python script dependencies:
```sh
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ apt install python3-pandas python3-requests python3-socks
Now that's done, you can run scripts/lantern.py for the first time to confirm your own instance name:
[ Wonderland ] [ /dev/pts/20 ] [/srv/darknet-lantern]
→ python3 scripts/lantern.py
[+] Instance Path doesn't exist yet
What is your Instance domain ? (ex: uptime.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion): lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
[+] Instance Name: lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion True
lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
Is this your this your instance domain ? (y/n)y
OK writing the instance url to ~/.darknet_participants_url
[+] file written, let's read it
lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
[+] Initial Setup Completed!
[+] file exists, your Webring URL is lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
In another terminal you can validate that ~/darknet_participant_url has been created properly:
[ Wonderland ] [ /dev/pts/33 ] [/srv/darknet-lantern]
→ cat ~/.darknet_participant_url
lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion#
This is the file that lantern.py will check to get your instance name the next times you run the script. Next you can run scripts/lantern.py again to start adding websites:
[ Wonderland ] [ /dev/pts/20 ] [/srv/darknet-lantern]
→ python3 scripts/lantern.py
[+] Instance Name: lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion True
[+] file exists, your Webring URL is lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
[+] Welcome to your own Darknet Lantern Instance, where you can explore the Darknet and help others do the same.
Managing Websites:
1) Add a new Website entry (into unverified.csv)
2) Trust a Website entry (move an entry from unverified to verified.csv)
3) Untrust a Website entry (move an entry from unverified to verified.csv)
Managing Webring Participants:
4) Synchronize new links from existing webring participants, into your unverified.csv file
5) Add a new webring participant (and download their files into their directory (without trusting them yet!))
6) Trust/UnTrust/Blacklist a webring participant (Potentially dangerous)
Managing Wordlists:
7) Add/Remove Words/URLs in the sensitive list (ex: drug)
8) Add/Remove Words/URLs or links in the blacklist (ex: porn)
Maintenance:
9) Remove the duplicate URLs for your own instance
10) Perform sanity checks on all csv files for all instances (to mark them as sensitive / or remove the ones that are blacklisted)
0) Exit
Select Option? (0-11):
Here we select option 1 to add some websites:
Select Option? (0-11): 1
1
[+] Add a new Website entry (into unverified.csv)
What is the Website name ? Qubes OS Website
What is the website Category ? Tools
What is the website URL ? http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/
Description for the website ? (Optional) OS based on Xen that focuses on compartmentalization and virtualization.
Is the website sensitive ? (ex: related to drugs) (y/n) n
[+] NEWROW= ['lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion', 'Tools', 'Qubes OS Website', 'http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/', '❌', 'OS based on Xen that focuses on compartmentalization and virtualization.', '', '']
[+] New row added! now writing the csv file:
[+] Want to add another website ? (y/n) y
[+] Add a new Website entry (into unverified.csv)
What is the Website name ? Whonix Website
What is the website Category ? Tools
What is the website URL ? http://www.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/
Description for the website ? (Optional) VM for general anonymous use
Is the website sensitive ? (ex: related to drugs) (y/n) n
[+] NEWROW= ['lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion', 'Tools', 'Whonix Website', 'http://www.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/', '❌', 'VM for general anonymous use', '', '']
[+] New row added! now writing the csv file:
[+] Want to add another website ? (y/n) y
[+] Add a new Website entry (into unverified.csv)
What is the Website name ? Feather Wallet
What is the website Category ? Tools
What is the website URL ? http://featherdvtpi7ckdbkb2yxjfwx3oyvr3xjz3oo4rszylfzjdg6pbm3id.onion/
Description for the website ? (Optional) Lightweight Monero Wallet
Is the website sensitive ? (ex: related to drugs) (y/n) n
[+] NEWROW= ['lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion', 'Tools', 'Feather Wallet', 'http://featherdvtpi7ckdbkb2yxjfwx3oyvr3xjz3oo4rszylfzjdg6pbm3id.onion/', '❌', 'Lightweight Monero Wallet', '', '']
[+] New row added! now writing the csv file:
[+] Want to add another website ? (y/n) y
[+] Add a new Website entry (into unverified.csv)
What is the Website name ? Dark Forest
What is the website Category ? Forums
What is the website URL ? http://dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/
Description for the website ? (Optional)
Is the website sensitive ? (ex: related to drugs) (y/n) y
[+] NEWROW= ['lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion', 'Forums', 'Dark Forest', 'http://dkforestseeaaq2dqz2uflmlsybvnq2irzn4ygyvu53oazyorednviid.onion/', '✔️', '', '', '']
[+] New row added! now writing the csv file:
[+] Want to add another website ? (y/n) n
Now that you added some websites to your unverified.csv file, you can view the csv file in www/participants/YOURINSTANCENAME.onion/unverified.csv:
[ Wonderland ] [ /dev/pts/33 ] [/srv/darknet-lantern]
→ cat www/participants/lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/unverified.csv | grep Tools
Instance,Category,Name,URL,Sensitive,Description,Status,Score
lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion,Tools,Feather Wallet,http://featherdvtpi7ckdbkb2yxjfwx3oyvr3xjz3oo4rszylfzjdg6pbm3id.onion/,❌,Lightweight Monero Wallet,,
lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion,Tools,Whonix Website,http://www.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/,❌,VM for general anonymous use,,
lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion,Tools,Qubes OS Website,http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/,❌,OS based on Xen that focuses on compartmentalization and virtualization.,,
- As you can see, the websites' uptime status and score is missing (in the last 2 columns in the csv file), therefore using scripts/uptimechecker.py we'll automatically fill those in:
[ Wonderland ] [ /dev/pts/33 ] [/srv/darknet-lantern]
→ python3 scripts/uptimechecker.py
[+] ONION UPTIME CHECKER
[+] Instance Name: lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion True
[+] Reading the CSV File: /srv/darknet-lantern/www/participants/lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/verified.csv
Name URL
0 Hackliberty Writers http://lvgjoige2hl5qm5xcxhxuulyhdnq2wk3277eu34...
1 The Nihilism Blog http://blog.nowherejezfoltodf4jiyl6r56jnzintap...
2 SimpleX Chat https://simplex.chat/
3 Hackliberty Forum http://yw7nc56v4nsudvwewhmhhwltxpncedfuc43qbub...
4 Dread http://g66ol3eb5ujdckzqqfmjsbpdjufmjd5nsgdipvx...
5 Pitch http://pitchzzzoot5i4cpsblu2d5poifsyixo5r4litx...
6 Hackliberty main website http://kj3wvs3wyfhm3uhhuqxlrhhcp6dneuau4mmvptl...
7 Hackliberty OTS https://ots.hackliberty.org/
8 DNM Bible http://biblemeowimkh3utujmhm6oh2oeb3ubjw2lpgeq...
9 Psychonaut Wiki http://vvedndyt433kopnhv6vejxnut54y5752vpxshja...
10 Tor Taxi http://tortaxi2dev6xjwbaydqzla77rrnth7yn2oqzjf...
11 LibreTranslate http://translate.nowherejezfoltodf4jiyl6r56jnz...
12 Safetwitch http://safetwitch.nowherejezfoltodf4jiyl6r56jn...
13 Privatebin http://bin.nowherejezfoltodf4jiyl6r56jnzintap5...
14 Redlib http://redlib.nowherejezfoltodf4jiyl6r56jnzint...
15 Lain Radio http://radio.nowherejezfoltodf4jiyl6r56jnzinta...
16 Gothub http://gothub.nowherejezfoltodf4jiyl6r56jnzint...
17 Forgejo Datura http://git.nowherejezfoltodf4jiyl6r56jnzintap5...
18 XMRBazaar https://xmrbazaar.com/
19 Crypton sh http://cryptonx6nsmspsnpicuihgmbbz3qvro4na35od...
20 SMSPool https://smspool.net/
21 Silent Link http://silentlnit5ryavvfz5vw7s4qg62jujd666lnc4...
22 JMP https://jmp.chat/
23 MullvadVPN http://o54hon2e2vj6c7m3aqqu6uyece65by3vgoxxhlq...
24 IncogNET http://incoghostm2dytlqdiaj3lmtn7x2l5gb76jhabb...
25 Cockbox http://dwtqmjzvn2c6z2x462mmbd34ugjjrodowtul4jf...
26 NiceVPS https://nicevpsvzo5o6mtvvdiurhkemnv7335f74tjk4...
27 Kyun Host http://kyunnnckhnkl6oevonhwbltenwbgxwxf54mcpvm...
28 Servers Guru http://srvguru7bjzzjba7xy2hnx2ju4k77qy4eum2h3t...
29 Nowhere2 http://webring.nowhevi57f4lxxd6db43miewcsgtova...
30 Nowhere http://uptime.nowherejezfoltodf4jiyl6r56jnzint...
[+] Checking if each .onion link is reachable:
[+] Editing the uptime score
0
[+] http://lvgjoige2hl5qm5xcxhxuulyhdnq2wk3277eu34zpukxvacmvwva6vid.onion/read 200
http://lvgjoige2hl5qm5xcxhxuulyhdnq2wk3277eu34zpukxvacmvwva6vid.onion/read ✔️
[+] Editing the uptime score
1
[+] http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/ 200
http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/ ✔️
[+] Editing the uptime score
2
[...]
It may take a few minutes depending on the size of your list of links to check all of their uptimes, as the script has to connect through Tor for every website to tell if they are reachable or not.
- make sure the cronjob for scripts/uptimechecker.py is running at least once every 3 hours so that the csv files are automatically kept up to date.
[ Wonderland ] [ /dev/pts/23 ] [/srv/darknet-lantern]
→ crontab -e
*/3 0 * * * python3 /srv/darknet-lantern/scripts/uptimechecker.py
When should I mark websites as sensitive ?
In order to avoid putting all eggs in one basket, i recommend marking websites that are related to Drugs (as this is the most popular sensitive darknet topic) as sensitive whenever you add them into your unverified.csv file, that way you can give your audience a safe browsing searching experience, and an opt-in sensitive browsing search experience (with ample disclaimers/warnings) if they choose to do so.
There is also a sensitive.csv file in your instance directory to list those keywords, so that they get automatically marked as sensitive by the python scripts.
How can I verify links ?
To Verify links (meaning that you are moving links from your unverified.csv file into your verified.csv file), use scripts/lantern.py to do the following:
[ Wonderland ] [ /dev/pts/33 ] [/srv/darknet-lantern]
→ python3 scripts/lantern.py
[+] Instance Name: lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion True
[+] file exists, your Webring URL is lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion
[+] Welcome to your own Darknet Lantern Instance, where you can explore the Darknet and help others do the same.
Managing Websites:
1) Add a new Website entry (into unverified.csv)
2) Trust a Website entry (move an entry from unverified to verified.csv)
3) Untrust a Website entry (move an entry from unverified to verified.csv)
Managing Webring Participants:
4) Synchronize new links from existing webring participants, into your unverified.csv file
5) Add a new webring participant (and download their files into their directory (without trusting them yet!))
6) Trust/UnTrust/Blacklist a webring participant (Potentially dangerous)
Managing Wordlists:
7) Add/Remove Words/URLs in the sensitive list (ex: drug)
8) Add/Remove Words/URLs or links in the blacklist (ex: porn)
Maintenance:
9) Remove the duplicate URLs for your own instance
10) Perform sanity checks on all csv files for all instances (to mark them as sensitive / or remove the ones that are blacklisted)
0) Exit
Select Option? (0-11): 2
2
[+] Trust a Website entry (move an entry from unverified to verified.csv)
Name URL
0 Houdini Swap https://houdiniswap.com/
1 xchange me http://xmxmrjoqo63c5notr2ds2t3pdpsg4ysqqe6e6uu...
2 Exch http://hszyoqwrcp7cxlxnqmovp6vjvmnwj33g4wviuxq...
3 Magestic Bank http://majestictfvnfjgo5hqvmuzynak4kjl5tjs3j5z...
4 Infinity https://exchanger.infinity.taxi/
.. ... ...
78 AirVPN https://airvpn3epnw2fnsbx5x2ppzjs6vxtdarldas7w...
79 Orange Website https://orangewebsite.com/
80 UDN http://ax3zoslh2ujdq3joyibdn657mhjfxjm637vxiix...
81 My Nym Box https://mynymbox.io/
82 SporeStack http://spore64i5sofqlfz5gq2ju4msgzojjwifls7rok...
[83 rows x 2 columns]
What is the Website name you want to trust ? (ex: Nowhere)Qubes
Name URL
72 Qubes OS Website http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4...
What is the index of the entry that you want to move to verified.csv ? (ex: 3) 72
['lantern.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion'
'Tools' 'Qubes OS Website'
'http://qubesosfasa4zl44o4tws22di6kepyzfeqv3tg4e3ztknltfxqrymdad.onion/'
'❌'
'OS based on Xen that focuses on compartmentalization and virtualization.'
'✔️' 100.0]
[+] New row added to verified.csv! now writing to the csv
[+] Link is now moved to verified.csv!
[+] Want to trust another website ? (y/n) n
How can I Synchronize new links from the existing webring participants ?
Option 4 in scripts/lantern.py will synchronize the links you didn't list yet in your own unverified.csv or verified.csv files from other peers whose directory exist in www/participants/
Select Option? (0-11): 4
4
4) Synchronize new links from existing webring participants, into your unverified.csv file
http://lantern.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion/participants/lantern.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion/
[+] Downloading the files of lantern.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion :
[+] Webring Participant is reachable, updating their csv files:
/srv/darknet-lantern/www/participants/lantern.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion/verified.csv
['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'Blogs', 'Hackliberty Writers', 'http://lvgjoige2hl5qm5xcxhxuulyhdnq2wk3277eu34zpukxvacmvwva6vid.onion/read', '❌', nan, '✔️', 100.0]
[-] Skipping row as it is already added in verified.csv ['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'Blogs', 'Hackliberty Writers', 'http://lvgjoige2hl5qm5xcxhxuulyhdnq2wk3277eu34zpukxvacmvwva6vid.onion/read', '❌', nan, '✔️', 100.0]
[-] Rows to delete: []
['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'Blogs', 'The Nihilism Blog', 'http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/', '❌', nan, '❌', 99.0]
[-] Skipping row as it is already added in verified.csv ['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'Blogs', 'The Nihilism Blog', 'http://blog.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/', '❌', nan, '❌', 99.0]
[-] Rows to delete: []
['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'Chat', 'SimpleX Chat', 'https://simplex.chat/', '❌', nan, '✔️', 100.0]
[-] Skipping row as it is already added in verified.csv ['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'Chat', 'SimpleX Chat', 'https://simplex.chat/', '❌', nan, '✔️', 100.0]
[-] Rows to delete: []
[...]
['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'VPS', 'UDN', 'http://ax3zoslh2ujdq3joyibdn657mhjfxjm637vxiix7iilxnfbsabces4qd.onion/', '❌', nan, '✔️', 100.0]
[-] Skipping row as it is already added in unverified.csv ['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'VPS', 'UDN', 'http://ax3zoslh2ujdq3joyibdn657mhjfxjm637vxiix7iilxnfbsabces4qd.onion/', '❌', nan, '✔️', 100.0]
[-] Rows to delete: []
['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'VPS', 'SporeStack', 'http://spore64i5sofqlfz5gq2ju4msgzojjwifls7rok2cti624zyq3fcelad.onion/', '❌', nan, '✔️', 100.0]
[-] Skipping row as it is already added in unverified.csv ['webring.nowhevi57f4lxxd6db43miewcsgtovakbh6v5f52ci7csc2yjzy5rnid.onion', 'VPS', 'SporeStack', 'http://spore64i5sofqlfz5gq2ju4msgzojjwifls7rok2cti624zyq3fcelad.onion/', '❌', nan, '✔️', 100.0]
[-] Rows to delete: []
TODO: How can I add a new webring participant ?
TODO: check with someone that wants to run a lantern instance, and list their own instance from your own
TODO: How can I officially get listed as a webring participant on the git repository ?
TODO: ping me directly on SimpleX to get your lantern instance listed on my own 2 instances, and if after checking it is OK to get added (meaning you don't have any porn links listed) i'll push a git commit with the updated files.
How can I officially get listed as a trusted webring participant on the git repository ?
I officially won't officially trust any webring participant. Instead i will leave it up to whoever wants to run that risk themselves. I prefer to only manually approve new webring participants on my own, because if i try to let it loose and automate it, many blacklisted links may end up listed inadvertently.
TODO: How can I trust / untrust / blacklist a webring participant ?
TODO: How can I edit the sensitive.csv and blacklist.csv wordlists ?
Use the scripts/lantern.py to do the following: