dart_pub_server version: 1.5.31

Published 2025-09-11

michelhopman ruud

sdk | dart
repository | svn
platform | console
status | n/a
  • Readme
  • Changelog
  • Versions

dart_pub_server

Forked version of 'pub_server' (0.1.6-dev) for HuigHaverlag.

graph

ARCHIVED

This repo has been archived, and is no longer maintained.

Issues and PRs will not be responded to.

Should there be community interest in alternate package servers for Dart, we recommend these are handled as community projects.

NOTE: This is package is an alpha version and is not recommended for production use.

Provides re-usable code for making a Dart package repository server. The package:pub_server/shelf_pubserver.dart library provides a shelf HTTP handler which provides the HTTP API used by the pub client. One can use different backend implementations by implementing the PackageRepository interface of the package:pub_server/repository.dart library.

Example pub repository server

An experimental pub server based on a file system can be found in example/example.dart. It uses a filesystem-based PackageRepository for storing packages and has a read-only fallback to the real pub.dartlang.org site, if a package is not available locally. This allows one to use all pub.dartlang.org packages and have additional ones, on top of the publicly available packages, available only locally.

It can be run as follows

~ $ git clone https://github.com/dart-lang/pub_server.git
~ $ cd pub_server
~/pub_server $ pub get
...
~/pub_server $ dart example/example.dart -d /tmp/package-db
Listening on http://localhost:8080

To make the pub client use this repository configure your shell via:

    $ export PUB_HOSTED_URL=http://localhost:8080

Using it for uploading new packages to the locally running server or downloading packages locally available or via a fallback to pub.dartlang.org is as easy as:

~/foobar $ export PUB_HOSTED_URL=http://localhost:8080
~/foobar $ pub get
...
~/foobar $ pub publish
Publishing x 0.1.0 to http://localhost:8080:
|-- ...
'-- pubspec.yaml

Looks great! Are you ready to upload your package (y/n)? y
Uploading...
Successfully uploaded package.

The fact that the pub publish command requires you to grant it oauth2 access - which requires a Google account - is due to the fact that the pub publish cannot work without authentication or with another authentication scheme. But the information sent by the pub client is not used for this local server at the moment.

Proxy to remote pub.dev.huighaverlag.nl:8080 via VPN

Add to /etc/hosts:

127.0.0.1 pub.dev.huighaverlag.nl

Create /etc/nginx/conf.c/pub.dev.huighaverlag.conf:

server {
    listen 80;

    proxy_http_version 1.1;

    server_name pub.dev.huighaverlag.nl dev.huighaverlag.nl;

    location / {
        proxy_pass http://192.168.22.124:8080/;
    }
}

Requests go from localhost http://pub.dev.huighaverlag.nl (port 80) to remote http://192.168.22.124:8080.

Updating the HuigHaverlag pub.dev server

ssh into the server:

# (192.168.22.190)
ssh -p 2224 root@pub.dev.huighaverlag.nl 

and do:

cd /Users/Shared/work_dart/dart_pub_server 
svn up
./restart

API

PUT - Record package usage

https://pub.dev.huighaverlag.nl/api/record/[package]/[semver]/[username]/[host.name]/[host.os]

GET - Fetch package list (all package names)

https://pub.dev.huighaverlag.nl/api/list/names

GET - Fetch latest packages

https://pub.dev.huighaverlag.nl/api/list/latest

GET - Fetch package info (all versions)

https://pub.dev.huighaverlag.nl/api/packages/[package]

GET - Fetch package info (specific version)

https://pub.dev.huighaverlag.nl/api/packages/[package]/versions/[semver]

GET - Download package archive (specific version)

https://pub.dev.huighaverlag.nl/packages/[package]/versions/[semver].tar.gz

GET - Fetch package installer info (specific version)

https://pub.dev.huighaverlag.nl/api/installers/[package]/versions/[semver]/[installerfilename]

HTML

GET - Fetch package page

https://pub.dev.huighaverlag.nl/packages/[package]

GET - Download package installer (specific version)

https://pub.dev.huighaverlag.nl/installers/[package]/versions/[semver]/[installerfilename]

