├── LICENSE ├── README.md ├── distribution └── deb │ ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── docs │ ├── rules │ └── watch │ └── how-to-create-deb.txt ├── netactview ├── AUTHORS ├── COPYING ├── Makefile.am ├── Makefile.in ├── NEWS ├── README ├── alt.make.sh ├── config.guess ├── config.h.in ├── config.sub ├── configure ├── configure.ac ├── data │ ├── Makefile.am │ ├── Makefile.in │ ├── netactview.1 │ ├── netactview.desktop.in │ └── netactview.png ├── depcomp ├── install-sh ├── intltool-extract.in ├── intltool-merge.in ├── intltool-update.in ├── libtool ├── ltmain.sh ├── po │ ├── ChangeLog │ ├── LINGUAS │ ├── Makefile.in.in │ ├── POTFILES.in │ ├── et.po │ ├── it.po │ ├── netactview.pot │ ├── pt.po │ ├── ro.po │ └── ru.po └── src │ ├── Makefile.am │ ├── Makefile.in │ ├── auto-refresh-icon.png │ ├── definitions.h │ ├── filter.c │ ├── filter.h │ ├── main.c │ ├── mainwindow.c │ ├── mainwindow.h │ ├── nactv-debug.h │ ├── net.c │ ├── net.h │ ├── netactview-icon.png │ ├── netactview.glade │ ├── process.c │ ├── process.h │ ├── tray.h │ ├── utils.c │ └── utils.h └── screenshots ├── netactview-i1.jpg ├── netactview-i1_small.jpg ├── netactview-i2.jpg └── netactview-i2_small.jpg /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Library General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License 307 | along with this program; if not, write to the Free Software 308 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 309 | 310 | 311 | Also add information on how to contact you by electronic and paper mail. 312 | 313 | If the program is interactive, make it output a short notice like this 314 | when it starts in an interactive mode: 315 | 316 | Gnomovision version 69, Copyright (C) year name of author 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 318 | This is free software, and you are welcome to redistribute it 319 | under certain conditions; type `show c' for details. 320 | 321 | The hypothetical commands `show w' and `show c' should show the appropriate 322 | parts of the General Public License. Of course, the commands you use may 323 | be called something other than `show w' and `show c'; they could even be 324 | mouse-clicks or menu items--whatever suits your program. 325 | 326 | You should also get your employer (if you work as a programmer) or your 327 | school, if any, to sign a "copyright disclaimer" for the program, if 328 | necessary. Here is a sample; alter the names: 329 | 330 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 331 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 332 | 333 | , 1 April 1989 334 | Ty Coon, President of Vice 335 | 336 | This General Public License does not permit incorporating your program into 337 | proprietary programs. If your program is a subroutine library, you may 338 | consider it more useful to permit linking proprietary applications with the 339 | library. If this is what you want to do, use the GNU Library General 340 | Public License instead of this License. 341 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## ![Icon](https://raw.githubusercontent.com/mihaivzr/netactview/master/netactview/src/netactview-icon.png) Net Activity Viewer ## 2 | 3 | **Netactview** is a graphical network connections viewer for Linux, similar in functionality with Netstat. It includes features like process information, host name retrieval, automatic refresh, sorting, filtering and csv file save. It has a fully featured GTK 2 graphical interface. 4 | 5 | **Changelog v1.2.4** 6 | - Tray icon 7 | - Additional icons menu 8 | - Keep history 9 | - Menu on tray icon 10 | - Hide/Show 11 | - Toggle monitor 12 | - Tray icon change 13 | - Icons changes 14 | - Etc. 15 | 16 | This is an alternative project repository kept in sync with the main repository on sourceforge: 17 | [http://netactview.sourceforge.net](http://netactview.sourceforge.net) 18 | [http://sourceforge.net/projects/netactview](http://sourceforge.net/projects/netactview) 19 | 20 | ![Screenshot](https://raw.githubusercontent.com/mihaivzr/netactview/master/screenshots/netactview-i2.jpg) 21 | -------------------------------------------------------------------------------- /distribution/deb/debian/changelog: -------------------------------------------------------------------------------- 1 | netactview (0.6.4-1) stable; urgency=high 2 | 3 | * Bugfix netactview release 4 | - Fixed processing of commands with invalid utf-8 characters and a related 5 | potential denial of service vulnerability. 6 | - Fixed configuration file validation to not allow huge configuration files 7 | and a related potential privilege authorization avoidance vulnerability. 8 | - Fixed the display of multiple multicast dns connections listening on the 9 | same port. 10 | - Fixed the connections list save when saving as root to a folder that the 11 | current sudo user can modify. 12 | - Limited the DNS cache to prevent it from becoming a memory leak. 13 | - Implemented a few other small fixes and defence in depth measures. 14 | 15 | -- Mihai Varzaru Sun, 29 Mar 2015 20:58:06 +0300 16 | 17 | 18 | netactview (0.6.3-1) stable; urgency=low 19 | 20 | * Bugfix netactview release 21 | - Updated the location of the Wiki documentation to: 22 | http://netactview.sourceforge.net/wiki/ 23 | The old wiki address will not be available after 2014-06-19 because 24 | sourceforge.net retires the hosted apps. 25 | - fixed the desktop file 26 | - fixed and updated the man file 27 | 28 | -- Mihai Varzaru Mon, 02 Jun 2014 11:16:01 +0300 29 | 30 | 31 | netactview (0.6.2-1) stable; urgency=low 32 | 33 | * Bugfix netactview release 34 | - Fixed connections list refresh on 0 connections 35 | 36 | -- Mihai Varzaru Wed, 09 Apr 2014 15:14:30 +0300 37 | 38 | 39 | netactview (0.6.1-1) stable; urgency=low 40 | 41 | * Bugfix netactview release 42 | - Fixed a network statistics bug visible when using PPPoE connections 43 | 44 | -- Mihai Varzaru Thu, 21 Jul 2011 22:22:42 +0300 45 | 46 | 47 | netactview (0.6-1) stable; urgency=low 48 | 49 | * New netactview release 50 | - Added filter operators 51 | - Added save as CSV 52 | - Added contextual column copy 53 | - Added Italian and Russian translations. 54 | - Added wiki documentation 55 | 56 | -- Mihai Varzaru Sat, 4 Dec 2010 12:00:00 +0200 57 | 58 | 59 | netactview (0.5.1-1) stable; urgency=low 60 | 61 | * Bugfix netactview release 62 | - Fixed a bug in window size saving that was visible on XFCE. 63 | 64 | -- Mihai Varzaru Mon, 21 Dec 2009 12:00:00 +0200 65 | 66 | netactview (0.5-1) stable; urgency=low 67 | 68 | * New netactview release 69 | - Saving window size 70 | - Added Portuguese and Estonian translations 71 | 72 | -- Mihai Varzaru Sun, 20 Dec 2009 16:00:00 +0200 73 | 74 | netactview (0.4.1-1) stable; urgency=low 75 | 76 | * Bugfix netactview release 77 | - Fixed a filtering bug. 78 | 79 | -- Mihai Varzaru Tue, 23 Dec 2008 17:00:00 +0200 80 | 81 | netactview (0.4-1) stable; urgency=low 82 | 83 | * New netactview release 84 | - Added color highlight for new and closed connections 85 | - Using gnome fixed width font for network statistics 86 | 87 | -- Mihai Varzaru Wed, 12 Nov 2008 17:44:36 +0200 88 | 89 | netactview (0.3.1-1) stable; urgency=low 90 | 91 | * Bugfix netactview release 92 | - Fixed closed UDP endpoints status 93 | 94 | -- Mihai Varzaru Mon, 8 Sep 2008 16:04:36 +0200 95 | 96 | netactview (0.3-1) stable; urgency=low 97 | 98 | * New netactview release 99 | - Added filtering 100 | 101 | -- Mihai Varzaru Mon, 12 May 2008 16:04:36 +0200 102 | 103 | netactview (0.2.2-1) stable; urgency=low 104 | 105 | * Bugfix netactview release 106 | - Fixed low risk security vulerability in the restartart as root action 107 | 108 | -- Mihai Varzaru Fri, 22 Feb 2008 16:04:36 +0200 109 | 110 | 111 | netactview (0.2.1-1) stable; urgency=low 112 | 113 | * Bugfix netactview release 114 | - Fixed incorrect process name display 115 | - Improved application startup error checking 116 | 117 | -- Mihai Varzaru Wed, 2 Jan 2008 10:10:00 +0200 118 | 119 | netactview (0.2-1) stable; urgency=low 120 | 121 | * New netactview release 122 | 123 | -- Mihai Varzaru Wed, 26 Dec 2007 00:10:55 +0200 124 | 125 | netactview (0.1-1) stable; urgency=low 126 | 127 | * Initial release 128 | 129 | -- Mihai Varzaru Tue, 18 Dec 2007 16:23:55 +0200 130 | 131 | -------------------------------------------------------------------------------- /distribution/deb/debian/compat: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /distribution/deb/debian/control: -------------------------------------------------------------------------------- 1 | Source: netactview 2 | Section: net 3 | Priority: optional 4 | Maintainer: Mihai Varzaru 5 | Build-Depends: debhelper (>= 5), 6 | autotools-dev, 7 | libxml-parser-perl, 8 | pkg-config, 9 | gettext, 10 | intltool, 11 | libgtk2.0-dev (>= 2.8), 12 | libglade2-dev, 13 | libgnomevfs2-dev (>= 2.4), 14 | libglib2.0-dev (>= 2.8), 15 | libgnome2-dev, 16 | libgconf2-dev, 17 | libgtop2-dev, 18 | gksu 19 | Standards-Version: 3.8.0 20 | Homepage: http://netactview.sourceforge.net 21 | 22 | Package: netactview 23 | Architecture: any 24 | Depends: ${shlibs:Depends}, ${misc:Depends}, gksu 25 | Description: Net Activity Viewer 26 | Netactview is a graphical network connections viewer similar in 27 | functionality with netstat. 28 | It includes features like process information, host name retrieval, 29 | automatic refresh, sorting, filtering and csv save. It has a fully 30 | featured GTK 2 graphical interface. 31 | 32 | -------------------------------------------------------------------------------- /distribution/deb/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by Mihai Varzaru on 2 | Sun, 29 Mar 2015 20:58:06 +0300. 3 | 4 | It was downloaded from http://netactview.sourceforge.net 5 | 6 | Upstream Author: 7 | Mihai Varzaru 8 | 9 | Files: * 10 | Copyright: © 2007-2015, Mihai Varzaru 11 | License: GPL-2+ 12 | This program is free software; you can redistribute it and/or 13 | modify it under the terms of the GNU General Public License 14 | as published by the Free Software Foundation; either version 2 15 | of the License, or (at your option) any later version. 16 | 17 | On Debian systems, the complete text of the GNU General Public License 18 | can be found in /usr/share/common-licenses/GPL-2'. 19 | 20 | 21 | -------------------------------------------------------------------------------- /distribution/deb/debian/docs: -------------------------------------------------------------------------------- 1 | NEWS 2 | README 3 | -------------------------------------------------------------------------------- /distribution/deb/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | 4 | #export DH_VERBOSE=1 5 | 6 | DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) 7 | DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) 8 | 9 | 10 | CFLAGS = -Wall -g 11 | 12 | ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) 13 | CFLAGS += -O0 14 | else 15 | CFLAGS += -O2 16 | endif 17 | 18 | config.status: configure 19 | dh_testdir 20 | 21 | ifneq "$(wildcard /usr/share/misc/config.sub)" "" 22 | cp -f /usr/share/misc/config.sub config.sub 23 | endif 24 | ifneq "$(wildcard /usr/share/misc/config.guess)" "" 25 | cp -f /usr/share/misc/config.guess config.guess 26 | endif 27 | ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" 28 | 29 | 30 | build: build-stamp 31 | 32 | build-stamp: config.status 33 | dh_testdir 34 | 35 | 36 | $(MAKE) 37 | #docbook-to-man debian/netactview.sgml > netactview.1 38 | 39 | touch $@ 40 | 41 | clean: 42 | dh_testdir 43 | dh_testroot 44 | rm -f build-stamp 45 | 46 | [ ! -f Makefile ] || $(MAKE) distclean 47 | rm -f config.sub config.guess 48 | 49 | dh_clean 50 | 51 | install: build 52 | dh_testdir 53 | dh_testroot 54 | dh_clean -k 55 | dh_installdirs 56 | 57 | $(MAKE) DESTDIR=$(CURDIR)/debian/netactview install 58 | 59 | 60 | 61 | binary-indep: build install 62 | 63 | 64 | 65 | binary-arch: build install 66 | dh_testdir 67 | dh_testroot 68 | dh_installchangelogs ChangeLog 69 | dh_installdocs 70 | dh_installexamples 71 | dh_installman 72 | dh_link 73 | dh_strip 74 | dh_compress 75 | dh_fixperms 76 | dh_installdeb 77 | dh_shlibdeps 78 | dh_gencontrol 79 | dh_md5sums 80 | dh_builddeb 81 | 82 | binary: binary-indep binary-arch 83 | .PHONY: build clean binary-indep binary-arch binary install 84 | -------------------------------------------------------------------------------- /distribution/deb/debian/watch: -------------------------------------------------------------------------------- 1 | version=3 2 | http://downloads.sourceforge.net/project/netactview/netactview/netactview-([\d\.]+)/netactview-([\d\.]+)\.tar\.bz2 3 | -------------------------------------------------------------------------------- /distribution/deb/how-to-create-deb.txt: -------------------------------------------------------------------------------- 1 | Documentation: 2 | - Debian maintainers guide: 3 | * http://www.debian.org/doc/manuals/maint-guide/index.en.html 4 | - Building multiple packages for deployment on different Ubuntu versions (works for modern versions): 5 | * http://askubuntu.com/questions/103995/building-multiple-packages-for-deployment-on-different-ubuntu-versions 6 | 7 | 8 | Steps: 9 | 1. Update package source steps: 10 | - Create netactview source archive: 'make dist' 11 | - Update the files in the debian folder: 12 | * changelog - adding the new release is required; use previous releases as model and get date with 'date --rfc-2822' 13 | - Copy the debian folder to a clean netactview source folder (extracted from the source archive) 14 | 15 | 2. Build package steps: 16 | A. Virtual machine method 17 | - Create/use a virtual machine with the minimum supported ubuntu version 18 | - install the required build dependencies: 19 | * sudo apt-get install build-essential dh-make debhelper devscripts fakeroot intltool libgtk2.0-dev libglade2-dev libgnomevfs2-dev libgnome2-dev libgtop2-dev 20 | - update the VM ubuntu system 21 | - Run from a clean source directory that contains the debian folder: 22 | * fakeroot debian/rules binary 23 | 24 | B. sbuild method 25 | - Create a sbuild chroot for the minimum supported ubuntu version 26 | * mk-sbuild --arch=amd64 --name=lucid lucid (Ubuntu 10.04 64 bit) 27 | * mk-sbuild --arch=i386 --name=lucid lucid (Ubunt 10.04 32 bit) 28 | - Run 'debuild -S' to create .dsc file (required: clean source folder; debian folder included; .orig source folder in parent directory) 29 | - Run sbuild to build the package: 30 | * sbuild -A --arch i386 -d lucid ../netactview_0.6.2-1.dsc 31 | * sbuild -A --arch amd64 -d lucid ../netactview_0.6.2-1.dsc 32 | - the packages are in the configured sbuild build folder 33 | 34 | 35 | -------------------------------------------------------------------------------- /netactview/AUTHORS: -------------------------------------------------------------------------------- 1 | Mihai Varzaru 2 | Intika 3 | 4 | -------------------------------------------------------------------------------- /netactview/COPYING: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Library General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License 307 | along with this program; if not, write to the Free Software 308 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 309 | 310 | 311 | Also add information on how to contact you by electronic and paper mail. 312 | 313 | If the program is interactive, make it output a short notice like this 314 | when it starts in an interactive mode: 315 | 316 | Gnomovision version 69, Copyright (C) year name of author 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 318 | This is free software, and you are welcome to redistribute it 319 | under certain conditions; type `show c' for details. 320 | 321 | The hypothetical commands `show w' and `show c' should show the appropriate 322 | parts of the General Public License. Of course, the commands you use may 323 | be called something other than `show w' and `show c'; they could even be 324 | mouse-clicks or menu items--whatever suits your program. 325 | 326 | You should also get your employer (if you work as a programmer) or your 327 | school, if any, to sign a "copyright disclaimer" for the program, if 328 | necessary. Here is a sample; alter the names: 329 | 330 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 331 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 332 | 333 | , 1 April 1989 334 | Ty Coon, President of Vice 335 | 336 | This General Public License does not permit incorporating your program into 337 | proprietary programs. If your program is a subroutine library, you may 338 | consider it more useful to permit linking proprietary applications with the 339 | library. If this is what you want to do, use the GNU Library General 340 | Public License instead of this License. 341 | -------------------------------------------------------------------------------- /netactview/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | ## Created by Anjuta 3 | 4 | SUBDIRS = src data po 5 | 6 | EXTRA_DIST = $(netactviewdoc_DATA) \ 7 | README\ 8 | COPYING\ 9 | AUTHORS\ 10 | ChangeLog\ 11 | INSTALL\ 12 | NEWS \ 13 | intltool-extract.in \ 14 | intltool-merge.in \ 15 | intltool-update.in \ 16 | autogen.sh 17 | 18 | DISTCLEANFILES = \ 19 | intltool-extract \ 20 | intltool-merge \ 21 | intltool-update 22 | 23 | # Copy all the spec files. Of cource, only one is actually used. 24 | dist-hook: 25 | for specfile in *.spec; do \ 26 | if test -f $$specfile; then \ 27 | cp -p $$specfile $(distdir); \ 28 | fi \ 29 | done 30 | 31 | -------------------------------------------------------------------------------- /netactview/NEWS: -------------------------------------------------------------------------------- 1 | netactview 0.6.4 2 | -------------- 3 | - Fixed processing of commands and process names with invalid utf-8 characters. 4 | Some commands with bad utf-8 characters lead to an out of buffer read and 5 | possibly a denial of service security vulnerability (segfault application 6 | crash). No path for memory corruption or code execution was found. 7 | To exploit the potential vulnerability an attacker needs to control an utf-8 8 | invalid sub-string in the command line of an application that uses network 9 | resources (ex: non URI or invalid URI encoding file name). 10 | - Fixed configuration file validation to not allow huge configuration files. 11 | A configuration file with a GB scale filter would result in an application 12 | crash with memory corruption and possibly code execution. This had some small 13 | potential to be exploited as a privilege authorization avoidance method to 14 | get root from a sudo administrator at a netactview run with sudo/gksu, if the 15 | attacker can already modify current sudo user configuration files. An attack 16 | may be practical only on high end servers. 17 | - Fixed the display of multiple multicast dns connections listening on the 18 | same port. If process information was not fully available some of the 19 | connections with with identical protocol, addresses and ports would not be 20 | displayed. The fix makes all identical connections visible and uses 21 | additional identification information (inode) that is more often usable than 22 | the process ID. There still remain some connection tracking issues that will 23 | be handled better in netactview 0.7 . 24 | - Fixed the connections list save when saving as root to a folder that the 25 | current sudo user can modify. The file was not saved with the sudo user as 26 | owner in some cases. 27 | - Limited the DNS cache to prevent it from becoming a memory leak if the 28 | application is left open for a long time on a busy networking computer. 29 | - Implemented a few other small fixes. 30 | - Implemented some additional defence in depth measures to make security 31 | vulnerabilities less likely. 32 | 33 | 34 | netactview 0.6.3 35 | -------------- 36 | - Updated the location of the Wiki documentation to: 37 | http://netactview.sourceforge.net/wiki/ 38 | The old wiki address will not be available after 2014-06-19 because 39 | sourceforge.net retires the hosted apps. 40 | 41 | 42 | netactview 0.6.2 43 | -------------- 44 | - Fixed connections list refresh on 0 connections 45 | 46 | 47 | netactview 0.6.1 48 | -------------- 49 | - Fixed a network statistics bug visible when using PPPoE connections 50 | 51 | 52 | netactview 0.6 53 | -------------- 54 | - Added filter operators 55 | - Added save as CSV 56 | - Added contextual column copy 57 | - Added Italian and Russian translations. 58 | - Added wiki documentation 59 | 60 | 61 | netactview 0.5.1 62 | ----------------- 63 | - Fixed a bug in window size saving that appeared on XFCE. 64 | 65 | 66 | netactview 0.5 67 | ----------------- 68 | - Saving window size and state. 69 | - Added Estonian and Portuguese translations. 70 | 71 | 72 | netactview 0.4.1 73 | ----------------- 74 | - Fixed a filtering bug. Updated and closed connections were not filtered properly. 75 | 76 | 77 | netactview 0.4 78 | ---------------- 79 | - Added color highlight for new and closed connections 80 | - Using gnome fixed width font for network statistics 81 | 82 | 83 | netactview 0.3.1 84 | ---------------- 85 | - Fixed closed UDP enpoints status 86 | 87 | 88 | netactview 0.3 89 | ---------------- 90 | - Added filtering. 91 | - Fixed a suspend/resume bug. 92 | 93 | 94 | netactview 0.2.2 95 | ---------------- 96 | - Fixed a low risk security vulnerability in the restart as root action. 97 | An application which could already run as a normal user could have intercepted 98 | that action in order to run as root. 99 | Edit 2015-03-30: 100 | * 'normal user' is here the ubuntu default desktop user which is a sudo 101 | administrator 102 | * this was a privilege authorization avoidance vulnerability (as in UAC 103 | avoidance, but with a distinct user root that actually owns the 104 | administrative tasks and effects) 105 | * it may not be a vulnerability if gksu (used by 'restart as root') is not 106 | meant as an UAC alternative; still weak, in case gksu or its replacements 107 | are updated to be clearly an UAC (User Account Control) alternative 108 | 109 | 110 | netactview 0.2.1 111 | ---------------- 112 | - Fixed incorrect process name display. On some occasions, for not 113 | established connections, the shown process was not the process that 114 | created the connection. 115 | - Improved error checking at program start. 116 | 117 | 118 | netactview 0.2 119 | -------------- 120 | - Added port service names 121 | - Added basic network statistics: bytes sent, bytes received 122 | - Added restart as root 123 | - Rounded up some of the existing features 124 | 125 | 126 | netactview 0.1 127 | -------------- 128 | This is the first Net Activity Viewer version. 129 | 130 | * It includes all the basic stuff: 131 | - obtains the list of active network connections (tcp, udp, tcp6, udp6) 132 | from the kernel. 133 | - obtains process information for the active network connections (pid, 134 | name, command) 135 | - host name retrieval 136 | - automatic refresh 137 | - sorting 138 | - some information filtering 139 | - copy and save facilities 140 | - automatic options state save and restore 141 | 142 | -------------------------------------------------------------------------------- /netactview/README: -------------------------------------------------------------------------------- 1 | Netactview - Net Activity Viewer 2 | ---------------------------------------------------- 3 | 4 | Netactview is a graphical network connections viewer similar in 5 | functionality with netstat. 6 | It includes features like process information, host name retrieval, 7 | automatic refresh, sorting, filtering and csv save. It has a fully featured 8 | GTK 2 graphical interface. 9 | 10 | You can find more information online at: 11 | http://netactview.sourceforge.net/ 12 | 13 | 14 | 15 | Installation: 16 | 17 | In order to compile the sources you will need: 18 | Compilation tools: gcc, make 19 | Other tools: gettext, perl xml parser, intltool 20 | Libraries (development packages): gtk+-2 (at least 2.8), libglade-2, 21 | gnome-vfs-2 (at least 2.4), glib-2 (at least 2.8), libgnome-2, gconf-2, 22 | libgtop-2 (at least 2.12) 23 | 24 | On Ubuntu the needed packages are: gcc, make, gettext, libxml-parser-perl, 25 | intltool, libgnome2-dev, libgtk2.0-dev, libglade2-dev, libgconf2-dev, 26 | libgtop2-dev 27 | 28 | Once you have the prerequisites run from the sources directory: 29 | ./configure 30 | make 31 | make install #Run as root. On Ubuntu: sudo make install 32 | 33 | 34 | Please see the INSTALL file for details regarding the configure script. 35 | 36 | -------------------------------------------------------------------------------- /netactview/alt.make.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ./autogen.sh 4 | # ./configure 5 | aclocal 6 | libtoolize --force 7 | autoheader 8 | autoconf 9 | ./configure 10 | 11 | # ./configure --disable-dependency-tracking 12 | # ou 13 | ln -s /usr/share/automake-1.15/depcomp 14 | 15 | make 16 | -------------------------------------------------------------------------------- /netactview/config.h.in: -------------------------------------------------------------------------------- 1 | /* config.h.in. Generated from configure.ac by autoheader. */ 2 | 3 | /* always defined to indicate that i18n is enabled */ 4 | #undef ENABLE_NLS 5 | 6 | /* GETTEXT package name */ 7 | #undef GETTEXT_PACKAGE 8 | 9 | /* The gksu executable path */ 10 | #undef GKSU_PATH 11 | 12 | /* Define to 1 if you have the `bind_textdomain_codeset' function. */ 13 | #undef HAVE_BIND_TEXTDOMAIN_CODESET 14 | 15 | /* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the 16 | CoreFoundation framework. */ 17 | #undef HAVE_CFLOCALECOPYCURRENT 18 | 19 | /* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in 20 | the CoreFoundation framework. */ 21 | #undef HAVE_CFPREFERENCESCOPYAPPVALUE 22 | 23 | /* Define to 1 if you have the `dcgettext' function. */ 24 | #undef HAVE_DCGETTEXT 25 | 26 | /* Define to 1 if you have the header file. */ 27 | #undef HAVE_DLFCN_H 28 | 29 | /* Define if the GNU gettext() function is already present or preinstalled. */ 30 | #undef HAVE_GETTEXT 31 | 32 | /* Defined if gksu program is available */ 33 | #undef HAVE_GKSU 34 | 35 | /* Define to 1 if you have the header file. */ 36 | #undef HAVE_INTTYPES_H 37 | 38 | /* Define if your file defines LC_MESSAGES. */ 39 | #undef HAVE_LC_MESSAGES 40 | 41 | /* Define to 1 if you have the header file. */ 42 | #undef HAVE_LOCALE_H 43 | 44 | /* Define to 1 if you have the header file. */ 45 | #undef HAVE_MEMORY_H 46 | 47 | /* Define to 1 if you have the header file. */ 48 | #undef HAVE_STDINT_H 49 | 50 | /* Define to 1 if you have the header file. */ 51 | #undef HAVE_STDLIB_H 52 | 53 | /* Define to 1 if you have the header file. */ 54 | #undef HAVE_STRINGS_H 55 | 56 | /* Define to 1 if you have the header file. */ 57 | #undef HAVE_STRING_H 58 | 59 | /* Define to 1 if you have the header file. */ 60 | #undef HAVE_SYS_STAT_H 61 | 62 | /* Define to 1 if you have the header file. */ 63 | #undef HAVE_SYS_TYPES_H 64 | 65 | /* Define to 1 if you have the header file. */ 66 | #undef HAVE_UNISTD_H 67 | 68 | /* Define to the sub-directory where libtool stores uninstalled libraries. */ 69 | #undef LT_OBJDIR 70 | 71 | /* Name of package */ 72 | #undef PACKAGE 73 | 74 | /* Define to the address where bug reports for this package should be sent. */ 75 | #undef PACKAGE_BUGREPORT 76 | 77 | /* Define to the full name of this package. */ 78 | #undef PACKAGE_NAME 79 | 80 | /* Define to the full name and version of this package. */ 81 | #undef PACKAGE_STRING 82 | 83 | /* Define to the one symbol short name of this package. */ 84 | #undef PACKAGE_TARNAME 85 | 86 | /* Define to the home page for this package. */ 87 | #undef PACKAGE_URL 88 | 89 | /* Define to the version of this package. */ 90 | #undef PACKAGE_VERSION 91 | 92 | /* Define to 1 if you have the ANSI C header files. */ 93 | #undef STDC_HEADERS 94 | 95 | /* Version number of package */ 96 | #undef VERSION 97 | -------------------------------------------------------------------------------- /netactview/configure.ac: -------------------------------------------------------------------------------- 1 | dnl Process this file with autoconf to produce a configure script. 2 | dnl Created by Anjuta application wizard. 3 | 4 | AC_INIT(netactview, 1.2.4, http://sourceforge.net/projects/netactview/support) 5 | 6 | AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip]) 7 | AM_CONFIG_HEADER(config.h) 8 | AM_MAINTAINER_MODE 9 | 10 | AC_ISC_POSIX 11 | AC_PROG_CC 12 | AM_PROG_CC_STDC 13 | AC_HEADER_STDC 14 | 15 | 16 | AC_PROG_LIBTOOL 17 | 18 | dnl *************************************************************************** 19 | dnl Internatinalization 20 | dnl *************************************************************************** 21 | IT_PROG_INTLTOOL([0.35.0]) 22 | GETTEXT_PACKAGE=netactview 23 | AC_SUBST(GETTEXT_PACKAGE) 24 | AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name]) 25 | AM_GLIB_GNU_GETTEXT 26 | 27 | 28 | PKG_CHECK_MODULES(NETACTVIEW, [gtk+-2.0 >= 2.8 libglade-2.0 gnome-vfs-2.0 >= 2.4 glib-2.0 >= 2.8 libgnome-2.0 gconf-2.0 libgtop-2.0 >= 2.12]) 29 | AC_SUBST(NETACTVIEW_CFLAGS) 30 | AC_SUBST(NETACTVIEW_LIBS) 31 | 32 | 33 | AC_CHECK_PROG([have_gksu], [gksu], [yes], [no]) 34 | 35 | if test "$have_gksu" = yes; then 36 | AC_DEFINE(HAVE_GKSU, 1, [Defined if gksu program is available]) 37 | AC_PATH_PROG(gksu_path, [gksu]) 38 | AC_DEFINE_UNQUOTED(GKSU_PATH, "$gksu_path", [The gksu executable path]) 39 | fi 40 | 41 | 42 | AC_OUTPUT([ 43 | Makefile 44 | data/Makefile 45 | src/Makefile 46 | po/Makefile.in 47 | ]) 48 | 49 | 50 | echo " 51 | 52 | Configuration: 53 | 54 | Source code location: ${srcdir} 55 | Compiler: ${CC} 56 | Have gksu: ${have_gksu} 57 | 58 | " 59 | -------------------------------------------------------------------------------- /netactview/data/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | appicondir = $(datadir)/pixmaps 3 | appicon_DATA = netactview.png 4 | 5 | desktopdir = $(datadir)/applications 6 | desktop_in_files=netactview.desktop.in 7 | desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) 8 | @INTLTOOL_DESKTOP_RULE@ 9 | 10 | man_MANS = netactview.1 11 | 12 | 13 | EXTRA_DIST = \ 14 | $(desktop_in_files) \ 15 | $(appicon_DATA) \ 16 | $(man_MANS) 17 | 18 | CLEANFILES = \ 19 | $(desktop_DATA) 20 | 21 | -------------------------------------------------------------------------------- /netactview/data/Makefile.in: -------------------------------------------------------------------------------- 1 | # Makefile.in generated by automake 1.11.1 from Makefile.am. 2 | # @configure_input@ 3 | 4 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 5 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, 6 | # Inc. 7 | # This Makefile.in is free software; the Free Software Foundation 8 | # gives unlimited permission to copy and/or distribute it, 9 | # with or without modifications, as long as this notice is preserved. 10 | 11 | # This program is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without 13 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A 14 | # PARTICULAR PURPOSE. 15 | 16 | @SET_MAKE@ 17 | 18 | VPATH = @srcdir@ 19 | pkgdatadir = $(datadir)/@PACKAGE@ 20 | pkgincludedir = $(includedir)/@PACKAGE@ 21 | pkglibdir = $(libdir)/@PACKAGE@ 22 | pkglibexecdir = $(libexecdir)/@PACKAGE@ 23 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 24 | install_sh_DATA = $(install_sh) -c -m 644 25 | install_sh_PROGRAM = $(install_sh) -c 26 | install_sh_SCRIPT = $(install_sh) -c 27 | INSTALL_HEADER = $(INSTALL_DATA) 28 | transform = $(program_transform_name) 29 | NORMAL_INSTALL = : 30 | PRE_INSTALL = : 31 | POST_INSTALL = : 32 | NORMAL_UNINSTALL = : 33 | PRE_UNINSTALL = : 34 | POST_UNINSTALL = : 35 | build_triplet = @build@ 36 | host_triplet = @host@ 37 | subdir = data 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 40 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac 41 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 42 | $(ACLOCAL_M4) 43 | mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs 44 | CONFIG_HEADER = $(top_builddir)/config.h 45 | CONFIG_CLEAN_FILES = 46 | CONFIG_CLEAN_VPATH_FILES = 47 | SOURCES = 48 | DIST_SOURCES = 49 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; 50 | am__vpath_adj = case $$p in \ 51 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ 52 | *) f=$$p;; \ 53 | esac; 54 | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; 55 | am__install_max = 40 56 | am__nobase_strip_setup = \ 57 | srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` 58 | am__nobase_strip = \ 59 | for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" 60 | am__nobase_list = $(am__nobase_strip_setup); \ 61 | for p in $$list; do echo "$$p $$p"; done | \ 62 | sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ 63 | $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ 64 | if (++n[$$2] == $(am__install_max)) \ 65 | { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ 66 | END { for (dir in files) print dir, files[dir] }' 67 | am__base_list = \ 68 | sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ 69 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' 70 | man1dir = $(mandir)/man1 71 | am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(appicondir)" \ 72 | "$(DESTDIR)$(desktopdir)" 73 | NROFF = nroff 74 | MANS = $(man_MANS) 75 | DATA = $(appicon_DATA) $(desktop_DATA) 76 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 77 | ACLOCAL = @ACLOCAL@ 78 | ALL_LINGUAS = @ALL_LINGUAS@ 79 | AMTAR = @AMTAR@ 80 | AR = @AR@ 81 | AUTOCONF = @AUTOCONF@ 82 | AUTOHEADER = @AUTOHEADER@ 83 | AUTOMAKE = @AUTOMAKE@ 84 | AWK = @AWK@ 85 | CATALOGS = @CATALOGS@ 86 | CATOBJEXT = @CATOBJEXT@ 87 | CC = @CC@ 88 | CCDEPMODE = @CCDEPMODE@ 89 | CFLAGS = @CFLAGS@ 90 | CPP = @CPP@ 91 | CPPFLAGS = @CPPFLAGS@ 92 | CYGPATH_W = @CYGPATH_W@ 93 | DATADIRNAME = @DATADIRNAME@ 94 | DEFS = @DEFS@ 95 | DEPDIR = @DEPDIR@ 96 | DSYMUTIL = @DSYMUTIL@ 97 | DUMPBIN = @DUMPBIN@ 98 | ECHO_C = @ECHO_C@ 99 | ECHO_N = @ECHO_N@ 100 | ECHO_T = @ECHO_T@ 101 | EGREP = @EGREP@ 102 | EXEEXT = @EXEEXT@ 103 | FGREP = @FGREP@ 104 | GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ 105 | GMOFILES = @GMOFILES@ 106 | GMSGFMT = @GMSGFMT@ 107 | GREP = @GREP@ 108 | INSTALL = @INSTALL@ 109 | INSTALL_DATA = @INSTALL_DATA@ 110 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ 111 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ 112 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 113 | INSTOBJEXT = @INSTOBJEXT@ 114 | INTLLIBS = @INTLLIBS@ 115 | INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ 116 | INTLTOOL_MERGE = @INTLTOOL_MERGE@ 117 | INTLTOOL_PERL = @INTLTOOL_PERL@ 118 | INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ 119 | LD = @LD@ 120 | LDFLAGS = @LDFLAGS@ 121 | LIBOBJS = @LIBOBJS@ 122 | LIBS = @LIBS@ 123 | LIBTOOL = @LIBTOOL@ 124 | LIPO = @LIPO@ 125 | LN_S = @LN_S@ 126 | LTLIBOBJS = @LTLIBOBJS@ 127 | MAINT = @MAINT@ 128 | MAKEINFO = @MAKEINFO@ 129 | MKDIR_P = @MKDIR_P@ 130 | MKINSTALLDIRS = @MKINSTALLDIRS@ 131 | MSGFMT = @MSGFMT@ 132 | MSGFMT_OPTS = @MSGFMT_OPTS@ 133 | MSGMERGE = @MSGMERGE@ 134 | NETACTVIEW_CFLAGS = @NETACTVIEW_CFLAGS@ 135 | NETACTVIEW_LIBS = @NETACTVIEW_LIBS@ 136 | NM = @NM@ 137 | NMEDIT = @NMEDIT@ 138 | OBJDUMP = @OBJDUMP@ 139 | OBJEXT = @OBJEXT@ 140 | OTOOL = @OTOOL@ 141 | OTOOL64 = @OTOOL64@ 142 | PACKAGE = @PACKAGE@ 143 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ 144 | PACKAGE_NAME = @PACKAGE_NAME@ 145 | PACKAGE_STRING = @PACKAGE_STRING@ 146 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ 147 | PACKAGE_URL = @PACKAGE_URL@ 148 | PACKAGE_VERSION = @PACKAGE_VERSION@ 149 | PATH_SEPARATOR = @PATH_SEPARATOR@ 150 | PKG_CONFIG = @PKG_CONFIG@ 151 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ 152 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ 153 | POFILES = @POFILES@ 154 | POSUB = @POSUB@ 155 | PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ 156 | PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ 157 | RANLIB = @RANLIB@ 158 | SED = @SED@ 159 | SET_MAKE = @SET_MAKE@ 160 | SHELL = @SHELL@ 161 | STRIP = @STRIP@ 162 | USE_NLS = @USE_NLS@ 163 | VERSION = @VERSION@ 164 | XGETTEXT = @XGETTEXT@ 165 | abs_builddir = @abs_builddir@ 166 | abs_srcdir = @abs_srcdir@ 167 | abs_top_builddir = @abs_top_builddir@ 168 | abs_top_srcdir = @abs_top_srcdir@ 169 | ac_ct_CC = @ac_ct_CC@ 170 | ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 171 | am__include = @am__include@ 172 | am__leading_dot = @am__leading_dot@ 173 | am__quote = @am__quote@ 174 | am__tar = @am__tar@ 175 | am__untar = @am__untar@ 176 | bindir = @bindir@ 177 | build = @build@ 178 | build_alias = @build_alias@ 179 | build_cpu = @build_cpu@ 180 | build_os = @build_os@ 181 | build_vendor = @build_vendor@ 182 | builddir = @builddir@ 183 | datadir = @datadir@ 184 | datarootdir = @datarootdir@ 185 | docdir = @docdir@ 186 | dvidir = @dvidir@ 187 | exec_prefix = @exec_prefix@ 188 | gksu_path = @gksu_path@ 189 | have_gksu = @have_gksu@ 190 | host = @host@ 191 | host_alias = @host_alias@ 192 | host_cpu = @host_cpu@ 193 | host_os = @host_os@ 194 | host_vendor = @host_vendor@ 195 | htmldir = @htmldir@ 196 | includedir = @includedir@ 197 | infodir = @infodir@ 198 | install_sh = @install_sh@ 199 | libdir = @libdir@ 200 | libexecdir = @libexecdir@ 201 | localedir = @localedir@ 202 | localstatedir = @localstatedir@ 203 | lt_ECHO = @lt_ECHO@ 204 | mandir = @mandir@ 205 | mkdir_p = @mkdir_p@ 206 | oldincludedir = @oldincludedir@ 207 | pdfdir = @pdfdir@ 208 | prefix = @prefix@ 209 | program_transform_name = @program_transform_name@ 210 | psdir = @psdir@ 211 | sbindir = @sbindir@ 212 | sharedstatedir = @sharedstatedir@ 213 | srcdir = @srcdir@ 214 | sysconfdir = @sysconfdir@ 215 | target_alias = @target_alias@ 216 | top_build_prefix = @top_build_prefix@ 217 | top_builddir = @top_builddir@ 218 | top_srcdir = @top_srcdir@ 219 | appicondir = $(datadir)/pixmaps 220 | appicon_DATA = netactview.png 221 | desktopdir = $(datadir)/applications 222 | desktop_in_files = netactview.desktop.in 223 | desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) 224 | man_MANS = netactview.1 225 | EXTRA_DIST = \ 226 | $(desktop_in_files) \ 227 | $(appicon_DATA) \ 228 | $(man_MANS) 229 | 230 | CLEANFILES = \ 231 | $(desktop_DATA) 232 | 233 | all: all-am 234 | 235 | .SUFFIXES: 236 | $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) 237 | @for dep in $?; do \ 238 | case '$(am__configure_deps)' in \ 239 | *$$dep*) \ 240 | ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ 241 | && { if test -f $@; then exit 0; else break; fi; }; \ 242 | exit 1;; \ 243 | esac; \ 244 | done; \ 245 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ 246 | $(am__cd) $(top_srcdir) && \ 247 | $(AUTOMAKE) --gnu data/Makefile 248 | .PRECIOUS: Makefile 249 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status 250 | @case '$?' in \ 251 | *config.status*) \ 252 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ 253 | *) \ 254 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ 255 | cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 256 | esac; 257 | 258 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) 259 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 260 | 261 | $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 262 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 263 | $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) 264 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 265 | $(am__aclocal_m4_deps): 266 | 267 | mostlyclean-libtool: 268 | -rm -f *.lo 269 | 270 | clean-libtool: 271 | -rm -rf .libs _libs 272 | install-man1: $(man_MANS) 273 | @$(NORMAL_INSTALL) 274 | test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" 275 | @list=''; test -n "$(man1dir)" || exit 0; \ 276 | { for i in $$list; do echo "$$i"; done; \ 277 | l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ 278 | sed -n '/\.1[a-z]*$$/p'; \ 279 | } | while read p; do \ 280 | if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ 281 | echo "$$d$$p"; echo "$$p"; \ 282 | done | \ 283 | sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ 284 | -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ 285 | sed 'N;N;s,\n, ,g' | { \ 286 | list=; while read file base inst; do \ 287 | if test "$$base" = "$$inst"; then list="$$list $$file"; else \ 288 | echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ 289 | $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ 290 | fi; \ 291 | done; \ 292 | for i in $$list; do echo "$$i"; done | $(am__base_list) | \ 293 | while read files; do \ 294 | test -z "$$files" || { \ 295 | echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ 296 | $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ 297 | done; } 298 | 299 | uninstall-man1: 300 | @$(NORMAL_UNINSTALL) 301 | @list=''; test -n "$(man1dir)" || exit 0; \ 302 | files=`{ for i in $$list; do echo "$$i"; done; \ 303 | l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ 304 | sed -n '/\.1[a-z]*$$/p'; \ 305 | } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ 306 | -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ 307 | test -z "$$files" || { \ 308 | echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ 309 | cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } 310 | install-appiconDATA: $(appicon_DATA) 311 | @$(NORMAL_INSTALL) 312 | test -z "$(appicondir)" || $(MKDIR_P) "$(DESTDIR)$(appicondir)" 313 | @list='$(appicon_DATA)'; test -n "$(appicondir)" || list=; \ 314 | for p in $$list; do \ 315 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 316 | echo "$$d$$p"; \ 317 | done | $(am__base_list) | \ 318 | while read files; do \ 319 | echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appicondir)'"; \ 320 | $(INSTALL_DATA) $$files "$(DESTDIR)$(appicondir)" || exit $$?; \ 321 | done 322 | 323 | uninstall-appiconDATA: 324 | @$(NORMAL_UNINSTALL) 325 | @list='$(appicon_DATA)'; test -n "$(appicondir)" || list=; \ 326 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 327 | test -n "$$files" || exit 0; \ 328 | echo " ( cd '$(DESTDIR)$(appicondir)' && rm -f" $$files ")"; \ 329 | cd "$(DESTDIR)$(appicondir)" && rm -f $$files 330 | install-desktopDATA: $(desktop_DATA) 331 | @$(NORMAL_INSTALL) 332 | test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)" 333 | @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ 334 | for p in $$list; do \ 335 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ 336 | echo "$$d$$p"; \ 337 | done | $(am__base_list) | \ 338 | while read files; do \ 339 | echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ 340 | $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ 341 | done 342 | 343 | uninstall-desktopDATA: 344 | @$(NORMAL_UNINSTALL) 345 | @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ 346 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ 347 | test -n "$$files" || exit 0; \ 348 | echo " ( cd '$(DESTDIR)$(desktopdir)' && rm -f" $$files ")"; \ 349 | cd "$(DESTDIR)$(desktopdir)" && rm -f $$files 350 | tags: TAGS 351 | TAGS: 352 | 353 | ctags: CTAGS 354 | CTAGS: 355 | 356 | 357 | distdir: $(DISTFILES) 358 | @list='$(MANS)'; if test -n "$$list"; then \ 359 | list=`for p in $$list; do \ 360 | if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ 361 | if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ 362 | if test -n "$$list" && \ 363 | grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ 364 | echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ 365 | grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ 366 | echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ 367 | echo " typically \`make maintainer-clean' will remove them" >&2; \ 368 | exit 1; \ 369 | else :; fi; \ 370 | else :; fi 371 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 372 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ 373 | list='$(DISTFILES)'; \ 374 | dist_files=`for file in $$list; do echo $$file; done | \ 375 | sed -e "s|^$$srcdirstrip/||;t" \ 376 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ 377 | case $$dist_files in \ 378 | */*) $(MKDIR_P) `echo "$$dist_files" | \ 379 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ 380 | sort -u` ;; \ 381 | esac; \ 382 | for file in $$dist_files; do \ 383 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ 384 | if test -d $$d/$$file; then \ 385 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ 386 | if test -d "$(distdir)/$$file"; then \ 387 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 388 | fi; \ 389 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ 390 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ 391 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ 392 | fi; \ 393 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ 394 | else \ 395 | test -f "$(distdir)/$$file" \ 396 | || cp -p $$d/$$file "$(distdir)/$$file" \ 397 | || exit 1; \ 398 | fi; \ 399 | done 400 | check-am: all-am 401 | check: check-am 402 | all-am: Makefile $(MANS) $(DATA) 403 | installdirs: 404 | for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(appicondir)" "$(DESTDIR)$(desktopdir)"; do \ 405 | test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 406 | done 407 | install: install-am 408 | install-exec: install-exec-am 409 | install-data: install-data-am 410 | uninstall: uninstall-am 411 | 412 | install-am: all-am 413 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 414 | 415 | installcheck: installcheck-am 416 | install-strip: 417 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ 418 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ 419 | `test -z '$(STRIP)' || \ 420 | echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install 421 | mostlyclean-generic: 422 | 423 | clean-generic: 424 | -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 425 | 426 | distclean-generic: 427 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 428 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 429 | 430 | maintainer-clean-generic: 431 | @echo "This command is intended for maintainers to use" 432 | @echo "it deletes files that may require special tools to rebuild." 433 | clean: clean-am 434 | 435 | clean-am: clean-generic clean-libtool mostlyclean-am 436 | 437 | distclean: distclean-am 438 | -rm -f Makefile 439 | distclean-am: clean-am distclean-generic 440 | 441 | dvi: dvi-am 442 | 443 | dvi-am: 444 | 445 | html: html-am 446 | 447 | html-am: 448 | 449 | info: info-am 450 | 451 | info-am: 452 | 453 | install-data-am: install-appiconDATA install-desktopDATA install-man 454 | 455 | install-dvi: install-dvi-am 456 | 457 | install-dvi-am: 458 | 459 | install-exec-am: 460 | 461 | install-html: install-html-am 462 | 463 | install-html-am: 464 | 465 | install-info: install-info-am 466 | 467 | install-info-am: 468 | 469 | install-man: install-man1 470 | 471 | install-pdf: install-pdf-am 472 | 473 | install-pdf-am: 474 | 475 | install-ps: install-ps-am 476 | 477 | install-ps-am: 478 | 479 | installcheck-am: 480 | 481 | maintainer-clean: maintainer-clean-am 482 | -rm -f Makefile 483 | maintainer-clean-am: distclean-am maintainer-clean-generic 484 | 485 | mostlyclean: mostlyclean-am 486 | 487 | mostlyclean-am: mostlyclean-generic mostlyclean-libtool 488 | 489 | pdf: pdf-am 490 | 491 | pdf-am: 492 | 493 | ps: ps-am 494 | 495 | ps-am: 496 | 497 | uninstall-am: uninstall-appiconDATA uninstall-desktopDATA \ 498 | uninstall-man 499 | 500 | uninstall-man: uninstall-man1 501 | 502 | .MAKE: install-am install-strip 503 | 504 | .PHONY: all all-am check check-am clean clean-generic clean-libtool \ 505 | distclean distclean-generic distclean-libtool distdir dvi \ 506 | dvi-am html html-am info info-am install install-am \ 507 | install-appiconDATA install-data install-data-am \ 508 | install-desktopDATA install-dvi install-dvi-am install-exec \ 509 | install-exec-am install-html install-html-am install-info \ 510 | install-info-am install-man install-man1 install-pdf \ 511 | install-pdf-am install-ps install-ps-am install-strip \ 512 | installcheck installcheck-am installdirs maintainer-clean \ 513 | maintainer-clean-generic mostlyclean mostlyclean-generic \ 514 | mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ 515 | uninstall-appiconDATA uninstall-desktopDATA uninstall-man \ 516 | uninstall-man1 517 | 518 | @INTLTOOL_DESKTOP_RULE@ 519 | 520 | # Tell versions [3.59,3.63) of GNU make to not export all variables. 521 | # Otherwise a system limit (for SysV at least) may be exceeded. 522 | .NOEXPORT: 523 | -------------------------------------------------------------------------------- /netactview/data/netactview.1: -------------------------------------------------------------------------------- 1 | .TH netactview 1 "June 2014" "GTK Applications" "" 2 | .SH NAME 3 | netactview \- graphical network connections viewer 4 | 5 | .SH SYNOPSIS 6 | .B netactview 7 | 8 | .SH DESCRIPTION 9 | .LP 10 | With \fInetactview\fP you can view the current network connections using a 11 | graphical interface. 12 | .LP 13 | The shown network connections information is similar with the output of 14 | the standard command line tool netstat when used for network connections: 15 | .RS 16 | netstat -patu 17 | .RE 18 | .RS 19 | netstat -patun 20 | .RE 21 | .LP 22 | netactview documentation is online using the wiki format: 23 | .RS 0 24 | http://netactview.sourceforge.net/wiki/ 25 | .RE 26 | 27 | 28 | .SH AUTHORS 29 | .LP 30 | Written by Mihai Varzaru . 31 | .LP 32 | 33 | .SH SEE ALSO 34 | netstat(8) 35 | 36 | -------------------------------------------------------------------------------- /netactview/data/netactview.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | _Name=Net Activity Viewer 3 | _Comment=View network connections 4 | Exec=netactview 5 | Icon=netactview 6 | Terminal=false 7 | Type=Application 8 | StartupNotify=true 9 | Categories=GNOME;GTK;Network;Monitor; 10 | -------------------------------------------------------------------------------- /netactview/data/netactview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/data/netactview.png -------------------------------------------------------------------------------- /netactview/install-sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # install - install a program, script, or datafile 3 | 4 | scriptversion=2006-10-14.15 5 | 6 | # This originates from X11R5 (mit/util/scripts/install.sh), which was 7 | # later released in X11R6 (xc/config/util/install.sh) with the 8 | # following copyright and license. 9 | # 10 | # Copyright (C) 1994 X Consortium 11 | # 12 | # Permission is hereby granted, free of charge, to any person obtaining a copy 13 | # of this software and associated documentation files (the "Software"), to 14 | # deal in the Software without restriction, including without limitation the 15 | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 16 | # sell copies of the Software, and to permit persons to whom the Software is 17 | # furnished to do so, subject to the following conditions: 18 | # 19 | # The above copyright notice and this permission notice shall be included in 20 | # all copies or substantial portions of the Software. 21 | # 22 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 23 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 24 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 25 | # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 26 | # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- 27 | # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 28 | # 29 | # Except as contained in this notice, the name of the X Consortium shall not 30 | # be used in advertising or otherwise to promote the sale, use or other deal- 31 | # ings in this Software without prior written authorization from the X Consor- 32 | # tium. 33 | # 34 | # 35 | # FSF changes to this file are in the public domain. 36 | # 37 | # Calling this script install-sh is preferred over install.sh, to prevent 38 | # `make' implicit rules from creating a file called install from it 39 | # when there is no Makefile. 40 | # 41 | # This script is compatible with the BSD install script, but was written 42 | # from scratch. 43 | 44 | nl=' 45 | ' 46 | IFS=" "" $nl" 47 | 48 | # set DOITPROG to echo to test this script 49 | 50 | # Don't use :- since 4.3BSD and earlier shells don't like it. 51 | doit="${DOITPROG-}" 52 | if test -z "$doit"; then 53 | doit_exec=exec 54 | else 55 | doit_exec=$doit 56 | fi 57 | 58 | # Put in absolute file names if you don't have them in your path; 59 | # or use environment vars. 60 | 61 | mvprog="${MVPROG-mv}" 62 | cpprog="${CPPROG-cp}" 63 | chmodprog="${CHMODPROG-chmod}" 64 | chownprog="${CHOWNPROG-chown}" 65 | chgrpprog="${CHGRPPROG-chgrp}" 66 | stripprog="${STRIPPROG-strip}" 67 | rmprog="${RMPROG-rm}" 68 | mkdirprog="${MKDIRPROG-mkdir}" 69 | 70 | posix_glob= 71 | posix_mkdir= 72 | 73 | # Desired mode of installed file. 74 | mode=0755 75 | 76 | chmodcmd=$chmodprog 77 | chowncmd= 78 | chgrpcmd= 79 | stripcmd= 80 | rmcmd="$rmprog -f" 81 | mvcmd="$mvprog" 82 | src= 83 | dst= 84 | dir_arg= 85 | dstarg= 86 | no_target_directory= 87 | 88 | usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE 89 | or: $0 [OPTION]... SRCFILES... DIRECTORY 90 | or: $0 [OPTION]... -t DIRECTORY SRCFILES... 91 | or: $0 [OPTION]... -d DIRECTORIES... 92 | 93 | In the 1st form, copy SRCFILE to DSTFILE. 94 | In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. 95 | In the 4th, create DIRECTORIES. 96 | 97 | Options: 98 | -c (ignored) 99 | -d create directories instead of installing files. 100 | -g GROUP $chgrpprog installed files to GROUP. 101 | -m MODE $chmodprog installed files to MODE. 102 | -o USER $chownprog installed files to USER. 103 | -s $stripprog installed files. 104 | -t DIRECTORY install into DIRECTORY. 105 | -T report an error if DSTFILE is a directory. 106 | --help display this help and exit. 107 | --version display version info and exit. 108 | 109 | Environment variables override the default commands: 110 | CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG 111 | " 112 | 113 | while test $# -ne 0; do 114 | case $1 in 115 | -c) shift 116 | continue;; 117 | 118 | -d) dir_arg=true 119 | shift 120 | continue;; 121 | 122 | -g) chgrpcmd="$chgrpprog $2" 123 | shift 124 | shift 125 | continue;; 126 | 127 | --help) echo "$usage"; exit $?;; 128 | 129 | -m) mode=$2 130 | shift 131 | shift 132 | case $mode in 133 | *' '* | *' '* | *' 134 | '* | *'*'* | *'?'* | *'['*) 135 | echo "$0: invalid mode: $mode" >&2 136 | exit 1;; 137 | esac 138 | continue;; 139 | 140 | -o) chowncmd="$chownprog $2" 141 | shift 142 | shift 143 | continue;; 144 | 145 | -s) stripcmd=$stripprog 146 | shift 147 | continue;; 148 | 149 | -t) dstarg=$2 150 | shift 151 | shift 152 | continue;; 153 | 154 | -T) no_target_directory=true 155 | shift 156 | continue;; 157 | 158 | --version) echo "$0 $scriptversion"; exit $?;; 159 | 160 | --) shift 161 | break;; 162 | 163 | -*) echo "$0: invalid option: $1" >&2 164 | exit 1;; 165 | 166 | *) break;; 167 | esac 168 | done 169 | 170 | if test $# -ne 0 && test -z "$dir_arg$dstarg"; then 171 | # When -d is used, all remaining arguments are directories to create. 172 | # When -t is used, the destination is already specified. 173 | # Otherwise, the last argument is the destination. Remove it from $@. 174 | for arg 175 | do 176 | if test -n "$dstarg"; then 177 | # $@ is not empty: it contains at least $arg. 178 | set fnord "$@" "$dstarg" 179 | shift # fnord 180 | fi 181 | shift # arg 182 | dstarg=$arg 183 | done 184 | fi 185 | 186 | if test $# -eq 0; then 187 | if test -z "$dir_arg"; then 188 | echo "$0: no input file specified." >&2 189 | exit 1 190 | fi 191 | # It's OK to call `install-sh -d' without argument. 192 | # This can happen when creating conditional directories. 193 | exit 0 194 | fi 195 | 196 | if test -z "$dir_arg"; then 197 | trap '(exit $?); exit' 1 2 13 15 198 | 199 | # Set umask so as not to create temps with too-generous modes. 200 | # However, 'strip' requires both read and write access to temps. 201 | case $mode in 202 | # Optimize common cases. 203 | *644) cp_umask=133;; 204 | *755) cp_umask=22;; 205 | 206 | *[0-7]) 207 | if test -z "$stripcmd"; then 208 | u_plus_rw= 209 | else 210 | u_plus_rw='% 200' 211 | fi 212 | cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; 213 | *) 214 | if test -z "$stripcmd"; then 215 | u_plus_rw= 216 | else 217 | u_plus_rw=,u+rw 218 | fi 219 | cp_umask=$mode$u_plus_rw;; 220 | esac 221 | fi 222 | 223 | for src 224 | do 225 | # Protect names starting with `-'. 226 | case $src in 227 | -*) src=./$src ;; 228 | esac 229 | 230 | if test -n "$dir_arg"; then 231 | dst=$src 232 | dstdir=$dst 233 | test -d "$dstdir" 234 | dstdir_status=$? 235 | else 236 | 237 | # Waiting for this to be detected by the "$cpprog $src $dsttmp" command 238 | # might cause directories to be created, which would be especially bad 239 | # if $src (and thus $dsttmp) contains '*'. 240 | if test ! -f "$src" && test ! -d "$src"; then 241 | echo "$0: $src does not exist." >&2 242 | exit 1 243 | fi 244 | 245 | if test -z "$dstarg"; then 246 | echo "$0: no destination specified." >&2 247 | exit 1 248 | fi 249 | 250 | dst=$dstarg 251 | # Protect names starting with `-'. 252 | case $dst in 253 | -*) dst=./$dst ;; 254 | esac 255 | 256 | # If destination is a directory, append the input filename; won't work 257 | # if double slashes aren't ignored. 258 | if test -d "$dst"; then 259 | if test -n "$no_target_directory"; then 260 | echo "$0: $dstarg: Is a directory" >&2 261 | exit 1 262 | fi 263 | dstdir=$dst 264 | dst=$dstdir/`basename "$src"` 265 | dstdir_status=0 266 | else 267 | # Prefer dirname, but fall back on a substitute if dirname fails. 268 | dstdir=` 269 | (dirname "$dst") 2>/dev/null || 270 | expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 271 | X"$dst" : 'X\(//\)[^/]' \| \ 272 | X"$dst" : 'X\(//\)$' \| \ 273 | X"$dst" : 'X\(/\)' \| . 2>/dev/null || 274 | echo X"$dst" | 275 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 276 | s//\1/ 277 | q 278 | } 279 | /^X\(\/\/\)[^/].*/{ 280 | s//\1/ 281 | q 282 | } 283 | /^X\(\/\/\)$/{ 284 | s//\1/ 285 | q 286 | } 287 | /^X\(\/\).*/{ 288 | s//\1/ 289 | q 290 | } 291 | s/.*/./; q' 292 | ` 293 | 294 | test -d "$dstdir" 295 | dstdir_status=$? 296 | fi 297 | fi 298 | 299 | obsolete_mkdir_used=false 300 | 301 | if test $dstdir_status != 0; then 302 | case $posix_mkdir in 303 | '') 304 | # Create intermediate dirs using mode 755 as modified by the umask. 305 | # This is like FreeBSD 'install' as of 1997-10-28. 306 | umask=`umask` 307 | case $stripcmd.$umask in 308 | # Optimize common cases. 309 | *[2367][2367]) mkdir_umask=$umask;; 310 | .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; 311 | 312 | *[0-7]) 313 | mkdir_umask=`expr $umask + 22 \ 314 | - $umask % 100 % 40 + $umask % 20 \ 315 | - $umask % 10 % 4 + $umask % 2 316 | `;; 317 | *) mkdir_umask=$umask,go-w;; 318 | esac 319 | 320 | # With -d, create the new directory with the user-specified mode. 321 | # Otherwise, rely on $mkdir_umask. 322 | if test -n "$dir_arg"; then 323 | mkdir_mode=-m$mode 324 | else 325 | mkdir_mode= 326 | fi 327 | 328 | posix_mkdir=false 329 | case $umask in 330 | *[123567][0-7][0-7]) 331 | # POSIX mkdir -p sets u+wx bits regardless of umask, which 332 | # is incompatible with FreeBSD 'install' when (umask & 300) != 0. 333 | ;; 334 | *) 335 | tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ 336 | trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 337 | 338 | if (umask $mkdir_umask && 339 | exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 340 | then 341 | if test -z "$dir_arg" || { 342 | # Check for POSIX incompatibilities with -m. 343 | # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or 344 | # other-writeable bit of parent directory when it shouldn't. 345 | # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. 346 | ls_ld_tmpdir=`ls -ld "$tmpdir"` 347 | case $ls_ld_tmpdir in 348 | d????-?r-*) different_mode=700;; 349 | d????-?--*) different_mode=755;; 350 | *) false;; 351 | esac && 352 | $mkdirprog -m$different_mode -p -- "$tmpdir" && { 353 | ls_ld_tmpdir_1=`ls -ld "$tmpdir"` 354 | test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" 355 | } 356 | } 357 | then posix_mkdir=: 358 | fi 359 | rmdir "$tmpdir/d" "$tmpdir" 360 | else 361 | # Remove any dirs left behind by ancient mkdir implementations. 362 | rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null 363 | fi 364 | trap '' 0;; 365 | esac;; 366 | esac 367 | 368 | if 369 | $posix_mkdir && ( 370 | umask $mkdir_umask && 371 | $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" 372 | ) 373 | then : 374 | else 375 | 376 | # The umask is ridiculous, or mkdir does not conform to POSIX, 377 | # or it failed possibly due to a race condition. Create the 378 | # directory the slow way, step by step, checking for races as we go. 379 | 380 | case $dstdir in 381 | /*) prefix=/ ;; 382 | -*) prefix=./ ;; 383 | *) prefix= ;; 384 | esac 385 | 386 | case $posix_glob in 387 | '') 388 | if (set -f) 2>/dev/null; then 389 | posix_glob=true 390 | else 391 | posix_glob=false 392 | fi ;; 393 | esac 394 | 395 | oIFS=$IFS 396 | IFS=/ 397 | $posix_glob && set -f 398 | set fnord $dstdir 399 | shift 400 | $posix_glob && set +f 401 | IFS=$oIFS 402 | 403 | prefixes= 404 | 405 | for d 406 | do 407 | test -z "$d" && continue 408 | 409 | prefix=$prefix$d 410 | if test -d "$prefix"; then 411 | prefixes= 412 | else 413 | if $posix_mkdir; then 414 | (umask=$mkdir_umask && 415 | $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break 416 | # Don't fail if two instances are running concurrently. 417 | test -d "$prefix" || exit 1 418 | else 419 | case $prefix in 420 | *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; 421 | *) qprefix=$prefix;; 422 | esac 423 | prefixes="$prefixes '$qprefix'" 424 | fi 425 | fi 426 | prefix=$prefix/ 427 | done 428 | 429 | if test -n "$prefixes"; then 430 | # Don't fail if two instances are running concurrently. 431 | (umask $mkdir_umask && 432 | eval "\$doit_exec \$mkdirprog $prefixes") || 433 | test -d "$dstdir" || exit 1 434 | obsolete_mkdir_used=true 435 | fi 436 | fi 437 | fi 438 | 439 | if test -n "$dir_arg"; then 440 | { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && 441 | { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && 442 | { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || 443 | test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 444 | else 445 | 446 | # Make a couple of temp file names in the proper directory. 447 | dsttmp=$dstdir/_inst.$$_ 448 | rmtmp=$dstdir/_rm.$$_ 449 | 450 | # Trap to clean up those temp files at exit. 451 | trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 452 | 453 | # Copy the file name to the temp name. 454 | (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && 455 | 456 | # and set any options; do chmod last to preserve setuid bits. 457 | # 458 | # If any of these fail, we abort the whole thing. If we want to 459 | # ignore errors from any of these, just make sure not to ignore 460 | # errors from the above "$doit $cpprog $src $dsttmp" command. 461 | # 462 | { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ 463 | && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ 464 | && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ 465 | && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && 466 | 467 | # Now rename the file to the real destination. 468 | { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ 469 | || { 470 | # The rename failed, perhaps because mv can't rename something else 471 | # to itself, or perhaps because mv is so ancient that it does not 472 | # support -f. 473 | 474 | # Now remove or move aside any old file at destination location. 475 | # We try this two ways since rm can't unlink itself on some 476 | # systems and the destination file might be busy for other 477 | # reasons. In this case, the final cleanup might fail but the new 478 | # file should still install successfully. 479 | { 480 | if test -f "$dst"; then 481 | $doit $rmcmd -f "$dst" 2>/dev/null \ 482 | || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ 483 | && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ 484 | || { 485 | echo "$0: cannot unlink or rename $dst" >&2 486 | (exit 1); exit 1 487 | } 488 | else 489 | : 490 | fi 491 | } && 492 | 493 | # Now rename the file to the real destination. 494 | $doit $mvcmd "$dsttmp" "$dst" 495 | } 496 | } || exit 1 497 | 498 | trap '' 0 499 | fi 500 | done 501 | 502 | # Local variables: 503 | # eval: (add-hook 'write-file-hooks 'time-stamp) 504 | # time-stamp-start: "scriptversion=" 505 | # time-stamp-format: "%:y-%02m-%02d.%02H" 506 | # time-stamp-end: "$" 507 | # End: 508 | -------------------------------------------------------------------------------- /netactview/intltool-extract.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/intltool-extract.in -------------------------------------------------------------------------------- /netactview/intltool-merge.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/intltool-merge.in -------------------------------------------------------------------------------- /netactview/intltool-update.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/intltool-update.in -------------------------------------------------------------------------------- /netactview/po/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/po/ChangeLog -------------------------------------------------------------------------------- /netactview/po/LINGUAS: -------------------------------------------------------------------------------- 1 | # please keep this list sorted alphabetically 2 | et 3 | it 4 | pt 5 | ro 6 | ru 7 | -------------------------------------------------------------------------------- /netactview/po/Makefile.in.in: -------------------------------------------------------------------------------- 1 | # Makefile for program source directory in GNU NLS utilities package. 2 | # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper 3 | # Copyright (C) 2004-2008 Rodney Dawes 4 | # 5 | # This file may be copied and used freely without restrictions. It may 6 | # be used in projects which are not available under a GNU Public License, 7 | # but which still want to provide support for the GNU gettext functionality. 8 | # 9 | # - Modified by Owen Taylor to use GETTEXT_PACKAGE 10 | # instead of PACKAGE and to look for po2tbl in ./ not in intl/ 11 | # 12 | # - Modified by jacob berkman to install 13 | # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize 14 | # 15 | # - Modified by Rodney Dawes for use with intltool 16 | # 17 | # We have the following line for use by intltoolize: 18 | # INTLTOOL_MAKEFILE 19 | 20 | GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ 21 | PACKAGE = @PACKAGE@ 22 | VERSION = @VERSION@ 23 | 24 | SHELL = @SHELL@ 25 | 26 | srcdir = @srcdir@ 27 | top_srcdir = @top_srcdir@ 28 | top_builddir = @top_builddir@ 29 | VPATH = @srcdir@ 30 | 31 | prefix = @prefix@ 32 | exec_prefix = @exec_prefix@ 33 | datadir = @datadir@ 34 | datarootdir = @datarootdir@ 35 | libdir = @libdir@ 36 | DATADIRNAME = @DATADIRNAME@ 37 | itlocaledir = $(prefix)/$(DATADIRNAME)/locale 38 | subdir = po 39 | install_sh = @install_sh@ 40 | # Automake >= 1.8 provides @mkdir_p@. 41 | # Until it can be supposed, use the safe fallback: 42 | mkdir_p = $(install_sh) -d 43 | 44 | INSTALL = @INSTALL@ 45 | INSTALL_DATA = @INSTALL_DATA@ 46 | 47 | GMSGFMT = @GMSGFMT@ 48 | MSGFMT = @MSGFMT@ 49 | XGETTEXT = @XGETTEXT@ 50 | INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ 51 | INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ 52 | MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist 53 | GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot 54 | 55 | ALL_LINGUAS = @ALL_LINGUAS@ 56 | 57 | PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) 58 | 59 | USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) 60 | 61 | USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) 62 | 63 | POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) 64 | 65 | DISTFILES = Makefile.in.in POTFILES.in $(POFILES) 66 | EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS netactview.pot 67 | 68 | POTFILES = \ 69 | # This comment gets stripped out 70 | 71 | CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) 72 | 73 | .SUFFIXES: 74 | .SUFFIXES: .po .pox .gmo .mo .msg .cat 75 | 76 | .po.pox: 77 | $(MAKE) $(GETTEXT_PACKAGE).pot 78 | $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox 79 | 80 | .po.mo: 81 | $(MSGFMT) -o $@ $< 82 | 83 | .po.gmo: 84 | file=`echo $* | sed 's,.*/,,'`.gmo \ 85 | && rm -f $$file && $(GMSGFMT) -o $$file $< 86 | 87 | .po.cat: 88 | sed -f ../intl/po2msg.sed < $< > $*.msg \ 89 | && rm -f $@ && gencat $@ $*.msg 90 | 91 | 92 | all: all-@USE_NLS@ 93 | 94 | all-yes: $(CATALOGS) 95 | all-no: 96 | 97 | $(GETTEXT_PACKAGE).pot: $(POTFILES) 98 | $(GENPOT) 99 | 100 | install: install-data 101 | install-data: install-data-@USE_NLS@ 102 | install-data-no: all 103 | install-data-yes: all 104 | linguas="$(USE_LINGUAS)"; \ 105 | for lang in $$linguas; do \ 106 | dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ 107 | $(mkdir_p) $$dir; \ 108 | if test -r $$lang.gmo; then \ 109 | $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ 110 | echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ 111 | else \ 112 | $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ 113 | echo "installing $(srcdir)/$$lang.gmo as" \ 114 | "$$dir/$(GETTEXT_PACKAGE).mo"; \ 115 | fi; \ 116 | if test -r $$lang.gmo.m; then \ 117 | $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ 118 | echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ 119 | else \ 120 | if test -r $(srcdir)/$$lang.gmo.m ; then \ 121 | $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ 122 | $$dir/$(GETTEXT_PACKAGE).mo.m; \ 123 | echo "installing $(srcdir)/$$lang.gmo.m as" \ 124 | "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ 125 | else \ 126 | true; \ 127 | fi; \ 128 | fi; \ 129 | done 130 | 131 | # Empty stubs to satisfy archaic automake needs 132 | dvi info ctags tags CTAGS TAGS ID: 133 | 134 | # Define this as empty until I found a useful application. 135 | install-exec installcheck: 136 | 137 | uninstall: 138 | linguas="$(USE_LINGUAS)"; \ 139 | for lang in $$linguas; do \ 140 | rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ 141 | rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ 142 | done 143 | 144 | check: all $(GETTEXT_PACKAGE).pot 145 | rm -f missing notexist 146 | srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m 147 | if [ -r missing -o -r notexist ]; then \ 148 | exit 1; \ 149 | fi 150 | 151 | mostlyclean: 152 | rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp 153 | rm -f .intltool-merge-cache 154 | 155 | clean: mostlyclean 156 | 157 | distclean: clean 158 | rm -f Makefile Makefile.in POTFILES stamp-it 159 | rm -f *.mo *.msg *.cat *.cat.m *.gmo 160 | 161 | maintainer-clean: distclean 162 | @echo "This command is intended for maintainers to use;" 163 | @echo "it deletes files that may require special tools to rebuild." 164 | rm -f Makefile.in.in 165 | 166 | distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) 167 | dist distdir: $(DISTFILES) 168 | dists="$(DISTFILES)"; \ 169 | extra_dists="$(EXTRA_DISTFILES)"; \ 170 | for file in $$extra_dists; do \ 171 | test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ 172 | done; \ 173 | for file in $$dists; do \ 174 | test -f $$file || file="$(srcdir)/$$file"; \ 175 | ln $$file $(distdir) 2> /dev/null \ 176 | || cp -p $$file $(distdir); \ 177 | done 178 | 179 | update-po: Makefile 180 | $(MAKE) $(GETTEXT_PACKAGE).pot 181 | tmpdir=`pwd`; \ 182 | linguas="$(USE_LINGUAS)"; \ 183 | for lang in $$linguas; do \ 184 | echo "$$lang:"; \ 185 | result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ 186 | if $$result; then \ 187 | if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ 188 | rm -f $$tmpdir/$$lang.new.po; \ 189 | else \ 190 | if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ 191 | :; \ 192 | else \ 193 | echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ 194 | rm -f $$tmpdir/$$lang.new.po; \ 195 | exit 1; \ 196 | fi; \ 197 | fi; \ 198 | else \ 199 | echo "msgmerge for $$lang.gmo failed!"; \ 200 | rm -f $$tmpdir/$$lang.new.po; \ 201 | fi; \ 202 | done 203 | 204 | Makefile POTFILES: stamp-it 205 | @if test ! -f $@; then \ 206 | rm -f stamp-it; \ 207 | $(MAKE) stamp-it; \ 208 | fi 209 | 210 | stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in 211 | cd $(top_builddir) \ 212 | && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ 213 | $(SHELL) ./config.status 214 | 215 | # Tell versions [3.59,3.63) of GNU make not to export all variables. 216 | # Otherwise a system limit (for SysV at least) may be exceeded. 217 | .NOEXPORT: 218 | -------------------------------------------------------------------------------- /netactview/po/POTFILES.in: -------------------------------------------------------------------------------- 1 | # List of source files containing translatable strings. 2 | 3 | [encoding: UTF-8] 4 | 5 | src/main.c 6 | src/mainwindow.c 7 | src/netactview.glade 8 | data/netactview.desktop.in 9 | src/utils.c 10 | -------------------------------------------------------------------------------- /netactview/po/et.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: netactview \n" 4 | "Report-Msgid-Bugs-To: \n" 5 | "POT-Creation-Date: 2015-03-29 19:35+0300\n" 6 | "PO-Revision-Date: 2009-01-23 14:45+0300\n" 7 | "Last-Translator: ms \n" 8 | "Language-Team: MS \n" 9 | "Language: \n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " 14 | "20)) ? 1 : 2;\n" 15 | "X-Poedit-Language: Estonian\n" 16 | 17 | #: ../src/main.c:75 18 | msgid " - view network connections" 19 | msgstr " - võrguühenduste vaatamine" 20 | 21 | #: ../src/mainwindow.c:95 22 | msgid "Protocol" 23 | msgstr "Protokoll" 24 | 25 | #: ../src/mainwindow.c:96 26 | msgid "Local Host" 27 | msgstr "Kohalik server" 28 | 29 | #: ../src/mainwindow.c:97 ../src/netactview.glade.h:20 30 | msgid "Local Address" 31 | msgstr "Kohalik IP" 32 | 33 | #: ../src/mainwindow.c:98 34 | msgid "Local Port" 35 | msgstr "Kohalik port" 36 | 37 | #: ../src/mainwindow.c:99 38 | msgid "State" 39 | msgstr "Olek" 40 | 41 | #: ../src/mainwindow.c:100 42 | msgid "Remote Address" 43 | msgstr "Kaugserveri IP" 44 | 45 | #: ../src/mainwindow.c:101 46 | msgid "Remote Port" 47 | msgstr "Kaugserveri port" 48 | 49 | #: ../src/mainwindow.c:102 50 | msgid "Remote Host" 51 | msgstr "Kaugserver" 52 | 53 | #: ../src/mainwindow.c:103 54 | msgid "Pid" 55 | msgstr "Pid" 56 | 57 | #: ../src/mainwindow.c:104 58 | msgid "Program" 59 | msgstr "Programm" 60 | 61 | #: ../src/mainwindow.c:105 ../src/netactview.glade.h:19 62 | msgid "Command" 63 | msgstr "Käsk" 64 | 65 | #. End white space used only to specify a bigger fixed size 66 | #: ../src/mainwindow.c:592 67 | #, c-format 68 | msgid "Sent: %s +%s/s " 69 | msgstr "Saadetud: %s +%s/s " 70 | 71 | #. End white space used only to specify a bigger fixed size 72 | #: ../src/mainwindow.c:594 73 | #, c-format 74 | msgid "Received: %s +%s/s " 75 | msgstr "Saadud: %s +%s/s " 76 | 77 | #. End white space used only to specify a bigger fixed size 78 | #: ../src/mainwindow.c:651 79 | #, c-format 80 | msgid "Established: %u/%u" 81 | msgstr "Ühendusi: %u/%u" 82 | 83 | #: ../src/mainwindow.c:662 84 | #, c-format 85 | msgid "Visible: %u" 86 | msgstr "" 87 | 88 | #. Header for the saved file. Keep the formatting intact. 89 | #: ../src/mainwindow.c:1502 90 | #, c-format 91 | msgid "" 92 | "Protocol Local Address : Local Port State Remote Address : Remote " 93 | "Port Remote Host Local Host Pid Program Command" 94 | msgstr "" 95 | "Protokoll Kohalik IP : Kohalik port Olek Kaugserveri IP : Kaugserveri " 96 | "port Kaugserveri aadress Kohalik server Pid Programm Käsk" 97 | 98 | #. Header for the saved CSV file. Keep the formatting intact. Do not add additional double quotes. 99 | #: ../src/mainwindow.c:1608 100 | #, c-format 101 | msgid "" 102 | "\"Date\",\"Time\",\"Protocol\",\"Local Address\",\"Local Port\",\"State\"," 103 | "\"Remote Address\",\"Remote Port\",\"Remote Host\",\"Pid\",\"Program\"," 104 | "\"Command\",\"Local Host\",\"Local Port Name\",\"Remote Port Name\"" 105 | msgstr "" 106 | 107 | #: ../src/mainwindow.c:1738 108 | msgid "Save As..." 109 | msgstr "Salvesta kui..." 110 | 111 | #: ../src/mainwindow.c:1747 112 | msgid "All files" 113 | msgstr "" 114 | 115 | #: ../src/mainwindow.c:1750 116 | msgid "Text files (*.txt)" 117 | msgstr "" 118 | 119 | #: ../src/mainwindow.c:1753 120 | msgid "CSV files (*.csv)" 121 | msgstr "" 122 | 123 | #: ../src/mainwindow.c:1776 124 | msgid "connections.txt" 125 | msgstr "ühendused.txt" 126 | 127 | #: ../src/mainwindow.c:1804 128 | #, c-format 129 | msgid "" 130 | "Error saving file '%s'. \n" 131 | "%s" 132 | msgstr "" 133 | "Viga faili '%s' salvestamisel. \n" 134 | "%s" 135 | 136 | #: ../src/mainwindow.c:1848 137 | msgid "about.program_name|Net Activity Viewer" 138 | msgstr "Võrguaktiivsuse vaataja" 139 | 140 | #: ../src/mainwindow.c:1866 141 | #, c-format 142 | msgid "" 143 | "Can't open wiki URL: \"%s\".\n" 144 | "Please check that gnome vfs and mime configurations work correctly with the " 145 | "default web browser." 146 | msgstr "" 147 | 148 | #: ../src/mainwindow.c:1921 149 | msgid "Restart as root failed. You may need to install gksu." 150 | msgstr "Algkäivitus juurena luhtus. Sa vajad gksu'd." 151 | 152 | #: ../src/mainwindow.c:2214 153 | #, c-format 154 | msgid "Copy by '%s'" 155 | msgstr "" 156 | 157 | #: ../src/mainwindow.c:2218 ../src/netactview.glade.h:51 158 | msgid "Copy by 'Column'" 159 | msgstr "" 160 | 161 | #: ../src/mainwindow.c:2631 162 | msgid "main_window.title|Net Activity Viewer" 163 | msgstr "Võrguaktiivsuse vaataja" 164 | 165 | #: ../src/netactview.glade.h:1 166 | msgid "_File" 167 | msgstr "_Fail" 168 | 169 | #: ../src/netactview.glade.h:2 170 | msgid "Restart As Root" 171 | msgstr "Algkäivita juurena (root)" 172 | 173 | #: ../src/netactview.glade.h:3 174 | msgid "_Edit" 175 | msgstr "R_edigeeri" 176 | 177 | #: ../src/netactview.glade.h:4 178 | msgid "Copy selected line" 179 | msgstr "Kopeeri valitud rida" 180 | 181 | #: ../src/netactview.glade.h:5 182 | msgid "_Copy Line" 183 | msgstr "_Kopeeri rida" 184 | 185 | #: ../src/netactview.glade.h:6 186 | msgid "Copy Remote _Address" 187 | msgstr "Kopeeri kau_gserveri IP" 188 | 189 | #: ../src/netactview.glade.h:7 190 | msgid "Copy Remote _Host" 191 | msgstr "Kopeeri k_augserver" 192 | 193 | #: ../src/netactview.glade.h:8 194 | msgid "_Filter" 195 | msgstr "_Filter" 196 | 197 | #: ../src/netactview.glade.h:9 198 | msgid "Auto Refresh" 199 | msgstr "Automaatne uuendus" 200 | 201 | #: ../src/netactview.glade.h:10 202 | msgid "Enabled" 203 | msgstr "Aktiveeritud" 204 | 205 | #: ../src/netactview.glade.h:11 206 | msgid "4 seconds" 207 | msgstr "4 sekundit" 208 | 209 | #: ../src/netactview.glade.h:12 210 | msgid "1 second" 211 | msgstr "1 sekund" 212 | 213 | #: ../src/netactview.glade.h:13 214 | msgid "1/4 seconds" 215 | msgstr "1/4 sekundit" 216 | 217 | #: ../src/netactview.glade.h:14 218 | msgid "1/16 seconds" 219 | msgstr "1/16 sekundit" 220 | 221 | #: ../src/netactview.glade.h:15 222 | msgid "_View" 223 | msgstr "_Vaade" 224 | 225 | #: ../src/netactview.glade.h:16 226 | msgid "_Closed Connections" 227 | msgstr "_Suletud ühendused" 228 | 229 | #: ../src/netactview.glade.h:17 230 | msgid "Not _Established Connections" 231 | msgstr "Ei ole ühendusi _loodud" 232 | 233 | #: ../src/netactview.glade.h:18 234 | msgid "Color Highlight" 235 | msgstr "Esiletõstetud värv" 236 | 237 | #: ../src/netactview.glade.h:21 238 | msgid "Local Host Name" 239 | msgstr "Kohalik serverinimi" 240 | 241 | #: ../src/netactview.glade.h:22 242 | msgid "Port Name" 243 | msgstr "Pordinimi" 244 | 245 | #: ../src/netactview.glade.h:23 246 | msgid "Remote Host Name" 247 | msgstr "Kaugserveri nimi" 248 | 249 | #: ../src/netactview.glade.h:24 250 | msgid "_Help" 251 | msgstr "_Abi" 252 | 253 | #: ../src/netactview.glade.h:25 254 | msgid "Wiki" 255 | msgstr "" 256 | 257 | #: ../src/netactview.glade.h:26 258 | msgid "Save" 259 | msgstr "Salvesta" 260 | 261 | #: ../src/netactview.glade.h:27 262 | msgid "Copy Line" 263 | msgstr "Kopeerimisriba" 264 | 265 | #: ../src/netactview.glade.h:28 266 | msgid "Refresh" 267 | msgstr "Uuendus" 268 | 269 | #: ../src/netactview.glade.h:29 270 | msgid "Established connections only" 271 | msgstr "" 272 | 273 | #: ../src/netactview.glade.h:30 274 | msgid "Established" 275 | msgstr "" 276 | 277 | #: ../src/netactview.glade.h:31 278 | msgid "Filter: " 279 | msgstr "Filter: " 280 | 281 | #: ../src/netactview.glade.h:32 282 | msgid "Clear" 283 | msgstr "" 284 | 285 | #: ../src/netactview.glade.h:33 286 | msgid "Case sensitive" 287 | msgstr "" 288 | 289 | #: ../src/netactview.glade.h:34 290 | msgid "" 291 | "Operators:\n" 292 | "! - Not\n" 293 | "\"\" - Quote\n" 294 | "() - Group\n" 295 | "OR - logical OR\n" 296 | "Space is logical AND\n" 297 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 298 | msgstr "" 299 | 300 | #: ../src/netactview.glade.h:41 301 | msgid "Visible: 0" 302 | msgstr "" 303 | 304 | #: ../src/netactview.glade.h:42 305 | msgid "Close" 306 | msgstr "Sulge" 307 | 308 | #: ../src/netactview.glade.h:43 309 | msgid "About Net Activity Viewer" 310 | msgstr "Võrguaktiivsuse vaataja kohta" 311 | 312 | #: ../src/netactview.glade.h:44 313 | msgid "" 314 | "Network connections viewer similar\n" 315 | " in functionality with netstat." 316 | msgstr "" 317 | "Võrguühenduste vaataja on sarnane\n" 318 | " oma funktsioonide poolest netstat'iga." 319 | 320 | #: ../src/netactview.glade.h:46 321 | msgid "" 322 | "This free software is licensed using GNU GPL version 2 or later.\n" 323 | "This licence allows you to run the unmodified program without restrictions.\n" 324 | "Please read its complete terms from the distributed COPYING file or on GNU " 325 | "website:\n" 326 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 327 | msgstr "" 328 | "See vaba tarkvara on litsentsitud kasutades GNU GPL versioon 2 või hiljem.\n" 329 | "See litsents lubab sul kasutada seda muutmata programmi ilma piiranguta.\n" 330 | "Palun loe reeglite kohta lähemalt GNU kodulehelt:\n" 331 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 332 | 333 | #: ../src/netactview.glade.h:52 334 | msgid "Copy selection for current column" 335 | msgstr "" 336 | 337 | #: ../src/netactview.glade.h:53 338 | msgid "Filter on selection by column" 339 | msgstr "" 340 | 341 | #: ../src/netactview.glade.h:54 342 | msgid "Filter In" 343 | msgstr "" 344 | 345 | #: ../src/netactview.glade.h:55 346 | msgid "Filter on Not selection by column" 347 | msgstr "" 348 | 349 | #: ../src/netactview.glade.h:56 350 | msgid "Filter Out" 351 | msgstr "" 352 | 353 | #: ../data/netactview.desktop.in.h:1 354 | msgid "Net Activity Viewer" 355 | msgstr "Võrguaktiivsuse vaataja" 356 | 357 | #: ../data/netactview.desktop.in.h:2 358 | msgid "View network connections" 359 | msgstr "Võrguühenduste vaatamine" 360 | 361 | #: ../src/utils.c:132 362 | #, c-format 363 | msgid "%Lu B" 364 | msgstr "%Lu B" 365 | 366 | #: ../src/utils.c:134 367 | #, c-format 368 | msgid "%Lu KB" 369 | msgstr "%Lu KB" 370 | 371 | #: ../src/utils.c:134 372 | #, c-format 373 | msgid "%Lu.%Lu KB" 374 | msgstr "%Lu,%Lu KB" 375 | 376 | #: ../src/utils.c:136 377 | #, c-format 378 | msgid "%Lu MB" 379 | msgstr "%Lu MB" 380 | 381 | #: ../src/utils.c:136 382 | #, c-format 383 | msgid "%Lu.%Lu MB" 384 | msgstr "%Lu,%Lu MB" 385 | 386 | #: ../src/utils.c:138 387 | #, c-format 388 | msgid "%Lu GB" 389 | msgstr "%Lu GB" 390 | 391 | #: ../src/utils.c:138 392 | #, c-format 393 | msgid "%Lu.%Lu GB" 394 | msgstr "%Lu,%Lu GB" 395 | 396 | #: ../src/utils.c:140 397 | #, c-format 398 | msgid "%Lu TB" 399 | msgstr "%Lu TB" 400 | 401 | #: ../src/utils.c:140 402 | #, c-format 403 | msgid "%Lu.%Lu TB" 404 | msgstr "%Lu,%Lu TB" 405 | -------------------------------------------------------------------------------- /netactview/po/it.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: netactview \n" 4 | "Report-Msgid-Bugs-To: \n" 5 | "POT-Creation-Date: 2015-03-29 19:35+0300\n" 6 | "PO-Revision-Date: 2010-06-07 19:37+0200\n" 7 | "Last-Translator: Fabio Castelli \n" 8 | "Language-Team: Italian\n" 9 | "Language: \n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 14 | 15 | #: ../src/main.c:75 16 | msgid " - view network connections" 17 | msgstr " - visualizza connessioni di rete" 18 | 19 | #: ../src/mainwindow.c:95 20 | msgid "Protocol" 21 | msgstr "Protocollo" 22 | 23 | #: ../src/mainwindow.c:96 24 | msgid "Local Host" 25 | msgstr "Sistema Locale" 26 | 27 | #: ../src/mainwindow.c:97 ../src/netactview.glade.h:20 28 | msgid "Local Address" 29 | msgstr "Indirizzo Locale" 30 | 31 | #: ../src/mainwindow.c:98 32 | msgid "Local Port" 33 | msgstr "Porta locale" 34 | 35 | #: ../src/mainwindow.c:99 36 | msgid "State" 37 | msgstr "Stato" 38 | 39 | #: ../src/mainwindow.c:100 40 | msgid "Remote Address" 41 | msgstr "Indirizzo Remoto" 42 | 43 | #: ../src/mainwindow.c:101 44 | msgid "Remote Port" 45 | msgstr "Porta Remota" 46 | 47 | #: ../src/mainwindow.c:102 48 | msgid "Remote Host" 49 | msgstr "Sistema Remoto" 50 | 51 | #: ../src/mainwindow.c:103 52 | msgid "Pid" 53 | msgstr "Pid" 54 | 55 | #: ../src/mainwindow.c:104 56 | msgid "Program" 57 | msgstr "Programmma" 58 | 59 | #: ../src/mainwindow.c:105 ../src/netactview.glade.h:19 60 | msgid "Command" 61 | msgstr "Comando" 62 | 63 | #. End white space used only to specify a bigger fixed size 64 | #: ../src/mainwindow.c:592 65 | #, c-format 66 | msgid "Sent: %s +%s/s " 67 | msgstr "Inviati: %s +%s/s " 68 | 69 | #. End white space used only to specify a bigger fixed size 70 | #: ../src/mainwindow.c:594 71 | #, c-format 72 | msgid "Received: %s +%s/s " 73 | msgstr "Ricevuti: %s +%s/s " 74 | 75 | #. End white space used only to specify a bigger fixed size 76 | #: ../src/mainwindow.c:651 77 | #, c-format 78 | msgid "Established: %u/%u" 79 | msgstr "Stabilite: %u/%u" 80 | 81 | #: ../src/mainwindow.c:662 82 | #, c-format 83 | msgid "Visible: %u" 84 | msgstr "" 85 | 86 | #. Header for the saved file. Keep the formatting intact. 87 | #: ../src/mainwindow.c:1502 88 | #, c-format 89 | msgid "" 90 | "Protocol Local Address : Local Port State Remote Address : Remote " 91 | "Port Remote Host Local Host Pid Program Command" 92 | msgstr "" 93 | "Protocollo IP Locale : Porta Locale Stato IP Remoto : Porta Remota " 94 | "Sistema Remoto Sistema Locale Pid Programmma Comando" 95 | 96 | #. Header for the saved CSV file. Keep the formatting intact. Do not add additional double quotes. 97 | #: ../src/mainwindow.c:1608 98 | #, c-format 99 | msgid "" 100 | "\"Date\",\"Time\",\"Protocol\",\"Local Address\",\"Local Port\",\"State\"," 101 | "\"Remote Address\",\"Remote Port\",\"Remote Host\",\"Pid\",\"Program\"," 102 | "\"Command\",\"Local Host\",\"Local Port Name\",\"Remote Port Name\"" 103 | msgstr "" 104 | 105 | #: ../src/mainwindow.c:1738 106 | msgid "Save As..." 107 | msgstr "Salva come..." 108 | 109 | #: ../src/mainwindow.c:1747 110 | msgid "All files" 111 | msgstr "" 112 | 113 | #: ../src/mainwindow.c:1750 114 | msgid "Text files (*.txt)" 115 | msgstr "" 116 | 117 | #: ../src/mainwindow.c:1753 118 | msgid "CSV files (*.csv)" 119 | msgstr "" 120 | 121 | #: ../src/mainwindow.c:1776 122 | msgid "connections.txt" 123 | msgstr "connessioni.txt" 124 | 125 | #: ../src/mainwindow.c:1804 126 | #, c-format 127 | msgid "" 128 | "Error saving file '%s'. \n" 129 | "%s" 130 | msgstr "" 131 | "Errore nel salvataggio del file '%s'. \n" 132 | "%s" 133 | 134 | #: ../src/mainwindow.c:1848 135 | msgid "about.program_name|Net Activity Viewer" 136 | msgstr "Visualizzatore attività di rete" 137 | 138 | #: ../src/mainwindow.c:1866 139 | #, c-format 140 | msgid "" 141 | "Can't open wiki URL: \"%s\".\n" 142 | "Please check that gnome vfs and mime configurations work correctly with the " 143 | "default web browser." 144 | msgstr "" 145 | 146 | #: ../src/mainwindow.c:1921 147 | msgid "Restart as root failed. You may need to install gksu." 148 | msgstr "Riavvio come root fallito. Potrebbe essere necessario installare gksu." 149 | 150 | #: ../src/mainwindow.c:2214 151 | #, c-format 152 | msgid "Copy by '%s'" 153 | msgstr "" 154 | 155 | #: ../src/mainwindow.c:2218 ../src/netactview.glade.h:51 156 | msgid "Copy by 'Column'" 157 | msgstr "" 158 | 159 | #: ../src/mainwindow.c:2631 160 | msgid "main_window.title|Net Activity Viewer" 161 | msgstr "Visualizzatore attività di rete" 162 | 163 | #: ../src/netactview.glade.h:1 164 | msgid "_File" 165 | msgstr "_File" 166 | 167 | #: ../src/netactview.glade.h:2 168 | msgid "Restart As Root" 169 | msgstr "Riavvia come _root" 170 | 171 | #: ../src/netactview.glade.h:3 172 | msgid "_Edit" 173 | msgstr "_Modifica" 174 | 175 | #: ../src/netactview.glade.h:4 176 | msgid "Copy selected line" 177 | msgstr "Copia riga selezionata" 178 | 179 | #: ../src/netactview.glade.h:5 180 | msgid "_Copy Line" 181 | msgstr "_Copia Riga" 182 | 183 | #: ../src/netactview.glade.h:6 184 | msgid "Copy Remote _Address" 185 | msgstr "Copia _Indirizzo Remoto" 186 | 187 | #: ../src/netactview.glade.h:7 188 | msgid "Copy Remote _Host" 189 | msgstr "Copia _Sistema Remoto" 190 | 191 | #: ../src/netactview.glade.h:8 192 | msgid "_Filter" 193 | msgstr "_Filtro" 194 | 195 | #: ../src/netactview.glade.h:9 196 | msgid "Auto Refresh" 197 | msgstr "Aggiornamento automatico" 198 | 199 | #: ../src/netactview.glade.h:10 200 | msgid "Enabled" 201 | msgstr "Attivato" 202 | 203 | #: ../src/netactview.glade.h:11 204 | msgid "4 seconds" 205 | msgstr "4 secondi" 206 | 207 | #: ../src/netactview.glade.h:12 208 | msgid "1 second" 209 | msgstr "1 secondo" 210 | 211 | #: ../src/netactview.glade.h:13 212 | msgid "1/4 seconds" 213 | msgstr "1/4 di secondo" 214 | 215 | #: ../src/netactview.glade.h:14 216 | msgid "1/16 seconds" 217 | msgstr "1/16 di secondo" 218 | 219 | #: ../src/netactview.glade.h:15 220 | msgid "_View" 221 | msgstr "_Visualizza" 222 | 223 | #: ../src/netactview.glade.h:16 224 | msgid "_Closed Connections" 225 | msgstr "_Connessioni Chiuse" 226 | 227 | #: ../src/netactview.glade.h:17 228 | msgid "Not _Established Connections" 229 | msgstr "Connessioni _non stabilite" 230 | 231 | #: ../src/netactview.glade.h:18 232 | msgid "Color Highlight" 233 | msgstr "_Evidenziatura colorata" 234 | 235 | #: ../src/netactview.glade.h:21 236 | msgid "Local Host Name" 237 | msgstr "Nome Sistema Locale" 238 | 239 | #: ../src/netactview.glade.h:22 240 | msgid "Port Name" 241 | msgstr "Nome Porta" 242 | 243 | #: ../src/netactview.glade.h:23 244 | msgid "Remote Host Name" 245 | msgstr "Nome Sistema Remoto" 246 | 247 | #: ../src/netactview.glade.h:24 248 | msgid "_Help" 249 | msgstr "A_iuto" 250 | 251 | #: ../src/netactview.glade.h:25 252 | msgid "Wiki" 253 | msgstr "" 254 | 255 | #: ../src/netactview.glade.h:26 256 | msgid "Save" 257 | msgstr "Salva" 258 | 259 | #: ../src/netactview.glade.h:27 260 | msgid "Copy Line" 261 | msgstr "Copia riga" 262 | 263 | #: ../src/netactview.glade.h:28 264 | msgid "Refresh" 265 | msgstr "Aggiorna" 266 | 267 | #: ../src/netactview.glade.h:29 268 | msgid "Established connections only" 269 | msgstr "" 270 | 271 | #: ../src/netactview.glade.h:30 272 | msgid "Established" 273 | msgstr "" 274 | 275 | #: ../src/netactview.glade.h:31 276 | msgid "Filter: " 277 | msgstr "Filtro: " 278 | 279 | #: ../src/netactview.glade.h:32 280 | msgid "Clear" 281 | msgstr "" 282 | 283 | #: ../src/netactview.glade.h:33 284 | msgid "Case sensitive" 285 | msgstr "" 286 | 287 | #: ../src/netactview.glade.h:34 288 | msgid "" 289 | "Operators:\n" 290 | "! - Not\n" 291 | "\"\" - Quote\n" 292 | "() - Group\n" 293 | "OR - logical OR\n" 294 | "Space is logical AND\n" 295 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 296 | msgstr "" 297 | 298 | #: ../src/netactview.glade.h:41 299 | msgid "Visible: 0" 300 | msgstr "" 301 | 302 | #: ../src/netactview.glade.h:42 303 | msgid "Close" 304 | msgstr "Chiudi" 305 | 306 | #: ../src/netactview.glade.h:43 307 | msgid "About Net Activity Viewer" 308 | msgstr "Informazioni sul visualizzatore di attività di rete" 309 | 310 | #: ../src/netactview.glade.h:44 311 | msgid "" 312 | "Network connections viewer similar\n" 313 | " in functionality with netstat." 314 | msgstr "" 315 | "Visualizzatore di connessioni di rete \n" 316 | " simile in funzionalità a netstat." 317 | 318 | #: ../src/netactview.glade.h:46 319 | msgid "" 320 | "This free software is licensed using GNU GPL version 2 or later.\n" 321 | "This licence allows you to run the unmodified program without restrictions.\n" 322 | "Please read its complete terms from the distributed COPYING file or on GNU " 323 | "website:\n" 324 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 325 | msgstr "" 326 | "Questo programma è software libero e rilasciato sotto GNU GPL versioone 2 o " 327 | "successiva.\n" 328 | "Questa licenza permette l'esecuzione del programma non modificato senza " 329 | "restrizioni.\n" 330 | "Prego leggere i suoi termini completi dal file COPYING incluso oppure sul " 331 | "sito web GNU:\n" 332 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 333 | 334 | #: ../src/netactview.glade.h:52 335 | msgid "Copy selection for current column" 336 | msgstr "" 337 | 338 | #: ../src/netactview.glade.h:53 339 | msgid "Filter on selection by column" 340 | msgstr "" 341 | 342 | #: ../src/netactview.glade.h:54 343 | msgid "Filter In" 344 | msgstr "" 345 | 346 | #: ../src/netactview.glade.h:55 347 | msgid "Filter on Not selection by column" 348 | msgstr "" 349 | 350 | #: ../src/netactview.glade.h:56 351 | msgid "Filter Out" 352 | msgstr "" 353 | 354 | #: ../data/netactview.desktop.in.h:1 355 | msgid "Net Activity Viewer" 356 | msgstr "Visualizzatore attività di rete" 357 | 358 | #: ../data/netactview.desktop.in.h:2 359 | msgid "View network connections" 360 | msgstr "Visualizza connessioni di rete" 361 | 362 | #: ../src/utils.c:132 363 | #, c-format 364 | msgid "%Lu B" 365 | msgstr "%Lu B" 366 | 367 | #: ../src/utils.c:134 368 | #, c-format 369 | msgid "%Lu KB" 370 | msgstr "%Lu KB" 371 | 372 | #: ../src/utils.c:134 373 | #, c-format 374 | msgid "%Lu.%Lu KB" 375 | msgstr "%Lu,%Lu KB" 376 | 377 | #: ../src/utils.c:136 378 | #, c-format 379 | msgid "%Lu MB" 380 | msgstr "%Lu MB" 381 | 382 | #: ../src/utils.c:136 383 | #, c-format 384 | msgid "%Lu.%Lu MB" 385 | msgstr "%Lu,%Lu MB" 386 | 387 | #: ../src/utils.c:138 388 | #, c-format 389 | msgid "%Lu GB" 390 | msgstr "%Lu GB" 391 | 392 | #: ../src/utils.c:138 393 | #, c-format 394 | msgid "%Lu.%Lu GB" 395 | msgstr "%Lu,%Lu GB" 396 | 397 | #: ../src/utils.c:140 398 | #, c-format 399 | msgid "%Lu TB" 400 | msgstr "%Lu TB" 401 | 402 | #: ../src/utils.c:140 403 | #, c-format 404 | msgid "%Lu.%Lu TB" 405 | msgstr "%Lu,%Lu TB" 406 | -------------------------------------------------------------------------------- /netactview/po/netactview.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PACKAGE VERSION\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2015-03-29 19:35+0300\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: ../src/main.c:75 21 | msgid " - view network connections" 22 | msgstr "" 23 | 24 | #: ../src/mainwindow.c:95 25 | msgid "Protocol" 26 | msgstr "" 27 | 28 | #: ../src/mainwindow.c:96 29 | msgid "Local Host" 30 | msgstr "" 31 | 32 | #: ../src/mainwindow.c:97 ../src/netactview.glade.h:20 33 | msgid "Local Address" 34 | msgstr "" 35 | 36 | #: ../src/mainwindow.c:98 37 | msgid "Local Port" 38 | msgstr "" 39 | 40 | #: ../src/mainwindow.c:99 41 | msgid "State" 42 | msgstr "" 43 | 44 | #: ../src/mainwindow.c:100 45 | msgid "Remote Address" 46 | msgstr "" 47 | 48 | #: ../src/mainwindow.c:101 49 | msgid "Remote Port" 50 | msgstr "" 51 | 52 | #: ../src/mainwindow.c:102 53 | msgid "Remote Host" 54 | msgstr "" 55 | 56 | #: ../src/mainwindow.c:103 57 | msgid "Pid" 58 | msgstr "" 59 | 60 | #: ../src/mainwindow.c:104 61 | msgid "Program" 62 | msgstr "" 63 | 64 | #: ../src/mainwindow.c:105 ../src/netactview.glade.h:19 65 | msgid "Command" 66 | msgstr "" 67 | 68 | #. End white space used only to specify a bigger fixed size 69 | #: ../src/mainwindow.c:592 70 | #, c-format 71 | msgid "Sent: %s +%s/s " 72 | msgstr "" 73 | 74 | #. End white space used only to specify a bigger fixed size 75 | #: ../src/mainwindow.c:594 76 | #, c-format 77 | msgid "Received: %s +%s/s " 78 | msgstr "" 79 | 80 | #. End white space used only to specify a bigger fixed size 81 | #: ../src/mainwindow.c:651 82 | #, c-format 83 | msgid "Established: %u/%u" 84 | msgstr "" 85 | 86 | #: ../src/mainwindow.c:662 87 | #, c-format 88 | msgid "Visible: %u" 89 | msgstr "" 90 | 91 | #. Header for the saved file. Keep the formatting intact. 92 | #: ../src/mainwindow.c:1502 93 | #, c-format 94 | msgid "" 95 | "Protocol Local Address : Local Port State Remote Address : Remote " 96 | "Port Remote Host Local Host Pid Program Command" 97 | msgstr "" 98 | 99 | #. Header for the saved CSV file. Keep the formatting intact. Do not add additional double quotes. 100 | #: ../src/mainwindow.c:1608 101 | #, c-format 102 | msgid "" 103 | "\"Date\",\"Time\",\"Protocol\",\"Local Address\",\"Local Port\",\"State\"," 104 | "\"Remote Address\",\"Remote Port\",\"Remote Host\",\"Pid\",\"Program\"," 105 | "\"Command\",\"Local Host\",\"Local Port Name\",\"Remote Port Name\"" 106 | msgstr "" 107 | 108 | #: ../src/mainwindow.c:1738 109 | msgid "Save As..." 110 | msgstr "" 111 | 112 | #: ../src/mainwindow.c:1747 113 | msgid "All files" 114 | msgstr "" 115 | 116 | #: ../src/mainwindow.c:1750 117 | msgid "Text files (*.txt)" 118 | msgstr "" 119 | 120 | #: ../src/mainwindow.c:1753 121 | msgid "CSV files (*.csv)" 122 | msgstr "" 123 | 124 | #: ../src/mainwindow.c:1776 125 | msgid "connections.txt" 126 | msgstr "" 127 | 128 | #: ../src/mainwindow.c:1804 129 | #, c-format 130 | msgid "" 131 | "Error saving file '%s'. \n" 132 | "%s" 133 | msgstr "" 134 | 135 | #: ../src/mainwindow.c:1848 136 | msgid "about.program_name|Net Activity Viewer" 137 | msgstr "" 138 | 139 | #: ../src/mainwindow.c:1866 140 | #, c-format 141 | msgid "" 142 | "Can't open wiki URL: \"%s\".\n" 143 | "Please check that gnome vfs and mime configurations work correctly with the " 144 | "default web browser." 145 | msgstr "" 146 | 147 | #: ../src/mainwindow.c:1921 148 | msgid "Restart as root failed. You may need to install gksu." 149 | msgstr "" 150 | 151 | #: ../src/mainwindow.c:2214 152 | #, c-format 153 | msgid "Copy by '%s'" 154 | msgstr "" 155 | 156 | #: ../src/mainwindow.c:2218 ../src/netactview.glade.h:51 157 | msgid "Copy by 'Column'" 158 | msgstr "" 159 | 160 | #: ../src/mainwindow.c:2631 161 | msgid "main_window.title|Net Activity Viewer" 162 | msgstr "" 163 | 164 | #: ../src/netactview.glade.h:1 165 | msgid "_File" 166 | msgstr "" 167 | 168 | #: ../src/netactview.glade.h:2 169 | msgid "Restart As Root" 170 | msgstr "" 171 | 172 | #: ../src/netactview.glade.h:3 173 | msgid "_Edit" 174 | msgstr "" 175 | 176 | #: ../src/netactview.glade.h:4 177 | msgid "Copy selected line" 178 | msgstr "" 179 | 180 | #: ../src/netactview.glade.h:5 181 | msgid "_Copy Line" 182 | msgstr "" 183 | 184 | #: ../src/netactview.glade.h:6 185 | msgid "Copy Remote _Address" 186 | msgstr "" 187 | 188 | #: ../src/netactview.glade.h:7 189 | msgid "Copy Remote _Host" 190 | msgstr "" 191 | 192 | #: ../src/netactview.glade.h:8 193 | msgid "_Filter" 194 | msgstr "" 195 | 196 | #: ../src/netactview.glade.h:9 197 | msgid "Auto Refresh" 198 | msgstr "" 199 | 200 | #: ../src/netactview.glade.h:10 201 | msgid "Enabled" 202 | msgstr "" 203 | 204 | #: ../src/netactview.glade.h:11 205 | msgid "4 seconds" 206 | msgstr "" 207 | 208 | #: ../src/netactview.glade.h:12 209 | msgid "1 second" 210 | msgstr "" 211 | 212 | #: ../src/netactview.glade.h:13 213 | msgid "1/4 seconds" 214 | msgstr "" 215 | 216 | #: ../src/netactview.glade.h:14 217 | msgid "1/16 seconds" 218 | msgstr "" 219 | 220 | #: ../src/netactview.glade.h:15 221 | msgid "_View" 222 | msgstr "" 223 | 224 | #: ../src/netactview.glade.h:16 225 | msgid "_Closed Connections" 226 | msgstr "" 227 | 228 | #: ../src/netactview.glade.h:17 229 | msgid "Not _Established Connections" 230 | msgstr "" 231 | 232 | #: ../src/netactview.glade.h:18 233 | msgid "Color Highlight" 234 | msgstr "" 235 | 236 | #: ../src/netactview.glade.h:21 237 | msgid "Local Host Name" 238 | msgstr "" 239 | 240 | #: ../src/netactview.glade.h:22 241 | msgid "Port Name" 242 | msgstr "" 243 | 244 | #: ../src/netactview.glade.h:23 245 | msgid "Remote Host Name" 246 | msgstr "" 247 | 248 | #: ../src/netactview.glade.h:24 249 | msgid "_Help" 250 | msgstr "" 251 | 252 | #: ../src/netactview.glade.h:25 253 | msgid "Wiki" 254 | msgstr "" 255 | 256 | #: ../src/netactview.glade.h:26 257 | msgid "Save" 258 | msgstr "" 259 | 260 | #: ../src/netactview.glade.h:27 261 | msgid "Copy Line" 262 | msgstr "" 263 | 264 | #: ../src/netactview.glade.h:28 265 | msgid "Refresh" 266 | msgstr "" 267 | 268 | #: ../src/netactview.glade.h:29 269 | msgid "Established connections only" 270 | msgstr "" 271 | 272 | #: ../src/netactview.glade.h:30 273 | msgid "Established" 274 | msgstr "" 275 | 276 | #: ../src/netactview.glade.h:31 277 | msgid "Filter: " 278 | msgstr "" 279 | 280 | #: ../src/netactview.glade.h:32 281 | msgid "Clear" 282 | msgstr "" 283 | 284 | #: ../src/netactview.glade.h:33 285 | msgid "Case sensitive" 286 | msgstr "" 287 | 288 | #: ../src/netactview.glade.h:34 289 | msgid "" 290 | "Operators:\n" 291 | "! - Not\n" 292 | "\"\" - Quote\n" 293 | "() - Group\n" 294 | "OR - logical OR\n" 295 | "Space is logical AND\n" 296 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 297 | msgstr "" 298 | 299 | #: ../src/netactview.glade.h:41 300 | msgid "Visible: 0" 301 | msgstr "" 302 | 303 | #: ../src/netactview.glade.h:42 304 | msgid "Close" 305 | msgstr "" 306 | 307 | #: ../src/netactview.glade.h:43 308 | msgid "About Net Activity Viewer" 309 | msgstr "" 310 | 311 | #: ../src/netactview.glade.h:44 312 | msgid "" 313 | "Network connections viewer similar\n" 314 | " in functionality with netstat." 315 | msgstr "" 316 | 317 | #: ../src/netactview.glade.h:46 318 | msgid "" 319 | "This free software is licensed using GNU GPL version 2 or later.\n" 320 | "This licence allows you to run the unmodified program without restrictions.\n" 321 | "Please read its complete terms from the distributed COPYING file or on GNU " 322 | "website:\n" 323 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 324 | msgstr "" 325 | 326 | #: ../src/netactview.glade.h:52 327 | msgid "Copy selection for current column" 328 | msgstr "" 329 | 330 | #: ../src/netactview.glade.h:53 331 | msgid "Filter on selection by column" 332 | msgstr "" 333 | 334 | #: ../src/netactview.glade.h:54 335 | msgid "Filter In" 336 | msgstr "" 337 | 338 | #: ../src/netactview.glade.h:55 339 | msgid "Filter on Not selection by column" 340 | msgstr "" 341 | 342 | #: ../src/netactview.glade.h:56 343 | msgid "Filter Out" 344 | msgstr "" 345 | 346 | #: ../data/netactview.desktop.in.h:1 347 | msgid "Net Activity Viewer" 348 | msgstr "" 349 | 350 | #: ../data/netactview.desktop.in.h:2 351 | msgid "View network connections" 352 | msgstr "" 353 | 354 | #: ../src/utils.c:132 355 | #, c-format 356 | msgid "%Lu B" 357 | msgstr "" 358 | 359 | #: ../src/utils.c:134 360 | #, c-format 361 | msgid "%Lu KB" 362 | msgstr "" 363 | 364 | #: ../src/utils.c:134 365 | #, c-format 366 | msgid "%Lu.%Lu KB" 367 | msgstr "" 368 | 369 | #: ../src/utils.c:136 370 | #, c-format 371 | msgid "%Lu MB" 372 | msgstr "" 373 | 374 | #: ../src/utils.c:136 375 | #, c-format 376 | msgid "%Lu.%Lu MB" 377 | msgstr "" 378 | 379 | #: ../src/utils.c:138 380 | #, c-format 381 | msgid "%Lu GB" 382 | msgstr "" 383 | 384 | #: ../src/utils.c:138 385 | #, c-format 386 | msgid "%Lu.%Lu GB" 387 | msgstr "" 388 | 389 | #: ../src/utils.c:140 390 | #, c-format 391 | msgid "%Lu TB" 392 | msgstr "" 393 | 394 | #: ../src/utils.c:140 395 | #, c-format 396 | msgid "%Lu.%Lu TB" 397 | msgstr "" 398 | -------------------------------------------------------------------------------- /netactview/po/pt.po: -------------------------------------------------------------------------------- 1 | # Portuguese (PT-BR) Translation 2 | # Copyright (C) 2009 - Rodrigo Orph 3 | # This file is distributed under the same license as the PT-BR package. 4 | # Rodrigo Orph , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: netactview\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-29 19:35+0300\n" 11 | "PO-Revision-Date: 2009-11-06 11:43-0200\n" 12 | "Last-Translator: Rodrigo Orph \n" 13 | "Language-Team: PT-BR \n" 14 | "Language: \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: ../src/main.c:75 20 | msgid " - view network connections" 21 | msgstr " - ver conexões de rede" 22 | 23 | #: ../src/mainwindow.c:95 24 | msgid "Protocol" 25 | msgstr "Protocolo" 26 | 27 | #: ../src/mainwindow.c:96 28 | msgid "Local Host" 29 | msgstr "Servidor Local" 30 | 31 | #: ../src/mainwindow.c:97 ../src/netactview.glade.h:20 32 | msgid "Local Address" 33 | msgstr "Endereço Local" 34 | 35 | #: ../src/mainwindow.c:98 36 | msgid "Local Port" 37 | msgstr "Porta Local" 38 | 39 | #: ../src/mainwindow.c:99 40 | msgid "State" 41 | msgstr "Estado" 42 | 43 | #: ../src/mainwindow.c:100 44 | msgid "Remote Address" 45 | msgstr "Endereço Remoto" 46 | 47 | #: ../src/mainwindow.c:101 48 | msgid "Remote Port" 49 | msgstr "Porta Remota" 50 | 51 | #: ../src/mainwindow.c:102 52 | msgid "Remote Host" 53 | msgstr "Servidor Remoto" 54 | 55 | #: ../src/mainwindow.c:103 56 | msgid "Pid" 57 | msgstr "Pid" 58 | 59 | #: ../src/mainwindow.c:104 60 | msgid "Program" 61 | msgstr "Program" 62 | 63 | #: ../src/mainwindow.c:105 ../src/netactview.glade.h:19 64 | msgid "Command" 65 | msgstr "Comando" 66 | 67 | #. End white space used only to specify a bigger fixed size 68 | #: ../src/mainwindow.c:592 69 | #, c-format 70 | msgid "Sent: %s +%s/s " 71 | msgstr "Enviado: %s +%s/s " 72 | 73 | #. End white space used only to specify a bigger fixed size 74 | #: ../src/mainwindow.c:594 75 | #, c-format 76 | msgid "Received: %s +%s/s " 77 | msgstr "Recebido: %s +%s/s " 78 | 79 | #. End white space used only to specify a bigger fixed size 80 | #: ../src/mainwindow.c:651 81 | #, c-format 82 | msgid "Established: %u/%u" 83 | msgstr "Estabelecida: %u/%u" 84 | 85 | #: ../src/mainwindow.c:662 86 | #, c-format 87 | msgid "Visible: %u" 88 | msgstr "" 89 | 90 | #. Header for the saved file. Keep the formatting intact. 91 | #: ../src/mainwindow.c:1502 92 | #, c-format 93 | msgid "" 94 | "Protocol Local Address : Local Port State Remote Address : Remote " 95 | "Port Remote Host Local Host Pid Program Command" 96 | msgstr "" 97 | "Protocolo Endereço Local : Porta Local Estado Endereço Remoto : Remoto " 98 | "Porta Servidor Remoto Servidor Local Pid Programa Comando" 99 | 100 | #. Header for the saved CSV file. Keep the formatting intact. Do not add additional double quotes. 101 | #: ../src/mainwindow.c:1608 102 | #, c-format 103 | msgid "" 104 | "\"Date\",\"Time\",\"Protocol\",\"Local Address\",\"Local Port\",\"State\"," 105 | "\"Remote Address\",\"Remote Port\",\"Remote Host\",\"Pid\",\"Program\"," 106 | "\"Command\",\"Local Host\",\"Local Port Name\",\"Remote Port Name\"" 107 | msgstr "" 108 | 109 | #: ../src/mainwindow.c:1738 110 | msgid "Save As..." 111 | msgstr "Salvar Como..." 112 | 113 | #: ../src/mainwindow.c:1747 114 | msgid "All files" 115 | msgstr "" 116 | 117 | #: ../src/mainwindow.c:1750 118 | msgid "Text files (*.txt)" 119 | msgstr "" 120 | 121 | #: ../src/mainwindow.c:1753 122 | msgid "CSV files (*.csv)" 123 | msgstr "" 124 | 125 | #: ../src/mainwindow.c:1776 126 | msgid "connections.txt" 127 | msgstr "conexões.txt" 128 | 129 | #: ../src/mainwindow.c:1804 130 | #, c-format 131 | msgid "" 132 | "Error saving file '%s'. \n" 133 | "%s" 134 | msgstr "" 135 | "Erro ao salvar arquivo '%s'. \n" 136 | "%s" 137 | 138 | #: ../src/mainwindow.c:1848 139 | msgid "about.program_name|Net Activity Viewer" 140 | msgstr "Net Activity Viewer" 141 | 142 | #: ../src/mainwindow.c:1866 143 | #, c-format 144 | msgid "" 145 | "Can't open wiki URL: \"%s\".\n" 146 | "Please check that gnome vfs and mime configurations work correctly with the " 147 | "default web browser." 148 | msgstr "" 149 | 150 | #: ../src/mainwindow.c:1921 151 | msgid "Restart as root failed. You may need to install gksu." 152 | msgstr "Reinício como root falhou, talvez você precise instalar o gksu." 153 | 154 | #: ../src/mainwindow.c:2214 155 | #, c-format 156 | msgid "Copy by '%s'" 157 | msgstr "" 158 | 159 | #: ../src/mainwindow.c:2218 ../src/netactview.glade.h:51 160 | msgid "Copy by 'Column'" 161 | msgstr "" 162 | 163 | #: ../src/mainwindow.c:2631 164 | msgid "main_window.title|Net Activity Viewer" 165 | msgstr "Net Activity Viewer" 166 | 167 | #: ../src/netactview.glade.h:1 168 | msgid "_File" 169 | msgstr "_Arquivo" 170 | 171 | #: ../src/netactview.glade.h:2 172 | msgid "Restart As Root" 173 | msgstr "Reiniciar como Root" 174 | 175 | #: ../src/netactview.glade.h:3 176 | msgid "_Edit" 177 | msgstr "_Editar" 178 | 179 | #: ../src/netactview.glade.h:4 180 | msgid "Copy selected line" 181 | msgstr "Copiar Linha Selecionada" 182 | 183 | #: ../src/netactview.glade.h:5 184 | msgid "_Copy Line" 185 | msgstr "Copiar _Linha" 186 | 187 | #: ../src/netactview.glade.h:6 188 | msgid "Copy Remote _Address" 189 | msgstr "Copiar _Endereço Remoto" 190 | 191 | #: ../src/netactview.glade.h:7 192 | msgid "Copy Remote _Host" 193 | msgstr "Copiar _Servidor Remoto" 194 | 195 | #: ../src/netactview.glade.h:8 196 | msgid "_Filter" 197 | msgstr "_Filtrar" 198 | 199 | #: ../src/netactview.glade.h:9 200 | msgid "Auto Refresh" 201 | msgstr "Atualizar automaticamente" 202 | 203 | #: ../src/netactview.glade.h:10 204 | msgid "Enabled" 205 | msgstr "Habilitado" 206 | 207 | #: ../src/netactview.glade.h:11 208 | msgid "4 seconds" 209 | msgstr "4 segundos" 210 | 211 | #: ../src/netactview.glade.h:12 212 | msgid "1 second" 213 | msgstr "1 segundo" 214 | 215 | #: ../src/netactview.glade.h:13 216 | msgid "1/4 seconds" 217 | msgstr "1/4 de segundo" 218 | 219 | #: ../src/netactview.glade.h:14 220 | msgid "1/16 seconds" 221 | msgstr "1/16 de segundo" 222 | 223 | #: ../src/netactview.glade.h:15 224 | msgid "_View" 225 | msgstr "_Vizualizar" 226 | 227 | #: ../src/netactview.glade.h:16 228 | msgid "_Closed Connections" 229 | msgstr "Conexões _Fechadas" 230 | 231 | #: ../src/netactview.glade.h:17 232 | msgid "Not _Established Connections" 233 | msgstr "Conexões _Não Estabelecidas" 234 | 235 | #: ../src/netactview.glade.h:18 236 | msgid "Color Highlight" 237 | msgstr "Cor de Destaque" 238 | 239 | #: ../src/netactview.glade.h:21 240 | msgid "Local Host Name" 241 | msgstr "Nome do Servidor Local" 242 | 243 | #: ../src/netactview.glade.h:22 244 | msgid "Port Name" 245 | msgstr "Nome da Porta" 246 | 247 | #: ../src/netactview.glade.h:23 248 | msgid "Remote Host Name" 249 | msgstr "Nome do Servidor Remoto" 250 | 251 | #: ../src/netactview.glade.h:24 252 | msgid "_Help" 253 | msgstr "_Ajuda" 254 | 255 | #: ../src/netactview.glade.h:25 256 | msgid "Wiki" 257 | msgstr "" 258 | 259 | #: ../src/netactview.glade.h:26 260 | msgid "Save" 261 | msgstr "Salvar" 262 | 263 | #: ../src/netactview.glade.h:27 264 | msgid "Copy Line" 265 | msgstr "Copiar Linha" 266 | 267 | #: ../src/netactview.glade.h:28 268 | msgid "Refresh" 269 | msgstr "Atualizar" 270 | 271 | #: ../src/netactview.glade.h:29 272 | msgid "Established connections only" 273 | msgstr "" 274 | 275 | #: ../src/netactview.glade.h:30 276 | msgid "Established" 277 | msgstr "" 278 | 279 | #: ../src/netactview.glade.h:31 280 | msgid "Filter: " 281 | msgstr "Filtrar: " 282 | 283 | #: ../src/netactview.glade.h:32 284 | msgid "Clear" 285 | msgstr "" 286 | 287 | #: ../src/netactview.glade.h:33 288 | msgid "Case sensitive" 289 | msgstr "" 290 | 291 | #: ../src/netactview.glade.h:34 292 | msgid "" 293 | "Operators:\n" 294 | "! - Not\n" 295 | "\"\" - Quote\n" 296 | "() - Group\n" 297 | "OR - logical OR\n" 298 | "Space is logical AND\n" 299 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 300 | msgstr "" 301 | 302 | #: ../src/netactview.glade.h:41 303 | msgid "Visible: 0" 304 | msgstr "" 305 | 306 | #: ../src/netactview.glade.h:42 307 | msgid "Close" 308 | msgstr "Fechar" 309 | 310 | #: ../src/netactview.glade.h:43 311 | msgid "About Net Activity Viewer" 312 | msgstr "Sobre Net Activity Viewer" 313 | 314 | #: ../src/netactview.glade.h:44 315 | msgid "" 316 | "Network connections viewer similar\n" 317 | " in functionality with netstat." 318 | msgstr "" 319 | "Visualizador de conexões de rede,\n" 320 | " similar em funcionalidade ao netstat." 321 | 322 | #: ../src/netactview.glade.h:46 323 | msgid "" 324 | "This free software is licensed using GNU GPL version 2 or later.\n" 325 | "This licence allows you to run the unmodified program without restrictions.\n" 326 | "Please read its complete terms from the distributed COPYING file or on GNU " 327 | "website:\n" 328 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 329 | msgstr "" 330 | "Este é um programa grátis licensiado usuando GNU GPL.\n" 331 | "Esta licensa lhe permite rodar uma versão do programa sem restrições.\n" 332 | "Por favor, leia a lista completa de termos GNU no site:\n" 333 | "http://www.gnu.org/copyleft/gpl.html\n" 334 | 335 | #: ../src/netactview.glade.h:52 336 | msgid "Copy selection for current column" 337 | msgstr "" 338 | 339 | #: ../src/netactview.glade.h:53 340 | msgid "Filter on selection by column" 341 | msgstr "" 342 | 343 | #: ../src/netactview.glade.h:54 344 | msgid "Filter In" 345 | msgstr "" 346 | 347 | #: ../src/netactview.glade.h:55 348 | msgid "Filter on Not selection by column" 349 | msgstr "" 350 | 351 | #: ../src/netactview.glade.h:56 352 | msgid "Filter Out" 353 | msgstr "" 354 | 355 | #: ../data/netactview.desktop.in.h:1 356 | msgid "Net Activity Viewer" 357 | msgstr "Net Activity Viewer" 358 | 359 | #: ../data/netactview.desktop.in.h:2 360 | msgid "View network connections" 361 | msgstr "Ver Conexões de Rede" 362 | 363 | #: ../src/utils.c:132 364 | #, c-format 365 | msgid "%Lu B" 366 | msgstr "%Lu B" 367 | 368 | #: ../src/utils.c:134 369 | #, c-format 370 | msgid "%Lu KB" 371 | msgstr "%Lu KB" 372 | 373 | #: ../src/utils.c:134 374 | #, c-format 375 | msgid "%Lu.%Lu KB" 376 | msgstr "%Lu,%Lu KB" 377 | 378 | #: ../src/utils.c:136 379 | #, c-format 380 | msgid "%Lu MB" 381 | msgstr "%Lu MB" 382 | 383 | #: ../src/utils.c:136 384 | #, c-format 385 | msgid "%Lu.%Lu MB" 386 | msgstr "%Lu,%Lu MB" 387 | 388 | #: ../src/utils.c:138 389 | #, c-format 390 | msgid "%Lu GB" 391 | msgstr "%Lu GB" 392 | 393 | #: ../src/utils.c:138 394 | #, c-format 395 | msgid "%Lu.%Lu GB" 396 | msgstr "%Lu,%Lu GB" 397 | 398 | #: ../src/utils.c:140 399 | #, c-format 400 | msgid "%Lu TB" 401 | msgstr "%Lu TB" 402 | 403 | #: ../src/utils.c:140 404 | #, c-format 405 | msgid "%Lu.%Lu TB" 406 | msgstr "%Lu,%Lu TB" 407 | -------------------------------------------------------------------------------- /netactview/po/ro.po: -------------------------------------------------------------------------------- 1 | # Romanian translations for netactview package. 2 | # Copyright (C) 2007 THE netactview'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the netactview package. 4 | # Mihai , 2007. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: netactview 1.2.4\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-29 19:35+0300\n" 11 | "PO-Revision-Date: 2015-03-25 09:59+0200\n" 12 | "Last-Translator: Mihai Varzaru \n" 13 | "Language-Team: Romanian\n" 14 | "Language: \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " 19 | "20)) ? 1 : 2;\n" 20 | 21 | #: ../src/main.c:75 22 | msgid " - view network connections" 23 | msgstr " - vezi conexiunile la reţea" 24 | 25 | #: ../src/mainwindow.c:95 26 | msgid "Protocol" 27 | msgstr "Protocol" 28 | 29 | #: ../src/mainwindow.c:96 30 | msgid "Local Host" 31 | msgstr "Adresă locală" 32 | 33 | #: ../src/mainwindow.c:97 ../src/netactview.glade.h:20 34 | msgid "Local Address" 35 | msgstr "IP local" 36 | 37 | #: ../src/mainwindow.c:98 38 | msgid "Local Port" 39 | msgstr "Port local" 40 | 41 | #: ../src/mainwindow.c:99 42 | msgid "State" 43 | msgstr "Stare" 44 | 45 | #: ../src/mainwindow.c:100 46 | msgid "Remote Address" 47 | msgstr "IP destinaţie" 48 | 49 | #: ../src/mainwindow.c:101 50 | msgid "Remote Port" 51 | msgstr "Port destinaţie" 52 | 53 | #: ../src/mainwindow.c:102 54 | msgid "Remote Host" 55 | msgstr "Adresă destinaţie" 56 | 57 | #: ../src/mainwindow.c:103 58 | msgid "Pid" 59 | msgstr "Pid" 60 | 61 | #: ../src/mainwindow.c:104 62 | msgid "Program" 63 | msgstr "Program" 64 | 65 | #: ../src/mainwindow.c:105 ../src/netactview.glade.h:19 66 | msgid "Command" 67 | msgstr "Comandă" 68 | 69 | #. End white space used only to specify a bigger fixed size 70 | #: ../src/mainwindow.c:592 71 | #, c-format 72 | msgid "Sent: %s +%s/s " 73 | msgstr "Trimis: %s +%s/s " 74 | 75 | #. End white space used only to specify a bigger fixed size 76 | #: ../src/mainwindow.c:594 77 | #, c-format 78 | msgid "Received: %s +%s/s " 79 | msgstr "Primit: %s +%s/s " 80 | 81 | #. End white space used only to specify a bigger fixed size 82 | #: ../src/mainwindow.c:651 83 | #, c-format 84 | msgid "Established: %u/%u" 85 | msgstr "Stabilite: %u/%u" 86 | 87 | #: ../src/mainwindow.c:662 88 | #, c-format 89 | msgid "Visible: %u" 90 | msgstr "Vizibile: %u" 91 | 92 | #. Header for the saved file. Keep the formatting intact. 93 | #: ../src/mainwindow.c:1502 94 | #, c-format 95 | msgid "" 96 | "Protocol Local Address : Local Port State Remote Address : Remote " 97 | "Port Remote Host Local Host Pid Program Command" 98 | msgstr "" 99 | "Protocol IP Local : Port Local Stare IP Destinaţie : Port Destinaţie " 100 | "Adresă Destinaţie Adresă Locală Pid Program Comandă" 101 | 102 | #. Header for the saved CSV file. Keep the formatting intact. Do not add additional double quotes. 103 | #: ../src/mainwindow.c:1608 104 | #, c-format 105 | msgid "" 106 | "\"Date\",\"Time\",\"Protocol\",\"Local Address\",\"Local Port\",\"State\"," 107 | "\"Remote Address\",\"Remote Port\",\"Remote Host\",\"Pid\",\"Program\"," 108 | "\"Command\",\"Local Host\",\"Local Port Name\",\"Remote Port Name\"" 109 | msgstr "" 110 | "\"Data\",\"Timp\",\"Protocol\",\"IP Local\",\"Port Local\",\"Stare\",\"IP " 111 | "Destinație\",\"Port Destinație\",\"Adresă destinație\",\"Pid\",\"Program\"," 112 | "\"Comandă\",\"Adresă locală\",\"Nume port local\",\"Nume port destinație\"" 113 | 114 | #: ../src/mainwindow.c:1738 115 | msgid "Save As..." 116 | msgstr "Salvează ca..." 117 | 118 | #: ../src/mainwindow.c:1747 119 | msgid "All files" 120 | msgstr "Toate fișierele" 121 | 122 | #: ../src/mainwindow.c:1750 123 | msgid "Text files (*.txt)" 124 | msgstr "Fișiere text (*.txt)" 125 | 126 | #: ../src/mainwindow.c:1753 127 | msgid "CSV files (*.csv)" 128 | msgstr "Fișiere CSV (*.csv)" 129 | 130 | #: ../src/mainwindow.c:1776 131 | msgid "connections.txt" 132 | msgstr "conexiuni.txt" 133 | 134 | #: ../src/mainwindow.c:1804 135 | #, c-format 136 | msgid "" 137 | "Error saving file '%s'. \n" 138 | "%s" 139 | msgstr "" 140 | "Eroare la salvarea fişierului '%s'. \n" 141 | "%s" 142 | 143 | #: ../src/mainwindow.c:1848 144 | msgid "about.program_name|Net Activity Viewer" 145 | msgstr "Net Activity Viewer" 146 | 147 | #: ../src/mainwindow.c:1866 148 | #, c-format 149 | msgid "" 150 | "Can't open wiki URL: \"%s\".\n" 151 | "Please check that gnome vfs and mime configurations work correctly with the " 152 | "default web browser." 153 | msgstr "" 154 | "Nu am putut deschide adresa wiki: \"%s\".\n" 155 | "Vă rog să verificaţi configuraţiile gnome vfs şi mime pentru funcţionare " 156 | "corectă cu navigatorul de internet implicit." 157 | 158 | #: ../src/mainwindow.c:1921 159 | msgid "Restart as root failed. You may need to install gksu." 160 | msgstr "Restart ca root a eşuat. S-ar putea să fie nevoie a instala gksu." 161 | 162 | #: ../src/mainwindow.c:2214 163 | #, c-format 164 | msgid "Copy by '%s'" 165 | msgstr "Copiază '%s'" 166 | 167 | #: ../src/mainwindow.c:2218 ../src/netactview.glade.h:51 168 | msgid "Copy by 'Column'" 169 | msgstr "Copiază 'Coloana'" 170 | 171 | #: ../src/mainwindow.c:2631 172 | msgid "main_window.title|Net Activity Viewer" 173 | msgstr "Vizualizator de conexiuni la reţea" 174 | 175 | #: ../src/netactview.glade.h:1 176 | msgid "_File" 177 | msgstr "_Fişier" 178 | 179 | #: ../src/netactview.glade.h:2 180 | msgid "Restart As Root" 181 | msgstr "Restartează ca root" 182 | 183 | #: ../src/netactview.glade.h:3 184 | msgid "_Edit" 185 | msgstr "_Editare" 186 | 187 | #: ../src/netactview.glade.h:4 188 | msgid "Copy selected line" 189 | msgstr "Copiază linia selectată" 190 | 191 | #: ../src/netactview.glade.h:5 192 | msgid "_Copy Line" 193 | msgstr "_Copiază linie" 194 | 195 | #: ../src/netactview.glade.h:6 196 | msgid "Copy Remote _Address" 197 | msgstr "Copiază _IP destinaţie" 198 | 199 | #: ../src/netactview.glade.h:7 200 | msgid "Copy Remote _Host" 201 | msgstr "Copiază _adresă destinaţie" 202 | 203 | #: ../src/netactview.glade.h:8 204 | msgid "_Filter" 205 | msgstr "_Filtru" 206 | 207 | #: ../src/netactview.glade.h:9 208 | msgid "Auto Refresh" 209 | msgstr "Actualizare automată" 210 | 211 | #: ../src/netactview.glade.h:10 212 | msgid "Enabled" 213 | msgstr "Activat" 214 | 215 | #: ../src/netactview.glade.h:11 216 | msgid "4 seconds" 217 | msgstr "4 secunde" 218 | 219 | #: ../src/netactview.glade.h:12 220 | msgid "1 second" 221 | msgstr "1 secundă" 222 | 223 | #: ../src/netactview.glade.h:13 224 | msgid "1/4 seconds" 225 | msgstr "1/4 secunde" 226 | 227 | #: ../src/netactview.glade.h:14 228 | msgid "1/16 seconds" 229 | msgstr "1/16 secunde" 230 | 231 | #: ../src/netactview.glade.h:15 232 | msgid "_View" 233 | msgstr "_Vizualizare" 234 | 235 | #: ../src/netactview.glade.h:16 236 | msgid "_Closed Connections" 237 | msgstr "Conexiuni î_nchise" 238 | 239 | #: ../src/netactview.glade.h:17 240 | msgid "Not _Established Connections" 241 | msgstr "Conexiuni ne_stabilite" 242 | 243 | #: ../src/netactview.glade.h:18 244 | msgid "Color Highlight" 245 | msgstr "Culori subliniere" 246 | 247 | #: ../src/netactview.glade.h:21 248 | msgid "Local Host Name" 249 | msgstr "Adresă locală" 250 | 251 | #: ../src/netactview.glade.h:22 252 | msgid "Port Name" 253 | msgstr "Nume port" 254 | 255 | #: ../src/netactview.glade.h:23 256 | msgid "Remote Host Name" 257 | msgstr "Adresă destinaţie" 258 | 259 | #: ../src/netactview.glade.h:24 260 | msgid "_Help" 261 | msgstr "_Ajutor" 262 | 263 | #: ../src/netactview.glade.h:25 264 | msgid "Wiki" 265 | msgstr "Wiki" 266 | 267 | #: ../src/netactview.glade.h:26 268 | msgid "Save" 269 | msgstr "Salvează" 270 | 271 | #: ../src/netactview.glade.h:27 272 | msgid "Copy Line" 273 | msgstr "Copiază linie" 274 | 275 | #: ../src/netactview.glade.h:28 276 | msgid "Refresh" 277 | msgstr "Actualizare" 278 | 279 | #: ../src/netactview.glade.h:29 280 | msgid "Established connections only" 281 | msgstr "Doar conexiunile stabilite" 282 | 283 | #: ../src/netactview.glade.h:30 284 | msgid "Established" 285 | msgstr "Stabilite" 286 | 287 | #: ../src/netactview.glade.h:31 288 | msgid "Filter: " 289 | msgstr "Filtru: " 290 | 291 | #: ../src/netactview.glade.h:32 292 | msgid "Clear" 293 | msgstr "Șterge" 294 | 295 | #: ../src/netactview.glade.h:33 296 | msgid "Case sensitive" 297 | msgstr "Sensibil la majuscule" 298 | 299 | #: ../src/netactview.glade.h:34 300 | msgid "" 301 | "Operators:\n" 302 | "! - Not\n" 303 | "\"\" - Quote\n" 304 | "() - Group\n" 305 | "OR - logical OR\n" 306 | "Space is logical AND\n" 307 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 308 | msgstr "" 309 | "Operatori:\n" 310 | "! - Negație\n" 311 | "\"\" - Citat\n" 312 | "() - Grupare\n" 313 | "OR - Ori logic\n" 314 | "Spațiul este Și logic\n" 315 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 316 | 317 | #: ../src/netactview.glade.h:41 318 | msgid "Visible: 0" 319 | msgstr "Vizibile: 0" 320 | 321 | #: ../src/netactview.glade.h:42 322 | msgid "Close" 323 | msgstr "Închide" 324 | 325 | #: ../src/netactview.glade.h:43 326 | msgid "About Net Activity Viewer" 327 | msgstr "Despre Net Activity Viewer" 328 | 329 | #: ../src/netactview.glade.h:44 330 | msgid "" 331 | "Network connections viewer similar\n" 332 | " in functionality with netstat." 333 | msgstr "" 334 | "Vizualizator de conexiuni la reţea\n" 335 | " similar ca funcţionalitate cu netstat." 336 | 337 | #: ../src/netactview.glade.h:46 338 | msgid "" 339 | "This free software is licensed using GNU GPL version 2 or later.\n" 340 | "This licence allows you to run the unmodified program without restrictions.\n" 341 | "Please read its complete terms from the distributed COPYING file or on GNU " 342 | "website:\n" 343 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 344 | msgstr "" 345 | "Licenţa acestui program este GNU GPL versiunea 2 sau mai nouă.\n" 346 | "Această licenţă vă permite să rulaţi fară restricţii programul nemodificat.\n" 347 | "Vă rog să citiţi termenii compleţi ai licenţei din fișierul distribuit " 348 | "COPYING sau pe siteul GNU:\n" 349 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 350 | 351 | #: ../src/netactview.glade.h:52 352 | msgid "Copy selection for current column" 353 | msgstr "Copiză selecția pentru coloana curentă" 354 | 355 | #: ../src/netactview.glade.h:53 356 | msgid "Filter on selection by column" 357 | msgstr "Filtrează incluzând selecția dupa coloană" 358 | 359 | #: ../src/netactview.glade.h:54 360 | msgid "Filter In" 361 | msgstr "Filtrează incluzând" 362 | 363 | #: ../src/netactview.glade.h:55 364 | msgid "Filter on Not selection by column" 365 | msgstr "Filtrează excluzând selecția după coloană" 366 | 367 | #: ../src/netactview.glade.h:56 368 | msgid "Filter Out" 369 | msgstr "Filtrează excluzând" 370 | 371 | #: ../data/netactview.desktop.in.h:1 372 | msgid "Net Activity Viewer" 373 | msgstr "Vizualizator de conexiuni" 374 | 375 | #: ../data/netactview.desktop.in.h:2 376 | msgid "View network connections" 377 | msgstr "Vezi conexiunile la reţea" 378 | 379 | #: ../src/utils.c:132 380 | #, c-format 381 | msgid "%Lu B" 382 | msgstr "%Lu B" 383 | 384 | #: ../src/utils.c:134 385 | #, c-format 386 | msgid "%Lu KB" 387 | msgstr "%Lu KB" 388 | 389 | #: ../src/utils.c:134 390 | #, c-format 391 | msgid "%Lu.%Lu KB" 392 | msgstr "%Lu,%Lu KB" 393 | 394 | #: ../src/utils.c:136 395 | #, c-format 396 | msgid "%Lu MB" 397 | msgstr "%Lu MB" 398 | 399 | #: ../src/utils.c:136 400 | #, c-format 401 | msgid "%Lu.%Lu MB" 402 | msgstr "%Lu,%Lu MB" 403 | 404 | #: ../src/utils.c:138 405 | #, c-format 406 | msgid "%Lu GB" 407 | msgstr "%Lu GB" 408 | 409 | #: ../src/utils.c:138 410 | #, c-format 411 | msgid "%Lu.%Lu GB" 412 | msgstr "%Lu,%Lu GB" 413 | 414 | #: ../src/utils.c:140 415 | #, c-format 416 | msgid "%Lu TB" 417 | msgstr "%Lu TB" 418 | 419 | #: ../src/utils.c:140 420 | #, c-format 421 | msgid "%Lu.%Lu TB" 422 | msgstr "%Lu,%Lu TB" 423 | -------------------------------------------------------------------------------- /netactview/po/ru.po: -------------------------------------------------------------------------------- 1 | # Portuguese (PT-BR) Translation 2 | # Copyright (C) 2009 - Rodrigo Orph 3 | # This file is distributed under the same license as the PT-BR package. 4 | # Rodrigo Orph , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: netactview\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2015-03-29 19:35+0300\n" 11 | "PO-Revision-Date: 2010-08-27 17:56+0300\n" 12 | "Last-Translator: HsH \n" 13 | "Language-Team: Russian >\n" 14 | "Language: \n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Poedit-Language: Russian\n" 19 | "X-Poedit-Country: RUSSIAN FEDERATION\n" 20 | 21 | #: ../src/main.c:75 22 | msgid " - view network connections" 23 | msgstr " - просмотр сетевых соединений" 24 | 25 | #: ../src/mainwindow.c:95 26 | msgid "Protocol" 27 | msgstr "Протокол" 28 | 29 | #: ../src/mainwindow.c:96 30 | msgid "Local Host" 31 | msgstr "Локальный узел" 32 | 33 | #: ../src/mainwindow.c:97 ../src/netactview.glade.h:20 34 | msgid "Local Address" 35 | msgstr "Локальный адрес" 36 | 37 | #: ../src/mainwindow.c:98 38 | msgid "Local Port" 39 | msgstr "Локальный порт" 40 | 41 | #: ../src/mainwindow.c:99 42 | msgid "State" 43 | msgstr "Состояние" 44 | 45 | #: ../src/mainwindow.c:100 46 | msgid "Remote Address" 47 | msgstr "Удалённый адрес" 48 | 49 | #: ../src/mainwindow.c:101 50 | msgid "Remote Port" 51 | msgstr "Удалённый порт" 52 | 53 | #: ../src/mainwindow.c:102 54 | msgid "Remote Host" 55 | msgstr "Удаленный узел" 56 | 57 | #: ../src/mainwindow.c:103 58 | msgid "Pid" 59 | msgstr "Pid" 60 | 61 | #: ../src/mainwindow.c:104 62 | msgid "Program" 63 | msgstr "Программа" 64 | 65 | #: ../src/mainwindow.c:105 ../src/netactview.glade.h:19 66 | msgid "Command" 67 | msgstr "Команда" 68 | 69 | #. End white space used only to specify a bigger fixed size 70 | #: ../src/mainwindow.c:592 71 | #, c-format 72 | msgid "Sent: %s +%s/s " 73 | msgstr "Отправлено: %s +%s/с " 74 | 75 | #. End white space used only to specify a bigger fixed size 76 | #: ../src/mainwindow.c:594 77 | #, c-format 78 | msgid "Received: %s +%s/s " 79 | msgstr "Получено: %s +%s/с" 80 | 81 | #. End white space used only to specify a bigger fixed size 82 | #: ../src/mainwindow.c:651 83 | #, c-format 84 | msgid "Established: %u/%u" 85 | msgstr "Соединений: %u/%u" 86 | 87 | #: ../src/mainwindow.c:662 88 | #, c-format 89 | msgid "Visible: %u" 90 | msgstr "" 91 | 92 | #. Header for the saved file. Keep the formatting intact. 93 | #: ../src/mainwindow.c:1502 94 | #, c-format 95 | msgid "" 96 | "Protocol Local Address : Local Port State Remote Address : Remote " 97 | "Port Remote Host Local Host Pid Program Command" 98 | msgstr "" 99 | "Протокол Локальный адрес :Локальный порт Состояние Удалённый адрес : " 100 | "Удалённый порт Удалённый узел Локальный узел Pid Программа Команда" 101 | 102 | #. Header for the saved CSV file. Keep the formatting intact. Do not add additional double quotes. 103 | #: ../src/mainwindow.c:1608 104 | #, c-format 105 | msgid "" 106 | "\"Date\",\"Time\",\"Protocol\",\"Local Address\",\"Local Port\",\"State\"," 107 | "\"Remote Address\",\"Remote Port\",\"Remote Host\",\"Pid\",\"Program\"," 108 | "\"Command\",\"Local Host\",\"Local Port Name\",\"Remote Port Name\"" 109 | msgstr "" 110 | 111 | #: ../src/mainwindow.c:1738 112 | msgid "Save As..." 113 | msgstr "Сохранить как..." 114 | 115 | #: ../src/mainwindow.c:1747 116 | msgid "All files" 117 | msgstr "" 118 | 119 | #: ../src/mainwindow.c:1750 120 | msgid "Text files (*.txt)" 121 | msgstr "" 122 | 123 | #: ../src/mainwindow.c:1753 124 | msgid "CSV files (*.csv)" 125 | msgstr "" 126 | 127 | #: ../src/mainwindow.c:1776 128 | msgid "connections.txt" 129 | msgstr "connections.txt" 130 | 131 | #: ../src/mainwindow.c:1804 132 | #, c-format 133 | msgid "" 134 | "Error saving file '%s'. \n" 135 | "%s" 136 | msgstr "" 137 | "Ошибка сохранения '%s'. \n" 138 | "%s" 139 | 140 | #: ../src/mainwindow.c:1848 141 | msgid "about.program_name|Net Activity Viewer" 142 | msgstr "Net Activity Viewer" 143 | 144 | #: ../src/mainwindow.c:1866 145 | #, c-format 146 | msgid "" 147 | "Can't open wiki URL: \"%s\".\n" 148 | "Please check that gnome vfs and mime configurations work correctly with the " 149 | "default web browser." 150 | msgstr "" 151 | 152 | #: ../src/mainwindow.c:1921 153 | msgid "Restart as root failed. You may need to install gksu." 154 | msgstr "Запуск от root неудачен. Возможно, требуется установка gksu." 155 | 156 | #: ../src/mainwindow.c:2214 157 | #, c-format 158 | msgid "Copy by '%s'" 159 | msgstr "" 160 | 161 | #: ../src/mainwindow.c:2218 ../src/netactview.glade.h:51 162 | msgid "Copy by 'Column'" 163 | msgstr "" 164 | 165 | #: ../src/mainwindow.c:2631 166 | msgid "main_window.title|Net Activity Viewer" 167 | msgstr "Net Activity Viewer" 168 | 169 | #: ../src/netactview.glade.h:1 170 | msgid "_File" 171 | msgstr "_Файл" 172 | 173 | #: ../src/netactview.glade.h:2 174 | msgid "Restart As Root" 175 | msgstr "Запуск от Root" 176 | 177 | #: ../src/netactview.glade.h:3 178 | msgid "_Edit" 179 | msgstr "_Правка" 180 | 181 | #: ../src/netactview.glade.h:4 182 | msgid "Copy selected line" 183 | msgstr "Копировать выбранную строку" 184 | 185 | #: ../src/netactview.glade.h:5 186 | msgid "_Copy Line" 187 | msgstr "_Копировать строку" 188 | 189 | #: ../src/netactview.glade.h:6 190 | msgid "Copy Remote _Address" 191 | msgstr "Копировать удалённый _адрес" 192 | 193 | #: ../src/netactview.glade.h:7 194 | msgid "Copy Remote _Host" 195 | msgstr "Копировать удалённый _узел" 196 | 197 | #: ../src/netactview.glade.h:8 198 | msgid "_Filter" 199 | msgstr "_Фильтр" 200 | 201 | #: ../src/netactview.glade.h:9 202 | msgid "Auto Refresh" 203 | msgstr "Автообновление" 204 | 205 | #: ../src/netactview.glade.h:10 206 | msgid "Enabled" 207 | msgstr "Включено" 208 | 209 | #: ../src/netactview.glade.h:11 210 | msgid "4 seconds" 211 | msgstr "4 секунды" 212 | 213 | #: ../src/netactview.glade.h:12 214 | msgid "1 second" 215 | msgstr "1 секунда" 216 | 217 | #: ../src/netactview.glade.h:13 218 | msgid "1/4 seconds" 219 | msgstr "1/4 секунды" 220 | 221 | #: ../src/netactview.glade.h:14 222 | msgid "1/16 seconds" 223 | msgstr "1/16 секунды" 224 | 225 | #: ../src/netactview.glade.h:15 226 | msgid "_View" 227 | msgstr "_Вид" 228 | 229 | #: ../src/netactview.glade.h:16 230 | msgid "_Closed Connections" 231 | msgstr "_Закрытые соединения" 232 | 233 | #: ../src/netactview.glade.h:17 234 | msgid "Not _Established Connections" 235 | msgstr "Неустановленные соединения" 236 | 237 | #: ../src/netactview.glade.h:18 238 | msgid "Color Highlight" 239 | msgstr "Цветная подсветка" 240 | 241 | #: ../src/netactview.glade.h:21 242 | msgid "Local Host Name" 243 | msgstr "Имя локального узла" 244 | 245 | #: ../src/netactview.glade.h:22 246 | msgid "Port Name" 247 | msgstr "Имя порта" 248 | 249 | #: ../src/netactview.glade.h:23 250 | msgid "Remote Host Name" 251 | msgstr "Имя удалённого узла" 252 | 253 | #: ../src/netactview.glade.h:24 254 | msgid "_Help" 255 | msgstr "_Справка" 256 | 257 | #: ../src/netactview.glade.h:25 258 | msgid "Wiki" 259 | msgstr "" 260 | 261 | #: ../src/netactview.glade.h:26 262 | msgid "Save" 263 | msgstr "Сохранить" 264 | 265 | #: ../src/netactview.glade.h:27 266 | msgid "Copy Line" 267 | msgstr "Копировать строку" 268 | 269 | #: ../src/netactview.glade.h:28 270 | msgid "Refresh" 271 | msgstr "Обновить" 272 | 273 | #: ../src/netactview.glade.h:29 274 | msgid "Established connections only" 275 | msgstr "" 276 | 277 | #: ../src/netactview.glade.h:30 278 | msgid "Established" 279 | msgstr "" 280 | 281 | #: ../src/netactview.glade.h:31 282 | msgid "Filter: " 283 | msgstr "Фильтр: " 284 | 285 | #: ../src/netactview.glade.h:32 286 | msgid "Clear" 287 | msgstr "" 288 | 289 | #: ../src/netactview.glade.h:33 290 | msgid "Case sensitive" 291 | msgstr "" 292 | 293 | #: ../src/netactview.glade.h:34 294 | msgid "" 295 | "Operators:\n" 296 | "! - Not\n" 297 | "\"\" - Quote\n" 298 | "() - Group\n" 299 | "OR - logical OR\n" 300 | "Space is logical AND\n" 301 | "Ex: tcp !80 (firefox OR \"wget -t 5\")" 302 | msgstr "" 303 | 304 | #: ../src/netactview.glade.h:41 305 | msgid "Visible: 0" 306 | msgstr "" 307 | 308 | #: ../src/netactview.glade.h:42 309 | msgid "Close" 310 | msgstr "Закрыть" 311 | 312 | #: ../src/netactview.glade.h:43 313 | msgid "About Net Activity Viewer" 314 | msgstr "О программе Net Activity Viewer" 315 | 316 | #: ../src/netactview.glade.h:44 317 | msgid "" 318 | "Network connections viewer similar\n" 319 | " in functionality with netstat." 320 | msgstr "" 321 | "Просмотр сетевых соединений\n" 322 | " с функционалом утилиты netstat." 323 | 324 | #: ../src/netactview.glade.h:46 325 | msgid "" 326 | "This free software is licensed using GNU GPL version 2 or later.\n" 327 | "This licence allows you to run the unmodified program without restrictions.\n" 328 | "Please read its complete terms from the distributed COPYING file or on GNU " 329 | "website:\n" 330 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 331 | msgstr "" 332 | "This free software is licensed using GNU GPL version 2 or later.\n" 333 | "This licence allows you to run the unmodified program without restrictions.\n" 334 | "Please read its complete terms from the distributed COPYING file or on GNU " 335 | "website:\n" 336 | "http://www.gnu.org/licenses/gpl-2.0.html\n" 337 | 338 | #: ../src/netactview.glade.h:52 339 | msgid "Copy selection for current column" 340 | msgstr "" 341 | 342 | #: ../src/netactview.glade.h:53 343 | msgid "Filter on selection by column" 344 | msgstr "" 345 | 346 | #: ../src/netactview.glade.h:54 347 | msgid "Filter In" 348 | msgstr "" 349 | 350 | #: ../src/netactview.glade.h:55 351 | msgid "Filter on Not selection by column" 352 | msgstr "" 353 | 354 | #: ../src/netactview.glade.h:56 355 | msgid "Filter Out" 356 | msgstr "" 357 | 358 | #: ../data/netactview.desktop.in.h:1 359 | msgid "Net Activity Viewer" 360 | msgstr "Net Activity Viewer" 361 | 362 | #: ../data/netactview.desktop.in.h:2 363 | msgid "View network connections" 364 | msgstr "Просмотр сетевых соединений" 365 | 366 | #: ../src/utils.c:132 367 | #, c-format 368 | msgid "%Lu B" 369 | msgstr "%Lu б" 370 | 371 | #: ../src/utils.c:134 372 | #, c-format 373 | msgid "%Lu KB" 374 | msgstr "%Lu Кб" 375 | 376 | #: ../src/utils.c:134 377 | #, c-format 378 | msgid "%Lu.%Lu KB" 379 | msgstr "%Lu,%Lu Кб" 380 | 381 | #: ../src/utils.c:136 382 | #, c-format 383 | msgid "%Lu MB" 384 | msgstr "%Lu Мб" 385 | 386 | #: ../src/utils.c:136 387 | #, c-format 388 | msgid "%Lu.%Lu MB" 389 | msgstr "%Lu,%Lu Мб" 390 | 391 | #: ../src/utils.c:138 392 | #, c-format 393 | msgid "%Lu GB" 394 | msgstr "%Lu Гб" 395 | 396 | #: ../src/utils.c:138 397 | #, c-format 398 | msgid "%Lu.%Lu GB" 399 | msgstr "%Lu,%Lu Гб" 400 | 401 | #: ../src/utils.c:140 402 | #, c-format 403 | msgid "%Lu TB" 404 | msgstr "%Lu Тб" 405 | 406 | #: ../src/utils.c:140 407 | #, c-format 408 | msgid "%Lu.%Lu TB" 409 | msgstr "%Lu,%Lu Тб" 410 | -------------------------------------------------------------------------------- /netactview/src/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in 2 | 3 | ## Created by Anjuta 4 | 5 | glade_images = netactview-icon.png auto-refresh-icon.png 6 | 7 | gladedir = $(datadir)/netactview/glade 8 | glade_DATA = $(glade_images) netactview.glade 9 | 10 | INCLUDES = \ 11 | -DPREFIX=\""$(prefix)"\" \ 12 | -DBINDIR=\""$(bindir)"\" \ 13 | -DLOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \ 14 | -DSRCDIR=\""$(srcdir)"\" \ 15 | -DDATADIR=\""$(datadir)"\" \ 16 | -DSYSCONFDIR=\"$(sysconfdir)\" \ 17 | -DLIBDIR=\"$(libdir)\" \ 18 | $(NETACTVIEW_CFLAGS) 19 | 20 | AM_CFLAGS =\ 21 | -Wall\ 22 | -g 23 | 24 | bin_PROGRAMS = netactview 25 | 26 | netactview_SOURCES = \ 27 | main.c \ 28 | mainwindow.c \ 29 | mainwindow.h \ 30 | net.c \ 31 | net.h \ 32 | process.c \ 33 | process.h \ 34 | nactv-debug.h \ 35 | definitions.h \ 36 | utils.h \ 37 | utils.c \ 38 | filter.c \ 39 | filter.h 40 | 41 | netactview_LDFLAGS = 42 | 43 | netactview_LDADD = $(NETACTVIEW_LIBS) 44 | 45 | EXTRA_DIST = $(glade_DATA) 46 | -------------------------------------------------------------------------------- /netactview/src/auto-refresh-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/src/auto-refresh-icon.png -------------------------------------------------------------------------------- /netactview/src/definitions.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #ifndef NACTV_DEFINITIONS_H 19 | #define NACTV_DEFINITIONS_H 20 | 21 | #include "config.h" 22 | #include "nactv-debug.h" 23 | 24 | #ifdef NACTV_LOCAL_BUILD 25 | #define GLADEDIR "src/" 26 | #define EXECUTABLE_PATH "src/netactview" 27 | 28 | #else /*ndef NACTV_LOCAL_BUILD*/ 29 | 30 | #define GLADEDIR DATADIR"/netactview/glade/" 31 | #define EXECUTABLE_PATH BINDIR"/netactview" 32 | #endif 33 | 34 | #define GLADEFILE GLADEDIR"netactview.glade" 35 | 36 | #endif /*NACTV_DEFINITIONS_H*/ 37 | -------------------------------------------------------------------------------- /netactview/src/filter.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #ifndef NACTV_FILTER_H 19 | #define NACTV_FILTER_H 20 | 21 | enum OperatorValues { ovNone, ovAND, ovOR, ovGroup, ovNOTGroup, ovNOT }; 22 | enum OperatorChar { ocNone = 48, ocIgnored, ocFreeString/*2*/, ocQuoteString, ocQuote/*4*/, ocOR, ocNOT, ocStartGroup/*7*/, ocEndGroup }; 23 | 24 | typedef struct _FilterOperand FilterOperand; 25 | 26 | struct _FilterOperand 27 | { 28 | char *value; 29 | int operator; 30 | FilterOperand *sibling; 31 | FilterOperand *child; 32 | }; 33 | 34 | typedef FilterOperand Filter; 35 | 36 | enum CaseSensitivity { casSensitive = 4, casInsensitiveLibc }; 37 | 38 | char* PreParseFilter (const char* filterText); 39 | Filter* ParseFilter (const char* filterText, char **filterMask); 40 | Filter* ParseFilterNoOperators (const char* filterText); 41 | int IsFiltered (const char* entryText, Filter* filter, int caseSensitivity); 42 | 43 | Filter* AddFilterOperand (Filter *filter, int binOperator, int isNot, const char *operandText); 44 | FilterOperand* AddOperand (FilterOperand *operand, int binOperator, int isNot, const char *operandText); 45 | Filter* AddFilterGroup (Filter *filter, int binOperator, int isNot, FilterOperand* children); 46 | FilterOperand* AddGroup (FilterOperand *operand, int binOperator, int isNot, FilterOperand* children); 47 | 48 | Filter* CaseFoldFilterUTF8 (Filter* filter); 49 | 50 | char* PrintFilter (Filter* filter); 51 | 52 | void FreeFilter (Filter* filter); 53 | 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /netactview/src/main.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include "nactv-debug.h" 24 | 25 | #include "config.h" 26 | 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | #include "definitions.h" 36 | #include "mainwindow.h" 37 | #include "net.h" 38 | 39 | GtkWidget *window; 40 | 41 | #include "tray.h" 42 | #define TRAY_ICON1 "knemo-network-transmit-receive" 43 | #define TRAY_ICON2 "knemo-network-offline" 44 | static struct tray tray; 45 | 46 | static void toggleCB(struct tray_menu *item) { 47 | item->checked = !item->checked; 48 | if (item->checked) { 49 | tray.icon = TRAY_ICON1; 50 | toggled_AutoRefreshEnabled(1); 51 | } else { 52 | tray.icon = TRAY_ICON2; 53 | toggled_AutoRefreshEnabled(0); 54 | } 55 | tray_update(&tray); 56 | } 57 | 58 | static gboolean remove_above(gpointer data){ 59 | gtk_window_set_keep_above(GTK_WINDOW(window), FALSE); 60 | return FALSE; //stop timer 61 | } 62 | 63 | static void showMyWind() { 64 | gtk_widget_show(window); 65 | gtk_window_set_keep_above(GTK_WINDOW(window), TRUE); 66 | g_timeout_add(8500, &remove_above, NULL); 67 | } 68 | 69 | static void hideMyWind() { 70 | gtk_widget_hide(window); 71 | // gtk_widget_set_visible(window, 0); 72 | } 73 | 74 | static void toggleWind() { 75 | if (!gtk_widget_get_visible(window)) { 76 | showMyWind(); 77 | } else { 78 | hideMyWind(); 79 | } 80 | } 81 | 82 | static void showHide(struct tray_menu *item) { 83 | (void)item; 84 | toggleWind(); 85 | tray_update(&tray); 86 | } 87 | 88 | static void quitCB(struct tray_menu *item) { 89 | (void)item; 90 | tray_exit(); 91 | gtk_widget_destroy(window); 92 | //exit(0); //this kill the app and does not save filter 93 | } 94 | 95 | static struct tray tray = { 96 | .icon = TRAY_ICON1, 97 | .menu = (struct tray_menu[]){{.text = "Show/Hide", .cb = showHide}, 98 | {.text = "Auto refresh", .checked = 1, .checkbox = 1, .cb = toggleCB}, 99 | {.text = "-"}, 100 | {.text = "Quit", .cb = quitCB}, {.text = NULL}}, 101 | }; 102 | 103 | GladeXML *GladeXml = NULL; 104 | 105 | static void on_aboutdialog_url_activated(GtkAboutDialog *about, const gchar *url, gpointer data) { gnome_vfs_url_show(url); } 106 | 107 | static void on_aboutdialog_email_activated(GtkAboutDialog *about, const gchar *url, gpointer data) { 108 | GString *s = g_string_new("mailto:"); 109 | g_string_append(s, url); 110 | gnome_vfs_url_show(s->str); 111 | g_string_free(s, TRUE); 112 | } 113 | 114 | /*int interval=0; 115 | static gboolean resetCounter(gpointer data){ 116 | interval=0; 117 | return TRUE; 118 | }*/ 119 | 120 | static gboolean timeout_func(gpointer data){ 121 | //printf("Update tray icon\n"); 122 | tray_loop(1); 123 | 124 | /*while ((tray_loop(1) == 0) && (!interval++ || interval++ )) { 125 | if (interval > 15) { 126 | //printf("Interval %d\n", interval); 127 | //printf("Tray click\n"); 128 | //if > 9 = click if > 15 = wheel 129 | toggleWind(); 130 | } 131 | }*/ 132 | return TRUE; //continue timer 133 | } 134 | 135 | int main(int argc, char *argv[]) { 136 | if (tray_init(&tray) < 0) { 137 | printf("Failed to create tray icon\n"); 138 | } 139 | tray_loop(1); 140 | g_timeout_add(5000, &timeout_func, NULL); 141 | 142 | //g_timeout_add(250, &resetCounter, NULL); //this is a loop 143 | // developer.gnome.org/gtk-tutorial/stable/c1759.html 144 | 145 | GnomeProgram *program; 146 | GOptionContext *option_context; 147 | 148 | g_type_init(); 149 | g_thread_init(NULL); 150 | 151 | //#ifdef ENABLE_NLS 152 | bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); 153 | bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); 154 | textdomain(GETTEXT_PACKAGE); 155 | //#endif 156 | 157 | gtk_set_locale(); 158 | 159 | option_context = g_option_context_new(_(" - view network connections")); 160 | 161 | gtk_init(&argc, &argv); 162 | program = gnome_program_init(PACKAGE, VERSION, LIBGNOME_MODULE, argc, argv, GNOME_PARAM_GOPTION_CONTEXT, 163 | option_context, GNOME_PROGRAM_STANDARD_PROPERTIES, GNOME_PARAM_NONE); 164 | 165 | gnome_vfs_init(); 166 | 167 | gtk_about_dialog_set_url_hook(&on_aboutdialog_url_activated, NULL, NULL); 168 | gtk_about_dialog_set_email_hook(&on_aboutdialog_email_activated, NULL, NULL); 169 | 170 | GladeXml = glade_xml_new(GLADEFILE, NULL, NULL); 171 | if (GladeXml != NULL) { 172 | nactv_net_init(); 173 | 174 | window = main_window_create(); 175 | //gtk_widget_show(window); 176 | g_signal_connect(window, "delete_event", G_CALLBACK(gtk_widget_hide_on_delete), NULL); 177 | 178 | toggled_AutoRefreshEnabled(1); 179 | 180 | gtk_main(); 181 | 182 | main_window_data_cleanup(); 183 | nactv_net_free(); 184 | g_object_unref(GladeXml); 185 | GladeXml = NULL; 186 | } else { 187 | g_printerr("Error loading %s \nThe application might not be correctly installed.\n", GLADEFILE); 188 | } 189 | 190 | g_object_unref(program); 191 | 192 | return 0; 193 | } 194 | -------------------------------------------------------------------------------- /netactview/src/mainwindow.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #ifndef NACTV_MAINWINDOW_H 19 | #define NACTV_MAINWINDOW_H 20 | 21 | #include 22 | 23 | GtkWidget* main_window_create (void); 24 | void main_window_data_cleanup (void); 25 | void toggled_AutoRefreshEnabled (int state); 26 | 27 | 28 | #endif /*NACTV_MAINWINDOW_H*/ 29 | -------------------------------------------------------------------------------- /netactview/src/nactv-debug.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | 19 | /* Include this file before all other includes. 20 | */ 21 | 22 | #ifndef NACTV_DEBUG_H 23 | #define NACTV_DEBUG_H 24 | 25 | #undef NACTV_DEBUG 26 | #undef NACTV_LOCAL_BUILD /*define this only if you run from the source directory*/ 27 | 28 | #ifndef NACTV_DEBUG 29 | #define G_DISABLE_ASSERT 30 | #endif 31 | 32 | #ifdef NACTV_DEBUG 33 | #include 34 | #define nactv_trace(format...) g_print(format) 35 | #else 36 | #define nactv_trace(format...) ((void)0) 37 | #endif 38 | 39 | 40 | #endif /*NACTV_DEBUG_H*/ 41 | -------------------------------------------------------------------------------- /netactview/src/net.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #ifndef NACTV_NET_H 19 | #define NACTV_NET_H 20 | 21 | #include 22 | 23 | /*Protocols*/ 24 | enum { 25 | NC_PROTOCOL_TCP, 26 | NC_PROTOCOL_UDP, 27 | NC_PROTOCOL_TCP6, 28 | NC_PROTOCOL_UDP6, 29 | NC_PROTOCOLS_NUMBER 30 | }; 31 | 32 | /*Tcp States*/ 33 | /*Use the same states for UDP - see net_connection_get_state_name*/ 34 | enum { 35 | NC_TCP_EMPTY, 36 | NC_TCP_ESTABLISHED, 37 | NC_TCP_SYN_SENT, 38 | NC_TCP_SYN_RECV, 39 | NC_TCP_FIN_WAIT1, 40 | NC_TCP_FIN_WAIT2, 41 | NC_TCP_TIME_WAIT, 42 | NC_TCP_CLOSE, 43 | NC_TCP_CLOSE_WAIT, 44 | NC_TCP_LAST_ACK, 45 | NC_TCP_LISTEN, 46 | NC_TCP_CLOSING, 47 | NC_TCP_CLOSED, 48 | NC_TCP_STATES_NUMBER 49 | }; 50 | 51 | /*Connection items operations*/ 52 | enum { 53 | NC_OP_NONE, 54 | NC_OP_INSERT, 55 | NC_OP_UPDATE, 56 | NC_OP_DELETE 57 | }; 58 | 59 | 60 | typedef struct 61 | { 62 | int protocol; 63 | char *localhost; 64 | char *localaddress; 65 | int localport; 66 | char *remotehost; 67 | char *remoteaddress; 68 | int remoteport; 69 | int state; 70 | long pid; /*current program pid*/ 71 | long programpid; /*It does not change to 0*/ 72 | char *programname; 73 | char *programcommand; 74 | unsigned long inode; 75 | int operation; 76 | void *user_data; 77 | } NetConnection; 78 | 79 | 80 | typedef struct 81 | { 82 | unsigned long long bytes_sent; 83 | unsigned long long packets_sent; 84 | unsigned long long bytes_received; 85 | unsigned long long packets_received; 86 | } NetStatistics; 87 | 88 | 89 | /*Call this only once at application startup. It is not thread safe.*/ 90 | void nactv_net_init (); 91 | /*Call this on application end.*/ 92 | void nactv_net_free (); 93 | 94 | NetConnection *net_connection_new (); 95 | void net_connection_delete (NetConnection *line); 96 | void net_connection_delete_contents (NetConnection *line); 97 | void net_connection_copy (NetConnection *destination, NetConnection *source); 98 | 99 | const char *net_connection_get_protocol_name (NetConnection *conn); 100 | const char *net_connection_get_state_name (NetConnection *conn); 101 | 102 | int net_connection_net_equals_exact (NetConnection *nc1, NetConnection *nc2); 103 | int net_connection_net_equals_fuzzy (NetConnection *nc1, NetConnection *nc2); 104 | int net_connection_info_equals (NetConnection *nc1, NetConnection *nc2); 105 | 106 | void net_connection_update (NetConnection *old_conn, NetConnection *new_conn); 107 | 108 | /* Updates a NetConnection* list by adding the latest connections and setting the 109 | * INSERT, UPDATE, DELETE operations*/ 110 | void net_connection_update_list_full (GArray *connections, NetConnection *latest, 111 | unsigned int nlatest); 112 | 113 | unsigned int get_net_connections (NetConnection **connections); 114 | void free_net_connections (NetConnection *connections, unsigned int nconnections); 115 | void free_net_connections_array (GArray *connections); 116 | 117 | void net_statistics_get (NetStatistics *net_stats); 118 | 119 | char *get_port_text (int port); 120 | char *get_port_name (int protocol, int port); 121 | char *get_full_port_text(int protocol, int port); 122 | char *get_host_name_by_address (const char* address); 123 | int compare_addresses(const char *addr1, const char *addr2); 124 | int compare_hosts(const char *addr1, const char *addr2); 125 | 126 | #endif /*NACTV_NET_H*/ 127 | 128 | -------------------------------------------------------------------------------- /netactview/src/netactview-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/netactview/src/netactview-icon.png -------------------------------------------------------------------------------- /netactview/src/process.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #ifndef _GNU_SOURCE 19 | #define _GNU_SOURCE 20 | #endif 21 | 22 | #include "nactv-debug.h" 23 | #include "process.h" 24 | #include "utils.h" 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | 36 | static int is_simple_number (const char* text) 37 | { 38 | for (; *text!='\0'; text++) 39 | if (!isdigit(*text)) 40 | break; 41 | return (*text=='\0'); 42 | } 43 | 44 | #define MAX_CMDLINE_LEN (32*1024) 45 | 46 | static char *read_cmdline_file (const char *path) 47 | { 48 | char *contents = NULL; 49 | FILE *f; 50 | 51 | f = fopen(path, "r"); 52 | if (f != NULL) 53 | { 54 | char *line; 55 | size_t line_size; 56 | ssize_t line_length; 57 | 58 | line_size = 128; 59 | line = malloc(line_size); 60 | ERROR_IF(line == NULL); 61 | line_length = getline(&line, &line_size, f); 62 | 63 | if (line_length > 0) 64 | { 65 | ssize_t i; 66 | if (line_length > MAX_CMDLINE_LEN) 67 | { 68 | line_length = MAX_CMDLINE_LEN; 69 | line[line_length] = '\0'; 70 | } 71 | for (i=0; id_type != DT_DIR) 105 | continue; 106 | if (!is_simple_number(pdentry->d_name)) 107 | continue; 108 | long pid = atol(pdentry->d_name); 109 | if (pid == 0) 110 | continue; 111 | 112 | process.pid = pid; 113 | g_array_append_val(aprocesses, process); 114 | } 115 | closedir (procdir); 116 | 117 | nrprocesses = aprocesses->len; 118 | *processes = (nrprocesses > 0) ? (Process*)aprocesses->data : NULL; 119 | g_array_free(aprocesses, *processes==NULL); 120 | } 121 | 122 | return nrprocesses; 123 | } 124 | 125 | void update_process_info (Process *process) 126 | { 127 | char spid[48]; 128 | char *exeLinkPath, *exeFilePath, *cmdlineFilePath; 129 | 130 | process_delete_contents(process); 131 | 132 | n_snprintf(spid, sizeof(spid), "%ld", process->pid); 133 | 134 | exeLinkPath = g_build_path("/", "/proc", spid, "exe", NULL); 135 | exeFilePath = g_file_read_link(exeLinkPath, NULL); 136 | if (exeFilePath != NULL) 137 | { 138 | char *exeName = g_path_get_basename(exeFilePath); 139 | process->name = g_filename_display_name(exeName); 140 | g_free(exeName); 141 | }else 142 | process->name = NULL; 143 | 144 | cmdlineFilePath = g_build_path("/", "/proc", spid, "cmdline", NULL); 145 | process->commandline = read_cmdline_file(cmdlineFilePath); 146 | 147 | if (exeFilePath != NULL) 148 | g_free(exeFilePath); 149 | g_free(exeLinkPath); 150 | g_free(cmdlineFilePath); 151 | } 152 | 153 | 154 | static const size_t MaxSocketNameSize = 64; /* max_size = max_len + 1 */ 155 | static const char ProcSocketFormat1[] = "socket:["; 156 | static const size_t ProcSocketFormat1Len = sizeof(ProcSocketFormat1)-1; 157 | static const char ProcSocketFormat2[] = "[0000]:"; 158 | static const size_t ProcSocketFormat2Len = sizeof(ProcSocketFormat2)-1; 159 | 160 | /* lname = file descriptor linked name; NULL terminated at lnameLen */ 161 | static void extract_type_1_socket_inode (const char *lname, size_t lnameLen, 162 | unsigned long *inode) 163 | { 164 | /* If lname is of the form "socket:[12345]", extract the "12345" 165 | * as *inode. Otherwise set *inode = 0. 166 | */ 167 | *inode = 0; 168 | if (lnameLen < ProcSocketFormat1Len+2) 169 | *inode = 0; 170 | else if (memcmp(lname, ProcSocketFormat1, ProcSocketFormat1Len) != 0) 171 | *inode = 0; 172 | else if (lname[lnameLen-1] != ']') 173 | *inode = 0; 174 | else 175 | { 176 | const char *inodeStr = lname + ProcSocketFormat1Len; 177 | char *endP = NULL; 178 | 179 | errno = 0; 180 | unsigned long inodeVal = strtoul(inodeStr, &endP, 0); 181 | 182 | if (endP == (lname+lnameLen-1) && errno == 0) 183 | *inode = inodeVal; 184 | else 185 | *inode = 0; 186 | } 187 | } 188 | 189 | /* lname = file descriptor linked name; NULL terminated at lnameLen */ 190 | static void extract_type_2_socket_inode (const char *lname, size_t lnameLen, 191 | unsigned long *inode) 192 | { 193 | /* If lname is of the form "[0000]:12345", extract the "12345" 194 | * as *inode. Otherwise set *inode = 0. 195 | */ 196 | *inode = 0; 197 | if (lnameLen < ProcSocketFormat2Len+1) 198 | *inode = 0; 199 | else if (memcmp(lname, ProcSocketFormat2, ProcSocketFormat2Len) != 0) 200 | *inode = 0; 201 | else 202 | { 203 | const char *inodeStr = lname + ProcSocketFormat2Len; 204 | char *endP = NULL; 205 | 206 | errno = 0; 207 | unsigned long inodeVal = strtoul(inodeStr, &endP, 0); 208 | 209 | if (endP == (lname+lnameLen) && errno == 0) 210 | *inode = inodeVal; 211 | else 212 | *inode = 0; 213 | } 214 | } 215 | 216 | 217 | unsigned int process_get_socket_inodes (long pid, unsigned long **inodes) 218 | { 219 | char spid[48]; 220 | char *sfddir; 221 | DIR *fddir; 222 | unsigned int nsockets = 0; 223 | g_assert(*inodes == NULL); 224 | *inodes = NULL; 225 | 226 | n_snprintf(spid, sizeof(spid), "%ld", pid); 227 | sfddir = g_build_path("/", "/proc", spid, "fd", NULL); 228 | 229 | fddir = opendir (sfddir); 230 | if (fddir != NULL) 231 | { 232 | struct dirent *fdentry, dentry; 233 | GArray *ainodes; 234 | 235 | ainodes = g_array_new(FALSE, TRUE, sizeof(unsigned long)); 236 | 237 | while ( readdir_r (fddir, &dentry, &fdentry) == 0 ) 238 | { 239 | char *file_name, *link_path; 240 | 241 | if (fdentry==NULL) 242 | break; 243 | if (fdentry->d_type != DT_LNK) 244 | continue; 245 | link_path = g_build_path("/", sfddir, fdentry->d_name, NULL); 246 | file_name = g_file_read_link(link_path, NULL); 247 | 248 | if (file_name != NULL) 249 | { 250 | unsigned long inode = 0; 251 | size_t file_name_len = strlen(file_name); 252 | 253 | extract_type_1_socket_inode(file_name, file_name_len, &inode); 254 | if (inode == 0) 255 | extract_type_2_socket_inode(file_name, file_name_len, &inode); 256 | 257 | if (inode > 0) 258 | { 259 | g_array_append_val(ainodes, inode); 260 | } 261 | } 262 | 263 | if (file_name != NULL) 264 | g_free(file_name); 265 | g_free(link_path); 266 | } 267 | closedir(fddir); 268 | 269 | nsockets = ainodes->len; 270 | *inodes = (ainodes->len > 0) ? (unsigned long*)ainodes->data : NULL; 271 | g_array_free(ainodes, (*inodes==NULL)); 272 | } 273 | 274 | g_free(sfddir); 275 | return nsockets; 276 | } 277 | 278 | 279 | void process_delete_contents (Process *process) 280 | { 281 | if (process != NULL) 282 | { 283 | if (process->name != NULL) 284 | { 285 | g_free(process->name); 286 | process->name = NULL; 287 | } 288 | if (process->commandline != NULL) 289 | { 290 | g_free(process->commandline); 291 | process->commandline = NULL; 292 | } 293 | } 294 | } 295 | 296 | void free_processes (Process *processes, unsigned int nprocesses) 297 | { 298 | unsigned int i; 299 | if (processes != NULL) 300 | { 301 | for (i=0; i 26 | #include 27 | #define TRAY_APPINDICATOR_ID "tray-id" 28 | static AppIndicator* indicator = NULL; 29 | static int loop_result = 0; 30 | 31 | // ------------------------------------------------------------------------------------------------------------ 32 | 33 | static void _tray_menu_cb(GtkMenuItem* item, gpointer data) { 34 | (void)item; 35 | struct tray_menu* m = (struct tray_menu*)data; 36 | m->cb(m); 37 | } 38 | 39 | // create menu 40 | static GtkMenuShell* _tray_menu(struct tray_menu* m) { 41 | GtkMenuShell* menu = (GtkMenuShell*)gtk_menu_new(); 42 | for (; m != NULL && m->text != NULL; m++) { 43 | GtkWidget* item; 44 | if (strcmp(m->text, "-") == 0) { 45 | item = gtk_separator_menu_item_new(); 46 | } else { 47 | if (m->submenu != NULL) { 48 | item = gtk_menu_item_new_with_label(m->text); 49 | gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), GTK_WIDGET(_tray_menu(m->submenu))); 50 | } else if (m->checkbox) { 51 | item = gtk_check_menu_item_new_with_label(m->text); 52 | gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), !!m->checked); 53 | } else { 54 | item = gtk_menu_item_new_with_label(m->text); 55 | } 56 | gtk_widget_set_sensitive(item, !m->disabled); 57 | if (m->cb != NULL) { 58 | g_signal_connect(item, "activate", G_CALLBACK(_tray_menu_cb), m); 59 | } 60 | } 61 | gtk_widget_show(item); 62 | gtk_menu_shell_append(menu, item); 63 | } 64 | return menu; 65 | } 66 | 67 | /*void user_function(AppIndicator* arg0, gpointer user_data) { 68 | printf("ss update\n"); 69 | } 70 | void scroll_event_cb(AppIndicator* indicator, gint delta, GdkScrollDirection direction, gpointer user_data) { 71 | printf("Tray update\n"); 72 | g_print("Got scroll event! delta: %d, direction: %d\n", delta, direction); 73 | }*/ 74 | 75 | static int tray_init(struct tray* tray) { 76 | if (gtk_init_check(0, NULL) == FALSE) { 77 | return -1; 78 | } 79 | indicator = app_indicator_new(TRAY_APPINDICATOR_ID, tray->icon, APP_INDICATOR_CATEGORY_APPLICATION_STATUS); 80 | app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ACTIVE); 81 | 82 | // app_indicator_set_label (indicator, "xxxxx", "yyyyy"); 83 | app_indicator_set_title(indicator, "Net Activity Viewer"); 84 | 85 | //g_signal_connect(indicator, "scroll-event", G_CALLBACK(scroll_event_cb), NULL); 86 | //g_signal_connect(indicator, "new-icon", G_CALLBACK(user_function), NULL); 87 | 88 | tray_update(tray); 89 | return 0; 90 | } 91 | 92 | static int tray_loop(int blocking) { 93 | gtk_main_iteration_do(blocking); 94 | return loop_result; 95 | } 96 | 97 | static void tray_update(struct tray* tray) { 98 | app_indicator_set_icon(indicator, tray->icon); 99 | app_indicator_set_menu(indicator, GTK_MENU(_tray_menu(tray->menu))); 100 | } 101 | 102 | static void tray_exit() { loop_result = -1; } 103 | 104 | // ------------------------------------------------------------------------------------------------------------ 105 | #else 106 | static int tray_init(struct tray* tray) { return -1; } 107 | static int tray_loop(int blocking) { return -1; } 108 | static void tray_update(struct tray* tray) {} 109 | static void tray_exit(); 110 | #endif 111 | #endif /* TRAY_H */ 112 | -------------------------------------------------------------------------------- /netactview/src/utils.c: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #include "nactv-debug.h" 19 | #include "definitions.h" 20 | #include "utils.h" 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | 37 | #include 38 | #include 39 | #include 40 | 41 | 42 | /* Exit the application with a message when a critical error occurs */ 43 | __attribute__((noreturn)) __attribute__((noinline)) 44 | void ErrorExit(const char *msg) 45 | { 46 | syslog(LOG_CRIT, "Exit on error: %s", msg); 47 | g_error("%s", msg); 48 | exit(1); 49 | } 50 | 51 | 52 | gboolean convert_str_longl (const char *str, /*out*/long long *val, gboolean trim, 53 | long long minVal, long long maxVal, int base) 54 | { 55 | char *endPtr = NULL; 56 | long long value1 = 0; 57 | g_assert(str != NULL && minVal <= maxVal && base >= 0); 58 | if (UNLIKELY(str == NULL)) 59 | return FALSE; 60 | 61 | if (trim) 62 | { 63 | while(isspace(*str)) 64 | str++; 65 | } 66 | else if (isspace(*str)) 67 | return FALSE; 68 | 69 | errno = 0; 70 | value1 = strtoll(str, &endPtr, base); 71 | 72 | if (endPtr == str || errno != 0) 73 | return FALSE; 74 | 75 | if (trim) 76 | { 77 | while(isspace(*endPtr)) 78 | endPtr++; 79 | } 80 | if (*endPtr != '\0') 81 | return FALSE; 82 | 83 | if (value1 < minVal || value1 > maxVal) 84 | return FALSE; 85 | 86 | if (val != NULL) 87 | *val = value1; 88 | return TRUE; 89 | } 90 | 91 | /* remove or add spaces at the end of a string to match, if possible, a given utf-8 length 92 | * - dest should be a valid UTF-8 string allocated with glib malloc and may be reallocated 93 | * - useful for constant display width as long as the variable part of the string does 94 | * not contain combining marks; for complex scripts the utf8len is rarely the actual 95 | * display width in monospaced glyphs */ 96 | void match_string_utf8_len (char **dest, long utf8len) 97 | { 98 | long dest_utf8len = g_utf8_strlen(*dest, strlen(*dest)); 99 | if (dest_utf8len < utf8len) 100 | { 101 | char *sfill = g_strnfill(utf8len - dest_utf8len, ' '); 102 | char *new_str = g_strconcat(*dest, sfill, NULL); 103 | g_free(*dest); 104 | g_free(sfill); 105 | *dest = new_str; 106 | } 107 | else if (dest_utf8len > utf8len) 108 | { 109 | g_strchomp(g_utf8_offset_to_pointer(*dest, utf8len)); 110 | } 111 | } 112 | 113 | char *get_bytes_string_base (unsigned long long nbytes, unsigned long long base, 114 | const char *format, const char *formatd) 115 | { 116 | char *str; 117 | unsigned long long decimalv; 118 | decimalv = (nbytes < base * 10) ? (nbytes % base) * 10 / base : 0; 119 | if (decimalv == 0) 120 | str = g_strdup_printf(format, nbytes / base); 121 | else 122 | str = g_strdup_printf(formatd, nbytes / base, decimalv); 123 | return str; 124 | } 125 | 126 | char* get_bytes_string (unsigned long long nbytes) 127 | { 128 | const unsigned long long ctKB = 1024, ctMB = ctKB*1024, 129 | ctGB = ctMB*1024, ctTB = ctGB*1024; 130 | char *str; 131 | if (nbytes < ctKB) 132 | str = g_strdup_printf(_("%Lu B"), nbytes); 133 | else if (nbytes < ctMB) 134 | str = get_bytes_string_base(nbytes, ctKB, _("%Lu KB"), _("%Lu.%Lu KB")); 135 | else if (nbytes < ctGB) 136 | str = get_bytes_string_base(nbytes, ctMB, _("%Lu MB"), _("%Lu.%Lu MB")); 137 | else if (nbytes < ctTB) 138 | str = get_bytes_string_base(nbytes, ctGB, _("%Lu GB"), _("%Lu.%Lu GB")); 139 | else 140 | str = get_bytes_string_base(nbytes, ctTB, _("%Lu TB"), _("%Lu.%Lu TB")); 141 | return str; 142 | } 143 | 144 | 145 | struct _DropToSudoData 146 | { 147 | size_t size; 148 | uid_t initialEffectiveUser; 149 | gid_t initialEffectiveGroup; 150 | int initialGroupsCount; 151 | gid_t *initialGroups; 152 | }; 153 | 154 | /* Set the current effective user to the sudo user. 155 | * Used to save files with the sudo user as owner when possible (like in his home folder). 156 | * - Not thread safe. Other user and group functions may not be called at the same time. 157 | * (ex: getpwuid, seteuid, setegid, setgroups) */ 158 | DropToSudoData* drop_to_sudo_user () 159 | { 160 | enum DropToSudoState { DTSS_UNSET, DTSS_SET_ERR, DTSS_SET_OK }; 161 | 162 | enum DropToSudoState dropState = DTSS_UNSET; 163 | DropToSudoData *sudoData = NULL; 164 | gid_t *initialGroups = NULL; 165 | gid_t *userGroups = NULL; 166 | 167 | if (geteuid() == 0) 168 | { 169 | const char *sudo_uid = getenv("SUDO_UID"); 170 | const char *sudo_gid = getenv("SUDO_GID"); 171 | 172 | long long sudoUserID = 0; 173 | gboolean sudoUserValid = (sudo_uid != NULL) && convert_str_longl(sudo_uid, &sudoUserID, TRUE, 0, UINT32_MAX, 10); 174 | 175 | if (sudoUserValid) 176 | { 177 | int initialGroupsCount = 0, initialGroupsCount2 = 0; 178 | struct passwd *sudoUserInfo = NULL; 179 | const char *sudoUserName = NULL; 180 | gid_t sudoUserGroupID = 0; 181 | int ggl_ret = 0, userGroupsCount = 0, userGroupsCount2 = 0; 182 | long long sudoGroupID = 0; 183 | gboolean dropOK = FALSE; 184 | 185 | sudoData = (DropToSudoData*)g_malloc0(sizeof(DropToSudoData)); 186 | sudoData->size = sizeof(DropToSudoData); 187 | sudoData->initialEffectiveUser = geteuid(); 188 | sudoData->initialEffectiveGroup = getegid(); 189 | 190 | initialGroupsCount = getgroups(0, NULL); 191 | if (initialGroupsCount < 0) { 192 | nactv_trace("DropToSudoUser: Error on calling getGroups (%d)\n", errno); goto final; } 193 | if (initialGroupsCount > 0) 194 | { 195 | initialGroups = (gid_t*)g_malloc0(initialGroupsCount*sizeof(gid_t)); 196 | 197 | initialGroupsCount2 = getgroups(initialGroupsCount, initialGroups); 198 | if (initialGroupsCount2 != initialGroupsCount) { 199 | nactv_trace("DropToSudoUser: Error on calling getGroups\n"); goto final; } 200 | } 201 | sudoData->initialGroupsCount = initialGroupsCount; 202 | sudoData->initialGroups = initialGroups; 203 | 204 | errno = 0; 205 | sudoUserInfo = getpwuid((uid_t)sudoUserID); 206 | if (sudoUserInfo == NULL) { 207 | nactv_trace("DropToSudoUser: Error getting user info for user %lld (%d)\n", sudoUserID, errno); goto final; } 208 | sudoUserName = sudoUserInfo->pw_name; 209 | sudoUserGroupID = sudoUserInfo->pw_gid; 210 | 211 | userGroupsCount = 0; 212 | ggl_ret = getgrouplist(sudoUserName, sudoUserGroupID, NULL, &userGroupsCount); 213 | if (ggl_ret != -1 || userGroupsCount < 1) { 214 | nactv_trace("DropToSudoUser: Invalid getgrouplist return\n"); goto final; } 215 | 216 | userGroupsCount2 = userGroupsCount + 16; /* The group database may change while running this. */ 217 | userGroups = (gid_t*)g_malloc0(userGroupsCount2*sizeof(gid_t)); 218 | ggl_ret = getgrouplist(sudoUserName, sudoUserGroupID, userGroups, &userGroupsCount2); 219 | if (ggl_ret < 0) { 220 | nactv_trace("DropToSudoUser: getgrouplist call failed\n"); goto final; } 221 | if (userGroupsCount2 != userGroupsCount) 222 | nactv_trace("DropToSudoUser warning: group database changed."); 223 | userGroupsCount = userGroupsCount2; 224 | 225 | sudoGroupID = 0; 226 | if (sudo_gid == NULL || !convert_str_longl(sudo_gid, &sudoGroupID, TRUE, 0, UINT32_MAX, 10)) 227 | sudoGroupID = sudoUserGroupID; 228 | 229 | dropOK = TRUE; 230 | dropOK = dropOK && 0==setgroups(userGroupsCount, userGroups); 231 | dropOK = dropOK && 0==setegid((gid_t)sudoGroupID); 232 | dropOK = dropOK && 0==seteuid((uid_t)sudoUserID); 233 | 234 | if (!dropOK) 235 | nactv_trace("DropToSudoUser: Error dropping to sudo user (%d: %s).\n", errno, strerror(errno)); 236 | 237 | dropState = (dropOK) ? DTSS_SET_OK : DTSS_SET_ERR; 238 | } 239 | } 240 | 241 | final: 242 | if (userGroups != NULL) 243 | g_free(userGroups); 244 | if (sudoData != NULL && dropState != DTSS_SET_OK) 245 | { 246 | if (dropState == DTSS_SET_ERR) 247 | restore_initial_user(sudoData); 248 | else 249 | { 250 | if (initialGroups != NULL) 251 | g_free(initialGroups); 252 | g_free(sudoData); 253 | } 254 | sudoData = NULL; 255 | } 256 | return sudoData; 257 | } 258 | 259 | void restore_initial_user (DropToSudoData *sudoData) 260 | { 261 | gboolean restoreOK = TRUE; 262 | if (sudoData == NULL) 263 | return; 264 | ERROR_IF(sudoData->size != sizeof(DropToSudoData)); 265 | 266 | restoreOK = 0==seteuid(sudoData->initialEffectiveUser); 267 | restoreOK = 0==setegid(sudoData->initialEffectiveGroup) && restoreOK; 268 | restoreOK = 0==setgroups(sudoData->initialGroupsCount, sudoData->initialGroups) && restoreOK; 269 | 270 | if (!restoreOK) 271 | ErrorExit("RestoreInitialUser: effective user restore failed.\n"); 272 | 273 | if (sudoData->initialGroups != NULL) { 274 | g_free(sudoData->initialGroups); 275 | sudoData->initialGroups = NULL; 276 | } 277 | sudoData->size = 0; 278 | g_free(sudoData); 279 | } 280 | 281 | 282 | char* get_effective_home_dir () 283 | { 284 | const char *path = NULL; 285 | struct passwd *pw = getpwuid(geteuid()); 286 | if (pw != NULL && pw->pw_dir != NULL) 287 | path = pw->pw_dir; 288 | else 289 | { 290 | const char *home_dir = g_getenv("HOME"); 291 | if (home_dir != NULL) 292 | path = home_dir; 293 | else 294 | path = g_get_home_dir(); /* before glib 2.36 it returns home for uid */ 295 | } 296 | return (path != NULL && strlen(path) > 0) ? g_strdup(path) : NULL; 297 | } 298 | 299 | void set_clipboard_text (const char *text) 300 | { 301 | GdkAtom atom; 302 | GtkClipboard *clipboard; 303 | 304 | atom = gdk_atom_intern("CLIPBOARD", FALSE); 305 | clipboard = gtk_clipboard_get(atom); 306 | 307 | gtk_clipboard_set_text(clipboard, text, -1); 308 | } 309 | 310 | void EnsureStringLen (char **str, int *maxSize, int len) 311 | { 312 | int maxl = *maxSize; 313 | g_assert(str != NULL && *str != NULL && maxl > 0 && len >= 0); 314 | if (len < maxl) 315 | return; 316 | ERROR_IF(len > INT_MAX/2); 317 | while (len >= maxl) 318 | maxl *= 2; 319 | *str = (char*)g_realloc(*str, maxl); 320 | *maxSize = maxl; 321 | } 322 | 323 | char *string_replace (const char* str, const char * from, const char* to) 324 | { 325 | size_t len = 0, fromlen = 0, tolen = 0, maxreslen = 0, i = 0, j = 0 , k = 0; 326 | char *res = NULL; 327 | g_assert(str != NULL && from != NULL && to != NULL); 328 | 329 | len = strlen(str); 330 | fromlen = strlen(from); 331 | tolen = strlen(to); 332 | g_assert(fromlen > 0); 333 | 334 | ERROR_IF(tolen > 0 && (len > SIZE_MAX/tolen || len*tolen/fromlen > SIZE_MAX-2)); 335 | maxreslen = (len*tolen)/fromlen + 1; 336 | if (maxreslen < len) 337 | maxreslen = len; 338 | res = (char*)g_malloc0(maxreslen + 1); 339 | 340 | for(i = 0, j = 0; i < len;) 341 | { 342 | k = 0; 343 | if (i < len-fromlen+1) 344 | { 345 | for(k=0; k= SSIZE_MAX || initialBufSize < 1); 389 | 390 | f = fopen(path, "r"); 391 | if (f != NULL) 392 | { 393 | size_t maxBufSize = maxDataLen + 1; 394 | size_t bufSize = initialBufSize; 395 | readBuf.data = (char*)g_malloc(bufSize); 396 | readBuf.dataLen = fread(readBuf.data, 1, bufSize, f); 397 | while(readBuf.dataLen == bufSize && bufSize < maxBufSize) 398 | { 399 | size_t newBufSize = (bufSize <= SIZE_MAX/2) ? 2 * bufSize : SIZE_MAX; 400 | readBuf.data = (char*)g_realloc(readBuf.data, newBufSize); 401 | readBuf.dataLen += fread(readBuf.data+bufSize, 1, newBufSize-bufSize, f); 402 | bufSize = newBufSize; 403 | } 404 | 405 | readBuf.isComplete = (readBuf.dataLen <= maxDataLen && !ferror(f)); 406 | if (readBuf.dataLen > maxDataLen) 407 | readBuf.dataLen = maxDataLen; 408 | readBuf.data[readBuf.dataLen] = '\0'; 409 | 410 | fclose(f); 411 | } 412 | return readBuf; 413 | } 414 | 415 | void file_readbuf_free_data(FileReadBuf *readBuf) 416 | { 417 | if (readBuf->data != NULL) 418 | g_free(readBuf->data); 419 | readBuf->data = NULL; 420 | readBuf->dataLen = 0; 421 | readBuf->isComplete = FALSE; 422 | } 423 | 424 | 425 | -------------------------------------------------------------------------------- /netactview/src/utils.h: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */ 2 | /* 3 | * This program is free software; you can redistribute it and/or modify 4 | * it under the terms of the GNU General Public License as published by 5 | * the Free Software Foundation; either version 2 of the License, or 6 | * (at your option) any later version. 7 | * 8 | * This program is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * GNU Library General Public License for more details. 12 | * 13 | * You should have received a copy of the GNU General Public License 14 | * along with this program; if not, write to the Free Software 15 | * Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA 16 | */ 17 | 18 | #ifndef NACTV_UTILS_H 19 | #define NACTV_UTILS_H 20 | 21 | #include "nactv-debug.h" 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | 30 | #define QUOTE_ITEM(item) #item 31 | #define QUOTE(str) QUOTE_ITEM(str) 32 | 33 | #if defined(NACTV_DEBUG) 34 | #define LIKELY(exp) exp 35 | #define UNLIKELY(exp) exp 36 | #else 37 | #define LIKELY(exp) __builtin_expect((exp) != 0, 1) 38 | #define UNLIKELY(exp) __builtin_expect((exp), 0) 39 | #endif 40 | 41 | void ErrorExit(const char *msg) __attribute__((noreturn)) __attribute__((noinline)); 42 | #define ERROR_IF(exp) do{ if (UNLIKELY(exp)) ErrorExit("ERROR_IF(" QUOTE(exp) ") in \"" __FILE__ "\" at line " QUOTE(__LINE__) "."); }while(0) 43 | #define ERROR_MSG_IF(exp, msg) do{ if (UNLIKELY(exp)) ErrorExit(msg); }while(0) 44 | 45 | 46 | /* remove or add spaces at the end of a string to match, if possible, a given utf-8 length 47 | * - dest should be a valid UTF-8 string allocated with glib malloc and may be reallocated */ 48 | void match_string_utf8_len (char **dest, long utf8len); 49 | 50 | char *get_bytes_string_base (unsigned long long nbytes, unsigned long long base, 51 | const char *format, const char *formatd); 52 | char* get_bytes_string (unsigned long long nbytes); 53 | 54 | void set_clipboard_text (const char *text); 55 | 56 | void EnsureStringLen (char **str, int *maxSize, int len); 57 | /*Allocates a very large pesimistic buffer inside. Do not use if 'from' is very short compared to 'to' on a large 'str'.*/ 58 | char *string_replace (const char* str, const char * from, const char* to); 59 | 60 | const char *get_file_extension (const char *fileName); 61 | 62 | 63 | struct _DropToSudoData; 64 | typedef struct _DropToSudoData DropToSudoData; 65 | 66 | /* Set the current effective user to the sudo user. 67 | * Used to save files with the sudo user as owner when possible (like in his home folder). 68 | * - Not thread safe. Other user and group functions may not be called at the same time. 69 | * (ex: getpwuid, seteuid, setegid, setgroups) */ 70 | DropToSudoData* drop_to_sudo_user (); 71 | void restore_initial_user (DropToSudoData *sudoHandle); 72 | 73 | char* get_effective_home_dir (); 74 | 75 | 76 | typedef struct 77 | { 78 | char *data; /* data[dataLen]=0; may contain '\0'; bufSize >= dataLen+1 */ 79 | size_t dataLen; 80 | gboolean isComplete; 81 | }FileReadBuf; 82 | 83 | /* Read file and store up to maxDataLen bytes in FileReadBuf::data, plus a terminating null byte 84 | * - data is NULL if the file can't be opened 85 | * - isComplete is true only if the file was completely read, without any errors, in a maxDataLen buffer */ 86 | FileReadBuf read_file_ex(const char *path, size_t maxDataLen, size_t initialBufSize); 87 | void file_readbuf_free_data(FileReadBuf *readBuf); 88 | 89 | 90 | /************** Inline implementations: */ 91 | 92 | /* snprintf function that does not allow string truncation */ 93 | __attribute__ ((format (printf, 3, 4))) 94 | static inline int n_snprintf (char *str, size_t size, const char *format, ...) 95 | { 96 | int print_len = 0; 97 | va_list args; 98 | va_start(args, format); 99 | print_len = vsnprintf(str, size, format, args); 100 | va_end(args); 101 | ERROR_IF(print_len < 0 || (size_t)print_len >= size); 102 | return print_len; 103 | } 104 | 105 | /* strlcpy function that does not allow string truncation */ 106 | static inline size_t n_strlcpy (char *dest, const char *src, size_t dest_size) 107 | { 108 | size_t src_len = g_strlcpy(dest, src, dest_size); 109 | ERROR_IF(src_len >= dest_size); 110 | return src_len; 111 | } 112 | 113 | 114 | /**********************************IntArray*/ 115 | 116 | typedef struct 117 | { 118 | int *data; 119 | int len; 120 | int allocatedLen; 121 | }IntArray; 122 | 123 | static inline void IntArrayInit (IntArray *arr, int startAllocLen) 124 | { 125 | ERROR_IF(startAllocLen > INT_MAX/sizeof(int) || startAllocLen < 2); 126 | arr->allocatedLen = startAllocLen; 127 | arr->data = (int*)g_malloc0(arr->allocatedLen * sizeof(int)); 128 | arr->len = 0; 129 | } 130 | 131 | static inline void IntArrayFreeInternal (IntArray *arr) 132 | { 133 | if (arr->data != NULL) 134 | { 135 | g_free(arr->data); 136 | arr->data = NULL; 137 | } 138 | arr->len = arr->allocatedLen = 0; 139 | } 140 | 141 | static inline void IntArrayEnsureAlloc (IntArray *arr, int nrAddItems) 142 | { 143 | if (nrAddItems > arr->allocatedLen - arr->len) 144 | { 145 | int newAllocLen; 146 | ERROR_IF(nrAddItems > INT_MAX - arr->len || 147 | arr->len + nrAddItems > INT_MAX/(2*sizeof(int))); 148 | newAllocLen = (arr->len + nrAddItems) * 2; 149 | arr->data = (int*)g_realloc(arr->data, newAllocLen * sizeof(int)); 150 | memset(arr->data + arr->allocatedLen, 0, (newAllocLen - arr->allocatedLen) * sizeof(int)); 151 | arr->allocatedLen = newAllocLen; 152 | } 153 | } 154 | 155 | static inline void IntArrayAdd (IntArray *arr, int x) 156 | { 157 | IntArrayEnsureAlloc(arr, 1); 158 | arr->data[arr->len] = x; 159 | arr->len++; 160 | } 161 | 162 | static inline void IntArrayRemoveLast (IntArray *arr) 163 | { 164 | ERROR_IF(arr->len <= 0); 165 | arr->len--; 166 | } 167 | 168 | static inline int IntArrayE (IntArray *arr, int i) 169 | { 170 | g_assert(i>=0 && ilen); 171 | return arr->data[i]; 172 | } 173 | 174 | /**********************************IntArray*/ 175 | 176 | 177 | #endif /*NACTV_UTILS_H*/ 178 | -------------------------------------------------------------------------------- /screenshots/netactview-i1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/screenshots/netactview-i1.jpg -------------------------------------------------------------------------------- /screenshots/netactview-i1_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/screenshots/netactview-i1_small.jpg -------------------------------------------------------------------------------- /screenshots/netactview-i2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/screenshots/netactview-i2.jpg -------------------------------------------------------------------------------- /screenshots/netactview-i2_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Intika-Linux-Network/Network-Watcher/f1355285de56b923c7540b4051e04ed9b7d25522/screenshots/netactview-i2_small.jpg --------------------------------------------------------------------------------