Wishlist 0 ¥0.00

A Linux Fax Server for a Windows Network

Introduction

The firm I work for had a fax system integrated in the corporate e-mail platform, Microsoft Exchange, for sending and receiving. One day after a software upgrade, the system broke. We needed to find something with the equivalent functionality but with the following conditions:

  • Minimum cost, or better still, no cost at all, especially regarding software licenses.
  • Transparent integration with the end user's software tools (basically Microsoft Office).
  • No need to install any software on the client side, even free software, in order to minimize the work load of the network administrators.

This article describes how the integration of several open source applications on a Linux platform has fulfilled all of these conditions.

Acknowledgments

I want to express my gratitude to various persons or organizations without whose assistant I would have never written this article. First, to the members of the IT department in the Solvay Química S. L. plant at Torrelavega, Spain. Second, to my firm's hierarchy for their approval and support of this article's writing. Last and most especially, to all the contributors to the Open Source projects mentioned throughout this text, to the participants in the HylaFAX mailing list (which have given me essential information) and to Craig Kelly, developer of the smbfax client tool.

System overview

To clarify which computer I'm talking about where, I'll refer to the PC where the fax software is installed as TOSERFAX.

The applied solution involves the HylaFAX software. This application controls the installed modems, distributes the incoming faxes and sends the outgoing ones.

The incoming faxes are converted to PDF format and forwarded via SMTP e-mail to their respective destinations. PDF was chosen because Acrobat Reader is part of the standard software platform at the site. The destination is ascertained via certain rules as will be later explained.

If someone wants to send a fax, he prints the document in a printer queue on TOSERFAX, which Samba makes visible to all the other computers. The print job will cause an e-mail to be sent to the user that has spooled the job. This e-mail includes the URL of a web form created on-the-fly in the Apache web server. The web form allows the user to fill in the fax details, particularly the destination phone number. Once the user has completed the form, upon clicking on the "Send" button, the fax is finally put on the outgoing queue.

Hardware and Software

TOSERFAX's hardware is the following:

  • PC Dell Optiplex GX150, running a 1 Ghz Pentium III processor, with 256 MB of RAM and a hard disk of 20 GB. The modems are 3Com US Robotics 56K Faxmodem.

     

As far as software is concerned:

  • The base system is the SuSE Linux 7.2 distribution. It includes HylaFAX version 4.1beta2, the Apache web server version 1.3.19 and the SMTP server sendmail version 8.11.3.
  • Samba version 2.2.3a.
  • Fax sending from the clients is implemented using the package smbfax, version 1.4.

HylaFAX installation and configuration

The installation of HylaFAX was carried out following the standard procedures, clearly explained in the documentation. The most delicate part is the modem configuration. HylaFAX does not include a template for the US Robotics 56K Faxmodem. However, a search in its mailing list provided the needed information, which resulted in the file /var/spool/fax/etc/config.ttyS0 (and config.ttyS1 for the second modem). The first of these files can be found here.

Receiving faxes

Our plant has several telephone numbers that are connected to fax machines. The telephone exchange can divert phone calls originally made to one extension to a different one. This feature makes it possible to centralize the reception of all faxes in TOSERFAX without any change in the phone numbers that are accessible to the public.

For example, suppose the Purchasing Department has 5550001 as fax number, while Logistics has 5550002. One of TOSERFAX's modems is connected to the internal extension 1700. The PBX diverts all incoming calls to 5550001 and 5550002 to the extension 1700, where TOSERFAX receives the fax.

But or course, the person that should receive the faxes to Purchasing is not the same one that should get the ones to Logistics. HylaFAX manages incoming faxes by way of the scripts faxrcvd and FaxDispatch, placed in /var/spool/fax/bin. The discrimination we want requires knowledge of the fax number the fax was originally sent to, which is not known in the standard version of faxrcvd. A workaround is to recover that number from the session log, assigning it to a variable, for instance TOPHONE.

	TOPHONE=$($AWK '/SESSION BEGIN/ {print $NF; exit}' log/c${COMMID})

The new versions of faxrcvd and FaxDispatch can be found here and here.