Changelog

1.5.31 - 2025-09-11

Changed

  • Version bump from 1.5.30 to 1.5.31 (tar -> 2.0.1 (was 2.0.0)).

1.5.30 - 2025-08-08

Changed

  • Version bump from 1.5.29 to 1.5.30 (http -> 1.5.0 (was 1.4.0)).

1.5.29 - 2025-07-23

Changed

  • Version bump from 1.5.28 to 1.5.29 (test -> 1.26.3 (was 1.26.2)).

1.5.28 - 2025-06-30

Changed

  • Version bump from 1.5.27 to 1.5.28 (get_time_ago -> 2.3.2 (was 2.3.1)).

1.5.27 - 2025-05-22

Changed

  • Version bump from 1.5.26 to 1.5.27 (lints -> 6.0.0 (was 5.1.1)).

1.5.26 - 2025-05-22

Changed

  • Version bump from 1.5.25 to 1.5.26 (async -> 2.13.0 (was 2.12.0)).

1.5.25 - 2025-05-22

Changed

  • Version bump from 1.5.24 to 1.5.25 (intl -> 0.20.2 (was 0.19.0)).

1.5.24 - 2025-05-22

Changed

  • Version bump from 1.5.23 to 1.5.24 (test -> 1.26.2 (was 1.26.1)).

1.5.23 - 2025-05-20

Changed

  • Version bump from 1.5.22 to 1.5.23 (test -> 1.26.1 (was 1.26.0)).

1.5.22 - 2025-05-13

Changed

  • Version bump from 1.5.21 to 1.5.22 (test -> 1.26.0 (was 1.25.15)).

1.5.21 - 2025-05-12

Changed

  • Version bump from 1.5.20 to 1.5.21 (get_time_ago -> 2.3.1 (was 2.3.0)).

1.5.20 - 2025-05-06

Changed

  • Version bump from 1.5.19 to 1.5.20 (http -> 1.4.0 (was 1.3.0)).

1.5.19 - 2025-04-24

Changed

  • Version bump from 1.5.18 to 1.5.19 (archive -> 4.0.7 (was 4.0.6)).

1.5.18 - 2025-04-18

Changed

  • Version bump from 1.5.17 to 1.5.18 (archive -> 4.0.6 (was 4.0.5)).

1.5.17 - 2025-04-08

Changed

  • Version bump from 1.5.16 to 1.5.17 (async -> 2.12.0 (was 2.13.0)).

1.5.16 - 2025-04-08

Changed

  • Version bump from 1.5.15 to 1.5.16 (async -> 2.13.0 (was 2.11.0)).

1.5.15 - 2025-04-08

Changed

  • Version bump from 1.5.14 to 1.5.15 (path -> 1.9.1 (was 1.9.0)).

1.5.14 - 2025-04-04

Changed

  • Version bump from 1.5.13 to 1.5.14 (intl -> 0.19.0 (was 0.20.2)).

1.5.13 - 2025-04-04

Changed

  • Changed timeago for get_time_ago.
  • Version bump from 1.5.12 to 1.5.13 (intl -> 0.20.2 (was 0.19.0)).

1.5.12 - 2025-04-02

Changed

  • Version bump from 1.5.11 to 1.5.12 (collection -> 1.19.1 (was 1.19.0)).

1.5.11 - 2025-04-02

Changed

  • Version bump from 1.5.10 to 1.5.11 (test -> 1.25.15 (was 1.25.14)).

1.5.10 - 2025-03-25

Changed

  • Version bump from 1.5.9 to 1.5.10 (archive -> 4.0.5 (was 4.0.4)).

1.5.9 - 2025-03-13

Changed

  • Version bump from 1.5.8 to 1.5.9 (args -> 2.7.0 (was 2.6.0)).

1.5.8 - 2025-03-07

Changed

  • Version bump from 1.5.7 to 1.5.8 (pub_semver -> 2.2.0 (was 2.1.5)).

1.5.7 - 2025-03-06

Changed

  • Version bump from 1.5.6 to 1.5.7 (async -> 2.11.0 (was 2.13.0)).

