{"id":22245479,"url":"https://github.com/niiknow/anx-api-proxy","last_synced_at":"2025-03-25T11:20:49.645Z","repository":{"id":38074454,"uuid":"161515344","full_name":"niiknow/anx-api-proxy","owner":"niiknow","description":"AppNexus API Proxy","archived":false,"fork":false,"pushed_at":"2024-11-18T20:25:11.000Z","size":5363,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T10:22:32.475Z","etag":null,"topics":["ads","advertisers","advertising","appnexus","appnexus-api-proxy"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/niiknow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-12-12T16:28:49.000Z","updated_at":"2023-02-21T04:25:13.000Z","dependencies_parsed_at":"2023-12-14T05:25:21.519Z","dependency_job_id":"6378fd71-5c9f-4b9e-874e-91bb8a213ef5","html_url":"https://github.com/niiknow/anx-api-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niiknow%2Fanx-api-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niiknow%2Fanx-api-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niiknow%2Fanx-api-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niiknow%2Fanx-api-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/niiknow","download_url":"https://codeload.github.com/niiknow/anx-api-proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245449653,"owners_count":20617190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ads","advertisers","advertising","appnexus","appnexus-api-proxy"],"created_at":"2024-12-03T05:15:26.753Z","updated_at":"2025-03-25T11:20:49.600Z","avatar_url":"https://github.com/niiknow.png","language":"JavaScript","readme":"# anx-api-proxy (AppNexus API Proxy)\n\u003e A utility API endpoint to communicate with AppNexus\n\nThis service simplify AppNexus communication with API Key(s).  It also simplify downloading of generic reports.\n\n# Features\n- [x] Proxy (GET, POST, PUT, DELETE) with cached authentication\n- [x] Generic Advertiser reports download\n- [ ] Generic Publisher reports download\n- [ ] Handle X-Rate-Limit header\n\n## Installation\n1. `git clone https://github.com/niiknow/anx-api-proxy`\n2. `cd anx-api-proxy`\n3. `composer install`\n4. `npm install`\n5. set your `.env` by copying from `.env.example`\n6. `php artisan key:generate`\n7. Run/Serve the Site\n    - laravel valet: `valet link anx-api-proxy`\n    - homestead: `homestead up`\n8. after `valet link anx-api-proxy`, visit [anx-api-proxy.test/](http://anx-api-proxy.test) or npm run watch\n9. visit [anx-api-proxy.test/api/documentation](http://anx-api-proxy.test/api/documentation) for api docs\n\n## Shared Hosting Deployment\n1. Package the project, this will create `dist.tar` file\n```\ncomposer app:package\n```\n2. Create the necessary database and user on your server.  Take note of the database credentials; we will use it on `step 7` below.\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step2.png?raw=true)\n3. Create sub-domain and its folder, example: `anx-api-proxy.niiknow.org` with folder as `/home/{user}/anx-api-proxy.niiknow.org`\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step3.png?raw=true)\n4. Update your hosting folder as `/home/{user}/anx-api-proxy.niiknow.org/public`\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step4-1.png?raw=true)\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step4-2.png?raw=true)\n5. Upload the resulting file in `dist.tar` to your sub-domain folder `/home/user/anx-api-proxy.niiknow.org/` (note **not** your public folder) and extract it to the current director.\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step5.png?raw=true)\n6. Visit `http://anx-api-proxy.niiknow.org/init.php` to initialize the project.  This will update required permissions for `storage/framework/`, `storage/logs/`, and `bootstrap/cache/` and create the `.env` file from `.env.example` file.  If it doesn't automatically redirect you to `/install`, then visit `/install` and complete the setup to finalize your `.env` file with the necessary database and other configuration.  Take note of the `API_KEYS` that was generated or provide your own key to be use with `X-API-Key` header.  Take note of `REPORT_KEY` for report authentication.\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step6-1.png?raw=true)\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step6-2.png?raw=true)\n7. Follow the installation wizard.  Fill in the necessary `DB_DATABASE`, `DB_USERNAME`, and `DB_PASSWORD` that you've taken note earlier.  Make sure you fill in everything such as (`APP_URL`, `APP_DOMAIN`, `APP_DEBUG`, etc...) and not just the database values.  Then click `save .env`, you want to make sure you save your changes.  Then click `save and install`, this will perform database initial migration for you.  Then click the `click here to exit` button to complete the installation.\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step7-1.png?raw=true)\n![](https://raw.githubusercontent.com/niiknow/anx-api-proxy/master/storage/docs/step7-2.png?raw=true)\n8. Congratulation, you're all set!  You can always update your `.env` file now if you need to make any additional changes.\n\n**TO UPDATE/UPGRADE**\n1. run `composer app:package` again\n2. upload and extract like you've done in installation above\n3. public/init.php - execute this by visiting example.app/init.php in the browser\n4. then visit your site `/update` instead of `/install`\n\n**Configuration/env Note**\n- `API_KEYS`=set this to secure your api with `X-API-Key` header\n- `REPORT_KEY`=set this to authenticate with report download\n\n### Troubleshooting\nIf you get redirect to `/install` and the page is blank.  Check your cpanel error log for details.  Make sure you pick the correct php version.  Some older server default to `php7+` instead of `php8+`.\n\nIf you have an issue and need to restart installation, simply delete the file `storage/installed` and visit `/install` again.\n\n# Note\nAt the moment, we really have no reason for having a database since this is only use as a Proxy.\n\n# MIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniiknow%2Fanx-api-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniiknow%2Fanx-api-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniiknow%2Fanx-api-proxy/lists"}