The standard version of faxrcvd sends the fax to the addressee as a postscript attachment in an e-mail. This is not the best option at my plant, as the standard PC does not include a postscript viewer. But it does include a PDF viewer, and postscript files can be converted to PDF.

However, here we run into a small problem, related to the sending of the e-mail message with the attached file. TOSERFAX uses as SMTP relay a Windows NT server running IIS version 4. For some reason that I have not been able to discover, this server could not distribute the e-mails with attachments created with faxrcvd.

The solution was to use the tool "metasend", included in the packages metamail 2.7.19. The scripts metasend.sh and tiff2pdf.sh succeed in sending the fax, previously transformed into PDF format, in a way that is acceptable for the SMTP relay. It is worth mentioning that these scripts invoke the tools tiff2ps and gs.

Sending faxes

There are several fax clients written to be used with HylaFAX, for multiple platforms. However, IT administrators at Torrelavega would rather avoid any software installation on the clients. The only operation at the site's PCs should be, at the most, the configuration of a network printer, and it should be made automatically by the end user himself, if possible.

Using a printer queue has the added advantage that any application that is able to print a document (that is, practically all applications) will be able to fax. In this respect, the fax solution described in this article is clearly superior to other proprietary systems installed in Microsoft Exchange, which only allow to send faxes generated by some applications, for instance those in the Microsoft Office suite.

The package smbfax, developed by Craig Kelly, fulfills the above mentioned requirement. The underlying idea is very clever: the client prints the document he wants to fax in a printer queue, configured in TOSERFAX with Samba, and which features a postscript printer. The printing provokes in fact the execution of a perl script, which puts the printed document into a file and sends the client an e-mail with an URL in it. This URL is a link to a web form created on the fly in the web server at TOSERFAX (Apache). The client clicks on the URL, fires the browser and, using the web form, fills in the number or numbers the fax should be sent to, chooses whether a cover page should be added, and other details. Finally, upon clicking on the "Send" button, the fax is put in the outbound queue. In case there is any error processing the job, the client will equally be notified by e-mail. Obviously, this system requires knowing the identity of the user who is faxing (it must be possible to get the authentication credentials he have acquired upon logging in the Windows PC) as well as his e-mail address.

The installation of smbfax is straightforward. The package documentation clearly explains the different steps, and repeating them here would just be redundant.

Configuring Samba, on the other hand, does show some interesting tricks. The pertinent file can be seen here. The following lines must be emphasized:

[global]
	workgroup = DOM
	netbios name = TOSERFAX
	security = DOMAIN
	winbind uid = 10000-20000
	winbind gid = 10000-20000
	template homedir = /home/win/%D/%U
	winbind separator = +
	printer admin = @DOM+PRINTADMIN
	...

[print$]
	path = /etc/samba/printers/
	browseable = yes
	read only = yes
	write list = @DOM+PRINTADMIN,root

# The fax queue is configured in this section 
[fax]
	comment = Fax queue
	path = /tmp
	printable = Yes
	writable = no
	create mode = 0700
	guest ok = no
	postscript = Yes
	printing = lprng
	print command = /usr/local/smbfax/smbfax -r queue %u %s
	lpq command = /usr/local/smbfax/smbfax show
	lprm command = /usr/local/smbfax/smbfax dequeue %j

As a Samba server, TOSERFAX is included in a Windows 2000 domain (Active Directory). Samba version 2.2.3 features support for "winbindd", which provides client authentication based on the credentials obtained upon starting a session in the domain. As a consequence, to create the Windows users in the Linux box is no longer needed. Each client that connects for the first time to the Samba server will be identified by the combination <Domain name>+<User name>, and will earn an "uid" in the range 10000 - 20000. Inside the [fax] section, the line

	print command = /usr/local/smbfax/smbfax -r queue %u %s

invokes the program smbfax passing in the parameter %u the name of the user, identified as previously explained.

Inside the [global] section, the line

	printer admin = @DOM+PRINTADMIN

gives administrative rights on the printer queues to all members of the PRINTADMIN group in the NT domain DOM. These users will be able to configure printers, install drivers (for different Windows versions) and grant printing rights to the domain users by means of the standard remote administrative tools which are present in an NT or Windows 2000 box, and that use Remote Procedure Calls (RPC). And all this in a transparent way, without being aware that the printer server is not really a Windows box, but a Linux one.