1.5.6 - 2025-03-06

Changed

  • Version bump from 1.5.5 to 1.5.6 (async -> 2.13.0 (was 2.11.0)).

1.5.5 - 2025-03-05

Changed

  • Version bump from 1.5.4 to 1.5.5 (process_run -> 1.2.4 (was 1.2.3)).

1.5.4 - 2025-02-28

Changed

  • Version bump from 1.5.3 to 1.5.4 (archive -> 4.0.4 (was 4.0.3)).

1.5.3 - 2025-02-24

Changed

  • Version bump from 1.5.2 to 1.5.3 (archive -> 4.0.3 (was 4.0.2)).

1.5.2 - 2025-02-17

Changed

  • Version bump from 1.5.1 to 1.5.2 (yaml_writer -> 2.1.0 (was 2.0.1)).

1.5.1 - 2025-02-17

Changed

  • Version bump from 1.5.0 to 1.5.1 (process_run -> 1.2.3 (was 1.2.2+1)).

1.5.0 - 2025-01-24

Added

  • Support for tsv download (usage report).

1.4.38 - 2025-01-21

Changed

  • Version bump from 1.4.37 to 1.4.38 (http -> 1.3.0 (was 1.2.2)).

1.4.37 - 2025-01-14

Changed

  • Version bump from 1.4.36 to 1.4.37 (markdown -> 7.3.0 (was 7.2.2)).

1.4.36 - 2025-01-08

Changed

  • Version bump from 1.4.35 to 1.4.36 (pubspec_parse -> 1.5.0 (was 1.4.0)).

1.4.35 - 2025-01-03

Changed

  • Version bump from 1.4.34 to 1.4.35 (http_parser -> 4.1.2 (was 4.1.1)).

1.4.34 - 2024-12-23

Changed

  • Version bump from 1.4.33 to 1.4.34 (collection -> 1.19.0 (was 1.19.1)).

1.4.33 - 2024-12-23

Changed

  • Version bump from 1.4.32 to 1.4.33 (async -> 2.11.0 (was 2.12.0)).

1.4.32 - 2024-12-23

Changed

  • Version bump from 1.4.31 to 1.4.32 (pub_semver -> 2.1.5 (was 2.1.4)).

1.4.31 - 2024-12-23

Changed

  • Version bump from 1.4.30 to 1.4.31 (yaml -> 3.1.3 (was 3.1.2)).

1.4.30 - 2024-12-23

Changed

  • Version bump from 1.4.29 to 1.4.30 (test -> 1.25.14 (was 1.25.13)).

1.4.29 - 2024-12-23

Changed

  • Version bump from 1.4.28 to 1.4.29 (pubspec_parse -> 1.4.0 (was 1.3.0)).

1.4.28 - 2024-12-23

Changed

  • Version bump from 1.4.27 to 1.4.28 (lints -> 5.1.1 (was 5.1.0)).

1.4.27 - 2024-12-23

Changed

  • Version bump from 1.4.26 to 1.4.27 (archive -> 4.0.2 (was 4.0.1)).

1.4.26 - 2024-12-19

Changed

  • Version bump from 1.4.25 to 1.4.26 (Support Apple silicon (arm64)).

1.4.25 - 2024-12-19

Changed

  • Version bump from 1.4.24 to 1.4.25 (archive -> 4.0.1 (was 3.6.1)).

1.4.24 - 2024-12-19

Changed

  • Version bump from 1.4.23 to 1.4.24 (collection -> 1.19.0 (was 1.19.1)).

1.4.23 - 2024-12-19

Changed

  • Version bump from 1.4.22 to 1.4.23 (collection -> 1.19.1 (was 1.19.0)).

1.4.22 - 2024-12-18

Changed

  • Version bump from 1.4.21 to 1.4.22 (test -> 1.25.13 (was 1.25.12)).

1.4.21 - 2024-12-17

Added

  • Support for Apple silicon (arm64) installers.

1.4.20 - 2024-12-13

Changed

  • Version bump from 1.4.19 to 1.4.20 (archive -> 3.6.1 (was 4.0.1)).

