v1.0.0
1.0.0 (2020-06-10)
Bug Fixes
- 'make flushdb' wasn't flushing all the needed volumes (6bc1061)
- added '/' in the end of prefix if needed for compose prepare (737bd47)
- added prefix and no-push flags handling to pathwar compose prepare function (2e8fbad)
- added screenshoter bin to gitignore file (36095b2)
- captcha-luigi level update (549d6fd)
- captcha-luigi passphrase hardcoded instead of read from file (8653a20)
- captcha-mario level update (99bd2f1)
- captcha-mario level update (979d4c0)
- challenge instances weren't retrieved properly from database (95943e7)
- Change ignore path (9fa29c7)
- config check (a6e7dd9)
- config check (#290) (a317dfa)
- delay 'make up' on production after a flushdb to avoid two instances of pathwar (a327304)
- deploy (6a119f8)
- deploy (#297) (94c7abb)
- docker agent build (715bba7)
- docker makefile rules (86102b3)
- ensure pwinit exists before running packr (407111b)
- featured image link (7752214)
- fix agent start/restart/loop (68ea442)
- fixed chmod issue with on-init script in pwinit (31d9595)
- fixed some default challenge to run properly with injected pwinit binary (fafb383)
- helloworld level update (6783b77)
- improve validate and close tests, using right endpoint (#256) (74bbe44)
- improve varnames (624d3c7)
- increase test timeout on CI (e76c4c2)
- invalid godoc canonical name (240dc2d)
- lint (ece2379)
- make pathwar api killable with signals (2a78438)
- nginx_url computation was using user team member id on agent and user id on api, made it use user id on both (7eb2c2d)
- now challenge creation shouldn't create a new orphan network but erase previous (done by adding a depth in tmpdir where prepared compose file is stored) (c9246fd)
- now pwcompose down --with-nginx should delete nginx container and network properly (37391a7)
- panic for sso token with multiple clients (64de5de)
- prune was only deletting one container at a time (615832a)
- pw compose down by abridged hash fixed (needed to check one more char) (194571f)
- pw compose down by abridged hash fixed (needed to check one… (#281) (db3b5e1)
- pwcompose down --with-nginx now rm nginx proxy container (9c008db)
- remove text from favicon (8bf7406)
- remove unused field (9e28c91)
- removed pwcompose dependency from migrations.go and hardcoded prepared yml files (3928ea9)
- repair forestadmin dev deployment (b92b066)
- repair platform-dev deployment (eaaa30a)
- resize logo (df988a6)
- reverted mistaken change on training-sqli compose file (ab480f1)
- run migrations in transactions (3997871), closes #511
- season challenge validation (44ac721)
- split migrations between essential vs unit tests (6279499)
- tool/forestadmin/package.json & tool/forestadmin/package-lock.json to reduce vulnerabilities (4af38df)
- training-brute level update (368cabb)
- training-brute level update (6e42912)
- training-http level update (150766b)
- training-http level update (f24d4c3)
- training-include level update (d7ba98a)
- training-tools level update (2ddee85)
- typo in API (c146e15)
- typo in challenge debug migration bundle (4dee119)
- typo in helloworld on-init script (c0f2a32)
- updated go Makefile to work even if GOPATH env variable is not defined (happens if golang was installed through aptitude) (f4792ce)
- updated gotty image hash from migration file (new image was pushed with cors issue fix) (a779aca)
- upload-hi level update (63f8112)
- use github actions for CI (2f44d5d)
- validation fix on front part -> send pasphrases as array to API and adjust passphrase placeholder (ef588fe)
- web/package.json & web/package-lock.json to reduce vulnerabilities (bc03363)
- yaml syntax error (f03497e)
Features
- 'hypervisor ps' command (cf1424c)
- add 'pathwar client METHOD PATH ARGS' new command (59bb357)
- add agent-dev deployment (f318019)
- add an helper that dumps the pwinit binary (aa149c0)
- add watchtower (093fb49)
- added a default_agent flag in agent-register api call input, if it's true, agent will start an instance for each flavor added to db (b55c761)
- added websocket proxy_pass to agent generated nginx config file (39c37de)
- agent Dockerfile with dind and docker-compose (1472d6f)
- agent register (b2b0803)
- api add challenge (0e605d2)
- api admin add challenge flavor (78a7c72)
- challenge validation now works properly (c019d86)
- configure nginx-proxy deployment (d4f5020)
- configure opentracing (f54007e)
- configure semantic releases (3f49fde)
- daemon prints instance list from api in debug mode (3b4488b)
- ensure docker image has pwinit preloaded (2ef46f9)
- forestadmin lumber init (c8eb822)
- generate personal nginx URLs (6dedeb7)
- GET /season-challenge now returns instances nginx_url (bbf8556)
- go-mod v2 (41c4982)
- go1.14 (990af31)
- initial admin CLI (d67f5a5)
- move go.mod on repo root (2b01d49)
- print panic stacktraces (2d80e5b)
- replaced utf8 sql charset by utf8mb4 (8acad2c)
- agent: enforce disallow robots.txt on challenges + add missing HTTP headers + refactor Makefile (4ceabe0)
- 'pathwar compose prepare' (2c09e52)
- /teams API endpoint (045c18f)
- add 'sql adduser --email [...]' cli command + refactor cobra (f5be441)
- add 'sql info' (c082f23)
- Add Coming soon page (fcb5b3f)
- add docker image (7661ca0)
- add forestadmin (7608308)
- add GET /levels (c587b87)
- add GET /levels (#54) (b244f26)
- add GET /teams (af5c583)
- add GET /tournament/team (7947730)
- add GET /tournaments + reorganized server folder (b0ffecc)
- add GET /users (b0e7f90)
- add hypervisor prune command (e4b034b)
- add keycloak service (7f865f5)
- add level entity (7792b17)
- add Makefile in pathwar/level-example (2566b88)
- Add meta tags (4e921d7)
- Add new logo (ac70f32)
- add pathwar theme for keycloak (61ee8ce)
- add pathwar theme for keycloak (#98) (4ea9892)
- add POST /user/delete-account (da14501)
- add pprof debugger (dfadcb5)
- add protoc docker image (56f785f)
- add sql dump command (e9249b7)
- add swagger annotation (#56) (5f557e4)
- add swagger documentation (e50c1c4)
- add TeamCreate endpoint (
POST /team
) (3bc8280) - added RestartPolicy "unless-stopped" to all containers bef… (#292) (063011e)
- added RestartPolicy "unless-stopped" to all containers before up (28de105)
- agent API (646b5c5)
- auth (65fbe43)
- authenticate agent with SSO (3c629ad)
- bump dependencies (db80229)
- ChallengeSubscriptionClose + related small fixes & refactors (27f0378)
- ChallengeSubscriptionValidate + related small fixes and refactors (02b8100)
- Change favicon with new logo (8812b98)
- check the docker-compose.yml file and raises error if incompatible (751f153)
- configurable API prefix (default is /api) (3bba429)
- configurable API prefix (default is /api) (#99) (89e82d7)
- connect agent to the API using gRPC (a075585)
- coupons (6e18b00)
- coupons (#269) (5f5ecd0)
- create challenges details routing and mainpage - issue/203 (#218) (1e5eb93)
- default value for --domain-suffix now generates nginx config for local setup (a1b0c69)
- define all models (e41c2b4)
- define schema relationships (54022dd)
- dockerize web (684f4d9)
- dockerize web (#59) (37d4d5b)
- embed a dedicated binary in the container with custom wrapper (e4df693)
- enable circle CI (18b859b)
- enable codecov (d8cd184)
- enable JWT support (3ea0ea7)
- expose Agent API over HTTP too (b723226)
- generate fake data (a37067b)
- generate fake data for new models (989e1ed)
- GET /challenge?challenge_id=xxxd (d86334f)
- GET /tournament/teams API endoint (0b78844)
- get /tournaments with /user-sessions (eddc9b4)
- http server (6fd644a)
- hypervisor nginx (d9dcbc8)
- hypervisor now attributes a random port (9682c55)
- hypervisor run detach (4628b9f)
- hypervisor run now supports nginx-proxy (f828382)
- impl AgentListInstances API (958bd50)
- impl AgentRegister API (8a6db3a)
- implement CLI 'sql adduser' command (a6fc902)
- implement CLI 'sql adduser' command (#71) (db86ca0)
- implement GET /tournaments (8925d22)
- initial docker hypervisor (40d113a)
- initial grpc server (6394895)
- initial project layout (89c825a)
- initial sql support (c22bffd)
- initial version of screenshoter (c662623)
- inject entrypoint (self) in the container before starting (c14a35f)
- install protoc-gen-swagger in docker image (31116fa)
- integration test (aa9c334)
- new agent-dev deployment helper (0a83b5c)
- new API endpoints (404a270)
- now each time an agent registers, a challenge debug instance is automatically created (5d89180)
- on season challenge validation, instances are redumped automatically (bf117c8)
- pathwar compose down (b47c667)
- pathwar compose prepare --no-push (f4cc401)
- pathwar compose ps (407e582)
- pathwar compose up (ad1ef0e)
- pathwar compose up --force-recreate (dbea8ca)
- pathwar compose up injects a config file that contains cha… (#302) (166c4be)
- pathwar compose up injects a config file that contains challenge passphrases (9a2bac4)
- pathwar compose up now displays the compose file if debug flag is true (14c977f)
- pwagent daemon (cfa9697)
- pwcompose down --with-nginx (a0a5221)
- pwcompose down --with-nginx (#308) (1df6006)
- pwcompose down -> everything started by pwcompose (checkout labels) (42116a8)
- pwcompose up now injects pwinit binary in containers before starting them (dbb920e)
- pwinit overrides challenge entrypoint (c5bb2db)
- redirect domain aliases to primary domain (87362bf)
- refactor for new pathwar format (2cc2319)
- refactor models + add fields (ccbc256)
- refactor pwagent (ecd874e)
- refactor season challenge list to improve performances (321b9a4)
- repair godoc (0066136)
- restricted area (8ca5af5)
- return 'within_docker' in the /api/info call (b61f6d0)
- return gRPC responses indirectly to be more future-proof (6d303a8)
- return more data when calling GET /user-session (ad0b26e)
- SeasonChallengeBuy + SeasonChallengeList + small fixes and refactors (8743664)
- server now serves static files too (aa7ca76)
- set up bearer (50eb5e7)
- setup dynamic passphrase in level (6e7f2e6)
- setup eclint while generating + eclint fix all (6dc691d)
- setup pwctl bridge with config file and passphrases (8a560b6)
- SQL & server code refactoring (36e35fd)
- support having custom .env file (c217373)
- switch to Apiary for real-time API documentation (4e75607)
- switch to Apiary for real-time API documentation (#55) (f59a9ad)
- switch to mysql (6ac6467)
- trace HTTP gateway (2254bcf)
- Turn active_season_id, team_id and challange_id dynamic on… (#235) (ce8348e)
- up-to-date docker agent (2df6785)
- update cash with coupon validations (0b68c71)
- update menu (cb88098)
- updated and added imageboard challenge (511a325)
- updated and added imageboard challenge (#214) (5b6de4b)
- use hostname as default agent name (8543bde)
- use real API instead of mock (9517726)
- use secure rand seed (3451083)
- use static version of pwinit (167cb56)
- user routes are now generated in nginx config file (3d99573)
- ux-improement: improving list loadings (#221) (e85f3dc)
- web+platform integration tests (153d2b9)