The members of the DOM+PRINTADMIN group must of course have been granted write access to the path /etc/samba/printers. This is achieved by establishing the necessary permissions in the Linux filesystem:

       $ chown -R DOM+PROWNER:DOM+PRINTADMIN /etc/samba/printers
       $ chmod 0775 /etc/samba/printers

Driver installation is an especially interesting feature. It is possible to install at TOSERFAX the drivers of a postscript printer for all Windows versions that are used at the site: 95, NT and 2000. Once this work is done, any client that connects to the printer queue for the first time will be able to auto-install the needed drivers. We achieve therefore one of the goals of the network administrators: no configuration work needed on the client side.

Additionally, any member of the PRINTADMIN group may restrict access to the printer queue, using the NT access control lists (ACL).

The only question still unanswered is how to reach by e-mail the users that want to send a fax. Thanks to winbindd the user has been authenticated, but, which is the e-mail account? Lacking a way to read this information from the Active Directory, maybe using OpenLDAP, the solution is to manually add to the "aliases" file the list of possible fax users, with their e-mail addresses

	DOM+User1:	This email address is being protected from spambots. You need JavaScript enabled to view it.
	DOM+User2:	This email address is being protected from spambots. You need JavaScript enabled to view it.

and so on. Execute "newaliases" and the system is ready.

System maintenance

Once each and every component is configured, the last thing to do is to automate some basic housekeeping tasks. This is easily fulfilled adding to /etc/crontab the following lines:


 

0 21 * * * root test -x /usr/sbin/faxqclean && /usr/sbin/faxqclean

25 23 * * * root test -e /usr/sbin/faxcron && sh /usr/sbin/faxcron | mail faxmaster

Beware though that the HylaFAX package included in SuSE 7.2 leaves faxcron in /etc/cron.daily. Therefore, you will have to move it to apply the proposed scheme.

Conclusion

The combination of HylaFAX, Samba, smbfax and other open-source packages on a Linux system has allowed to integrate an efficient centralized fax service in a Windows environment, realizing the expectations of the IT managers, especially the lack of additional software installation on the client side.

 

Pedro Fraile

I first met a computer around 1982, and unless my memory deceives me, it was a Z 80 model. I discovered Linux in 1998, and very soon this OS took hold of my domestic PCs. Computers and programming are among my favorite hobbies.

DAO

一种全新的人类组织协同方式——Decentralized Autonomous Organization的缩写。
 
中文名
去中心化自治组织
外文名
Decentralized Autonomous Organization
适用领域
区块链组织治理
所属学科
组织行为学
中文译字
合作方式
目标式主动合作
参与成员
相同目标的自然人
决策方式
组织范围内的投票

定义

DAO是英文Decentralized Autonomous Organization的缩写,中文译字“岛”,是基于区块链核心思想理念(由达成同一个共识的群体自发产生的共创、共建、共治、共享的协同行为)衍生出来的一种组织形态。是区块链解决了人与人之间的信任问题之后的附属产物。
DAO(岛)是公司这一组织形态的进化版,是人类协作史上的一次革命性的进化。其本质是区块链技术应用的一种形式。

性质特征

