Why is wordlist upload is so slow?

I’m waiting 20 minutes already for my 40MB wordlist to be uploaded on my remote server.

Why is the upload happening from the websocket in the pack of 27 kbs? and why is it being encoded base64 ? wat is this a blazor thing

UPDATE - stuck on 95%. had to refresh the page

Opened issue:

Uploading wordlists should ONLY be used if OB2 is hosted on a server and accessed remotely. If you are using it locally on your pc you should use the File System option, since it just saves a reference to the file on disk without copying the entire wordlist through the browser.

If you get an error about permission denied, simply enable access to the whole filesystem in the OB settings tab.

If you click on the help text at the bottom of the Wordlists page, Bulletta will show up and explain this. Please use the help text before asking questions here, thanks.

It’s hosted on server and accessed remotely i’ve mentioned it.

Oh my bad, must have missed it, many people use this locally and then complain about speed, sorry :sweat_smile:

Everything happens via websocket in blazor so the file is split in chunks and then sent over, maybe it is a problem with the library I’m using to upload the file (I haven’t updated it in a long time). We will run some tests, please open an issue on github. I think Microsoft added built-in support for uploading files with Blazor Server now so maybe it’s time to ditch the 3rd party library and implement the builtin uploader.

I am not too happy with Blazor in general anyways, it sure sped up the development by a lot since I didn’t have to mess with javascript and set up the frontend+backend communication, but I wish I went with another more field-tested framework.

What do you mean by field-tested framework?

Also do you have any suggestions how can I get files into the docker’s filesystem that’s on a server?

If you havent already you can map those folders to actual folders outside docker

I mean angular/react which have been around for longer. Blazor is really new, it saves dev time but it’s not mature enough in my opinion, and UI updates via websocket are always a bit slow with respect to normal client-side rendering. Maybe blazor webassembly would have been a better choice in hindsight.

Anyways, if you used the command in the guide you should have mapped a docker volume to a local folder, so in this case just add the wordlist to that folder and then go fetch it inside docker from that path (it should be inside /app).

1 Like

I created a docker-compose.yml file for this, it also includes watchtower (auto updating)

Feel free to try it out

version: '3.3'
        restart: unless-stopped
            - '8069:5000'
            - "com.centurylinklabs.watchtower.enable=true"
        # Change UserData to the location of where you want UserData folder to be placed
        # This currently assumes your on linux and want the folder in the same location as the docker-compose file
        # You can set a windows dir like 'C:/OB2/UserData/:/app/UserData/' but it will always be 'local dir:docker dir'
            - './UserData:/app/UserData/'
        image: 'openbullet/openbullet2:latest'

    # Watchtower will auto update OB2 for you when it sees a new release
        image: containrrr/watchtower
        restart: always
            - /var/run/docker.sock:/var/run/docker.sock
            - /etc/timezone:/etc/timezone:ro
            - WATCHTOWER_CLEANUP=true
            - WATCHTOWER_LABEL_ENABLE=true
            - "com.centurylinklabs.watchtower.enable=true"


Save it in the folder you want for OB2 and name the file docker-compose.yml

To run it you need docker-compose

cmd to start docker-compose up -d
cmd to stop docker-compose down
both need to be ran from the folder the docker-compose file is in

Was thinking about added Watchdog to auto restart but we can see how the restart flag works for now.


Doing God’s work as usual :heart: