[-] [email protected] 4 points 4 days ago

Because it's an open and decentralized protocol in the same vein as email. It is the most likely to survive in the longterm as it's not tied to a single entity.

Fragmentation is inevitable in a decentralized protocol. Look at email or http servers, there is no standard mainstream app but a standard extensible protocol, that's how the internet was originally designed to grow. Now that corporations are pushing their own protocols, they have an incentive to lock users in their ecosystem.

[-] [email protected] 2 points 4 days ago* (last edited 4 days ago)

Not at all, message archive management and Push Notifications are some of the core XMPP extensions that almost any XMPP app supports.

Let me tell you an other huge advantage of XMPP for those who care about privacy: it's called Omemo, which is essentially the same protocol used by signal. Given the current push by govs to undermine encryption and private messaging providers, it is probably a good idea to look into self hosting anything remotely related to privacy. Even if they manage to (and they will) to pass their spyware everywhere, if more people self-host it would be much more costly for them and we would see many more secure protocols popup.

[-] [email protected] 13 points 4 days ago* (last edited 4 days ago)

I use a self hosted XMPP stack with ejabberd as server and conversations.im for mobile apps. I have audio and video calls and tons of features built into xmpp. There is a huge selection of apps for all platforms.

XMPP is a battle tested protocol that all major messaging apps use underneath.

I used Matrix a few years ago for a full year. I dropped it and never came back. It is a bloated solution to a problem that was already solved by xmpp.

I programmed a bot that is shared with a private room that provides commands such as archiving websites with archiveit or yt videos with TubeArchivist

I am planning however to migrate from Ejabberd to Prosody as I would like to easilly hack on the source code or extensions and Ejabberd is Erlang with a very rigid stack.

[-] [email protected] 10 points 3 weeks ago* (last edited 3 weeks ago)

I am planning to try it out, but for caddy users I came up with a solution that works after being bombarded by AI crawlers for weeks.

It is a custom caddy CEL expression filter coupled with caddy-ratelimit and caddy-defender.

Now here's the fun part, the defender plugin can produce garbage as response so when a matching AI crawler fits it will poison their training dataset.

Originally I only relied on the rate limiter and noticed that AI bots kept trying whenever the limit was reset. Once I introduced data poisoning they all stopped :)

git.blob42.xyz {
    @bot <<CEL
        header({'Accept-Language': 'zh-CN'}) || header_regexp('User-Agent', '(?i:(.*bot.*|.*crawler.*|.*meta.*|.*google.*|.*microsoft.*|.*spider.*))')
    CEL


    abort @bot
    

    defender garbage {

        ranges aws azurepubliccloud deepseek gcloud githubcopilot openai 47.0.0.0/8
      
    }

    rate_limit {
        zone dynamic_botstop {
            match {
                method GET
                 # to use with defender
                 #header X-RateLimit-Apply true
                 #not header LetMeThrough 1
            }
            key {remote_ip}
            events 1500
            window 30s
            #events 10
            #window 1m
        }
    }

    reverse_proxy upstream.server:4242

    handle_errors 429 {
        respond "429: Rate limit exceeded."
    }

}

If I am not mistaken the 47.0.0.0/8 ip block is for Alibaba cloud

[-] [email protected] 13 points 3 weeks ago

Yes that's exactly how it works. It's the most difficult part of the project especially for Mozilla browsers.

I figured this is the last place browser vendors didn't dare yet to lock us out from it.

[-] [email protected] 26 points 3 weeks ago

IMO Despite some unjustified rumors Arch is a very stable distro. For me it feels the same as Debian stability wise while still being on the cutting edge side. The Arch wiki is the second most important reason.

[-] [email protected] 8 points 3 weeks ago

On your HD in a portable sqlite database. It is a fully offline solution.

95
submitted 3 weeks ago* (last edited 3 weeks ago) by [email protected] to c/[email protected]

Hi all !

I just released the first version of Gosuki, a multi-browser real time bookmark manager I have been writing on and off for the past few years. It aggregates your bookmarks in real time across all browsers and even external APIs such as Reddit and Github.

I was always annoyed by the existing bookmark management solutions and wanted a tool that just works without relying on browser extensions, self-hosted servers or cloud services. As a developer and Linux user I also find myself using multiple browsers simultaneously depending on the needs so I needed something that works with any browser and can handle multiple profiles per browser.

The few solutions that exist require manual management of bookmarks. Gosuki automatically catches any new bookmark in real time so no need to manually export and synchronize your bookmarks. It allows a tag based bookmarking experience even if the native browser does not support tags. You just hit ctrl+d and write your tags in the title.

Feature Highlights:

  • A single binary with no dependencies or browser extensions necessary. It just work right out of the box.
  • Use the universal ctrl+d shortcut to add bookmarks and call custom commands.
  • Tag with #hashtags even if your browser does not support it. You can even add tags in the Title. If you are used to organize your bookmarks in folders, they become tags
  • Real time tracking of bookmark changes
  • Builtin, local Web UI which also works without Javascript (w3m friendly)
  • suki cli command for a dmenu/rofi compatible output
  • Modular and extensible: Run custom scripts and actions per tags and folders when particular bookmarks are detected
  • Browser Agnostic: Detects which browsers you have installed and watch changes across all of them
  • Also handles multiple profiles per browser
  • Stores bookmarks in a portable sqlite database compatible with the Buku. You can use any program that was made for buku.
  • Can fetch your bookmarks from external APIs (Reddit and Github for now).
  • Easily extensible to handle any browser or API