DAO(岛)是一种将组织的管理和运营规则以智能合约的形式编码在区块链上,从而在没有集中控制或第三方干预的情况下自主运行的组织形式。DAO 有望成为应对不确定、多样、复杂环境的一种新型有效组织。
DAO(岛)具有充分开放、自主交互、去中心化控制、复杂多样以及涌现等特点。与传统的组织现象不同,DAO(岛)不受现实物理世界的空间限制,其演化过程由事件或目标驱动,快速形成、传播且高度互动,并伴随着目标的消失而自动解散。
DAO(岛)具备如下特征
1、分布式与去中心化(distributed and decentralized)
DAO(岛) 中不存在中心节点以及层级化的管理架构[30],它通过自下而上的网络节点之间的交互、竞争与协作来实现组织目标。因此,DAO(岛)中节点与节点之间、节点与组织之间的业务往来不再由行政隶属关系所决定,而是遵循平等、自愿、互惠、互利的原则,由彼此的资源禀赋、互补优势和利益共赢所驱动。每个组织节点都将根据自己的资源优势和才能资质,在通证的激励机制的作用下有效协作,从而产生强大的协同效应。
2、自主性与自动化(autonomous and automated)
在一个理想状态的 DAO(岛)中,管理是代码化、程序化且自动化的。“代码即法律”(code is law),组织不再是金字塔式而是分布式,权力不再是中心化而是去中心化,管理不再是科层制而是社区自治,组织运行不再需要公司而是由高度自治的社区所替代。此外,由于 DAO(岛)运行在由利益相关者共同确定的运行标准和协作模式下,组织内部的共识和信任更易达成, 可以最大限度地降低组织的信任成本、沟通成本和交易成本。
3、组织化与有序性(organized and ordered)
依赖于智能合约,DAO(岛)中的运转规则、参与者的职责权利以及奖惩机制等均公开透明。此外,通过一系列高效的自治原则,相关参与者的权益得到精准分化与降维,即给那些付出劳动、做出贡献、承担责任的个体匹配相应的权利和收益,以促进产业分工以及权利、责任、利益均等,使得组织运转更加协调、有序。
4、智能化与通证化 (intelligence and tokenization)
DAO(岛)底层以封装了支持DAO(岛)及其衍生应用的所有基础设施——互联网基础协议、区块链技术、人工智能、大数据、物联网等为技术支撑,以数字化、智能化、链上链下协同治理为治理手段,改变了传统的科层制以及人为式管理方式,实现了组织的智能化管理。通证(token)作为DAO(岛)治理过程中的重要激励手段,将组织中的各个元素(例如人、组织、知识、事件、产品等)数字化、通证化,从而使得货币资本、人力资本以及其他要素资本充分融合,更好地激发组织的效能和实现价值流转。

诞生条件

一个DAO(岛)的诞生,必须具备三个基本要素:
1、具有能与陌生人达成共识的组织目标和组织文化(组织的使命、愿景、价值观)。
2、具有能与陌生人达成共识的包含创立、治理、激励等内容的规则体系,且此规则通过区块链技术置于链上。
3、具有能与所有参与者形成利益关联的Token来实现全员激励。

应用与影响

DAO(岛)的出现这意味着人们可以更自由、自主地选择组织协同,它能最大化地实现组织的效能及价值流转,这或许将促进人类创意和创造达到更高的效率,从而形成新的商业变革。同时,DAO(岛)也有望成为应对不确定、多样、复杂环境的一种新型有效组织。
1、智能化管理。
从人工智能的发展脉络来看,分布式人工智能不仅代表着未来的发展方向,同时也进一步为DAO(岛)的智能化管理提供了实现基础。分布式人工智能主要研究在逻辑或物理上分散的智能系统如何并行、相互协作地求解问题,在一个分布式系统中,既没有全局控制,也没有全局的数据存储,系统中的各路径和节点既能并发地完成信息处理,又能并行地求解问题,因此分布式人工智能系统比集中式系统更具开放性和灵活性。此外,分布式人工智能系统并非一个封闭的系统,其可以与互联网、区块链等相连接,实现系统规模的指数级扩大。这样不仅提高了系统的灵活性、降低了问题的求解代价,同时也为智能化管理提供了实现手段。面向未来,DAO(岛)必然与人工智能相结合,从自动化走向智能化。
2、DAO(岛)与生俱来的激励机制或将引发通证经济的快速发展。
随着DAO(岛)这一类型的组织数量的快速地攀升,伴随着通证出现的DAO(岛)或许将成为资本市场新的追逐对象。通证类数字资产的交易或许会迎来一个新的发展机遇。
3、链上与链下的协同治理需求,或将带来区块链应用的高速发展。
DAO(岛)在发展过程中,为了解决决策的效率问题,或许也将演化出部分DAO的形态。而在协同过程中所需解决的协同效率问题,引发出区块链商业应用的大爆发或许只是时间问题。
4、DAO(岛)通过区块链技术的应用,实现了以通证来完成“三权”(所有权、治理权、分红权)分离和“三权”无限分割,从而让全员所有变成了一种可能。这或许将引发组织体制大范围从私有制进化到公有制的趋势。
5、“去中心化自治组织”(DAO)是一个互联网社区,由其成员所拥有,运行在区块链技术上。DAO使用“智能合约”,即建立该组织规则并自动执行决策的代码片段。 [1] 