1.4.19 - 2024-12-13

Changed

  • Version bump from 1.4.18 to 1.4.19 (archive -> 4.0.1 (was 3.6.1)).

1.4.18 - 2024-12-12

Changed

  • Version bump from 1.4.17 to 1.4.18 (characters -> 1.3.0 (was 1.4.0)).

1.4.17 - 2024-12-12

Changed

  • Version bump from 1.4.16 to 1.4.17 (shelf -> 1.4.2 (was 1.4.1)).

1.4.16 - 2024-12-12

Changed

  • Version bump from 1.4.15 to 1.4.16 (lints -> 5.1.0 (was 5.0.0)).

1.4.15 - 2024-12-12

Changed

  • Version bump from 1.4.14 to 1.4.15 (http_parser -> 4.1.1 (was 4.0.2)).

1.4.14 - 2024-12-12

Changed

  • Version bump from 1.4.13 to 1.4.14 (collection -> 1.19.0 (was 1.18.0)).

1.4.13 - 2024-12-12

Changed

  • Version bump from 1.4.12 to 1.4.13 (characters -> 1.4.0 (was 1.3.0)).

1.4.12 - 2024-12-05

Changed

  • Version bump from 1.4.11 to 1.4.12 (test -> 1.25.12 (was 1.25.11)).

1.4.11 - 2024-12-04

Changed

  • Version bump from 1.4.10 to 1.4.11 (test -> 1.25.11 (was 1.25.10)).

1.4.10 - 2024-12-03

Changed

  • Version bump from 1.4.9 to 1.4.10 (test -> 1.25.10 (was 1.25.9)).

1.4.9 - 2024-11-27

Changed

  • Version bump from 1.4.8 to 1.4.9 (test -> 1.25.9 (was 1.25.8)).

1.4.8 - 2024-11-22

Changed

  • Version bump from 1.4.7 to 1.4.8 (http_parser -> 4.0.2 (was 4.1.1)).

1.4.7 - 2024-11-22

Changed

  • Version bump from 1.4.6 to 1.4.7 (http_parser -> 4.1.1 (was 4.0.2)).

1.4.6 - 2024-11-22

Changed

  • Version bump from 1.4.5 to 1.4.6 (equatable -> 2.0.7 (was 2.0.6)).

1.4.5 - 2024-08-30

Removed

  • pubspec dependency (discontinued).

1.4.4 - 2024-08-22

Changed

  • Version bump from 1.4.3 to 1.4.4 (SDK update 3.5.1).

1.4.3 - 2024-03-27

Added

  • /api/record package usage registration API.

1.4.2 - 2024-03-27

Added

  • status to package list API result.

1.4.1 - 2024-03-25

Added

  • screenshot and graph to package list API result.

1.4.0 - 2024-03-22

Added

  • Package list API.

1.3.4 - 2024-03-20

Added

  • Support for deprecated package_authors (now hh_package_authors) pubspec.yaml fields.

1.3.3 - 2024-02-01

Changed

  • Version bump from 1.3.2 to 1.3.3 (Resolve package version confusions).

1.3.2 - 2023-09-19

Fixed

  • Removed buffered installer upload and changed it to streaming (to file) for reduced memory usage.

1.3.1 - 2023-09-14

Fixed

  • Caching of extracted resources from package tar files.
  • Scan disk usage only once (after invalidating).

Added

  • Screenshot on main page (if any).

1.3.0 - 2023-08-30

Changed

  • Bump.

1.2.24 - 2023-06-26

Fixed

  • Remove zero-byte installer files (upload failed somehow).

1.2.23 - 2023-05-22

Fixed

  • Wrong async constructs.

1.2.22 - 2023-04-18

Changed

  • Updated docker dart version to 2.19.

1.2.21 - 2023-04-13

Fixed

  • await unawaited futures.
  • Marked some futures unawaited.

1.2.20 - 2023-02-13

Changed

  • Removed package marker, replaced with markdown.

1.2.19 - 2023-02-09

Changed

  • Version bump from 1.2.18 to 1.2.19 (Version confusion after compiler bug chaos).

