cross-posted from: https://lemmy.world/post/48266338

I am learning how to use Symfony Mailer and am a bit lost on the encrypting message section.

This is my simple code below which works in sending the email.

<?php

require 'vendor/autoload.php';

const FROM = 'me@example.com';

const TO = 'example@email.com';

const SUBJECT = 'My Subject';

const MESSAGE = 'Hello World';

const DSN = 'smtp://localhost:1025';

$transport = \Symfony\Component\Mailer\Transport::fromDsn(DSN);

$mailer = new \Symfony\Component\Mailer\Mailer($transport);

$email = (new \Symfony\Component\Mime\Email())
    ->from(FROM)
    ->to(TO)
    ->subject(SUBJECT)
    ->text(MESSAGE);

$encrypter = new \Symfony\Component\Mime\Crypto\SMimeEncrypter('my-certificate.crt');
$encryptedEmail = $encrypter->encrypt($email);

try {
    $mailer->send($encryptedEmail);
} catch (\Symfony\Component\Mailer\Exception\TransportExceptionInterface $error) {
    echo 'Unable to send email' . PHP_EOL;
}

And this is how I generated the certificate and key...

openssl genrsa -aes256 -out my-certificate.key 4096
openssl req -new -x509 -days 29220 -key my-certificate.key -out my-certificate.crt

I am able to receive the email using SMTP tools like Mailpit.

My two questions are...

  1. My emails are encrypted using the certificate, but shouldn't it be done using PGP?
  2. How do I decrypt the email with SMTP testing tool or any online or CLI tool? I tried to decrypt the email and could not decrypt it even though I have all of the keys.
 

cross-posted from: https://lemmy.world/post/48266338

I am learning how to use Symfony Mailer and am a bit lost on the encrypting message section.

This is my simple code below which works in sending the email.

<?php

require 'vendor/autoload.php';

const FROM = 'me@example.com';

const TO = 'example@email.com';

const SUBJECT = 'My Subject';

const MESSAGE = 'Hello World';

const DSN = 'smtp://localhost:1025';

$transport = \Symfony\Component\Mailer\Transport::fromDsn(DSN);

$mailer = new \Symfony\Component\Mailer\Mailer($transport);

$email = (new \Symfony\Component\Mime\Email())
    ->from(FROM)
    ->to(TO)
    ->subject(SUBJECT)
    ->text(MESSAGE);

$encrypter = new \Symfony\Component\Mime\Crypto\SMimeEncrypter('my-certificate.crt');
$encryptedEmail = $encrypter->encrypt($email);

try {
    $mailer->send($encryptedEmail);
} catch (\Symfony\Component\Mailer\Exception\TransportExceptionInterface $error) {
    echo 'Unable to send email' . PHP_EOL;
}

And this is how I generated the certificate and key...

openssl genrsa -aes256 -out my-certificate.key 4096
openssl req -new -x509 -days 29220 -key my-certificate.key -out my-certificate.crt

I am able to receive the email using SMTP tools like Mailpit.

My two questions are...

  1. My emails are encrypted using the certificate, but shouldn't it be done using PGP?
  2. How do I decrypt the email with SMTP testing tool or any online or CLI tool? I tried to decrypt the email and could not decrypt it even though I have all of the keys.
 

I am learning how to use Symfony Mailer and am a bit lost on the encrypting message section.

This is my simple code below which works in sending the email.

<?php

require 'vendor/autoload.php';

const FROM = 'me@example.com';

const TO = 'example@email.com';

const SUBJECT = 'My Subject';

const MESSAGE = 'Hello World';

const DSN = 'smtp://localhost:1025';

$transport = \Symfony\Component\Mailer\Transport::fromDsn(DSN);

$mailer = new \Symfony\Component\Mailer\Mailer($transport);

$email = (new \Symfony\Component\Mime\Email())
    ->from(FROM)
    ->to(TO)
    ->subject(SUBJECT)
    ->text(MESSAGE);

$encrypter = new \Symfony\Component\Mime\Crypto\SMimeEncrypter('my-certificate.crt');
$encryptedEmail = $encrypter->encrypt($email);

try {
    $mailer->send($encryptedEmail);
} catch (\Symfony\Component\Mailer\Exception\TransportExceptionInterface $error) {
    echo 'Unable to send email' . PHP_EOL;
}

And this is how I generated the certificate and key...