需求优势

快速、无边界的业务决策

如果在A国的某人想跟B国、C国等国家的创始人一起创业,当前做个事情的过程非常复杂。不同的司法管辖区有不同的要求。决策所需的时间范围也有所不同。例如,假设A国的某人只需一天即可正式成立业务,而在B国的那位需要3个月时间来启动。显然,在B国的人并不拥有跟A国的那位一样的资源。
DAO(岛)则提供了一种解决方案,可以通过遵守一套标准规则,让每个人都可以在同等条件下工作,而不用考虑所在的地理位置。本质上说,创建DAO(岛)的一个主要原因之一是为组织的成立和运营提供平等的体系。

组织范围内的投票

很多公司都有董事会来做重要决策。这么做的问题是这些组织通常只对少数选出的问题进行投票,且并不一定代表组织的大多数。DAO(岛)可以改变这一点,它允许组织的任何人都可以就他们关心的问题进行投票。例如,A可能会关心问题A和问题C,但不怎么关心问题B。
通过DAO(岛),A可以根据自己关心的程度来对提案进行相应比例的代币投票。DAO(岛)不会使用对组织内成员的输入忽略或不加计入的系统,而是确保所有投票都被统计并向所有人显示。

无法篡改规则

在任何组织内,政策和规则决定什么能做以及什么不能做。例如,在一家公司,不遵守规定的员工可能会遭受惩罚。如果某人上班迟到,这可能会也可能不会导致相应地扣减工资。这个决定可以通过时间戳来自动执行,但并非所有组织都会强制执行。
例如,如果老板迟到,它可能会通过设置例外情况来变更这个规则。在DAO(岛)中,它会通过代码确保规则适用于每个人。组织内已建立的一套规则无法被篡改,除非投票人群体同意这么做。
会议是形成想法和讨论想法的机会。DAO(岛)可以让远程组织更容易评估成员兴趣,更容易让想法从构想变为现实。

局限性

过程缺乏监管

智能合约已经实现让很多人工任务变成自动化执行。例如,智能合约可以决定A是否可以向B发送资金,这个决定基于它是否满足一组标准。问题在于,无法仅通过点击按钮来完成很多活动。
其中一个案例是关于分配工作资金。例如,DAO(岛)可以使用智能合约来发送资金,开发团队用该资金构建APP。但是,DAO(岛)无法确保开发团队完成开发或者甚至无法确定资金是否被正确使用。最小化此类问题的机制可能包括要求通过里程碑来对大型项目是否完成进行投票。

8款超好用的免费软件

1.照片查看器:https://imageglass.org
2.磁盘空间分析器:https://www.jam-software.com/treesize_free
3. 杂志排版:https://www.scribus.net
4. 轻量级的文档查看器:https://brackets.io
5. 安卓手机屏幕镜像:https://github.com/Genymobile/scrcpy
6.语音转文字:https://github.com/raryelcostasouza/pyTranscriber
7.DNS测速:https://www.grc.com/dns/benchmark.htm
8.Windows 11右键菜单转Windows 10菜单:https://www.sordum.org/14479/windows-11-classic-context-menu-v1-1/

如何免费获取Office软件?

01前言

 

本文主要讲解OFFICE LTSC 2021企业批量版两种安装和激活方法。第一种使用微软官方的office部署工具,第二种使用干净安全的开源工具软件【Office Tool Plus】。激活使用微软公开的GVLK通用密钥需要用企业批量KMS激活,不涉及版权和安全问题本文同样适合其他批量版的OFFICE安装。

  • Office LTSC Professional Plus 2021专业增强版通用密钥

【FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH】

  • Office LTSC Standard 2021标准版通用密钥

【KDX7X-BNVR8-TXXGX-4Q7Y8-78VT3】

 

02版本简介

 

