home.social

Search

1000 results for “cheukting_ho”

  1. With the news of the US banning all foreign routers (well, all routers for practical purposes), I'm checking how to replace the one from my ISP (which, since I live in CR, is a #Huawei of all brands!). Now I'm down a rabbit hole of #GPON devices, #LC to #SFP adapters, and #DDWRT compatibility lists.
  2. FYI all, portainer is giving away 3 node business licenses. portainer.io/take-3

    When I signed up for the freebie I noticed they've added #kubernetes support since the last time I visited their site, so I'm interested in checking how well that interacts with #talos.

    Some of my #homelab machines currently just run a few containers in #docker_compose stacks for services my #homeassistant server is using like node red and I've been using #portainer for simple things like checking status or restarting things without having to ssh into those workers. Most of those containers are going to get migrated into my #k8s cluster, so it'll be interesting to see how well it works as a quick web interface.

    @homelab

  3. #Scottish #PublicSector gets platform for testing web #Accessibillity.’

    “Named Accessibility Cloud, it has been made available for checking how the websites perform in relation to the requirements of the Public Sector Bodies (Websites and Mobile Applications) (No2) Accessibility Regulations 2018.”

    ukauthority.com/articles/scott

  4. #Scottish #PublicSector gets platform for testing web #Accessibillity.’

    “Named Accessibility Cloud, it has been made available for checking how the websites perform in relation to the requirements of the Public Sector Bodies (Websites and Mobile Applications) (No2) Accessibility Regulations 2018.”

    ukauthority.com/articles/scott

  5. #Scottish #PublicSector gets platform for testing web #Accessibillity.’

    “Named Accessibility Cloud, it has been made available for checking how the websites perform in relation to the requirements of the Public Sector Bodies (Websites and Mobile Applications) (No2) Accessibility Regulations 2018.”

    ukauthority.com/articles/scott

  6. Esposa cavala deixou o maridão em casa e saiu para uma farra. Foi até a casa de um amigo tomar banho de piscina. Chegando lá foi transar com o anfintrião e mais dois amigos. A casada saiu toda arrombada. O corno nem sonha

    👇VIDEO COMPLETO👇
    cornosecuckolds.com/trai-o-meu

    #latina #brazil #cuckold #cheating #hotwife #cavala #corno #piscina #pool #outdoor #blond #peituda #bigtits #traição #esposa #casada #wife #anal #ass #gap #hardcore

  7. Esposa cavala deixou o maridão em casa e saiu para uma farra. Foi até a casa de um amigo tomar banho de piscina. Chegando lá foi transar com o anfintrião e mais dois amigos. A casada saiu toda arrombada. O corno nem sonha

    👇VIDEO COMPLETO👇
    cornosecuckolds.com/trai-o-meu

    #latina #brazil #cuckold #cheating #hotwife #cavala #corno #piscina #pool #outdoor #blond #peituda #bigtits #traição #esposa #casada #wife #anal #ass #gap #hardcore

  8. CW: Climate change project in national schools

    Another sneak peek at the craic that EPA volunteers had during #scienceweek with Junior Achievement Ireland.

    Students in schools across the country including Claremorris and Ballvary learned about climate change and took part in lots of fun activities (including checking how well insulated their classrooms were)!

    #climatechange #climate #schools #kids #futuregeneration #environment #education

  9. CW: Climate change project in national schools

    Another sneak peek at the craic that EPA volunteers had during #scienceweek with Junior Achievement Ireland.

    Students in schools across the country including Claremorris and Ballvary learned about climate change and took part in lots of fun activities (including checking how well insulated their classrooms were)!

    #climatechange #climate #schools #kids #futuregeneration #environment #education

  10. CW: Climate change project in national schools

    Another sneak peek at the craic that EPA volunteers had during #scienceweek with Junior Achievement Ireland.

    Students in schools across the country including Claremorris and Ballvary learned about climate change and took part in lots of fun activities (including checking how well insulated their classrooms were)!

    #climatechange #climate #schools #kids #futuregeneration #environment #education

  11. CW: Climate change project in national schools

    Another sneak peek at the craic that EPA volunteers had during #scienceweek with Junior Achievement Ireland.

    Students in schools across the country including Claremorris and Ballvary learned about climate change and took part in lots of fun activities (including checking how well insulated their classrooms were)!

    #climatechange #climate #schools #kids #futuregeneration #environment #education

  12. CW: Climate change project in national schools

    Another sneak peek at the craic that EPA volunteers had during #scienceweek with Junior Achievement Ireland.

    Students in schools across the country including Claremorris and Ballvary learned about climate change and took part in lots of fun activities (including checking how well insulated their classrooms were)!

    #climatechange #climate #schools #kids #futuregeneration #environment #education

  13. Out of curiosity anybody in doing more than 16 hrs a week in time? Just checking how crazy I am.

  14. The Madrid government has set an staggered return to universities. The last ones, on September 28? The most important and politically linked ones.

    Pretty good way to prevent anything happening to them by checking how students in other, #lesser universities go first.

    That includes mine, so I won't be surprised if I don't have to come back to uni this year.
  15. Negli USA le bufale virali abbondano su Facebook

    Nel Briefing settimanale, il sito #Indicator ospita un articolo nel quale si sottolinea come #Meta stia lasciando prosperare negli Stati Uniti le bufale virali
    Il programma di verifica dei fatti di Meta esiste ancora al di fuori degli USA, ma i #factchecker statunitensi non ci sono più ed è stato adottato un approccio altamente permissivo per i contenuti falsi al 100% creati per ingannare e fare soldi.

    indicator.media/p/brakes-are-c

    @giornalismo

  16. I have this old Samick electric guitar I bought at (probably) Guitar Showcase in San Jose. It has a licensed Floyd Rose tremolo. I got a replacement (guitar neck) nut for it because the old one got stripped. The old one on the Samick was labeled J-3. Japanese-3? So I got an original Floyd Rose type 3. Looks identical and fits. However, the replacement screws are longer. After checking how thin the neck is there, I opted to use the old Samick ones.

    Okay. Didn't screw up the neck. Now I can't find the tremolo coupling. It's just a hollow tube with threads and a nut. $13 at Floyd Rose, but they don't know if the threads match the Samick-licensed one. So it might not fit the tremolo bar I have. If I want a full tremolo bar replacement in the right color (gold) it is $37. Ouch and OUCH.

    Maybe I can find it SOMEWHERE. For $37 I'm willing to dig through more junk for a while longer, lol.

    Would anyone happen to know if Samick Floyd Rose-licensed tremolo bars used the same size and threading as the original Floyd Rose?

    Also, why did I remove the original in the first place? Mysteries abound.

    #guitar #FloydRose #Samick

  17. I have this old Samick electric guitar I bought at (probably) Guitar Showcase in San Jose. It has a licensed Floyd Rose tremolo. I got a replacement (guitar neck) nut for it because the old one got stripped. The old one on the Samick was labeled J-3. Japanese-3? So I got an original Floyd Rose type 3. Looks identical and fits. However, the replacement screws are longer. After checking how thin the neck is there, I opted to use the old Samick ones.

    Okay. Didn't screw up the neck. Now I can't find the tremolo coupling. It's just a hollow tube with threads and a nut. $13 at Floyd Rose, but they don't know if the threads match the Samick-licensed one. So it might not fit the tremolo bar I have. If I want a full tremolo bar replacement in the right color (gold) it is $37. Ouch and OUCH.

    Maybe I can find it SOMEWHERE. For $37 I'm willing to dig through more junk for a while longer, lol.

    Would anyone happen to know if Samick Floyd Rose-licensed tremolo bars used the same size and threading as the original Floyd Rose?

    Also, why did I remove the original in the first place? Mysteries abound.

    #guitar #FloydRose #Samick

  18. I have this old Samick electric guitar I bought at (probably) Guitar Showcase in San Jose. It has a licensed Floyd Rose tremolo. I got a replacement (guitar neck) nut for it because the old one got stripped. The old one on the Samick was labeled J-3. Japanese-3? So I got an original Floyd Rose type 3. Looks identical and fits. However, the replacement screws are longer. After checking how thin the neck is there, I opted to use the old Samick ones.

    Okay. Didn't screw up the neck. Now I can't find the tremolo coupling. It's just a hollow tube with threads and a nut. $13 at Floyd Rose, but they don't know if the threads match the Samick-licensed one. So it might not fit the tremolo bar I have. If I want a full tremolo bar replacement in the right color (gold) it is $37. Ouch and OUCH.

    Maybe I can find it SOMEWHERE. For $37 I'm willing to dig through more junk for a while longer, lol.

    Would anyone happen to know if Samick Floyd Rose-licensed tremolo bars used the same size and threading as the original Floyd Rose?

    Also, why did I remove the original in the first place? Mysteries abound.

    #guitar #FloydRose #Samick

  19. I have this old Samick electric guitar I bought at (probably) Guitar Showcase in San Jose. It has a licensed Floyd Rose tremolo. I got a replacement (guitar neck) nut for it because the old one got stripped. The old one on the Samick was labeled J-3. Japanese-3? So I got an original Floyd Rose type 3. Looks identical and fits. However, the replacement screws are longer. After checking how thin the neck is there, I opted to use the old Samick ones.

    Okay. Didn't screw up the neck. Now I can't find the tremolo coupling. It's just a hollow tube with threads and a nut. $13 at Floyd Rose, but they don't know if the threads match the Samick-licensed one. So it might not fit the tremolo bar I have. If I want a full tremolo bar replacement in the right color (gold) it is $37. Ouch and OUCH.

    Maybe I can find it SOMEWHERE. For $37 I'm willing to dig through more junk for a while longer, lol.

    Would anyone happen to know if Samick Floyd Rose-licensed tremolo bars used the same size and threading as the original Floyd Rose?

    Also, why did I remove the original in the first place? Mysteries abound.

    #guitar #FloydRose #Samick

  20. Esposa cavala deixou o maridão em casa e saiu para uma farra. Foi até a casa de um amigo tomar banho de piscina. Chegando lá foi transar com o anfintrião e mais dois amigos. A casada saiu toda arrombada. O corno nem sonha

    👇VIDEO COMPLETO👇
    cornosecuckolds.com/trai-o-meu

    #latina #brazil #cuckold #cheating #hotwife #cavala #corno #piscina #pool #outdoor #blond #peituda #bigtits #traição #esposa #casada #wife #anal #ass #gap #hardcore

  21. #AnasYearOfMetal2023
    Oromet by Oromet (2023)
    #DoomMetal / #FuneralDoom
    ★★★★

    A genre that on paper is really up my alley, but I find a lot of it too slow/repetitive for my liking. But this album isn’t like that. Sure, it opens with a 23-minute-long song, but at no point did I find myself zoning out or checking how much I had left to go.

    When the rising tide lifts their boats / You and I will be left to drown with the rats

    Fav song: Diluvium

  22. CW: As an administrator of several Matrix servers, every now and then I have to decommission one. You can't just power the server down, throw it away and be done with it, so let me show you how it's done.
    As an administrator of several Matrix servers, every now and then I have to decommission one.

    You can't just power the server down, throw it away and be done with it (really, you can't!). You'll have to remove all users first, and give those removals some time to propagate over the Matrix universe. After that, you can power the server down and junk it.

    A handful of users can be removed manually with, for example, Synapse-Admin. But today I have a server with several thousands of users... I've had problems with Carpal Tunnel Syndrome before, so there's no way I'm going to spend several hours moving my mouse the same directions over and over again for hours.

    Prepare

    I use the Matrix API and curl (thanks for that, @daniel:// stenberg://) to do this the easy way. Well, some of you may scratch your heads when I call this the easy way... 😏

    All the commands I show here, are run on the Matrix server itself. You can run them anywhere, but then you'll have to replace "localhost" for the URL of your server, of course.

    First of all, you'll need an access token for an account with admin rights. If you happen to have a session open, you can simply copy it from there. If you don't, here's how to get one.

    curl -s -X POST http://localhost:8008/_matrix/client/r0/login \
    -H "Content-Type: application/json" \
    -d '{ \
    "type": "m.login.password", \
    "user": "@administrator:EXAMPLE.COM" , \
    "password": "SECRET ADMIN PASSWORD" \
    }' | \
    jq '.access_token'


    This will give you a string like "syt_YWRtaW5pc3RyYXRvcg_dQCZlHWPsGluyHLYyhnH_2aI2ln", provided you used the right username, password and URL. I'll use "xxxx" for better visibility.

    Check the number of users

    Let's verify our access by checking how many users we're talking about.

    curl -s -X GET http://localhost:8008/_synapse/admin/v2/users?limit=1000000&deactivated=true \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    wc -l


    The limit of 1 million is sort of necessary: you can't say "every user", but if you don't provide a limit, you'll only get the first 100.

    Now that you know how many users there are in your database, let's remove them all.

    Remove all users

    You may be thinking, "if I remove all users, I also remove my admin account, which could complicate things". Good thinking, I ran into that exact problem, because I did my previous user removals with Synapse-Admin (you know, selecting a handful users, clicking "remove", waiting... rince and repeat) and that wouldn't remove my admin account.

    But when you use the API directly, you abandon the guard rails and you can actually hurt yourself. I was lucky enough to find that there was still one other admin account after I had removed mine, so I hijacked that one to finished the job. If yours is (was!) the only active admin account, you have a problem...

    With this code we list all users MINUS OUR ADMIN ACCOUNT and pass them to the next command, that actually deletes them:
    curl -s -X GET http://localhost:8008/_synapse/admin/v2/limit=1000000 \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    sed '/@administrator:EXAMPLE.COM/d' | \
    xargs -I % \
    curl -s -X POST -H "Authorization: Bearer xxxx" \
    -H "Content-Type: application/json" \
    -d '{ "erase": true }' \
    http://localhost:8008/_synapse/admin/v1/deactivate/% | \
    tee removal.log | \
    wc -l


    This will take a looong time, and that's why I have the command write its output to "removal.log", so you can check what's happening.

    Every successful removal prints this result:
    {"id_server_unbind_result":"success"}
    So once no new entries like that are being added to the log file, you're done and should be left with only your admin account(s).

    Give it a few days for the rest of the Matrix universe to pick these removals up, say a week, and then you can junk your server.

    #Matrix #curl #API
  23. CW: As an administrator of several Matrix servers, every now and then I have to decommission one. You can't just power the server down, throw it away and be done with it, so let me show you how it's done.
    As an administrator of several Matrix servers, every now and then I have to decommission one.

    You can't just power the server down, throw it away and be done with it (really, you can't!). You'll have to remove all users first, and give those removals some time to propagate over the Matrix universe. After that, you can power the server down and junk it.

    A handful of users can be removed manually with, for example, Synapse-Admin. But today I have a server with several thousands of users... I've had problems with Carpal Tunnel Syndrome before, so there's no way I'm going to spend several hours moving my mouse the same directions over and over again for hours.

    Prepare

    I use the Matrix API and curl (thanks for that, @daniel:// stenberg://) to do this the easy way. Well, some of you may scratch your heads when I call this the easy way... 😏

    All the commands I show here, are run on the Matrix server itself. You can run them anywhere, but then you'll have to replace "localhost" for the URL of your server, of course.

    First of all, you'll need an access token for an account with admin rights. If you happen to have a session open, you can simply copy it from there. If you don't, here's how to get one.

    curl -s -X POST http://localhost:8008/_matrix/client/r0/login \
    -H "Content-Type: application/json" \
    -d '{ \
    "type": "m.login.password", \
    "user": "@administrator:EXAMPLE.COM" , \
    "password": "SECRET ADMIN PASSWORD" \
    }' | \
    jq '.access_token'


    This will give you a string like "syt_YWRtaW5pc3RyYXRvcg_dQCZlHWPsGluyHLYyhnH_2aI2ln", provided you used the right username, password and URL. I'll use "xxxx" for better visibility.

    Check the number of users

    Let's verify our access by checking how many users we're talking about.

    curl -s -X GET http://localhost:8008/_synapse/admin/v2/users?limit=1000000&deactivated=true \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    wc -l


    The limit of 1 million is sort of necessary: you can't say "every user", but if you don't provide a limit, you'll only get the first 100.

    Now that you know how many users there are in your database, let's remove them all.

    Remove all users

    You may be thinking, "if I remove all users, I also remove my admin account, which could complicate things". Good thinking, I ran into that exact problem, because I did my previous user removals with Synapse-Admin (you know, selecting a handful users, clicking "remove", waiting... rince and repeat) and that wouldn't remove my admin account.

    But when you use the API directly, you abandon the guard rails and you can actually hurt yourself. I was lucky enough to find that there was still one other admin account after I had removed mine, so I hijacked that one to finished the job. If yours is (was!) the only active admin account, you have a problem...

    With this code we list all users MINUS OUR ADMIN ACCOUNT and pass them to the next command, that actually deletes them:
    curl -s -X GET http://localhost:8008/_synapse/admin/v2/limit=1000000 \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    sed '/@administrator:EXAMPLE.COM/d' | \
    xargs -I % \
    curl -s -X POST -H "Authorization: Bearer xxxx" \
    -H "Content-Type: application/json" \
    -d '{ "erase": true }' \
    http://localhost:8008/_synapse/admin/v1/deactivate/% | \
    tee removal.log | \
    wc -l


    This will take a looong time, and that's why I have the command write its output to "removal.log", so you can check what's happening.

    Every successful removal prints this result:
    {"id_server_unbind_result":"success"}
    So once no new entries like that are being added to the log file, you're done and should be left with only your admin account(s).

    Give it a few days for the rest of the Matrix universe to pick these removals up, say a week, and then you can junk your server.

    #Matrix #curl #API
  24. CW: As an administrator of several Matrix servers, every now and then I have to decommission one. You can't just power the server down, throw it away and be done with it, so let me show you how it's done.
    As an administrator of several Matrix servers, every now and then I have to decommission one.

    You can't just power the server down, throw it away and be done with it (really, you can't!). You'll have to remove all users first, and give those removals some time to propagate over the Matrix universe. After that, you can power the server down and junk it.

    A handful of users can be removed manually with, for example, Synapse-Admin. But today I have a server with several thousands of users... I've had problems with Carpal Tunnel Syndrome before, so there's no way I'm going to spend several hours moving my mouse the same directions over and over again for hours.

    Prepare

    I use the Matrix API and curl (thanks for that, @daniel:// stenberg://) to do this the easy way. Well, some of you may scratch your heads when I call this the easy way... 😏

    All the commands I show here, are run on the Matrix server itself. You can run them anywhere, but then you'll have to replace "localhost" for the URL of your server, of course.

    First of all, you'll need an access token for an account with admin rights. If you happen to have a session open, you can simply copy it from there. If you don't, here's how to get one.

    curl -s -X POST http://localhost:8008/_matrix/client/r0/login \
    -H "Content-Type: application/json" \
    -d '{ \
    "type": "m.login.password", \
    "user": "@administrator:EXAMPLE.COM" , \
    "password": "SECRET ADMIN PASSWORD" \
    }' | \
    jq '.access_token'


    This will give you a string like "syt_YWRtaW5pc3RyYXRvcg_dQCZlHWPsGluyHLYyhnH_2aI2ln", provided you used the right username, password and URL. I'll use "xxxx" for better visibility.

    Check the number of users

    Let's verify our access by checking how many users we're talking about.

    curl -s -X GET http://localhost:8008/_synapse/admin/v2/users?limit=1000000&deactivated=true \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    wc -l


    The limit of 1 million is sort of necessary: you can't say "every user", but if you don't provide a limit, you'll only get the first 100.

    Now that you know how many users there are in your database, let's remove them all.

    Remove all users

    You may be thinking, "if I remove all users, I also remove my admin account, which could complicate things". Good thinking, I ran into that exact problem, because I did my previous user removals with Synapse-Admin (you know, selecting a handful users, clicking "remove", waiting... rince and repeat) and that wouldn't remove my admin account.

    But when you use the API directly, you abandon the guard rails and you can actually hurt yourself. I was lucky enough to find that there was still one other admin account after I had removed mine, so I hijacked that one to finished the job. If yours is (was!) the only active admin account, you have a problem...

    With this code we list all users MINUS OUR ADMIN ACCOUNT and pass them to the next command, that actually deletes them:
    curl -s -X GET http://localhost:8008/_synapse/admin/v2/limit=1000000 \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    sed '/@administrator:EXAMPLE.COM/d' | \
    xargs -I % \
    curl -s -X POST -H "Authorization: Bearer xxxx" \
    -H "Content-Type: application/json" \
    -d '{ "erase": true }' \
    http://localhost:8008/_synapse/admin/v1/deactivate/% | \
    tee removal.log | \
    wc -l


    This will take a looong time, and that's why I have the command write its output to "removal.log", so you can check what's happening.

    Every successful removal prints this result:
    {"id_server_unbind_result":"success"}
    So once no new entries like that are being added to the log file, you're done and should be left with only your admin account(s).

    Give it a few days for the rest of the Matrix universe to pick these removals up, say a week, and then you can junk your server.

    #Matrix #curl #API
  25. CW: As an administrator of several Matrix servers, every now and then I have to decommission one. You can't just power the server down, throw it away and be done with it, so let me show you how it's done.
    As an administrator of several Matrix servers, every now and then I have to decommission one.

    You can't just power the server down, throw it away and be done with it (really, you can't!). You'll have to remove all users first, and give those removals some time to propagate over the Matrix universe. After that, you can power the server down and junk it.

    A handful of users can be removed manually with, for example, Synapse-Admin. But today I have a server with several thousands of users... I've had problems with Carpal Tunnel Syndrome before, so there's no way I'm going to spend several hours moving my mouse the same directions over and over again for hours.

    Prepare

    I use the Matrix API and curl (thanks for that, @daniel:// stenberg://) to do this the easy way. Well, some of you may scratch your heads when I call this the easy way... 😏

    All the commands I show here, are run on the Matrix server itself. You can run them anywhere, but then you'll have to replace "localhost" for the URL of your server, of course.

    First of all, you'll need an access token for an account with admin rights. If you happen to have a session open, you can simply copy it from there. If you don't, here's how to get one.

    curl -s -X POST http://localhost:8008/_matrix/client/r0/login \
    -H "Content-Type: application/json" \
    -d '{ \
    "type": "m.login.password", \
    "user": "@administrator:EXAMPLE.COM" , \
    "password": "SECRET ADMIN PASSWORD" \
    }' | \
    jq '.access_token'


    This will give you a string like "syt_YWRtaW5pc3RyYXRvcg_dQCZlHWPsGluyHLYyhnH_2aI2ln", provided you used the right username, password and URL. I'll use "xxxx" for better visibility.

    Check the number of users

    Let's verify our access by checking how many users we're talking about.

    curl -s -X GET http://localhost:8008/_synapse/admin/v2/users?limit=1000000&deactivated=true \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    wc -l


    The limit of 1 million is sort of necessary: you can't say "every user", but if you don't provide a limit, you'll only get the first 100.

    Now that you know how many users there are in your database, let's remove them all.

    Remove all users

    You may be thinking, "if I remove all users, I also remove my admin account, which could complicate things". Good thinking, I ran into that exact problem, because I did my previous user removals with Synapse-Admin (you know, selecting a handful users, clicking "remove", waiting... rince and repeat) and that wouldn't remove my admin account.

    But when you use the API directly, you abandon the guard rails and you can actually hurt yourself. I was lucky enough to find that there was still one other admin account after I had removed mine, so I hijacked that one to finished the job. If yours is (was!) the only active admin account, you have a problem...

    With this code we list all users MINUS OUR ADMIN ACCOUNT and pass them to the next command, that actually deletes them:
    curl -s -X GET http://localhost:8008/_synapse/admin/v2/limit=1000000 \
    -H "Authorization: Bearer xxxx" | \
    jq '.users[] | .name' | \
    sed '/@administrator:EXAMPLE.COM/d' | \
    xargs -I % \
    curl -s -X POST -H "Authorization: Bearer xxxx" \
    -H "Content-Type: application/json" \
    -d '{ "erase": true }' \
    http://localhost:8008/_synapse/admin/v1/deactivate/% | \
    tee removal.log | \
    wc -l


    This will take a looong time, and that's why I have the command write its output to "removal.log", so you can check what's happening.

    Every successful removal prints this result:
    {"id_server_unbind_result":"success"}
    So once no new entries like that are being added to the log file, you're done and should be left with only your admin account(s).

    Give it a few days for the rest of the Matrix universe to pick these removals up, say a week, and then you can junk your server.

    #Matrix #curl #API
  26. CW: As an administrator of several Matrix servers, every now and then I have to decommission one. You can't just power the server down, throw it away and be done with it, so let me show you how it's done.
    As an administrator of several Matrix servers, every now and then I have to decommission one.

    You can't just power the server down, throw it away and be done with it (really, you can't!). You'll have to remove all users first, and give those removals some time to propagate over the Matrix universe. After that, you can power the server down and junk it.

    A handful of users can be removed manually with, for example, Synapse-Admin. But today I have a server with several thousands of users... I've had problems with Carpal Tunnel Syndrome before, so there's no way I'm going to spend several hours moving my mouse the same directions over and over again for hours.

    Prepare

    I use the Matrix API and curl (thanks for that, @daniel:// stenberg://) to do this the easy way. Well, some of you may scratch your heads when I call this the easy way... 😏

    All the commands I show here, are run on the Matrix server itself. You can run them anywhere, but then you'll have to replace "localhost" for the URL of your server, of course.

    First of all, you'll need an access token for an account with admin rights. If you happen to have a session open, you can simply copy it from there. If you don't, here's how to get one.

    curl -s -X POST http://localhost:8008/_matrix/client/r0/login \
    -H "Content-Type: application/json" \
    -d '{ \
    "type": "m.login.password", \
    "user": "@administrator:EXAMPLE.COM" , \
    "password": "SECRET ADMIN PASSWORD" \
    }' \
    | jq '.access_token'


    This will give you a string like "syt_YWRtaW5pc3RyYXRvcg_dQCZlHWPsGluyHLYyhnH_2aI2ln", provided you used the right username, password and URL. I'll use "xxxx" for better visibility.

    Check the number of users

    Let's verify our access by checking how many users we're talking about.

    curl -s -X GET http://localhost:8008/_synapse/admin/v2/users?limit=1000000&deactivated=true \
    -H "Authorization: Bearer xxxx" \
    | jq '.users[] | .name' \
    | wc -l


    The limit of 1 million is sort of necessary: you can't say "every user", but if you don't provide a limit, you'll only get the first 100.

    Now that you know how many users there are in your database, let's remove them all.

    Remove all users

    You may be thinking, "if I remove all users, I also remove my admin account, which could complicate things". Good thinking, but no: Matrix won't remove your admin account. This means you'll have to manually leave all rooms you've joined with that account. The same goes for all other admin accounts. THIS IS IMPORTANT!

    We'll now remove all users, by first listing them all and passing the output of that command to the next, which does the actual removing.

    curl -s -X GET http://localhost:8008/_synapse/admin/v2/limit=1000000 \
    -H "Authorization: Bearer xxxx" \
    | jq '.users[] | .name' \
    | xargs -I % \
    curl -s -X POST -H "Authorization: Bearer xxxx" \
    -H "Content-Type: application/json" \
    -d '{ "erase": true }' \
    http://localhost:8008/_synapse/admin/v1/deactivate/% \
    | tee removal.log \
    | wc -l


    This will take a looong time, and that's why I have the command write its output to "removal.log", so you can check what's happening.

    Every successful removal prints this result:
    {"id_server_unbind_result":"success"}
    So once no new entries like that are being added to the log file, you're done and should be left with only your admin account(s).

    Give it a few days for the rest of the Matrix universe to pick these removals up, say a week, and then you can junk your server.

    #Matrix #curl #API
  27. Checking out homemade potato diggers. There are some crazy contraptions. Some are better designed than the cheap commercial ones!

    This one goes super fast and appears to be made of stainless steel :)

    youtube.com/watch?v=g384aV-CwzE

    #Potato #Digger #DIY #Machinery

  28. Checking out homemade potato diggers. There are some crazy contraptions. Some are better designed than the cheap commercial ones!

    This one goes super fast and appears to be made of stainless steel :)

    youtube.com/watch?v=g384aV-CwzE

    #Potato #Digger #DIY #Machinery

  29. Checking out homemade potato diggers. There are some crazy contraptions. Some are better designed than the cheap commercial ones!

    This one goes super fast and appears to be made of stainless steel :)

    youtube.com/watch?v=g384aV-CwzE

    #Potato #Digger #DIY #Machinery

  30. Checking out homemade potato diggers. There are some crazy contraptions. Some are better designed than the cheap commercial ones!

    This one goes super fast and appears to be made of stainless steel :)

    youtube.com/watch?v=g384aV-CwzE

    #Potato #Digger #DIY #Machinery