+
Skip to content

Tags: fsmv/daemon

Tags

v0.6.7

Toggle v0.6.7's commit message

Verified

This tag was signed with the committer’s verified signature.
fsmv Andy Kallmeyer
Portal covers more edge cases and portal/spawn bug fixes

New features:
 - Portal allows multiple leases with the same port (with different
   patterns) when registered with FixedPort.
   - This is for backends that insist on being the root of the path
     structure.  You might need to register /appName/ and /api/ pointing
     to the same port.
   - Portal API clients can register two paths by sending two
     Registration requests with the second one using the port from the
     first lease as a FixedPort
- 5 minute HSTS by default if there are no forwarders that AllowHTTP
  - This prevents people from connecting to portal as a proper TLS
    client then re-serving the content over HTTP as a MITM attack.
  - I aim to have more options to set more strict HSTS later but once
    you set you're locked in so I can't make strict year+ expiration
    HSTS the default.  I'm still not sure what a good UX for this is.
    See: https://hstspreload.org/#opt-in
  - This means if you register the first AllowHTTP forwarder it will
    work for people who have been using the domain name recently after 5
    minutes
- Portal now has a -reserved_ports flag so you can tell portal not to
  lease out ports that other non-daemon services might be using on your
  machine
  - I also slightly adjusted the default port range to avoid NFS servers

Bug fixes:
 - Fix other processes being started before portal is ready with the
   API port
 - Fix restarting portal sometimes creating a lease with a shorter
   timeout than the one that was stored on disk
 - Protect against segfaults in portal when reading old saved
   registrations

v0.6.6

Toggle v0.6.6's commit message

Verified

This tag was signed with the committer’s verified signature.
fsmv Andy Kallmeyer
More robust TLS support, improved logging, and bug fixes

Visible changes:

 - Added useragent to the logs for portal and host
 - Accurately log the bytes sent over the wire instead of just the size
   of the file (and added this as an API in the tools library).
 - Clean up several extraneous log lines that appeared in the demo run
 - Randomly stagger the lease expirations to stagger renews
 - Better support for attempting TLS in both TCP and HTTP forwarding.
   - TCP I think has no edge cases where it will not detect athough it
     doesn't verify certs.
   - HTTP works unless you're an API client that turned off
     CertificateRequest for some reason, so third party HTTPS servers
     should work now.

Improvements and bug fixes:

 - Add a call to sync when saving the state file on unix OSs
 - On Windows do a more atomic file save with MoveFileEx
 - On Windows ask the OS to kill child processes automatically. Also use
   MoveFileEx to ask the OS to delete the copied binaries on reboot if
   you have admin permissions.
 - Fix a panic that happened if you have two different IPs connected to
   the same server requesting the same FixedPort because the state file
   didn't have the IP in the map key
 - On Linux fix a potential bug with killing children because go could
   kill the thread that called fork(), now we lock the thread and keep
   the goroutine alive.
 - Fixed spawn responding to ^C during the dashboard password prompt
 - Updated dependencies

v0.6.5

Toggle v0.6.5's commit message

Verified

This tag was signed with the committer’s verified signature.
fsmv Andy Kallmeyer
Fix the build on windows and update dependencies

Next time hopefully I'll remember to check github automation before I
tag a new version

v0.6.4

Toggle v0.6.4's commit message

Verified

This tag was signed with the committer’s verified signature.
fsmv Andy Kallmeyer
More fixes and logging improvements

 - Fix a bug where go servers using the portal API to get a CA signed
   cert would fail to connect after 10 days. This was because of a bug
   introduced in v0.6.2 that caused the new CA certs to not be accepted
   for pre-existing registrations that got renewed for a long time.
 - The portal client library now re-registers if it gets an error from
   the server when it tries to renew saying the lease isn't registered.
   - This makes it more robust for multiple-machine setups where one
     might stay alive while the other one is restarted or altered or one
     could go into sleep mode etc.
   - I deprecated the KeepLeaseRenewed functions because they don't have
     the ability to re-register since they don't have the registration
     request in the API. StartRegistration is better anyway.
 - Now if you use syslog the version information is logged on startup in
   each binary
 - Now panics of spawn or any binary launched by spawn are syslogged,
   previously they only showed up on stdout.
 - Improved error logging and more info logging for future debugging

v0.6.3

Toggle v0.6.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
fsmv Andy Kallmeyer
Fixes!

 - Improve compatibility with some backends:
   Use X-Forwarded-For-Port instead of X-Forwarded-Port to relay the
   port that the user connected to portal with. X-Forwarded-Port is
   apparently meant for the port that portal is listenting on (like
   X-Forwarded-Host). Also set X-Forwarded-Proto now.
 - Fix servers sometimes failing to connect to portal on startup by
   delaying properly in spawn

v0.6.2

Toggle v0.6.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
fsmv Andy Kallmeyer
Support macOS and Windows!

Additionally:

 - Automatically detect TLS support from backends registered with
   portal. If you setup your server to use a self-signed cert then the
   connection will be fully encrypted.
 - Add portal flags for the RPC port and the port range to lease out to
   clients. I just forgot I had it as constants. Now I can avoid testing
   in prod!
 - Fix a bug where if you ran it with $GOPATH/bin in your $PATH it would
   fail to copy the megabinary.
 - Update dependency versions. I had forgotten about this and didn't
   realize that go never updates it automatically after it is added.
   The github security checker notified me.

v0.6.1

Toggle v0.6.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
fsmv Andy Kallmeyer
Bugfixes!

 - Fix chroots with dynamic libraries on Ubuntu (they use an additional
   library path config setup that I wasn't searching before)
 - Fix waiting for child processes to exit before exiting spawn

v0.6.0

Toggle v0.6.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
fsmv Andy Kallmeyer
First public release!

There are so many changes and improvements in this release, and a few
backwards incompatible changes too.

 - Running `daemon spawn` with no configuration or arguments now writes
   out an example config and starts portal and the dashboard and prints
   a link to open in the terminal. This is so the first time user
   experience is nice and easy for testing it out.
 - The portal token is now automatically propegated to servers run by
   spawn if portal was also run by the same spawn instance.
 - Spawn now works with dynamically linked binaries. It automatically
   parses the ELF file and copies all the required libraries into the
   chroot
 - Resolving DNS names and validating TLS certs now works in a spawn
   chroot because necessary files are now copied in
 - Portal RegistrationRequest now includes a hostname option so that
   assimilate has the ability to register a path for another machine
   that cannot run assimilate on it e.g. a CPanel only host or a NAS
 - Improvements to the dashboard experience
   - When you press a button and refresh the page, it doesn't ask if you
     want to resubmit anymore
   - When you restart a server it scrolls to the server
   - Eliminated the logs pop-in problem. Now you will always see the
     logs history right away.
   - Restyled the dashboard based on styles my friend who beta-tested
     daemon made
 - In portal use the de-facto standard X-Forwarded-For and
   X-Forwarded-Port headers instead of my custom made Orig-Address.

The incompatibilty is that I have changed the format of the portal state
file and not bothered properly deprecating the old field and migrating
configs. This should be safe because not many people are using it. I
just wanted to take the opportunity to delete the field.

v0.5.4

Toggle v0.5.4's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
fsmv Andy Kallmeyer
Fix the update checking! Oops!

v0.5.3

Toggle v0.5.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
fsmv Andy Kallmeyer
Automatically check for updates!

 - Checks for updates when it renders the dashboard page and displays on
   the page the command to update if needed!
 - Now portal sets the X-Forwarded-Host header
 - Improved dashboard text alignment and hopfully the text loading
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载