openssl genrsa -aes256 -out my-certificate.key 4096
openssl req -new -x509 -days 29220 -key my-certificate.key -out my-certificate.crt

I am able to receive the email using SMTP tools like Mailpit.

My two questions are...

  1. My emails are encrypted using the certificate, but shouldn't it be done using PGP?
  2. How do I decrypt the email with SMTP testing tool or any online or CLI tool? I tried to decrypt the email and could not decrypt it even though I have all of the keys.
 

cross-posted from: https://lemmy.world/post/48011911

I found this very promising app that looks like it can be an alternative to Ferdium, Rambox, Franz, Hamsket.

WebSpace is an app that brings websites and web apps together in one organized, streamlined interface. Any web app you can think off can be used in WebSpace in its own web instance instead of your main web browser. Basically it is a web browser but for web apps you use often and may want running in the background.

For use degoogled users who use website, web apps, PWAs over native apps, this makes using these services much easer.

WebSpace also adds many privacy features such as ad blocking and filtering, cookie isolation, and more.

Also it is written in Flutter! Meaning this could become available on desktop in the future! One app, one codebase for all major OSes!

Check it out and contribute!

 

cross-posted from: https://lemmy.world/post/48011911

I found this very promising app that looks like it can be an alternative to Ferdium, Rambox, Franz, Hamsket.

WebSpace is an app that brings websites and web apps together in one organized, streamlined interface. Any web app you can think off can be used in WebSpace in its own web instance instead of your main web browser. Basically it is a web browser but for web apps you use often and may want running in the background.

For use degoogled users who use website, web apps, PWAs over native apps, this makes using these services much easer.

WebSpace also adds many privacy features such as ad blocking and filtering, cookie isolation, and more.

Also it is written in Flutter! Meaning this could become available on desktop in the future! One app, one codebase for all major OSes!

Check it out and contribute!

 

I found this very promising app that looks like it can be an alternative to Ferdium, Rambox, Franz, Hamsket.

WebSpace is an app that brings websites and web apps together in one organized, streamlined interface. Any web app you can think off can be used in WebSpace in its own web instance instead of your main web browser. Basically it is a web browser but for web apps you use often and may want running in the background.

For use degoogled users who use website, web apps, PWAs over native apps, this makes using these services much easer.

WebSpace also adds many privacy features such as ad blocking and filtering, cookie isolation, and more.

Also it is written in Flutter! Meaning this could become available on desktop in the future! One app, one codebase for all major OSes!

Check it out and contribute!

[–] [S] 7 points 1 month ago*

If it cannot detect the glasses or if they are disconnected, it will restore the other displays. I have been using a similar version of the script for about a year that was written in Bash https://lemmy.world/post/29660071, I decided to rewrite it in Nushell since I prefer Nushell over Bash.

Improvements are welcomed as this code is free for all to modify, share, and use.

  • source
  • parent
  • context
  •  

    To be able to run Nushell scripts from your File Manager and have the terminal window of the running script not close when the script is finished executing or if the scripts exits, you can use these instructions to achieve this.

    This example is on Linux Mint using Nemo as a file manager and GNOME Terminal as a terminal app.

    • Create the following script on your system and store the file where ever you like...

    run-in-terminal.nu

    def run-in-terminal [code: string] {
        # Using GNOME Terminal
        gnome-terminal -- nu -c ($code)
    }
    
    # The Nushell code that runs in the terminal
    def get-terminal-code [script: string] {
        return $"
            try {
                nu ($script)
    
                print ''
                print ''
                print ''
                print 'Script finished executing'
            } catch {
                print ''
                print ''
                print ''
                print 'Script failed executing'
            }
    
            print ''
    
            # Must press enter to close terminal window
            input 'Press Enter to exit'
        "
    }
    
    def main [script:string] {
        run-in-terminal (get-terminal-code $script)
    }
    
    • Create the Nemo action file and in the file, replace /path/to/run-in-terminal.nu with the path to the run-in-terminal.nu file...

    ~/.local/share/nemo/actions/nushell.nemo_action

    [Nemo Action]
    Name=Run in Terminal
    Comment=Execute script in Terminal
    Exec=nu /path/to/run-in-terminal.nu %F
    Icon-Name=terminal
    Selection=Single
    Extensions=nu;
    

    Now simply right click on any Nushell script file (.nu) in Nemo and you will see an option Run In Terminal.

     

    cross-posted from: https://lemmy.world/post/48010802

    I created a simple Nushell script that will always disable the default/internal monitor(s) on your laptop or external display when using AR glasses. I find this useful for when using AR glasses such as the XReal One which allows you to change the mode from regular mode to ultra-wide mode and when doing this, it will act as your unplugging the XReal ones and plugging in XReal one again in a new mode, causing the other display to become enabled.

    To keep the laptop display always off, weather the laptop lid is either closed or open, this simple Nushell script will always disable the screen every X seconds (You can change it by changing the wait constant)

    Simply copy this script and create a new Nushell script such as disable-displays.nu, add it to your startup applications with the command of nu /path/to/disable-displays.nu and it will run in the background. You will need to run xrandr command with all of your displays enabled to get the names of the displays and change the constants values in the script accordingly.

    NOTE: This script may not work with a full Wayland setup and may only work on X11.

    Enjoy

    # RUN xrandr TO GET THE NAMES OF THE DISPLAYS AND SET THE VARIABLES TO THESE NAMES
    const ar_glasses_display = 'USB-C-0'
    const displays = [
        'eDP',
        'HDMI-0'
    ]
    
    const wait = 5
    
    def is-ar-glasses-connected [] {
        return (xrandr | str contains $"($ar_glasses_display) connected")
    }
    
    def disable-display [display: string] {
        xrandr --output $display --off
    }
    
    def enable-display [display: string] {
        xrandr --output $display --auto
    }
    
    loop {
        if (is-ar-glasses-connected) {
            for current_display in $displays {
                disable-display $current_display
            }
        } else {
            for current_display in $displays {
                enable-display $current_display
            }
        }
    
        sleep ($wait * 1sec)
    }
    
     

    cross-posted from: https://lemmy.world/post/48010802

    I created a simple Nushell script that will always disable the default/internal monitor(s) on your laptop or external display when using AR glasses. I find this useful for when using AR glasses such as the XReal One which allows you to change the mode from regular mode to ultra-wide mode and when doing this, it will act as your unplugging the XReal ones and plugging in XReal one again in a new mode, causing the other display to become enabled.

    To keep the laptop display always off, weather the laptop lid is either closed or open, this simple Nushell script will always disable the screen every X seconds (You can change it by changing the wait constant)

    Simply copy this script and create a new Nushell script such as disable-displays.nu, add it to your startup applications with the command of nu /path/to/disable-displays.nu and it will run in the background. You will need to run xrandr command with all of your displays enabled to get the names of the displays and change the constants values in the script accordingly.

    NOTE: This script may not work with a full Wayland setup and may only work on X11.

    Enjoy

    # RUN xrandr TO GET THE NAMES OF THE DISPLAYS AND SET THE VARIABLES TO THESE NAMES
    const ar_glasses_display = 'USB-C-0'
    const displays = [
        'eDP',
        'HDMI-0'
    ]
    
    const wait = 5
    
    def is-ar-glasses-connected [] {
        return (xrandr | str contains $"($ar_glasses_display) connected")
    }
    
    def disable-display [display: string] {
        xrandr --output $display --off
    }
    
    def enable-display [display: string] {
        xrandr --output $display --auto
    }
    
    loop {
        if (is-ar-glasses-connected) {
            for current_display in $displays {
                disable-display $current_display
            }
        } else {
            for current_display in $displays {
                enable-display $current_display
            }
        }
    
        sleep ($wait * 1sec)
    }
    
     

    cross-posted from: https://lemmy.world/post/48010802

    I created a simple Nushell script that will always disable the default/internal monitor(s) on your laptop or external display when using AR glasses. I find this useful for when using AR glasses such as the XReal One which allows you to change the mode from regular mode to ultra-wide mode and when doing this, it will act as your unplugging the XReal ones and plugging in XReal one again in a new mode, causing the other display to become enabled.

    To keep the laptop display always off, weather the laptop lid is either closed or open, this simple Nushell script will always disable the screen every X seconds (You can change it by changing the wait constant)

    Simply copy this script and create a new Nushell script such as disable-displays.nu, add it to your startup applications with the command of nu /path/to/disable-displays.nu and it will run in the background. You will need to run xrandr command with all of your displays enabled to get the names of the displays and change the constants values in the script accordingly.

    NOTE: This script may not work with a full Wayland setup and may only work on X11.

    Enjoy

    # RUN xrandr TO GET THE NAMES OF THE DISPLAYS AND SET THE VARIABLES TO THESE NAMES
    const ar_glasses_display = 'USB-C-0'
    const displays = [
        'eDP',
        'HDMI-0'
    ]
    
    const wait = 5
    
    def is-ar-glasses-connected [] {
        return (xrandr | str contains $"($ar_glasses_display) connected")
    }
    
    def disable-display [display: string] {
        xrandr --output $display --off
    }
    
    def enable-display [display: string] {
        xrandr --output $display --auto
    }
    
    loop {
        if (is-ar-glasses-connected) {
            for current_display in $displays {
                disable-display $current_display
            }
        } else {
            for current_display in $displays {
                enable-display $current_display
            }
        }
    
        sleep ($wait * 1sec)
    }
    
     

    I created a simple Nushell script that will always disable the default/internal monitor(s) on your laptop or external display when using AR glasses. I find this useful for when using AR glasses such as the XReal One which allows you to change the mode from regular mode to ultra-wide mode and when doing this, it will act as your unplugging the XReal ones and plugging in XReal one again in a new mode, causing the other display to become enabled.

    To keep the laptop display always off, weather the laptop lid is either closed or open, this simple Nushell script will always disable the screen every X seconds (You can change it by changing the wait constant)

    Simply copy this script and create a new Nushell script such as disable-displays.nu, add it to your startup applications with the command of nu /path/to/disable-displays.nu and it will run in the background. You will need to run xrandr command with all of your displays enabled to get the names of the displays and change the constants values in the script accordingly.

    NOTE: This script may not work with a full Wayland setup and may only work on X11.

    Enjoy

    # RUN xrandr TO GET THE NAMES OF THE DISPLAYS AND SET THE VARIABLES TO THESE NAMES
    const ar_glasses_display = 'USB-C-0'
    const displays = [
        'eDP',
        'HDMI-0'
    ]
    
    const wait = 5
    
    def is-ar-glasses-connected [] {
        return (xrandr | str contains $"($ar_glasses_display) connected")
    }
    
    def disable-display [display: string] {
        xrandr --output $display --off
    }
    
    def enable-display [display: string] {
        xrandr --output $display --auto
    }
    
    loop {
        if (is-ar-glasses-connected) {
            for current_display in $displays {
                disable-display $current_display
            }
        } else {
            for current_display in $displays {
                enable-display $current_display
            }
        }
    
        sleep ($wait * 1sec)
    }
    
     

    Do you just simply uninstall it from the Android settings? On desktop, when you uninstall and app, it most likely leaves files and directories behind even if they are hidden on your system.

    When you uninstall and app on Android, is this also the case? Or does it also delete every single file and directory associated with the app?

    Some Android apps (very, very few) Will create files in your Documents or Home directory and I understand these will not be removed when you uninstall an app.

    [–] [S] 3 points 1 year ago (1 child)

    What company do you work for in XR?

    I got the XReal One as a portable ergonomic monitor and I may use them as my main monitor going forward. I have a sit/stand desk with monitor arms which I can adjust the height and position for an ergonomic design to always look straight at the monitor and not looking down.

    From my research currently the XReal Ones are the best AR/XR glasses on the market due to the chip built into them, not needing any other devices or software to run, just plug in play. The XReal One Pros which I think are coming out soon have some better specs but to me, not worth the extra money.

    I been using them for regular desktop/laptop task and coding and I prefer to use the anchor mode when doing this. I sometimes also use the ultra-wide mode to simulate 2 monitors. I also been using them for gaming and I will either have it in follow or anchor mode but never use ultra-wide mode for gaming.

  • source
  • parent
  • context
  • [–] [S] 0 points 2 years ago

    Thank for sharing rust-script which is basically what I made but written in Rust and seems to store the binary in another directory when the binary is exexuted.

    Is the RFC trying to introduce a command cargo script to run single rust scripts?

  • source
  • parent
  • context
  • [–] [S] 0 points 2 years ago (2 children)

    It could be done with a one liner in the terminal but adding arguments when running the binary will be in the middle of the command, not at the end of the command.

    Also the usecase for me is for sample scripts I have. This makes it easy to compile, run and delete the binary.

  • source
  • parent
  • context
  • view more: next ›