It's open source with an AGPLv3 license, Checkout the README and website docs for more details.

Edit: Multi device synchronization is not yet available but is on the top priority list and likely implemented in this next release.

37
submitted 3 weeks ago by [email protected] to c/[email protected]

Hi all !

I just released the first version of Gosuki, a multi-browser real time bookmark manager I have been writing on and off for the past few years. It aggregates your bookmarks in real time across all browsers and even external APIs such as Reddit and Github.

I was always annoyed by the existing bookmark management solutions and wanted a tool that just works without relying on browser extensions, self-hosted servers or cloud services. As a developer and Linux user I also find myself using multiple browsers simultaneously depending on the needs so I needed something that works with any browser and can handle multiple profiles per browser.

The few solutions that exist require manual management of bookmarks. Gosuki automatically catches any new bookmark in real time so no need to manually export and synchronize your bookmarks. It allows a tag based bookmarking experience even if the native browser does not support tags. You just hit ctrl+d and write your tags in the title.

Feature Highlights:

  • A single binary with no dependencies or browser extensions necessary. It just work right out of the box.
  • Use the universal ctrl+d shortcut to add bookmarks and call custom commands.
  • Tag with #hashtags even if your browser does not support it. You can even add tags in the Title. If you are used to organize your bookmarks in folders, they become tags
  • Real time tracking of bookmark changes
  • Builtin, local Web UI which also works without Javascript (w3m friendly)
  • suki cli command for a dmenu/rofi compatible output
  • Modular and extensible: Run custom scripts and actions per tags and folders when particular bookmarks are detected
  • Browser Agnostic: Detects which browsers you have installed and watch changes across all of them
  • Also handles multiple profiles per browser
  • Stores bookmarks in a portable sqlite database compatible with the Buku. You can use any program that was made for buku.
  • Can fetch your bookmarks from external APIs (Reddit and Github for now).
  • Easily extensible to handle any browser or API

It's open source with an AGPLv3 license, Checkout the README and website docs for more details.

101
submitted 3 weeks ago* (last edited 3 weeks ago) by [email protected] to c/[email protected]

Hello r/linux !

I just released the first version of Gosuki, a multi-browser real time bookmark manager I have been writing on and off for the past few years. It aggregates your bookmarks in real time across all browsers and even external APIs such as Reddit and Github.

I was always annoyed by the existing bookmark management solutions and wanted a tool that just works without relying on browser extensions, self-hosted servers or cloud services. As a developer and Linux user I also find myself using multiple browsers simultaneously depending on the needs so I needed something that works with any browser and can handle multiple profiles per browser.

The few solutions that exist require manual management of bookmarks. Gosuki automatically catches any new bookmark in real time so no need to manually export and synchronize your bookmarks. It allows a tag based bookmarking experience even if the native browser does not support tags. You just hit ctrl+d and write your tags in the title.

Feature Highlights:

  • A single binary with no dependencies or browser extensions necessary. It just work right out of the box.
  • Use the universal ctrl+d shortcut to add bookmarks and call custom commands.
  • Tag with #hashtags even if your browser does not support it. You can even add tags in the Title. If you are used to organize your bookmarks in folders, they become tags
  • Real time tracking of bookmark changes
  • Builtin, local Web UI which also works without Javascript (w3m friendly)
  • suki cli command for a dmenu/rofi compatible output
  • Modular and extensible: Run custom scripts and actions per tags and folders when particular bookmarks are detected
  • Browser Agnostic: Detects which browsers you have installed and watch changes across all of them
  • Also handles multiple profiles per browser
  • Stores bookmarks in a portable sqlite database compatible with the Buku. You can use any program that was made for buku.
  • Can fetch your bookmarks from external APIs (Reddit and Github for now).
  • Easily extensible to handle any browser or API

It's open source with an AGPLv3 license, Checkout the README and website docs for more details.

13
submitted 1 month ago by [email protected] to c/[email protected]

Hi !

I am sharing codegpt-ng.nvim — a minimalist AI plugin designed for fast, "vim way" workflows.

How Does It Compare To X

This is a fork of CodeGPT.nvim fully refactored and brought back to life. Here is a quick overview of the new features:

  • Fully tested with Ollama and OpenAI API
  • Streaming mode for real-time popup responses
  • lua table-based configuration instead of global variables
  • Model definition inheritance: Define models that inherit other model parameters
  • New commands and helpers such as the % commmand range operator
  • Ability to cancel current request.
  • UI Query and select local or remote model
  • Strips thinking tokens from replies if the model forgets to use codeblocks
  • New callback types: insert_lines and prepend_lines
  • Refactored for idiomatic Lua and neovim plugin style
  • Simplified command system with explicit configuration
  • Chat History: Add example messages in a command definition
  • Tests with plenary library
  • Fixed statusline integration

