carderne / signal-export

Export your Signal chats to markdown files with attachments
Other
436 stars 46 forks source link

Newbie needs some installation help on Windows 😃 #71

Closed cloudgreen closed 1 year ago

cloudgreen commented 1 year ago

I would appreciate some help and pointers in the right direction. I'm a long-time Windows tech nerd, but I have no experience with Docker or WSL2...

So far I have successfully:

But I don't understand the next step on the main page: "Then install this package: pip install signal-export"

Where do I do that? How and where do I download the Docker image?

Sorry for the newbie questions. :)

carderne commented 1 year ago

Sorry, sooner or later I need to install a Windows VM and figure out some proper Windows instructions…

There are probably two ways to try do this, which one is easier depends. The first way you’ll have to install Python on Windows, while the second way you’ll have to possibly fiddle around with Linux Docker.

Native Windows

It sounds like you installed Docker in Windows (and not inside WSL2). So you should be able to open a PowerShell terminal and run the following:

docker run hello-world

If that doesn’t work, does it say anything interesting or just something like command not found: docker?

If it does work, try running the following in the same terminal:

python3

if that didn’t work, you need to get Python installed on Windows If that did work, try:

python3 -m pip install signal-export

And if that worked, you can try running the script:

sigexport output-dir 

Running on WSL2

Firstly, open a WSL2 terminal. Then in the terminal, try running the following:

docker run hello-world

If that doesn’t work, then I guess you installed Docker in Windows but not in WSL2. So then in the same terminal run:

sudo apt install docker.io && sudo usermod -aG docker $USER

And then try run the previous command again.

Then try:

python3

If that doesn’t work:

sudo apt install python3 python3-pip

Once you’ve got Python working, you can run:

python3 -m pip install signal-export

and then run the export script:

sigexport output-dir

PS

Please tell me exactly what worked/what didn’t so I can try incorporate it into the README!

cloudgreen commented 1 year ago

Thanks a lot for your extensive reply, I really appreciate it.

I'm sorry, I need to take one step back to understand the whole picture:

Signal-export is a python-based script, and you can run it on Windows in two different ways?

  1. Natively - you just install Python in Windows
  2. In a WSL2 terminal - you install Python via "sudo apt installl python..."

...but where - and when - does Docker come in, in the two scenarios above? I thought the Docker version would save me from installing Python etc, and it's all just run in the container?

Sorry for the really newbie questions, I appreciate your patience. 😚

carderne commented 1 year ago

I changed it a few days ago to still use Python but with Docker under the hood to do the complicated decryption bits. I did this so that you could still have a nice CLI with sensible hep documentation etc.

You can see the old documentation here. You can follow those instructions, and that Docker method will still work.

If you think the old way makes more sense I’m happy to hear it…

cloudgreen commented 1 year ago

Life has come in the way, I will get back to you on this soon.

Also I love to create documentation, so I'll try to help get the Windows installation instructions up to speed! :)

philipm92 commented 1 year ago

I have some issues on windows as well. I have python 3 installed, but when I run sigexport C:\test I get the following error: TypeError: style() got an unexpected keyword argument 'gf'

elizwillinger commented 1 year ago

@philipm92 you need to make sure you can run docker as your user. try docker run hello-world. If that doesnt work: Is the docker service running? sudo /etc/init.d/docker start (second answer) Does your user have permissions? (if the su -s command keeps complaining about authentication, just kill your WSL session and try again) After you do those things try docker run hello-world again. If that works, run sigexport.

If it still fails, make sure that signal isn't running in Windows and try again. If it still fails, copy paste the full text of the error message here including the stack trace

Edit: just notice you are trying to run it natively in Windows. I would encourage WSL.

dmct10 commented 1 year ago

Everything seems ok until I try to run

sigexport output-dir

sigexport : The term 'sigexport' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1

  • sigexport output-dir
  • 
    + CategoryInfo          : ObjectNotFound: (sigexport:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

I am in Powershell