Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Custom Update server

    Scheduled Pinned Locked Moved General pfSense Questions
    14 Posts 5 Posters 5.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • marcellocM
      marcelloc
      last edited by

      see on this youtube video at 02:21  how to setup the update server. to http://updates.pfsense.org/_updaters/amd64 or i386

      http://www.youtube.com/v/reMh_iUSs2s

      Treinamentos de Elite: http://sys-squad.com

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • 7
        73agordon
        last edited by

        that only shows how to point to pfsense update server. I want to setup one of my own as I have a custom firmware to upload. If you try to open the link you posted it says error 404. no such file. Is pfsense getting the file via http or is it another method. Like ssh or telnet?

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          Did you tried to point it to your server and/or list oficial update url to see how it looks for updates?

          But, isn't easier to just upload the custom firmware and manual update it?

          If you have skills to build a custom firmware, it will be not That hard to monitor check update to see how it works.  :)

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • 7
            73agordon
            last edited by

            I did point it to my server and it says it could not open it. I over 100 unites to update so it is easer to point to a server and have other techs run updates when they login.

            1 Reply Last reply Reply Quote 0
            • P
              podilarius
              last edited by

              It is looking for a vile named "version" in http://updates.pfsense.org/_updaters/. This file simply contains "2.0.1-RELEASE". If this is newer than the version installed it downloads http://updates.pfsense.org/_updaters/latest.tgz and http://updates.pfsense.org/_updaters/latest.tgz.sha256. I am guessing that it compares the sha256 checksum later. I am guessing that if you have these 3 files in a designated web location, you can auto apply your own custom images.

              1 Reply Last reply Reply Quote 0
              • 7
                73agordon
                last edited by

                When you say "2.0.1-RELEASE do you mean the acutal firmware or a file with that name or what? Also I am asuming that latest.tgz is the latest release of the firmware.

                1 Reply Last reply Reply Quote 0
                • marcellocM
                  marcelloc
                  last edited by

                  Not sure but it maybe checks if version file mismatch installed version file, then repo has a newer version.

                  Treinamentos de Elite: http://sys-squad.com

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • S
                    Superman
                    last edited by

                    Interesting! Just yesterday I searched for a way to do this. I ended up reading through the /usr/local/www/system_firmware_check.php file to figure out what was going on. Basically I came up with the same answers as "podilarius" posted!

                    I ended up creating a short, mostly high level document of my findings. Here it is should it prove helpful to someone! I didn't get too fancy on the web server side of things, but I think the official update server has file listings disabled for this directories, or something like that. One could do the same to mimic that!

                    pfSense Updates Server
                    
                    Requirements
                    1\. Web Server
                    2\. Latest update image files & checksum hash files. Rename to latest.tgz & latest.tgz. <hash>3\. Text file named “version” containing version name
                    
                    “version” file example contents (between “---” sections):
                    ---
                    2.0.1-RELEASE
                    
                    ---
                    
                    Directory & file structure:
                    
                    .../_updaters
                    |
                    |- version
                    |- latest.tgz
                    |- latest.tgz.sha256
                    
                    .../_updaters/amd64
                    |
                    |- version
                    |- latest.tgz
                    |- latest.tgz.sha256
                    
                    Change update URL (System > Firmware > Updater Settings) on the target system to:
                    
                    http://<ip_address |="" dns_name="">/.../_updaters
                    	or
                    http://<ip_address |="" dns_name="">/.../_updaters/amd64
                    
                    Where “...” is the public path to the “_updaters” directory</ip_address></ip_address></hash> 
                    

                    CreatepfSenseUpdatesServer.txt

                    1 Reply Last reply Reply Quote 0
                    • marcellocM
                      marcelloc
                      last edited by

                      You can post your doc as a creating a local update server at doc.pfsense.org.

                      It will be helpfull  :)

                      Treinamentos de Elite: http://sys-squad.com

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • 7
                        73agordon
                        last edited by

                        thanks for the replay. Ill have to give that a try.

                        1 Reply Last reply Reply Quote 0
                        • jimpJ
                          jimp Rebel Alliance Developer Netgate
                          last edited by

                          There is a smidge more to it than that…

                          /usr/local/www/updates/_updaters$ find . | sort
                          .
                          ./amd64
                          ./amd64/latest-nanobsd-1g.img.gz
                          ./amd64/latest-nanobsd-1g.img.gz.md5
                          ./amd64/latest-nanobsd-1g.img.gz.sha256
                          ./amd64/latest-nanobsd-2g.img.gz
                          ./amd64/latest-nanobsd-2g.img.gz.md5
                          ./amd64/latest-nanobsd-2g.img.gz.sha256
                          ./amd64/latest-nanobsd-4g.img.gz
                          ./amd64/latest-nanobsd-4g.img.gz.md5
                          ./amd64/latest-nanobsd-4g.img.gz.sha256
                          ./amd64/latest-nanobsd-512mb.img.gz
                          ./amd64/latest-nanobsd-512mb.img.gz.md5
                          ./amd64/latest-nanobsd-512mb.img.gz.sha256
                          ./amd64/latest-nanobsd-vga-1g.img.gz
                          ./amd64/latest-nanobsd-vga-1g.img.gz.md5
                          ./amd64/latest-nanobsd-vga-1g.img.gz.sha256
                          ./amd64/latest-nanobsd-vga-2g.img.gz
                          ./amd64/latest-nanobsd-vga-2g.img.gz.md5
                          ./amd64/latest-nanobsd-vga-2g.img.gz.sha256
                          ./amd64/latest-nanobsd-vga-4g.img.gz
                          ./amd64/latest-nanobsd-vga-4g.img.gz.md5
                          ./amd64/latest-nanobsd-vga-4g.img.gz.sha256
                          ./amd64/latest-nanobsd-vga-512mb.img.gz
                          ./amd64/latest-nanobsd-vga-512mb.img.gz.md5
                          ./amd64/latest-nanobsd-vga-512mb.img.gz.sha256
                          ./amd64/latest.tgz
                          ./amd64/latest.tgz.md5
                          ./amd64/latest.tgz.sha256
                          ./amd64/version
                          ./amd64/version-nanobsd-1g
                          ./amd64/version-nanobsd-2g
                          ./amd64/version-nanobsd-4g
                          ./amd64/version-nanobsd-512mb
                          ./amd64/version-nanobsd-vga-1g
                          ./amd64/version-nanobsd-vga-2g
                          ./amd64/version-nanobsd-vga-4g
                          ./amd64/version-nanobsd-vga-512mb
                          ./latest-nanobsd-1g.img.gz
                          ./latest-nanobsd-1g.img.gz.md5
                          ./latest-nanobsd-1g.img.gz.sha256
                          ./latest-nanobsd-2g.img.gz
                          ./latest-nanobsd-2g.img.gz.md5
                          ./latest-nanobsd-2g.img.gz.sha256
                          ./latest-nanobsd-4g.img.gz
                          ./latest-nanobsd-4g.img.gz.md5
                          ./latest-nanobsd-4g.img.gz.sha256
                          ./latest-nanobsd-512mb.img.gz
                          ./latest-nanobsd-512mb.img.gz.md5
                          ./latest-nanobsd-512mb.img.gz.sha256
                          ./latest-nanobsd-vga-1g.img.gz
                          ./latest-nanobsd-vga-1g.img.gz.md5
                          ./latest-nanobsd-vga-1g.img.gz.sha256
                          ./latest-nanobsd-vga-2g.img.gz
                          ./latest-nanobsd-vga-2g.img.gz.md5
                          ./latest-nanobsd-vga-2g.img.gz.sha256
                          ./latest-nanobsd-vga-4g.img.gz
                          ./latest-nanobsd-vga-4g.img.gz.md5
                          ./latest-nanobsd-vga-4g.img.gz.sha256
                          ./latest-nanobsd-vga-512mb.img.gz
                          ./latest-nanobsd-vga-512mb.img.gz.md5
                          ./latest-nanobsd-vga-512mb.img.gz.sha256
                          ./latest.tgz
                          ./latest.tgz.md5
                          ./latest.tgz.sha256
                          ./version
                          ./version-nanobsd-1g
                          ./version-nanobsd-2g
                          ./version-nanobsd-4g
                          ./version-nanobsd-512mb
                          ./version-nanobsd-vga-1g
                          ./version-nanobsd-vga-2g
                          ./version-nanobsd-vga-4g
                          ./version-nanobsd-vga-512mb
                          

                          (Though I don't think the md5's are used in the code anymore)

                          Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                          Need help fast? Netgate Global Support!

                          Do not Chat/PM for help!

                          1 Reply Last reply Reply Quote 0
                          • S
                            Superman
                            last edited by

                            @jimp:

                            There is a smidge more to it than that…

                            /usr/local/www/updates/_updaters$ find . | sort
                            .
                            ./amd64
                            ./amd64/latest-nanobsd-1g.img.gz
                            ./amd64/latest-nanobsd-1g.img.gz.md5
                            ./amd64/latest-nanobsd-1g.img.gz.sha256
                            ./amd64/latest-nanobsd-2g.img.gz
                            ./amd64/latest-nanobsd-2g.img.gz.md5
                            ./amd64/latest-nanobsd-2g.img.gz.sha256
                            ./amd64/latest-nanobsd-4g.img.gz
                            ./amd64/latest-nanobsd-4g.img.gz.md5
                            ./amd64/latest-nanobsd-4g.img.gz.sha256
                            ./amd64/latest-nanobsd-512mb.img.gz
                            ./amd64/latest-nanobsd-512mb.img.gz.md5
                            ./amd64/latest-nanobsd-512mb.img.gz.sha256
                            ./amd64/latest-nanobsd-vga-1g.img.gz
                            ./amd64/latest-nanobsd-vga-1g.img.gz.md5
                            ./amd64/latest-nanobsd-vga-1g.img.gz.sha256
                            ./amd64/latest-nanobsd-vga-2g.img.gz
                            ./amd64/latest-nanobsd-vga-2g.img.gz.md5
                            ./amd64/latest-nanobsd-vga-2g.img.gz.sha256
                            ./amd64/latest-nanobsd-vga-4g.img.gz
                            ./amd64/latest-nanobsd-vga-4g.img.gz.md5
                            ./amd64/latest-nanobsd-vga-4g.img.gz.sha256
                            ./amd64/latest-nanobsd-vga-512mb.img.gz
                            ./amd64/latest-nanobsd-vga-512mb.img.gz.md5
                            ./amd64/latest-nanobsd-vga-512mb.img.gz.sha256
                            ./amd64/latest.tgz
                            ./amd64/latest.tgz.md5
                            ./amd64/latest.tgz.sha256
                            ./amd64/version
                            ./amd64/version-nanobsd-1g
                            ./amd64/version-nanobsd-2g
                            ./amd64/version-nanobsd-4g
                            ./amd64/version-nanobsd-512mb
                            ./amd64/version-nanobsd-vga-1g
                            ./amd64/version-nanobsd-vga-2g
                            ./amd64/version-nanobsd-vga-4g
                            ./amd64/version-nanobsd-vga-512mb
                            ./latest-nanobsd-1g.img.gz
                            ./latest-nanobsd-1g.img.gz.md5
                            ./latest-nanobsd-1g.img.gz.sha256
                            ./latest-nanobsd-2g.img.gz
                            ./latest-nanobsd-2g.img.gz.md5
                            ./latest-nanobsd-2g.img.gz.sha256
                            ./latest-nanobsd-4g.img.gz
                            ./latest-nanobsd-4g.img.gz.md5
                            ./latest-nanobsd-4g.img.gz.sha256
                            ./latest-nanobsd-512mb.img.gz
                            ./latest-nanobsd-512mb.img.gz.md5
                            ./latest-nanobsd-512mb.img.gz.sha256
                            ./latest-nanobsd-vga-1g.img.gz
                            ./latest-nanobsd-vga-1g.img.gz.md5
                            ./latest-nanobsd-vga-1g.img.gz.sha256
                            ./latest-nanobsd-vga-2g.img.gz
                            ./latest-nanobsd-vga-2g.img.gz.md5
                            ./latest-nanobsd-vga-2g.img.gz.sha256
                            ./latest-nanobsd-vga-4g.img.gz
                            ./latest-nanobsd-vga-4g.img.gz.md5
                            ./latest-nanobsd-vga-4g.img.gz.sha256
                            ./latest-nanobsd-vga-512mb.img.gz
                            ./latest-nanobsd-vga-512mb.img.gz.md5
                            ./latest-nanobsd-vga-512mb.img.gz.sha256
                            ./latest.tgz
                            ./latest.tgz.md5
                            ./latest.tgz.sha256
                            ./version
                            ./version-nanobsd-1g
                            ./version-nanobsd-2g
                            ./version-nanobsd-4g
                            ./version-nanobsd-512mb
                            ./version-nanobsd-vga-1g
                            ./version-nanobsd-vga-2g
                            ./version-nanobsd-vga-4g
                            ./version-nanobsd-vga-512mb
                            

                            (Though I don't think the md5's are used in the code anymore)

                            Ah, yes, I was a little selfish in just listing the files I actually needed! Excellent to have the insider insight! Thanks a million!

                            I agree, in looking at that one php file anyway, it seems to only use the sha256 hashes now, however I did leave the md5's on my system too!

                            I would be cool if we could setup 1 machine as an update server that would make periodic checks on the official update server and download a repository (hopefully with rsync) when there are updates. Then all the rest of our internal machines could sync with that machine, saving bandwidth and traffic to the official machine and from our networks!  8)

                            Thanks for the insight and input!

                            Jason

                            ;D

                            1 Reply Last reply Reply Quote 0
                            • 7
                              73agordon
                              last edited by

                              Thanks to all for the input. It was a big help.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.