bluemonday
liberapay.com
bluemonday | liberapay.com | |
---|---|---|
6 | 40 | |
2,977 | 1,574 | |
0.9% | 0.7% | |
5.1 | 9.6 | |
about 1 month ago | 7 days ago | |
Go | Python | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bluemonday
-
Sponsor the open source projects you depend on
I'm on the receiving end of donations from sourcegraph for this. It's around $10 per month from that single donation and is for the only Go HTML santizer, which you use when you have user generated / untrusted input that you need to display as HTML. https://github.com/microcosm-cc/bluemonday
For me the library has been good enough for my own use for a very very long time. I mostly neglect it unless there's some critical issue. I don't improve it at all as my time is better spent on my day job.
I've often thought that there's room for improvement such as a DOM style santizer to validate input rather than just a SAX style sanitizer, perhaps formatting of output in addition to sanitising input, transformation rules, etc.
When I got the donation I was surprised, first ever bit of support for open source software I'd written (as this was not written on company dime).
Even at $10 per month it's motivating enough to think someone values it. If it accrues into something significant I may actually feel motivated to improve it.
Interesting is that I'd regard this as successful by usage, it's used by virtually everything in the Go world that makes a website.
Perhaps people don't know it exists though? And for that awareness thanks to thanks.dev
-
How to secure POST API endpoint getting rich text editor HTML string
bluemonday is an html sanitizer you could try
-
Does anyone know of an HTML parser that would allow me to manipulate the HMTL? Namely I'm interested in stripping all attributes from strings.
For sanitizing html input at work we use https://github.com/microcosm-cc/bluemonday.
- Bluemonday: A fast Golang HTML sanitizer
-
How to validate a string is a valid HTML tag/attribute?
Sounds like a task for bluemonday.
-
HTML Sanitizer API
My thoughts as a maintainer of a HTML sanitizer https://github.com/microcosm-cc/bluemonday
1. Sanitizing is not difficult, defining the policy/config is difficult as your need is not someone else's. First glance of this proposal is that this needs a lot more work to cover people's needs. It's good enough, but will have a lot of edges and will need to evolve.
2. If you allow a blocklist then people will use that by default as it's easier to say "I don't want " than it is to say "I only accept 3. Even if you sanitize something you should keep the raw input... you should store the raw input alongside the sanitized (in fact the sanitized is merely a cached version of the raw input having been sanitized). The reason for this is you will have issues you need to debug (and can't without the input) and you will have round-trip edits you should support (but it's not round-trippable when everything you return is different from the input, do not punish a user who pasted HTML thinking it was safe by then not allowing them to edit it out because you threw everything away). Additionally if you want to ever report on the input, i.e. topK values, and you've modified the input and not kept raw, then you can never do this.
4. Provide a sane default. Most engineers simply do not know what is safe or not. I ship a policy in bluemonday for user generated content... it is safe by default and good enough for most people, and it can be taken and extended due to the way the API is structured so can cover other scenarios as a foundation policy.
I think the proposal in general: specify a standard for a sanitization API has merit. But mostly it has merit if it specifies a standard for defining sanitization policies/configuration, allowing them to be portable across different languages and systems.
The one I wrote is very heavily inspired by https://github.com/owasp/java-html-sanitizer which is the OWASP project one maintained by Mike Samuel. When I did my research before writing the Go one, this was far and away the best way to construct the policy/config and I already saw that this perspective was more valuable than whether it's a token based parser (GIGO but low memory) or a DOM builder (more memory)... no-one cares about the internals, they care about expressing what safe means to them.
liberapay.com
- Flattr: 404 – Service No Long Exists
-
Daunting and fearing the open source world
Maybe checkout liberapay.
- Ask HN: How to charge money for a side-project web app?
- I've been writing Python for years but wanted to get into open source dev, but, what can a person do?
- Sponsor the open source projects you depend on
-
Nextcloud and OpenBSD = <3
I don't think they want your money, not unless you are an enterprise costumer.
But feel free to donate to another open source project:
https://liberapay.com/
-
Best donation platform?
This one is fairly popular: https://liberapay.com/
- Frage an Entwickler: Gibt es Payment Methoden um für seinen öffentlichen Code Spenden zu sammeln (so wie Patreon)?
-
Mastodon founder says investors lining up since Elon Musk’s Twitter takeover | Mastodon
I often see links to Liberapay and Open Collective (Liberapay even has an official Mastodon account)
-
The Asymmetry of Open Source: "Users need open source projects, but open source projects do not need users"
It seems a little suspicious that the person sharing those posts isn't building an open platform himself -- why not make it more open /u/paydevs ? I think Liberapay is a great way to spontaneously pay OSS developers. I'm not opposed to paydevs.com (as far as they're showing), but I encourage increasing transparency and openness, as is I don't feel confident supporting the platform. I think individuals, governments and corporations would be much more confident to give through their platform if there were additional transparency.
What are some alternatives?
mxj - Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
opencollective - We're tracking all our Issues, RFCs and a few other documents in this repository.
inject
konsave - A command line program written in Python to let you backup your dotfiles and switch to other ones in an instant. Works out-of-the box on KDE Plasma!
go-pkg-xmlx
Bountysource - Bountysource is the funding platform for open-source software.
GoQuery - A little like that j-thing, only in Go.
UniExtract2 - Universal Extractor 2 is a tool to extract files from any type of archive or installer.
jsonpath - JSONPath with dot notation generator for golang
OpenBBTerminal - Investment Research for Everyone, Everywhere.
sh - A shell parser, formatter, and interpreter with bash support; includes shfmt
howdy - 🛡️ Windows Hello™ style facial authentication for Linux