Office LTSC 2021是最新版本的Microsoft办公软件,通过批量许可协议提供给企业管理员下载并部署到其组织上的用户,有以下特点:

  1. Office LTSC 2021在Windows 10或 Windows 11的设备上受支持。

  2. Office LTSC 2021(包括Project和Visio)具有五年主流支持。

  3. Office LTSC 2021的主要版本为16.0,与Office 2019 (和Office 2016)批量许可版本相同。

  4. OfficeLTSC 2021在发布后不会收到任何功能更新。

  5. 建议在部署Office LTSC 2021前卸载其他Office版本。

 

03第一种方法:官方部署安装激活,比较麻烦,建议使用第二种方法。

 

使用微软官方office部署工具,参考【LTSC 2021 Office部署指南】操作。

 

 

  • 下载工具:从Microsoft下载中心下载【Office部署工具】。

  • 运行工具:双击officedeploymenttool可执行文件 (.exe),完成后会出来一个setup.exe和多个configuration开头的(.xml)文件。

  • 配置xml:多个configuration开头的(.xml)文件中找到2021版的,假设文件名是configuration2021.xml用记事本打开修改里边的内容配置,一般就是修改语言为汉语,版本64位之类的,这一步比较麻烦,最好不要改动太多,建议参考LTSC 2021 Office部署指南】进行操作,下面举一个试例:

 

  • 安装office:打开Windows PowerShell (管理员权限) cd 到configuration2021.xml所在的目录,也可以在这个目录按 【Shift + 鼠标右键打开 。分别运行:

{下载office安装文件}:【setup /download configuration2021.xml

{安装office安装文件}:【setup /configure configuration2021.xml

  • 激活方法:打开Windows PowerShell (管理员权限),分别输入:

  1. 【cd C:\Program Files\Microsoft Office\Office16】 (cd到安装目录)

  2. 【cscript ospp.vbs /inpkey:FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH】(密钥)

  3. 【cscript ospp.vbs /sethst:kms.03k.org】 (kms地址)

  4. 【cscript ospp.vbs /act】 (立即激活)

  5. 提示 activation successful 表示激活完成。

  • 以上是企业批量版的office官方安装方法,个人版家庭版可以购买正版key,一个号只能激活一台电脑,可以长期使用,售后服务非常好。零售版在账户选项卡里有更新选项,可以手动点击更新。而批量版本一般只能在windows update里查找更新。更新内容上也有所区别,零售版本更新内容比批量版更快推送,版本也比较新一些,个人使用的话零售版更好一些。

 

04第二种方法,使用干净安全的开源工具软件【Office Tool Plus】。

 

  • 去官网下载【Office Tool Plus】工具。这个软件使用的也是第一种官方的方法,只是给简化了操作,简化了configuration.xml的配置。

 

 

  • 软件主界面,点击【部署】。

 

 

  • 左侧选择Office LTSC 专业增强版2021-批量许可证,下方可以选择安装哪些软件,然后选择语言为中文。右侧部署设置体系结构选择对应32/64位版本,通道选择Office 2021 企业长期版

 

 

  • 往下拉勾选“自动接受软件许可条款”,填写上文密钥,勾选“自动激活”。

 

  • 确定安装

 

 

  • 开始下载

 

 

  • 安装完成并且已激活成功。如果打开表格发现未激活,可能和老版本软件没有卸载干净有关,可以使用第一种方法激活。

 

 

附地址和命令:

1.office 软件部署工具:https://www.microsoft.com/en-us/download/details.aspx?id=49117

2.office 版本自定义工具:https://config.office.com/deploymentsettings

3.基于KMS的 GVLK:https://learn.microsoft.com/zh-cn/deployoffice/vlactivation/gvlks

4.通过官方下载安装批量授权版:

下载命令:
setup /download config.xml(配置文件的名字)

 

安装命令:
setup /configure config.xml(配置文件的名字)

 

office 激活命令: (CMD以管理员运行)

进入到你的office安装目录下

cd C:\Program Files \Microsoft Office\Office16

或者是

cd C:\Program Files (x86)\Microsoft Office\Office16

进入以后

执行以下2个命令即可完成:
cscript ospp.vbs /sethst:kms.03k.org
cscript ospp.vbs /act

 
 

 

 

About Us

Since 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
 

Contact Us

Address: No. 2, Jingwu Road, Zhengzhou City, Henan Province

Phone: 0086-371-63520088 

QQ:76257322

Website: 800188.com

E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.