1.2.18 - 2023-01-31

Changed

  • Version bump from 1.2.17 to 1.2.18.

1.2.17 - 2023-01-31

Changed

  • Version bump from 1.2.16 to 1.2.17.

1.2.16 - 2023-01-18

Fixed

  • Scanning of tar.gz for specific image file.

1.2.15 - 2023-01-18

Changed

  • Read images linked in README.md from package tar file.

1.2.14 - 2022-12-27

Changed

  • Version bump from 1.2.13 to 1.2.14.

1.2.13 - 2022-12-22

Changed

  • Version bump from 1.2.12 to 1.2.13.

1.2.12 - 2022-12-22

Changed

  • Version bump from 1.2.11 to 1.2.12 (Recompile due to installer optimizations).

1.2.11 - 2022-12-09

Changed

  • Removed installers when there are multiple items in the executables pubspec section.

1.2.10 - 2022-11-21

Changed

  • More details in PubSpecExtension.

1.2.9 - 2022-11-08

Fixed

  • Some crash bugs for ill-formatted versioning in CHANGELOG.md files.

1.2.8 - 2022-11-04

Added

  • Support for serverpod projects.

1.2.7 - 2022-10-19

Fixed

  • Copied tp_change to this code tree to eliminate external local package dependencies.

1.2.6 - 2022-10-18

Fixed

  • Image handling (mime type) + svg.

1.2.5 - 2022-10-14

Changed

  • Version bump.

1.2.4 - 2022-10-11

Changed

  • Version bump from 1.2.3 to 1.2.4 (Recompile due to wrong GetIt.instance syntax.).

1.2.3 - 2022-10-05

Changed

  • Version bump from 1.2.2 to 1.2.3 (fixed pdflib searchpath macos crash).

1.2.2 - 2022-10-01

Changed

  • Version bump from 1.2.1 to 1.2.2 (pkg_pdflib bundle macos dylib).

1.2.1 - 2022-09-29

Changed

  • Version bump from 1.2.0 to 1.2.1 (dependencies upgraded).

1.2.0 - 2022-09-08

Added

  • Remove old installers, leave for the last 5 versions.

1.1.9 - 2022-08-31

Changed

  • removed various finals due to new linter rules.

1.1.8 - 2022-08-04

Changed

  • Remeved dependency on dart_hh.
  • Moved some classes from dart_hh to this project.

1.1.7 - 2022-08-03

Changed

  • Refactored installer filename generator, use from dart_hh.

1.1.6 - 2022-08-02

Changed

  • Windows installer filename generator.

1.1.5 - 2022-08-01

Fixed

  • Typo in style.css, rule .package__timeago:not(:empty)::after.

1.1.4 - 2022-08-01

Added

  • web installer type.

1.1.3 - 2022-07-29

Added

  • timeago for upload age (like: Uploaded 29 minutes ago).

Changed

  • css grid layout (less vertical space).

1.1.2 - 2022-07-27

Changed

  • @ruud (maybe) fixed display of the latest package versions on the homepage.

1.1.1 - 2022-07-27

Added

  • @ruud Keep track of the total disk usage.

Changed

  • @ruud Refactoring: remove yaml dependency, and change to pubspec.
  • @ruud Removed String version and changed to Version version.
  • @ruud Renamed a lot of stuff for consistency.
  • @ruud Don't keep loading yaml files as string, just use the stored info from PackageVersion.
  • @ruud Don't keep using pubspec['name']', but usepackageVersion.name` (etc.).

1.1.0 - 2022-07-26

Added

  • Upload api's for application installers.
  • Download links for application installers.

1.0.1 - 2022-07-25

Changed

  • Removed platforms from pubspec.yaml, it is a console app.

1.0.0 - 2022-07-25

Changed

  • First major version.
  • Add docker files "Dockerfile" and "docker-compose".

0.0.1+9 - 2022-07-18

Changed

  • Dependencies.

0.0.1+8 - 2022-06-24

Added

  • Now handles HEAD on / (to test if the server is alive for example).

Changed

  • Changed the packages entry in pubspec.yaml to the official notation.

0.0.1+7 - 2022-06-23

Added

  • Nice web front-end.

0.0.1+6 - 2022-06-23

Added

  • @ruud shelf_hotreload for easier development (switch with kDebugMode).
  • @ruud package filtering.

0.0.1+5 - 2022-06-22

Added

  • SVN repository url.
  • BuildVersion to sidebar.

Changed

  • Read platforms from pubspec.yaml, not platforms.yaml.
  • Read package_authors from `pubspec.yaml'.
  • sidebar HTML template now contains the right platforms.
  • made htmlprovider somewhat generic.

