¿Cómo las versiones de Github generan nombres de file?

Acabo de crear lanzamientos para mi software NFQL en github.
Aquí está la página de lanzamientos: https://github.com/vbajpai/nfql/releases

Para la última versión, v0.7 . Si hago clic en el button tarball, guarda un nfql-0.7.tar.gz . Esto es genial y exactamente cómo quiero que se nombren mis files de lanzamiento.

enter image description here

Sin embargo, necesito el enlace de descarga del file tarball. Para que pueda crear un file MacPorts / Homebrew para el file tarball. Si miro el enlace de descarga, es:

a) https://github.com/vbajpai/nfql/archive/v0.7.tar.gz o
b) https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7

ahora si uso curl/wget guarda el v0.7.tar.gz como v0.7.tar.gz Sé que puedo especificar un nombre de file mientras descargo usando curl/wget . Quiero saber si hay una URL confiable de github que pueda usar para search mi tarball como nfql-0.7.tar.gz .

PD: ¿Qué está haciendo Github allí de todos modos? ¿Cómo es el nombre de file alterado por los browseres cuando hago clic directamente en el enlace del código fuente?

El primer enlace da una networkingirección a la segunda:

 curl --head https://github.com/vbajpai/nfql/archive/v0.7.tar.gz HTTP/1.1 302 Found Location: https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7 ... 

¿Cómo es el nombre de file alterado por los browseres cuando hago clic directamente en el enlace del código fuente?

El nombre del file se define a través de un encabezado HTTP Content-Disposition personalizado:

 curl --head https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7 HTTP/1.1 200 OK Content-Disposition: attachment; filename=nfql-0.7.tar.gz ... 

Así que puede usar curl 's -O, --remote-name , -L, --location y -J, --remote-header-name para (resp.) Escribir salida en un file llamado como el file remoto, seguir networkingirige y usa el nombre de file proporcionado por el encabezado:

 curl -LOJ https://github.com/vbajpai/nfql/archive/v0.7.tar.gz 

No estoy seguro de si esto funcionó cuando la pregunta se publicó originalmente, pero ahora puede usar https://github.com/vbajpai/nfql/archive/v0.7/nfql-0.7.tar.gz para get el nombre de file correcto sin mirar en los encabezados Esto es muy bueno cuando se usa wget ya que no se necesitan banderas, simplemente wget https://github.com/vbajpai/nfql/archive/v0.7/nfql-0.7.tar.gz

Tenga en count que es el penúltimo componente de ruta que selecciona la versión que se utilizará: puede colocar el nombre de file que desee tener como último componente de ruta.