pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/security Vaultwarden is a Bitwarden server API impleme...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/53a105c6aae0
branches:  trunk
changeset: 383306:53a105c6aae0
user:      hauke <hauke%pkgsrc.org@localhost>
date:      Wed Aug 17 15:44:16 2022 +0000

description:
Vaultwarden is a Bitwarden server API implementation written in Rust,
compatible with upstream Bitwarden password manager clients.

It is well-suited for self-hosted deployment, where running the
official resource-heavy service might not be ideal.

diffstat:

 security/Makefile                                 |     3 +-
 security/vaultwarden/DESCR                        |     4 +
 security/vaultwarden/MESSAGE                      |    12 +
 security/vaultwarden/Makefile                     |    90 +
 security/vaultwarden/PLIST                        |   200 ++++
 security/vaultwarden/cargo-depends.mk             |   343 ++++++
 security/vaultwarden/distinfo                     |  1032 +++++++++++++++++++++
 security/vaultwarden/files/httpd-vaultwarden.conf |    22 +
 security/vaultwarden/files/vaultwarden.sh         |    48 +
 security/vaultwarden/options.mk                   |    44 +
 security/vaultwarden/patches/patch-.env.template  |    36 +
 11 files changed, 1833 insertions(+), 1 deletions(-)

diffs (truncated from 1888 to 300 lines):

diff -r 8a0e40d2c51d -r 53a105c6aae0 security/Makefile
--- a/security/Makefile Wed Aug 17 15:43:18 2022 +0000
+++ b/security/Makefile Wed Aug 17 15:44:16 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.867 2022/08/11 06:49:34 wiz Exp $
+# $NetBSD: Makefile,v 1.868 2022/08/17 15:44:16 hauke Exp $
 #
 
 COMMENT=       Security and cryptography tools and libraries
@@ -641,6 +641,7 @@
 SUBDIR+=       trufflehog
 SUBDIR+=       validns
 SUBDIR+=       vault
+SUBDIR+=       vaultwarden
 SUBDIR+=       volatility
 SUBDIR+=       wfuzz
 SUBDIR+=       wolfssl
