Steward requests/Bot status
Please only make request here after gaining the on-wiki approval of your local community (i.e., don't list your bot here if you haven't consulted the local wiki for at least a week, or whatever local policies dictate). Previous requests are archived.
| Cross-wiki requests |
|---|
| Meta-Wiki requests |
Instructions
[edit]Before posting here
[edit]Before posting here, please check the following points:
- If there is a bureaucrat on the local wiki (visit Special:ListUsers/bureaucrat on the wiki to check): Please ask them to fulfill your request using Special:UserRights on the relevant wiki.
- Before requesting access here, make sure to obtain consensus on the local wiki if there is a community (see the index of request pages). If there is no local community, request on this page with a note to that effect. You can ask local bot flag directly here for some wikis in some cases (see automatic approval).
- Remember to read the local project's bot policy. This should be linked from the local bot request page; a few are listed below. DO NOT post your request here without having fulfilled the local policies first, and having waited for at least a week to gauge community opinion. In the case that the project does not have a local bot policy, the global bot policy applies.
| Project | Languages |
|---|---|
| Wikipedia |
af an ar ast az bar bat-smg bcl be be-x-old bg bn br bs ca ce co cs da de dv en eo es eu fa fi fr frp frr ga gl hak he hi hif ht hu hy ia id ie ig io is it iu ja ka kab km ko krc ksh ku kw lad lb lmo ln lt lv map-bms mg mhr min mr ms mt my myv nap nds ne nl no nv oc os pdc pl ps pt rmy ro ru si sk sl so sr su sq sv szl th to tr tt uk uz vec vi vo war wo wuu yi yo zea zh zh-classical zh-min-nan zh-yue |
| Wikisource | |
| Wiktionary |
af ar br de en es fr fy ga gd gl id is it ka ko lt ms nl no pt ro sv th tr uk vo wa zh |
| Wikibooks | |
| Wikinews | |
| Wikiquote | |
| Wikiversity | |
| Wikivoyage | |
| Wikimedia |
Making a request
[edit]- Place the following code at the bottom of the "Bot status requests" section below:
=== Bot name@xxproject === {{sr-request | status = <!--don't change this line--> | domain = | user name = | discussion = }} (your remarks) ~~~~
You can use following form when applying for global bot status:
=== Global bot status for <yourbotname> === {{sr-request | status = <!--don't change this line--> | domain = global<!--don't change this line--> | user name = | discussion = }} {{indent|''Not ending before {{subst:#time:H:i, j F Y (T)|+2 week}}''}} (your remarks) ~~~~
-
Fill in the values:
- 'domain': the wiki's URL domain (like "ex.wikipedia" or "meta.wikimedia").
- 'user name': the bot's user name (like "ExampleBot"). Leave it blank if you're requesting access for multiple bots.
- 'discussion': a link to the local vote or discussion about the bot (for example, "[[ex:Wikipedia:Bots#ExampleBot]]"). Notes: If there is no local vote or discussion, please say so below the template and explain why not. If there's no community, implement the standard bot policy instead.
- If anything is missing from your request, a steward will request more information.
Global bot status requests
[edit]Global bots are enabled on most wikis using the standard bot policy (see list of global bot wikis and global bot access requirements). Request will be left open for at least 2 weeks to allow comments, and will be advertised via MassMessage.
Please add requests at the bottom of this section using the template above.
Global bot status for User:SchlurcherBot
[edit]- Global user: SchlurcherBot (edits (alt) • CA • global groups • crossactivity • verify 2FA)
- Discussion: I've read and will follow the Bot policy and requested to publicize this request via MassMessage as per the policy. Thanks. Looking forward to your comments. -- Schlurcher (talk) 20:37, 20 October 2025 (UTC)
Requested task: Convert links from http:// to https:// on all projects that allow global bots.
Links to relevant discussions on the task: For discussions in English Wikipedia see:
- WPR: Why we should convert external links to HTTPS wherever possible
- WPR: Should we convert existing Google and Internet Archive links to HTTPS?
Edit mode: Fully automatic
Approval status: The bot is approved for this task in Commons (with ~ 4 million 6 million[✍️ 1] edits), DE-Wiki (with ~ 95'000 edits), EN-Wiki (with ~ 90'000 edits), PL-Wiki (with ~ 24'000 edits), FR-Wiki (with ~ 20'000 edits) and IT-Wiki (with ~ 15'000 edits), see CentralAuth for an overview of contributions.
Further details: Please see User:SchlurcherBot for details regarding programming language, code, function details, sources for pages, further technical comments and approval status.
Comments:
- Does the bot check whether the site has a valid certificate and properly responds in HTTPS before making the modification? -- مواطن تونسي (talk) 22:46, 21 October 2025 (UTC)
- @مواطن تونسي: Hi, the checking is performed as part of the standard HttpClient functionality in C#. I've tested this behavior using expired or self-signed certificates (from badssl.com). In these cases and as also seen here, the HttpClient correctly throws an exception, and the exception thrown prevents replacement of the link by the bot. --Schlurcher (talk) 06:56, 22 October 2025 (UTC)
- @Schlurcher Thank you for your feedback. I took the liberty of adding two URLs to the page in question to test the case where the site does not respond on port 443. Would it be possible to run one last test with the bot? --مواطن تونسي (talk) 09:12, 22 October 2025 (UTC)
- @مواطن تونسي: I've run the test, an no updates were performed. The link to iort.gov.tn is checked and disregarded. The Wikipedia link is not checked at all. Please note that even though you added a http:// link to en.wikipedia, the rendered website automatically included a https href element in this case. As the bot picks up the href elements and does not process the page (also to handle templates that modify links and all kind of other scenarios), this is not a http link. You can also see this as a user, as if you hover over the link, the browser will show the https site as destination, at least in Edge. This is also reflected in the source code:
<a rel="nofollow" class="external free" href="http://www.iort.gov.tn/">http://www.iort.gov.tn/</a> <a class="external free" href="https://en.wikipedia.org/">http://en.wikipedia.org/</a>
- Hope this helps. --Schlurcher (talk) 11:27, 22 October 2025 (UTC)
Support following your feedback and tests. --مواطن تونسي (talk) 11:36, 22 October 2025 (UTC)
- @Schlurcher Thank you for your feedback. I took the liberty of adding two URLs to the page in question to test the case where the site does not respond on port 443. Would it be possible to run one last test with the bot? --مواطن تونسي (talk) 09:12, 22 October 2025 (UTC)
Support however beware that just because a wiki allows global bots doesn't mean that they will allow it for your purpose without explicit authorisation. Many wikis, including the English Wikpedia, use the outdated 2008 rules that only allow global bots for interwiki redirects. Leaderboard (talk) 07:04, 22 October 2025 (UTC)
Support --Dušan Kreheľ (talk) 12:06, 22 October 2025 (UTC)
Question: Where is the complete source code? The user page of the bot links to c:User:SchlurcherBot/LinkChecker, but that only contains the HTTPS link extraction. I’d be interested in the entire process, for example how it matches links back to the wiki code that needs to be edited in the end. On huwiki, there are many infoboxes that contain things like [http://{{{website}}} Website]– will the bot get confused if it sees|website=example.org/page.html, without the protocol? Addinghttps://at the beginning would break the link. On the other hand, templates like {{URL}} handle both URLs with and without protocol, so you could addhttps://to their parameters. Is the bot smart enough to differentiate between these cases? If not, does it err on the side of not touching links? (By the way, where does it run: on your own computer or on a shared hosting like Toolforge?) —Tacsipacsi (talk) 08:22, 26 October 2025 (UTC)- @Tacsipacsi: I am currently unable to release the full code because as a hobby developer I have not fully tracked all individual contributions. Proper attribution is a requirement of the code pieces I've used, and without a complete record of authorship, I cannot ensure compliance. I appreciate your understanding. The LinkChecker was written 100% by me and thus made available. The entire process is as follows:
- The bot generates a parse of the page to be analyses and uses a custom re-write API request from WikiDataDotNet for this
- It searches the html parse for all href elements and extracts the links. This is done via Html Agility Pack
- Links that are subsets of other links are filtered out to minimize search and replace errors via simple C# functions
- The bot checks if the identified http-links also occur in the wikitext, otherwise they are skipped. This is done via a simple string search
- The remaining links are handed over to the LinkChecker
- The final search-and-replace is done via a custom re-write and debugging of DotNetWikiBot
- To answer your questions:
|website=example.org/page.htmlwill not confuse the bot, as the corresponding parsed link will be disregarded in step #4. I'm parsing the href elements and not the wikitext in #1 and #2 to avoid any such problems with templates that modify links (like archiving templates). - All runs on the machine depicted on commons:User:SchlurcherBot. This paticular task runs on the NVIDIA Jetson Nano 4GB, as the C# library to calculate the Levenshtein algorithm can be speed up significantly with the GPU power of the Jetson Nano. Are there any particular pages on huwiki that you want me to try? Per hu:Wikipédia:Bürokraták üzenőfala/Botjelentkezés limited tests are allowed prior to approval. --Schlurcher (talk) 13:53, 26 October 2025 (UTC)
- Thanks for the response! Are you sure absolutely no other parts that could be published? WikiDataDotNet, Html Agility Pack and DotNetWikiBot are pieces of free software (the former two are MIT-licensed, the latter is GPLv2), so if the only copyrightable changes to them were written by you, you’re allowed (and welcome) to publish the modified source codes. I’d be especially interested in step 6, as that’s where an eventual bug can cause the most problems.
Links that are subsets
- What does this mean? Could you share some examples?
To answer your questions:
|website=example.org/page.htmlwill not confuse the bot, as the corresponding parsed link will be disregarded in step #4.- Thanks, that’s good to know. It causes a few false negatives like the {{URL}} template, but false negatives are far less bad than false positives (in fact, false negatives are no worse than your bot not running at all).
I'm parsing the href elements and not the wikitext in #1 and #2 to avoid any such problems with templates that modify links (like archiving templates).
- I realized there is another problem as well, which is hopefully also avoided by this: URL-like things that aren’t actually URLs, like XML namespaces. At least I hope that they aren’t linked.
All runs on the machine depicted on commons:User:SchlurcherBot. This paticular task runs on the NVIDIA Jetson Nano 4GB, as the C# library to calculate the Levenshtein algorithm can be speed up significantly with the GPU power of the Jetson Nano.
- I see. By the way, why is the text similarity check needed? That is, why do you consider pages that are not character-for-character equal (but very similar) equal?
Are there any particular pages on huwiki that you want me to try? Per hu:Wikipédia:Bürokraták üzenőfala/Botjelentkezés limited tests are allowed prior to approval.
- No particular pages come to my mind at the moment. However, there is a problem area I can think of: encoding. Would your bot find http://hu.wikipedia.org/wiki/Kezdőlap (if it wasn’t auto-fixed to HTTPS by MediaWiki)? And http://hu.wikipedia.org/wiki/Kezd%C5%91lap? They are conceptually the same (and maybe the parsing you do actually makes them the same – I can’t tell this for sure without having seen the source code of steps 1 and 2), but they are written differently in wikitext. And what about the likewise equivalent http://példa.hu/ and http://xn--plda-bpa.hu/ (IDN; “példa” means “example” in Hungarian)? IDNs are not very common in Hungarian, but you might find some; and it’s probably much more common in non-Latin-script languages.
- By the way, why do you use different frameworks for getting the HTML and for editing (and even different languages – F# and C#)? —Tacsipacsi (talk) 17:50, 26 October 2025 (UTC)
- @Tacsipacsi: Links that are subsets: This came from the enwiki bot request. Specially this edit: [1], where both the https archived and http non-archived link are given on the same page. I've now updated the initial filtering logic to correct for this: I'll now remove all http links that are contained in other links on the same page (checked against all http and https links). The revised edit with the updated logic is here: [2]. Generally the bot tries to be conservative. So if in doubt, it skips it. XML namespaces came up in the dewiki bot request and are not automatically linked by the Wikimedia software and thus not picked up by my bot. Text similarity check are needed as most commerical homepages use dynamic IDs for certain elements, like for ad containers to circumvent Ad Blockers. Also other pages, like archive.org for example, add rendering dates and last access dates into the source code dynamically. All these dynamic changes would invalidate a direct character match. Regarding IDNs: I've tested this a bit with non-latin-script languages and will continue to monitor this, but generall the Wikipedia software renders the href element of http://xn--plda-bpa.hu/ to http://példa.hu/ and thus that link will be disregarded by check #4, which is an exact character string search. --Schlurcher (talk) 19:12, 26 October 2025 (UTC)
- @Tacsipacsi: I am currently unable to release the full code because as a hobby developer I have not fully tracked all individual contributions. Proper attribution is a requirement of the code pieces I've used, and without a complete record of authorship, I cannot ensure compliance. I appreciate your understanding. The LinkChecker was written 100% by me and thus made available. The entire process is as follows:
Removal of global bot status
[edit]Please see the removal policy for global bots for the requirements that must be met for global bot removal requests.
Bot status requests
[edit]Removal of bot status
[edit]Requests for removal of the bot status from your own bots can be done here. If a specific user is abusing their bot status, you may request removal of the status on their account here as well. Please be sure to provide a short explanation on the current situation, along with links to the bot's contribution and an announcement in your community of the abuse. Previous requests are archived.
See also
[edit]- User groups — Information on user groups
- Archives
- 2005: 2005
- 2006: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2007: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2008: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2009: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2010: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2011: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2012: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2013: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2014: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2015: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2016: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2017: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2018: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2019: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2020: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2021: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2022: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2023: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2024: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
- 2025: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12
General requests for: help from a Meta sysop or bureaucrat · deletion (speedy deletions: local · multilingual) · URL blacklisting · new languages · interwiki map
Personal requests for: username changes · permissions (global) · bot status · adminship on Meta · CheckUser information (local) · local administrator help
Cooperation requests for: comments (local) (global) · translation