├── .gitignore ├── LICENSE ├── README.md ├── architecture.png ├── architecture.svg ├── client ├── Cargo.toml └── src │ ├── api │ ├── client.rs │ ├── endpoints.rs │ ├── mod.rs │ └── schemas.rs │ ├── cli │ ├── args.rs │ ├── commands.rs │ ├── helpers.rs │ └── mod.rs │ ├── decoder │ ├── decoder.rs │ ├── mod.rs │ └── worker.rs │ ├── errors │ ├── errors.rs │ └── mod.rs │ ├── lib.rs │ ├── main.rs │ ├── service │ ├── locator.rs │ └── mod.rs │ └── tests │ ├── him.png │ ├── mod.rs │ ├── qr_code.png │ ├── qrcode.jpg │ ├── shinobi.png │ └── test_data.json ├── server ├── .air.toml ├── Dockerfile ├── Makefile ├── README.md ├── cmd │ ├── api │ │ ├── api.go │ │ ├── context.go │ │ ├── errors.go │ │ ├── health.go │ │ ├── helpers.go │ │ ├── main.go │ │ ├── middleware.go │ │ ├── project_allowed_users.go │ │ ├── projects.go │ │ ├── tokens.go │ │ └── users.go │ └── migrate │ │ └── migrations │ │ ├── 000001_create_projects.down.sql │ │ ├── 000001_create_projects.up.sql │ │ ├── 000002_create_users.down.sql │ │ ├── 000002_create_users.up.sql │ │ ├── 000003_add_expire_to_projects.down.sql │ │ ├── 000003_add_expire_to_projects.up.sql │ │ ├── 000004_create_tokens_table.down.sql │ │ ├── 000004_create_tokens_table.up.sql │ │ ├── 000005_project_allowed_users_create.down.sql │ │ └── 000005_project_allowed_users_create.up.sql ├── docker-compose.yml ├── docs │ ├── docs.go │ ├── swagger.json │ └── swagger.yaml ├── entrypoint.sh ├── go.mod ├── go.sum ├── internal │ ├── db │ │ └── db.go │ ├── env │ │ └── env.go │ ├── jsonlog │ │ └── jsonlog.go │ ├── store │ │ ├── project_allowed_users.go │ │ ├── projects.go │ │ ├── qrc-generator.go │ │ ├── schemas.go │ │ ├── storage.go │ │ ├── tokens.go │ │ └── users.go │ └── validator │ │ └── validate.go ├── nixpacks.toml └── scripts │ └── db_init.sql ├── shinobi_architecture.png ├── tmp └── build-errors.log └── 忍.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/README.md -------------------------------------------------------------------------------- /architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/architecture.png -------------------------------------------------------------------------------- /architecture.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/architecture.svg -------------------------------------------------------------------------------- /client/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/Cargo.toml -------------------------------------------------------------------------------- /client/src/api/client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/api/client.rs -------------------------------------------------------------------------------- /client/src/api/endpoints.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/api/endpoints.rs -------------------------------------------------------------------------------- /client/src/api/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/api/mod.rs -------------------------------------------------------------------------------- /client/src/api/schemas.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/api/schemas.rs -------------------------------------------------------------------------------- /client/src/cli/args.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/cli/args.rs -------------------------------------------------------------------------------- /client/src/cli/commands.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/cli/commands.rs -------------------------------------------------------------------------------- /client/src/cli/helpers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/cli/helpers.rs -------------------------------------------------------------------------------- /client/src/cli/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/cli/mod.rs -------------------------------------------------------------------------------- /client/src/decoder/decoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/decoder/decoder.rs -------------------------------------------------------------------------------- /client/src/decoder/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/decoder/mod.rs -------------------------------------------------------------------------------- /client/src/decoder/worker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/decoder/worker.rs -------------------------------------------------------------------------------- /client/src/errors/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/errors/errors.rs -------------------------------------------------------------------------------- /client/src/errors/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod errors; 2 | -------------------------------------------------------------------------------- /client/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/lib.rs -------------------------------------------------------------------------------- /client/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/main.rs -------------------------------------------------------------------------------- /client/src/service/locator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/service/locator.rs -------------------------------------------------------------------------------- /client/src/service/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/service/mod.rs -------------------------------------------------------------------------------- /client/src/tests/him.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/tests/him.png -------------------------------------------------------------------------------- /client/src/tests/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/tests/mod.rs -------------------------------------------------------------------------------- /client/src/tests/qr_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/tests/qr_code.png -------------------------------------------------------------------------------- /client/src/tests/qrcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/tests/qrcode.jpg -------------------------------------------------------------------------------- /client/src/tests/shinobi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/tests/shinobi.png -------------------------------------------------------------------------------- /client/src/tests/test_data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/client/src/tests/test_data.json -------------------------------------------------------------------------------- /server/.air.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/.air.toml -------------------------------------------------------------------------------- /server/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/Dockerfile -------------------------------------------------------------------------------- /server/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/Makefile -------------------------------------------------------------------------------- /server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/README.md -------------------------------------------------------------------------------- /server/cmd/api/api.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/api.go -------------------------------------------------------------------------------- /server/cmd/api/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/context.go -------------------------------------------------------------------------------- /server/cmd/api/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/errors.go -------------------------------------------------------------------------------- /server/cmd/api/health.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/health.go -------------------------------------------------------------------------------- /server/cmd/api/helpers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/helpers.go -------------------------------------------------------------------------------- /server/cmd/api/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/main.go -------------------------------------------------------------------------------- /server/cmd/api/middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/middleware.go -------------------------------------------------------------------------------- /server/cmd/api/project_allowed_users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/project_allowed_users.go -------------------------------------------------------------------------------- /server/cmd/api/projects.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/projects.go -------------------------------------------------------------------------------- /server/cmd/api/tokens.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/tokens.go -------------------------------------------------------------------------------- /server/cmd/api/users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/api/users.go -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000001_create_projects.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS projects; 2 | -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000001_create_projects.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/migrate/migrations/000001_create_projects.up.sql -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000002_create_users.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS users; 2 | -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000002_create_users.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/migrate/migrations/000002_create_users.up.sql -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000003_add_expire_to_projects.down.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/migrate/migrations/000003_add_expire_to_projects.down.sql -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000003_add_expire_to_projects.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/migrate/migrations/000003_add_expire_to_projects.up.sql -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000004_create_tokens_table.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS tokens; 2 | -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000004_create_tokens_table.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/migrate/migrations/000004_create_tokens_table.up.sql -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000005_project_allowed_users_create.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS project_allowed_users; 2 | -------------------------------------------------------------------------------- /server/cmd/migrate/migrations/000005_project_allowed_users_create.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/cmd/migrate/migrations/000005_project_allowed_users_create.up.sql -------------------------------------------------------------------------------- /server/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/docker-compose.yml -------------------------------------------------------------------------------- /server/docs/docs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/docs/docs.go -------------------------------------------------------------------------------- /server/docs/swagger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/docs/swagger.json -------------------------------------------------------------------------------- /server/docs/swagger.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/docs/swagger.yaml -------------------------------------------------------------------------------- /server/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/entrypoint.sh -------------------------------------------------------------------------------- /server/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/go.mod -------------------------------------------------------------------------------- /server/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/go.sum -------------------------------------------------------------------------------- /server/internal/db/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/db/db.go -------------------------------------------------------------------------------- /server/internal/env/env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/env/env.go -------------------------------------------------------------------------------- /server/internal/jsonlog/jsonlog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/jsonlog/jsonlog.go -------------------------------------------------------------------------------- /server/internal/store/project_allowed_users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/project_allowed_users.go -------------------------------------------------------------------------------- /server/internal/store/projects.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/projects.go -------------------------------------------------------------------------------- /server/internal/store/qrc-generator.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/qrc-generator.go -------------------------------------------------------------------------------- /server/internal/store/schemas.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/schemas.go -------------------------------------------------------------------------------- /server/internal/store/storage.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/storage.go -------------------------------------------------------------------------------- /server/internal/store/tokens.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/tokens.go -------------------------------------------------------------------------------- /server/internal/store/users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/store/users.go -------------------------------------------------------------------------------- /server/internal/validator/validate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/internal/validator/validate.go -------------------------------------------------------------------------------- /server/nixpacks.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/nixpacks.toml -------------------------------------------------------------------------------- /server/scripts/db_init.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/server/scripts/db_init.sql -------------------------------------------------------------------------------- /shinobi_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/shinobi_architecture.png -------------------------------------------------------------------------------- /tmp/build-errors.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/tmp/build-errors.log -------------------------------------------------------------------------------- /忍.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luce-labs/shinobi/HEAD/忍.png --------------------------------------------------------------------------------