@@ -11,7 +11,7 @@ import {APP_ID_FILE, APP_SECRET_FILE, FIREWALL_DEFAULTS_FILE, TOKEN_FILE} from "
1111import { AuthorizationRequest } from "./proto/appguard_commands/AuthorizationRequest" ;
1212import { ClientMessage } from "./proto/appguard_commands/ClientMessage" ;
1313import { ServerMessage__Output } from "./proto/appguard_commands/ServerMessage" ;
14- import { FirewallDefaults } from "./proto/appguard_commands/FirewallDefaults" ;
14+ import { FirewallDefaults , FirewallDefaults__Output } from "./proto/appguard_commands/FirewallDefaults" ;
1515
1616const opts = { includeDirs : [
1717 'node_modules/@nullnet/appguard-express/node_modules/appguard-client-common/proto/' ,
@@ -32,22 +32,21 @@ const fs = require('fs');
3232
3333// process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
3434
35- export type AppGuardConfig = {
36- host : string ;
37- port : number ;
38- tls : boolean ;
39- } ;
40-
4135export class AppGuardService {
4236 private client : AppGuardClient
43- private config : AppGuardConfig
4437
45- constructor ( config : AppGuardConfig ) {
38+ constructor ( ) {
39+ require ( 'dotenv' ) . config ( )
40+ let host = process . env . CONTROL_SERVICE_ADDR || '0.0.0.0'
41+ let port = process . env . CONTROL_SERVICE_PORT || '50051'
42+ let tls = false ;
43+
44+ console . log ( `Connecting to ${ host } :${ port } ` ) ;
45+
4646 this . client = new grpcObj . appguard . AppGuard (
47- `${ config . host } :${ config . port } ` ,
48- config . tls ? grpc . credentials . createSsl ( ) : grpc . credentials . createInsecure ( )
47+ `${ host } :${ port } ` ,
48+ tls ? grpc . credentials . createSsl ( ) : grpc . credentials . createInsecure ( )
4949 ) ;
50- this . config = config ;
5150 }
5251 async onModuleInit ( ) {
5352 return new Promise ( ( resolve , reject ) => {
@@ -100,8 +99,23 @@ export class AppGuardService {
10099 } )
101100 }
102101
102+ async firewallDefaultsRequest ( token : string ) : Promise < FirewallDefaults__Output > {
103+ let req = {
104+ token : token ,
105+ } ;
106+ return new Promise ( ( resolve , reject ) => {
107+ this . client . firewallDefaultsRequest ( req , ( err , res ) => {
108+ if ( err ) {
109+ reject ( err )
110+ } else {
111+ resolve ( res as FirewallDefaults__Output )
112+ }
113+ } )
114+ } )
115+ }
116+
103117 firewallPromise = ( promise : Promise < AppGuardResponse__Output > ) : Promise < AppGuardResponse__Output > => {
104- let firewallDefaults : FirewallDefaults = getFirewallDefaults ( ) ;
118+ let firewallDefaults : FirewallDefaults = readFirewallDefaults ( ) ;
105119 let timeout = firewallDefaults . timeout ;
106120 let defaultPolicy = firewallDefaults . policy ;
107121 if ( timeout !== undefined ) {
@@ -117,7 +131,7 @@ export class AppGuardService {
117131 }
118132
119133 connectionPromise = ( connection : AppGuardTcpConnection ) : Promise < AppGuardTcpResponse__Output > => {
120- let firewallDefaults : FirewallDefaults = getFirewallDefaults ( ) ;
134+ let firewallDefaults : FirewallDefaults = readFirewallDefaults ( ) ;
121135 let timeout = firewallDefaults . timeout ;
122136 let promise = this . handleTcpConnection ( connection ) ;
123137 if ( timeout !== undefined ) {
@@ -194,7 +208,7 @@ export class AppGuardService {
194208 }
195209}
196210
197- function getFirewallDefaults ( ) : FirewallDefaults {
211+ function readFirewallDefaults ( ) : FirewallDefaults {
198212 let text = fs . readFileSync ( FIREWALL_DEFAULTS_FILE , 'utf8' ) ;
199213 return JSON . parse ( text ) ;
200214}
0 commit comments