And much more to cover here. I use it as my daily driver.

Contributions welcome !

Fun Fact: that same post has been instantly flagged as spam on the official /r/neovim reddit for no reason. I have been a member since years and replied to many posts and posted before. The state of the internet today is very sad. /rant_off

[-] [email protected] 14 points 7 months ago

start from man man and learn to use man pages. Get used to lookup man pages for any topic before checking on the internet

[-] [email protected] 7 points 2 years ago

Hey no one choses the location, family or culture we're born into. Give yourself a break. The system is rotten to the bone now and we're heading straight to a full societal collapse. Especially in the western world. Just live your life and preserve that humanity inside of you while the rest are becoming beasts.

[-] [email protected] 9 points 2 years ago* (last edited 2 years ago)

One thing I can imagine is even something like unconscious “self censorship”, choosing more permissive license to attract more people and even corporations which will hire developers…

This is the result of years of anti-copyleft propaganda which started to pay off. Now, all that corps need to do is wait for new projects and libraries to pop up and subtly (more than often openly) allocate resources to whichever project they need, or simply EEE. A much easier exercise than it was during the early years of copyleft where we could literally have a free alternate operating system to Microsoft, Apple and IBM while they were openly fighting it. Read on the Education and Government Incentives program for a reminder of what corporations are capable of.

70
submitted 2 years ago* (last edited 2 years ago) by [email protected] to c/[email protected]

I posted this over /r/StallmanWasRight and I am not sure it would be taken well at /r/Rust so here we are.


I have been getting into Rust in the last year but the licensing ecosystem of Rust crates makes me perplexed.

Today I came along this project https://github.com/uutils/coreutils that is trying to rewrite GNU coreutils in Rust and it is likely over the years projects like this one will overshadow many of the legacy GNU projects.

They are almost all made on "permissive" licenses that will give so much more power to corporations, in fact I am absolutely sure all these (big) rewrites are sponsored by corporations to escape the GNU safeguards that were built to protect users and society.

Does anyone else see this or am I just too paranoid ?

EDIT: It is not my intention to single out any specific project/team. Instead, I aim to initiate a meaningful discussion regarding the licensing choice. Rust is likely the first language since C that holds the capability to effectively replace the decades old, legacy libraries.

[-] [email protected] 37 points 2 years ago

Thank you for your integrity and ethics. This action sends a strong message to the capitalist leeches where we stand.

4
submitted 2 years ago by [email protected] to c/[email protected]

Hi,

I am an amateur in network admin and run my homelab. I currently have a need to create some complex routing logic for a docker container, basically replicating the ip rules generated by Wireguard's wg-quick but manually.

Since years I wanted to learn a bit more about Policy Based Routing and better using iputils ip command for this.

What comprehensive book or learning material do you recommend ?

1
submitted 2 years ago by [email protected] to c/[email protected]

Hi all,

I wanted toshare a project I have been working on.

With Instrukt, you can build, customize, debug and instruct AI agents straight from the terminal.

I made a quick demo to showcase the main features here: https://youtu.be/_mkIoqiY0dE

Looking forward for feedback.

1
submitted 2 years ago by [email protected] to c/[email protected]

Picked this one for having hassle free LTE internet that I would be able to flash it for the stick version where there is no NAT, the carrier assigned ip is directly exposed without restrictions. It has also very good compatibility with Linux.

I found this blog article where the firmware E3372h-153 21.180.01.00.00 is mentioned. All the links are dead and it's so difficult to find anything with Google now that every single piece of information is controlled.

Any idea where I could look to find this kind of files ?

0
submitted 2 years ago by [email protected] to c/[email protected]

While writing any post or reply, using the backspace key often deletes the previous word (merge two previous tokens) which makes writing anything longer than a sentence hell.

2
submitted 2 years ago by [email protected] to c/[email protected]

Hi all,

As the title says , Timothy Cain , creator of the fallout series started a youtube channel where he discusses Fallout and game development. It's really interesting listening to the history and politics that went behind.

1
submitted 2 years ago by [email protected] to c/[email protected]

Hi all,

I started learning rust a few months ago on my free time. I went through the most difficult already like borrow checker and I used the Learning Rust book from Jim Blandy as reference especially for its first chapters.

This is not my first time learning a language I already have experience with Python, Go, JS, C, Lua ... but with Rust it feels different.

Everytime I learned a new lang there was always a milestone I crossed that made me feel comfortable using the language, that milestone was always some side project or program I needed anyway.

I am trying to do the same with Rust but the slowness of learning and looking up the docs coupled with the verbosity of the language is not very motivating. Don't get me wrong, I really want to use Rust and learn it as it looks very elegant and clean, I already learned a lot more about lower level details of programming. The documentation is probably the most elaborate one I ever used for a programming language.

To keep me going I am practicing Rustlings while a procrastinate to work on the side project I chose as first project.

I am just curious how others passed that milestone with Rust.

view more: next ›

blob42

0 post score
0 comment score
joined 2 years ago