diff -r 8a0e40d2c51d -r 53a105c6aae0 security/vaultwarden/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/vaultwarden/DESCR        Wed Aug 17 15:44:16 2022 +0000
@@ -0,0 +1,4 @@
+This is a Bitwarden server API implementation written in Rust,
+compatible with upstream Bitwarden clients. It is well-suited for
+self-hosted deployment, where running the official resource-heavy
+service might not be ideal.
diff -r 8a0e40d2c51d -r 53a105c6aae0 security/vaultwarden/MESSAGE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/vaultwarden/MESSAGE      Wed Aug 17 15:44:16 2022 +0000
@@ -0,0 +1,12 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2022/08/17 15:44:16 hauke Exp $
+
+Vaultwarden stores its data under ${VAULTWARDEN_DATADIR}, the
+service and its daaemonize(8) wrapper log into ${VAULTWARDEN_LOGDIR}.
+
+Vaultwarden binds to localhost only, and is best run behind a reverse
+proxy, see
+<https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples> and
+the enclosed Apache config snippet.
+
+===========================================================================
diff -r 8a0e40d2c51d -r 53a105c6aae0 security/vaultwarden/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/vaultwarden/Makefile     Wed Aug 17 15:44:16 2022 +0000
@@ -0,0 +1,90 @@
+# $NetBSD: Makefile,v 1.1 2022/08/17 15:44:16 hauke Exp $
+
+DISTNAME=      vaultwarden-${PKGVER}
+PKGVER=                1.25.2
+CATEGORIES=    security
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=dani-garcia/}
+EXTRACT_SUFX=  .tar.gz
+
+DISTFILES=     ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER=    hauke%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/dani-garcia/vaultwarden
+COMMENT=       Bitwarden compatible backend server
+
+LICENSE=       gnu-gpl-v3
+
+# From make print-cargo-depends > cargo-depends.mk
+.include "cargo-depends.mk"
+
+USE_TOOLS+=    perl
+
+DEPENDS+=      daemonize>=1.7.8:../../sysutils/daemonize
+
+MAKE_ENV+=     OPENSSL_DIR=${SSLBASE:Q}
+
+.include "../../mk/bsd.prefs.mk"
+
+.include "options.mk"
+
+BUILD_DEFS+=           VARBASE
+
+VAULTWARDEN_LOGDIR=    ${VARBASE}/log/vaultwarden
+VAULTWARDEN_DATADIR=   ${VARBASE}/vaultwarden
+
+EGDIR=                 share/examples/vaultwarden
+
+VAULTWARDEN_USER?=     vwarden
+VAULTWARDEN_GROUP?=    vwarden
+
+PKG_USERS_VARS+=       VAULTWARDEN_USER
+PKG_GROUPS_VARS+=      VAULTWARDEN_GROUP
+PKG_GROUPS=            ${VAULTWARDEN_GROUP}
+PKG_USERS=             ${VAULTWARDEN_USER}:${VAULTWARDEN_GROUP}
+
+PKG_GECOS.${VAULTWARDEN_USER}= VAULTWARDEN password server
+PKG_HOME.${VAULTWARDEN_USER}=  ${VAULTWARDEN_DATADIR}
+PKG_SHELL.${VAULTWARDEN_USER}= ${NOLOGIN}
+
+RCD_SCRIPTS+=          vaultwarden
+FILES_SUBST+=          VAULTWARDEN_USER=${VAULTWARDEN_USER:Q}
+FILES_SUBST+=          VAULTWARDEN_GROUP=${VAULTWARDEN_GROUP:Q}
+FILES_SUBST+=          VAULTWARDEN_DATADIR=${VAULTWARDEN_DATADIR:Q}
+FILES_SUBST+=          VAULTWARDEN_LOGDIR=${VAULTWARDEN_LOGDIR:Q}
+
+MESSAGE_SUBST+=                VAULTWARDEN_DATADIR=${VAULTWARDEN_DATADIR:Q}
+MESSAGE_SUBST+=                VAULTWARDEN_LOGDIR=${VAULTWARDEN_LOGDIR:Q}
+
+CONF_FILES+=           ${EGDIR}/vaultwarden.env.sample \
+                               ${PKG_SYSCONFDIR}/vaultwarden.env
+
+INSTALLATION_DIRS=     sbin ${EGDIR}
+
+OWN_DIRS_PERMS+=       ${VAULTWARDEN_LOGDIR} ${VAULTWARDEN_USER} \
+                               ${VAULTWARDEN_GROUP} 0750
+OWN_DIRS+=             ${VAULTWARDEN_DATADIR}
+OWN_DIRS_PERMS+=       ${VAULTWARDEN_DATADIR}/data ${VAULTWARDEN_USER} \
+                               ${VAULTWARDEN_GROUP} 0700
+
+SUBST_CLASSES+=                paths
+SUBST_STAGE.paths=     pre-install
+SUBST_MESSAGE.paths=   Adjusting package paths.
+SUBST_FILES.paths=     .env.template
+SUBST_VARS.paths=      PREFIX PKG_SYSCONFDIR VAULTWARDEN_LOGDIR WEB_VAULT_DIR
+
+do-install:
+       ${INSTALL_DATA} ${WRKSRC}/.env.template \
+                ${DESTDIR}${PREFIX}/${EGDIR}/vaultwarden.env.sample
+       ${INSTALL_DATA} ${FILESDIR}/httpd-vaultwarden.conf \
+                ${DESTDIR}${PREFIX}/${EGDIR}/httpd-vaultwarden.conf.sample
+       ${INSTALL_PROGRAM} ${WRKSRC}/target/release/vaultwarden \
+                ${DESTDIR}${PREFIX}/sbin/vaultwarden
+
+.include "../../devel/capnproto/buildlink3.mk"
+.include "../../security/nettle/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+
+.include "../../lang/rust/cargo.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff -r 8a0e40d2c51d -r 53a105c6aae0 security/vaultwarden/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/security/vaultwarden/PLIST        Wed Aug 17 15:44:16 2022 +0000
@@ -0,0 +1,200 @@
+@comment $NetBSD: PLIST,v 1.1 2022/08/17 15:44:16 hauke Exp $
+sbin/vaultwarden
+share/examples/vaultwarden/httpd-vaultwarden.conf.sample
+share/examples/vaultwarden/vaultwarden.env.sample
+${PLIST.web-vault}share/vaultwarden/web-vault/.nojekyll
+${PLIST.web-vault}share/vaultwarden/web-vault/404.html
+${PLIST.web-vault}share/vaultwarden/web-vault/404/bootstrap.min.css
+${PLIST.web-vault}share/vaultwarden/web-vault/404/styles.css
+${PLIST.web-vault}share/vaultwarden/web-vault/70501c97b33df95adb32.json
+${PLIST.web-vault}share/vaultwarden/web-vault/app-id.json
+${PLIST.web-vault}share/vaultwarden/web-vault/app/main.42d6fb82e7594e6ba473.js
+${PLIST.web-vault}share/vaultwarden/web-vault/app/main.42d6fb82e7594e6ba473.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/app/main.bd475a6b5f200ae225e5.css
+${PLIST.web-vault}share/vaultwarden/web-vault/app/main.bd475a6b5f200ae225e5.css.map
+${PLIST.web-vault}share/vaultwarden/web-vault/app/polyfills.2f6b3e68c5cef70d796f.js
+${PLIST.web-vault}share/vaultwarden/web-vault/app/polyfills.2f6b3e68c5cef70d796f.js.LICENSE.txt
+${PLIST.web-vault}share/vaultwarden/web-vault/app/polyfills.2f6b3e68c5cef70d796f.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/app/vendor.635edc6b2773ff01d68c.js
+${PLIST.web-vault}share/vaultwarden/web-vault/app/vendor.635edc6b2773ff01d68c.js.LICENSE.txt
+${PLIST.web-vault}share/vaultwarden/web-vault/app/vendor.635edc6b2773ff01d68c.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/browserconfig.xml
+${PLIST.web-vault}share/vaultwarden/web-vault/captcha-connector.html
+${PLIST.web-vault}share/vaultwarden/web-vault/captcha-mobile-connector.html
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/captcha.85e69d8be078efe490cf.css
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/captcha.85e69d8be078efe490cf.css.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/captcha.a111ae84c011ccd106f0.js
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/captcha.a111ae84c011ccd106f0.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/duo.03d3232066d89682b1ee.css
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/duo.03d3232066d89682b1ee.css.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/duo.6df903fad439e668a2d6.js
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/duo.6df903fad439e668a2d6.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/sso.3e58297e1e9fa274f91c.js
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/sso.3e58297e1e9fa274f91c.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/sso.f9bb62a792028198e6bb.css
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/sso.f9bb62a792028198e6bb.css.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn-fallback.7f59f3063fbff194f544.css
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn-fallback.7f59f3063fbff194f544.css.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn-fallback.af943a96dff6c6ea7a19.js
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn-fallback.af943a96dff6c6ea7a19.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn.7f59f3063fbff194f544.css
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn.7f59f3063fbff194f544.css.map
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn.b35ed6af52cfea7081b1.js
+${PLIST.web-vault}share/vaultwarden/web-vault/connectors/webauthn.b35ed6af52cfea7081b1.js.map
+${PLIST.web-vault}share/vaultwarden/web-vault/duo-connector.html
+${PLIST.web-vault}share/vaultwarden/web-vault/favicon.ico
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-italic-300.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-italic-400.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-italic-600.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-italic-700.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-italic-800.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-normal-300.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-normal-400.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-normal-600.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-normal-700.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/Open_Sans-normal-800.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/bwi-font.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/bwi-font.ttf
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/bwi-font.woff
+${PLIST.web-vault}share/vaultwarden/web-vault/fonts/bwi-font.woff2
+${PLIST.web-vault}share/vaultwarden/web-vault/images/0.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/1-w.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/1.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/2.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/3.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/4.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/404.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/6.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/7-w.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/7.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/amex-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/amex-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/apple-touch-icon.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/bwi-globe.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/cards.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/diners_club-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/diners_club-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/discover-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/discover-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/favicon-16x16.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/favicon-32x32.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/android-chrome-192x192.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/android-chrome-512x512.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/apple-touch-icon.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/favicon-16x16.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/favicon-32x32.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/mstile-150x150.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/icons/safari-pinned-tab.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/jcb-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/jcb-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/loading-white.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/loading.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/logo-dark%2x.png@localhost
+${PLIST.web-vault}share/vaultwarden/web-vault/images/logo-white%2x.png@localhost
+${PLIST.web-vault}share/vaultwarden/web-vault/images/maestro-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/maestro-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/mastercard-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/mastercard-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/rc-w.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/rc.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/register-layout/cnet-logo.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/register-layout/forbes-logo.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/register-layout/logo-horizontal-white.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/register-layout/logo-horizontal-white.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/register-layout/usnews-360-badge.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/register-layout/wired-logo.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/ru_pay-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/ru_pay-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/safari-pinned-tab.svg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/totp-countdown.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/0.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/1-w.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/1.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/2.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/3.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/4.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/6.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/7-w.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/7.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/rc-w.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/two-factor/rc.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/u2fkey-mobile.avif
+${PLIST.web-vault}share/vaultwarden/web-vault/images/u2fkey-mobile.jpg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/u2fkey-mobile.webp
+${PLIST.web-vault}share/vaultwarden/web-vault/images/u2fkey.avif
+${PLIST.web-vault}share/vaultwarden/web-vault/images/u2fkey.jpg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/u2fkey.webp
+${PLIST.web-vault}share/vaultwarden/web-vault/images/union_pay-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/union_pay-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/visa-dark.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/visa-light.png
+${PLIST.web-vault}share/vaultwarden/web-vault/images/yubikey.avif
+${PLIST.web-vault}share/vaultwarden/web-vault/images/yubikey.jpg
+${PLIST.web-vault}share/vaultwarden/web-vault/images/yubikey.webp
+${PLIST.web-vault}share/vaultwarden/web-vault/index.html
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/af/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/ar/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/az/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/be/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/bg/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/bn/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/bs/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/ca/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/cs/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/da/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/de/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/el/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/en/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/en_GB/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/en_IN/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/eo/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/es/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/et/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/fi/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/fil/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/fr/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/he/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/hi/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/hr/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/hu/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/id/messages.json
+${PLIST.web-vault}share/vaultwarden/web-vault/locales/it/messages.json



Home | Main Index | Thread Index | Old Index