0.0.1+4 - 2022-06-21

Changed

  • @ruud Added section in README.md about proxying through a VPN.

0.0.1+3 - 2022-06-15

Added

  • Package download link.

Changed

  • Not standalone by default.

0.0.1+2 - 2022-06-09

Added

  • Parsing of CHANGELOG.md files.

Changed

  • Sources split-up into separate files.

0.0.1+1 - 2022-05-18

Added

  • Fork from discontinued package for HuigHaverlag 0.1.5.

0.0.1 - 2022-05-18

Added

  • Initial version.

1.5.31

2025-09-11

[exe]

download

1.5.30

2025-08-08

[exe]

download

1.5.29

2025-07-23

[exe]

download

1.5.28

2025-06-30

[exe]

download

1.5.27

2025-05-22

[exe]

download

1.5.23

2025-05-20 download

1.5.22

2025-05-13 download

1.5.20

2025-05-06 download

1.5.19

2025-04-24 download

1.5.18

2025-04-18 download

1.5.14

2025-04-04 download

1.5.12

2025-04-02 download

1.5.10

2025-03-25 download

1.5.9

2025-03-13 download

1.5.8

2025-03-07 download

1.5.5

2025-03-05 download

1.5.3

2025-02-24 download

1.5.2

2025-02-17 download

1.5.0

2025-01-24 download

1.4.38

2025-01-21 download

1.4.36

2025-01-08 download

1.4.35

2025-01-03 download

1.4.34

2024-12-23 download

1.4.26

2024-12-19 download

1.4.22

2024-12-18 download

1.4.21

2024-12-17 download

1.4.20

2024-12-13 download

1.4.18

2024-12-12 download

1.4.9

2024-11-27 download

1.4.8

2024-11-22 download

1.4.6

2024-11-22 download

1.4.5

2024-08-30 download

1.4.4

2024-08-22 download

1.4.3

2024-03-27 download

1.4.2

2024-03-27 download

1.4.1

2024-03-25 download

1.3.4

2024-03-20 download

1.3.3

2024-02-01 download

1.3.2

2023-09-19 download

1.3.1

2023-09-14 download

1.3.0

2023-08-30 download

1.2.24

2023-06-26 download

1.2.23

2023-05-22 download

1.2.22

2023-04-18 download

1.2.21

2023-04-13 download

1.2.20

2023-02-13 download

1.2.19

2023-02-09 download

1.2.18

2023-01-31 download

1.2.16

2023-01-18 download

1.2.15

2023-01-18 download

1.2.14

2022-12-27 download

1.2.13

2022-12-22 download

1.2.12

2022-12-22 download

1.2.11

2022-12-09 download

1.2.10

2022-11-21 download

1.2.9

2022-11-08 download

1.2.8

2022-11-04 download

1.2.7

2022-10-19 download

1.2.6

2022-10-18 download

1.2.5

2022-10-14 download

1.2.4

2022-10-11 download

1.2.3

2022-10-05 download

1.2.2

2022-10-01 download

1.2.1

2022-09-29 download

1.2.0

2022-09-08 download

1.1.9

2022-08-31 download

1.1.8

2022-08-04 download

1.1.7

2022-08-03 download

1.1.6

2022-08-02 download

1.1.5

2022-08-01 download

1.1.4

2022-08-01 download

1.1.3

2022-07-29 download

1.1.2

2022-07-27 download

1.1.1

2022-07-27 download

1.0.1

2022-07-25 download

1.0.0

2022-07-25 download